Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(loadtest): 🦄 uniswapv3 loadtest mode (#137)
* doc: document how to generate new loadtest mode string * chore: build uniswap v3 contracts * chore: remove avail cmds * chore: generate go bindings for uniswap contracts * doc: document how to build uniswap contracts and how to generate go bindings * feat: add uniswap v3 loadtest mode * doc: update doc * chore: define deployment config for uniswap * chore: lint * feat: enable 1 bp fee tier * chore: remove unused contracts and deploy multicall * feat: deploy ProxyAdmin * chore: clean up * chore: make lint * feat: deploy TickLens * chore: minor change * chore: refactor to use generics * chore: clean up * chore: rename lib contract * feat: deploy NFTDescriptor and WETH9 * feat: deploy TransparentUpgradeableProxy * chore: generate NonfungiblePositionManager go binding * feat: deploy NonfungiblePositionManager contract * chore: generate go binding for V3Migrator * feat: deploy V3Migrator * chore: raise geth gas limit and send more funds to the loadtest account * chore: update build process * chore: update contract bytecode * feat: transfer factory ownership * chore: generate go binding for UniswapV3Staker * chore: update build process * fix: build process * feat: deploy staker * chore: generate go bindings for QuoterV2 * feat: deploy QuoterV2 * chore: generate go bindings for SwapRouter02 * chore: clean up build process * chore: update bindings * chore: clean up * fix: build issues * chore: new bytecodes * doc: update doc * feat: deploy SwapRouter02 * feat: transfer ProxyAdmin ownership * chore: update debug msgs * fix: update owner address * chore: clean up * chore: forge init * forge install: forge-std v1.6.1 * chore: forge init * forge install: forge-std v1.6.1 * chore: add ERC20 contracts * fix: remove quotes from ERC20 bytecode * feat: generate go bindings for ERC20 * feat: deploy the two ERC20 contracts * feat: approve erc20 spendings * feat: create pool between the erc20 contracts * chore: make sure pool is deployed before moving on * chore: generate go binding for UniswapV3Pool * feat: initialize, provied liquidity and swap tokens * chore: clean up * chore: lint * doc: update `polycli loadtest` doc * fix: build process * chore: update sqrtX96price computation * chore: refactor * chore: new bytecode * chore: remove unused code * chore: minor update to build process * chore: document script * fix: shadowed vars * chore: test remove artefacts * chore: nit * chore: only upload relevant v3-core contracts * chore: remove all v3-periphery contracts * chore: upload only relevant v3-periphery contracts * chore: remove the rest of the contracts * chore: only upload relevant contracts * chore: update bytecode * chore: build script name option change * chore: bindings script nit * chore: new bytecode * chore: refactor * chore: small nits * chore: remove unused field * feat: enable pre-deployed contract mode for uniswap * fix: retrieve pool instead of creating a new one * fix: issue with initializing a pool twice * feat: add loadtest fn * doc: gen * chore: make lint * chore: `go mod tidy` * chore: update ERC20 contract * chore: generate new bindings for ERC20 * chore: fix some issues with Swapper and ERC20 * chore: rename ERC20 contract to Swapper * chore: fix the pool initialization issue * chore: specify the amount of tokens to mint * chore: rename contract * chore: update build process * chore: update `Swapper` contract * chore: don't commit tmp/ * chore: hack to update the NonfungibleTokenPositionDescriptorMetaData bytecode * chore: document how to update the deploy fn of NFTPositionDescriptor * chore: add a warning in the script * chore: more debug * chore: rename TokenA and TokenB into Token0 and Token1 * chore: add debug * chore: update debug msgs * feat: move uniswapv3 loadtest to subcommand * chore: nits * chore: remove `fmt.Sprintf()` * chore: clean up * chore: rename contracts * chore: update steps * fix: proxy data * chore: nit * chore: clean up * chore: update `uniswapv3` cmd usage * chore: update build process * chore: update binding process * chore: save nft descriptor lib address to file * chore: update nftdescriptor lib address * chore: hack * fix: issues * chore: clean up * chore: diplay tx hashes in trace mode * chore: use swap-router v1.1.0 instead of v1.3.0 * fix: `blockUntilSuccessful` default case return a nil error * fix: `TransparentUpgradeableProxy` deployment * chore: nit * chore: solve lint issue * feat: adding more logging * refactor: minor changes to the setup * chore: nit * chore: go mod tidy * fix: swap issue * chore: clean up * chore: nit * chore: update help msg * chore: update help msg once again * chore: add fn to validate url * doc: document swap method * doc: nit * chore: rename swap method * chore: nit * doc: document `createPool` * chore: refactor pool logic * chore: swap file * chore: same thing with deloy logic * chore: same thing with swapper logic * chore: go mod tidy * chore: clean up loadtest * chore: nit * chore: gen doc * fix: lint issues * chore: nit * chore: more nit * chore: differentiat between local and persistent flags * chore: gen doc * chore: document `deploy.go` * chore: nit * chore: document `pool.go` * lint: transform `fmt.Errorf` into `errors.New` * chore: document `swap.go` * chore: nit * chore: document `swapper.go` * chore: nit * doc: document `types.go` * chore: remove tx hash logs * chore: nit * chore: display name of spenders * chore: nit * chore: add ERC20 contract name * chore: more nit * chore: update `setUniswapV3Allowances` method * feat: add flag to set the pool fee and the swap amount * chore: check pool fees flag * chore: nit * chore: use fees as percentage as it's easier to type for users * fix: conversion issue * chore: gen-doc * chore: update `Swapper.sol` and specify the amount of token to mint in polycli * chore: lint --------- Co-authored-by: John Hilliard <[email protected]>
- Loading branch information