dexorder
This commit is contained in:
9
.gitignore
vendored
Normal file
9
.gitignore
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
/cache
|
||||||
|
/out
|
||||||
|
/.idea
|
||||||
|
/.vscode
|
||||||
|
/.env
|
||||||
|
/gen
|
||||||
|
/foundry.toml
|
||||||
|
/broadcast
|
||||||
|
/version.json
|
||||||
12
LICENSE
Normal file
12
LICENSE
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
SPDX-License-Identifier: UNLICENSED
|
||||||
|
|
||||||
|
The following directories of this repository contain third party code under separate licenses:
|
||||||
|
|
||||||
|
* lib_forge_std
|
||||||
|
* lib_openzeppelin_contracts
|
||||||
|
* lib_uniswap
|
||||||
|
|
||||||
|
See the LICENSE file under each of the above directories.
|
||||||
|
|
||||||
|
All other material not distributed under the third-party directories is
|
||||||
|
Copyright ©2024 Dexorder LLC. All Rights Reserved.
|
||||||
23
Makefile
Normal file
23
Makefile
Normal file
@@ -0,0 +1,23 @@
|
|||||||
|
# TEST_ARGS=-vvvv
|
||||||
|
TEST_ARGS=-v --gas-report
|
||||||
|
|
||||||
|
tests: build
|
||||||
|
forge test $(TEST_ARGS) --fork-url arbitrum_test #"$@"
|
||||||
|
|
||||||
|
build:
|
||||||
|
bin/build
|
||||||
|
|
||||||
|
dependencies:
|
||||||
|
# foundry
|
||||||
|
curl -L https://foundry.paradigm.xyz | bash
|
||||||
|
# jq
|
||||||
|
sudo apt install jq
|
||||||
|
|
||||||
|
one:
|
||||||
|
# forge test $(TEST_ARGS) --fork-url arbitrum_test --mt testCancelOrder
|
||||||
|
# forge test $(TEST_ARGS) --fork-url arbitrum_test --mt testProxy
|
||||||
|
# forge test $(TEST_ARGS) --fork-url arbitrum_test --mt testDeterministicAddress
|
||||||
|
# forge test $(TEST_ARGS) --fork-url arbitrum_test --mt testPlaceOrder
|
||||||
|
# forge test -vvv --fork-url arbitrum_test --mt testWithdrawERC20
|
||||||
|
# forge test -vvv --fork-url arbitrum_test --mt testReentrancyGuard
|
||||||
|
forge test -vv --fork-url arbitrum_test --mt testFees
|
||||||
118
Readme.md
Normal file
118
Readme.md
Normal file
@@ -0,0 +1,118 @@
|
|||||||
|
# Overview
|
||||||
|
|
||||||
|
These contracts power [⬆dexorder](https://dexorder.trade).
|
||||||
|
|
||||||
|
The heart of the system is contained in `OrderLib.sol`, particularly the `OrderLib.execute()` method. `Vaults` are
|
||||||
|
basically thin wrappers around the `OrderLib`.
|
||||||
|
|
||||||
|
# Quickstart
|
||||||
|
|
||||||
|
The development environment is based on [Foundry](https://book.getfoundry.sh) toolset.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sudo apt install make curl jq
|
||||||
|
curl -L https://foundry.paradigm.xyz | bash # Foundry
|
||||||
|
cp foundry-default.toml foundry.toml # edit to include your own RPC URLs
|
||||||
|
bin/build
|
||||||
|
```
|
||||||
|
|
||||||
|
# Development
|
||||||
|
|
||||||
|
## Error Codes
|
||||||
|
|
||||||
|
All Dexorder error codes, along with a few error codes from Uniswap, are described in `doc/errors.md`.
|
||||||
|
|
||||||
|
|
||||||
|
## Mock Environment
|
||||||
|
|
||||||
|
run `bin/mock` to spin up an Anvil node which forks Arbitrum in order to have the Uniswap v3 contracts available,
|
||||||
|
deploys the essential Dexorder init contracts, and also deploys the `MockEnv` class, which contains two mock tokens
|
||||||
|
MEH and USXD along with a mock pool to trade that pair. See `test/MockEnv.sol`.
|
||||||
|
|
||||||
|
### Mock Shell
|
||||||
|
Source `. bin/shmockenv` to populate these environment variables:
|
||||||
|
|
||||||
|
`MOCK` address of the MockEnv
|
||||||
|
`MEH` address of MEH token
|
||||||
|
`USXD` address of the USXD token
|
||||||
|
`POOL` address of the MEH/USXD pool
|
||||||
|
`T0` address of token0 in the mock pool
|
||||||
|
`T1` address of token1 in the mock pool
|
||||||
|
`INVERTED` true iff USXD is token 0 and MEH is token 1 (USXD/MEH) instead of the other way (MEH/USXD)
|
||||||
|
`MIRRORENV` address of the MirrorEnv (if deployed)
|
||||||
|
|
||||||
|
There are also a few scripts available to manipulate the MockEnv:
|
||||||
|
|
||||||
|
`bin/price` shows the price of the mock MEH/USXD pool.
|
||||||
|
NOTE: this price is always expressed as MEH/USXD regardless of the order of those two tokens in the mock pool.
|
||||||
|
|
||||||
|
`bin/setprice <number>` adjusts the price of the mock pool by minting new tokens and swapping them.
|
||||||
|
NOTE: this sets the price of MEH in terms of USXD regardless of whether the pool is inverted.
|
||||||
|
|
||||||
|
|
||||||
|
## Deployments
|
||||||
|
|
||||||
|
Solidity compiler output and Foundry broadcast files for each chain are found under deployment/*<tag>*. The `broadcast`
|
||||||
|
directory contains files describing the deployment of the initial contracts on-chain, while the `out` directory
|
||||||
|
contains the usual solc compiler output including ABI information.
|
||||||
|
|
||||||
|
## Create a New Vault
|
||||||
|
|
||||||
|
To deploy a new Vault, use the `IVaultDeployer` interface, which is a superclass of Factory. You may find the factory
|
||||||
|
address in `contract/deployment/<tag>/broadcast/Deploy.sol/<chainId>/run-latest.json`.
|
||||||
|
|
||||||
|
```solidity
|
||||||
|
IVaultFactory factory = IVaultFactory(factoryAddress);
|
||||||
|
IVault myVault = factory.deployVault(); // deploy a vault owned by this smart contract
|
||||||
|
IVault yourVault = factory.deployVault(ownerAddress); // deploy a vault owned by another account
|
||||||
|
```
|
||||||
|
|
||||||
|
Only a single vault per account address, vault number 0, is currently supported. Do not use vault numbers other than 0
|
||||||
|
until multi-vault support is added to the activation backend.
|
||||||
|
|
||||||
|
Any account may deploy the Vault associated with any given owner. That is, the owner of the vault does not need to be
|
||||||
|
its deployer. Vault addresses are deterministic and salted with the owner's address, so an account's associated Vault
|
||||||
|
address may be computed off-chain, or by using the `VaultAddress` class. The `VaultAddress.sol` file is generated using
|
||||||
|
the `bin/build` script for local builds, or use the deployed code from `deployments/.../VaultAddress.json`.
|
||||||
|
|
||||||
|
## Place an Order
|
||||||
|
|
||||||
|
For interaction with a Vault, use the `IVault` interface.
|
||||||
|
|
||||||
|
See `test/TestOrder.sol` for a couple simple examples of constructing an order that may be passed to the vault's
|
||||||
|
`placeOrder()` method. Extensive documentation of the order spec is forthcoming...
|
||||||
|
|
||||||
|
The Dexorder backend detects and executes all placed orders from on-chain event data. There is no requirement to use the
|
||||||
|
Dexorder website to place orders. However, only the owner of a vault may place or cancel the orders in that vault. The
|
||||||
|
`placeOrder()` transaction must be signed by the vault's owner.
|
||||||
|
|
||||||
|
## Withdraw Funds
|
||||||
|
|
||||||
|
Standard `withdraw()` and `withdrawTo()` methods for both native coin and ERC20 tokens are available on the `IVault`
|
||||||
|
interface. Withdrawal transactions must be signed by the vault's owner.
|
||||||
|
|
||||||
|
# Security Notes
|
||||||
|
|
||||||
|
The Vault itself is a proxy contract that points its external methods to a shared VaultImpl contract, which is
|
||||||
|
basically an instantiation of the OrderLib. This tremendously reduces the size of the deployed vault instances and also
|
||||||
|
allows for a smoother user experience when upgrading to new versions. Any change to a vault's delegate implementation
|
||||||
|
contract requires an approval signature from the vault owner.
|
||||||
|
|
||||||
|
Overflow checking is now built-in to Solidity 0.8.x. We have *copied* Uniswap dependencies into our
|
||||||
|
repository and modified them to build with 0.8.
|
||||||
|
|
||||||
|
Vaults have re-entrancy locks.
|
||||||
|
|
||||||
|
`onlyOwner` modifiers guard order interactions and withdrawals.
|
||||||
|
|
||||||
|
The `kill()` mechanism only stops proxied methods, but methods directly on Vault, notably the `withdraw()` methods,
|
||||||
|
are always avaiable even after a kill switch.
|
||||||
|
|
||||||
|
The `execute()` method is intentionally public. It is expected to revert if any test of the order conditions fails.
|
||||||
|
|
||||||
|
See `review.md` for more detail.
|
||||||
|
|
||||||
|
# Support
|
||||||
|
|
||||||
|
Create a new issue in this project using the `Question` tag, or join our [Discord](https://discord.gg/fqp9JXXQyt) for a
|
||||||
|
more interactive experience.
|
||||||
48
bin/build
Executable file
48
bin/build
Executable file
@@ -0,0 +1,48 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
# this script requires the jq command $(sudo apt install jq)
|
||||||
|
|
||||||
|
# build_args=$(echo "$@" | sed 's/--debug//')
|
||||||
|
build_args=$(echo "$@")
|
||||||
|
|
||||||
|
## force full rebuild
|
||||||
|
#echo Full build, not incremental...
|
||||||
|
#rm -rf out/ broadcast/ cache/ gen/
|
||||||
|
|
||||||
|
# first-pass build
|
||||||
|
echo Building...
|
||||||
|
forge build $build_args || exit 1
|
||||||
|
|
||||||
|
# Debug print
|
||||||
|
# if echo "$@" | grep -wqe "--debug"; then
|
||||||
|
# echo Orderlib.sol should be first, if not then build --force should be triggered
|
||||||
|
# date
|
||||||
|
# OrderLib_deps
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# Rebuild --force if OrderLib dependencies not built due to bug in forge
|
||||||
|
# if [ "./src/OrderLib.sol" != $(OrderLib_deps | head -n 1 | colrm 1 36) ]; then
|
||||||
|
# echo Rebuild --force because OrderLib dependencies not built due to forge bug...
|
||||||
|
# rm -rf out
|
||||||
|
# forge build --force "$@" || exit 1
|
||||||
|
# fi
|
||||||
|
|
||||||
|
# calculate the Vault init code hash using the bytecode generated for Vault
|
||||||
|
# shellcheck disable=SC2046
|
||||||
|
VAULT_INIT_CODE_HASH=$(cast keccak $(jq -r .bytecode.object < out/Vault.sol/Vault.json))
|
||||||
|
|
||||||
|
# put the hash value into the VaultAddress.sol source file
|
||||||
|
sed -i "s/VAULT_INIT_CODE_HASH = .*;/VAULT_INIT_CODE_HASH = $VAULT_INIT_CODE_HASH;/" src/more/VaultAddress.sol
|
||||||
|
|
||||||
|
# final build after init code hash is set
|
||||||
|
echo Build VaultAddress.sol...
|
||||||
|
forge build $build_args || exit 1
|
||||||
|
|
||||||
|
# Debug print
|
||||||
|
|
||||||
|
# if echo "$@" | grep -wqe "--debug"; then
|
||||||
|
# echo all compiled files:
|
||||||
|
# dated_flist "./out/*/*.json"
|
||||||
|
# dated_flist ./src/OrderLib.sol
|
||||||
|
# fi
|
||||||
|
|
||||||
|
echo Contracts built successfully.
|
||||||
52
bin/deploy
Executable file
52
bin/deploy
Executable file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
if [ "$1" == "" ]; then
|
||||||
|
echo tag required
|
||||||
|
echo "$0" [tag]
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$TREZOR" != "" ]; then
|
||||||
|
WALLET_OPTS="--trezor --mnemonic-indexes $TREZOR"
|
||||||
|
else
|
||||||
|
PRIVKEY=${PRIVATE_KEY:='0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80'}
|
||||||
|
WALLET_OPTS="--private-key $PRIVKEY"
|
||||||
|
fi
|
||||||
|
|
||||||
|
TAG=$1
|
||||||
|
RPC=${RPC_URL:-http://localhost:8545}
|
||||||
|
CHAINID=$(cast chain-id --rpc-url "$RPC")
|
||||||
|
|
||||||
|
cpbroadcast() {
|
||||||
|
CONTRACT=$1
|
||||||
|
mkdir -p deployment/"$TAG"/broadcast/"$CONTRACT"/"$CHAINID"
|
||||||
|
cp broadcast/"$CONTRACT"/"$CHAINID"/run-latest.json deployment/"$TAG"/broadcast/"$CONTRACT"/"$CHAINID"/run-latest.json
|
||||||
|
}
|
||||||
|
|
||||||
|
rm -rf out/ broadcast/ cache/
|
||||||
|
./bin/build || exit 1
|
||||||
|
|
||||||
|
rm -rf deployment/"$TAG"
|
||||||
|
mkdir -p deployment/"$TAG"
|
||||||
|
cp -r out deployment/"$TAG"/
|
||||||
|
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
forge script script/Deploy.sol -vvvv --fork-url "$RPC" --broadcast $WALLET_OPTS
|
||||||
|
cpbroadcast Deploy.sol
|
||||||
|
|
||||||
|
if [ "$2" == "mock" ]; then
|
||||||
|
sleep 1
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
forge script script/DeployMock.sol -vvvv --fork-url "$RPC" --broadcast $WALLET_OPTS
|
||||||
|
cpbroadcast DeployMock.sol
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$2" == "mirror" ]; then
|
||||||
|
sleep 1
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
forge script script/DeployMock.sol -vvvv --fork-url "$RPC" --broadcast $WALLET_OPTS
|
||||||
|
cpbroadcast DeployMock.sol
|
||||||
|
sleep 1
|
||||||
|
# shellcheck disable=SC2086
|
||||||
|
forge script script/DeployMirror.sol -vvvv --fork-url "$RPC" --broadcast $WALLET_OPTS
|
||||||
|
cpbroadcast DeployMirror.sol
|
||||||
|
fi
|
||||||
3
bin/gas
Executable file
3
bin/gas
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
#./bin/build
|
||||||
|
forge test --gas-report --fork-url arbitrum_test --mc 'TestExecute' "$@"
|
||||||
33
bin/getprice
Executable file
33
bin/getprice
Executable file
@@ -0,0 +1,33 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [ -z "$1" ]; then
|
||||||
|
# mockchain price
|
||||||
|
source bin/shmockenv
|
||||||
|
SQRTX96=$(cast call $MOCKENV "price()" | cast to-dec)
|
||||||
|
D0=$T0DEC
|
||||||
|
D1=$T1DEC
|
||||||
|
T0INT=$(cast to-dec $TOKEN0)
|
||||||
|
T1INT=$(cast to-dec $TOKEN1)
|
||||||
|
#echo $T0INT $T1INT
|
||||||
|
INVERTED=$(echo $T0INT '>' $T1INT | bc)
|
||||||
|
else
|
||||||
|
# pool price
|
||||||
|
SQRTX96=$(cast call "$1" "slot0()(uint160,int24,uint16,uint16,uint16,uint8,bool)" | head -1 | cut -d ' ' -f 1)
|
||||||
|
T0=$(cast call "$1" "token0()" | cast parse-bytes32-address)
|
||||||
|
D0=$(cast call "$T0" "decimals()" | cast to-dec)
|
||||||
|
T1=$(cast call "$1" "token1()" | cast parse-bytes32-address)
|
||||||
|
D1=$(cast call "$T1" "decimals()" | cast to-dec)
|
||||||
|
echo sqrtX96 $SQRTX96
|
||||||
|
echo decimals $D0 $D1
|
||||||
|
INVERTED=0
|
||||||
|
fi
|
||||||
|
#echo sqrtX96 $SQRTX96
|
||||||
|
echo inverted $INVERTED
|
||||||
|
if [ "$INVERTED" == "0" ]; then
|
||||||
|
echo inverted
|
||||||
|
FORMULA='scale=18; '"$SQRTX96"'^2 * 10^('"$D0"-"$D1"') / 2^(96*2)'
|
||||||
|
else
|
||||||
|
FORMULA='scale=18; 2^(96*2) * 10^('"$D1"-"$D0"') / '"$SQRTX96"'^2'
|
||||||
|
fi
|
||||||
|
#echo "$FORMULA"
|
||||||
|
echo "$FORMULA" | bc
|
||||||
2
bin/mine
Executable file
2
bin/mine
Executable file
@@ -0,0 +1,2 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
cast rpc evm_mine &> /dev/null && echo mined a block || echo FAILED >&2
|
||||||
30
bin/mock
Executable file
30
bin/mock
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# 0xac097 is dev account #0 used for Deploy scripts
|
||||||
|
DEFAULT_KEY='0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80'
|
||||||
|
FORK_URL=http://localhost:8545
|
||||||
|
|
||||||
|
./bin/build
|
||||||
|
|
||||||
|
anvil -f arbitrum_mock --chain-id 31337 &
|
||||||
|
ANVIL_PID=$!
|
||||||
|
sleep 2
|
||||||
|
|
||||||
|
forge script script/Deploy.sol --skip Test --fork-url $FORK_URL --broadcast \
|
||||||
|
--private-key ${PRIVATE_KEY:-$DEFAULT_KEY} || err deploy
|
||||||
|
|
||||||
|
forge script script/DeployMock.sol --skip Test --fork-url $FORK_URL --broadcast \
|
||||||
|
--private-key ${PRIVATE_KEY:-$DEFAULT_KEY} || err deploymock
|
||||||
|
|
||||||
|
forge script script/DeployMirror.sol --skip Test --fork-url $FORK_URL --broadcast \
|
||||||
|
--private-key ${PRIVATE_KEY:-$DEFAULT_KEY} || err deploymirror
|
||||||
|
|
||||||
|
trap_ctrlc() {
|
||||||
|
echo exiting anvil
|
||||||
|
kill $ANVIL_PID
|
||||||
|
}
|
||||||
|
|
||||||
|
trap trap_ctrlc INT
|
||||||
|
|
||||||
|
# wait for all background processes to terminate
|
||||||
|
wait
|
||||||
18
bin/setprice
Executable file
18
bin/setprice
Executable file
@@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
. bin/shmockenv
|
||||||
|
|
||||||
|
#echo inverted $INVERTED
|
||||||
|
if [ "$INVERTED" == "1" ]; then
|
||||||
|
INV='1/'
|
||||||
|
else
|
||||||
|
INV=
|
||||||
|
fi
|
||||||
|
echo INV $INVERTED
|
||||||
|
FORMULA='scale=100; big='"$INV""$1"'*10^('"$T1DEC"'-'"$T0DEC"')*2^(96*2); scale=0; sqrt(big)'
|
||||||
|
#echo $FORMULA
|
||||||
|
#echo "$FORMULA" | bc
|
||||||
|
SQRTX96=$(echo "$FORMULA" | bc | head -1 | cut -d '.' -f 1)
|
||||||
|
#echo sqrtX96 $SQRTX96
|
||||||
|
TMP=$(mktemp)
|
||||||
|
cast send --private-key 0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6 "$MOCKENV" 'swapToPrice(uint160)' "$SQRTX96" > "$TMP" || cat "$TMP"
|
||||||
12
bin/shenv
Executable file
12
bin/shenv
Executable file
@@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# private key for Dev Account #9
|
||||||
|
export DEV9=0x2a871d0798f97d79848a013d4936a73bf4cc922c825d33c1cf7073dff6d409c6
|
||||||
|
|
||||||
|
export WETH=0x82aF49447D8a07e3bd95BD0d56f35241523fBab1
|
||||||
|
export USDC=0xFF970A61A04b1cA14834A43f5dE4533eBDDB5CC8
|
||||||
|
|
||||||
|
# WETH/USDC Pool address
|
||||||
|
export WETHUSDC=0xc31e54c7a869b9fcbecc14363cf510d1c41fa443
|
||||||
|
|
||||||
|
source bin/shmockenv
|
||||||
76
bin/shmockenv
Executable file
76
bin/shmockenv
Executable file
@@ -0,0 +1,76 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
RPC=${RPC_URL:-http://localhost:8545}
|
||||||
|
|
||||||
|
c() {
|
||||||
|
# echo cast "$1" --rpc-url $RPC "${@:2}" >&2
|
||||||
|
cast "$1" --rpc-url "$RPC" "${@:2}"
|
||||||
|
}
|
||||||
|
|
||||||
|
CHAINID=$(c chain-id)
|
||||||
|
|
||||||
|
FILE_TAG=${TAG:-mock}
|
||||||
|
|
||||||
|
# find script directory
|
||||||
|
SOURCE=${BASH_SOURCE[0]}
|
||||||
|
while [ -L "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
||||||
|
DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )
|
||||||
|
SOURCE=$(readlink "$SOURCE")
|
||||||
|
[[ $SOURCE != /* ]] && SOURCE=$DIR/$SOURCE # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
||||||
|
done
|
||||||
|
DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )/..
|
||||||
|
|
||||||
|
|
||||||
|
if [ "$FILE_TAG" == "mock" ]; then
|
||||||
|
BROADCAST=$DIR/broadcast
|
||||||
|
FILE_TAG=latest
|
||||||
|
else
|
||||||
|
BROADCAST=$DIR/deployment/$TAG/broadcast
|
||||||
|
fi
|
||||||
|
|
||||||
|
MOCKENV=$(jq -r '.transactions[] | select(.contractName=="MockEnv") | select(.function==null).contractAddress' "$BROADCAST/DeployMock.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || echo WARNING no MockEnv detected
|
||||||
|
export MOCKENV
|
||||||
|
MIRRORENV=$(jq -r '.transactions[] | select(.contractName=="MirrorEnv") | select(.function==null).contractAddress' "$BROADCAST/DeployMirror.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || echo WARNING no MirrorEnv detected
|
||||||
|
export MIRRORENV
|
||||||
|
FACTORY=$(jq -r '.transactions[] | select(.contractName=="VaultFactory") | select(.function==null).contractAddress' "$BROADCAST/Deploy.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || exit 1
|
||||||
|
export FACTORY
|
||||||
|
HELPER=$(jq -r '.transactions[] | select(.contractName=="QueryHelper") | select(.function==null).contractAddress' "$BROADCAST/Deploy.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || exit 1
|
||||||
|
export HELPER
|
||||||
|
DEXORDER=$(jq -r '.transactions[] | select(.contractName=="Dexorder") | select(.function==null).contractAddress' "$BROADCAST/Deploy.sol/$CHAINID/run-latest.json" | cast to-check-sum-address) || exit 1
|
||||||
|
export DEXORDER
|
||||||
|
|
||||||
|
VAULT_INIT_CODE_HASH=$("$DIR/bin/vault-init-code-hash") || exit 1
|
||||||
|
export VAULT_INIT_CODE_HASH
|
||||||
|
|
||||||
|
POOL=$(c call $MOCKENV "pool()" | cast parse-bytes32-address) || exit 1
|
||||||
|
export POOL
|
||||||
|
MEH=$(c call $MOCKENV "COIN()" | cast parse-bytes32-address) || exit 1
|
||||||
|
export MEH
|
||||||
|
USXD=$(c call $MOCKENV "USD()" | cast parse-bytes32-address) || exit 1
|
||||||
|
export USXD
|
||||||
|
MOCK=$MEH
|
||||||
|
export MOCK
|
||||||
|
USD=$USDX
|
||||||
|
export USD
|
||||||
|
TOKEN0=$(c call $MOCKENV "token0()" | cast parse-bytes32-address) || exit 1
|
||||||
|
export TOKEN0
|
||||||
|
TOKEN1=$(c call $MOCKENV "token1()" | cast parse-bytes32-address) || exit 1
|
||||||
|
export TOKEN1
|
||||||
|
T0DEC=$(c call $TOKEN0 "decimals()" | cast to-dec) || exit 1
|
||||||
|
export T0DEC
|
||||||
|
T1DEC=$(c call $TOKEN1 "decimals()" | cast to-dec) || exit 1
|
||||||
|
export T1DEC
|
||||||
|
POOLDEC=$(echo $T1DEC - $T0DEC | bc)
|
||||||
|
export POOLDEC
|
||||||
|
MEH_INT=$(cast to-dec $MEH)
|
||||||
|
USXD_INT=$(cast to-dec $USXD)
|
||||||
|
#echo $MEH_INT $USXD_INT
|
||||||
|
INVERTED=$(echo $MEH_INT '>' $USXD_INT | bc)
|
||||||
|
export INVERTED
|
||||||
|
|
||||||
|
echo "\$MOCKENV $MOCKENV"
|
||||||
|
echo "\$MIRRORENV $MIRRORENV"
|
||||||
|
echo "\$MEH $MEH"
|
||||||
|
echo "\$USXD $USXD"
|
||||||
|
echo "\$INVERTED $INVERTED"
|
||||||
|
echo "\$POOL $POOL"
|
||||||
3
bin/test
Executable file
3
bin/test
Executable file
@@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
bin/build
|
||||||
|
forge test -vvvv --fork-url arbitrum_test "$@"
|
||||||
7
bin/upgrade
Executable file
7
bin/upgrade
Executable file
@@ -0,0 +1,7 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# the FACTORY env var must also be defined
|
||||||
|
PRIVKEY=${PRIVATE_KEY:='0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80'}
|
||||||
|
RPC=${RPC_URL:-http://localhost:8545}
|
||||||
|
|
||||||
|
forge script script/Upgrade.sol -vvvv --fork-url "$RPC" --broadcast --private-key $PRIVKEY
|
||||||
14
bin/vault-init-code-hash
Executable file
14
bin/vault-init-code-hash
Executable file
@@ -0,0 +1,14 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# find script directory
|
||||||
|
SOURCE=${BASH_SOURCE[0]}
|
||||||
|
while [ -L "$SOURCE" ]; do # resolve $SOURCE until the file is no longer a symlink
|
||||||
|
DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )
|
||||||
|
SOURCE=$(readlink "$SOURCE")
|
||||||
|
[[ $SOURCE != /* ]] && SOURCE=$DIR/$SOURCE # if $SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
||||||
|
done
|
||||||
|
DIR=$( cd -P "$( dirname "$SOURCE" )" >/dev/null 2>&1 && pwd )/..
|
||||||
|
|
||||||
|
VAULT_INIT_CODE_HASH=$(cast keccak "$(jq -r .bytecode.object < $DIR/out/Vault.sol/Vault.json)")
|
||||||
|
export VAULT_INIT_CODE_HASH
|
||||||
|
echo $VAULT_INIT_CODE_HASH
|
||||||
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/Base.sol/CommonBase.json
Normal file
1
deployment/arb1/out/Base.sol/CommonBase.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/Base.sol\":\"CommonBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib_forge_std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib_forge_std/src/Vm.sol\":{\"keccak256\":\"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166\",\"dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/Base.sol":"CommonBase"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib_forge_std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib_forge_std/src/Vm.sol":{"keccak256":"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649","urls":["bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166","dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT"],"license":"MIT OR Apache-2.0"}},"version":1},"id":0}
|
||||||
1
deployment/arb1/out/Base.sol/ScriptBase.json
Normal file
1
deployment/arb1/out/Base.sol/ScriptBase.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/Base.sol\":\"ScriptBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib_forge_std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib_forge_std/src/Vm.sol\":{\"keccak256\":\"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166\",\"dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/Base.sol":"ScriptBase"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib_forge_std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib_forge_std/src/Vm.sol":{"keccak256":"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649","urls":["bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166","dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT"],"license":"MIT OR Apache-2.0"}},"version":1},"id":0}
|
||||||
1
deployment/arb1/out/Base.sol/TestBase.json
Normal file
1
deployment/arb1/out/Base.sol/TestBase.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/Base.sol\":\"TestBase\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/Base.sol\":{\"keccak256\":\"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224\",\"dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK\"]},\"lib_forge_std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib_forge_std/src/Vm.sol\":{\"keccak256\":\"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166\",\"dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/Base.sol":"TestBase"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/Base.sol":{"keccak256":"0x4ff1a785311017d1eedb1b4737956fa383067ad34eb439abfec1d989754dde1c","urls":["bzz-raw://f553622969b9fdb930246704a4c10dfaee6b1a4468c142fa7eb9dc292a438224","dweb:/ipfs/QmcxqHnqdQsMVtgsfH9VNLmZ3g7GhgNagfq7yvNCDcCHFK"],"license":"MIT"},"lib_forge_std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib_forge_std/src/Vm.sol":{"keccak256":"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649","urls":["bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166","dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT"],"license":"MIT OR Apache-2.0"}},"version":1},"id":0}
|
||||||
1
deployment/arb1/out/Context.sol/Context.json
Normal file
1
deployment/arb1/out/Context.sol/Context.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"Provides information about the current execution context, including the sender of the transaction and its data. While these are generally available via msg.sender and msg.data, they should not be accessed in such a direct manner, since when dealing with meta-transactions the account sending and paying for execution may not be the actual sender (as far as an application is concerned). This contract is only required for intermediate, library-like contracts.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_openzeppelin_contracts/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_openzeppelin_contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_openzeppelin_contracts/contracts/utils/Context.sol":"Context"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_openzeppelin_contracts/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"}},"version":1},"id":27}
|
||||||
1
deployment/arb1/out/Deploy.sol/Deploy.json
Normal file
1
deployment/arb1/out/Deploy.sol/Deploy.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/DeployMirror.sol/DeployMirror.json
Normal file
1
deployment/arb1/out/DeployMirror.sol/DeployMirror.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/DeployMock.sol/DeployMock.json
Normal file
1
deployment/arb1/out/DeployMock.sol/DeployMock.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/Dexorder.sol/Dexorder.json
Normal file
1
deployment/arb1/out/Dexorder.sol/Dexorder.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/ERC20.sol/ERC20.json
Normal file
1
deployment/arb1/out/ERC20.sol/ERC20.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/ERC20/IERC20.sol/IERC20.json
Normal file
1
deployment/arb1/out/ERC20/IERC20.sol/IERC20.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/ERC721/IERC721.sol/IERC721.json
Normal file
1
deployment/arb1/out/ERC721/IERC721.sol/IERC721.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/FeeManager.sol/FeeManager.json
Normal file
1
deployment/arb1/out/FeeManager.sol/FeeManager.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/FeeManagerLib.sol/FeeManagerLib.json
Normal file
1
deployment/arb1/out/FeeManagerLib.sol/FeeManagerLib.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122005ffab8395819d1ca2cf99cd766df12ac3971a15bdc575502afa1b3bb992216264736f6c634300081a0033","sourceMap":"128:5308:75:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122005ffab8395819d1ca2cf99cd766df12ac3971a15bdc575502afa1b3bb992216264736f6c634300081a0033","sourceMap":"128:5308:75:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/more/FeeManagerLib.sol\":\"FeeManagerLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"src/core/FeeManager.sol\":{\"keccak256\":\"0xa19a6636670f9c37c972997438e0aa35c1b087db1d2dd4d5adba2669774f33fa\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://139a2e58cba014f1a3bf650edee7590be019b68caecd7e4ee01b59dd081a659f\",\"dweb:/ipfs/QmZhHktd2UHA4BjauRM4HxXBBNbRqiVRx2EZWvnrGDcBD3\"]},\"src/interface/IFeeManager.sol\":{\"keccak256\":\"0xf92491919220097ca59e5511d6f5ecb70ce7738b164d64abd72674f5fdaaa86c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://afbc5c521400a69dcea03cb18e3907f02481de3568cf6f2f52062a4b9620b08b\",\"dweb:/ipfs/QmR3sjaKQF9AdLxUiiMSM4i5X88dnkKWsdxNjrPJ3hGE1L\"]},\"src/more/FeeManagerLib.sol\":{\"keccak256\":\"0x69de961028543737ac741d7ba90dbff4c9f444c04f4e6b856c9534f65fc20011\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://43e37ad8b88ac307d651ca05f52d2f129844f7ae62a514912678d3de20d56806\",\"dweb:/ipfs/QmdK2kna3twSr4DopPyNDtfcmANXjxikDdt8XXJ6PwzZPL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/more/FeeManagerLib.sol":"FeeManagerLib"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/core/FeeManager.sol":{"keccak256":"0xa19a6636670f9c37c972997438e0aa35c1b087db1d2dd4d5adba2669774f33fa","urls":["bzz-raw://139a2e58cba014f1a3bf650edee7590be019b68caecd7e4ee01b59dd081a659f","dweb:/ipfs/QmZhHktd2UHA4BjauRM4HxXBBNbRqiVRx2EZWvnrGDcBD3"],"license":"UNLICENSED"},"src/interface/IFeeManager.sol":{"keccak256":"0xf92491919220097ca59e5511d6f5ecb70ce7738b164d64abd72674f5fdaaa86c","urls":["bzz-raw://afbc5c521400a69dcea03cb18e3907f02481de3568cf6f2f52062a4b9620b08b","dweb:/ipfs/QmR3sjaKQF9AdLxUiiMSM4i5X88dnkKWsdxNjrPJ3hGE1L"],"license":"UNLICENSED"},"src/more/FeeManagerLib.sol":{"keccak256":"0x69de961028543737ac741d7ba90dbff4c9f444c04f4e6b856c9534f65fc20011","urls":["bzz-raw://43e37ad8b88ac307d651ca05f52d2f129844f7ae62a514912678d3de20d56806","dweb:/ipfs/QmdK2kna3twSr4DopPyNDtfcmANXjxikDdt8XXJ6PwzZPL"],"license":"UNLICENSED"}},"version":1},"id":75}
|
||||||
1
deployment/arb1/out/FixedPoint96.sol/FixedPoint96.json
Normal file
1
deployment/arb1/out/FixedPoint96.sol/FixedPoint96.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122070bb053b4bbb4cc76e8620f4e1346b05732be238d4ef1eeb73e659765f4b352664736f6c634300081a0033","sourceMap":"245:134:39:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122070bb053b4bbb4cc76e8620f4e1346b05732be238d4ef1eeb73e659765f4b352664736f6c634300081a0033","sourceMap":"245:134:39:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"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\":{\"lib_uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":\"FixedPoint96\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_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.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_uniswap/v3-core/contracts/libraries/FixedPoint96.sol":"FixedPoint96"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_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":39}
|
||||||
1
deployment/arb1/out/FullMath.sol/FullMath.json
Normal file
1
deployment/arb1/out/FullMath.sol/FullMath.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122002c760ecbe0d61f6bf8c006dabda5c2acb3e6db625f80f66d64d4d07c0675d5164736f6c634300081a0033","sourceMap":"355:4893:40:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122002c760ecbe0d61f6bf8c006dabda5c2acb3e6db625f80f66d64d4d07c0675d5164736f6c634300081a0033","sourceMap":"355:4893:40:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"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\":{\"lib_uniswap/v3-core/contracts/libraries/FullMath.sol\":\"FullMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0x77608bce1ddeb28ed9963b554b55e8a083277eda7be31e2c7255ef532cc408be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fcb307cf783b612ab9abd339296391d202974e7aa158deff23d9fb3aaac832d\",\"dweb:/ipfs/QmXhcwQajcGZADQtVoQpSWYNY4tB3Y42GPPyiaW62M5JH2\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_uniswap/v3-core/contracts/libraries/FullMath.sol":"FullMath"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_uniswap/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0x77608bce1ddeb28ed9963b554b55e8a083277eda7be31e2c7255ef532cc408be","urls":["bzz-raw://8fcb307cf783b612ab9abd339296391d202974e7aa158deff23d9fb3aaac832d","dweb:/ipfs/QmXhcwQajcGZADQtVoQpSWYNY4tB3Y42GPPyiaW62M5JH2"],"license":"MIT"}},"version":1},"id":40}
|
||||||
1
deployment/arb1/out/IEEE754.sol/IEEE754.json
Normal file
1
deployment/arb1/out/IEEE754.sol/IEEE754.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220a02ac374902d071c76ff434ba86265c2318c65ece68eb3ce778bae42f3bf81d164736f6c634300081a0033","sourceMap":"207:2258:59:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220a02ac374902d071c76ff434ba86265c2318c65ece68eb3ce778bae42f3bf81d164736f6c634300081a0033","sourceMap":"207:2258:59:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/IEEE754.sol\":\"IEEE754\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"src/core/IEEE754.sol\":{\"keccak256\":\"0x121d0b729b518650687a6f267485dcd35e320ef4f0abb77c11dba1a2173e0d67\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e379276bca67a148345fe51a777b6c59147b38622f12314213789760997d2545\",\"dweb:/ipfs/QmdHnhJ6fcH9q4SKqjd7B9VVyBqykEkcht1QMPDc6Sgbbt\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/IEEE754.sol":"IEEE754"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/core/IEEE754.sol":{"keccak256":"0x121d0b729b518650687a6f267485dcd35e320ef4f0abb77c11dba1a2173e0d67","urls":["bzz-raw://e379276bca67a148345fe51a777b6c59147b38622f12314213789760997d2545","dweb:/ipfs/QmdHnhJ6fcH9q4SKqjd7B9VVyBqykEkcht1QMPDc6Sgbbt"],"license":"UNLICENSED"}},"version":1},"id":59}
|
||||||
1
deployment/arb1/out/IERC165.sol/IERC165.json
Normal file
1
deployment/arb1/out/IERC165.sol/IERC165.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"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.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceID\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.\",\"params\":{\"interfaceID\":\"The interface identifier, as specified in ERC-165\"},\"returns\":{\"_0\":\"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise\"}}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"supportsInterface(bytes4)\":{\"notice\":\"Query if a contract implements an interface\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/interfaces/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"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":"Interface identification is specified in ERC-165. This function uses less than 30,000 gas.","params":{"interfaceID":"The interface identifier, as specified in ERC-165"},"returns":{"_0":"`true` if the contract implements `interfaceID` and `interfaceID` is not 0xffffffff, `false` otherwise"}}},"version":1},"userdoc":{"kind":"user","methods":{"supportsInterface(bytes4)":{"notice":"Query if a contract implements an interface"}},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/interfaces/IERC165.sol":"IERC165"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"}},"version":1},"id":12}
|
||||||
1
deployment/arb1/out/IERC20.sol/IERC20.json
Normal file
1
deployment/arb1/out/IERC20.sol/IERC20.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IERC721.sol/IERC721.json
Normal file
1
deployment/arb1/out/IERC721.sol/IERC721.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IERC721.sol/IERC721Enumerable.json
Normal file
1
deployment/arb1/out/IERC721.sol/IERC721Enumerable.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IERC721.sol/IERC721Metadata.json
Normal file
1
deployment/arb1/out/IERC721.sol/IERC721Metadata.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IERC721Permit.sol/IERC721Permit.json
Normal file
1
deployment/arb1/out/IERC721Permit.sol/IERC721Permit.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IFeeManager.sol/IFeeManager.json
Normal file
1
deployment/arb1/out/IFeeManager.sol/IFeeManager.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IMulticall3.sol/IMulticall3.json
Normal file
1
deployment/arb1/out/IMulticall3.sol/IMulticall3.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"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.8.26+commit.8a97fa7a\"},\"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\":{\"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":\"IPeripheryImmutableState\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_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.8.26+commit.8a97fa7a"},"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":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol":"IPeripheryImmutableState"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_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}
|
||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IRouter.sol/IRouter.json
Normal file
1
deployment/arb1/out/IRouter.sol/IRouter.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/ISwapRouter.sol/ISwapRouter.json
Normal file
1
deployment/arb1/out/ISwapRouter.sol/ISwapRouter.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IVault.sol/IVault.json
Normal file
1
deployment/arb1/out/IVault.sol/IVault.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IVault.sol/IVaultImpl.json
Normal file
1
deployment/arb1/out/IVault.sol/IVaultImpl.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IVault.sol/IVaultProxy.json
Normal file
1
deployment/arb1/out/IVault.sol/IVaultProxy.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IVaultFactory.sol/IVaultFactory.json
Normal file
1
deployment/arb1/out/IVaultFactory.sol/IVaultFactory.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/IWETH9.sol/IWETH9.json
Normal file
1
deployment/arb1/out/IWETH9.sol/IWETH9.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/LineLib.sol/LineLib.json
Normal file
1
deployment/arb1/out/LineLib.sol/LineLib.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220643db708bb00432a87b79f2774736e3a28c60472ccced881e81e5564a9fa84e164736f6c634300081a0033","sourceMap":"238:2136:60:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220643db708bb00432a87b79f2774736e3a28c60472ccced881e81e5564a9fa84e164736f6c634300081a0033","sourceMap":"238:2136:60:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/LineLib.sol\":\"LineLib\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"src/core/IEEE754.sol\":{\"keccak256\":\"0x121d0b729b518650687a6f267485dcd35e320ef4f0abb77c11dba1a2173e0d67\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e379276bca67a148345fe51a777b6c59147b38622f12314213789760997d2545\",\"dweb:/ipfs/QmdHnhJ6fcH9q4SKqjd7B9VVyBqykEkcht1QMPDc6Sgbbt\"]},\"src/core/LineLib.sol\":{\"keccak256\":\"0x67ae7a59ee4e4e244bf17604c4cb390233503eaa011a24bcdf737773d5b5a9f4\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://0d0c6459d297427055354956e807209fd425d814467d7c6ccb6157567718405d\",\"dweb:/ipfs/QmTV5b15om8gFaAxmsrAgVqeVTQmv2xYd6beK3mXe541Du\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/LineLib.sol":"LineLib"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/core/IEEE754.sol":{"keccak256":"0x121d0b729b518650687a6f267485dcd35e320ef4f0abb77c11dba1a2173e0d67","urls":["bzz-raw://e379276bca67a148345fe51a777b6c59147b38622f12314213789760997d2545","dweb:/ipfs/QmdHnhJ6fcH9q4SKqjd7B9VVyBqykEkcht1QMPDc6Sgbbt"],"license":"UNLICENSED"},"src/core/LineLib.sol":{"keccak256":"0x67ae7a59ee4e4e244bf17604c4cb390233503eaa011a24bcdf737773d5b5a9f4","urls":["bzz-raw://0d0c6459d297427055354956e807209fd425d814467d7c6ccb6157567718405d","dweb:/ipfs/QmTV5b15om8gFaAxmsrAgVqeVTQmv2xYd6beK3mXe541Du"],"license":"UNLICENSED"}},"version":1},"id":60}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212204b64db16b7de1875861a431644f9ed6547243e1f81bb128725626c6960dc47d064736f6c634300081a0033","sourceMap":"327:6487:50:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212204b64db16b7de1875861a431644f9ed6547243e1f81bb128725626c6960dc47d064736f6c634300081a0033","sourceMap":"327:6487:50:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"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\":{\"lib_uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol\":\"LiquidityAmounts\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_uniswap/v3-core/contracts/libraries/FixedPoint96.sol\":{\"keccak256\":\"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d\",\"dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP\"]},\"lib_uniswap/v3-core/contracts/libraries/FullMath.sol\":{\"keccak256\":\"0x77608bce1ddeb28ed9963b554b55e8a083277eda7be31e2c7255ef532cc408be\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8fcb307cf783b612ab9abd339296391d202974e7aa158deff23d9fb3aaac832d\",\"dweb:/ipfs/QmXhcwQajcGZADQtVoQpSWYNY4tB3Y42GPPyiaW62M5JH2\"]},\"lib_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.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_uniswap/v3-periphery/contracts/libraries/LiquidityAmounts.sol":"LiquidityAmounts"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_uniswap/v3-core/contracts/libraries/FixedPoint96.sol":{"keccak256":"0x0ba8a9b95a956a4050749c0158e928398c447c91469682ca8a7cc7e77a7fe032","urls":["bzz-raw://186d3b528866065a5856f96d2aeec698efa99f8da913e9adf34f8cc296cc993d","dweb:/ipfs/QmUAiMvtAQp8c9dy57bqJYzG7hkb1uChiPaQmt264skoqP"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/libraries/FullMath.sol":{"keccak256":"0x77608bce1ddeb28ed9963b554b55e8a083277eda7be31e2c7255ef532cc408be","urls":["bzz-raw://8fcb307cf783b612ab9abd339296391d202974e7aa158deff23d9fb3aaac832d","dweb:/ipfs/QmXhcwQajcGZADQtVoQpSWYNY4tB3Y42GPPyiaW62M5JH2"],"license":"MIT"},"lib_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":50}
|
||||||
1
deployment/arb1/out/MirrorEnv.sol/MirrorEnv.json
Normal file
1
deployment/arb1/out/MirrorEnv.sol/MirrorEnv.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/MockERC20.sol/MockERC20.json
Normal file
1
deployment/arb1/out/MockERC20.sol/MockERC20.json
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[{"type":"function","name":"onERC721Received","inputs":[{"name":"","type":"address","internalType":"address"},{"name":"","type":"address","internalType":"address"},{"name":"","type":"uint256","internalType":"uint256"},{"name":"","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.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"onERC721Received\",\"outputs\":[{\"internalType\":\"bytes4\",\"name\":\"\",\"type\":\"bytes4\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/mocks/MockERC721.sol\":\"IERC721TokenReceiver\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/interfaces/IERC165.sol\":{\"keccak256\":\"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc\",\"dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT\"]},\"lib_forge_std/src/interfaces/IERC721.sol\":{\"keccak256\":\"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f\",\"dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm\"]},\"lib_forge_std/src/mocks/MockERC721.sol\":{\"keccak256\":\"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b\",\"dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"onERC721Received","outputs":[{"internalType":"bytes4","name":"","type":"bytes4"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/mocks/MockERC721.sol":"IERC721TokenReceiver"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/interfaces/IERC165.sol":{"keccak256":"0x414b2861b1acbf816ccb7346d3f16cf6c1e002e9e5e40d2f1f26fa5ddc2ea600","urls":["bzz-raw://698352fb240868ea8f1d1fe389993035eeab930f10d06934f80ccfb2b6ccbfbc","dweb:/ipfs/QmT6WLHAgXxFhh12kWym895oTzXid1326iZiwT3pyfggoT"],"license":"MIT"},"lib_forge_std/src/interfaces/IERC721.sol":{"keccak256":"0xf069262a264fdb69f8f37a10d2df7374649e9ba73f8414c9c8a3b51184625f15","urls":["bzz-raw://924a41ca82a68ffbd503a5faf2f76d13e9938f10501a71094716f12bb64b4b7f","dweb:/ipfs/QmdWnqfKc5ZGhmxNPTde4zrFchnv9Yk9MpCMb2rdhXE5gm"],"license":"MIT"},"lib_forge_std/src/mocks/MockERC721.sol":{"keccak256":"0x3293dcbb7acd28df553c954e4e39e288bf10aab7ecda8d50ef21b4f4a91a28d9","urls":["bzz-raw://9eb374daf6df34f4392f8926f1fddbce9f22c423066aeaefdfbe77395f77967b","dweb:/ipfs/QmWR81zBJRX2uyRjveGzikYPj6ZwKppWsU49YEQXTLWUsN"],"license":"MIT"}},"version":1},"id":17}
|
||||||
1
deployment/arb1/out/MockERC721.sol/MockERC721.json
Normal file
1
deployment/arb1/out/MockERC721.sol/MockERC721.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/MockEnv.sol/MockEnv.json
Normal file
1
deployment/arb1/out/MockEnv.sol/MockEnv.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/MockUtil.sol/MockUtil.json
Normal file
1
deployment/arb1/out/MockUtil.sol/MockUtil.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/OrderLib.sol/OrderLib.json
Normal file
1
deployment/arb1/out/OrderLib.sol/OrderLib.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/PoolAddress.sol/PoolAddress.json
Normal file
1
deployment/arb1/out/PoolAddress.sol/PoolAddress.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122026933359c0653dd38a5c6cfbe82633bf41822115b0903bc07997da8675c9ec9964736f6c634300081a0033","sourceMap":"167:1661:51:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122026933359c0653dd38a5c6cfbe82633bf41822115b0903bc07997da8675c9ec9964736f6c634300081a0033","sourceMap":"167:1661:51:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"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\":{\"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":\"PoolAddress\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48\",\"dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol":"PoolAddress"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol":{"keccak256":"0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4","urls":["bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48","dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr"],"license":"GPL-2.0-or-later"}},"version":1},"id":51}
|
||||||
1
deployment/arb1/out/Proxy.sol/Proxy.json
Normal file
1
deployment/arb1/out/Proxy.sol/Proxy.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[{"type":"fallback","stateMutability":"payable"}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"stateMutability\":\"payable\",\"type\":\"fallback\"}],\"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\":{\"lib_openzeppelin_contracts/contracts/proxy/Proxy.sol\":\"Proxy\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_openzeppelin_contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"payable","type":"fallback"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_openzeppelin_contracts/contracts/proxy/Proxy.sol":"Proxy"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_openzeppelin_contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"}},"version":1},"id":20}
|
||||||
1
deployment/arb1/out/QueryHelper.sol/QueryHelper.json
Normal file
1
deployment/arb1/out/QueryHelper.sol/QueryHelper.json
Normal file
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"}],\"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 EIP-1153 (transient storage) is available on the chain you're deploying at, consider using {ReentrancyGuardTransient} instead. 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].\",\"errors\":{\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_openzeppelin_contracts/contracts/utils/ReentrancyGuard.sol\":\"ReentrancyGuard\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_openzeppelin_contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x84496688b0b80f8e592f0db8ef82c3e7172a1658169b8f0832b522e935e216c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c98e6288d465afdbe084108995c6a8f19db173d6f068b92ef1f70f7edf6ffb3a\",\"dweb:/ipfs/QmShqKgJLqoRK2vv4sFU3iouqFGvWUbvGopbZS8Qn9Bp1X\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_openzeppelin_contracts/contracts/utils/ReentrancyGuard.sol":"ReentrancyGuard"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_openzeppelin_contracts/contracts/utils/ReentrancyGuard.sol":{"keccak256":"0x84496688b0b80f8e592f0db8ef82c3e7172a1658169b8f0832b522e935e216c0","urls":["bzz-raw://c98e6288d465afdbe084108995c6a8f19db173d6f068b92ef1f70f7edf6ffb3a","dweb:/ipfs/QmShqKgJLqoRK2vv4sFU3iouqFGvWUbvGopbZS8Qn9Bp1X"],"license":"MIT"}},"version":1},"id":28}
|
||||||
1
deployment/arb1/out/Router.sol/ArbitrumRouter.json
Normal file
1
deployment/arb1/out/Router.sol/ArbitrumRouter.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/Router.sol/Router.json
Normal file
1
deployment/arb1/out/Router.sol/Router.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/Script.sol/Script.json
Normal file
1
deployment/arb1/out/Script.sol/Script.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/StdChains.sol/StdChains.json
Normal file
1
deployment/arb1/out/StdChains.sol/StdChains.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"notice\":\"StdChains provides information about EVM compatible chains that can be used in scripts/tests. For each chain, the chain's name, chain ID, and a default RPC URL are provided. Chains are identified by their alias, which is the same as the alias in the `[rpc_endpoints]` section of the `foundry.toml` file. For best UX, ensure the alias in the `foundry.toml` file match the alias used in this contract, which can be found as the first argument to the `setChainWithDefaultRpcUrl` call in the `initializeStdChains` function. There are two main ways to use this contract: 1. Set a chain with `setChain(string memory chainAlias, ChainData memory chain)` or `setChain(string memory chainAlias, Chain memory chain)` 2. Get a chain with `getChain(string memory chainAlias)` or `getChain(uint256 chainId)`. The first time either of those are used, chains are initialized with the default set of RPC URLs. This is done in `initializeStdChains`, which uses `setChainWithDefaultRpcUrl`. Defaults are recorded in `defaultRpcUrls`. The `setChain` function is straightforward, and it simply saves off the given chain data. The `getChain` methods use `getChainWithUpdatedRpcUrl` to return a chain. For example, let's say we want to retrieve the RPC URL for `mainnet`: - If you have specified data with `setChain`, it will return that. - If you have configured a mainnet RPC URL in `foundry.toml`, it will return the URL, provided it is valid (e.g. a URL is specified, or an environment variable is given and exists). - If neither of the above conditions is met, the default data is returned. Summarizing the above, the prioritization hierarchy is `setChain` -> `foundry.toml` -> environment variable -> defaults.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/StdChains.sol\":\"StdChains\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/StdChains.sol\":{\"keccak256\":\"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345\",\"dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w\"]},\"lib_forge_std/src/Vm.sol\":{\"keccak256\":\"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166\",\"dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/StdChains.sol":"StdChains"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/StdChains.sol":{"keccak256":"0x2ba8ee7e4a68efd4cd75331b229874f4d4dc0a1010599afad88fc2cae5cb5d4a","urls":["bzz-raw://77ce1968d402b0414fec0a344b59c275d0706d4df5ac6293d605dd2202016345","dweb:/ipfs/QmSVy4N4F15NzEuSpmvwRj1nTfAwaJpng7CywUBWLnWC4w"],"license":"MIT"},"lib_forge_std/src/Vm.sol":{"keccak256":"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649","urls":["bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166","dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT"],"license":"MIT OR Apache-2.0"}},"version":1},"id":2}
|
||||||
1
deployment/arb1/out/StdCheats.sol/StdCheats.json
Normal file
1
deployment/arb1/out/StdCheats.sol/StdCheats.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/StdCheats.sol\":\"StdCheats\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib_forge_std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib_forge_std/src/Vm.sol\":{\"keccak256\":\"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166\",\"dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT\"]},\"lib_forge_std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/StdCheats.sol":"StdCheats"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib_forge_std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib_forge_std/src/Vm.sol":{"keccak256":"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649","urls":["bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166","dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT"],"license":"MIT OR Apache-2.0"},"lib_forge_std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"}},"version":1},"id":3}
|
||||||
1
deployment/arb1/out/StdCheats.sol/StdCheatsSafe.json
Normal file
1
deployment/arb1/out/StdCheats.sol/StdCheatsSafe.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"deployedBytecode":{"object":"0x","sourceMap":"","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/StdCheats.sol\":\"StdCheatsSafe\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/StdCheats.sol\":{\"keccak256\":\"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2\",\"dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc\"]},\"lib_forge_std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib_forge_std/src/Vm.sol\":{\"keccak256\":\"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166\",\"dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT\"]},\"lib_forge_std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/StdCheats.sol":"StdCheatsSafe"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/StdCheats.sol":{"keccak256":"0xb72f3519e0bf7d31df5d68557525f4fc55d861c3fb3b0f7793144ef7c94cbeb7","urls":["bzz-raw://f3456d0f78e6f61203fa7871ba2df0d35925f10db3baee14be623ce2a35b84e2","dweb:/ipfs/QmWE6QQSBvJifHMraisBTrf1x4WCwrDoTPLX8UKajTiApc"],"license":"MIT"},"lib_forge_std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib_forge_std/src/Vm.sol":{"keccak256":"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649","urls":["bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166","dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT"],"license":"MIT OR Apache-2.0"},"lib_forge_std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"}},"version":1},"id":3}
|
||||||
1
deployment/arb1/out/StdJson.sol/stdJson.json
Normal file
1
deployment/arb1/out/StdJson.sol/stdJson.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220b7ced2bb64fc292322ae7e11d28c773786d03f9ed0dd7d17116145224865b97d64736f6c634300081a0033","sourceMap":"610:5612:4:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220b7ced2bb64fc292322ae7e11d28c773786d03f9ed0dd7d17116145224865b97d64736f6c634300081a0033","sourceMap":"610:5612:4:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/StdJson.sol\":\"stdJson\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/StdJson.sol\":{\"keccak256\":\"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54\",\"dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp\"]},\"lib_forge_std/src/Vm.sol\":{\"keccak256\":\"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166\",\"dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/StdJson.sol":"stdJson"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/StdJson.sol":{"keccak256":"0x62bed173cb126f6d5006706cf249bac8a2d51bfa18f773f314784ff18adc622d","urls":["bzz-raw://5acc33dddbf2492e37dc32e89cd56ce917272d303a6874805f3a5768a6bfbf54","dweb:/ipfs/QmTsgFhcpUf16gAVazUXU3WspgX8nHke2hzVCvoqS25WEp"],"license":"MIT"},"lib_forge_std/src/Vm.sol":{"keccak256":"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649","urls":["bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166","dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT"],"license":"MIT OR Apache-2.0"}},"version":1},"id":4}
|
||||||
1
deployment/arb1/out/StdMath.sol/stdMath.json
Normal file
1
deployment/arb1/out/StdMath.sol/stdMath.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122000aff105c85c25c550b1b2da858894fa0d601d4e50194e5246f027e1a49beca364736f6c634300081a0033","sourceMap":"65:1294:5:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122000aff105c85c25c550b1b2da858894fa0d601d4e50194e5246f027e1a49beca364736f6c634300081a0033","sourceMap":"65:1294:5:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/StdMath.sol\":\"stdMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/StdMath.sol":"stdMath"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"}},"version":1},"id":5}
|
||||||
1
deployment/arb1/out/StdStorage.sol/stdStorage.json
Normal file
1
deployment/arb1/out/StdStorage.sol/stdStorage.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212208b3a339dc24016238a8b30cee27496a9579bacf0da6eb7d6392511089fc5200964736f6c634300081a0033","sourceMap":"12760:5081:6:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212208b3a339dc24016238a8b30cee27496a9579bacf0da6eb7d6392511089fc5200964736f6c634300081a0033","sourceMap":"12760:5081:6:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/StdStorage.sol\":\"stdStorage\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/StdStorage.sol\":{\"keccak256\":\"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678\",\"dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft\"]},\"lib_forge_std/src/Vm.sol\":{\"keccak256\":\"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166\",\"dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/StdStorage.sol":"stdStorage"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/StdStorage.sol":{"keccak256":"0x651d84d948832f0ef45686417aa68ffb871378fa788a4123dbf37844903c66f3","urls":["bzz-raw://ff20f5ac9de3dc3ba86b1bf1f2723174e82ce3499ad67cb0ccfa7d28baeee678","dweb:/ipfs/QmRZkUFKz7AmF7yk6o317sk822HHhGVPXZQgX8G4LfYfft"],"license":"MIT"},"lib_forge_std/src/Vm.sol":{"keccak256":"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649","urls":["bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166","dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT"],"license":"MIT OR Apache-2.0"}},"version":1},"id":6}
|
||||||
1
deployment/arb1/out/StdStorage.sol/stdStorageSafe.json
Normal file
1
deployment/arb1/out/StdStorage.sol/stdStorageSafe.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/StdStyle.sol/StdStyle.json
Normal file
1
deployment/arb1/out/StdStyle.sol/StdStyle.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea26469706673582212209f0824b4d16bdc81cf4abf42bbc374a3335c02df4715b70b8f0ce076caa0d8fa64736f6c634300081a0033","sourceMap":"100:10361:7:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea26469706673582212209f0824b4d16bdc81cf4abf42bbc374a3335c02df4715b70b8f0ce076caa0d8fa64736f6c634300081a0033","sourceMap":"100:10361:7:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_forge_std/src/StdStyle.sol\":\"StdStyle\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/StdStyle.sol\":{\"keccak256\":\"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8\",\"dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK\"]},\"lib_forge_std/src/Vm.sol\":{\"keccak256\":\"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649\",\"license\":\"MIT OR Apache-2.0\",\"urls\":[\"bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166\",\"dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_forge_std/src/StdStyle.sol":"StdStyle"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/StdStyle.sol":{"keccak256":"0x43e2a8a9b9c2574dabe74f11adf6f782df218f463540e3b5b563609fe108597d","urls":["bzz-raw://51363ca97404cf4128e1141428949768c31929e75e014b02c85e887fbbb4f1b8","dweb:/ipfs/QmVhtbQc2fU4rRmbcfBtz34mAgG4BAZBsbna1Ca4SkoPsK"],"license":"MIT"},"lib_forge_std/src/Vm.sol":{"keccak256":"0x882b5ae1b429dda7696bc57c913808f0942423d024fad8cedf0ba08d34040649","urls":["bzz-raw://31b63dcea38a411471679c9cc78b3f6d5ae830b9e0560091a6d6b1f0049aa166","dweb:/ipfs/QmW61wSQ3yj5j4yapXVCxmwdXFEr8ASnxjXiDev8QHVgHT"],"license":"MIT OR Apache-2.0"}},"version":1},"id":7}
|
||||||
1
deployment/arb1/out/StdUtils.sol/StdUtils.json
Normal file
1
deployment/arb1/out/StdUtils.sol/StdUtils.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/TickMath.sol/TickMath.json
Normal file
1
deployment/arb1/out/TickMath.sol/TickMath.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220d2d6931976c8cb8e19212dd7b5ee5fcac1f90fdb1f38547a3ad8ab964ef93b7064736f6c634300081a0033","sourceMap":"306:8361:41:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220d2d6931976c8cb8e19212dd7b5ee5fcac1f90fdb1f38547a3ad8ab964ef93b7064736f6c634300081a0033","sourceMap":"306:8361:41:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"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\":{\"lib_uniswap/v3-core/contracts/libraries/TickMath.sol\":\"TickMath\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_uniswap/v3-core/contracts/libraries/TickMath.sol\":{\"keccak256\":\"0x350d6743e4d8ff3b7f3bcc569919b22dd13e46918a7994d29d7cb5c60080ee4d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://513f138148bd8b28edb0625d27c593b09155a1f71cc3c081659d448d079ca8d3\",\"dweb:/ipfs/QmRhWsD9JhoKLVT9ShUkDC2kYcNneDKXbt3NTHEpDkRZ2G\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_uniswap/v3-core/contracts/libraries/TickMath.sol":"TickMath"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_uniswap/v3-core/contracts/libraries/TickMath.sol":{"keccak256":"0x350d6743e4d8ff3b7f3bcc569919b22dd13e46918a7994d29d7cb5c60080ee4d","urls":["bzz-raw://513f138148bd8b28edb0625d27c593b09155a1f71cc3c081659d448d079ca8d3","dweb:/ipfs/QmRhWsD9JhoKLVT9ShUkDC2kYcNneDKXbt3NTHEpDkRZ2G"],"license":"GPL-2.0-or-later"}},"version":1},"id":41}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea2646970667358221220bedf85fccb897a80eb6bbf263c824ace9a5c21581ef11421fb8b86e7162aa34464736f6c634300081a0033","sourceMap":"129:2408:52:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea2646970667358221220bedf85fccb897a80eb6bbf263c824ace9a5c21581ef11421fb8b86e7162aa34464736f6c634300081a0033","sourceMap":"129:2408:52:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-periphery/contracts/libraries/TransferHelper.sol\":\"TransferHelper\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"lib_openzeppelin_contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xee2337af2dc162a973b4be6d3f7c16f06298259e0af48c5470d2839bfa8a22f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30c476b4b2f405c1bb3f0bae15b006d129c80f1bfd9d0f2038160a3bb9745009\",\"dweb:/ipfs/Qmb3VcuDufv6xbHeVgksC4tHpc5gKYVqBEwjEXW72XzSvN\"]},\"lib_uniswap/v3-periphery/contracts/libraries/TransferHelper.sol\":{\"keccak256\":\"0x9af98b0908c96320ca6d08b22f0efca864742f6adbe5794cafe2d1d2e808b0cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://da1d1e81e5bf534f0bf2934b3193db6cb1933f91ec006d2b88e9ad10a617a2d2\",\"dweb:/ipfs/QmcPBk47QLMFWcX2y2S9eMFsJgoYWBd3R8ey55Bgmv6w6v\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib_uniswap/v3-periphery/contracts/libraries/TransferHelper.sol":"TransferHelper"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_openzeppelin_contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xee2337af2dc162a973b4be6d3f7c16f06298259e0af48c5470d2839bfa8a22f4","urls":["bzz-raw://30c476b4b2f405c1bb3f0bae15b006d129c80f1bfd9d0f2038160a3bb9745009","dweb:/ipfs/Qmb3VcuDufv6xbHeVgksC4tHpc5gKYVqBEwjEXW72XzSvN"],"license":"MIT"},"lib_uniswap/v3-periphery/contracts/libraries/TransferHelper.sol":{"keccak256":"0x9af98b0908c96320ca6d08b22f0efca864742f6adbe5794cafe2d1d2e808b0cd","urls":["bzz-raw://da1d1e81e5bf534f0bf2934b3193db6cb1933f91ec006d2b88e9ad10a617a2d2","dweb:/ipfs/QmcPBk47QLMFWcX2y2S9eMFsJgoYWBd3R8ey55Bgmv6w6v"],"license":"GPL-2.0-or-later"}},"version":1},"id":52}
|
||||||
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/UniswapV3.sol/UniswapV3.json
Normal file
1
deployment/arb1/out/UniswapV3.sol/UniswapV3.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/UniswapV3.sol/UniswapV3Arbitrum.json
Normal file
1
deployment/arb1/out/UniswapV3.sol/UniswapV3Arbitrum.json
Normal file
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/Upgrade.sol/Upgrade.json
Normal file
1
deployment/arb1/out/Upgrade.sol/Upgrade.json
Normal file
File diff suppressed because one or more lines are too long
1
deployment/arb1/out/Util.sol/Util.json
Normal file
1
deployment/arb1/out/Util.sol/Util.json
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"abi":[],"bytecode":{"object":"0x60808060405234601757603a9081601d823930815050f35b600080fdfe600080fdfea264697066735822122010bc3c2c364bfa4c86a3905ef7c10eec643e0ef39080e714b15ba28b21d2a7c464736f6c634300081a0033","sourceMap":"64:854:66:-:0;;;;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x600080fdfea264697066735822122010bc3c2c364bfa4c86a3905ef7c10eec643e0ef39080e714b15ba28b21d2a7c464736f6c634300081a0033","sourceMap":"64:854:66:-:0;;","linkReferences":{}},"methodIdentifiers":{},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/Util.sol\":\"Util\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/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/\"],\"viaIR\":true},\"sources\":{\"src/core/Util.sol\":{\"keccak256\":\"0xe3164ffc07d66890a44924ba74ee42ca7f07866855842a32055035e7de5c4c15\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://848e067ad125cacc943fe7075aa3f84daaefeabce31e2f7fae787b9c8f140e0a\",\"dweb:/ipfs/QmVoK3q34s2WBRcrM7eL8ox5ZxHUNMvFpNsUSNcVVgBXZ5\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/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/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/Util.sol":"Util"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"src/core/Util.sol":{"keccak256":"0xe3164ffc07d66890a44924ba74ee42ca7f07866855842a32055035e7de5c4c15","urls":["bzz-raw://848e067ad125cacc943fe7075aa3f84daaefeabce31e2f7fae787b9c8f140e0a","dweb:/ipfs/QmVoK3q34s2WBRcrM7eL8ox5ZxHUNMvFpNsUSNcVVgBXZ5"],"license":"UNLICENSED"}},"version":1},"id":66}
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user