Skip to content

Commit

Permalink
Small improvements
Browse files Browse the repository at this point in the history
  • Loading branch information
0xnavigator committed Mar 31, 2023
1 parent 9b974c1 commit 4a3d2c9
Show file tree
Hide file tree
Showing 12 changed files with 400 additions and 235 deletions.
1 change: 1 addition & 0 deletions .gitignore
Expand Up @@ -20,3 +20,4 @@ dist/

# IDE
.idea
.vscode
4 changes: 4 additions & 0 deletions Makefile
Expand Up @@ -2,6 +2,10 @@
# (-include to ignore error if it does not exist)
-include .env

deploy:; forge script script/Swapper.s.sol:SwapperScript --rpc-url $(MAINNET_RPC) --broadcast

deployTest:; forge script script/Swapper.s.sol:SwapperScript --rpc-url "http://localhost:8545" --broadcast

gas-report:
forge test -vv --gas-report --fork-url $(MAINNET_RPC)

Expand Down
32 changes: 32 additions & 0 deletions broadcast/Swapper.s.sol/1/run-1677751305.json
@@ -0,0 +1,32 @@
{
"transactions": [
{
"hash": null,
"transactionType": "CREATE",
"contractName": "SwapperScript",
"contractAddress": "0x5b73C5498c1E3b4dbA84de0F1833c4a029d90519",
"function": null,
"arguments": null,
"rpc": "http://localhost:8545",
"transaction": {
"type": "0x02",
"from": "0x1804c8ab1f12e6bbf3894d4083f33e07309d1f38",
"gas": "0x1c53af",
"value": "0x0",
"data": "0x60c06040523480156200001157600080fd5b50604051620019b6380380620019b6833981016040819052620000349162000070565b6001600160601b0319606092831b8116608052911b1660a052620000a7565b80516001600160a01b03811681146200006b57600080fd5b919050565b6000806040838503121562000083578182fd5b6200008e8362000053565b91506200009e6020840162000053565b90509250929050565b60805160601c60a05160601c6118d7620000df6000398061018a528061054c528061066b52508060b1528061069552506118d76000f3fe608060405234801561001057600080fd5b506004361061004c5760003560e01c80632b1d7ef71461005157806341c64a2f1461007a578063552f888a1461008f578063f73e5aab146100a4575b600080fd5b61006461005f3660046115a0565b6100ac565b60405161007191906117c9565b60405180910390f35b610082610669565b6040516100719190611715565b61009761068d565b60405161007191906117ba565b610082610693565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316631698ee828460200151856040015186606001516040518463ffffffff1660e01b815260040161010b93929190611729565b60206040518083038186803b15801561012357600080fd5b505afa158015610137573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061015b9190611584565b90506101853330856080015186602001516001600160a01b03166106b7909392919063ffffffff16565b6101cb7f0000000000000000000000000000000000000000000000000000000000000000846080015185602001516001600160a01b03166107179092919063ffffffff16565b60008360c0015163ffffffff166000146101f2576101ed828560c0015161082f565b6101fb565b6101fb82610852565b90506000826001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561023857600080fd5b505afa15801561024c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102709190611584565b6001600160a01b031685604001516001600160a01b0316146103805761037b828660800151856001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156102ce57600080fd5b505afa1580156102e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103069190611584565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561033e57600080fd5b505afa158015610352573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061037691906116fb565b6108d2565b61046f565b61046f828660800151856001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b1580156103c257600080fd5b505afa1580156103d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103fa9190611584565b6001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561043257600080fd5b505afa158015610446573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061046a91906116fb565b610904565b905060006104836000838860a0015161093d565b90506000846001600160a01b031663d21220a76040518163ffffffff1660e01b815260040160206040518083038186803b1580156104c057600080fd5b505afa1580156104d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f89190611584565b6001600160a01b031687602001516001600160a01b03161461053a57610535600061052287610852565b6001600160a01b03168960a0015161093d565b610548565b610548600161052287610852565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663414bf3896040518061010001604052808a602001516001600160a01b031681526020018a604001516001600160a01b031681526020018a6060015162ffffff1681526020018a600001516001600160a01b031681526020014281526020018a608001518152602001858152602001846001600160a01b03168152506040518263ffffffff1660e01b815260040161060c9190611751565b602060405180830381600087803b15801561062657600080fd5b505af115801561063a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061065e91906116e3565b979650505050505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b61271081565b7f000000000000000000000000000000000000000000000000000000000000000081565b604080516001600160a01b0380861660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261071190859061098d565b50505050565b80158061079d575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561076f57600080fd5b505afa158015610783573d6000803e3d6000fd5b505050506040513d602081101561079957600080fd5b5051155b6107d85760405162461bcd60e51b815260040180806020018281038252603681526020018061186c6036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b17905261082a90849061098d565b505050565b60008061083c8484610a3e565b50905061084881610dad565b9150505b92915050565b6000816001600160a01b0316633850c7bd6040518163ffffffff1660e01b815260040160e06040518083038186803b15801561088d57600080fd5b505afa1580156108a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108c59190611642565b5094979650505050505050565b6000806108df85846110df565b90506108fb60ff8416600a0a6108f58684611103565b9061115c565b95945050505050565b60008061091185846110df565b905080610922576000915050610936565b6108fb816108f58660ff8716600a0a611103565b9392505050565b6000836109675761096261095b6127106108f58661ffff8716611103565b84906111c3565b610985565b6109858361097f6127106108f58361ffff8816611103565b90611220565b949350505050565b60006109e2826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661127a9092919063ffffffff16565b80519091501561082a57808060200190516020811015610a0157600080fd5b505161082a5760405162461bcd60e51b815260040180806020018281038252602a815260200180611842602a913960400191505060405180910390fd5b60008063ffffffff8316610a7e576040805162461bcd60e51b8152602060048201526002602482015261042560f41b604482015290519081900360640190fd5b6040805160028082526060820183526000926020830190803683370190505090508381600081518110610aad57fe5b602002602001019063ffffffff16908163ffffffff1681525050600081600181518110610ad657fe5b63ffffffff90921660209283029190910182015260405163883bdbfd60e01b81526004810182815283516024830152835160009384936001600160a01b038b169363883bdbfd9388939192839260449091019185820191028083838b5b83811015610b4b578181015183820152602001610b33565b505050509050019250505060006040518083038186803b158015610b6e57600080fd5b505afa158015610b82573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610bab57600080fd5b8101908080516040519392919084640100000000821115610bcb57600080fd5b908301906020820185811115610be057600080fd5b8251866020820283011164010000000082111715610bfd57600080fd5b82525081516020918201928201910280838360005b83811015610c2a578181015183820152602001610c12565b5050505090500160405260200180516040519392919084640100000000821115610c5357600080fd5b908301906020820185811115610c6857600080fd5b8251866020820283011164010000000082111715610c8557600080fd5b82525081516020918201928201910280838360005b83811015610cb2578181015183820152602001610c9a565b5050505090500160405250505091509150600082600081518110610cd257fe5b602002602001015183600181518110610ce757fe5b6020026020010151039050600082600081518110610d0157fe5b602002602001015183600181518110610d1657fe5b60200260200101510390508763ffffffff168260060b81610d3357fe5b05965060008260060b128015610d5d57508763ffffffff168260060b81610d5657fe5b0760060b15155b15610d6a57600019909601955b63ffffffff88166001600160a01b0302640100000000600160c01b03602083901b166001600160c01b03821681610d9d57fe5b0496505050505050509250929050565b60008060008360020b12610dc4578260020b610dcc565b8260020b6000035b9050620d89e8811115610e0a576040805162461bcd60e51b81526020600482015260016024820152601560fa1b604482015290519081900360640190fd5b600060018216610e1e57600160801b610e30565b6ffffcb933bd6fad37aa2d162d1a5940015b70ffffffffffffffffffffffffffffffffff1690506002821615610e64576ffff97272373d413259a46990580e213a0260801c5b6004821615610e83576ffff2e50f5f656932ef12357cf3c7fdcc0260801c5b6008821615610ea2576fffe5caca7e10e4e61c3624eaa0941cd00260801c5b6010821615610ec1576fffcb9843d60f6159c9db58835c9266440260801c5b6020821615610ee0576fff973b41fa98c081472e6896dfb254c00260801c5b6040821615610eff576fff2ea16466c96a3843ec78b326b528610260801c5b6080821615610f1e576ffe5dee046a99a2a811c461f1969c30530260801c5b610100821615610f3e576ffcbe86c7900a88aedcffc83b479aa3a40260801c5b610200821615610f5e576ff987a7253ac413176f2b074cf7815e540260801c5b610400821615610f7e576ff3392b0822b70005940c7a398e4b70f30260801c5b610800821615610f9e576fe7159475a2c29b7443b29c7fa6e889d90260801c5b611000821615610fbe576fd097f3bdfd2022b8845ad8f792aa58250260801c5b612000821615610fde576fa9f746462d870fdf8a65dc1f90e061e50260801c5b614000821615610ffe576f70d869a156d2a1b890bb3df62baf32f70260801c5b61800082161561101e576f31be135f97d08fd981231505542fcfa60260801c5b6201000082161561103f576f09aa508b5b7a84e1c677de54f3e99bc90260801c5b6202000082161561105f576e5d6af8dedb81196699c329225ee6040260801c5b6204000082161561107e576d2216e584f5fa1ea926041bedfe980260801c5b6208000082161561109b576b048a170391f7dc42444e8fa20260801c5b60008460020b13156110b65780600019816110b257fe5b0490505b6401000000008106156110ca5760016110cd565b60005b60ff16602082901c0192505050919050565b60006001600160a01b038316800260ff8316600a0a6108fb8282600160c01b611289565b6000826111125750600061084c565b8282028284828161111f57fe5b04146109365760405162461bcd60e51b81526004018080602001828103825260218152602001806118216021913960400191505060405180910390fd5b60008082116111b2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b8183816111bb57fe5b049392505050565b60008282111561121a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610936576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60606109858484600085611338565b60008080600019858709868602925082811090839003039050806112bf57600084116112b457600080fd5b508290049050610936565b8084116112cb57600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b6060824710156113795760405162461bcd60e51b81526004018080602001828103825260268152602001806117fb6026913960400191505060405180910390fd5b61138285611488565b6113d3576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b602083106114115780518252601f1990920191602091820191016113f2565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d8060008114611473576040519150601f19603f3d011682016040523d82523d6000602084013e611478565b606091505b509150915061065e828286611492565b803b15155b919050565b606083156114a1575081610936565b8251156114b15782518084602001fd5b8160405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156114fb5781810151838201526020016114e3565b50505050905090810190601f1680156115285780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b803561148d816117d2565b803561148d816117ea565b803562ffffff8116811461148d57600080fd5b803563ffffffff8116811461148d57600080fd5b805160ff8116811461148d57600080fd5b600060208284031215611595578081fd5b8151610936816117d2565b600060e082840312156115b1578081fd5b60405160e0810181811067ffffffffffffffff821117156115ce57fe5b6040526115da83611536565b81526115e860208401611536565b60208201526115f960408401611536565b604082015261160a6060840161154c565b60608201526080830135608082015261162560a08401611541565b60a082015261163660c0840161155f565b60c08201529392505050565b600080600080600080600060e0888a03121561165c578283fd5b8751611667816117d2565b8097505060208801518060020b811461167e578384fd5b604089015190965061168f816117ea565b60608901519095506116a0816117ea565b60808901519094506116b1816117ea565b92506116bf60a08901611573565b915060c088015180151581146116d3578182fd5b8091505092959891949750929550565b6000602082840312156116f4578081fd5b5051919050565b60006020828403121561170c578081fd5b61093682611573565b6001600160a01b0391909116815260200190565b6001600160a01b03938416815291909216602082015262ffffff909116604082015260600190565b81516001600160a01b03908116825260208084015182169083015260408084015162ffffff16908301526060808401518216908301526080808401519083015260a0838101519083015260c0808401519083015260e09283015116918101919091526101000190565b61ffff91909116815260200190565b90815260200190565b6001600160a01b03811681146117e757600080fd5b50565b61ffff811681146117e757600080fdfe416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a26469706673582212202a1fb139790df7a4771d3c2bd13411b43f1c51b56394739ea9b8cbd111c2206564736f6c634300070600330000000000000000000000001f98431c8ad98523631ae4a59f267346ea31f984000000000000000000000000e592427a0aece92de3edee1f18e0157c05861564",
"nonce": "0x1",
"accessList": []
},
"additionalContracts": []
}
],
"receipts": [],
"libraries": [],
"pending": [],
"path": "/home/cicnos/github/0xnavigator/open-bakery/uniswap-v3-swapper/broadcast/Swapper.s.sol/1/run-latest.json",
"returns": {},
"timestamp": 1677751305,
"chain": 1,
"multi": false,
"commit": "9b974c1"
}

0 comments on commit 4a3d2c9

Please sign in to comment.