* Bancor Bridge contract
* refactor Quote and FillData types
* BancorService (wrapper for the Bancor SDK)
* disable bancor while waiting for bancor SDK update
* add bancor to test
* feat: mStable
* deploy and CHANGELOG
* `@0x/contracts-utils`: Add more testnet addresses.
* `@0x/contract-addresses`: Deply Mstable on testnets
* `@0x/contract-addresses`: Remove testnet deployments of mStable :-)
* move `erc20-bridge-sampler` into `asset-swapper`
remove `DevUtils` dependency from sampler contract.
* `@0x/asset-swapper`: Add ERC20BridgeSampler support for validating orders in maker fees denominated in non-maker assets.
`@0x/asset-swapper`: Add tests for `NativeOrderSampler`.
* `@0x/asset-swapper`: Return `0` sample if native order asset data is unsupported.
* `@0x/asset-swapper`: Fix failing test.
* feat: ExchangeProxy FQT fruit rollup (#2645)
* feat: Optimize Bridges in ExchangeProxy
* compile and most work
* work around to trust the delecall contract
* force allowances
* Update Kyber/Eth2Dai bridges
* Remove memory state where not required
* cleanup
* Combine Bridges into one adapter
* mixins
* refactor out ZeroExBridge
* move out interface
* comment out hacks
* update migrations
* remove simbot hacks
* AdapterAddresses and mStable
* Share constructor arg
* fix migration
* Remove whitespace
* `@0x/contracts-zero-ex`: BridgeAdapter -- revert if bridge address is 0.
* `@0x/contract-addresses`: Deploy FQT.
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
* update ganache contract addresses
* fix: asset-swapper empty batch call (#2669)
* update ganache contract addresses
* fix: asset-swapper prevent empty sampler batch call
* add sampler to migrations
* change migrations version
* Use contract-wrappers and artifacts
* remove extra data
* remove deps, set sampler to NULL_ADDRESS
* all the exports
* noop sell rate too
* update ganache contract addresses
Co-authored-by: Lawrence Forman <me@merklejerk.com>
Co-authored-by: Lawrence Forman <lawrence@0xproject.com>
* Gas Tokens in Bridges
* Added freesGasTokensFromCollector.
To handle the case where GST2 is being traded and the balanceOf checks become confusing
* Update CHANGELOGs
* Curve ERC20Bridge
* ERC20BridgeSampler Curve (#2483)
* ERC20Sampler Curve
* Use Bridge Sources for each Curve
* Support multiple versions of the Curve contract
* CHANGELOG and redeployed Curve (mainnet)
* Fix Market ops utils test
* Added Curve DAI USDC USDT TUSD
* Bump sampler gas limit default
* Decode the Curve in tests
* Disable Curve in Buy tests
* blockchainTests.fork.resets Curve and Sampler
* Stop restarting node unnecesssarily during test
* Add new, empty LibAssetData
* Support encoding & decoding of ERC20 asset data
* Support encoding & decoding of ERC721 asset data
* Support encoding & decoding of ERC1155 asset data
* Support encoding & decoding of multi-asset data
* Support querying ERC20 balance from asset data
* Support querying ERC721 balance from asset data
* Support querying ERC1155 balance from asset data
* Support querying balance from multi-asset data
* Support querying ERC20 allowance from asset data
* Support querying ERC721 allowance from asset data
* Support querying ERC1155 allowance from asset data
* In tests, wait for allowance set before checking
* Introduce temporary variable `assetDataBody`
* Handle edge case in multi-asset balance query
* Support multi-asset allowance query by asset data
* Move variable declaration up for readability.
* Make all solhint-disable's cite specific rules
And move the directives to the ends of lines whenever possible
* Rename query tests to include " by asset data"
* Extract test helper method
* Extract another test helper method
* Support batch queries of allowances & balances
* In LibAssetData.sol, use IERC1155, not ...Mintable
* Rename balance*() return vars: amount -> balance
* Fix bug in ERC721 balance query
Was using method balanceOf(), but needed to be using ownerOf().
getERC721TokenOwner() method lifted from
@0x/extensions/contracts/src/OrderValidator/OrderValidator.sol
* Reuse new en/decoders; avoid abi.decode().
* Start lowest allowance/balance from 0, not MAX_INT
* Properly implement ERC1155 balance querying
* Split lines for readability
* Also check isApprovedForAll in 721 allowance query
* Add neglected division of allowances by amounts
* Rename methods: balanceOf -> getBalance
* Rename methods: allowance -> getAllowance
* Add methods: getBalanceAndAllowance() & batch...()
* Rename return vars: amount -> allowance
* Add devdoc comments
* Rename batchGet* methods to getBatch*
* Remove refactoring relic
* Add revert messages to all require() calls
* Reduce gas usage for ERC1155 asset data decoding
* Don't use dockerized solc for ERC20 contracts
Because they demand solc version 0.4.26, and it seems as though the tag
for that version has been deleted from dockerhub.
Without this, @0x/contracts-erc20 was failing to build.
* Rename batch functions to use plurals
* Skip dockerized solc for contracts needing 0.4.26
I seems as though the tag for that version has been deleted from
dockerhub.
Without this, these contracts were failing to build.
* Make revert reasons follow snake case convention