protocol/packages/protocol-utils
Lawrence Forman 470e9a4697
AS: Balancer V2 batchSwap (#462)
* 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>
2022-04-22 02:43:41 -04:00
..
2020-12-08 22:08:52 -05:00
2022-04-22 02:43:41 -04:00
2020-12-08 22:08:52 -05:00
2022-03-31 15:09:21 +00:00
2022-03-31 15:09:24 +00:00
2020-12-08 22:08:52 -05:00
2020-12-08 22:08:52 -05:00
2020-12-08 22:08:52 -05:00
2020-12-08 22:08:52 -05:00

@0x/protocol-utils

0x protocol-related utilities for the V4/Exchange Proxy constellation of contracts, with tooling related to:

  • Limit orders
  • Rfq orders
  • Transformers
  • Signatures
  • EIP712 hashing

Read the Documentation.

Installation

yarn add @0x/protocol-utils

If your project is in TypeScript, add the following to your tsconfig.json:

"compilerOptions": {
    "typeRoots": ["node_modules/@0x/typescript-typings/types", "node_modules/@types"],
}

Contributing

We welcome improvements and fixes from the wider community! To report bugs within this package, please create an issue in this repository.

Please read our contribution guidelines before getting started.

Install dependencies

If you don't have yarn workspaces enabled (Yarn < v1.0) - enable them:

yarn config set workspaces-experimental true

Then install dependencies

yarn install

Build

To build this package and all other monorepo packages that it depends on, run the following from the monorepo root directory:

PKG=@0x/protocol-utils yarn build

Or continuously rebuild on change:

PKG=@0x/protocol-utils yarn watch

Clean

yarn clean

Lint

yarn lint