From c657a6413f027468f110c7d514590b76e3310c30 Mon Sep 17 00:00:00 2001 From: Kyu Date: Tue, 21 Mar 2023 15:03:10 -0700 Subject: [PATCH] [pool-cache] Move packages/pool-cache-solidity under apps-node/pool-cache (#257) --- .gitmodules | 8 +-- .../pool-cache}/.gitignore | 0 apps-node/pool-cache/.prettierignore | 7 +++ .../pool-cache}/foundry.toml | 5 +- apps-node/pool-cache/jest.config.js | 1 + apps-node/pool-cache/lib/forge-std | 1 + .../pool-cache}/lib/solmate | 0 apps-node/pool-cache/package.json | 16 ++++-- .../pool-cache}/remappings.txt | 0 .../pool-cache/sol-test}/PoolFetcher.t.sol | 0 .../sol-test}/UniswapV3MathLib.t.sol | 0 .../sol-test}/UniswapV3PoolFetcher.t.sol | 0 .../pool-cache/sol-test}/fakes/FakeERC20.sol | 0 .../sol-test}/fakes/VoidUniswapV3Factory.sol | 0 .../sol-test}/mocks/MockUniswapV3Pool.sol | 0 .../pool-cache}/src/artifacts/index.ts | 2 +- .../pool-cache}/src/contracts/PoolFetcher.sol | 0 .../src/contracts/UniswapV3PoolFetcher.sol | 0 .../src/contracts/utils/FullMathLib.sol | 0 .../src/contracts/utils/SafeERC20Lib.sol | 0 .../src/contracts/utils/UniswapV3MathLib.sol | 0 .../scripts/generate-typescript-artifacts.ts | 0 .../pool-cache}/src/typechain/PoolFetcher.ts | 0 .../pool-cache}/src/typechain/common.ts | 0 .../factories/PoolFetcher__factory.ts | 2 +- .../src/typechain/factories/index.ts | 0 .../pool-cache}/src/typechain/index.ts | 0 .../pool-cache}/turbo.json | 0 packages/pool-cache-solidity/lib/forge-std | 1 - packages/pool-cache-solidity/package.json | 53 ------------------- packages/pool-cache-solidity/src/index.ts | 0 packages/pool-cache-solidity/tsconfig.json | 8 --- 32 files changed, 30 insertions(+), 74 deletions(-) rename {packages/pool-cache-solidity => apps-node/pool-cache}/.gitignore (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/foundry.toml (65%) create mode 160000 apps-node/pool-cache/lib/forge-std rename {packages/pool-cache-solidity => apps-node/pool-cache}/lib/solmate (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/remappings.txt (100%) rename {packages/pool-cache-solidity/test => apps-node/pool-cache/sol-test}/PoolFetcher.t.sol (100%) rename {packages/pool-cache-solidity/test => apps-node/pool-cache/sol-test}/UniswapV3MathLib.t.sol (100%) rename {packages/pool-cache-solidity/test => apps-node/pool-cache/sol-test}/UniswapV3PoolFetcher.t.sol (100%) rename {packages/pool-cache-solidity/test => apps-node/pool-cache/sol-test}/fakes/FakeERC20.sol (100%) rename {packages/pool-cache-solidity/test => apps-node/pool-cache/sol-test}/fakes/VoidUniswapV3Factory.sol (100%) rename {packages/pool-cache-solidity/test => apps-node/pool-cache/sol-test}/mocks/MockUniswapV3Pool.sol (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/artifacts/index.ts (98%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/contracts/PoolFetcher.sol (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/contracts/UniswapV3PoolFetcher.sol (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/contracts/utils/FullMathLib.sol (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/contracts/utils/SafeERC20Lib.sol (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/contracts/utils/UniswapV3MathLib.sol (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/scripts/generate-typescript-artifacts.ts (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/typechain/PoolFetcher.ts (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/typechain/common.ts (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/typechain/factories/PoolFetcher__factory.ts (98%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/typechain/factories/index.ts (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/src/typechain/index.ts (100%) rename {packages/pool-cache-solidity => apps-node/pool-cache}/turbo.json (100%) delete mode 160000 packages/pool-cache-solidity/lib/forge-std delete mode 100644 packages/pool-cache-solidity/package.json delete mode 100644 packages/pool-cache-solidity/src/index.ts delete mode 100644 packages/pool-cache-solidity/tsconfig.json diff --git a/.gitmodules b/.gitmodules index 0af51275f8..d317aadf4a 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,9 +1,9 @@ [submodule "apps-node/api/contracts/lib/forge-std"] path = apps-node/api/contracts/lib/forge-std url = https://github.com/foundry-rs/forge-std -[submodule "packages/pool-cache-solidity/lib/forge-std"] - path = packages/pool-cache-solidity/lib/forge-std +[submodule "apps-node/pool-cache/lib/forge-std"] + path = apps-node/pool-cache/lib/forge-std url = https://github.com/foundry-rs/forge-std -[submodule "packages/pool-cache-solidity/lib/solmate"] - path = packages/pool-cache-solidity/lib/solmate +[submodule "apps-node/pool-cache/lib/solmate"] + path = apps-node/pool-cache/lib/solmate url = https://github.com/transmissions11/solmate diff --git a/packages/pool-cache-solidity/.gitignore b/apps-node/pool-cache/.gitignore similarity index 100% rename from packages/pool-cache-solidity/.gitignore rename to apps-node/pool-cache/.gitignore diff --git a/apps-node/pool-cache/.prettierignore b/apps-node/pool-cache/.prettierignore index 4c56ec8832..48c8203570 100644 --- a/apps-node/pool-cache/.prettierignore +++ b/apps-node/pool-cache/.prettierignore @@ -1,2 +1,9 @@ __build__/ node_modules/ +# foundry: +lib +out +cache + +# generated code: +src/typechain \ No newline at end of file diff --git a/packages/pool-cache-solidity/foundry.toml b/apps-node/pool-cache/foundry.toml similarity index 65% rename from packages/pool-cache-solidity/foundry.toml rename to apps-node/pool-cache/foundry.toml index e6810b2b58..f3edc0409b 100644 --- a/packages/pool-cache-solidity/foundry.toml +++ b/apps-node/pool-cache/foundry.toml @@ -1,6 +1,7 @@ [profile.default] -src = 'src' +src = 'src/contracts' +test = 'sol-test' out = 'out' libs = ['lib'] -# See more config options https://github.com/foundry-rs/foundry/tree/master/config \ No newline at end of file +# See more config options https://github.com/foundry-rs/foundry/tree/master/config diff --git a/apps-node/pool-cache/jest.config.js b/apps-node/pool-cache/jest.config.js index d4dd85225f..85f2958531 100644 --- a/apps-node/pool-cache/jest.config.js +++ b/apps-node/pool-cache/jest.config.js @@ -3,4 +3,5 @@ module.exports = { preset: 'ts-jest', testEnvironment: 'node', testRegex: '\\.test\\.ts$', + modulePathIgnorePatterns: ['/lib/'], }; diff --git a/apps-node/pool-cache/lib/forge-std b/apps-node/pool-cache/lib/forge-std new file mode 160000 index 0000000000..2b58ecbcf3 --- /dev/null +++ b/apps-node/pool-cache/lib/forge-std @@ -0,0 +1 @@ +Subproject commit 2b58ecbcf3dfde7a75959dc7b4eb3d0670278de6 diff --git a/packages/pool-cache-solidity/lib/solmate b/apps-node/pool-cache/lib/solmate similarity index 100% rename from packages/pool-cache-solidity/lib/solmate rename to apps-node/pool-cache/lib/solmate diff --git a/apps-node/pool-cache/package.json b/apps-node/pool-cache/package.json index 4e3ced8cd2..608023a160 100644 --- a/apps-node/pool-cache/package.json +++ b/apps-node/pool-cache/package.json @@ -4,12 +4,17 @@ "private": true, "scripts": { "build": "tsc", + "build:forge": "./../../turbo-bin.sh forge build", + "generate": "yarn build:forge && yarn clean-typechain && yarn generate-typechain && yarn generate-typescript-artifacts", + "generate-typescript-artifacts": "ts-node src/scripts/generate-typescript-artifacts.ts && yarn prettier --write src/artifacts/*", + "generate-typechain": "typechain --target ethers-v6 --out-dir src/typechain 'out/PoolFetcher.sol/!(*metadata*).json'", + "clean-typechain": "rm -rf src/typechain", "dev:server": "nodemon src/main.ts", "examples:client": "tsx examples/client.ts", "fix": "prettier --write .", "lint:ci": "prettier --check . && eslint .", - "test:ci": "jest --runInBand --forceExit", - "test": "jest" + "test:ci": "./../../turbo-bin.sh forge test && jest --runInBand --forceExit", + "test": "./../../turbo-bin.sh forge test && jest" }, "dependencies": { "@trpc/server": "^10.14.1", @@ -18,14 +23,17 @@ "zod": "^3.20.6" }, "devDependencies": { + "@typechain/ethers-v6": "0.3.0", "@types/jest": "^29.5.0", + "eslint-config-common": "*", + "glob": "^9.2.1", "jest": "^29.5.0", "nodemon": "^2.0.21", "ts-jest": "^29.0.5", "ts-node": "^10.9.1", "tsconfig": "*", "tsx": "^3.12.3", - "typescript": "^4.9.5", - "eslint-config-common": "*" + "typechain": "^8.1.1", + "typescript": "^4.9.5" } } diff --git a/packages/pool-cache-solidity/remappings.txt b/apps-node/pool-cache/remappings.txt similarity index 100% rename from packages/pool-cache-solidity/remappings.txt rename to apps-node/pool-cache/remappings.txt diff --git a/packages/pool-cache-solidity/test/PoolFetcher.t.sol b/apps-node/pool-cache/sol-test/PoolFetcher.t.sol similarity index 100% rename from packages/pool-cache-solidity/test/PoolFetcher.t.sol rename to apps-node/pool-cache/sol-test/PoolFetcher.t.sol diff --git a/packages/pool-cache-solidity/test/UniswapV3MathLib.t.sol b/apps-node/pool-cache/sol-test/UniswapV3MathLib.t.sol similarity index 100% rename from packages/pool-cache-solidity/test/UniswapV3MathLib.t.sol rename to apps-node/pool-cache/sol-test/UniswapV3MathLib.t.sol diff --git a/packages/pool-cache-solidity/test/UniswapV3PoolFetcher.t.sol b/apps-node/pool-cache/sol-test/UniswapV3PoolFetcher.t.sol similarity index 100% rename from packages/pool-cache-solidity/test/UniswapV3PoolFetcher.t.sol rename to apps-node/pool-cache/sol-test/UniswapV3PoolFetcher.t.sol diff --git a/packages/pool-cache-solidity/test/fakes/FakeERC20.sol b/apps-node/pool-cache/sol-test/fakes/FakeERC20.sol similarity index 100% rename from packages/pool-cache-solidity/test/fakes/FakeERC20.sol rename to apps-node/pool-cache/sol-test/fakes/FakeERC20.sol diff --git a/packages/pool-cache-solidity/test/fakes/VoidUniswapV3Factory.sol b/apps-node/pool-cache/sol-test/fakes/VoidUniswapV3Factory.sol similarity index 100% rename from packages/pool-cache-solidity/test/fakes/VoidUniswapV3Factory.sol rename to apps-node/pool-cache/sol-test/fakes/VoidUniswapV3Factory.sol diff --git a/packages/pool-cache-solidity/test/mocks/MockUniswapV3Pool.sol b/apps-node/pool-cache/sol-test/mocks/MockUniswapV3Pool.sol similarity index 100% rename from packages/pool-cache-solidity/test/mocks/MockUniswapV3Pool.sol rename to apps-node/pool-cache/sol-test/mocks/MockUniswapV3Pool.sol diff --git a/packages/pool-cache-solidity/src/artifacts/index.ts b/apps-node/pool-cache/src/artifacts/index.ts similarity index 98% rename from packages/pool-cache-solidity/src/artifacts/index.ts rename to apps-node/pool-cache/src/artifacts/index.ts index b7646e2456..6e84579faa 100644 --- a/packages/pool-cache-solidity/src/artifacts/index.ts +++ b/apps-node/pool-cache/src/artifacts/index.ts @@ -1,4 +1,4 @@ export const deployedBytecode = { PoolFetcher: - '0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063095c72ec146100465780635b1dc86f1461006f578063705e474b14610082575b600080fd5b6100596100543660046108e2565b6100b5565b60405161006691906109c2565b60405180910390f35b61005961007d366004610a29565b610207565b61009d731f98431c8ad98523631ae4a59f267346ea31f98481565b6040516001600160a01b039091168152602001610066565b6060600482516100c59190610a78565b67ffffffffffffffff8111156100dd576100dd61085a565b60405190808252806020026020018201604052801561012857816020015b60408051606081018252600080825260208083018290529282015282526000199092019101816100fb5790505b50905060005b825181101561020157600061017d84838151811061014e5761014e610a8f565b60200260200101516000015185848151811061016c5761016c610a8f565b602002602001015160200151610207565b905060005b60048110156101ec5781818151811061019d5761019d610a8f565b602002602001015184826004866101b49190610a78565b6101be9190610aa5565b815181106101ce576101ce610a8f565b602002602001018190525080806101e490610ab8565b915050610182565b505080806101f990610ab8565b91505061012e565b50919050565b60408051600480825260a08201909252606091816020015b604080516060810182526000808252602080830182905292820152825260001990920191018161021f57505060408051608081018252606481526101f46020820152610bb891810191909152612710606082015290915060005b60048110156102d3576102a3858584846004811061029957610299610a8f565b60200201516102db565b8382815181106102b5576102b5610a8f565b602002602001018190525080806102cb90610ab8565b915050610279565b505092915050565b6040805160608101825260008082526020820181905291810191909152604051630b4c774160e11b81526001600160a01b0380861660048301528416602482015262ffffff83166044820152600090731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290606401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610ad1565b6001600160a01b0381166020840181905262ffffff851684529091506103b05750610618565b60008190506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190610ad1565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047f9190610ad1565b90506000836001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610b16565b505050505050905060006104f9848361061f565b6040516370a0823160e01b81526001600160a01b03888116600483015291925060009161059391908716906370a0823190602401602060405180830381865afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e9190610bb1565b836105836001600160a01b0389166012610671565b61058e90600a610cae565b6106e1565b6040516370a0823160e01b81526001600160a01b038981166004830152919250908516906370a0823190602401602060405180830381865afa1580156105dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106019190610bb1565b61060b9082610aa5565b6040890152505050505050505b9392505050565b6000806106366001600160a01b0385166012610671565b9050600061064d6001600160a01b03851680610a78565b90506106688161065e84600a610cae565b600160c01b6106e1565b95945050505050565b6000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156106cd575060408051601f3d908101601f191682019092526106ca91810190610cbd565b60015b6106d85750806106db565b90505b92915050565b600080806000198587098587029250828110838203039150508060000361071a576000841161070f57600080fd5b508290049050610618565b80841161072657600080fd5b600084868809808403938111909203919050600061074686196001610aa5565b86169586900495938490049360008190030460010190506107678184610a78565b909317926000610778876003610a78565b60021890506107878188610a78565b610792906002610cd8565b61079c9082610a78565b90506107a88188610a78565b6107b3906002610cd8565b6107bd9082610a78565b90506107c98188610a78565b6107d4906002610cd8565b6107de9082610a78565b90506107ea8188610a78565b6107f5906002610cd8565b6107ff9082610a78565b905061080b8188610a78565b610816906002610cd8565b6108209082610a78565b905061082c8188610a78565b610837906002610cd8565b6108419082610a78565b905061084d8186610a78565b9998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156108935761089361085a565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156108c2576108c261085a565b604052919050565b6001600160a01b03811681146108df57600080fd5b50565b600060208083850312156108f557600080fd5b823567ffffffffffffffff8082111561090d57600080fd5b818501915085601f83011261092157600080fd5b8135818111156109335761093361085a565b610941848260051b01610899565b818152848101925060069190911b83018401908782111561096157600080fd5b928401925b818410156109b7576040848903121561097f5760008081fd5b610987610870565b8435610992816108ca565b8152848601356109a1816108ca565b8187015283526040939093019291840191610966565b979650505050505050565b602080825282518282018190526000919060409081850190868401855b82811015610a1c578151805162ffffff168552868101516001600160a01b03168786015285015185850152606090930192908501906001016109df565b5091979650505050505050565b60008060408385031215610a3c57600080fd5b8235610a47816108ca565b91506020830135610a57816108ca565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106db576106db610a62565b634e487b7160e01b600052603260045260246000fd5b808201808211156106db576106db610a62565b600060018201610aca57610aca610a62565b5060010190565b600060208284031215610ae357600080fd5b8151610618816108ca565b805161ffff81168114610b0057600080fd5b919050565b805160ff81168114610b0057600080fd5b600080600080600080600060e0888a031215610b3157600080fd5b8751610b3c816108ca565b8097505060208801518060020b8114610b5457600080fd5b9550610b6260408901610aee565b9450610b7060608901610aee565b9350610b7e60808901610aee565b9250610b8c60a08901610b05565b915060c08801518015158114610ba157600080fd5b8091505092959891949750929550565b600060208284031215610bc357600080fd5b5051919050565b600181815b80851115610c05578160001904821115610beb57610beb610a62565b80851615610bf857918102915b93841c9390800290610bcf565b509250929050565b600082610c1c575060016106db565b81610c29575060006106db565b8160018114610c3f5760028114610c4957610c65565b60019150506106db565b60ff841115610c5a57610c5a610a62565b50506001821b6106db565b5060208310610133831016604e8410600b8410161715610c88575081810a6106db565b610c928383610bca565b8060001904821115610ca657610ca6610a62565b029392505050565b600061061860ff841683610c0d565b600060208284031215610ccf57600080fd5b61061882610b05565b818103818111156106db576106db610a6256fea264697066735822122014e32ea0a8803ee02d2da0806c02ce48f7e15bbc6420bb498a8ff76fe1794a3264736f6c63430008130033', + '0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063095c72ec146100465780635b1dc86f1461006f578063705e474b14610082575b600080fd5b6100596100543660046108e2565b6100b5565b60405161006691906109c2565b60405180910390f35b61005961007d366004610a29565b610207565b61009d731f98431c8ad98523631ae4a59f267346ea31f98481565b6040516001600160a01b039091168152602001610066565b6060600482516100c59190610a78565b67ffffffffffffffff8111156100dd576100dd61085a565b60405190808252806020026020018201604052801561012857816020015b60408051606081018252600080825260208083018290529282015282526000199092019101816100fb5790505b50905060005b825181101561020157600061017d84838151811061014e5761014e610a8f565b60200260200101516000015185848151811061016c5761016c610a8f565b602002602001015160200151610207565b905060005b60048110156101ec5781818151811061019d5761019d610a8f565b602002602001015184826004866101b49190610a78565b6101be9190610aa5565b815181106101ce576101ce610a8f565b602002602001018190525080806101e490610ab8565b915050610182565b505080806101f990610ab8565b91505061012e565b50919050565b60408051600480825260a08201909252606091816020015b604080516060810182526000808252602080830182905292820152825260001990920191018161021f57505060408051608081018252606481526101f46020820152610bb891810191909152612710606082015290915060005b60048110156102d3576102a3858584846004811061029957610299610a8f565b60200201516102db565b8382815181106102b5576102b5610a8f565b602002602001018190525080806102cb90610ab8565b915050610279565b505092915050565b6040805160608101825260008082526020820181905291810191909152604051630b4c774160e11b81526001600160a01b0380861660048301528416602482015262ffffff83166044820152600090731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290606401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610ad1565b6001600160a01b0381166020840181905262ffffff851684529091506103b05750610618565b60008190506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190610ad1565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047f9190610ad1565b90506000836001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610b16565b505050505050905060006104f9848361061f565b6040516370a0823160e01b81526001600160a01b03888116600483015291925060009161059391908716906370a0823190602401602060405180830381865afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e9190610bb1565b836105836001600160a01b0389166012610671565b61058e90600a610cae565b6106e1565b6040516370a0823160e01b81526001600160a01b038981166004830152919250908516906370a0823190602401602060405180830381865afa1580156105dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106019190610bb1565b61060b9082610aa5565b6040890152505050505050505b9392505050565b6000806106366001600160a01b0385166012610671565b9050600061064d6001600160a01b03851680610a78565b90506106688161065e84600a610cae565b600160c01b6106e1565b95945050505050565b6000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156106cd575060408051601f3d908101601f191682019092526106ca91810190610cbd565b60015b6106d85750806106db565b90505b92915050565b600080806000198587098587029250828110838203039150508060000361071a576000841161070f57600080fd5b508290049050610618565b80841161072657600080fd5b600084868809808403938111909203919050600061074686196001610aa5565b86169586900495938490049360008190030460010190506107678184610a78565b909317926000610778876003610a78565b60021890506107878188610a78565b610792906002610cd8565b61079c9082610a78565b90506107a88188610a78565b6107b3906002610cd8565b6107bd9082610a78565b90506107c98188610a78565b6107d4906002610cd8565b6107de9082610a78565b90506107ea8188610a78565b6107f5906002610cd8565b6107ff9082610a78565b905061080b8188610a78565b610816906002610cd8565b6108209082610a78565b905061082c8188610a78565b610837906002610cd8565b6108419082610a78565b905061084d8186610a78565b9998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156108935761089361085a565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156108c2576108c261085a565b604052919050565b6001600160a01b03811681146108df57600080fd5b50565b600060208083850312156108f557600080fd5b823567ffffffffffffffff8082111561090d57600080fd5b818501915085601f83011261092157600080fd5b8135818111156109335761093361085a565b610941848260051b01610899565b818152848101925060069190911b83018401908782111561096157600080fd5b928401925b818410156109b7576040848903121561097f5760008081fd5b610987610870565b8435610992816108ca565b8152848601356109a1816108ca565b8187015283526040939093019291840191610966565b979650505050505050565b602080825282518282018190526000919060409081850190868401855b82811015610a1c578151805162ffffff168552868101516001600160a01b03168786015285015185850152606090930192908501906001016109df565b5091979650505050505050565b60008060408385031215610a3c57600080fd5b8235610a47816108ca565b91506020830135610a57816108ca565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106db576106db610a62565b634e487b7160e01b600052603260045260246000fd5b808201808211156106db576106db610a62565b600060018201610aca57610aca610a62565b5060010190565b600060208284031215610ae357600080fd5b8151610618816108ca565b805161ffff81168114610b0057600080fd5b919050565b805160ff81168114610b0057600080fd5b600080600080600080600060e0888a031215610b3157600080fd5b8751610b3c816108ca565b8097505060208801518060020b8114610b5457600080fd5b9550610b6260408901610aee565b9450610b7060608901610aee565b9350610b7e60808901610aee565b9250610b8c60a08901610b05565b915060c08801518015158114610ba157600080fd5b8091505092959891949750929550565b600060208284031215610bc357600080fd5b5051919050565b600181815b80851115610c05578160001904821115610beb57610beb610a62565b80851615610bf857918102915b93841c9390800290610bcf565b509250929050565b600082610c1c575060016106db565b81610c29575060006106db565b8160018114610c3f5760028114610c4957610c65565b60019150506106db565b60ff841115610c5a57610c5a610a62565b50506001821b6106db565b5060208310610133831016604e8410600b8410161715610c88575081810a6106db565b610c928383610bca565b8060001904821115610ca657610ca6610a62565b029392505050565b600061061860ff841683610c0d565b600060208284031215610ccf57600080fd5b61061882610b05565b818103818111156106db576106db610a6256fea264697066735822122092af6a61b2a974361cec5b7cc36050325707aeebe186b15e65be4defe368d1e864736f6c63430008130033', }; diff --git a/packages/pool-cache-solidity/src/contracts/PoolFetcher.sol b/apps-node/pool-cache/src/contracts/PoolFetcher.sol similarity index 100% rename from packages/pool-cache-solidity/src/contracts/PoolFetcher.sol rename to apps-node/pool-cache/src/contracts/PoolFetcher.sol diff --git a/packages/pool-cache-solidity/src/contracts/UniswapV3PoolFetcher.sol b/apps-node/pool-cache/src/contracts/UniswapV3PoolFetcher.sol similarity index 100% rename from packages/pool-cache-solidity/src/contracts/UniswapV3PoolFetcher.sol rename to apps-node/pool-cache/src/contracts/UniswapV3PoolFetcher.sol diff --git a/packages/pool-cache-solidity/src/contracts/utils/FullMathLib.sol b/apps-node/pool-cache/src/contracts/utils/FullMathLib.sol similarity index 100% rename from packages/pool-cache-solidity/src/contracts/utils/FullMathLib.sol rename to apps-node/pool-cache/src/contracts/utils/FullMathLib.sol diff --git a/packages/pool-cache-solidity/src/contracts/utils/SafeERC20Lib.sol b/apps-node/pool-cache/src/contracts/utils/SafeERC20Lib.sol similarity index 100% rename from packages/pool-cache-solidity/src/contracts/utils/SafeERC20Lib.sol rename to apps-node/pool-cache/src/contracts/utils/SafeERC20Lib.sol diff --git a/packages/pool-cache-solidity/src/contracts/utils/UniswapV3MathLib.sol b/apps-node/pool-cache/src/contracts/utils/UniswapV3MathLib.sol similarity index 100% rename from packages/pool-cache-solidity/src/contracts/utils/UniswapV3MathLib.sol rename to apps-node/pool-cache/src/contracts/utils/UniswapV3MathLib.sol diff --git a/packages/pool-cache-solidity/src/scripts/generate-typescript-artifacts.ts b/apps-node/pool-cache/src/scripts/generate-typescript-artifacts.ts similarity index 100% rename from packages/pool-cache-solidity/src/scripts/generate-typescript-artifacts.ts rename to apps-node/pool-cache/src/scripts/generate-typescript-artifacts.ts diff --git a/packages/pool-cache-solidity/src/typechain/PoolFetcher.ts b/apps-node/pool-cache/src/typechain/PoolFetcher.ts similarity index 100% rename from packages/pool-cache-solidity/src/typechain/PoolFetcher.ts rename to apps-node/pool-cache/src/typechain/PoolFetcher.ts diff --git a/packages/pool-cache-solidity/src/typechain/common.ts b/apps-node/pool-cache/src/typechain/common.ts similarity index 100% rename from packages/pool-cache-solidity/src/typechain/common.ts rename to apps-node/pool-cache/src/typechain/common.ts diff --git a/packages/pool-cache-solidity/src/typechain/factories/PoolFetcher__factory.ts b/apps-node/pool-cache/src/typechain/factories/PoolFetcher__factory.ts similarity index 98% rename from packages/pool-cache-solidity/src/typechain/factories/PoolFetcher__factory.ts rename to apps-node/pool-cache/src/typechain/factories/PoolFetcher__factory.ts index 20eeb80861..5bdf5c49ad 100644 --- a/packages/pool-cache-solidity/src/typechain/factories/PoolFetcher__factory.ts +++ b/apps-node/pool-cache/src/typechain/factories/PoolFetcher__factory.ts @@ -119,7 +119,7 @@ const _abi = [ ] as const; const _bytecode = - "0x608060405234801561001057600080fd5b50610d21806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063095c72ec146100465780635b1dc86f1461006f578063705e474b14610082575b600080fd5b6100596100543660046108e2565b6100b5565b60405161006691906109c2565b60405180910390f35b61005961007d366004610a29565b610207565b61009d731f98431c8ad98523631ae4a59f267346ea31f98481565b6040516001600160a01b039091168152602001610066565b6060600482516100c59190610a78565b67ffffffffffffffff8111156100dd576100dd61085a565b60405190808252806020026020018201604052801561012857816020015b60408051606081018252600080825260208083018290529282015282526000199092019101816100fb5790505b50905060005b825181101561020157600061017d84838151811061014e5761014e610a8f565b60200260200101516000015185848151811061016c5761016c610a8f565b602002602001015160200151610207565b905060005b60048110156101ec5781818151811061019d5761019d610a8f565b602002602001015184826004866101b49190610a78565b6101be9190610aa5565b815181106101ce576101ce610a8f565b602002602001018190525080806101e490610ab8565b915050610182565b505080806101f990610ab8565b91505061012e565b50919050565b60408051600480825260a08201909252606091816020015b604080516060810182526000808252602080830182905292820152825260001990920191018161021f57505060408051608081018252606481526101f46020820152610bb891810191909152612710606082015290915060005b60048110156102d3576102a3858584846004811061029957610299610a8f565b60200201516102db565b8382815181106102b5576102b5610a8f565b602002602001018190525080806102cb90610ab8565b915050610279565b505092915050565b6040805160608101825260008082526020820181905291810191909152604051630b4c774160e11b81526001600160a01b0380861660048301528416602482015262ffffff83166044820152600090731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290606401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610ad1565b6001600160a01b0381166020840181905262ffffff851684529091506103b05750610618565b60008190506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190610ad1565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047f9190610ad1565b90506000836001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610b16565b505050505050905060006104f9848361061f565b6040516370a0823160e01b81526001600160a01b03888116600483015291925060009161059391908716906370a0823190602401602060405180830381865afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e9190610bb1565b836105836001600160a01b0389166012610671565b61058e90600a610cae565b6106e1565b6040516370a0823160e01b81526001600160a01b038981166004830152919250908516906370a0823190602401602060405180830381865afa1580156105dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106019190610bb1565b61060b9082610aa5565b6040890152505050505050505b9392505050565b6000806106366001600160a01b0385166012610671565b9050600061064d6001600160a01b03851680610a78565b90506106688161065e84600a610cae565b600160c01b6106e1565b95945050505050565b6000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156106cd575060408051601f3d908101601f191682019092526106ca91810190610cbd565b60015b6106d85750806106db565b90505b92915050565b600080806000198587098587029250828110838203039150508060000361071a576000841161070f57600080fd5b508290049050610618565b80841161072657600080fd5b600084868809808403938111909203919050600061074686196001610aa5565b86169586900495938490049360008190030460010190506107678184610a78565b909317926000610778876003610a78565b60021890506107878188610a78565b610792906002610cd8565b61079c9082610a78565b90506107a88188610a78565b6107b3906002610cd8565b6107bd9082610a78565b90506107c98188610a78565b6107d4906002610cd8565b6107de9082610a78565b90506107ea8188610a78565b6107f5906002610cd8565b6107ff9082610a78565b905061080b8188610a78565b610816906002610cd8565b6108209082610a78565b905061082c8188610a78565b610837906002610cd8565b6108419082610a78565b905061084d8186610a78565b9998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156108935761089361085a565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156108c2576108c261085a565b604052919050565b6001600160a01b03811681146108df57600080fd5b50565b600060208083850312156108f557600080fd5b823567ffffffffffffffff8082111561090d57600080fd5b818501915085601f83011261092157600080fd5b8135818111156109335761093361085a565b610941848260051b01610899565b818152848101925060069190911b83018401908782111561096157600080fd5b928401925b818410156109b7576040848903121561097f5760008081fd5b610987610870565b8435610992816108ca565b8152848601356109a1816108ca565b8187015283526040939093019291840191610966565b979650505050505050565b602080825282518282018190526000919060409081850190868401855b82811015610a1c578151805162ffffff168552868101516001600160a01b03168786015285015185850152606090930192908501906001016109df565b5091979650505050505050565b60008060408385031215610a3c57600080fd5b8235610a47816108ca565b91506020830135610a57816108ca565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106db576106db610a62565b634e487b7160e01b600052603260045260246000fd5b808201808211156106db576106db610a62565b600060018201610aca57610aca610a62565b5060010190565b600060208284031215610ae357600080fd5b8151610618816108ca565b805161ffff81168114610b0057600080fd5b919050565b805160ff81168114610b0057600080fd5b600080600080600080600060e0888a031215610b3157600080fd5b8751610b3c816108ca565b8097505060208801518060020b8114610b5457600080fd5b9550610b6260408901610aee565b9450610b7060608901610aee565b9350610b7e60808901610aee565b9250610b8c60a08901610b05565b915060c08801518015158114610ba157600080fd5b8091505092959891949750929550565b600060208284031215610bc357600080fd5b5051919050565b600181815b80851115610c05578160001904821115610beb57610beb610a62565b80851615610bf857918102915b93841c9390800290610bcf565b509250929050565b600082610c1c575060016106db565b81610c29575060006106db565b8160018114610c3f5760028114610c4957610c65565b60019150506106db565b60ff841115610c5a57610c5a610a62565b50506001821b6106db565b5060208310610133831016604e8410600b8410161715610c88575081810a6106db565b610c928383610bca565b8060001904821115610ca657610ca6610a62565b029392505050565b600061061860ff841683610c0d565b600060208284031215610ccf57600080fd5b61061882610b05565b818103818111156106db576106db610a6256fea264697066735822122014e32ea0a8803ee02d2da0806c02ce48f7e15bbc6420bb498a8ff76fe1794a3264736f6c63430008130033"; + "0x608060405234801561001057600080fd5b50610d21806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c8063095c72ec146100465780635b1dc86f1461006f578063705e474b14610082575b600080fd5b6100596100543660046108e2565b6100b5565b60405161006691906109c2565b60405180910390f35b61005961007d366004610a29565b610207565b61009d731f98431c8ad98523631ae4a59f267346ea31f98481565b6040516001600160a01b039091168152602001610066565b6060600482516100c59190610a78565b67ffffffffffffffff8111156100dd576100dd61085a565b60405190808252806020026020018201604052801561012857816020015b60408051606081018252600080825260208083018290529282015282526000199092019101816100fb5790505b50905060005b825181101561020157600061017d84838151811061014e5761014e610a8f565b60200260200101516000015185848151811061016c5761016c610a8f565b602002602001015160200151610207565b905060005b60048110156101ec5781818151811061019d5761019d610a8f565b602002602001015184826004866101b49190610a78565b6101be9190610aa5565b815181106101ce576101ce610a8f565b602002602001018190525080806101e490610ab8565b915050610182565b505080806101f990610ab8565b91505061012e565b50919050565b60408051600480825260a08201909252606091816020015b604080516060810182526000808252602080830182905292820152825260001990920191018161021f57505060408051608081018252606481526101f46020820152610bb891810191909152612710606082015290915060005b60048110156102d3576102a3858584846004811061029957610299610a8f565b60200201516102db565b8382815181106102b5576102b5610a8f565b602002602001018190525080806102cb90610ab8565b915050610279565b505092915050565b6040805160608101825260008082526020820181905291810191909152604051630b4c774160e11b81526001600160a01b0380861660048301528416602482015262ffffff83166044820152600090731f98431c8ad98523631ae4a59f267346ea31f98490631698ee8290606401602060405180830381865afa158015610366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061038a9190610ad1565b6001600160a01b0381166020840181905262ffffff851684529091506103b05750610618565b60008190506000816001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156103f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104199190610ad1565b90506000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa15801561045b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047f9190610ad1565b90506000836001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e060405180830381865afa1580156104c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e59190610b16565b505050505050905060006104f9848361061f565b6040516370a0823160e01b81526001600160a01b03888116600483015291925060009161059391908716906370a0823190602401602060405180830381865afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061056e9190610bb1565b836105836001600160a01b0389166012610671565b61058e90600a610cae565b6106e1565b6040516370a0823160e01b81526001600160a01b038981166004830152919250908516906370a0823190602401602060405180830381865afa1580156105dd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106019190610bb1565b61060b9082610aa5565b6040890152505050505050505b9392505050565b6000806106366001600160a01b0385166012610671565b9050600061064d6001600160a01b03851680610a78565b90506106688161065e84600a610cae565b600160c01b6106e1565b95945050505050565b6000826001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156106cd575060408051601f3d908101601f191682019092526106ca91810190610cbd565b60015b6106d85750806106db565b90505b92915050565b600080806000198587098587029250828110838203039150508060000361071a576000841161070f57600080fd5b508290049050610618565b80841161072657600080fd5b600084868809808403938111909203919050600061074686196001610aa5565b86169586900495938490049360008190030460010190506107678184610a78565b909317926000610778876003610a78565b60021890506107878188610a78565b610792906002610cd8565b61079c9082610a78565b90506107a88188610a78565b6107b3906002610cd8565b6107bd9082610a78565b90506107c98188610a78565b6107d4906002610cd8565b6107de9082610a78565b90506107ea8188610a78565b6107f5906002610cd8565b6107ff9082610a78565b905061080b8188610a78565b610816906002610cd8565b6108209082610a78565b905061082c8188610a78565b610837906002610cd8565b6108419082610a78565b905061084d8186610a78565b9998505050505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156108935761089361085a565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156108c2576108c261085a565b604052919050565b6001600160a01b03811681146108df57600080fd5b50565b600060208083850312156108f557600080fd5b823567ffffffffffffffff8082111561090d57600080fd5b818501915085601f83011261092157600080fd5b8135818111156109335761093361085a565b610941848260051b01610899565b818152848101925060069190911b83018401908782111561096157600080fd5b928401925b818410156109b7576040848903121561097f5760008081fd5b610987610870565b8435610992816108ca565b8152848601356109a1816108ca565b8187015283526040939093019291840191610966565b979650505050505050565b602080825282518282018190526000919060409081850190868401855b82811015610a1c578151805162ffffff168552868101516001600160a01b03168786015285015185850152606090930192908501906001016109df565b5091979650505050505050565b60008060408385031215610a3c57600080fd5b8235610a47816108ca565b91506020830135610a57816108ca565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b80820281158282048414176106db576106db610a62565b634e487b7160e01b600052603260045260246000fd5b808201808211156106db576106db610a62565b600060018201610aca57610aca610a62565b5060010190565b600060208284031215610ae357600080fd5b8151610618816108ca565b805161ffff81168114610b0057600080fd5b919050565b805160ff81168114610b0057600080fd5b600080600080600080600060e0888a031215610b3157600080fd5b8751610b3c816108ca565b8097505060208801518060020b8114610b5457600080fd5b9550610b6260408901610aee565b9450610b7060608901610aee565b9350610b7e60808901610aee565b9250610b8c60a08901610b05565b915060c08801518015158114610ba157600080fd5b8091505092959891949750929550565b600060208284031215610bc357600080fd5b5051919050565b600181815b80851115610c05578160001904821115610beb57610beb610a62565b80851615610bf857918102915b93841c9390800290610bcf565b509250929050565b600082610c1c575060016106db565b81610c29575060006106db565b8160018114610c3f5760028114610c4957610c65565b60019150506106db565b60ff841115610c5a57610c5a610a62565b50506001821b6106db565b5060208310610133831016604e8410600b8410161715610c88575081810a6106db565b610c928383610bca565b8060001904821115610ca657610ca6610a62565b029392505050565b600061061860ff841683610c0d565b600060208284031215610ccf57600080fd5b61061882610b05565b818103818111156106db576106db610a6256fea264697066735822122092af6a61b2a974361cec5b7cc36050325707aeebe186b15e65be4defe368d1e864736f6c63430008130033"; type PoolFetcherConstructorParams = | [signer?: Signer] diff --git a/packages/pool-cache-solidity/src/typechain/factories/index.ts b/apps-node/pool-cache/src/typechain/factories/index.ts similarity index 100% rename from packages/pool-cache-solidity/src/typechain/factories/index.ts rename to apps-node/pool-cache/src/typechain/factories/index.ts diff --git a/packages/pool-cache-solidity/src/typechain/index.ts b/apps-node/pool-cache/src/typechain/index.ts similarity index 100% rename from packages/pool-cache-solidity/src/typechain/index.ts rename to apps-node/pool-cache/src/typechain/index.ts diff --git a/packages/pool-cache-solidity/turbo.json b/apps-node/pool-cache/turbo.json similarity index 100% rename from packages/pool-cache-solidity/turbo.json rename to apps-node/pool-cache/turbo.json diff --git a/packages/pool-cache-solidity/lib/forge-std b/packages/pool-cache-solidity/lib/forge-std deleted file mode 160000 index c2236853aa..0000000000 --- a/packages/pool-cache-solidity/lib/forge-std +++ /dev/null @@ -1 +0,0 @@ -Subproject commit c2236853aadb8e2d9909bbecdc490099519b70a4 diff --git a/packages/pool-cache-solidity/package.json b/packages/pool-cache-solidity/package.json deleted file mode 100644 index dcc3f59a06..0000000000 --- a/packages/pool-cache-solidity/package.json +++ /dev/null @@ -1,53 +0,0 @@ -{ - "name": "pool-cache-solidity", - "version": "0.0.0", - "private": true, - "main": "__build__/index.js", - "types": "src/index.ts", - "scripts": { - "build": "tsc", - "build:forge": "./../../turbo-bin.sh forge build", - "clean-typechain": "rm -rf src/typechain", - "generate": "yarn build:forge && yarn clean-typechain && yarn generate-typechain && yarn generate-typescript-artifacts", - "generate-typescript-artifacts": "ts-node src/scripts/generate-typescript-artifacts.ts && yarn prettier --write src/artifacts/*", - "generate-typechain": "typechain --target ethers-v6 --out-dir src/typechain 'out/PoolFetcher.sol/!(*metadata*).json'", - "test:ci": "./../../turbo-bin.sh forge test" - }, - "devDependencies": { - "@typechain/ethers-v6": "0.3.0", - "glob": "^9.2.1", - "prettier": "^2.8.4", - "ts-node": "^10.9.1", - "tsconfig": "*", - "typechain": "^8.1.1", - "typescript": "^4.9.5", - "ethers": "6.1.0" - }, - "peerDependencies": { - "ethers": "^6.1.0" - }, - "exports": { - ".": { - "import": "./__build__/index.js", - "types": "./src/index.ts" - }, - "./typechain": { - "import": "./__build__/typechain/index.js", - "types": "./src/typechain/index.ts" - }, - "./artifacts": { - "import": "./__build__/artifacts/index.js", - "types": "./src/artifacts/index.ts" - } - }, - "typesVersions": { - "*": { - "typechain": [ - "src/typechain/index.ts" - ], - "artifacts": [ - "src/artifacts/index.ts" - ] - } - } -} diff --git a/packages/pool-cache-solidity/src/index.ts b/packages/pool-cache-solidity/src/index.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/packages/pool-cache-solidity/tsconfig.json b/packages/pool-cache-solidity/tsconfig.json deleted file mode 100644 index f262588284..0000000000 --- a/packages/pool-cache-solidity/tsconfig.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "compilerOptions": { - "outDir": "__build__", - "rootDir": "src" - }, - "extends": "tsconfig/tsconfig.common.json", - "include": ["src/**/*.ts"] -}