* Update coveralls link to point to protocol repo coverage
* Remove obsoleted ignores in .gitignore
* Run forge coverage in CI and upload results to coveralls
* Remove unused wrapper
* Remove legacy coverage setup
* Remove lcov-result-merger
* Add base-path setting to coverallsapp in CI
* Add check-md package and command
* Remove broken references to TESTING.md
* Fix broken link in contributing.md
* Fix staking docs headings
* Add checks for broken links to CI
* Add solhint and basic configuration
* Add solhint-plugin-prettier to run prettier via solhint
* Remove all solhint-disable rules in contracts
* Turn off compiler version errors
* Fix max-line-length linter errors
* Fix linting and prettier issues in contracts
* Add global lint command to run both ts and solidity linter
* add prettier-solidity + config
* run prettier
* update lockfile
* run prettier again
* Prettier missed one /:
* keep bridge adapter the same
* yarn prettier
* replace tslint with eslint + add eslintrc config
* few more missing packages for eslint
* exclude. now eslint is running (but there are errors)
* correct excludes fixes all the linter issues
* no need for max warnings
* Update package.jsons to latest tools packages
* Skip tests relying on gasPrice > 0
* Yarn.lock
* Fix linter
* Update Balance checker, new ganache gets more ETH
* Fix new Ganache insufficient assertion string
* Temporarily set QuoteRequestor to skip
* Fix headers Axios now requests with
* Draft. PoC pseudo code showing general idea for resuing SOR path creation logic and adding multihop support.
* Add actual Balancer SDK function calls.
* Update to handle buys.
* Correct taker>maker for buy.
* Draft. PoC pseudo code showing general idea for resuing SOR path creation logic and adding multihop support.
* make it build
* rebase
* add BalancerV2Batch protocol
* add BalancerV2Batch protocol
* get balancer v2 multihop working
* fix BalancerV2Batch for sells (buys still iffy)
* fix buys, appease linter and prettier
* remove unused RPC URL from balancer sdk construction
* update changelogs
* clean up comments
add event loop yield in `BalancerV2SwapInfoCache.loadTopPools()`
* add negative result check on balancerv2batch swap output
* compiler hack
* reintroduce CompilerHack
* delete unused multibridge sampler
* remove compilerhack
* reintroduce compilerhack
* try to fix CI compile errors
* plz work
* plz work
* pretty plz work
* yay it works, also address feedback
* appease linter
* deploy new FQTs
Co-authored-by: johngrantuk <johngrantuk@googlemail.com>
Co-authored-by: Lawrence Forman <me@merklejerk.com>
* feat: calculate all routes and VIP only routes in a single router call
* fix: Try to disable using fallback orders for quotes with native orders
* fix: create VIP sources set once per routing call
* chore: use private publish version of neon-router to test
* chore(lint): comment out unused fn _addOptionalFallbackAsync
* chore: update to latest private publish of neon-router
* refactor: fix router metrics beforeTimeMs naming
* feat: don't recompute isVip for ever sample of a source
* chore: update neon-router to real published version
* fix: merge conflict resolution issue
* chore: add asset-swapper changelog entry
* Add Geist on Fantom
* nvm there is not subgraph for it
* finish giest utils
* Address pr comments
* lowercase gtoken addresses
* return undefined instead of error for unsupported pairs
* another lower case
* Update fantom fillQuoteTransformer address
* more const clean up
* feat: scale oversized native orders to quote amount for fake samples
* chore: temporarily use private publish neon-router version
* fix: short circuit 1 base unit trades to avoid router error
* chore: use published version of `neon-router`
* chore: add changelog entry for asset-swapper
* feat: use Rust router estimated output amount when possible
* fix: use strings for sample ids, and increase samples in the rust router
* fix: remove unnecessary interpolation of out of range values
* fix: don't recalculate sampled dist sum in a loop
* fix: use 14 samples for rust router to work around interpolation issues
* fix: unintentional logic change
* fix: remove local dev plotting param from route fn call
* feat: make neon-router number of samples configurable
* chore: bump to newly published neon-router version
* fix: handle insufficient liquidity at all requested sources
* chore: update asset-swapper changelog
* feat: integrate Rust router with asset-swapper WIP
* fix: produce outputFees in the format the Rust router expects
* fix: correct output fee calc and only use the rust router for sells
* fix: make sure numbers sent to the rust router are integers
* hack: try to debug why rust router output is being overestimated WIP
* refactor: clean up router debugging code
* fix: don't use negative output fees for sells
* feat: try VIP sources in isolation and compare with routing all sources
* fix: adjust for FQT overhead when choosing between VIP, all sources WIP
* fix: pass gasPrice to path_optimizer for EP overhead calculations
* feat: buy support with the Rust Router WIP
* chore: WIP commit trying to get buys working
* refactor: use samples instead of fills for the Rust router
* feat: add vip handling hack to sample based routing
* fix: revert to 200 samplings for rust router when using pure samples
* refactor: remove old hacky Path based Rust code, add back feature toggle
* fix: scale both fill output and adjustedOutput my same factor as input
* feat: initial plumbing for supporting RFQ/Limit orders
* fix: incorrect bump of input amount by one base unit before routing
* fix: add fake samples for rfq/limit orders to fulfill the 3 sample req
* fix pass rfq orders in the correct format to the rust router
* chore: remove debugging logs and clean up code & comments
* fix: use published version of @0x/neon-router
* hack: scale routed amounts to account for precision loss of number/f64
* refactor: clean up code and address initial review comments
* fix: only remove trailing 0 output samples before passing to the router
* refactor: consolidate eth to output token calc into ethToOutputAmount fn
* fix: interpolate input between samples on output amount instead of price
* fix: return no path when we have no samples, add sanity asserts
* refactor: fix interpolation comment wording
* fix: remove double adjusted source route input amount
* chore: update changelog for asset-swapper
* feat: Enable partial Native order fills
* change intermediary tokens to be a UNION.
Hint to cvxCRV and CRV
* Pin asset-swapper to use contracts-zero-ex 0.27.0 for now
* feat: Retire Eth2Dai/Oasis