Compare commits
41 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0477592bb5 | ||
|
|
7ff99c9b1f | ||
|
|
a6983d23bd | ||
|
|
56dc1a4032 | ||
|
|
29ba819ab2 | ||
|
|
8b871940eb | ||
|
|
e9fd472ec1 | ||
|
|
81776bc79f | ||
|
|
4baaed9d3c | ||
|
|
bce58fdf86 | ||
|
|
8265665c36 | ||
|
|
f706d56218 | ||
|
|
30f4588562 | ||
|
|
331b9df337 | ||
|
|
084c018285 | ||
|
|
aa69557d47 | ||
|
|
97b95e7ba3 | ||
|
|
3522c9b59b | ||
|
|
779c180fad | ||
|
|
e4dd6c38aa | ||
|
|
912efab60d | ||
|
|
add4f72611 | ||
|
|
aa007a4fcd | ||
|
|
b63bd8cbd3 | ||
|
|
139449f3e9 | ||
|
|
e10c3c7093 | ||
|
|
4759effae2 | ||
|
|
03b7ac11e3 | ||
|
|
7b64745438 | ||
|
|
903beb27da | ||
|
|
e0cbeb5f21 | ||
|
|
3494e37308 | ||
|
|
7632940c46 | ||
|
|
fd18cba58f | ||
|
|
e1eecad898 | ||
|
|
73ab4fb0e0 | ||
|
|
5ffaf657fa | ||
|
|
d9232151f8 | ||
|
|
c8d2dc758f | ||
|
|
8cefbd7c5e | ||
|
|
f775f86960 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -6,3 +6,4 @@
|
||||
/lib
|
||||
/foundry.toml
|
||||
/broadcast
|
||||
/src/VaultAddress.sol
|
||||
|
||||
6
Makefile
6
Makefile
@@ -1,11 +1,11 @@
|
||||
tests: build_force
|
||||
tests: build
|
||||
bin/test.sh
|
||||
|
||||
build:
|
||||
bin/build.sh
|
||||
|
||||
build_force:
|
||||
bin/build_force.sh
|
||||
# build_force:
|
||||
# bin/build.sh --force
|
||||
|
||||
dependencies:
|
||||
# foundry
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
# this script requires the jq command $(sudo apt install jq)
|
||||
|
||||
# first-pass build
|
||||
forge build "$@" || exit 1
|
||||
forge build --force "$@" || exit 1
|
||||
|
||||
# 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/bytes32 internal constant VAULT_INIT_CODE_HASH = .*;/bytes32 internal constant VAULT_INIT_CODE_HASH = $VAULT_INIT_CODE_HASH;/" src/VaultAddress.sol
|
||||
sed -i "s/VAULT_INIT_CODE_HASH = .*;/VAULT_INIT_CODE_HASH = $VAULT_INIT_CODE_HASH;/" src/VaultAddress.sol
|
||||
|
||||
# generate a javascript file with the constant
|
||||
mkdir gen &> /dev/null
|
||||
|
||||
@@ -1,19 +0,0 @@
|
||||
#!/bin/bash
|
||||
# this script requires the jq command $(sudo apt install jq)
|
||||
|
||||
# first-pass build
|
||||
forge build --force "$@" || exit 1
|
||||
|
||||
# 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/bytes32 internal constant VAULT_INIT_CODE_HASH = .*;/bytes32 internal constant VAULT_INIT_CODE_HASH = $VAULT_INIT_CODE_HASH;/" src/VaultAddress.sol
|
||||
|
||||
# generate a javascript file with the constant
|
||||
mkdir gen &> /dev/null
|
||||
echo "export const VAULT_INIT_CODE_HASH='$VAULT_INIT_CODE_HASH';" > gen/vaultHash.js
|
||||
|
||||
# final build after hash values are set
|
||||
forge build --force "$@" || exit 1
|
||||
@@ -1,4 +1,31 @@
|
||||
#!/usr/bin/env bash
|
||||
|
||||
if [ "$1" == "" ]; then
|
||||
echo tag required
|
||||
echo $0 [tag]
|
||||
fi
|
||||
|
||||
./bin/build.sh || exit 1
|
||||
PRIVATE_KEY=${PRIVATE_KEY:='0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80'}
|
||||
forge script script/Deploy.sol -vvvv --fork-url http://localhost:8545 --broadcast
|
||||
|
||||
TAG=$1
|
||||
PRIVKEY=${PRIVATE_KEY:='0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80'}
|
||||
RPC=${RPCURL:-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-"$TAG".json
|
||||
}
|
||||
|
||||
PRIVATE_KEY=$PRIVKEY forge script script/Deploy.sol -vvvv --fork-url "$RPC" --broadcast
|
||||
rm -rf deployment/"$TAG"
|
||||
mkdir -p deployment/"$TAG"
|
||||
cp -r out deployment/"$TAG"/
|
||||
cpbroadcast Deploy.sol
|
||||
|
||||
if [ "$2" == "mock" ]; then
|
||||
PRIVATE_KEY=$PRIVKEY forge script script/DeployMock.sol -vvvv --fork-url "$RPC" --broadcast
|
||||
cpbroadcast DeployMock.sol
|
||||
fi
|
||||
|
||||
|
||||
@@ -6,12 +6,13 @@
|
||||
#cd ../contract
|
||||
|
||||
#./bin/build.sh
|
||||
anvil -f arbitrum_mock --chain-id 1338 &
|
||||
anvil -f arbitrum_mock --chain-id 31337 &
|
||||
# todo check anvil result
|
||||
ANVIL_PID=$!
|
||||
sleep 2
|
||||
|
||||
forge script script/Deploy.sol -vvvv --fork-url http://localhost:8545 --broadcast
|
||||
forge script script/DeployMock.sol -vvvv --fork-url http://localhost:8545 --broadcast
|
||||
|
||||
trap_ctrlc() {
|
||||
echo exiting anvil
|
||||
|
||||
119
deployment/alpha/broadcast/Deploy.sol/53261/run-alpha.json
Normal file
119
deployment/alpha/broadcast/Deploy.sol/53261/run-alpha.json
Normal file
File diff suppressed because one or more lines are too long
332
deployment/alpha/broadcast/DeployMock.sol/53261/run-alpha.json
Normal file
332
deployment/alpha/broadcast/DeployMock.sol/53261/run-alpha.json
Normal file
File diff suppressed because one or more lines are too long
1216
deployment/alpha/out/Base.sol/CommonBase.json
Normal file
1216
deployment/alpha/out/Base.sol/CommonBase.json
Normal file
File diff suppressed because it is too large
Load Diff
1216
deployment/alpha/out/Base.sol/ScriptBase.json
Normal file
1216
deployment/alpha/out/Base.sol/ScriptBase.json
Normal file
File diff suppressed because it is too large
Load Diff
1216
deployment/alpha/out/Base.sol/TestBase.json
Normal file
1216
deployment/alpha/out/Base.sol/TestBase.json
Normal file
File diff suppressed because it is too large
Load Diff
638
deployment/alpha/out/Constants.sol/Constants.json
Normal file
638
deployment/alpha/out/Constants.sol/Constants.json
Normal file
File diff suppressed because one or more lines are too long
328
deployment/alpha/out/Context.sol/Context.json
Normal file
328
deployment/alpha/out/Context.sol/Context.json
Normal file
@@ -0,0 +1,328 @@
|
||||
{
|
||||
"abi": [],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"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\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib/openzeppelin-contracts/contracts/utils/Context.sol": "Context"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"lib/openzeppelin-contracts/contracts/utils/Context.sol": {
|
||||
"keccak256": "0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7",
|
||||
"urls": [
|
||||
"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92",
|
||||
"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3"
|
||||
],
|
||||
"license": "MIT"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib/openzeppelin-contracts/contracts/utils/Context.sol",
|
||||
"id": 43778,
|
||||
"exportedSymbols": {
|
||||
"Context": [
|
||||
43777
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "86:758:25",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 43757,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "86:23:25",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
"^",
|
||||
"0.8",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 43777,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "608:235:25",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 43767,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "640:96:25",
|
||||
"nodes": [],
|
||||
"body": {
|
||||
"id": 43766,
|
||||
"nodeType": "Block",
|
||||
"src": "702:34:25",
|
||||
"nodes": [],
|
||||
"statements": [
|
||||
{
|
||||
"expression": {
|
||||
"expression": {
|
||||
"id": 43763,
|
||||
"name": "msg",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": -15,
|
||||
"src": "719:3:25",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_magic_message",
|
||||
"typeString": "msg"
|
||||
}
|
||||
},
|
||||
"id": 43764,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"memberLocation": "723:6:25",
|
||||
"memberName": "sender",
|
||||
"nodeType": "MemberAccess",
|
||||
"src": "719:10:25",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"functionReturnParameters": 43762,
|
||||
"id": 43765,
|
||||
"nodeType": "Return",
|
||||
"src": "712:17:25"
|
||||
}
|
||||
]
|
||||
},
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "_msgSender",
|
||||
"nameLocation": "649:10:25",
|
||||
"parameters": {
|
||||
"id": 43759,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "659:2:25"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 43762,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 43761,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 43767,
|
||||
"src": "693:7:25",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 43760,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "693:7:25",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "692:9:25"
|
||||
},
|
||||
"scope": 43777,
|
||||
"stateMutability": "view",
|
||||
"virtual": true,
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"id": 43776,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "742:99:25",
|
||||
"nodes": [],
|
||||
"body": {
|
||||
"id": 43775,
|
||||
"nodeType": "Block",
|
||||
"src": "809:32:25",
|
||||
"nodes": [],
|
||||
"statements": [
|
||||
{
|
||||
"expression": {
|
||||
"expression": {
|
||||
"id": 43772,
|
||||
"name": "msg",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": -15,
|
||||
"src": "826:3:25",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_magic_message",
|
||||
"typeString": "msg"
|
||||
}
|
||||
},
|
||||
"id": 43773,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"memberLocation": "830:4:25",
|
||||
"memberName": "data",
|
||||
"nodeType": "MemberAccess",
|
||||
"src": "826:8:25",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bytes_calldata_ptr",
|
||||
"typeString": "bytes calldata"
|
||||
}
|
||||
},
|
||||
"functionReturnParameters": 43771,
|
||||
"id": 43774,
|
||||
"nodeType": "Return",
|
||||
"src": "819:15:25"
|
||||
}
|
||||
]
|
||||
},
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "_msgData",
|
||||
"nameLocation": "751:8:25",
|
||||
"parameters": {
|
||||
"id": 43768,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "759:2:25"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 43771,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 43770,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 43776,
|
||||
"src": "793:14:25",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "calldata",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bytes_calldata_ptr",
|
||||
"typeString": "bytes"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 43769,
|
||||
"name": "bytes",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "793:5:25",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bytes_storage_ptr",
|
||||
"typeString": "bytes"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "792:16:25"
|
||||
},
|
||||
"scope": 43777,
|
||||
"stateMutability": "view",
|
||||
"virtual": true,
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"abstract": true,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "Context",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "contract",
|
||||
"documentation": {
|
||||
"id": 43758,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "111:496:25",
|
||||
"text": " @dev Provides information about the current execution context, including the\n sender of the transaction and its data. While these are generally available\n via msg.sender and msg.data, they should not be accessed in such a direct\n manner, since when dealing with meta-transactions the account sending and\n paying for execution may not be the actual sender (as far as an application\n is concerned).\n This contract is only required for intermediate, library-like contracts."
|
||||
},
|
||||
"fullyImplemented": true,
|
||||
"linearizedBaseContracts": [
|
||||
43777
|
||||
],
|
||||
"name": "Context",
|
||||
"nameLocation": "626:7:25",
|
||||
"scope": 43778,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"id": 25
|
||||
}
|
||||
2137
deployment/alpha/out/Deploy.sol/Deploy.json
Normal file
2137
deployment/alpha/out/Deploy.sol/Deploy.json
Normal file
File diff suppressed because one or more lines are too long
1513
deployment/alpha/out/DeployMock.sol/DeployMock.json
Normal file
1513
deployment/alpha/out/DeployMock.sol/DeployMock.json
Normal file
File diff suppressed because one or more lines are too long
2481
deployment/alpha/out/Dexorder.sol/Dexorder.json
Normal file
2481
deployment/alpha/out/Dexorder.sol/Dexorder.json
Normal file
File diff suppressed because one or more lines are too long
8252
deployment/alpha/out/ERC20.sol/ERC20.json
Normal file
8252
deployment/alpha/out/ERC20.sol/ERC20.json
Normal file
File diff suppressed because one or more lines are too long
875
deployment/alpha/out/Factory.sol/Factory.json
Normal file
875
deployment/alpha/out/Factory.sol/Factory.json
Normal file
File diff suppressed because one or more lines are too long
223
deployment/alpha/out/FixedPoint96.sol/FixedPoint96.json
Normal file
223
deployment/alpha/out/FixedPoint96.sol/FixedPoint96.json
Normal file
@@ -0,0 +1,223 @@
|
||||
{
|
||||
"abi": [],
|
||||
"bytecode": {
|
||||
"object": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122088a5e7bdd2c95b142656abd37b5c5cf17e80d321b44b327f797edb7cad07531864736f6c63430008160033",
|
||||
"sourceMap": "245:134:36:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;245:134:36;;;;;;;;;;;;;;;;;",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122088a5e7bdd2c95b142656abd37b5c5cf17e80d321b44b327f797edb7cad07531864736f6c63430008160033",
|
||||
"sourceMap": "245:134:36:-:0;;;;;;;;",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"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\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"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.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib_uniswap/v3-core/contracts/libraries/FixedPoint96.sol": "FixedPoint96"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"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
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib_uniswap/v3-core/contracts/libraries/FixedPoint96.sol",
|
||||
"id": 44339,
|
||||
"exportedSymbols": {
|
||||
"FixedPoint96": [
|
||||
44338
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "45:335:36",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 44330,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "45:24:36",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.4",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 44338,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "245:134:36",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 44334,
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "272:39:36",
|
||||
"nodes": [],
|
||||
"constant": true,
|
||||
"mutability": "constant",
|
||||
"name": "RESOLUTION",
|
||||
"nameLocation": "296:10:36",
|
||||
"scope": 44338,
|
||||
"stateVariable": true,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint8",
|
||||
"typeString": "uint8"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44332,
|
||||
"name": "uint8",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "272:5:36",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint8",
|
||||
"typeString": "uint8"
|
||||
}
|
||||
},
|
||||
"value": {
|
||||
"hexValue": "3936",
|
||||
"id": 44333,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "309:2:36",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_rational_96_by_1",
|
||||
"typeString": "int_const 96"
|
||||
},
|
||||
"value": "96"
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"id": 44337,
|
||||
"nodeType": "VariableDeclaration",
|
||||
"src": "317:59:36",
|
||||
"nodes": [],
|
||||
"constant": true,
|
||||
"mutability": "constant",
|
||||
"name": "Q96",
|
||||
"nameLocation": "343:3:36",
|
||||
"scope": 44338,
|
||||
"stateVariable": true,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44335,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "317:7:36",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"value": {
|
||||
"hexValue": "307831303030303030303030303030303030303030303030303030",
|
||||
"id": 44336,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "349:27:36",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_rational_79228162514264337593543950336_by_1",
|
||||
"typeString": "int_const 79228162514264337593543950336"
|
||||
},
|
||||
"value": "0x1000000000000000000000000"
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "FixedPoint96",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "library",
|
||||
"documentation": {
|
||||
"id": 44331,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "71:174:36",
|
||||
"text": "@title FixedPoint96\n @notice A library for handling binary fixed point numbers, see https://en.wikipedia.org/wiki/Q_(number_format)\n @dev Used in SqrtPriceMath.sol"
|
||||
},
|
||||
"fullyImplemented": true,
|
||||
"linearizedBaseContracts": [
|
||||
44338
|
||||
],
|
||||
"name": "FixedPoint96",
|
||||
"nameLocation": "253:12:36",
|
||||
"scope": 44339,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
},
|
||||
"id": 36
|
||||
}
|
||||
3186
deployment/alpha/out/FullMath.sol/FullMath.json
Normal file
3186
deployment/alpha/out/FullMath.sol/FullMath.json
Normal file
File diff suppressed because it is too large
Load Diff
271
deployment/alpha/out/IERC165.sol/IERC165.json
Normal file
271
deployment/alpha/out/IERC165.sol/IERC165.json
Normal file
@@ -0,0 +1,271 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes4",
|
||||
"name": "interfaceId",
|
||||
"type": "bytes4"
|
||||
}
|
||||
],
|
||||
"name": "supportsInterface",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"supportsInterface(bytes4)": "01ffc9a7"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Interface of the ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. Implementers can declare support of contract interfaces, which can then be queried by others ({ERC165Checker}). For an implementation, see {ERC165}.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "bytes4",
|
||||
"name": "interfaceId",
|
||||
"type": "bytes4"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "supportsInterface",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "bool",
|
||||
"name": "",
|
||||
"type": "bool"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {
|
||||
"supportsInterface(bytes4)": {
|
||||
"details": "Returns true if this contract implements the interface defined by `interfaceId`. See the corresponding https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas."
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": "IERC165"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol": {
|
||||
"keccak256": "0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1",
|
||||
"urls": [
|
||||
"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f",
|
||||
"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy"
|
||||
],
|
||||
"license": "MIT"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib/openzeppelin-contracts/contracts/utils/introspection/IERC165.sol",
|
||||
"id": 43790,
|
||||
"exportedSymbols": {
|
||||
"IERC165": [
|
||||
43789
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "100:753:26",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 43779,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "100:23:26",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
"^",
|
||||
"0.8",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 43789,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "405:447:26",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 43788,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "774:76:26",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 43781,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "429:340:26",
|
||||
"text": " @dev Returns true if this contract implements the interface defined by\n `interfaceId`. See the corresponding\n https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas."
|
||||
},
|
||||
"functionSelector": "01ffc9a7",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "supportsInterface",
|
||||
"nameLocation": "783:17:26",
|
||||
"parameters": {
|
||||
"id": 43784,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 43783,
|
||||
"mutability": "mutable",
|
||||
"name": "interfaceId",
|
||||
"nameLocation": "808:11:26",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 43788,
|
||||
"src": "801:18:26",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bytes4",
|
||||
"typeString": "bytes4"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 43782,
|
||||
"name": "bytes4",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "801:6:26",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bytes4",
|
||||
"typeString": "bytes4"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "800:20:26"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 43787,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 43786,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 43788,
|
||||
"src": "844:4:26",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bool",
|
||||
"typeString": "bool"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 43785,
|
||||
"name": "bool",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "844:4:26",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bool",
|
||||
"typeString": "bool"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "843:6:26"
|
||||
},
|
||||
"scope": 43789,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "IERC165",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "interface",
|
||||
"documentation": {
|
||||
"id": 43780,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "125:279:26",
|
||||
"text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\n Implementers can declare support of contract interfaces, which can then be\n queried by others ({ERC165Checker}).\n For an implementation, see {ERC165}."
|
||||
},
|
||||
"fullyImplemented": false,
|
||||
"linearizedBaseContracts": [
|
||||
43789
|
||||
],
|
||||
"name": "IERC165",
|
||||
"nameLocation": "415:7:26",
|
||||
"scope": 43790,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "MIT"
|
||||
},
|
||||
"id": 26
|
||||
}
|
||||
1404
deployment/alpha/out/IERC20.sol/IERC20.json
Normal file
1404
deployment/alpha/out/IERC20.sol/IERC20.json
Normal file
File diff suppressed because one or more lines are too long
849
deployment/alpha/out/IERC20Metadata.sol/IERC20Metadata.json
Normal file
849
deployment/alpha/out/IERC20Metadata.sol/IERC20Metadata.json
Normal file
File diff suppressed because one or more lines are too long
2069
deployment/alpha/out/IERC721.sol/IERC721.json
Normal file
2069
deployment/alpha/out/IERC721.sol/IERC721.json
Normal file
File diff suppressed because one or more lines are too long
1195
deployment/alpha/out/IERC721Enumerable.sol/IERC721Enumerable.json
Normal file
1195
deployment/alpha/out/IERC721Enumerable.sol/IERC721Enumerable.json
Normal file
File diff suppressed because one or more lines are too long
1117
deployment/alpha/out/IERC721Metadata.sol/IERC721Metadata.json
Normal file
1117
deployment/alpha/out/IERC721Metadata.sol/IERC721Metadata.json
Normal file
File diff suppressed because one or more lines are too long
1283
deployment/alpha/out/IERC721Permit.sol/IERC721Permit.json
Normal file
1283
deployment/alpha/out/IERC721Permit.sol/IERC721Permit.json
Normal file
File diff suppressed because one or more lines are too long
2918
deployment/alpha/out/IMulticall3.sol/IMulticall3.json
Normal file
2918
deployment/alpha/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,329 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "WETH9",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "factory",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"WETH9()": "4aa4a4fc",
|
||||
"factory()": "c45a0155"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"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\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"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.22+commit.4fc1097e"
|
||||
},
|
||||
"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": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol": "IPeripheryImmutableState"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"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
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol",
|
||||
"id": 45310,
|
||||
"exportedSymbols": {
|
||||
"IPeripheryImmutableState": [
|
||||
45309
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "45:374:41",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 45295,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "45:24:41",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.5",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 45309,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "162:256:41",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 45302,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "265:51:41",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 45297,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "203:57:41",
|
||||
"text": "@return Returns the address of the Uniswap V3 factory"
|
||||
},
|
||||
"functionSelector": "c45a0155",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "factory",
|
||||
"nameLocation": "274:7:41",
|
||||
"parameters": {
|
||||
"id": 45298,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "281:2:41"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 45301,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45300,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45302,
|
||||
"src": "307:7:41",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45299,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "307:7:41",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "306:9:41"
|
||||
},
|
||||
"scope": 45309,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 45308,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "367:49:41",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 45303,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "322:40:41",
|
||||
"text": "@return Returns the address of WETH9"
|
||||
},
|
||||
"functionSelector": "4aa4a4fc",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "WETH9",
|
||||
"nameLocation": "376:5:41",
|
||||
"parameters": {
|
||||
"id": 45304,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "381:2:41"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 45307,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45306,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45308,
|
||||
"src": "407:7:41",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45305,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "407:7:41",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "406:9:41"
|
||||
},
|
||||
"scope": 45309,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "IPeripheryImmutableState",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "interface",
|
||||
"documentation": {
|
||||
"id": 45296,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "71:91:41",
|
||||
"text": "@title Immutable state\n @notice Functions that return immutable state of the router"
|
||||
},
|
||||
"fullyImplemented": false,
|
||||
"linearizedBaseContracts": [
|
||||
45309
|
||||
],
|
||||
"name": "IPeripheryImmutableState",
|
||||
"nameLocation": "172:24:41",
|
||||
"scope": 45310,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
},
|
||||
"id": 41
|
||||
}
|
||||
@@ -0,0 +1,505 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "refundETH",
|
||||
"outputs": [],
|
||||
"stateMutability": "payable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amountMinimum",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "sweepToken",
|
||||
"outputs": [],
|
||||
"stateMutability": "payable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amountMinimum",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"name": "unwrapWETH9",
|
||||
"outputs": [],
|
||||
"stateMutability": "payable",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"refundETH()": "12210e8a",
|
||||
"sweepToken(address,uint256,address)": "df2ab5bb",
|
||||
"unwrapWETH9(uint256,address)": "49404b7c"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"refundETH\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"sweepToken\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amountMinimum\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"}],\"name\":\"unwrapWETH9\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"refundETH()\":{\"details\":\"Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount\"},\"sweepToken(address,uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing the token from users\",\"params\":{\"amountMinimum\":\"The minimum amount of token required for a transfer\",\"recipient\":\"The destination address of the token\",\"token\":\"The contract address of the token which will be transferred to `recipient`\"}},\"unwrapWETH9(uint256,address)\":{\"details\":\"The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.\",\"params\":{\"amountMinimum\":\"The minimum amount of WETH9 to unwrap\",\"recipient\":\"The address receiving ETH\"}}},\"title\":\"Periphery Payments\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"refundETH()\":{\"notice\":\"Refunds any ETH balance held by this contract to the `msg.sender`\"},\"sweepToken(address,uint256,address)\":{\"notice\":\"Transfers the full amount of a token held by this contract to recipient\"},\"unwrapWETH9(uint256,address)\":{\"notice\":\"Unwraps the contract's WETH9 balance and sends it to recipient as ETH.\"}},\"notice\":\"Functions to ease deposits and withdrawals of ETH\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":\"IPeripheryPayments\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "payable",
|
||||
"type": "function",
|
||||
"name": "refundETH"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "token",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amountMinimum",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "payable",
|
||||
"type": "function",
|
||||
"name": "sweepToken"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint256",
|
||||
"name": "amountMinimum",
|
||||
"type": "uint256"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "payable",
|
||||
"type": "function",
|
||||
"name": "unwrapWETH9"
|
||||
}
|
||||
],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {
|
||||
"refundETH()": {
|
||||
"details": "Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps that use ether for the input amount"
|
||||
},
|
||||
"sweepToken(address,uint256,address)": {
|
||||
"details": "The amountMinimum parameter prevents malicious contracts from stealing the token from users",
|
||||
"params": {
|
||||
"amountMinimum": "The minimum amount of token required for a transfer",
|
||||
"recipient": "The destination address of the token",
|
||||
"token": "The contract address of the token which will be transferred to `recipient`"
|
||||
}
|
||||
},
|
||||
"unwrapWETH9(uint256,address)": {
|
||||
"details": "The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.",
|
||||
"params": {
|
||||
"amountMinimum": "The minimum amount of WETH9 to unwrap",
|
||||
"recipient": "The address receiving ETH"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {
|
||||
"refundETH()": {
|
||||
"notice": "Refunds any ETH balance held by this contract to the `msg.sender`"
|
||||
},
|
||||
"sweepToken(address,uint256,address)": {
|
||||
"notice": "Transfers the full amount of a token held by this contract to recipient"
|
||||
},
|
||||
"unwrapWETH9(uint256,address)": {
|
||||
"notice": "Unwraps the contract's WETH9 balance and sends it to recipient as ETH."
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": "IPeripheryPayments"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol": {
|
||||
"keccak256": "0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274",
|
||||
"urls": [
|
||||
"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407",
|
||||
"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp"
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol",
|
||||
"id": 45336,
|
||||
"exportedSymbols": {
|
||||
"IPeripheryPayments": [
|
||||
45335
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "45:1379:42",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 45311,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "45:24:42",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.7",
|
||||
".5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 45335,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "163:1260:42",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 45320,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "505:80:42",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 45313,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "198:302:42",
|
||||
"text": "@notice Unwraps the contract's WETH9 balance and sends it to recipient as ETH.\n @dev The amountMinimum parameter prevents malicious contracts from stealing WETH9 from users.\n @param amountMinimum The minimum amount of WETH9 to unwrap\n @param recipient The address receiving ETH"
|
||||
},
|
||||
"functionSelector": "49404b7c",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "unwrapWETH9",
|
||||
"nameLocation": "514:11:42",
|
||||
"parameters": {
|
||||
"id": 45318,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45315,
|
||||
"mutability": "mutable",
|
||||
"name": "amountMinimum",
|
||||
"nameLocation": "534:13:42",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45320,
|
||||
"src": "526:21:42",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45314,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "526:7:42",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45317,
|
||||
"mutability": "mutable",
|
||||
"name": "recipient",
|
||||
"nameLocation": "557:9:42",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45320,
|
||||
"src": "549:17:42",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45316,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "549:7:42",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "525:42:42"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 45319,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "584:0:42"
|
||||
},
|
||||
"scope": 45335,
|
||||
"stateMutability": "payable",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 45324,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "821:38:42",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 45321,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "591:225:42",
|
||||
"text": "@notice Refunds any ETH balance held by this contract to the `msg.sender`\n @dev Useful for bundling with mint or increase liquidity that uses ether, or exact output swaps\n that use ether for the input amount"
|
||||
},
|
||||
"functionSelector": "12210e8a",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "refundETH",
|
||||
"nameLocation": "830:9:42",
|
||||
"parameters": {
|
||||
"id": 45322,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "839:2:42"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 45323,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "858:0:42"
|
||||
},
|
||||
"scope": 45335,
|
||||
"stateMutability": "payable",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 45334,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "1297:124:42",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 45325,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "865:427:42",
|
||||
"text": "@notice Transfers the full amount of a token held by this contract to recipient\n @dev The amountMinimum parameter prevents malicious contracts from stealing the token from users\n @param token The contract address of the token which will be transferred to `recipient`\n @param amountMinimum The minimum amount of token required for a transfer\n @param recipient The destination address of the token"
|
||||
},
|
||||
"functionSelector": "df2ab5bb",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "sweepToken",
|
||||
"nameLocation": "1306:10:42",
|
||||
"parameters": {
|
||||
"id": 45332,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45327,
|
||||
"mutability": "mutable",
|
||||
"name": "token",
|
||||
"nameLocation": "1334:5:42",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45334,
|
||||
"src": "1326:13:42",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45326,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1326:7:42",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45329,
|
||||
"mutability": "mutable",
|
||||
"name": "amountMinimum",
|
||||
"nameLocation": "1357:13:42",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45334,
|
||||
"src": "1349:21:42",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45328,
|
||||
"name": "uint256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1349:7:42",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint256",
|
||||
"typeString": "uint256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45331,
|
||||
"mutability": "mutable",
|
||||
"name": "recipient",
|
||||
"nameLocation": "1388:9:42",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45334,
|
||||
"src": "1380:17:42",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45330,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1380:7:42",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1316:87:42"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 45333,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "1420:0:42"
|
||||
},
|
||||
"scope": 45335,
|
||||
"stateMutability": "payable",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "IPeripheryPayments",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "interface",
|
||||
"documentation": {
|
||||
"id": 45312,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "71:92:42",
|
||||
"text": "@title Periphery Payments\n @notice Functions to ease deposits and withdrawals of ETH"
|
||||
},
|
||||
"fullyImplemented": false,
|
||||
"linearizedBaseContracts": [
|
||||
45335
|
||||
],
|
||||
"name": "IPeripheryPayments",
|
||||
"nameLocation": "173:18:42",
|
||||
"scope": 45336,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
},
|
||||
"id": 42
|
||||
}
|
||||
408
deployment/alpha/out/IPoolInitializer.sol/IPoolInitializer.json
Normal file
408
deployment/alpha/out/IPoolInitializer.sol/IPoolInitializer.json
Normal file
@@ -0,0 +1,408 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "token0",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "token1",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint24",
|
||||
"name": "fee",
|
||||
"type": "uint24"
|
||||
},
|
||||
{
|
||||
"internalType": "uint160",
|
||||
"name": "sqrtPriceX96",
|
||||
"type": "uint160"
|
||||
}
|
||||
],
|
||||
"name": "createAndInitializePoolIfNecessary",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "pool",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "payable",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"createAndInitializePoolIfNecessary(address,address,uint24,uint160)": "13ead562"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"token0\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"token1\",\"type\":\"address\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"},{\"internalType\":\"uint160\",\"name\":\"sqrtPriceX96\",\"type\":\"uint160\"}],\"name\":\"createAndInitializePoolIfNecessary\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"pool\",\"type\":\"address\"}],\"stateMutability\":\"payable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"details\":\"This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool\",\"params\":{\"fee\":\"The fee amount of the v3 pool for the specified token pair\",\"sqrtPriceX96\":\"The initial square root price of the pool as a Q64.96 value\",\"token0\":\"The contract address of token0 of the pool\",\"token1\":\"The contract address of token1 of the pool\"},\"returns\":{\"pool\":\"Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary\"}}},\"title\":\"Creates and initializes V3 Pools\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"createAndInitializePoolIfNecessary(address,address,uint24,uint160)\":{\"notice\":\"Creates a new pool if it does not exist, then initializes if not initialized\"}},\"notice\":\"Provides a method for creating and initializing a pool, if necessary, for bundling with other methods that require the pool to exist.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":\"IPoolInitializer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "token0",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "token1",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint24",
|
||||
"name": "fee",
|
||||
"type": "uint24"
|
||||
},
|
||||
{
|
||||
"internalType": "uint160",
|
||||
"name": "sqrtPriceX96",
|
||||
"type": "uint160"
|
||||
}
|
||||
],
|
||||
"stateMutability": "payable",
|
||||
"type": "function",
|
||||
"name": "createAndInitializePoolIfNecessary",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "pool",
|
||||
"type": "address"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {
|
||||
"createAndInitializePoolIfNecessary(address,address,uint24,uint160)": {
|
||||
"details": "This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool",
|
||||
"params": {
|
||||
"fee": "The fee amount of the v3 pool for the specified token pair",
|
||||
"sqrtPriceX96": "The initial square root price of the pool as a Q64.96 value",
|
||||
"token0": "The contract address of token0 of the pool",
|
||||
"token1": "The contract address of token1 of the pool"
|
||||
},
|
||||
"returns": {
|
||||
"pool": "Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {
|
||||
"createAndInitializePoolIfNecessary(address,address,uint24,uint160)": {
|
||||
"notice": "Creates a new pool if it does not exist, then initializes if not initialized"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": "IPoolInitializer"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol": {
|
||||
"keccak256": "0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862",
|
||||
"urls": [
|
||||
"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f",
|
||||
"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu"
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol",
|
||||
"id": 45355,
|
||||
"exportedSymbols": {
|
||||
"IPoolInitializer": [
|
||||
45354
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "45:1117:43",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 45337,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "45:24:43",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.7",
|
||||
".5"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 45338,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "70:19:43",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"abicoder",
|
||||
"v2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 45354,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "285:876:43",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 45353,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "971:188:43",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 45340,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "318:648:43",
|
||||
"text": "@notice Creates a new pool if it does not exist, then initializes if not initialized\n @dev This method can be bundled with others via IMulticall for the first action (e.g. mint) performed against a pool\n @param token0 The contract address of token0 of the pool\n @param token1 The contract address of token1 of the pool\n @param fee The fee amount of the v3 pool for the specified token pair\n @param sqrtPriceX96 The initial square root price of the pool as a Q64.96 value\n @return pool Returns the pool address based on the pair of tokens and fee, will return the newly created pool address if necessary"
|
||||
},
|
||||
"functionSelector": "13ead562",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "createAndInitializePoolIfNecessary",
|
||||
"nameLocation": "980:34:43",
|
||||
"parameters": {
|
||||
"id": 45349,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45342,
|
||||
"mutability": "mutable",
|
||||
"name": "token0",
|
||||
"nameLocation": "1032:6:43",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45353,
|
||||
"src": "1024:14:43",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45341,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1024:7:43",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45344,
|
||||
"mutability": "mutable",
|
||||
"name": "token1",
|
||||
"nameLocation": "1056:6:43",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45353,
|
||||
"src": "1048:14:43",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45343,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1048:7:43",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45346,
|
||||
"mutability": "mutable",
|
||||
"name": "fee",
|
||||
"nameLocation": "1079:3:43",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45353,
|
||||
"src": "1072:10:43",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint24",
|
||||
"typeString": "uint24"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45345,
|
||||
"name": "uint24",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1072:6:43",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint24",
|
||||
"typeString": "uint24"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45348,
|
||||
"mutability": "mutable",
|
||||
"name": "sqrtPriceX96",
|
||||
"nameLocation": "1100:12:43",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45353,
|
||||
"src": "1092:20:43",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint160",
|
||||
"typeString": "uint160"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45347,
|
||||
"name": "uint160",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1092:7:43",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint160",
|
||||
"typeString": "uint160"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1014:104:43"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 45352,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 45351,
|
||||
"mutability": "mutable",
|
||||
"name": "pool",
|
||||
"nameLocation": "1153:4:43",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 45353,
|
||||
"src": "1145:12:43",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 45350,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1145:7:43",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1144:14:43"
|
||||
},
|
||||
"scope": 45354,
|
||||
"stateMutability": "payable",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "IPoolInitializer",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "interface",
|
||||
"documentation": {
|
||||
"id": 45339,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "91:194:43",
|
||||
"text": "@title Creates and initializes V3 Pools\n @notice Provides a method for creating and initializing a pool, if necessary, for bundling with other methods that\n require the pool to exist."
|
||||
},
|
||||
"fullyImplemented": false,
|
||||
"linearizedBaseContracts": [
|
||||
45354
|
||||
],
|
||||
"name": "IPoolInitializer",
|
||||
"nameLocation": "295:16:43",
|
||||
"scope": 45355,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
},
|
||||
"id": 43
|
||||
}
|
||||
1886
deployment/alpha/out/ISwapRouter.sol/ISwapRouter.json
Normal file
1886
deployment/alpha/out/ISwapRouter.sol/ISwapRouter.json
Normal file
File diff suppressed because one or more lines are too long
1533
deployment/alpha/out/IUniswapV3Factory.sol/IUniswapV3Factory.json
Normal file
1533
deployment/alpha/out/IUniswapV3Factory.sol/IUniswapV3Factory.json
Normal file
File diff suppressed because one or more lines are too long
2640
deployment/alpha/out/IUniswapV3Pool.sol/IUniswapV3Pool.json
Normal file
2640
deployment/alpha/out/IUniswapV3Pool.sol/IUniswapV3Pool.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,601 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint32[]",
|
||||
"name": "secondsAgos",
|
||||
"type": "uint32[]"
|
||||
}
|
||||
],
|
||||
"name": "observe",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "int56[]",
|
||||
"name": "tickCumulatives",
|
||||
"type": "int56[]"
|
||||
},
|
||||
{
|
||||
"internalType": "uint160[]",
|
||||
"name": "secondsPerLiquidityCumulativeX128s",
|
||||
"type": "uint160[]"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "tickLower",
|
||||
"type": "int24"
|
||||
},
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "tickUpper",
|
||||
"type": "int24"
|
||||
}
|
||||
],
|
||||
"name": "snapshotCumulativesInside",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "int56",
|
||||
"name": "tickCumulativeInside",
|
||||
"type": "int56"
|
||||
},
|
||||
{
|
||||
"internalType": "uint160",
|
||||
"name": "secondsPerLiquidityInsideX128",
|
||||
"type": "uint160"
|
||||
},
|
||||
{
|
||||
"internalType": "uint32",
|
||||
"name": "secondsInside",
|
||||
"type": "uint32"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"observe(uint32[])": "883bdbfd",
|
||||
"snapshotCumulativesInside(int24,int24)": "a38807f2"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"uint32[]\",\"name\":\"secondsAgos\",\"type\":\"uint32[]\"}],\"name\":\"observe\",\"outputs\":[{\"internalType\":\"int56[]\",\"name\":\"tickCumulatives\",\"type\":\"int56[]\"},{\"internalType\":\"uint160[]\",\"name\":\"secondsPerLiquidityCumulativeX128s\",\"type\":\"uint160[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tickLower\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"tickUpper\",\"type\":\"int24\"}],\"name\":\"snapshotCumulativesInside\",\"outputs\":[{\"internalType\":\"int56\",\"name\":\"tickCumulativeInside\",\"type\":\"int56\"},{\"internalType\":\"uint160\",\"name\":\"secondsPerLiquidityInsideX128\",\"type\":\"uint160\"},{\"internalType\":\"uint32\",\"name\":\"secondsInside\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"observe(uint32[])\":{\"details\":\"To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.\",\"params\":{\"secondsAgos\":\"From how long ago each cumulative tick and liquidity value should be returned\"},\"returns\":{\"secondsPerLiquidityCumulativeX128s\":\"Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp\",\"tickCumulatives\":\"Cumulative tick values as of each `secondsAgos` from the current block timestamp\"}},\"snapshotCumulativesInside(int24,int24)\":{\"details\":\"Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.\",\"params\":{\"tickLower\":\"The lower tick of the range\",\"tickUpper\":\"The upper tick of the range\"},\"returns\":{\"secondsInside\":\"The snapshot of seconds per liquidity for the range\",\"secondsPerLiquidityInsideX128\":\"The snapshot of seconds per liquidity for the range\",\"tickCumulativeInside\":\"The snapshot of the tick accumulator for the range\"}}},\"title\":\"Pool state that is not stored\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"observe(uint32[])\":{\"notice\":\"Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp\"},\"snapshotCumulativesInside(int24,int24)\":{\"notice\":\"Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range\"}},\"notice\":\"Contains view functions to provide information about the pool that is computed rather than stored on the blockchain. The functions here may have variable gas costs.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":\"IUniswapV3PoolDerivedState\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint32[]",
|
||||
"name": "secondsAgos",
|
||||
"type": "uint32[]"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "observe",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "int56[]",
|
||||
"name": "tickCumulatives",
|
||||
"type": "int56[]"
|
||||
},
|
||||
{
|
||||
"internalType": "uint160[]",
|
||||
"name": "secondsPerLiquidityCumulativeX128s",
|
||||
"type": "uint160[]"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "tickLower",
|
||||
"type": "int24"
|
||||
},
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "tickUpper",
|
||||
"type": "int24"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "snapshotCumulativesInside",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "int56",
|
||||
"name": "tickCumulativeInside",
|
||||
"type": "int56"
|
||||
},
|
||||
{
|
||||
"internalType": "uint160",
|
||||
"name": "secondsPerLiquidityInsideX128",
|
||||
"type": "uint160"
|
||||
},
|
||||
{
|
||||
"internalType": "uint32",
|
||||
"name": "secondsInside",
|
||||
"type": "uint32"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {
|
||||
"observe(uint32[])": {
|
||||
"details": "To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick, you must call it with secondsAgos = [3600, 0].The time weighted average tick represents the geometric time weighted average price of the pool, in log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.",
|
||||
"params": {
|
||||
"secondsAgos": "From how long ago each cumulative tick and liquidity value should be returned"
|
||||
},
|
||||
"returns": {
|
||||
"secondsPerLiquidityCumulativeX128s": "Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block timestamp",
|
||||
"tickCumulatives": "Cumulative tick values as of each `secondsAgos` from the current block timestamp"
|
||||
}
|
||||
},
|
||||
"snapshotCumulativesInside(int24,int24)": {
|
||||
"details": "Snapshots must only be compared to other snapshots, taken over a period for which a position existed. I.e., snapshots cannot be compared if a position is not held for the entire period between when the first snapshot is taken and the second snapshot is taken.",
|
||||
"params": {
|
||||
"tickLower": "The lower tick of the range",
|
||||
"tickUpper": "The upper tick of the range"
|
||||
},
|
||||
"returns": {
|
||||
"secondsInside": "The snapshot of seconds per liquidity for the range",
|
||||
"secondsPerLiquidityInsideX128": "The snapshot of seconds per liquidity for the range",
|
||||
"tickCumulativeInside": "The snapshot of the tick accumulator for the range"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {
|
||||
"observe(uint32[])": {
|
||||
"notice": "Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp"
|
||||
},
|
||||
"snapshotCumulativesInside(int24,int24)": {
|
||||
"notice": "Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": "IUniswapV3PoolDerivedState"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol": {
|
||||
"keccak256": "0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5",
|
||||
"urls": [
|
||||
"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7",
|
||||
"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol",
|
||||
"id": 44036,
|
||||
"exportedSymbols": {
|
||||
"IUniswapV3PoolDerivedState": [
|
||||
44035
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "45:2557:31",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 44006,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "45:24:31",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.5",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 44035,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "293:2308:31",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 44020,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "1386:180:31",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44008,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "336:1045:31",
|
||||
"text": "@notice Returns the cumulative tick and liquidity as of each timestamp `secondsAgo` from the current block timestamp\n @dev To get a time weighted average tick or liquidity-in-range, you must call this with two values, one representing\n the beginning of the period and another for the end of the period. E.g., to get the last hour time-weighted average tick,\n you must call it with secondsAgos = [3600, 0].\n @dev The time weighted average tick represents the geometric time weighted average price of the pool, in\n log base sqrt(1.0001) of token1 / token0. The TickMath library can be used to go from a tick value to a ratio.\n @param secondsAgos From how long ago each cumulative tick and liquidity value should be returned\n @return tickCumulatives Cumulative tick values as of each `secondsAgos` from the current block timestamp\n @return secondsPerLiquidityCumulativeX128s Cumulative seconds per liquidity-in-range value as of each `secondsAgos` from the current block\n timestamp"
|
||||
},
|
||||
"functionSelector": "883bdbfd",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "observe",
|
||||
"nameLocation": "1395:7:31",
|
||||
"parameters": {
|
||||
"id": 44012,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44011,
|
||||
"mutability": "mutable",
|
||||
"name": "secondsAgos",
|
||||
"nameLocation": "1421:11:31",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44020,
|
||||
"src": "1403:29:31",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "calldata",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint32_$dyn_calldata_ptr",
|
||||
"typeString": "uint32[]"
|
||||
},
|
||||
"typeName": {
|
||||
"baseType": {
|
||||
"id": 44009,
|
||||
"name": "uint32",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1403:6:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint32",
|
||||
"typeString": "uint32"
|
||||
}
|
||||
},
|
||||
"id": 44010,
|
||||
"nodeType": "ArrayTypeName",
|
||||
"src": "1403:8:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint32_$dyn_storage_ptr",
|
||||
"typeString": "uint32[]"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1402:31:31"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44019,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44015,
|
||||
"mutability": "mutable",
|
||||
"name": "tickCumulatives",
|
||||
"nameLocation": "1496:15:31",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44020,
|
||||
"src": "1481:30:31",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "memory",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_int56_$dyn_memory_ptr",
|
||||
"typeString": "int56[]"
|
||||
},
|
||||
"typeName": {
|
||||
"baseType": {
|
||||
"id": 44013,
|
||||
"name": "int56",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1481:5:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int56",
|
||||
"typeString": "int56"
|
||||
}
|
||||
},
|
||||
"id": 44014,
|
||||
"nodeType": "ArrayTypeName",
|
||||
"src": "1481:7:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_int56_$dyn_storage_ptr",
|
||||
"typeString": "int56[]"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44018,
|
||||
"mutability": "mutable",
|
||||
"name": "secondsPerLiquidityCumulativeX128s",
|
||||
"nameLocation": "1530:34:31",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44020,
|
||||
"src": "1513:51:31",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "memory",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint160_$dyn_memory_ptr",
|
||||
"typeString": "uint160[]"
|
||||
},
|
||||
"typeName": {
|
||||
"baseType": {
|
||||
"id": 44016,
|
||||
"name": "uint160",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1513:7:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint160",
|
||||
"typeString": "uint160"
|
||||
}
|
||||
},
|
||||
"id": 44017,
|
||||
"nodeType": "ArrayTypeName",
|
||||
"src": "1513:9:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_array$_t_uint160_$dyn_storage_ptr",
|
||||
"typeString": "uint160[]"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1480:85:31"
|
||||
},
|
||||
"scope": 44035,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 44034,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "2348:251:31",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44021,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "1572:771:31",
|
||||
"text": "@notice Returns a snapshot of the tick cumulative, seconds per liquidity and seconds inside a tick range\n @dev Snapshots must only be compared to other snapshots, taken over a period for which a position existed.\n I.e., snapshots cannot be compared if a position is not held for the entire period between when the first\n snapshot is taken and the second snapshot is taken.\n @param tickLower The lower tick of the range\n @param tickUpper The upper tick of the range\n @return tickCumulativeInside The snapshot of the tick accumulator for the range\n @return secondsPerLiquidityInsideX128 The snapshot of seconds per liquidity for the range\n @return secondsInside The snapshot of seconds per liquidity for the range"
|
||||
},
|
||||
"functionSelector": "a38807f2",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "snapshotCumulativesInside",
|
||||
"nameLocation": "2357:25:31",
|
||||
"parameters": {
|
||||
"id": 44026,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44023,
|
||||
"mutability": "mutable",
|
||||
"name": "tickLower",
|
||||
"nameLocation": "2389:9:31",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44034,
|
||||
"src": "2383:15:31",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44022,
|
||||
"name": "int24",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "2383:5:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44025,
|
||||
"mutability": "mutable",
|
||||
"name": "tickUpper",
|
||||
"nameLocation": "2406:9:31",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44034,
|
||||
"src": "2400:15:31",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44024,
|
||||
"name": "int24",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "2400:5:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "2382:34:31"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44033,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44028,
|
||||
"mutability": "mutable",
|
||||
"name": "tickCumulativeInside",
|
||||
"nameLocation": "2483:20:31",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44034,
|
||||
"src": "2477:26:31",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int56",
|
||||
"typeString": "int56"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44027,
|
||||
"name": "int56",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "2477:5:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int56",
|
||||
"typeString": "int56"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44030,
|
||||
"mutability": "mutable",
|
||||
"name": "secondsPerLiquidityInsideX128",
|
||||
"nameLocation": "2525:29:31",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44034,
|
||||
"src": "2517:37:31",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint160",
|
||||
"typeString": "uint160"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44029,
|
||||
"name": "uint160",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "2517:7:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint160",
|
||||
"typeString": "uint160"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44032,
|
||||
"mutability": "mutable",
|
||||
"name": "secondsInside",
|
||||
"nameLocation": "2575:13:31",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44034,
|
||||
"src": "2568:20:31",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint32",
|
||||
"typeString": "uint32"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44031,
|
||||
"name": "uint32",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "2568:6:31",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint32",
|
||||
"typeString": "uint32"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "2463:135:31"
|
||||
},
|
||||
"scope": 44035,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "IUniswapV3PoolDerivedState",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "interface",
|
||||
"documentation": {
|
||||
"id": 44007,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "71:222:31",
|
||||
"text": "@title Pool state that is not stored\n @notice Contains view functions to provide information about the pool that is computed rather than stored on the\n blockchain. The functions here may have variable gas costs."
|
||||
},
|
||||
"fullyImplemented": false,
|
||||
"linearizedBaseContracts": [
|
||||
44035
|
||||
],
|
||||
"name": "IUniswapV3PoolDerivedState",
|
||||
"nameLocation": "303:26:31",
|
||||
"scope": 44036,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
},
|
||||
"id": 31
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,727 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "factory",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "fee",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint24",
|
||||
"name": "",
|
||||
"type": "uint24"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "maxLiquidityPerTick",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "",
|
||||
"type": "uint128"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "tickSpacing",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "",
|
||||
"type": "int24"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "token0",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "token1",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"factory()": "c45a0155",
|
||||
"fee()": "ddca3f43",
|
||||
"maxLiquidityPerTick()": "70cf754a",
|
||||
"tickSpacing()": "d0c93a7c",
|
||||
"token0()": "0dfe1681",
|
||||
"token1()": "d21220a7"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"factory\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"fee\",\"outputs\":[{\"internalType\":\"uint24\",\"name\":\"\",\"type\":\"uint24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"maxLiquidityPerTick\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"\",\"type\":\"uint128\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tickSpacing\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token0\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"token1\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"factory()\":{\"returns\":{\"_0\":\"The contract address\"}},\"fee()\":{\"returns\":{\"_0\":\"The fee\"}},\"maxLiquidityPerTick()\":{\"details\":\"This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool\",\"returns\":{\"_0\":\"The max amount of liquidity per tick\"}},\"tickSpacing()\":{\"details\":\"Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.\",\"returns\":{\"_0\":\"The tick spacing\"}},\"token0()\":{\"returns\":{\"_0\":\"The token contract address\"}},\"token1()\":{\"returns\":{\"_0\":\"The token contract address\"}}},\"title\":\"Pool state that never changes\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"factory()\":{\"notice\":\"The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface\"},\"fee()\":{\"notice\":\"The pool's fee in hundredths of a bip, i.e. 1e-6\"},\"maxLiquidityPerTick()\":{\"notice\":\"The maximum amount of position liquidity that can use any tick in the range\"},\"tickSpacing()\":{\"notice\":\"The pool tick spacing\"},\"token0()\":{\"notice\":\"The first of the two tokens of the pool, sorted by address\"},\"token1()\":{\"notice\":\"The second of the two tokens of the pool, sorted by address\"}},\"notice\":\"These parameters are fixed for a pool forever, i.e., the methods will always return the same values\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":\"IUniswapV3PoolImmutables\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "factory",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "fee",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint24",
|
||||
"name": "",
|
||||
"type": "uint24"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "maxLiquidityPerTick",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "",
|
||||
"type": "uint128"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "tickSpacing",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "",
|
||||
"type": "int24"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "token0",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "token1",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "",
|
||||
"type": "address"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {
|
||||
"factory()": {
|
||||
"returns": {
|
||||
"_0": "The contract address"
|
||||
}
|
||||
},
|
||||
"fee()": {
|
||||
"returns": {
|
||||
"_0": "The fee"
|
||||
}
|
||||
},
|
||||
"maxLiquidityPerTick()": {
|
||||
"details": "This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool",
|
||||
"returns": {
|
||||
"_0": "The max amount of liquidity per tick"
|
||||
}
|
||||
},
|
||||
"tickSpacing()": {
|
||||
"details": "Ticks can only be used at multiples of this value, minimum of 1 and always positive e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ... This value is an int24 to avoid casting even though it is always positive.",
|
||||
"returns": {
|
||||
"_0": "The tick spacing"
|
||||
}
|
||||
},
|
||||
"token0()": {
|
||||
"returns": {
|
||||
"_0": "The token contract address"
|
||||
}
|
||||
},
|
||||
"token1()": {
|
||||
"returns": {
|
||||
"_0": "The token contract address"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {
|
||||
"factory()": {
|
||||
"notice": "The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface"
|
||||
},
|
||||
"fee()": {
|
||||
"notice": "The pool's fee in hundredths of a bip, i.e. 1e-6"
|
||||
},
|
||||
"maxLiquidityPerTick()": {
|
||||
"notice": "The maximum amount of position liquidity that can use any tick in the range"
|
||||
},
|
||||
"tickSpacing()": {
|
||||
"notice": "The pool tick spacing"
|
||||
},
|
||||
"token0()": {
|
||||
"notice": "The first of the two tokens of the pool, sorted by address"
|
||||
},
|
||||
"token1()": {
|
||||
"notice": "The second of the two tokens of the pool, sorted by address"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": "IUniswapV3PoolImmutables"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol": {
|
||||
"keccak256": "0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7",
|
||||
"urls": [
|
||||
"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047",
|
||||
"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol",
|
||||
"id": 44195,
|
||||
"exportedSymbols": {
|
||||
"IUniswapV3PoolImmutables": [
|
||||
44194
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "45:1766:33",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 44156,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "45:24:33",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.5",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 44194,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "224:1586:33",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 44163,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "408:51:33",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44158,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "265:138:33",
|
||||
"text": "@notice The contract that deployed the pool, which must adhere to the IUniswapV3Factory interface\n @return The contract address"
|
||||
},
|
||||
"functionSelector": "c45a0155",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "factory",
|
||||
"nameLocation": "417:7:33",
|
||||
"parameters": {
|
||||
"id": 44159,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "424:2:33"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44162,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44161,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44163,
|
||||
"src": "450:7:33",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44160,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "450:7:33",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "449:9:33"
|
||||
},
|
||||
"scope": 44194,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 44169,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "583:50:33",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44164,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "465:113:33",
|
||||
"text": "@notice The first of the two tokens of the pool, sorted by address\n @return The token contract address"
|
||||
},
|
||||
"functionSelector": "0dfe1681",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "token0",
|
||||
"nameLocation": "592:6:33",
|
||||
"parameters": {
|
||||
"id": 44165,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "598:2:33"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44168,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44167,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44169,
|
||||
"src": "624:7:33",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44166,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "624:7:33",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "623:9:33"
|
||||
},
|
||||
"scope": 44194,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 44175,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "758:50:33",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44170,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "639:114:33",
|
||||
"text": "@notice The second of the two tokens of the pool, sorted by address\n @return The token contract address"
|
||||
},
|
||||
"functionSelector": "d21220a7",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "token1",
|
||||
"nameLocation": "767:6:33",
|
||||
"parameters": {
|
||||
"id": 44171,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "773:2:33"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44174,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44173,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44175,
|
||||
"src": "799:7:33",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44172,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "799:7:33",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "798:9:33"
|
||||
},
|
||||
"scope": 44194,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 44181,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "903:46:33",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44176,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "814:84:33",
|
||||
"text": "@notice The pool's fee in hundredths of a bip, i.e. 1e-6\n @return The fee"
|
||||
},
|
||||
"functionSelector": "ddca3f43",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "fee",
|
||||
"nameLocation": "912:3:33",
|
||||
"parameters": {
|
||||
"id": 44177,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "915:2:33"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44180,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44179,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44181,
|
||||
"src": "941:6:33",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint24",
|
||||
"typeString": "uint24"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44178,
|
||||
"name": "uint24",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "941:6:33",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint24",
|
||||
"typeString": "uint24"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "940:8:33"
|
||||
},
|
||||
"scope": 44194,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 44187,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "1318:53:33",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44182,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "955:358:33",
|
||||
"text": "@notice The pool tick spacing\n @dev Ticks can only be used at multiples of this value, minimum of 1 and always positive\n e.g.: a tickSpacing of 3 means ticks can be initialized every 3rd tick, i.e., ..., -6, -3, 0, 3, 6, ...\n This value is an int24 to avoid casting even though it is always positive.\n @return The tick spacing"
|
||||
},
|
||||
"functionSelector": "d0c93a7c",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "tickSpacing",
|
||||
"nameLocation": "1327:11:33",
|
||||
"parameters": {
|
||||
"id": 44183,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "1338:2:33"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44186,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44185,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44187,
|
||||
"src": "1364:5:33",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44184,
|
||||
"name": "int24",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1364:5:33",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1363:7:33"
|
||||
},
|
||||
"scope": 44194,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 44193,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "1745:63:33",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44188,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "1377:363:33",
|
||||
"text": "@notice The maximum amount of position liquidity that can use any tick in the range\n @dev This parameter is enforced per tick to prevent liquidity from overflowing a uint128 at any point, and\n also prevents out-of-range liquidity from being used to prevent adding in-range liquidity to a pool\n @return The max amount of liquidity per tick"
|
||||
},
|
||||
"functionSelector": "70cf754a",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "maxLiquidityPerTick",
|
||||
"nameLocation": "1754:19:33",
|
||||
"parameters": {
|
||||
"id": 44189,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "1773:2:33"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44192,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44191,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44193,
|
||||
"src": "1799:7:33",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44190,
|
||||
"name": "uint128",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1799:7:33",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1798:9:33"
|
||||
},
|
||||
"scope": 44194,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "IUniswapV3PoolImmutables",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "interface",
|
||||
"documentation": {
|
||||
"id": 44157,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "71:153:33",
|
||||
"text": "@title Pool state that never changes\n @notice These parameters are fixed for a pool forever, i.e., the methods will always return the same values"
|
||||
},
|
||||
"fullyImplemented": false,
|
||||
"linearizedBaseContracts": [
|
||||
44194
|
||||
],
|
||||
"name": "IUniswapV3PoolImmutables",
|
||||
"nameLocation": "234:24:33",
|
||||
"scope": 44195,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
},
|
||||
"id": 33
|
||||
}
|
||||
@@ -0,0 +1,529 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "amount0Requested",
|
||||
"type": "uint128"
|
||||
},
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "amount1Requested",
|
||||
"type": "uint128"
|
||||
}
|
||||
],
|
||||
"name": "collectProtocol",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "amount0",
|
||||
"type": "uint128"
|
||||
},
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "amount1",
|
||||
"type": "uint128"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint8",
|
||||
"name": "feeProtocol0",
|
||||
"type": "uint8"
|
||||
},
|
||||
{
|
||||
"internalType": "uint8",
|
||||
"name": "feeProtocol1",
|
||||
"type": "uint8"
|
||||
}
|
||||
],
|
||||
"name": "setFeeProtocol",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"collectProtocol(address,uint128,uint128)": "85b66729",
|
||||
"setFeeProtocol(uint8,uint8)": "8206a4d1"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint128\",\"name\":\"amount0Requested\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1Requested\",\"type\":\"uint128\"}],\"name\":\"collectProtocol\",\"outputs\":[{\"internalType\":\"uint128\",\"name\":\"amount0\",\"type\":\"uint128\"},{\"internalType\":\"uint128\",\"name\":\"amount1\",\"type\":\"uint128\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"feeProtocol0\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"feeProtocol1\",\"type\":\"uint8\"}],\"name\":\"setFeeProtocol\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"collectProtocol(address,uint128,uint128)\":{\"params\":{\"amount0Requested\":\"The maximum amount of token0 to send, can be 0 to collect fees in only token1\",\"amount1Requested\":\"The maximum amount of token1 to send, can be 0 to collect fees in only token0\",\"recipient\":\"The address to which collected protocol fees should be sent\"},\"returns\":{\"amount0\":\"The protocol fee collected in token0\",\"amount1\":\"The protocol fee collected in token1\"}},\"setFeeProtocol(uint8,uint8)\":{\"params\":{\"feeProtocol0\":\"new protocol fee for token0 of the pool\",\"feeProtocol1\":\"new protocol fee for token1 of the pool\"}}},\"title\":\"Permissioned pool actions\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"collectProtocol(address,uint128,uint128)\":{\"notice\":\"Collect the protocol fee accrued to the pool\"},\"setFeeProtocol(uint8,uint8)\":{\"notice\":\"Set the denominator of the protocol's % share of the fees\"}},\"notice\":\"Contains pool methods that may only be called by the factory owner\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":\"IUniswapV3PoolOwnerActions\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "recipient",
|
||||
"type": "address"
|
||||
},
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "amount0Requested",
|
||||
"type": "uint128"
|
||||
},
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "amount1Requested",
|
||||
"type": "uint128"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function",
|
||||
"name": "collectProtocol",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "amount0",
|
||||
"type": "uint128"
|
||||
},
|
||||
{
|
||||
"internalType": "uint128",
|
||||
"name": "amount1",
|
||||
"type": "uint128"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "uint8",
|
||||
"name": "feeProtocol0",
|
||||
"type": "uint8"
|
||||
},
|
||||
{
|
||||
"internalType": "uint8",
|
||||
"name": "feeProtocol1",
|
||||
"type": "uint8"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function",
|
||||
"name": "setFeeProtocol"
|
||||
}
|
||||
],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {
|
||||
"collectProtocol(address,uint128,uint128)": {
|
||||
"params": {
|
||||
"amount0Requested": "The maximum amount of token0 to send, can be 0 to collect fees in only token1",
|
||||
"amount1Requested": "The maximum amount of token1 to send, can be 0 to collect fees in only token0",
|
||||
"recipient": "The address to which collected protocol fees should be sent"
|
||||
},
|
||||
"returns": {
|
||||
"amount0": "The protocol fee collected in token0",
|
||||
"amount1": "The protocol fee collected in token1"
|
||||
}
|
||||
},
|
||||
"setFeeProtocol(uint8,uint8)": {
|
||||
"params": {
|
||||
"feeProtocol0": "new protocol fee for token0 of the pool",
|
||||
"feeProtocol1": "new protocol fee for token1 of the pool"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {
|
||||
"collectProtocol(address,uint128,uint128)": {
|
||||
"notice": "Collect the protocol fee accrued to the pool"
|
||||
},
|
||||
"setFeeProtocol(uint8,uint8)": {
|
||||
"notice": "Set the denominator of the protocol's % share of the fees"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": "IUniswapV3PoolOwnerActions"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol": {
|
||||
"keccak256": "0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235",
|
||||
"urls": [
|
||||
"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735",
|
||||
"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol",
|
||||
"id": 44221,
|
||||
"exportedSymbols": {
|
||||
"IUniswapV3PoolOwnerActions": [
|
||||
44220
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "45:1143:34",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 44196,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "45:24:34",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.5",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 44220,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "187:1000:34",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 44205,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "440:73:34",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44198,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "230:205:34",
|
||||
"text": "@notice Set the denominator of the protocol's % share of the fees\n @param feeProtocol0 new protocol fee for token0 of the pool\n @param feeProtocol1 new protocol fee for token1 of the pool"
|
||||
},
|
||||
"functionSelector": "8206a4d1",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "setFeeProtocol",
|
||||
"nameLocation": "449:14:34",
|
||||
"parameters": {
|
||||
"id": 44203,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44200,
|
||||
"mutability": "mutable",
|
||||
"name": "feeProtocol0",
|
||||
"nameLocation": "470:12:34",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44205,
|
||||
"src": "464:18:34",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint8",
|
||||
"typeString": "uint8"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44199,
|
||||
"name": "uint8",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "464:5:34",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint8",
|
||||
"typeString": "uint8"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44202,
|
||||
"mutability": "mutable",
|
||||
"name": "feeProtocol1",
|
||||
"nameLocation": "490:12:34",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44205,
|
||||
"src": "484:18:34",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint8",
|
||||
"typeString": "uint8"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44201,
|
||||
"name": "uint8",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "484:5:34",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint8",
|
||||
"typeString": "uint8"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "463:40:34"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44204,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "512:0:34"
|
||||
},
|
||||
"scope": 44220,
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
},
|
||||
{
|
||||
"id": 44219,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "1007:178:34",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 44206,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "519:483:34",
|
||||
"text": "@notice Collect the protocol fee accrued to the pool\n @param recipient The address to which collected protocol fees should be sent\n @param amount0Requested The maximum amount of token0 to send, can be 0 to collect fees in only token1\n @param amount1Requested The maximum amount of token1 to send, can be 0 to collect fees in only token0\n @return amount0 The protocol fee collected in token0\n @return amount1 The protocol fee collected in token1"
|
||||
},
|
||||
"functionSelector": "85b66729",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "collectProtocol",
|
||||
"nameLocation": "1016:15:34",
|
||||
"parameters": {
|
||||
"id": 44213,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44208,
|
||||
"mutability": "mutable",
|
||||
"name": "recipient",
|
||||
"nameLocation": "1049:9:34",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44219,
|
||||
"src": "1041:17:34",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44207,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1041:7:34",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44210,
|
||||
"mutability": "mutable",
|
||||
"name": "amount0Requested",
|
||||
"nameLocation": "1076:16:34",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44219,
|
||||
"src": "1068:24:34",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44209,
|
||||
"name": "uint128",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1068:7:34",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44212,
|
||||
"mutability": "mutable",
|
||||
"name": "amount1Requested",
|
||||
"nameLocation": "1110:16:34",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44219,
|
||||
"src": "1102:24:34",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44211,
|
||||
"name": "uint128",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1102:7:34",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1031:101:34"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 44218,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44215,
|
||||
"mutability": "mutable",
|
||||
"name": "amount0",
|
||||
"nameLocation": "1159:7:34",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44219,
|
||||
"src": "1151:15:34",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44214,
|
||||
"name": "uint128",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1151:7:34",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 44217,
|
||||
"mutability": "mutable",
|
||||
"name": "amount1",
|
||||
"nameLocation": "1176:7:34",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 44219,
|
||||
"src": "1168:15:34",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 44216,
|
||||
"name": "uint128",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1168:7:34",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_uint128",
|
||||
"typeString": "uint128"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1150:34:34"
|
||||
},
|
||||
"scope": 44220,
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "IUniswapV3PoolOwnerActions",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "interface",
|
||||
"documentation": {
|
||||
"id": 44197,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "71:116:34",
|
||||
"text": "@title Permissioned pool actions\n @notice Contains pool methods that may only be called by the factory owner"
|
||||
},
|
||||
"fullyImplemented": false,
|
||||
"linearizedBaseContracts": [
|
||||
44220
|
||||
],
|
||||
"name": "IUniswapV3PoolOwnerActions",
|
||||
"nameLocation": "197:26:34",
|
||||
"scope": 44221,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
},
|
||||
"id": 34
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,313 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "int256",
|
||||
"name": "amount0Delta",
|
||||
"type": "int256"
|
||||
},
|
||||
{
|
||||
"internalType": "int256",
|
||||
"name": "amount1Delta",
|
||||
"type": "int256"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "data",
|
||||
"type": "bytes"
|
||||
}
|
||||
],
|
||||
"name": "uniswapV3SwapCallback",
|
||||
"outputs": [],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"uniswapV3SwapCallback(int256,int256,bytes)": "fa461e33"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"int256\",\"name\":\"amount0Delta\",\"type\":\"int256\"},{\"internalType\":\"int256\",\"name\":\"amount1Delta\",\"type\":\"int256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"uniswapV3SwapCallback\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"uniswapV3SwapCallback(int256,int256,bytes)\":{\"details\":\"In the implementation you must pay the pool tokens owed for the swap. The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory. amount0Delta and amount1Delta can both be 0 if no tokens were swapped.\",\"params\":{\"amount0Delta\":\"The amount of token0 that was sent (negative) or must be received (positive) by the pool by the end of the swap. If positive, the callback must send that amount of token0 to the pool.\",\"amount1Delta\":\"The amount of token1 that was sent (negative) or must be received (positive) by the pool by the end of the swap. If positive, the callback must send that amount of token1 to the pool.\",\"data\":\"Any data passed through by the caller via the IUniswapV3PoolActions#swap call\"}}},\"title\":\"Callback for IUniswapV3PoolActions#swap\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"uniswapV3SwapCallback(int256,int256,bytes)\":{\"notice\":\"Called to `msg.sender` after executing a swap via IUniswapV3Pool#swap.\"}},\"notice\":\"Any contract that calls IUniswapV3PoolActions#swap must implement this interface\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol\":\"IUniswapV3SwapCallback\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol\":{\"keccak256\":\"0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652\",\"dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "int256",
|
||||
"name": "amount0Delta",
|
||||
"type": "int256"
|
||||
},
|
||||
{
|
||||
"internalType": "int256",
|
||||
"name": "amount1Delta",
|
||||
"type": "int256"
|
||||
},
|
||||
{
|
||||
"internalType": "bytes",
|
||||
"name": "data",
|
||||
"type": "bytes"
|
||||
}
|
||||
],
|
||||
"stateMutability": "nonpayable",
|
||||
"type": "function",
|
||||
"name": "uniswapV3SwapCallback"
|
||||
}
|
||||
],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {
|
||||
"uniswapV3SwapCallback(int256,int256,bytes)": {
|
||||
"details": "In the implementation you must pay the pool tokens owed for the swap. The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory. amount0Delta and amount1Delta can both be 0 if no tokens were swapped.",
|
||||
"params": {
|
||||
"amount0Delta": "The amount of token0 that was sent (negative) or must be received (positive) by the pool by the end of the swap. If positive, the callback must send that amount of token0 to the pool.",
|
||||
"amount1Delta": "The amount of token1 that was sent (negative) or must be received (positive) by the pool by the end of the swap. If positive, the callback must send that amount of token1 to the pool.",
|
||||
"data": "Any data passed through by the caller via the IUniswapV3PoolActions#swap call"
|
||||
}
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {
|
||||
"uniswapV3SwapCallback(int256,int256,bytes)": {
|
||||
"notice": "Called to `msg.sender` after executing a swap via IUniswapV3Pool#swap."
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol": "IUniswapV3SwapCallback"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol": {
|
||||
"keccak256": "0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69",
|
||||
"urls": [
|
||||
"bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652",
|
||||
"dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS"
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol",
|
||||
"id": 43909,
|
||||
"exportedSymbols": {
|
||||
"IUniswapV3SwapCallback": [
|
||||
43908
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "45:1248:29",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 43896,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "45:24:29",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.5",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 43908,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "215:1077:29",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 43907,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "1157:133:29",
|
||||
"nodes": [],
|
||||
"documentation": {
|
||||
"id": 43898,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "254:898:29",
|
||||
"text": "@notice Called to `msg.sender` after executing a swap via IUniswapV3Pool#swap.\n @dev In the implementation you must pay the pool tokens owed for the swap.\n The caller of this method must be checked to be a UniswapV3Pool deployed by the canonical UniswapV3Factory.\n amount0Delta and amount1Delta can both be 0 if no tokens were swapped.\n @param amount0Delta The amount of token0 that was sent (negative) or must be received (positive) by the pool by\n the end of the swap. If positive, the callback must send that amount of token0 to the pool.\n @param amount1Delta The amount of token1 that was sent (negative) or must be received (positive) by the pool by\n the end of the swap. If positive, the callback must send that amount of token1 to the pool.\n @param data Any data passed through by the caller via the IUniswapV3PoolActions#swap call"
|
||||
},
|
||||
"functionSelector": "fa461e33",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "uniswapV3SwapCallback",
|
||||
"nameLocation": "1166:21:29",
|
||||
"parameters": {
|
||||
"id": 43905,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 43900,
|
||||
"mutability": "mutable",
|
||||
"name": "amount0Delta",
|
||||
"nameLocation": "1204:12:29",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 43907,
|
||||
"src": "1197:19:29",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int256",
|
||||
"typeString": "int256"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 43899,
|
||||
"name": "int256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1197:6:29",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int256",
|
||||
"typeString": "int256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 43902,
|
||||
"mutability": "mutable",
|
||||
"name": "amount1Delta",
|
||||
"nameLocation": "1233:12:29",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 43907,
|
||||
"src": "1226:19:29",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int256",
|
||||
"typeString": "int256"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 43901,
|
||||
"name": "int256",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1226:6:29",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int256",
|
||||
"typeString": "int256"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 43904,
|
||||
"mutability": "mutable",
|
||||
"name": "data",
|
||||
"nameLocation": "1270:4:29",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 43907,
|
||||
"src": "1255:19:29",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "calldata",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bytes_calldata_ptr",
|
||||
"typeString": "bytes"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 43903,
|
||||
"name": "bytes",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "1255:5:29",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bytes_storage_ptr",
|
||||
"typeString": "bytes"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "1187:93:29"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 43906,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "1289:0:29"
|
||||
},
|
||||
"scope": 43908,
|
||||
"stateMutability": "nonpayable",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "IUniswapV3SwapCallback",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "interface",
|
||||
"documentation": {
|
||||
"id": 43897,
|
||||
"nodeType": "StructuredDocumentation",
|
||||
"src": "71:144:29",
|
||||
"text": "@title Callback for IUniswapV3PoolActions#swap\n @notice Any contract that calls IUniswapV3PoolActions#swap must implement this interface"
|
||||
},
|
||||
"fullyImplemented": false,
|
||||
"linearizedBaseContracts": [
|
||||
43908
|
||||
],
|
||||
"name": "IUniswapV3SwapCallback",
|
||||
"nameLocation": "225:22:29",
|
||||
"scope": 43909,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "GPL-2.0-or-later"
|
||||
},
|
||||
"id": 29
|
||||
}
|
||||
226
deployment/alpha/out/IVaultDeployer.sol/IVaultDeployer.json
Normal file
226
deployment/alpha/out/IVaultDeployer.sol/IVaultDeployer.json
Normal file
@@ -0,0 +1,226 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [],
|
||||
"name": "parameters",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "owner",
|
||||
"type": "address"
|
||||
}
|
||||
],
|
||||
"stateMutability": "view",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x",
|
||||
"sourceMap": "",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"parameters()": "89035730"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"name\":\"parameters\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/interface/IVaultDeployer.sol\":\"IVaultDeployer\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"src/interface/IVaultDeployer.sol\":{\"keccak256\":\"0x2985c864a3b5cf99244cc443871b356b47bb6bfb758bbf89b9cceb2e15c68886\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://2d3df393bad985f53c8a31e9907badd10766891d5951a3ab95acea2cc6d2092a\",\"dweb:/ipfs/QmbE7z2SwfCnCF2XxKM1FEEPaddrS6WNbCJ5yqSP2Zn8d7\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [],
|
||||
"stateMutability": "view",
|
||||
"type": "function",
|
||||
"name": "parameters",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "address",
|
||||
"name": "owner",
|
||||
"type": "address"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"src/interface/IVaultDeployer.sol": "IVaultDeployer"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"src/interface/IVaultDeployer.sol": {
|
||||
"keccak256": "0x2985c864a3b5cf99244cc443871b356b47bb6bfb758bbf89b9cceb2e15c68886",
|
||||
"urls": [
|
||||
"bzz-raw://2d3df393bad985f53c8a31e9907badd10766891d5951a3ab95acea2cc6d2092a",
|
||||
"dweb:/ipfs/QmbE7z2SwfCnCF2XxKM1FEEPaddrS6WNbCJ5yqSP2Zn8d7"
|
||||
],
|
||||
"license": "UNLICENSED"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "src/interface/IVaultDeployer.sol",
|
||||
"id": 49443,
|
||||
"exportedSymbols": {
|
||||
"IVaultDeployer": [
|
||||
49442
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "65:140:62",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 49435,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "65:24:62",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.8",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 49436,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "90:19:62",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"abicoder",
|
||||
"v2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 49442,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "111:93:62",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 49441,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "142:60:62",
|
||||
"nodes": [],
|
||||
"functionSelector": "89035730",
|
||||
"implemented": false,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "parameters",
|
||||
"nameLocation": "151:10:62",
|
||||
"parameters": {
|
||||
"id": 49437,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [],
|
||||
"src": "161:2:62"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 49440,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 49439,
|
||||
"mutability": "mutable",
|
||||
"name": "owner",
|
||||
"nameLocation": "195:5:62",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 49441,
|
||||
"src": "187:13:62",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 49438,
|
||||
"name": "address",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "187:7:62",
|
||||
"stateMutability": "nonpayable",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_address",
|
||||
"typeString": "address"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "186:15:62"
|
||||
},
|
||||
"scope": 49442,
|
||||
"stateMutability": "view",
|
||||
"virtual": false,
|
||||
"visibility": "external"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "IVaultDeployer",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "interface",
|
||||
"fullyImplemented": false,
|
||||
"linearizedBaseContracts": [
|
||||
49442
|
||||
],
|
||||
"name": "IVaultDeployer",
|
||||
"nameLocation": "121:14:62",
|
||||
"scope": 49443,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "UNLICENSED"
|
||||
},
|
||||
"id": 62
|
||||
}
|
||||
4501
deployment/alpha/out/LiquidityAmounts.sol/LiquidityAmounts.json
Normal file
4501
deployment/alpha/out/LiquidityAmounts.sol/LiquidityAmounts.json
Normal file
File diff suppressed because it is too large
Load Diff
1358
deployment/alpha/out/MockERC20.sol/MockERC20.json
Normal file
1358
deployment/alpha/out/MockERC20.sol/MockERC20.json
Normal file
File diff suppressed because one or more lines are too long
9465
deployment/alpha/out/MockEnv.sol/MockEnv.json
Normal file
9465
deployment/alpha/out/MockEnv.sol/MockEnv.json
Normal file
File diff suppressed because one or more lines are too long
18931
deployment/alpha/out/OrderLib.sol/OrderLib.json
Normal file
18931
deployment/alpha/out/OrderLib.sol/OrderLib.json
Normal file
File diff suppressed because one or more lines are too long
1427
deployment/alpha/out/PoolAddress.sol/PoolAddress.json
Normal file
1427
deployment/alpha/out/PoolAddress.sol/PoolAddress.json
Normal file
File diff suppressed because it is too large
Load Diff
5783
deployment/alpha/out/QueryHelper.sol/QueryHelper.json
Normal file
5783
deployment/alpha/out/QueryHelper.sol/QueryHelper.json
Normal file
File diff suppressed because one or more lines are too long
740
deployment/alpha/out/Script.sol/Script.json
Normal file
740
deployment/alpha/out/Script.sol/Script.json
Normal file
File diff suppressed because one or more lines are too long
20505
deployment/alpha/out/StdAssertions.sol/StdAssertions.json
Normal file
20505
deployment/alpha/out/StdAssertions.sol/StdAssertions.json
Normal file
File diff suppressed because one or more lines are too long
10027
deployment/alpha/out/StdChains.sol/StdChains.json
Normal file
10027
deployment/alpha/out/StdChains.sol/StdChains.json
Normal file
File diff suppressed because it is too large
Load Diff
37281
deployment/alpha/out/StdCheats.sol/StdCheats.json
Normal file
37281
deployment/alpha/out/StdCheats.sol/StdCheats.json
Normal file
File diff suppressed because it is too large
Load Diff
37281
deployment/alpha/out/StdCheats.sol/StdCheatsSafe.json
Normal file
37281
deployment/alpha/out/StdCheats.sol/StdCheatsSafe.json
Normal file
File diff suppressed because it is too large
Load Diff
1431
deployment/alpha/out/StdError.sol/stdError.json
Normal file
1431
deployment/alpha/out/StdError.sol/stdError.json
Normal file
File diff suppressed because it is too large
Load Diff
2838
deployment/alpha/out/StdInvariant.sol/StdInvariant.json
Normal file
2838
deployment/alpha/out/StdInvariant.sol/StdInvariant.json
Normal file
File diff suppressed because it is too large
Load Diff
7514
deployment/alpha/out/StdJson.sol/stdJson.json
Normal file
7514
deployment/alpha/out/StdJson.sol/stdJson.json
Normal file
File diff suppressed because it is too large
Load Diff
1973
deployment/alpha/out/StdMath.sol/stdMath.json
Normal file
1973
deployment/alpha/out/StdMath.sol/stdMath.json
Normal file
File diff suppressed because it is too large
Load Diff
19570
deployment/alpha/out/StdStorage.sol/stdStorage.json
Normal file
19570
deployment/alpha/out/StdStorage.sol/stdStorage.json
Normal file
File diff suppressed because it is too large
Load Diff
19672
deployment/alpha/out/StdStorage.sol/stdStorageSafe.json
Normal file
19672
deployment/alpha/out/StdStorage.sol/stdStorageSafe.json
Normal file
File diff suppressed because it is too large
Load Diff
16548
deployment/alpha/out/StdStyle.sol/StdStyle.json
Normal file
16548
deployment/alpha/out/StdStyle.sol/StdStyle.json
Normal file
File diff suppressed because it is too large
Load Diff
11993
deployment/alpha/out/StdUtils.sol/StdUtils.json
Normal file
11993
deployment/alpha/out/StdUtils.sol/StdUtils.json
Normal file
File diff suppressed because it is too large
Load Diff
1943
deployment/alpha/out/Test.sol/Test.json
Normal file
1943
deployment/alpha/out/Test.sol/Test.json
Normal file
File diff suppressed because one or more lines are too long
5926
deployment/alpha/out/TestFullMath.sol/TestFullMath.json
Normal file
5926
deployment/alpha/out/TestFullMath.sol/TestFullMath.json
Normal file
File diff suppressed because one or more lines are too long
13196
deployment/alpha/out/TestOrder.sol/TestOrder.json
Normal file
13196
deployment/alpha/out/TestOrder.sol/TestOrder.json
Normal file
File diff suppressed because one or more lines are too long
3094
deployment/alpha/out/TestSinglePool.sol/TestSinglePool.json
Normal file
3094
deployment/alpha/out/TestSinglePool.sol/TestSinglePool.json
Normal file
File diff suppressed because one or more lines are too long
3216
deployment/alpha/out/TestVault.sol/TestVault.json
Normal file
3216
deployment/alpha/out/TestVault.sol/TestVault.json
Normal file
File diff suppressed because one or more lines are too long
12458
deployment/alpha/out/TickMath.sol/TickMath.json
Normal file
12458
deployment/alpha/out/TickMath.sol/TickMath.json
Normal file
File diff suppressed because it is too large
Load Diff
2551
deployment/alpha/out/TransferHelper.sol/TransferHelper.json
Normal file
2551
deployment/alpha/out/TransferHelper.sol/TransferHelper.json
Normal file
File diff suppressed because it is too large
Load Diff
7234
deployment/alpha/out/UniswapSwapper.sol/UniswapSwapper.json
Normal file
7234
deployment/alpha/out/UniswapSwapper.sol/UniswapSwapper.json
Normal file
File diff suppressed because one or more lines are too long
905
deployment/alpha/out/Util.sol/Util.json
Normal file
905
deployment/alpha/out/Util.sol/Util.json
Normal file
@@ -0,0 +1,905 @@
|
||||
{
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "tick",
|
||||
"type": "int24"
|
||||
},
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "window",
|
||||
"type": "int24"
|
||||
}
|
||||
],
|
||||
"name": "roundTick",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "",
|
||||
"type": "int24"
|
||||
}
|
||||
],
|
||||
"stateMutability": "pure",
|
||||
"type": "function"
|
||||
}
|
||||
],
|
||||
"bytecode": {
|
||||
"object": "0x6103a761003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806397fd6da71461003a575b600080fd5b61004d61004836600461012a565b610063565b60405161005a9190610172565b60405180910390f35b60008061007083856101af565b905060008460020b12156100c95761008960028461020a565b60020b6100958261028a565b60020b13156100b7576100a881846102ce565b6100b2908561031f565b6100c1565b6100c1818561031f565b915050610100565b6100d460028461020a565b60020b8160020b136100ea576100b2818561031f565b6100f4818461031f565b6100c190856102ce565b505b92915050565b6101108160020b90565b811461011b57600080fd5b50565b8035806100fe81610106565b6000806040838503121561014057610140600080fd5b61014a848461011e565b9150610159846020850161011e565b90509250929050565b61016c8160020b90565b82525050565b602081016101008284610162565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006101bb8260020b90565b6101c58460020b90565b806101d2576101d2610180565b90079392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006102168260020b90565b6102208460020b90565b8061022d5761022d610180565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000083141615610281576102816101db565b90059392505050565b60006102968260020b90565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000081036102c5576102c56101db565b60000392915050565b60006102da8260020b90565b6102e48460020b90565b01905080627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000821217156100fe576100fe6101db565b600061032b8260020b90565b6103358460020b90565b90039050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008112627fffff821317156100fe576100fe6101db56fea2646970667358221220be582b7790b0dd5891fafeb05a05cb82784990891eb12728aa69c5903ca0d6e164736f6c63430008160033",
|
||||
"sourceMap": "111:365:57:-:0;;;;;;;;;;;;;;;-1:-1:-1;;;111:365:57;;;;;;;;;;;;;;;;;",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"deployedBytecode": {
|
||||
"object": "0x73000000000000000000000000000000000000000030146080604052600436106100355760003560e01c806397fd6da71461003a575b600080fd5b61004d61004836600461012a565b610063565b60405161005a9190610172565b60405180910390f35b60008061007083856101af565b905060008460020b12156100c95761008960028461020a565b60020b6100958261028a565b60020b13156100b7576100a881846102ce565b6100b2908561031f565b6100c1565b6100c1818561031f565b915050610100565b6100d460028461020a565b60020b8160020b136100ea576100b2818561031f565b6100f4818461031f565b6100c190856102ce565b505b92915050565b6101108160020b90565b811461011b57600080fd5b50565b8035806100fe81610106565b6000806040838503121561014057610140600080fd5b61014a848461011e565b9150610159846020850161011e565b90509250929050565b61016c8160020b90565b82525050565b602081016101008284610162565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006101bb8260020b90565b6101c58460020b90565b806101d2576101d2610180565b90079392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006102168260020b90565b6102208460020b90565b8061022d5761022d610180565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81147fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000083141615610281576102816101db565b90059392505050565b60006102968260020b90565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80000081036102c5576102c56101db565b60000392915050565b60006102da8260020b90565b6102e48460020b90565b01905080627fffff81137fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff800000821217156100fe576100fe6101db565b600061032b8260020b90565b6103358460020b90565b90039050807fffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8000008112627fffff821317156100fe576100fe6101db56fea2646970667358221220be582b7790b0dd5891fafeb05a05cb82784990891eb12728aa69c5903ca0d6e164736f6c63430008160033",
|
||||
"sourceMap": "111:365:57:-:0;;;;;;;;;;;;;;;;;;;;;;;;130:344;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;;196:5;;268:13;275:6;268:4;:13;:::i;:::-;256:25;;302:1;295:4;:8;;;291:176;;;333:10;342:1;333:6;:10;:::i;:::-;324:19;;:5;326:3;324:5;:::i;:::-;:19;;;;:56;;367:12;376:3;367:6;:12;:::i;:::-;359:21;;:4;:21;:::i;:::-;324:56;;;346:10;353:3;346:4;:10;:::i;:::-;317:63;;;;;291:176;420:10;429:1;420:6;:10;:::i;:::-;414:16;;:3;:16;;;:53;;457:10;464:3;457:4;:10;:::i;414:53::-;441:12;450:3;441:6;:12;:::i;:::-;433:21;;:4;:21;:::i;291:176::-;203:271;130:344;;;;;:::o;225:118:69:-;298:20;312:5;205:1;194:20;;128:92;298:20;291:5;288:31;278:59;;333:1;330;323:12;278:59;225:118;:::o;348:168::-;425:20;;;479:31;425:20;479:31;:::i;521:365::-;585:6;593;646:2;634:9;625:7;621:23;617:32;614:147;;;672:79;111:365:57;;;672:79:69;780:36;808:7;797:9;780:36;:::i;:::-;770:46;;835:45;872:7;867:2;856:9;852:18;835:45;:::i;:::-;825:55;;521:365;;;;;:::o;891:91::-;955:20;969:5;205:1;194:20;;128:92;955:20;950:3;943:33;;;891:91::o;987:191::-;1125:2;1110:18;;1137:35;1114:9;1154:6;1137:35;:::i;1183:184::-;1235:77;1232:1;1225:88;1332:4;1329:1;1322:15;1356:4;1353:1;1346:15;1372:189;1402:1;1429:16;1443:1;205;194:20;;128:92;1429:16;1465;1479:1;205;194:20;;128:92;1465:16;1500:3;1490:37;;1507:18;;:::i;:::-;1541:14;;;1372:189;-1:-1:-1;;;1372:189:69:o;1566:184::-;1618:77;1615:1;1608:88;1715:4;1712:1;1705:15;1739:4;1736:1;1729:15;1755:389;1793:1;1820:16;1834:1;205;194:20;;128:92;1820:16;1856;1870:1;205;194:20;;128:92;1856:16;1891:3;1881:37;;1898:18;;:::i;:::-;2019:66;2014:3;2011:75;1942:66;1937:3;1934:75;1930:157;1927:183;;;2090:18;;:::i;:::-;2124:14;;;1755:389;-1:-1:-1;;;1755:389:69:o;2149:238::-;2183:3;2216:20;2230:5;205:1;194:20;;128:92;2216:20;2260:66;2251:7;2248:79;2245:105;;2330:18;;:::i;:::-;2370:1;2366:15;;2149:238;-1:-1:-1;;2149:238:69:o;2392:297::-;2430:3;2459:16;2473:1;205;194:20;;128:92;2459:16;2506;2520:1;205;194:20;;128:92;2506:16;2497:26;;-1:-1:-1;2497:26:69;2570:8;2559:20;;2592:66;2581:78;;2556:104;2553:130;;;2663:18;;:::i;2694:303::-;2732:4;2762:16;2776:1;205;194:20;;128:92;2762:16;2810;2824:1;205;194:20;;128:92;2810:16;2801:26;;;-1:-1:-1;2801:26:69;2877:66;2865:79;;2958:8;2946:21;;2862:106;2859:132;;;2971:18;;:::i",
|
||||
"linkReferences": {}
|
||||
},
|
||||
"methodIdentifiers": {
|
||||
"roundTick(int24,int24)": "97fd6da7"
|
||||
},
|
||||
"rawMetadata": "{\"compiler\":{\"version\":\"0.8.22+commit.4fc1097e\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"int24\",\"name\":\"tick\",\"type\":\"int24\"},{\"internalType\":\"int24\",\"name\":\"window\",\"type\":\"int24\"}],\"name\":\"roundTick\",\"outputs\":[{\"internalType\":\"int24\",\"name\":\"\",\"type\":\"int24\"}],\"stateMutability\":\"pure\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/Util.sol\":\"Util\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":true,\"cse\":true,\"deduplicate\":true,\"inliner\":true,\"jumpdestRemover\":true,\"orderLiterals\":true,\"peephole\":true,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":999999999},\"remappings\":[\":@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/\",\":@uniswap/v3-core/=lib_uniswap/v3-core/\",\":@uniswap/v3-periphery/=lib_uniswap/v3-periphery/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\",\":v3-core/=lib_uniswap/v3-core/\",\":v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/\"]},\"sources\":{\"src/Util.sol\":{\"keccak256\":\"0xbf0a5fb064064aa53474e43777176662a9f09fdb61b823b87705bd0c6d1909ad\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://6dbdd417018821ed9cc564f5d64e92b5efaf067cdc559e7f1dd7bff2afa07a80\",\"dweb:/ipfs/QmPQTGJbnrV4PSCCXNbBQKZ3enF5r7Wv115ivoHFCjVCJr\"]}},\"version\":1}",
|
||||
"metadata": {
|
||||
"compiler": {
|
||||
"version": "0.8.22+commit.4fc1097e"
|
||||
},
|
||||
"language": "Solidity",
|
||||
"output": {
|
||||
"abi": [
|
||||
{
|
||||
"inputs": [
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "tick",
|
||||
"type": "int24"
|
||||
},
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "window",
|
||||
"type": "int24"
|
||||
}
|
||||
],
|
||||
"stateMutability": "pure",
|
||||
"type": "function",
|
||||
"name": "roundTick",
|
||||
"outputs": [
|
||||
{
|
||||
"internalType": "int24",
|
||||
"name": "",
|
||||
"type": "int24"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"devdoc": {
|
||||
"kind": "dev",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
},
|
||||
"userdoc": {
|
||||
"kind": "user",
|
||||
"methods": {},
|
||||
"version": 1
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"remappings": [
|
||||
"@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
|
||||
"@uniswap/v3-core/=lib_uniswap/v3-core/",
|
||||
"@uniswap/v3-periphery/=lib_uniswap/v3-periphery/",
|
||||
"ds-test/=lib/forge-std/lib/ds-test/src/",
|
||||
"forge-std/=lib/forge-std/src/",
|
||||
"openzeppelin-contracts/=lib/openzeppelin-contracts/",
|
||||
"v3-core/=lib_uniswap/v3-core/",
|
||||
"v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries/"
|
||||
],
|
||||
"optimizer": {
|
||||
"runs": 999999999,
|
||||
"details": {
|
||||
"peephole": true,
|
||||
"inliner": true,
|
||||
"jumpdestRemover": true,
|
||||
"orderLiterals": true,
|
||||
"deduplicate": true,
|
||||
"cse": true,
|
||||
"constantOptimizer": true,
|
||||
"yul": true,
|
||||
"yulDetails": {
|
||||
"stackAllocation": true,
|
||||
"optimizerSteps": "dhfoD[xarrscLMcCTU]uljmul:fDnTOcmu"
|
||||
}
|
||||
}
|
||||
},
|
||||
"metadata": {
|
||||
"bytecodeHash": "ipfs"
|
||||
},
|
||||
"compilationTarget": {
|
||||
"src/Util.sol": "Util"
|
||||
},
|
||||
"libraries": {}
|
||||
},
|
||||
"sources": {
|
||||
"src/Util.sol": {
|
||||
"keccak256": "0xbf0a5fb064064aa53474e43777176662a9f09fdb61b823b87705bd0c6d1909ad",
|
||||
"urls": [
|
||||
"bzz-raw://6dbdd417018821ed9cc564f5d64e92b5efaf067cdc559e7f1dd7bff2afa07a80",
|
||||
"dweb:/ipfs/QmPQTGJbnrV4PSCCXNbBQKZ3enF5r7Wv115ivoHFCjVCJr"
|
||||
],
|
||||
"license": "UNLICENSED"
|
||||
}
|
||||
},
|
||||
"version": 1
|
||||
},
|
||||
"ast": {
|
||||
"absolutePath": "src/Util.sol",
|
||||
"id": 48902,
|
||||
"exportedSymbols": {
|
||||
"Util": [
|
||||
48901
|
||||
]
|
||||
},
|
||||
"nodeType": "SourceUnit",
|
||||
"src": "65:412:57",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 48846,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "65:24:57",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"solidity",
|
||||
">=",
|
||||
"0.8",
|
||||
".0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 48847,
|
||||
"nodeType": "PragmaDirective",
|
||||
"src": "90:19:57",
|
||||
"nodes": [],
|
||||
"literals": [
|
||||
"abicoder",
|
||||
"v2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 48901,
|
||||
"nodeType": "ContractDefinition",
|
||||
"src": "111:365:57",
|
||||
"nodes": [
|
||||
{
|
||||
"id": 48900,
|
||||
"nodeType": "FunctionDefinition",
|
||||
"src": "130:344:57",
|
||||
"nodes": [],
|
||||
"body": {
|
||||
"id": 48899,
|
||||
"nodeType": "Block",
|
||||
"src": "203:271:57",
|
||||
"nodes": [],
|
||||
"statements": [
|
||||
{
|
||||
"assignments": [
|
||||
48857
|
||||
],
|
||||
"declarations": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 48857,
|
||||
"mutability": "mutable",
|
||||
"name": "mod",
|
||||
"nameLocation": "262:3:57",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 48899,
|
||||
"src": "256:9:57",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 48856,
|
||||
"name": "int24",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "256:5:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"id": 48861,
|
||||
"initialValue": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48860,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48858,
|
||||
"name": "tick",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48849,
|
||||
"src": "268:4:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "%",
|
||||
"rightExpression": {
|
||||
"id": 48859,
|
||||
"name": "window",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48851,
|
||||
"src": "275:6:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"src": "268:13:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "VariableDeclarationStatement",
|
||||
"src": "256:25:57"
|
||||
},
|
||||
{
|
||||
"condition": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48864,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48862,
|
||||
"name": "tick",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48849,
|
||||
"src": "295:4:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "<",
|
||||
"rightExpression": {
|
||||
"hexValue": "30",
|
||||
"id": 48863,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "302:1:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_rational_0_by_1",
|
||||
"typeString": "int_const 0"
|
||||
},
|
||||
"value": "0"
|
||||
},
|
||||
"src": "295:8:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bool",
|
||||
"typeString": "bool"
|
||||
}
|
||||
},
|
||||
"falseBody": {
|
||||
"expression": {
|
||||
"condition": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48886,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48882,
|
||||
"name": "mod",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48857,
|
||||
"src": "414:3:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": ">",
|
||||
"rightExpression": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48885,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48883,
|
||||
"name": "window",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48851,
|
||||
"src": "420:6:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "/",
|
||||
"rightExpression": {
|
||||
"hexValue": "32",
|
||||
"id": 48884,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "429:1:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_rational_2_by_1",
|
||||
"typeString": "int_const 2"
|
||||
},
|
||||
"value": "2"
|
||||
},
|
||||
"src": "420:10:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"src": "414:16:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bool",
|
||||
"typeString": "bool"
|
||||
}
|
||||
},
|
||||
"falseExpression": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48895,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48893,
|
||||
"name": "tick",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48849,
|
||||
"src": "457:4:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "-",
|
||||
"rightExpression": {
|
||||
"id": 48894,
|
||||
"name": "mod",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48857,
|
||||
"src": "464:3:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"src": "457:10:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"id": 48896,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Conditional",
|
||||
"src": "414:53:57",
|
||||
"trueExpression": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48892,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48887,
|
||||
"name": "tick",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48849,
|
||||
"src": "433:4:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "+",
|
||||
"rightExpression": {
|
||||
"components": [
|
||||
{
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48890,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48888,
|
||||
"name": "window",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48851,
|
||||
"src": "441:6:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "-",
|
||||
"rightExpression": {
|
||||
"id": 48889,
|
||||
"name": "mod",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48857,
|
||||
"src": "450:3:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"src": "441:12:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
}
|
||||
],
|
||||
"id": 48891,
|
||||
"isConstant": false,
|
||||
"isInlineArray": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "TupleExpression",
|
||||
"src": "440:14:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"src": "433:21:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"functionReturnParameters": 48855,
|
||||
"id": 48897,
|
||||
"nodeType": "Return",
|
||||
"src": "407:60:57"
|
||||
},
|
||||
"id": 48898,
|
||||
"nodeType": "IfStatement",
|
||||
"src": "291:176:57",
|
||||
"trueBody": {
|
||||
"expression": {
|
||||
"condition": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48870,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48866,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "UnaryOperation",
|
||||
"operator": "-",
|
||||
"prefix": true,
|
||||
"src": "324:5:57",
|
||||
"subExpression": {
|
||||
"id": 48865,
|
||||
"name": "mod",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48857,
|
||||
"src": "326:3:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "<=",
|
||||
"rightExpression": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48869,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48867,
|
||||
"name": "window",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48851,
|
||||
"src": "333:6:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "/",
|
||||
"rightExpression": {
|
||||
"hexValue": "32",
|
||||
"id": 48868,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": true,
|
||||
"kind": "number",
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Literal",
|
||||
"src": "342:1:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_rational_2_by_1",
|
||||
"typeString": "int_const 2"
|
||||
},
|
||||
"value": "2"
|
||||
},
|
||||
"src": "333:10:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"src": "324:19:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_bool",
|
||||
"typeString": "bool"
|
||||
}
|
||||
},
|
||||
"falseExpression": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48879,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48874,
|
||||
"name": "tick",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48849,
|
||||
"src": "359:4:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "-",
|
||||
"rightExpression": {
|
||||
"components": [
|
||||
{
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48877,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48875,
|
||||
"name": "window",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48851,
|
||||
"src": "367:6:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "+",
|
||||
"rightExpression": {
|
||||
"id": 48876,
|
||||
"name": "mod",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48857,
|
||||
"src": "376:3:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"src": "367:12:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
}
|
||||
],
|
||||
"id": 48878,
|
||||
"isConstant": false,
|
||||
"isInlineArray": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "TupleExpression",
|
||||
"src": "366:14:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"src": "359:21:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"id": 48880,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"nodeType": "Conditional",
|
||||
"src": "324:56:57",
|
||||
"trueExpression": {
|
||||
"commonType": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"id": 48873,
|
||||
"isConstant": false,
|
||||
"isLValue": false,
|
||||
"isPure": false,
|
||||
"lValueRequested": false,
|
||||
"leftExpression": {
|
||||
"id": 48871,
|
||||
"name": "tick",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48849,
|
||||
"src": "346:4:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"nodeType": "BinaryOperation",
|
||||
"operator": "-",
|
||||
"rightExpression": {
|
||||
"id": 48872,
|
||||
"name": "mod",
|
||||
"nodeType": "Identifier",
|
||||
"overloadedDeclarations": [],
|
||||
"referencedDeclaration": 48857,
|
||||
"src": "353:3:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"src": "346:10:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"functionReturnParameters": 48855,
|
||||
"id": 48881,
|
||||
"nodeType": "Return",
|
||||
"src": "317:63:57"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
"functionSelector": "97fd6da7",
|
||||
"implemented": true,
|
||||
"kind": "function",
|
||||
"modifiers": [],
|
||||
"name": "roundTick",
|
||||
"nameLocation": "139:9:57",
|
||||
"parameters": {
|
||||
"id": 48852,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 48849,
|
||||
"mutability": "mutable",
|
||||
"name": "tick",
|
||||
"nameLocation": "155:4:57",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 48900,
|
||||
"src": "149:10:57",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 48848,
|
||||
"name": "int24",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "149:5:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
},
|
||||
{
|
||||
"constant": false,
|
||||
"id": 48851,
|
||||
"mutability": "mutable",
|
||||
"name": "window",
|
||||
"nameLocation": "167:6:57",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 48900,
|
||||
"src": "161:12:57",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 48850,
|
||||
"name": "int24",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "161:5:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "148:26:57"
|
||||
},
|
||||
"returnParameters": {
|
||||
"id": 48855,
|
||||
"nodeType": "ParameterList",
|
||||
"parameters": [
|
||||
{
|
||||
"constant": false,
|
||||
"id": 48854,
|
||||
"mutability": "mutable",
|
||||
"name": "",
|
||||
"nameLocation": "-1:-1:-1",
|
||||
"nodeType": "VariableDeclaration",
|
||||
"scope": 48900,
|
||||
"src": "196:5:57",
|
||||
"stateVariable": false,
|
||||
"storageLocation": "default",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
},
|
||||
"typeName": {
|
||||
"id": 48853,
|
||||
"name": "int24",
|
||||
"nodeType": "ElementaryTypeName",
|
||||
"src": "196:5:57",
|
||||
"typeDescriptions": {
|
||||
"typeIdentifier": "t_int24",
|
||||
"typeString": "int24"
|
||||
}
|
||||
},
|
||||
"visibility": "internal"
|
||||
}
|
||||
],
|
||||
"src": "195:7:57"
|
||||
},
|
||||
"scope": 48901,
|
||||
"stateMutability": "pure",
|
||||
"virtual": false,
|
||||
"visibility": "public"
|
||||
}
|
||||
],
|
||||
"abstract": false,
|
||||
"baseContracts": [],
|
||||
"canonicalName": "Util",
|
||||
"contractDependencies": [],
|
||||
"contractKind": "library",
|
||||
"fullyImplemented": true,
|
||||
"linearizedBaseContracts": [
|
||||
48901
|
||||
],
|
||||
"name": "Util",
|
||||
"nameLocation": "119:4:57",
|
||||
"scope": 48902,
|
||||
"usedErrors": [],
|
||||
"usedEvents": []
|
||||
}
|
||||
],
|
||||
"license": "UNLICENSED"
|
||||
},
|
||||
"id": 57
|
||||
}
|
||||
4930
deployment/alpha/out/Vault.sol/Vault.json
Normal file
4930
deployment/alpha/out/Vault.sol/Vault.json
Normal file
File diff suppressed because one or more lines are too long
1240
deployment/alpha/out/VaultAddress-default.sol/VaultAddress.json
Normal file
1240
deployment/alpha/out/VaultAddress-default.sol/VaultAddress.json
Normal file
File diff suppressed because one or more lines are too long
1240
deployment/alpha/out/VaultAddress.sol/VaultAddress.json
Normal file
1240
deployment/alpha/out/VaultAddress.sol/VaultAddress.json
Normal file
File diff suppressed because one or more lines are too long
2180
deployment/alpha/out/VaultDeployer.sol/VaultDeployer.json
Normal file
2180
deployment/alpha/out/VaultDeployer.sol/VaultDeployer.json
Normal file
File diff suppressed because one or more lines are too long
26285
deployment/alpha/out/Vm.sol/Vm.json
Normal file
26285
deployment/alpha/out/Vm.sol/Vm.json
Normal file
File diff suppressed because one or more lines are too long
23870
deployment/alpha/out/Vm.sol/VmSafe.json
Normal file
23870
deployment/alpha/out/Vm.sol/VmSafe.json
Normal file
File diff suppressed because one or more lines are too long
111667
deployment/alpha/out/console.sol/console.json
Normal file
111667
deployment/alpha/out/console.sol/console.json
Normal file
File diff suppressed because it is too large
Load Diff
112469
deployment/alpha/out/console2.sol/console2.json
Normal file
112469
deployment/alpha/out/console2.sol/console2.json
Normal file
File diff suppressed because it is too large
Load Diff
500779
deployment/alpha/out/safeconsole.sol/safeconsole.json
Normal file
500779
deployment/alpha/out/safeconsole.sol/safeconsole.json
Normal file
File diff suppressed because it is too large
Load Diff
30566
deployment/alpha/out/test.sol/DSTest.json
Normal file
30566
deployment/alpha/out/test.sol/DSTest.json
Normal file
File diff suppressed because one or more lines are too long
@@ -1,5 +1,12 @@
|
||||
| Code | Name | Description |
|
||||
|-------|--------------------|------------------------------------------------------------------------|
|
||||
| UC | Unknown Constraint | The constraint specification did not have a recognized Constraint Mode |
|
||||
| OCOM | Invalid OCO Mode | The OCO mode provided to placeOrder() is invalid. |
|
||||
| UR | Unknown Route | The specified order route is invalid. |
|
||||
| Code | Name | Description |
|
||||
|----------------------|---------------------------|----------------------------------------------------------------------------------------------------------------------|
|
||||
| OCOM | Invalid OCO Mode | The OCO mode provided to placeOrder() is invalid. |
|
||||
| UR | Unknown Route | The specified order route is invalid. |
|
||||
| NO | Not Open | Order status state is not OPEN |
|
||||
| UC | Unknown Constraint | The constraint specification did not have a recognized Constraint Mode |
|
||||
| TE | Too Early | Time constraint window hasn't opened yet |
|
||||
| TL | Too Late | Time constraint has expired the tranche |
|
||||
| L | Limit | Price limit constraint violation |
|
||||
| IIA | Insufficient Input Amount | Not enough input coin available in the vault (from Uniswap) |
|
||||
| TF | Tranche Filled | The tranche has no remaining amount available to execute. |
|
||||
| Too little received | Too little received | Uniswap v3 error when min output amount is not filled. Can happen when a limit price is very near the current price. |
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
[profile.default]
|
||||
# solc_version = '0.7.6'
|
||||
solc_version = '0.8.21'
|
||||
solc_version = '0.8.22'
|
||||
libs = ['lib']
|
||||
remappings = [
|
||||
'@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/',
|
||||
# '@uniswap/v3-core/=lib/v3-core/',
|
||||
'@uniswap/v3-core/=lib_sol8/v3-core/',
|
||||
'v3-core/=lib_sol8/v3-core/',
|
||||
'@uniswap/v3-core/=lib_uniswap/v3-core/',
|
||||
'v3-core/=lib_uniswap/v3-core/',
|
||||
# '@uniswap/v3-periphery/=lib/v3-periphery/',
|
||||
'@uniswap/v3-periphery/=lib_sol8/v3-periphery/',
|
||||
'v3-periphery/libraries/=lib_sol8/v3-periphery/contracts/libraries',
|
||||
'@uniswap/v3-periphery/=lib_uniswap/v3-periphery/',
|
||||
'v3-periphery/libraries/=lib_uniswap/v3-periphery/contracts/libraries',
|
||||
]
|
||||
sizes = true
|
||||
gas_reports = ['*']
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user