0x protocol monorepo - includes our smart contracts and many developer tools
dustFractionThreshold
, noConflicts
options. (#2513)allowFallback
option. (#2513)maxFallbackSlippage
option. (#2513)getBatchMarketBuyOrdersAsync
throwing NO_OPTIMAL_PATH (#2533)LiquidityProvider
into DexForwarderBridge
(#2560)sUSD
(#2563)KyberBridge
, UniswapBridge
, Eth2DaiBridge
, CurveBridge
, DydxBridge
on mainnet and kovan (#2512)KyberBridge
, UniswapBridge
, Eth2DaiBridge
, CurveBridge
, DydxBridge
on mainnet and kovan (#2529)CurveBridge
with GST support (#2530)dexForwarderBridge
addresses (#2525)Forwarder
on all networks (#2521)DexForwarderBridge
on Mainnet with Gas Token freeing (#2536)Kyber.searchBestRate
(#2575)MaximumGasPrice
artifact (#2511)Forwarder.marketSellAmountWithEth
(#2521)ERC20BridgeSampler.sampleBuysFromCurve
(#2551)ERC20BridgeSampler.sampleBuysFromKyberNetwork
(#2551)ITransformERC20
(#2591)Forwarder.marketSellAmountWithEth
(#2521)ERC20BridgeSampler.sampleBuysFromCurve
(#2551)ERC20BridgeSampler.sampleBuysFromKyberNetwork
(#2551)ITransformERC20
(#2591)dexForwarderBridge
to migration output (#2525)ERC20BridgeSampler
deployment (#2541)UniswapV2Bridge
address on Mainnet (#2599)receive
functions from 0.6 ABIs (#2540)CompilerOptions
schema (#2591)version()
to SolcInstance
(#2532)ZeroExRevertErrors
(#2540)ZeroExRevertErrors.Migrate
-> ZeroExRevertErrors.Ownable
(#2564)instanceof Array
=> Array.isArray
(#2567)ZeroExRevertErrors
(#2545)ZeroExRevertErrors
(#2576)ZeroExRevertErrors
(#2597)getAccountNonce()
to Web3Wrapper
(#2545)LibERC20Token.approveIfBelow()
in DEX bridges for for approvals. (#2512)ERC20BridgeTransfer
events in bridges. (#2512)ERC20BridgeTransfer
args to be less ambiguous. (#2524)MixinGasToken
allowing Gas Tokens to be freed (#2523)DexForwaderBridge
bridge contract. (#2525)UniswapV2Bridge
bridge contract. (#2590)DexForwarderBridge
contract. (#2536)LibERC20Token.approveIfBelow()
(#2512)LibERC20TokenV06
comments. (#2597)DevUtils
address as a constructor parameter (#2531)Curve
for buy amounts (#2551)sampleBuysFromKyberNetwork
(#2551)searchBestRate
in Kyber samples. Return 0 when Uniswap/Eth2Dai reserve (#2575)ERC20BridgeSampler
tests (#2531)msg
param to assertIntegerRoughlyEquals
(#2576)GST_ADDRESS
and GST_COLLECTOR_ADDRESS
(#2523)DeploymentConstants
(#2530)DeploymentConstants
(#2595)BUSD
Curve (#2506)Compound
Curve address (#2506)ERC20BridgeSampler
(#2503)ChaiBridge
and DydxBridge
gas benchmark tests. (#2478)batchCall()
version of the ERC20BridgeSampler
contract (#2477)ChainlinkStopLimit
addresses (mainnet, ropsten, rinkeby) (#2473)CurveBridge
address (mainnet) (#2483)ERC20BridgeSampler
address (mainnet, kovan) (#2483)CurveBridge
address (null) (#2483)ethgasstation
to be in WEI instead of GWEI (#2393)IERC20BridgeSampler
artifact. (#2353)IERC20BridgeSampler
wrapper (#2353)DydxBridgeOnlyCallableByErc20BridgeProxy
and DydxBridgeUnrecognizedBridgeAction
(#2378)DEV_UTILS_ADDRESS
and KYBER_ETH_ADDRESS
to DeploymentConstants
. (#2395)DydxBridge
to DeploymentConstants
. (#2365)IAssetData
artifact (#2373)IAssetDataContract
(#2373)ERC20BridgeAssetData
(#2373)encodeDutchAuctionAssetData
(#2373)hex_utils.ts
. Moved to @0x/utils (#2373)erc20Proxy
, erc721Proxy
and dutchAuction
wrappers (#2324)validator
argument to contract method classes for methods that don't have any inputs (#2345)internalType
field in the ABI, if it's present, resulting in human readable struct names rather than hashes of component field names. (#2345)BaseContract
helpers to reduce size. (#2343)gas
is not provided. (#2343)getSelector
method to all functions (#2224)BaseContract
helpers to reduce size. (#2343)evmExecAsync
protected and rename to _evmExecAsync
(#2243)IndexedFilterValues
, DecodedLogEvent
, EventCallback
(#2243)_throwIfRevertWithReasonCallResult
(#1761)awaitTransactionSuccessAsync
compatible with base Promise type (#1885)BigNumber
indexed filter values in getTopicsForIndexedArgs()
(#2155)1337
addresses updated with Forwarder deployed after Exchange is configured (#2368)readOnlyProxy
from addresses interface (#2295)zeroExGovernor
and erc20BridgeProxy
to addresses interface (#2296)exchange
, staking
, stakingProxy
, zeroExGovernor
, assetProxyOwner
, and erc20BridgeProxy
addresses for each tesnet (#2296)getNetworkIdByExchangeAddressOrThrow
. It's not needed with V3 tooling. (#2170)zrxVault
, readOnlyProxy
, staking
, and stakingProxy
schema with addresses for each tesnet (#2224)assetProxyOwner
address for each testnet (#2224)ZrxVault
and ERC20BridgeProxy
artifacts (#2323)deployedBytecode
field (#2181)abi-gen-wrappers
(#2370)erc20Proxy
, erc721Proxy
and dutchAuction
wrappers (#2324)ContractFunctionObj
and ContractTxFunctionObj
(#2325)Order
and ZeroExTransaction
structures with domain
field (#1742)revertWith
mocha extensions now accept Promise-like objects instead of just Promises (#2031)shouldAllowUnlimitedContractSize
to Web3Config
. (#2075)UNLIMITED_CONTRACT_SIZE
to EnvVars
. (#2075)total_accounts
option to Web3Config
. (#2109)chaiSetup
function with RevertError
testing support (#1761)Error
coercion code into the utils
package (#1819)RevertErrorAbi
interface as part of AbiDefinition
types (#1761)DecodedLogs
type (#2220)eip712DomainSchema
schema (#1742)domain
to order
and zeroExTransaction
schemas (#1742)makerAssetData
and takerAssetData
to Order
schemas (#1819)expirationTimeSeconds
to ZeroExTransaction
schema (#1832)Staking
and ERC20BridgeProxy
contracts (#2323)chainId
(#1742)OrderStateUtils
, OrderValidationUtils
, ExchangeTransferSimulator
and all abstract and store classes. For order validation, please use the DevUtils
contract wrapper method getOrderRelevantState
|getOrderRelevantStates
(#2324)TransferFailedError
from ForwarderRevertErrors
. (#2309)chainId
OrderValidationUtils
, OrderFactory
(#1742)Order
and ZeroExTransaction
structure (#1742)RevertError
types to ExchangeRevertErrors
(#1761)SignatureOrderValidatorError
type to ExchangeRevertErrors
(#1774)SignatureWalletOrderValidatorError
type to ExchangeRevertErrors
(#1774)RevertError
types to match smart contracts. (#1790)RevertError
types for new base constructor (#1819)Expired
TransactionErrorCode (#1832)expirationTimeSeconds
to ZeroExTransaction
parameters used for hashing (#1832)validator
field to SignatureValidatorError
RevertError
types. (#1885)RevertError
types. (#1885)ExchangeRevertErrors.SignatureErrorCode.InvalidSigner
. (#2042)takerAssetFillAmount
field to IncompleteFillError
type (#2075)IncompleteFillError
to take an errorCode
, expectedAssetFillAmount
, and actualAssetFillAmount
fields. (#2075)InvalidCobbDouglasAlphaError
RevertError
type to StakingRevertErrors
(#2109)OperatorShareMustBeBetween0And100Error
RevertError
type to InvalidPoolOperatorShareError
. (#2109)TransactionGasPriceError
and TransactionInvalidContextError
to error registry. (#2109)EthVaultNotSetError,
RewardVaultNotSetError, and
InvalidStakeStatusError` to error registry. (#2118)InvalidStakeStatusError
to error registry. (#2126)InitializationError
, InvalidParamValue
to StakingRevertErrors
. (#2131)CumulativeRewardIntervalError
. (#2154)validateOrderFillableOrThrowAsync
, simpleValidateOrderFillableOrThrowAsync
, validateMakerTransferThrowIfInvalidAsync
(#2181)PreviousEpochNotFinalizedError
to StakingRevertErrors
. (#2155)InvalidMinimumPoolStake
to StakingRevertErrors.InvalidParamValueErrorCode
. (#2155)OnlyCallableByPoolOperatorOrMakerError
to OnlyCallableByPoolOperatorError
. (#2250)shouldSaveStandardInput
config (#2322)getContractNamesToCompile
to public function of Compiler
class (#2055)SendTransactionOpts
and AwaitTransactionSuccessOpts
types and move them to @0x/base-contracts (#2325)SendTransactionOpts
and AwaitTransactionSuccessOpts
types for contract wrappers (#2243)OrderStatus
type (#1761)OrderInfo
, FillResults
, MatchedFillResults
, BatchMatchedFillResults
types (#2031)ERC20Bridge
to AssetProxyId
(#2220)@0x/dev-utils
chai helpers in types/@0x
(#1761)RevertErrors
(#2362)Parity
revert errors (#2341)RevertError
s. (#2075)Error
-> RevertError
coercion fail if it can't look up the selector. (#2109)LibFixedMath
RevertError
types. (#2109)RawRevertError
RevertError
type. (#2109)RevertError.decode()
optionally return a RawRevertError
if the selector is unknown. (#2109)length
field of AuthorizableRevertErrors.IndexOutOfBoundsError
type to len
. (#2109)toBaseUnitAmount()
accept a number
(#1819)KyberBridge
. (#2352)LibAssetProxyIds
contract (#2055)ERC20BridgeProxy
(#2220)Eth2DaiBridge
(#2221)UniswapBridge
(#2233)SafeMath
with LibSafeMath
(#2254)exchange-libs
to reduce code duplication (#1742)marketXOrders
consolidation. (#2042)encodeStaticCallAssetData
and decodeStaticCallAssetData
in LibAssetData (#2034)revertIfInvalidAssetData
in LibAssetData (#2034)marketBuy/SellOrdersNoThrow
and marketBuy/SellOrdersFillOrKill
to LibTransactionDecoder
. (#2075)run_mocha
package script runs with UNLIMITED_CONTRACT_SIZE=true
environment variable. (#2075)mintKnownFungibleTokensAsync()
, isNonFungibleItemAsync()
, isFungibleItemAsync()
, getOwnerOfAsync()
, getBalanceAsync()
to Erc1155Wrapper
. (#1819)SafeMath
with LibSafeMath
(#2254)decimals()
to LibERC20Token
. (#2344)LibERC20Token
(#2309)SafeMath
with LibSafeMath
(#2254)SafeMath
with LibSafeMath
(#2254)marketBuyOrdersNoThrow()
so marketBuyOrdersFillOrKill()
doesn't throw up. (#2338)transferAsset
is now transferAssetAsync
(#2304)generateOrder
is now generateOrderAsync
(#2304)executeTransaction
to take ZeroExTransaction
struct as input (#1753)executeTransaction
(#1753)SignatureType.OrderValidator
for orders (#1774)SignatureType.WalletOrderValidator
for orders (#1774)bytes
return value to executeTransaction
, which is equal to the encoded return data of the underlying Exchange function call (#1793)batchExecuteTransactions
(#1793)executeTransaction
(#1793)fillOrder
and matchOrders
tests (#1819)fillOrder()
and matchOrders()
when maker/taker is the same as feeRecipient and assets are the same (#1819)cancelOrderNoThrow
and batchCancelOrdersNoThrow
functions (#1827)executeTransaction
will now revert if the input transaction is expired (#1832)TransactionExecuted
event when an executeTransaction
call is successful (#1832)MixinTransferSimulator
contract for simulating multiple transfers on-chain (#1868)EIP1271Wallet
signature type (#1885)WalletOrderValidator
and OrderValidator
signature types (#1885)Validator
signature type have EIP1271 behavior (#1885)IEIP1271Wallet
interface (#1885)validatorAddress
field to SignatureValidatorError
rich reverts (#1885)calculateMatchedFillResults
public (#1885)TestIsolatedExchange
contract and IsolatedExchangeWrapper
test class (#2031)ReferenceFunctions
as package export. (#2031)TestExchangeMath.sol
. Exchange math functions are now tested in the exchange-libs
package and reference implementations are available there as well. (#2031)TestExchangeInternals.sol
that are no longer tested in this package. (#2031)_assertValidFill()
(#2031)wrapper_unit_tests
tests and TestWrapperFunctions
contract (#2042)signerAddress == 0
in signature validation functions. (#2042)Wallet
signature type behavior to be in line with v2.1. (#2042)LibFillResults
, LibOrder
, LibZeroExTransaction
, and LibMath
to libraries (#2055)LibExchangeRichErrors
and IExchangeRichErrors
(#2055)LibExchangeSelectors
constants (#2055)calculateFillResults
and calculateMatchedFillResults
to LibFillResults
in exchange-libs
package (#2055)marketSellOrders
and marketBuyOrders
back to marketSellOrdersNoThrow
and marketBuyOrdersNoThrow
. (#2075)marketSellOrdersFillOrKill
and marketBuyOrdersFillOrKill
functions. (#2075)abi.decode()
in LibExchangeRichErrorDecoder
over LibBytes
. (#2075)ReentrancyTester
now return sane values. (#2075)LibERC20Token
in MixinAssets
(#2309)LibEIP712
into reusable components (#1742)chainId
to EIP712 domain schema (#1742)verifyingContract
to verifyingContractAddress
in domain schema (#1742)LibExchangeRichErrorDecoder
contract. (#1790)MExchangeRichErrors
into MExchangeRichErrorTypes
. (#1790)Order
fields for arbitrary fee tokens (ZEIP-28). (#1819)LibAbiEncoder
and LibConstants
. (#1819)generate-exchange-selectors
package script. (#1819)expirationTimeSeconds
to ZeroExTransaction
struct (#1823)LibMath
and LibFillResults
(#2031)LibMath
tests from the contracts-exchange
package. (#2031)LibFillResults
tests from the contracts-exchange
package. (#2031)LibMath
. (#2031)LibFillResults
, LibOrder
, LibZeroExTransaction
, and LibMath
to libraries (#2055)LibExchangeSelectors
(#2055)LibExchangeRichErrors
(#2055)calculateFillResults
and calculateMatchedFillResults
to LibFillResults
(#2055)_hashEIP712ExchangeMessage
from LibEIP712ExchangeDomain
(#2055)IncompleteFillError
to take an errorCode
, expectedAssetFillAmount
, and actualAssetFillAmount
fields. (#2075)IWallet.sol
from asset-proxy
and exchange
packages to here. (#2233)SafeMath
with LibSafeMath
(#2254)LibFixedMath
(#2255)StakingProxy.assertValidStorageParams()
in MixinParams.setParams()
(#2279)StakingProxy
reverts if there is no staking contract attached (#2310)LibFeeMath
with LibFixedMath
. (#2109)init()
pattern to contracts. (#2131)MixinDeploymentConstants
with MixinParams
. (#2131)_cobbDouglas()
into its own library (#2179)chainId
to TransactionFactory
constructor (#1742)Order
structure with domain
field (#1742)chaiSetup
from @0x/dev-utils
(#1761)generatePseudoRandomOrderHash()
to orderUtils
(#1761)OrderStatus
from @0x/types
(#1761)hexConcat()
in hex_utils.ts
(#1885)*FillResults
, OrderInfo
types to @0x/types
(#2031)log_utils.ts
(#2031)haxRandom()
to hex_utils.ts
(#2031)MAX_UINT256
, ADDRESS_LENGTH
, MAX_UINT256_ROOT
, ONE_ETHER
(#2031)testCombinatoriallyWithReferenceFuncAsync
non-async (#2031)testWithReferenceFuncAsync
to work with RevertErrors
(#2031)web3Wrapper
is created with shouldAllowUnlimitedContractSize
if UNLIMITED_CONTRACT_SIZE
environment variable is set. (#2075)toHex()
, hexLeftPad()
, hexRightPad()
, and 'hexInvert()' hex utils (#2109)PPM_DENOMINATOR
and PPM_100_PERCENT
constants. (#2109)Numberish
type. (#2131)hex_utils
, most notably hexSlice()
(#2155)hexHash()
to hex_utils
(#2155)shortZip()
to lang_utils.ts
(#2155)number_utils.ts
and hexSize()
(#2220)verifyEventsFromLogs()
(#2287)RichErrors
and mixins/MRichErrors
(#1761)MRichErrors
into MRichErrorTypes
. (#1790)SafeMath
functions. (#2031)SafeMathError
in SafeMath._safeDiv()
when denominator is zero. (#2031)LibSafeMath
(#2055)_rrevert
to rrevert
in LibRichErrors
contract (#2055)LibFractions
. (#2155)transferOwnership
(#2253)deepCopyBytes
, popLast20Bytes
, readBytesWithLength
, and writeBytesWithLength
in LibBytes
. (#2265)SafeMath
with LibSafeMath
(#2254)1337
addresses updated with Forwarder deployed after Exchange is configured (#2368)abi-gen-wrappers
RevertErrors
(#2362)KyberBridge
. (#2352)