diff --git a/CHANGELOG.md b/CHANGELOG.md
index 7dc022ac8..f07e907dc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,6 +2,12 @@
This changelog is a work in progress and may contain notes for versions which have not actually been released. Check the [Releases](https://github.com/0xProject/0x-mesh/releases) page to see full release notes and more information about the latest released versions.
+## v10.1.0
+
+### Features ✅
+
+- Added support for continuing to watch and store orders that become unfillable. [#945](https://github.com/0xProject/0x-mesh/pull/945)
+
## v10.0.0
### Breaking changes 🛠
diff --git a/README.md b/README.md
index 5e40e8fb2..742f06db8 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-[![Version](https://img.shields.io/badge/version-10.0.0-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
+[![Version](https://img.shields.io/badge/version-10.1.0-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
[![Docs](https://img.shields.io/badge/docs-website-yellow.svg)](https://0x-org.gitbook.io/mesh)
[![Chat with us on Discord](https://img.shields.io/badge/chat-Discord-blueViolet.svg)](https://discord.gg/HF7fHwk)
[![Circle CI](https://img.shields.io/circleci/project/0xProject/0x-mesh/master.svg)](https://circleci.com/gh/0xProject/0x-mesh/tree/master)
diff --git a/common/types/types.go b/common/types/types.go
index 389ea9cc5..ae191ddab 100644
--- a/common/types/types.go
+++ b/common/types/types.go
@@ -55,6 +55,18 @@ type AddOrdersOpts struct {
// and will always stay in storage until they are no longer fillable. Defaults
// to true.
Pinned bool `json:"pinned"`
+ // KeepCancelled signals that this order should not be deleted
+ // even if it is cancelled.
+ KeepCancelled bool `json:"keepCancelled"`
+ // KeepExpired signals that this order should not be deleted
+ // even if it becomes expired.
+ KeepExpired bool `json:"keepExpired"`
+ // KeepFullyFilled signals that this order should not be deleted
+ // even if it is fully filled.
+ KeepFullyFilled bool `json:"keepFullyFilled"`
+ // KeepUnfunded signals that this order should not be deleted
+ // even if it becomes unfunded.
+ KeepUnfunded bool `json:"keepUnfunded"`
}
// OrderInfo represents an fillable order and how much it could be filled for.
@@ -126,6 +138,10 @@ type OrderWithMetadata struct {
// IsPinned indicates whether or not the order is pinned. Pinned orders are
// not removed from the database unless they become unfillable.
IsPinned bool `json:"isPinned"`
+ // IsUnfillable indicates whether or not the order has become unfillable.
+ IsUnfillable bool `json:"isUnfillable"`
+ // IsExpired indicates whether or not the order has become expired.
+ IsExpired bool `json:"isExpired"`
// JSON-encoded list of assetdatas contained in MakerAssetData. For non-MAP
// orders, the list contains only one element which is equal to MakerAssetData.
// For MAP orders, it contains each component assetdata.
@@ -138,6 +154,18 @@ type OrderWithMetadata struct {
// LastValidatedBlockHash is the hash of the block at which the order was
// last validated.
LastValidatedBlockHash common.Hash `json:"lastValidatedBlockHash"`
+ // KeepCancelled signals that this order should not be deleted
+ // if it is cancelled.
+ KeepCancelled bool `json:"keepCancelled"`
+ // KeepExpired signals that this order should not be deleted
+ // if it becomes expired.
+ KeepExpired bool `json:"keepExpired"`
+ // KeepFullyFilled signals that this order should not be deleted
+ // if it is fully filled.
+ KeepFullyFilled bool `json:"keepFullyFilled"`
+ // KeepUnfunded signals that this order should not be deleted
+ // if it becomes unfunded.
+ KeepUnfunded bool `json:"keepUnfunded"`
}
func (order OrderWithMetadata) SignedOrder() *zeroex.SignedOrder {
diff --git a/core/core.go b/core/core.go
index ea18b21f7..a5d7656ca 100644
--- a/core/core.go
+++ b/core/core.go
@@ -56,7 +56,7 @@ const (
estimatedNonPollingEthereumRPCRequestsPer24Hrs = 50000
// logStatsInterval is how often to log stats for this node.
logStatsInterval = 5 * time.Minute
- version = "10.0.0"
+ version = "10.1.0"
// ordersyncMinPeers is the minimum amount of peers to receive orders from
// before considering the ordersync process finished.
ordersyncMinPeers = 5
@@ -866,7 +866,7 @@ func (app *App) GetOrders(perPage int, minOrderHash common.Hash) (*types.GetOrde
// is true, the orders will be marked as pinned, which means they will only be
// removed if they become unfillable and will not be removed due to having a high
// expiration time or any incentive mechanisms.
-func (app *App) AddOrders(ctx context.Context, signedOrders []*zeroex.SignedOrder, pinned bool) (*ordervalidator.ValidationResults, error) {
+func (app *App) AddOrders(ctx context.Context, signedOrders []*zeroex.SignedOrder, pinned bool, opts *types.AddOrdersOpts) (*ordervalidator.ValidationResults, error) {
signedOrdersRaw := []*json.RawMessage{}
buf := &bytes.Buffer{}
if err := json.NewEncoder(buf).Encode(signedOrders); err != nil {
@@ -875,11 +875,11 @@ func (app *App) AddOrders(ctx context.Context, signedOrders []*zeroex.SignedOrde
if err := json.NewDecoder(buf).Decode(&signedOrdersRaw); err != nil {
return nil, err
}
- return app.AddOrdersRaw(ctx, signedOrdersRaw, pinned)
+ return app.AddOrdersRaw(ctx, signedOrdersRaw, pinned, opts)
}
// AddOrdersRaw is like AddOrders but accepts raw JSON messages.
-func (app *App) AddOrdersRaw(ctx context.Context, signedOrdersRaw []*json.RawMessage, pinned bool) (*ordervalidator.ValidationResults, error) {
+func (app *App) AddOrdersRaw(ctx context.Context, signedOrdersRaw []*json.RawMessage, pinned bool, opts *types.AddOrdersOpts) (*ordervalidator.ValidationResults, error) {
<-app.started
allValidationResults := &ordervalidator.ValidationResults{
@@ -944,7 +944,7 @@ func (app *App) AddOrdersRaw(ctx context.Context, signedOrdersRaw []*json.RawMes
orderHashesSeen[orderHash] = struct{}{}
}
- validationResults, err := app.orderWatcher.ValidateAndStoreValidOrders(ctx, schemaValidOrders, pinned, app.chainID)
+ validationResults, err := app.orderWatcher.ValidateAndStoreValidOrders(ctx, schemaValidOrders, app.chainID, pinned, opts)
if err != nil {
return nil, err
}
diff --git a/core/core_test.go b/core/core_test.go
index 3acb61821..c1bca3f07 100644
--- a/core/core_test.go
+++ b/core/core_test.go
@@ -11,6 +11,7 @@ import (
"testing"
"time"
+ "github.com/0xProject/0x-mesh/common/types"
"github.com/0xProject/0x-mesh/constants"
"github.com/0xProject/0x-mesh/db"
"github.com/0xProject/0x-mesh/ethereum"
@@ -287,7 +288,7 @@ func runOrdersyncTestCase(testCase ordersyncTestCase) func(t *testing.T) {
// We have to wait for latest block to be processed by the Mesh node.
time.Sleep(blockProcessingWaitTime)
- results, err := originalNode.orderWatcher.ValidateAndStoreValidOrders(ctx, originalOrders, true, constants.TestChainID)
+ results, err := originalNode.orderWatcher.ValidateAndStoreValidOrders(ctx, originalOrders, constants.TestChainID, true, &types.AddOrdersOpts{})
require.NoError(t, err)
require.Empty(t, results.Rejected, "tried to add orders but some were invalid: \n%s\n", spew.Sdump(results))
diff --git a/core/message_handler.go b/core/message_handler.go
index d0a4ebf15..bb0e3b292 100644
--- a/core/message_handler.go
+++ b/core/message_handler.go
@@ -3,6 +3,7 @@ package core
import (
"context"
+ "github.com/0xProject/0x-mesh/common/types"
"github.com/0xProject/0x-mesh/constants"
"github.com/0xProject/0x-mesh/encoding"
"github.com/0xProject/0x-mesh/p2p"
@@ -56,7 +57,7 @@ func (app *App) HandleMessages(ctx context.Context, messages []*p2p.Message) err
}
// Next, we validate the orders.
- validationResults, err := app.orderWatcher.ValidateAndStoreValidOrders(ctx, orders, false, app.chainID)
+ validationResults, err := app.orderWatcher.ValidateAndStoreValidOrders(ctx, orders, app.chainID, false, &types.AddOrdersOpts{})
if err != nil {
return err
}
diff --git a/core/ordersync_subprotocols.go b/core/ordersync_subprotocols.go
index abc24774f..614e19129 100644
--- a/core/ordersync_subprotocols.go
+++ b/core/ordersync_subprotocols.go
@@ -7,6 +7,7 @@ import (
"errors"
"fmt"
+ "github.com/0xProject/0x-mesh/common/types"
"github.com/0xProject/0x-mesh/core/ordersync"
"github.com/0xProject/0x-mesh/orderfilter"
"github.com/0xProject/0x-mesh/zeroex"
@@ -170,7 +171,7 @@ func (p *FilteredPaginationSubProtocolV0) HandleOrderSyncResponse(ctx context.Co
p.app.handlePeerScoreEvent(res.ProviderID, psReceivedOrderDoesNotMatchFilter)
}
}
- validationResults, err := p.app.orderWatcher.ValidateAndStoreValidOrders(ctx, filteredOrders, false, p.app.chainID)
+ validationResults, err := p.app.orderWatcher.ValidateAndStoreValidOrders(ctx, filteredOrders, p.app.chainID, false, &types.AddOrdersOpts{})
if err != nil {
return nil, len(filteredOrders), err
}
@@ -361,7 +362,7 @@ func (p *FilteredPaginationSubProtocolV1) HandleOrderSyncResponse(ctx context.Co
p.app.handlePeerScoreEvent(res.ProviderID, psReceivedOrderDoesNotMatchFilter)
}
}
- validationResults, err := p.app.orderWatcher.ValidateAndStoreValidOrders(ctx, filteredOrders, false, p.app.chainID)
+ validationResults, err := p.app.orderWatcher.ValidateAndStoreValidOrders(ctx, filteredOrders, p.app.chainID, false, &types.AddOrdersOpts{})
if err != nil {
return nil, len(filteredOrders), err
}
diff --git a/db/common.go b/db/common.go
index 4e110bf52..d75bd353a 100644
--- a/db/common.go
+++ b/db/common.go
@@ -117,9 +117,15 @@ const (
OFFillableTakerAssetAmount OrderField = "fillableTakerAssetAmount"
OFIsRemoved OrderField = "isRemoved"
OFIsPinned OrderField = "isPinned"
+ OFIsUnfillable OrderField = "isUnfillable"
+ OFIsExpired OrderField = "isExpired"
OFParsedMakerAssetData OrderField = "parsedMakerAssetData"
OFParsedMakerFeeAssetData OrderField = "parsedMakerFeeAssetData"
OFLastValidatedBlockNumber OrderField = "lastValidatedBlockNumber"
+ OFKeepCancelled OrderField = "keepCancelled"
+ OFKeepExpired OrderField = "keepExpired"
+ OFKeepFullyFilled OrderField = "keepFullyFilled"
+ OFKeepUnfunded OrderField = "keepUnfunded"
)
type OrderQuery struct {
@@ -143,6 +149,7 @@ type OrderFilter struct {
type StoredOrderStatus struct {
IsStored bool `json:"isStored"`
IsMarkedRemoved bool `json:"isMarkedRemoved"`
+ IsMarkedUnfillable bool `json:"isMarkedUnfillable"`
FillableTakerAssetAmount *big.Int `json:"fillableTakerAssetAmount"`
}
diff --git a/db/db_test.go b/db/db_test.go
index 0c0839907..7a95e3af8 100644
--- a/db/db_test.go
+++ b/db/db_test.go
@@ -207,14 +207,15 @@ func TestGetOrderStatuses(t *testing.T) {
removedOrder := newTestOrder()
removedOrder.IsRemoved = true
- notRemovedOrder := newTestOrder()
- _, _, _, err := db.AddOrders([]*types.OrderWithMetadata{removedOrder, notRemovedOrder})
+ unfillableOrder := newTestOrder()
+ unfillableOrder.IsUnfillable = true
+ _, _, _, err := db.AddOrders([]*types.OrderWithMetadata{removedOrder, unfillableOrder})
require.NoError(t, err)
hashes := []common.Hash{
common.HexToHash("0xace746910c6a8a4730878e6e8a4abb328844c0b58f0cdfbb5b6ad28ee0bae347"),
removedOrder.Hash,
- notRemovedOrder.Hash,
+ unfillableOrder.Hash,
}
actualStatuses, err := db.GetOrderStatuses(hashes)
require.NoError(t, err)
@@ -222,17 +223,20 @@ func TestGetOrderStatuses(t *testing.T) {
{
IsStored: false,
IsMarkedRemoved: false,
+ IsMarkedUnfillable: false,
FillableTakerAssetAmount: nil,
},
{
IsStored: true,
IsMarkedRemoved: true,
+ IsMarkedUnfillable: false,
FillableTakerAssetAmount: removedOrder.FillableTakerAssetAmount,
},
{
IsStored: true,
IsMarkedRemoved: false,
- FillableTakerAssetAmount: notRemovedOrder.FillableTakerAssetAmount,
+ IsMarkedUnfillable: true,
+ FillableTakerAssetAmount: unfillableOrder.FillableTakerAssetAmount,
},
}
assert.Equal(t, expectedStatuses, actualStatuses)
@@ -1239,6 +1243,8 @@ func newTestOrder() *types.OrderWithMetadata {
FillableTakerAssetAmount: big.NewInt(42),
IsRemoved: false,
IsPinned: true,
+ IsUnfillable: false,
+ IsExpired: false,
ParsedMakerAssetData: []*types.SingleAssetData{
{
Address: constants.GanacheDummyERC721TokenAddress,
@@ -1373,6 +1379,39 @@ func makeOrderFilterTestCases(t *testing.T, db *DB) ([]*types.OrderWithMetadata,
},
expectedMatchingOrders: storedOrders,
},
+ {
+ name: "IsPinned = true",
+ filters: []OrderFilter{
+ {
+ Field: OFIsPinned,
+ Kind: Equal,
+ Value: true,
+ },
+ },
+ expectedMatchingOrders: storedOrders,
+ },
+ {
+ name: "IsUnfillable = false",
+ filters: []OrderFilter{
+ {
+ Field: OFIsUnfillable,
+ Kind: Equal,
+ Value: false,
+ },
+ },
+ expectedMatchingOrders: storedOrders,
+ },
+ {
+ name: "IsExpired = false",
+ filters: []OrderFilter{
+ {
+ Field: OFIsExpired,
+ Kind: Equal,
+ Value: false,
+ },
+ },
+ expectedMatchingOrders: storedOrders,
+ },
{
name: "MakerAddress = Address1",
filters: []OrderFilter{
diff --git a/db/dexie_implementation.go b/db/dexie_implementation.go
index cb4651248..d602e6bb1 100644
--- a/db/dexie_implementation.go
+++ b/db/dexie_implementation.go
@@ -188,6 +188,7 @@ func (db *DB) GetOrderStatuses(hashes []common.Hash) (statuses []*StoredOrderSta
statuses[i] = &StoredOrderStatus{
IsStored: jsStatus.Get("isStored").Bool(),
IsMarkedRemoved: jsStatus.Get("isMarkedRemoved").Bool(),
+ IsMarkedUnfillable: jsStatus.Get("isMarkedUnfillable").Bool(),
FillableTakerAssetAmount: fillableAmount,
}
}
diff --git a/db/dexietypes/dexietypes.go b/db/dexietypes/dexietypes.go
index fb6796122..e0ace34a1 100644
--- a/db/dexietypes/dexietypes.go
+++ b/db/dexietypes/dexietypes.go
@@ -157,10 +157,16 @@ type Order struct {
IsRemoved uint8 `json:"isRemoved"`
IsPinned uint8 `json:"isPinned"`
IsNotPinned uint8 `json:"isNotPinned"` // Used in a compound index in queries related to max expiration time.
+ IsUnfillable uint8 `json:"isUnfillable"`
+ IsExpired uint8 `json:"isExpired"`
ParsedMakerAssetData string `json:"parsedMakerAssetData"`
ParsedMakerFeeAssetData string `json:"parsedMakerFeeAssetData"`
LastValidatedBlockNumber *SortedBigInt `json:"lastValidatedBlockNumber"`
LastValidatedBlockHash common.Hash `json:"lastValidatedBlockHash"`
+ KeepCancelled uint8 `json:"keepCancelled"`
+ KeepExpired uint8 `json:"keepExpired"`
+ KeepFullyFilled uint8 `json:"keepFullyFilled"`
+ KeepUnfunded uint8 `json:"keepUnfunded"`
}
type Metadata struct {
@@ -196,10 +202,16 @@ func OrderToCommonType(order *Order) *types.OrderWithMetadata {
LastUpdated: order.LastUpdated,
IsRemoved: order.IsRemoved == 1,
IsPinned: order.IsPinned == 1,
+ IsUnfillable: order.IsUnfillable == 1,
+ IsExpired: order.IsExpired == 1,
ParsedMakerAssetData: ParsedAssetDataToCommonType(order.ParsedMakerAssetData),
ParsedMakerFeeAssetData: ParsedAssetDataToCommonType(order.ParsedMakerFeeAssetData),
LastValidatedBlockNumber: order.LastValidatedBlockNumber.Int,
LastValidatedBlockHash: order.LastValidatedBlockHash,
+ KeepCancelled: order.KeepCancelled == 1,
+ KeepExpired: order.KeepExpired == 1,
+ KeepFullyFilled: order.KeepFullyFilled == 1,
+ KeepUnfunded: order.KeepUnfunded == 1,
}
}
@@ -231,10 +243,16 @@ func OrderFromCommonType(order *types.OrderWithMetadata) *Order {
IsRemoved: BoolToUint8(order.IsRemoved),
IsPinned: BoolToUint8(order.IsPinned),
IsNotPinned: BoolToUint8(!order.IsPinned),
+ IsUnfillable: BoolToUint8(order.IsUnfillable),
+ IsExpired: BoolToUint8(order.IsExpired),
ParsedMakerAssetData: ParsedAssetDataFromCommonType(order.ParsedMakerAssetData),
ParsedMakerFeeAssetData: ParsedAssetDataFromCommonType(order.ParsedMakerFeeAssetData),
LastValidatedBlockNumber: NewSortedBigInt(order.LastValidatedBlockNumber),
LastValidatedBlockHash: order.LastValidatedBlockHash,
+ KeepCancelled: BoolToUint8(order.KeepCancelled),
+ KeepExpired: BoolToUint8(order.KeepExpired),
+ KeepFullyFilled: BoolToUint8(order.KeepFullyFilled),
+ KeepUnfunded: BoolToUint8(order.KeepUnfunded),
}
}
diff --git a/db/sql_implementation.go b/db/sql_implementation.go
index 7205c964d..d0f7cc3f3 100644
--- a/db/sql_implementation.go
+++ b/db/sql_implementation.go
@@ -132,10 +132,16 @@ CREATE TABLE IF NOT EXISTS orders (
fillableTakerAssetAmount TEXT NOT NULL,
isRemoved BOOLEAN NOT NULL,
isPinned BOOLEAN NOT NULL,
+ isUnfillable BOOLEAN NOT NULL,
+ isExpired BOOLEAN NOT NULL,
parsedMakerAssetData TEXT NOT NULL,
parsedMakerFeeAssetData TEXT NOT NULL,
lastValidatedBlockNumber TEXT NOT NULL,
- lastValidatedBlockHash TEXT NOT NULL
+ lastValidatedBlockHash TEXT NOT NULL,
+ keepCancelled BOOLEAN NOT NULL,
+ keepExpired BOOLEAN NOT NULL,
+ keepFullyFilled BOOLEAN NOT NULL,
+ keepUnfunded BOOLEAN NOT NULL
);
CREATE TABLE IF NOT EXISTS miniHeaders (
@@ -188,10 +194,16 @@ const insertOrderQuery = `INSERT INTO orders (
fillableTakerAssetAmount,
isRemoved,
isPinned,
+ isUnfillable,
+ isExpired,
parsedMakerAssetData,
parsedMakerFeeAssetData,
lastValidatedBlockNumber,
- lastValidatedBlockHash
+ lastValidatedBlockHash,
+ keepCancelled,
+ keepExpired,
+ keepFullyFilled,
+ keepUnfunded
) VALUES (
:hash,
:chainID,
@@ -215,10 +227,16 @@ const insertOrderQuery = `INSERT INTO orders (
:fillableTakerAssetAmount,
:isRemoved,
:isPinned,
+ :isUnfillable,
+ :isExpired,
:parsedMakerAssetData,
:parsedMakerFeeAssetData,
:lastValidatedBlockNumber,
- :lastValidatedBlockHash
+ :lastValidatedBlockHash,
+ :keepCancelled,
+ :keepExpired,
+ :keepFullyFilled,
+ :keepUnfunded
) ON CONFLICT DO NOTHING
`
@@ -244,10 +262,16 @@ const updateOrderQuery = `UPDATE orders SET
fillableTakerAssetAmount = :fillableTakerAssetAmount,
isRemoved = :isRemoved,
isPinned = :isPinned,
+ isUnfillable = :isUnfillable,
+ isExpired = :isExpired,
parsedMakerAssetData = :parsedMakerAssetData,
parsedMakerFeeAssetData = :parsedMakerFeeAssetData,
lastValidatedBlockNumber = :lastValidatedBlockNumber,
- lastValidatedBlockHash = :lastValidatedBlockHash
+ lastValidatedBlockHash = :lastValidatedBlockHash,
+ keepCancelled = :keepCancelled,
+ keepExpired = :keepExpired,
+ keepFullyFilled = :keepFullyFilled,
+ keepUnfunded = :keepUnfunded
WHERE orders.hash = :hash
`
@@ -381,27 +405,23 @@ func (db *DB) GetOrderStatuses(hashes []common.Hash) (statuses []*StoredOrderSta
err = db.ReadWriteTransactionalContext(db.ctx, nil, func(txn *sqlz.Tx) error {
for i, hash := range hashes {
var foundOrder sqltypes.Order
- err := db.sqldb.GetContext(db.ctx, &foundOrder, "SELECT isRemoved, fillableTakerAssetAmount FROM orders WHERE hash = $1", hash)
+ err := db.sqldb.GetContext(db.ctx, &foundOrder, "SELECT isRemoved, isUnfillable, fillableTakerAssetAmount FROM orders WHERE hash = $1", hash)
if err != nil {
if err == sql.ErrNoRows {
orderStatuses[i] = &StoredOrderStatus{
IsStored: false,
IsMarkedRemoved: false,
+ IsMarkedUnfillable: false,
FillableTakerAssetAmount: nil,
}
} else {
return err
}
- } else if foundOrder.IsRemoved {
- orderStatuses[i] = &StoredOrderStatus{
- IsStored: true,
- IsMarkedRemoved: true,
- FillableTakerAssetAmount: foundOrder.FillableTakerAssetAmount.Int,
- }
} else {
orderStatuses[i] = &StoredOrderStatus{
IsStored: true,
- IsMarkedRemoved: false,
+ IsMarkedRemoved: foundOrder.IsRemoved,
+ IsMarkedUnfillable: foundOrder.IsUnfillable,
FillableTakerAssetAmount: foundOrder.FillableTakerAssetAmount.Int,
}
}
diff --git a/db/sqltypes/sqltypes.go b/db/sqltypes/sqltypes.go
index 05b53843c..2d5021968 100644
--- a/db/sqltypes/sqltypes.go
+++ b/db/sqltypes/sqltypes.go
@@ -243,10 +243,16 @@ type Order struct {
FillableTakerAssetAmount *SortedBigInt `db:"fillableTakerAssetAmount"`
IsRemoved bool `db:"isRemoved"`
IsPinned bool `db:"isPinned"`
+ IsUnfillable bool `db:"isUnfillable"`
+ IsExpired bool `db:"isExpired"`
ParsedMakerAssetData *ParsedAssetData `db:"parsedMakerAssetData"`
ParsedMakerFeeAssetData *ParsedAssetData `db:"parsedMakerFeeAssetData"`
LastValidatedBlockNumber *SortedBigInt `db:"lastValidatedBlockNumber"`
LastValidatedBlockHash common.Hash `db:"lastValidatedBlockHash"`
+ KeepCancelled bool `db:"keepCancelled"`
+ KeepExpired bool `db:"keepExpired"`
+ KeepFullyFilled bool `db:"keepFullyFilled"`
+ KeepUnfunded bool `db:"keepUnfunded"`
}
// EventLogs is a wrapper around []*ethtypes.Log that implements the
@@ -328,10 +334,16 @@ func OrderToCommonType(order *Order) *types.OrderWithMetadata {
LastUpdated: order.LastUpdated,
IsRemoved: order.IsRemoved,
IsPinned: order.IsPinned,
+ IsUnfillable: order.IsUnfillable,
+ IsExpired: order.IsExpired,
ParsedMakerAssetData: ParsedAssetDataToCommonType(order.ParsedMakerAssetData),
ParsedMakerFeeAssetData: ParsedAssetDataToCommonType(order.ParsedMakerFeeAssetData),
LastValidatedBlockNumber: order.LastValidatedBlockNumber.Int,
LastValidatedBlockHash: order.LastValidatedBlockHash,
+ KeepCancelled: order.KeepCancelled,
+ KeepExpired: order.KeepExpired,
+ KeepFullyFilled: order.KeepFullyFilled,
+ KeepUnfunded: order.KeepUnfunded,
}
}
@@ -362,10 +374,16 @@ func OrderFromCommonType(order *types.OrderWithMetadata) *Order {
FillableTakerAssetAmount: NewSortedBigInt(order.FillableTakerAssetAmount),
IsRemoved: order.IsRemoved,
IsPinned: order.IsPinned,
+ IsUnfillable: order.IsUnfillable,
+ IsExpired: order.IsExpired,
ParsedMakerAssetData: ParsedAssetDataFromCommonType(order.ParsedMakerAssetData),
ParsedMakerFeeAssetData: ParsedAssetDataFromCommonType(order.ParsedMakerFeeAssetData),
LastValidatedBlockNumber: NewSortedBigInt(order.LastValidatedBlockNumber),
LastValidatedBlockHash: order.LastValidatedBlockHash,
+ KeepCancelled: order.KeepCancelled,
+ KeepExpired: order.KeepExpired,
+ KeepFullyFilled: order.KeepFullyFilled,
+ KeepUnfunded: order.KeepUnfunded,
}
}
diff --git a/docs/browser-bindings/browser-lite/README.md b/docs/browser-bindings/browser-lite/README.md
index 06ed5b640..dd8119ee4 100644
--- a/docs/browser-bindings/browser-lite/README.md
+++ b/docs/browser-bindings/browser-lite/README.md
@@ -1,4 +1,4 @@
-# @0x/mesh-browser-lite - v10.0.0
+# @0x/mesh-browser-lite - v10.1.0
## @0x/mesh-browser-lite
diff --git a/docs/browser-bindings/browser-lite/reference.md b/docs/browser-bindings/browser-lite/reference.md
index 2eae07282..875b416d1 100644
--- a/docs/browser-bindings/browser-lite/reference.md
+++ b/docs/browser-bindings/browser-lite/reference.md
@@ -13,7 +13,7 @@ sending orders through the 0x Mesh network.
\+ **new Mesh**(`config`: [Config](#interface-config)): _[Mesh](#class-mesh)_
-_Defined in [mesh.ts:132](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L132)_
+_Defined in [mesh.ts:132](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L132)_
Instantiates a new Mesh instance.
@@ -33,7 +33,7 @@ An instance of Mesh
• **wrapper**? : _MeshWrapper_
-_Defined in [mesh.ts:129](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L129)_
+_Defined in [mesh.ts:129](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L129)_
### Methods
@@ -41,7 +41,7 @@ _Defined in [mesh.ts:129](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
▸ **addOrdersAsync**(`orders`: SignedOrder[], `pinned`: boolean): _Promise‹[ValidationResults](#interface-validationresults)›_
-_Defined in [mesh.ts:269](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L269)_
+_Defined in [mesh.ts:269](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L269)_
Validates and adds the given orders to Mesh. If an order is successfully
added, Mesh will share it with any peers in the network and start
@@ -68,7 +68,7 @@ were accepted and which were rejected.
▸ **getOrdersAsync**(`perPage`: number): _Promise‹[GetOrdersResponse](#interface-getordersresponse)›_
-_Defined in [mesh.ts:207](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L207)_
+_Defined in [mesh.ts:207](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L207)_
Get all 0x signed orders currently stored in the Mesh node
@@ -88,7 +88,7 @@ the snapshotID, snapshotTimestamp and all orders, their hashes and fillableTaker
▸ **getOrdersForPageAsync**(`perPage`: number, `minOrderHash?`: undefined | string): _Promise‹[GetOrdersResponse](#interface-getordersresponse)›_
-_Defined in [mesh.ts:240](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L240)_
+_Defined in [mesh.ts:240](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L240)_
Get page of 0x signed orders stored on the Mesh node at the specified snapshot
@@ -109,7 +109,7 @@ Up to perPage orders with hash greater than minOrderHash, including order hashes
▸ **getStatsAsync**(): _Promise‹[Stats](#interface-stats)›_
-_Defined in [mesh.ts:190](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L190)_
+_Defined in [mesh.ts:190](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L190)_
Returns various stats about Mesh, including the total number of orders
and the number of peers Mesh is connected to.
@@ -122,7 +122,7 @@ and the number of peers Mesh is connected to.
▸ **onError**(`handler`: function): _void_
-_Defined in [mesh.ts:152](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L152)_
+_Defined in [mesh.ts:152](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L152)_
Registers a handler which will be called in the event of a critical
error. Note that the handler will not be called for non-critical errors.
@@ -151,7 +151,7 @@ The handler to be called.
▸ **onOrderEvents**(`handler`: function): _void_
-_Defined in [mesh.ts:165](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L165)_
+_Defined in [mesh.ts:165](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L165)_
Registers a handler which will be called for any incoming order events.
Order events are fired whenver an order is added, canceled, expired, or
@@ -180,7 +180,7 @@ The handler to be called.
▸ **startAsync**(): _Promise‹void›_
-_Defined in [mesh.ts:174](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L174)_
+_Defined in [mesh.ts:174](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L174)_
Starts the Mesh node in the background. Mesh will automatically find
peers in the network and begin receiving orders from them.
@@ -197,7 +197,7 @@ peers in the network and begin receiving orders from them.
• **ERC1155ApprovalForAllEvent**: = "ERC1155ApprovalForAllEvent"
-_Defined in [types.ts:505](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L505)_
+_Defined in [types.ts:505](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L505)_
---
@@ -205,7 +205,7 @@ _Defined in [types.ts:505](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC1155TransferBatchEvent**: = "ERC1155TransferBatchEvent"
-_Defined in [types.ts:507](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L507)_
+_Defined in [types.ts:507](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L507)_
---
@@ -213,7 +213,7 @@ _Defined in [types.ts:507](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC1155TransferSingleEvent**: = "ERC1155TransferSingleEvent"
-_Defined in [types.ts:506](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L506)_
+_Defined in [types.ts:506](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L506)_
---
@@ -221,7 +221,7 @@ _Defined in [types.ts:506](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC20ApprovalEvent**: = "ERC20ApprovalEvent"
-_Defined in [types.ts:501](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L501)_
+_Defined in [types.ts:501](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L501)_
---
@@ -229,7 +229,7 @@ _Defined in [types.ts:501](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC20TransferEvent**: = "ERC20TransferEvent"
-_Defined in [types.ts:500](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L500)_
+_Defined in [types.ts:500](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L500)_
---
@@ -237,7 +237,7 @@ _Defined in [types.ts:500](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC721ApprovalEvent**: = "ERC721ApprovalEvent"
-_Defined in [types.ts:503](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L503)_
+_Defined in [types.ts:503](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L503)_
---
@@ -245,7 +245,7 @@ _Defined in [types.ts:503](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC721ApprovalForAllEvent**: = "ERC721ApprovalForAllEvent"
-_Defined in [types.ts:504](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L504)_
+_Defined in [types.ts:504](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L504)_
---
@@ -253,7 +253,7 @@ _Defined in [types.ts:504](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC721TransferEvent**: = "ERC721TransferEvent"
-_Defined in [types.ts:502](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L502)_
+_Defined in [types.ts:502](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L502)_
---
@@ -261,7 +261,7 @@ _Defined in [types.ts:502](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ExchangeCancelEvent**: = "ExchangeCancelEvent"
-_Defined in [types.ts:509](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L509)_
+_Defined in [types.ts:509](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L509)_
---
@@ -269,7 +269,7 @@ _Defined in [types.ts:509](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ExchangeCancelUpToEvent**: = "ExchangeCancelUpToEvent"
-_Defined in [types.ts:510](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L510)_
+_Defined in [types.ts:510](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L510)_
---
@@ -277,7 +277,7 @@ _Defined in [types.ts:510](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ExchangeFillEvent**: = "ExchangeFillEvent"
-_Defined in [types.ts:508](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L508)_
+_Defined in [types.ts:508](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L508)_
---
@@ -285,7 +285,7 @@ _Defined in [types.ts:508](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **WethDepositEvent**: = "WethDepositEvent"
-_Defined in [types.ts:511](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L511)_
+_Defined in [types.ts:511](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L511)_
---
@@ -293,7 +293,7 @@ _Defined in [types.ts:511](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **WethWithdrawalEvent**: = "WethWithdrawalEvent"
-_Defined in [types.ts:512](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L512)_
+_Defined in [types.ts:512](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L512)_
@@ -305,7 +305,7 @@ _Defined in [types.ts:512](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Added**: = "ADDED"
-_Defined in [types.ts:575](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L575)_
+_Defined in [types.ts:575](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L575)_
---
@@ -313,7 +313,7 @@ _Defined in [types.ts:575](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Cancelled**: = "CANCELLED"
-_Defined in [types.ts:578](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L578)_
+_Defined in [types.ts:578](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L578)_
---
@@ -321,7 +321,7 @@ _Defined in [types.ts:578](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Expired**: = "EXPIRED"
-_Defined in [types.ts:579](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L579)_
+_Defined in [types.ts:579](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L579)_
---
@@ -329,7 +329,7 @@ _Defined in [types.ts:579](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **FillabilityIncreased**: = "FILLABILITY_INCREASED"
-_Defined in [types.ts:582](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L582)_
+_Defined in [types.ts:582](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L582)_
---
@@ -337,7 +337,7 @@ _Defined in [types.ts:582](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Filled**: = "FILLED"
-_Defined in [types.ts:576](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L576)_
+_Defined in [types.ts:576](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L576)_
---
@@ -345,7 +345,7 @@ _Defined in [types.ts:576](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **FullyFilled**: = "FULLY_FILLED"
-_Defined in [types.ts:577](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L577)_
+_Defined in [types.ts:577](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L577)_
---
@@ -353,7 +353,7 @@ _Defined in [types.ts:577](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Invalid**: = "INVALID"
-_Defined in [types.ts:574](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L574)_
+_Defined in [types.ts:574](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L574)_
---
@@ -361,7 +361,7 @@ _Defined in [types.ts:574](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **StoppedWatching**: = "STOPPED_WATCHING"
-_Defined in [types.ts:583](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L583)_
+_Defined in [types.ts:583](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L583)_
---
@@ -369,7 +369,7 @@ _Defined in [types.ts:583](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Unexpired**: = "UNEXPIRED"
-_Defined in [types.ts:580](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L580)_
+_Defined in [types.ts:580](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L580)_
---
@@ -377,7 +377,7 @@ _Defined in [types.ts:580](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Unfunded**: = "UNFUNDED"
-_Defined in [types.ts:581](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L581)_
+_Defined in [types.ts:581](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L581)_
@@ -391,7 +391,7 @@ A set of categories for rejected orders.
• **MeshError**: = "MESH_ERROR"
-_Defined in [types.ts:713](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L713)_
+_Defined in [types.ts:713](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L713)_
---
@@ -399,7 +399,7 @@ _Defined in [types.ts:713](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **MeshValidation**: = "MESH_VALIDATION"
-_Defined in [types.ts:714](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L714)_
+_Defined in [types.ts:714](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L714)_
---
@@ -407,7 +407,7 @@ _Defined in [types.ts:714](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ZeroExValidation**: = "ZEROEX_VALIDATION"
-_Defined in [types.ts:712](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L712)_
+_Defined in [types.ts:712](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L712)_
@@ -419,7 +419,7 @@ _Defined in [types.ts:712](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Debug**: = 5
-_Defined in [types.ts:238](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L238)_
+_Defined in [types.ts:238](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L238)_
---
@@ -427,7 +427,7 @@ _Defined in [types.ts:238](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Error**: = 2
-_Defined in [types.ts:235](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L235)_
+_Defined in [types.ts:235](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L235)_
---
@@ -435,7 +435,7 @@ _Defined in [types.ts:235](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Fatal**: = 1
-_Defined in [types.ts:234](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L234)_
+_Defined in [types.ts:234](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L234)_
---
@@ -443,7 +443,7 @@ _Defined in [types.ts:234](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Info**: = 4
-_Defined in [types.ts:237](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L237)_
+_Defined in [types.ts:237](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L237)_
---
@@ -451,7 +451,7 @@ _Defined in [types.ts:237](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Panic**: = 0
-_Defined in [types.ts:233](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L233)_
+_Defined in [types.ts:233](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L233)_
---
@@ -459,7 +459,7 @@ _Defined in [types.ts:233](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Trace**: = 6
-_Defined in [types.ts:239](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L239)_
+_Defined in [types.ts:239](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L239)_
---
@@ -467,7 +467,7 @@ _Defined in [types.ts:239](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Warn**: = 3
-_Defined in [types.ts:236](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L236)_
+_Defined in [types.ts:236](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L236)_
@@ -485,7 +485,7 @@ Info for any orders that were accepted.
• **fillableTakerAssetAmount**: _BigNumber_
-_Defined in [types.ts:693](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L693)_
+_Defined in [types.ts:693](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L693)_
---
@@ -493,7 +493,7 @@ _Defined in [types.ts:693](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **isNew**: _boolean_
-_Defined in [types.ts:694](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L694)_
+_Defined in [types.ts:694](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L694)_
---
@@ -501,7 +501,7 @@ _Defined in [types.ts:694](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:691](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L691)_
+_Defined in [types.ts:691](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L691)_
---
@@ -509,7 +509,7 @@ _Defined in [types.ts:691](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **signedOrder**: _SignedOrder_
-_Defined in [types.ts:692](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L692)_
+_Defined in [types.ts:692](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L692)_
@@ -527,7 +527,7 @@ A set of configuration options for Mesh.
• **blockPollingIntervalSeconds**? : _undefined | number_
-_Defined in [types.ts:144](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L144)_
+_Defined in [types.ts:144](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L144)_
---
@@ -535,7 +535,7 @@ _Defined in [types.ts:144](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **bootstrapList**? : _string[]_
-_Defined in [types.ts:137](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L137)_
+_Defined in [types.ts:137](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L137)_
---
@@ -543,7 +543,7 @@ _Defined in [types.ts:137](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **customContractAddresses**? : _[ContractAddresses](#interface-contractaddresses)_
-_Defined in [types.ts:188](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L188)_
+_Defined in [types.ts:188](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L188)_
---
@@ -551,7 +551,7 @@ _Defined in [types.ts:188](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **customOrderFilter**? : _[JsonSchema](#interface-jsonschema)_
-_Defined in [types.ts:213](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L213)_
+_Defined in [types.ts:213](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L213)_
---
@@ -559,7 +559,7 @@ _Defined in [types.ts:213](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **enableEthereumRPCRateLimiting**? : _undefined | false | true_
-_Defined in [types.ts:161](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L161)_
+_Defined in [types.ts:161](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L161)_
---
@@ -567,7 +567,7 @@ _Defined in [types.ts:161](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumChainID**: _number_
-_Defined in [types.ts:129](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L129)_
+_Defined in [types.ts:129](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L129)_
---
@@ -575,7 +575,7 @@ _Defined in [types.ts:129](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumRPCMaxContentLength**? : _undefined | number_
-_Defined in [types.ts:153](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L153)_
+_Defined in [types.ts:153](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L153)_
---
@@ -583,7 +583,7 @@ _Defined in [types.ts:153](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumRPCMaxRequestsPer24HrUTC**? : _undefined | number_
-_Defined in [types.ts:166](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L166)_
+_Defined in [types.ts:166](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L166)_
---
@@ -591,7 +591,7 @@ _Defined in [types.ts:166](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumRPCMaxRequestsPerSecond**? : _undefined | number_
-_Defined in [types.ts:172](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L172)_
+_Defined in [types.ts:172](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L172)_
---
@@ -599,7 +599,7 @@ _Defined in [types.ts:172](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumRPCURL**? : _undefined | string_
-_Defined in [types.ts:126](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L126)_
+_Defined in [types.ts:126](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L126)_
---
@@ -607,7 +607,7 @@ _Defined in [types.ts:126](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **maxBytesPerSecond**? : _undefined | number_
-_Defined in [types.ts:219](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L219)_
+_Defined in [types.ts:219](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L219)_
---
@@ -615,7 +615,7 @@ _Defined in [types.ts:219](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **maxOrdersInStorage**? : _undefined | number_
-_Defined in [types.ts:193](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L193)_
+_Defined in [types.ts:193](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L193)_
---
@@ -623,7 +623,7 @@ _Defined in [types.ts:193](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **useBootstrapList**? : _undefined | false | true_
-_Defined in [types.ts:132](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L132)_
+_Defined in [types.ts:132](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L132)_
---
@@ -631,7 +631,7 @@ _Defined in [types.ts:132](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **verbosity**? : _[Verbosity](#enumeration-verbosity)_
-_Defined in [types.ts:123](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L123)_
+_Defined in [types.ts:123](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L123)_
---
@@ -639,7 +639,7 @@ _Defined in [types.ts:123](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **web3Provider**? : _SupportedProvider_
-_Defined in [types.ts:216](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L216)_
+_Defined in [types.ts:216](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L216)_
@@ -655,7 +655,7 @@ _Defined in [types.ts:216](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **devUtils**: _string_
-_Defined in [types.ts:224](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L224)_
+_Defined in [types.ts:224](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L224)_
---
@@ -663,7 +663,7 @@ _Defined in [types.ts:224](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **erc1155Proxy**: _string_
-_Defined in [types.ts:227](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L227)_
+_Defined in [types.ts:227](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L227)_
---
@@ -671,7 +671,7 @@ _Defined in [types.ts:227](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **erc20Proxy**: _string_
-_Defined in [types.ts:225](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L225)_
+_Defined in [types.ts:225](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L225)_
---
@@ -679,7 +679,7 @@ _Defined in [types.ts:225](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **erc721Proxy**: _string_
-_Defined in [types.ts:226](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L226)_
+_Defined in [types.ts:226](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L226)_
---
@@ -687,7 +687,7 @@ _Defined in [types.ts:226](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **exchange**: _string_
-_Defined in [types.ts:223](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L223)_
+_Defined in [types.ts:223](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L223)_
---
@@ -695,7 +695,7 @@ _Defined in [types.ts:223](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **weth9**? : _undefined | string_
-_Defined in [types.ts:228](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L228)_
+_Defined in [types.ts:228](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L228)_
---
@@ -703,7 +703,7 @@ _Defined in [types.ts:228](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **zrxToken**? : _undefined | string_
-_Defined in [types.ts:229](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L229)_
+_Defined in [types.ts:229](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L229)_
@@ -719,7 +719,7 @@ _Defined in [types.ts:229](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **address**: _string_
-_Defined in [types.ts:553](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L553)_
+_Defined in [types.ts:553](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L553)_
---
@@ -727,7 +727,7 @@ _Defined in [types.ts:553](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **blockHash**: _string_
-_Defined in [types.ts:548](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L548)_
+_Defined in [types.ts:548](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L548)_
---
@@ -735,7 +735,7 @@ _Defined in [types.ts:548](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **isRemoved**: _boolean_
-_Defined in [types.ts:552](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L552)_
+_Defined in [types.ts:552](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L552)_
---
@@ -743,7 +743,7 @@ _Defined in [types.ts:552](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **kind**: _[ContractEventKind](#enumeration-contracteventkind)_
-_Defined in [types.ts:554](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L554)_
+_Defined in [types.ts:554](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L554)_
---
@@ -751,7 +751,7 @@ _Defined in [types.ts:554](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **logIndex**: _number_
-_Defined in [types.ts:551](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L551)_
+_Defined in [types.ts:551](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L551)_
---
@@ -759,7 +759,7 @@ _Defined in [types.ts:551](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **parameters**: _ContractEventParameters_
-_Defined in [types.ts:555](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L555)_
+_Defined in [types.ts:555](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L555)_
---
@@ -767,7 +767,7 @@ _Defined in [types.ts:555](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **txHash**: _string_
-_Defined in [types.ts:549](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L549)_
+_Defined in [types.ts:549](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L549)_
---
@@ -775,7 +775,7 @@ _Defined in [types.ts:549](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **txIndex**: _number_
-_Defined in [types.ts:550](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L550)_
+_Defined in [types.ts:550](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L550)_
@@ -791,7 +791,7 @@ _Defined in [types.ts:550](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **approved**: _boolean_
-_Defined in [types.ts:417](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L417)_
+_Defined in [types.ts:417](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L417)_
---
@@ -799,7 +799,7 @@ _Defined in [types.ts:417](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **operator**: _string_
-_Defined in [types.ts:416](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L416)_
+_Defined in [types.ts:416](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L416)_
---
@@ -807,7 +807,7 @@ _Defined in [types.ts:416](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:415](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L415)_
+_Defined in [types.ts:415](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L415)_
@@ -823,7 +823,7 @@ _Defined in [types.ts:415](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **from**: _string_
-_Defined in [types.ts:399](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L399)_
+_Defined in [types.ts:399](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L399)_
---
@@ -831,7 +831,7 @@ _Defined in [types.ts:399](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ids**: _BigNumber[]_
-_Defined in [types.ts:401](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L401)_
+_Defined in [types.ts:401](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L401)_
---
@@ -839,7 +839,7 @@ _Defined in [types.ts:401](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **operator**: _string_
-_Defined in [types.ts:398](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L398)_
+_Defined in [types.ts:398](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L398)_
---
@@ -847,7 +847,7 @@ _Defined in [types.ts:398](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **to**: _string_
-_Defined in [types.ts:400](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L400)_
+_Defined in [types.ts:400](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L400)_
---
@@ -855,7 +855,7 @@ _Defined in [types.ts:400](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **values**: _BigNumber[]_
-_Defined in [types.ts:402](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L402)_
+_Defined in [types.ts:402](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L402)_
@@ -871,7 +871,7 @@ _Defined in [types.ts:402](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **from**: _string_
-_Defined in [types.ts:382](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L382)_
+_Defined in [types.ts:382](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L382)_
---
@@ -879,7 +879,7 @@ _Defined in [types.ts:382](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **id**: _BigNumber_
-_Defined in [types.ts:384](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L384)_
+_Defined in [types.ts:384](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L384)_
---
@@ -887,7 +887,7 @@ _Defined in [types.ts:384](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **operator**: _string_
-_Defined in [types.ts:381](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L381)_
+_Defined in [types.ts:381](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L381)_
---
@@ -895,7 +895,7 @@ _Defined in [types.ts:381](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **to**: _string_
-_Defined in [types.ts:383](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L383)_
+_Defined in [types.ts:383](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L383)_
---
@@ -903,7 +903,7 @@ _Defined in [types.ts:383](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:385](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L385)_
+_Defined in [types.ts:385](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L385)_
@@ -919,7 +919,7 @@ _Defined in [types.ts:385](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:336](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L336)_
+_Defined in [types.ts:336](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L336)_
---
@@ -927,7 +927,7 @@ _Defined in [types.ts:336](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **spender**: _string_
-_Defined in [types.ts:337](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L337)_
+_Defined in [types.ts:337](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L337)_
---
@@ -935,7 +935,7 @@ _Defined in [types.ts:337](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:338](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L338)_
+_Defined in [types.ts:338](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L338)_
@@ -951,7 +951,7 @@ _Defined in [types.ts:338](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **from**: _string_
-_Defined in [types.ts:323](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L323)_
+_Defined in [types.ts:323](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L323)_
---
@@ -959,7 +959,7 @@ _Defined in [types.ts:323](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **to**: _string_
-_Defined in [types.ts:324](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L324)_
+_Defined in [types.ts:324](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L324)_
---
@@ -967,7 +967,7 @@ _Defined in [types.ts:324](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:325](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L325)_
+_Defined in [types.ts:325](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L325)_
@@ -983,7 +983,7 @@ _Defined in [types.ts:325](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **approved**: _string_
-_Defined in [types.ts:363](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L363)_
+_Defined in [types.ts:363](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L363)_
---
@@ -991,7 +991,7 @@ _Defined in [types.ts:363](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:362](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L362)_
+_Defined in [types.ts:362](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L362)_
---
@@ -999,7 +999,7 @@ _Defined in [types.ts:362](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **tokenId**: _BigNumber_
-_Defined in [types.ts:364](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L364)_
+_Defined in [types.ts:364](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L364)_
@@ -1015,7 +1015,7 @@ _Defined in [types.ts:364](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **approved**: _boolean_
-_Defined in [types.ts:377](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L377)_
+_Defined in [types.ts:377](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L377)_
---
@@ -1023,7 +1023,7 @@ _Defined in [types.ts:377](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **operator**: _string_
-_Defined in [types.ts:376](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L376)_
+_Defined in [types.ts:376](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L376)_
---
@@ -1031,7 +1031,7 @@ _Defined in [types.ts:376](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:375](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L375)_
+_Defined in [types.ts:375](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L375)_
@@ -1047,7 +1047,7 @@ _Defined in [types.ts:375](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **from**: _string_
-_Defined in [types.ts:349](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L349)_
+_Defined in [types.ts:349](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L349)_
---
@@ -1055,7 +1055,7 @@ _Defined in [types.ts:349](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **to**: _string_
-_Defined in [types.ts:350](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L350)_
+_Defined in [types.ts:350](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L350)_
---
@@ -1063,7 +1063,7 @@ _Defined in [types.ts:350](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **tokenId**: _BigNumber_
-_Defined in [types.ts:351](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L351)_
+_Defined in [types.ts:351](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L351)_
@@ -1079,7 +1079,7 @@ _Defined in [types.ts:351](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **feeRecipientAddress**: _string_
-_Defined in [types.ts:458](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L458)_
+_Defined in [types.ts:458](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L458)_
---
@@ -1087,7 +1087,7 @@ _Defined in [types.ts:458](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAddress**: _string_
-_Defined in [types.ts:456](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L456)_
+_Defined in [types.ts:456](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L456)_
---
@@ -1095,7 +1095,7 @@ _Defined in [types.ts:456](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAssetData**: _string_
-_Defined in [types.ts:460](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L460)_
+_Defined in [types.ts:460](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L460)_
---
@@ -1103,7 +1103,7 @@ _Defined in [types.ts:460](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:459](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L459)_
+_Defined in [types.ts:459](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L459)_
---
@@ -1111,7 +1111,7 @@ _Defined in [types.ts:459](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **senderAddress**: _string_
-_Defined in [types.ts:457](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L457)_
+_Defined in [types.ts:457](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L457)_
---
@@ -1119,7 +1119,7 @@ _Defined in [types.ts:457](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerAssetData**: _string_
-_Defined in [types.ts:461](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L461)_
+_Defined in [types.ts:461](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L461)_
@@ -1135,7 +1135,7 @@ _Defined in [types.ts:461](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAddress**: _string_
-_Defined in [types.ts:465](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L465)_
+_Defined in [types.ts:465](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L465)_
---
@@ -1143,7 +1143,7 @@ _Defined in [types.ts:465](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderEpoch**: _BigNumber_
-_Defined in [types.ts:467](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L467)_
+_Defined in [types.ts:467](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L467)_
---
@@ -1151,7 +1151,7 @@ _Defined in [types.ts:467](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderSenderAddress**: _string_
-_Defined in [types.ts:466](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L466)_
+_Defined in [types.ts:466](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L466)_
@@ -1167,7 +1167,7 @@ _Defined in [types.ts:466](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **feeRecipientAddress**: _string_
-_Defined in [types.ts:424](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L424)_
+_Defined in [types.ts:424](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L424)_
---
@@ -1175,7 +1175,7 @@ _Defined in [types.ts:424](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAddress**: _string_
-_Defined in [types.ts:421](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L421)_
+_Defined in [types.ts:421](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L421)_
---
@@ -1183,7 +1183,7 @@ _Defined in [types.ts:421](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAssetData**: _string_
-_Defined in [types.ts:431](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L431)_
+_Defined in [types.ts:431](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L431)_
---
@@ -1191,7 +1191,7 @@ _Defined in [types.ts:431](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAssetFilledAmount**: _BigNumber_
-_Defined in [types.ts:425](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L425)_
+_Defined in [types.ts:425](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L425)_
---
@@ -1199,7 +1199,7 @@ _Defined in [types.ts:425](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerFeeAssetData**: _string_
-_Defined in [types.ts:433](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L433)_
+_Defined in [types.ts:433](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L433)_
---
@@ -1207,7 +1207,7 @@ _Defined in [types.ts:433](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerFeePaid**: _BigNumber_
-_Defined in [types.ts:427](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L427)_
+_Defined in [types.ts:427](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L427)_
---
@@ -1215,7 +1215,7 @@ _Defined in [types.ts:427](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:430](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L430)_
+_Defined in [types.ts:430](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L430)_
---
@@ -1223,7 +1223,7 @@ _Defined in [types.ts:430](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **protocolFeePaid**: _BigNumber_
-_Defined in [types.ts:429](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L429)_
+_Defined in [types.ts:429](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L429)_
---
@@ -1231,7 +1231,7 @@ _Defined in [types.ts:429](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **senderAddress**: _string_
-_Defined in [types.ts:423](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L423)_
+_Defined in [types.ts:423](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L423)_
---
@@ -1239,7 +1239,7 @@ _Defined in [types.ts:423](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerAddress**: _string_
-_Defined in [types.ts:422](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L422)_
+_Defined in [types.ts:422](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L422)_
---
@@ -1247,7 +1247,7 @@ _Defined in [types.ts:422](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerAssetData**: _string_
-_Defined in [types.ts:432](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L432)_
+_Defined in [types.ts:432](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L432)_
---
@@ -1255,7 +1255,7 @@ _Defined in [types.ts:432](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerAssetFilledAmount**: _BigNumber_
-_Defined in [types.ts:426](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L426)_
+_Defined in [types.ts:426](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L426)_
---
@@ -1263,7 +1263,7 @@ _Defined in [types.ts:426](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerFeeAssetData**: _string_
-_Defined in [types.ts:434](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L434)_
+_Defined in [types.ts:434](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L434)_
---
@@ -1271,7 +1271,7 @@ _Defined in [types.ts:434](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerFeePaid**: _BigNumber_
-_Defined in [types.ts:428](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L428)_
+_Defined in [types.ts:428](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L428)_
@@ -1287,7 +1287,7 @@ _Defined in [types.ts:428](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ordersInfos**: _[OrderInfo](#interface-orderinfo)[]_
-_Defined in [types.ts:45](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L45)_
+_Defined in [types.ts:45](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L45)_
---
@@ -1295,7 +1295,7 @@ _Defined in [types.ts:45](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **timestamp**: _number_
-_Defined in [types.ts:44](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L44)_
+_Defined in [types.ts:44](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L44)_
@@ -1313,7 +1313,7 @@ An interface for JSON schema types, which are used for custom order filters.
• **\$ref**? : _undefined | string_
-_Defined in [types.ts:67](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L67)_
+_Defined in [types.ts:67](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L67)_
---
@@ -1321,7 +1321,7 @@ _Defined in [types.ts:67](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **\$schema**? : _undefined | string_
-_Defined in [types.ts:66](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L66)_
+_Defined in [types.ts:66](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L66)_
---
@@ -1329,7 +1329,7 @@ _Defined in [types.ts:66](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **additionalItems**? : _boolean | [JsonSchema](#interface-jsonschema)_
-_Defined in [types.ts:78](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L78)_
+_Defined in [types.ts:78](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L78)_
---
@@ -1337,7 +1337,7 @@ _Defined in [types.ts:78](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **additionalProperties**? : _boolean | [JsonSchema](#interface-jsonschema)_
-_Defined in [types.ts:86](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L86)_
+_Defined in [types.ts:86](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L86)_
---
@@ -1345,7 +1345,7 @@ _Defined in [types.ts:86](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **allOf**? : _[JsonSchema](#interface-jsonschema)[]_
-_Defined in [types.ts:108](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L108)_
+_Defined in [types.ts:108](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L108)_
---
@@ -1353,7 +1353,7 @@ _Defined in [types.ts:108](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **anyOf**? : _[JsonSchema](#interface-jsonschema)[]_
-_Defined in [types.ts:109](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L109)_
+_Defined in [types.ts:109](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L109)_
---
@@ -1361,7 +1361,7 @@ _Defined in [types.ts:109](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **const**? : _any_
-_Defined in [types.ts:105](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L105)_
+_Defined in [types.ts:105](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L105)_
---
@@ -1369,7 +1369,7 @@ _Defined in [types.ts:105](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **definitions**? : _undefined | object_
-_Defined in [types.ts:87](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L87)_
+_Defined in [types.ts:87](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L87)_
---
@@ -1377,7 +1377,7 @@ _Defined in [types.ts:87](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **dependencies**? : _undefined | object_
-_Defined in [types.ts:96](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L96)_
+_Defined in [types.ts:96](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L96)_
---
@@ -1385,7 +1385,7 @@ _Defined in [types.ts:96](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **description**? : _undefined | string_
-_Defined in [types.ts:69](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L69)_
+_Defined in [types.ts:69](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L69)_
---
@@ -1393,7 +1393,7 @@ _Defined in [types.ts:69](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **enum**? : _any[]_
-_Defined in [types.ts:99](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L99)_
+_Defined in [types.ts:99](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L99)_
---
@@ -1401,7 +1401,7 @@ _Defined in [types.ts:99](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **exclusiveMaximum**? : _undefined | false | true_
-_Defined in [types.ts:72](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L72)_
+_Defined in [types.ts:72](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L72)_
---
@@ -1409,7 +1409,7 @@ _Defined in [types.ts:72](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **exclusiveMinimum**? : _undefined | false | true_
-_Defined in [types.ts:74](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L74)_
+_Defined in [types.ts:74](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L74)_
---
@@ -1417,7 +1417,7 @@ _Defined in [types.ts:74](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **format**? : _undefined | string_
-_Defined in [types.ts:107](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L107)_
+_Defined in [types.ts:107](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L107)_
---
@@ -1425,7 +1425,7 @@ _Defined in [types.ts:107](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **id**? : _undefined | string_
-_Defined in [types.ts:65](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L65)_
+_Defined in [types.ts:65](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L65)_
---
@@ -1433,7 +1433,7 @@ _Defined in [types.ts:65](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **items**? : _[JsonSchema](#interface-jsonschema) | [JsonSchema](#interface-jsonschema)[]_
-_Defined in [types.ts:79](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L79)_
+_Defined in [types.ts:79](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L79)_
---
@@ -1441,7 +1441,7 @@ _Defined in [types.ts:79](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **maxItems**? : _undefined | number_
-_Defined in [types.ts:80](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L80)_
+_Defined in [types.ts:80](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L80)_
---
@@ -1449,7 +1449,7 @@ _Defined in [types.ts:80](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **maxLength**? : _undefined | number_
-_Defined in [types.ts:75](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L75)_
+_Defined in [types.ts:75](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L75)_
---
@@ -1457,7 +1457,7 @@ _Defined in [types.ts:75](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **maxProperties**? : _undefined | number_
-_Defined in [types.ts:83](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L83)_
+_Defined in [types.ts:83](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L83)_
---
@@ -1465,7 +1465,7 @@ _Defined in [types.ts:83](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **maximum**? : _undefined | number_
-_Defined in [types.ts:71](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L71)_
+_Defined in [types.ts:71](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L71)_
---
@@ -1473,7 +1473,7 @@ _Defined in [types.ts:71](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **minItems**? : _undefined | number_
-_Defined in [types.ts:81](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L81)_
+_Defined in [types.ts:81](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L81)_
---
@@ -1481,7 +1481,7 @@ _Defined in [types.ts:81](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **minLength**? : _undefined | number_
-_Defined in [types.ts:76](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L76)_
+_Defined in [types.ts:76](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L76)_
---
@@ -1489,7 +1489,7 @@ _Defined in [types.ts:76](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **minProperties**? : _undefined | number_
-_Defined in [types.ts:84](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L84)_
+_Defined in [types.ts:84](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L84)_
---
@@ -1497,7 +1497,7 @@ _Defined in [types.ts:84](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **minimum**? : _undefined | number_
-_Defined in [types.ts:73](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L73)_
+_Defined in [types.ts:73](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L73)_
---
@@ -1505,7 +1505,7 @@ _Defined in [types.ts:73](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **multipleOf**? : _undefined | number_
-_Defined in [types.ts:70](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L70)_
+_Defined in [types.ts:70](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L70)_
---
@@ -1513,7 +1513,7 @@ _Defined in [types.ts:70](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **not**? : _[JsonSchema](#interface-jsonschema)_
-_Defined in [types.ts:111](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L111)_
+_Defined in [types.ts:111](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L111)_
---
@@ -1521,7 +1521,7 @@ _Defined in [types.ts:111](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **oneOf**? : _[JsonSchema](#interface-jsonschema)[]_
-_Defined in [types.ts:110](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L110)_
+_Defined in [types.ts:110](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L110)_
---
@@ -1529,7 +1529,7 @@ _Defined in [types.ts:110](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **pattern**? : _string | RegExp_
-_Defined in [types.ts:77](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L77)_
+_Defined in [types.ts:77](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L77)_
---
@@ -1537,7 +1537,7 @@ _Defined in [types.ts:77](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **patternProperties**? : _undefined | object_
-_Defined in [types.ts:93](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L93)_
+_Defined in [types.ts:93](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L93)_
---
@@ -1545,7 +1545,7 @@ _Defined in [types.ts:93](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **properties**? : _undefined | object_
-_Defined in [types.ts:90](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L90)_
+_Defined in [types.ts:90](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L90)_
---
@@ -1553,7 +1553,7 @@ _Defined in [types.ts:90](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **required**? : _string[]_
-_Defined in [types.ts:85](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L85)_
+_Defined in [types.ts:85](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L85)_
---
@@ -1561,7 +1561,7 @@ _Defined in [types.ts:85](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **title**? : _undefined | string_
-_Defined in [types.ts:68](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L68)_
+_Defined in [types.ts:68](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L68)_
---
@@ -1569,7 +1569,7 @@ _Defined in [types.ts:68](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **type**? : _string | string[]_
-_Defined in [types.ts:106](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L106)_
+_Defined in [types.ts:106](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L106)_
---
@@ -1577,7 +1577,7 @@ _Defined in [types.ts:106](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **uniqueItems**? : _undefined | false | true_
-_Defined in [types.ts:82](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L82)_
+_Defined in [types.ts:82](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L82)_
@@ -1593,7 +1593,7 @@ _Defined in [types.ts:82](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **hash**: _string_
-_Defined in [types.ts:733](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L733)_
+_Defined in [types.ts:733](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L733)_
---
@@ -1601,7 +1601,7 @@ _Defined in [types.ts:733](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **number**: _BigNumber_
-_Defined in [types.ts:732](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L732)_
+_Defined in [types.ts:732](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L732)_
@@ -1620,7 +1620,7 @@ or filled.
• **contractEvents**: _[ContractEvent](#interface-contractevent)[]_
-_Defined in [types.ts:606](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L606)_
+_Defined in [types.ts:606](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L606)_
---
@@ -1628,7 +1628,7 @@ _Defined in [types.ts:606](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **endState**: _[OrderEventEndState](#enumeration-ordereventendstate)_
-_Defined in [types.ts:604](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L604)_
+_Defined in [types.ts:604](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L604)_
---
@@ -1636,7 +1636,7 @@ _Defined in [types.ts:604](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **fillableTakerAssetAmount**: _BigNumber_
-_Defined in [types.ts:605](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L605)_
+_Defined in [types.ts:605](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L605)_
---
@@ -1644,7 +1644,7 @@ _Defined in [types.ts:605](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:602](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L602)_
+_Defined in [types.ts:602](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L602)_
---
@@ -1652,7 +1652,7 @@ _Defined in [types.ts:602](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **signedOrder**: _SignedOrder_
-_Defined in [types.ts:603](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L603)_
+_Defined in [types.ts:603](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L603)_
---
@@ -1660,7 +1660,7 @@ _Defined in [types.ts:603](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **timestampMs**: _number_
-_Defined in [types.ts:601](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L601)_
+_Defined in [types.ts:601](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L601)_
@@ -1676,7 +1676,7 @@ _Defined in [types.ts:601](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **fillableTakerAssetAmount**: _BigNumber_
-_Defined in [types.ts:58](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L58)_
+_Defined in [types.ts:58](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L58)_
---
@@ -1684,7 +1684,7 @@ _Defined in [types.ts:58](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **orderHash**: _string_
-_Defined in [types.ts:56](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L56)_
+_Defined in [types.ts:56](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L56)_
---
@@ -1692,7 +1692,7 @@ _Defined in [types.ts:56](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **signedOrder**: _SignedOrder_
-_Defined in [types.ts:57](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L57)_
+_Defined in [types.ts:57](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L57)_
@@ -1711,7 +1711,7 @@ rejected.
• **kind**: _[RejectedOrderKind](#enumeration-rejectedorderkind)_
-_Defined in [types.ts:704](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L704)_
+_Defined in [types.ts:704](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L704)_
---
@@ -1719,7 +1719,7 @@ _Defined in [types.ts:704](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:702](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L702)_
+_Defined in [types.ts:702](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L702)_
---
@@ -1727,7 +1727,7 @@ _Defined in [types.ts:702](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **signedOrder**: _SignedOrder_
-_Defined in [types.ts:703](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L703)_
+_Defined in [types.ts:703](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L703)_
---
@@ -1735,7 +1735,7 @@ _Defined in [types.ts:703](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **status**: _[RejectedOrderStatus](#interface-rejectedorderstatus)_
-_Defined in [types.ts:705](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L705)_
+_Defined in [types.ts:705](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L705)_
@@ -1753,7 +1753,7 @@ Provides more information about why an order was rejected.
• **code**: _string_
-_Defined in [types.ts:721](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L721)_
+_Defined in [types.ts:721](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L721)_
---
@@ -1761,7 +1761,7 @@ _Defined in [types.ts:721](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **message**: _string_
-_Defined in [types.ts:722](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L722)_
+_Defined in [types.ts:722](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L722)_
@@ -1777,7 +1777,7 @@ _Defined in [types.ts:722](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethRPCRateLimitExpiredRequests**: _number_
-_Defined in [types.ts:770](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L770)_
+_Defined in [types.ts:770](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L770)_
---
@@ -1785,7 +1785,7 @@ _Defined in [types.ts:770](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethRPCRequestsSentInCurrentUTCDay**: _number_
-_Defined in [types.ts:769](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L769)_
+_Defined in [types.ts:769](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L769)_
---
@@ -1793,7 +1793,7 @@ _Defined in [types.ts:769](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumChainID**: _number_
-_Defined in [types.ts:761](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L761)_
+_Defined in [types.ts:761](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L761)_
---
@@ -1801,7 +1801,7 @@ _Defined in [types.ts:761](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **latestBlock**? : _[LatestBlock](#interface-latestblock)_
-_Defined in [types.ts:762](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L762)_
+_Defined in [types.ts:762](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L762)_
---
@@ -1809,7 +1809,7 @@ _Defined in [types.ts:762](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **maxExpirationTime**: _BigNumber_
-_Defined in [types.ts:767](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L767)_
+_Defined in [types.ts:767](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L767)_
---
@@ -1817,7 +1817,7 @@ _Defined in [types.ts:767](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **numOrders**: _number_
-_Defined in [types.ts:764](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L764)_
+_Defined in [types.ts:764](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L764)_
---
@@ -1825,7 +1825,7 @@ _Defined in [types.ts:764](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **numOrdersIncludingRemoved**: _number_
-_Defined in [types.ts:765](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L765)_
+_Defined in [types.ts:765](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L765)_
---
@@ -1833,7 +1833,7 @@ _Defined in [types.ts:765](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **numPeers**: _number_
-_Defined in [types.ts:763](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L763)_
+_Defined in [types.ts:763](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L763)_
---
@@ -1841,7 +1841,7 @@ _Defined in [types.ts:763](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **numPinnedOrders**: _number_
-_Defined in [types.ts:766](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L766)_
+_Defined in [types.ts:766](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L766)_
---
@@ -1849,7 +1849,7 @@ _Defined in [types.ts:766](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **peerID**: _string_
-_Defined in [types.ts:760](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L760)_
+_Defined in [types.ts:760](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L760)_
---
@@ -1857,7 +1857,7 @@ _Defined in [types.ts:760](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **pubSubTopic**: _string_
-_Defined in [types.ts:757](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L757)_
+_Defined in [types.ts:757](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L757)_
---
@@ -1865,7 +1865,7 @@ _Defined in [types.ts:757](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **rendezvous**: _string_
-_Defined in [types.ts:758](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L758)_
+_Defined in [types.ts:758](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L758)_
---
@@ -1873,7 +1873,7 @@ _Defined in [types.ts:758](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **secondaryRendezvous**: _string[]_
-_Defined in [types.ts:759](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L759)_
+_Defined in [types.ts:759](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L759)_
---
@@ -1881,7 +1881,7 @@ _Defined in [types.ts:759](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **startOfCurrentUTCDay**: _Date_
-_Defined in [types.ts:768](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L768)_
+_Defined in [types.ts:768](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L768)_
---
@@ -1889,7 +1889,7 @@ _Defined in [types.ts:768](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **version**: _string_
-_Defined in [types.ts:756](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L756)_
+_Defined in [types.ts:756](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L756)_
@@ -1907,7 +1907,7 @@ Indicates which orders where accepted, which were rejected, and why.
• **accepted**: _[AcceptedOrderInfo](#interface-acceptedorderinfo)[]_
-_Defined in [types.ts:683](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L683)_
+_Defined in [types.ts:683](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L683)_
---
@@ -1915,7 +1915,7 @@ _Defined in [types.ts:683](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **rejected**: _[RejectedOrderInfo](#interface-rejectedorderinfo)[]_
-_Defined in [types.ts:684](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L684)_
+_Defined in [types.ts:684](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L684)_
@@ -1931,7 +1931,7 @@ _Defined in [types.ts:684](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:489](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L489)_
+_Defined in [types.ts:489](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L489)_
---
@@ -1939,7 +1939,7 @@ _Defined in [types.ts:489](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:490](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L490)_
+_Defined in [types.ts:490](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L490)_
@@ -1955,7 +1955,7 @@ _Defined in [types.ts:490](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:478](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L478)_
+_Defined in [types.ts:478](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L478)_
---
@@ -1963,7 +1963,7 @@ _Defined in [types.ts:478](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:479](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L479)_
+_Defined in [types.ts:479](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L479)_
@@ -1973,7 +1973,7 @@ _Defined in [types.ts:479](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
▸ **loadMeshStreamingWithURLAsync**(`url`: `string`): _Promise‹`void`›_
-_Defined in [index.ts:7](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/index.ts#L7)_
+_Defined in [index.ts:7](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/index.ts#L7)_
Loads the Wasm module that is provided by fetching a url.
@@ -1989,7 +1989,7 @@ Loads the Wasm module that is provided by fetching a url.
▸ **loadMeshStreamingAsync**(`response`: `Response | Promise`): _Promise‹`void`›_
-_Defined in [index.ts:15](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/index.ts#L15)_
+_Defined in [index.ts:15](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/index.ts#L15)_
Loads the Wasm module that is provided by a response.
diff --git a/docs/browser-bindings/browser/README.md b/docs/browser-bindings/browser/README.md
index a64701749..204c9940b 100644
--- a/docs/browser-bindings/browser/README.md
+++ b/docs/browser-bindings/browser/README.md
@@ -1,4 +1,4 @@
-# @0x/mesh-browser - v10.0.0
+# @0x/mesh-browser - v10.1.0
## @0x/mesh-browser
diff --git a/docs/browser-bindings/browser/reference.md b/docs/browser-bindings/browser/reference.md
index 9c4386df4..01785adcf 100644
--- a/docs/browser-bindings/browser/reference.md
+++ b/docs/browser-bindings/browser/reference.md
@@ -13,7 +13,7 @@ sending orders through the 0x Mesh network.
\+ **new Mesh**(`config`: [Config](#interface-config)): _[Mesh](#class-mesh)_
-_Defined in [mesh.ts:132](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L132)_
+_Defined in [mesh.ts:132](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L132)_
Instantiates a new Mesh instance.
@@ -33,7 +33,7 @@ An instance of Mesh
• **wrapper**? : _MeshWrapper_
-_Defined in [mesh.ts:129](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L129)_
+_Defined in [mesh.ts:129](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L129)_
### Methods
@@ -41,7 +41,7 @@ _Defined in [mesh.ts:129](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
▸ **addOrdersAsync**(`orders`: SignedOrder[], `pinned`: boolean): _Promise‹[ValidationResults](#interface-validationresults)›_
-_Defined in [mesh.ts:269](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L269)_
+_Defined in [mesh.ts:269](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L269)_
Validates and adds the given orders to Mesh. If an order is successfully
added, Mesh will share it with any peers in the network and start
@@ -68,7 +68,7 @@ were accepted and which were rejected.
▸ **getOrdersAsync**(`perPage`: number): _Promise‹[GetOrdersResponse](#interface-getordersresponse)›_
-_Defined in [mesh.ts:207](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L207)_
+_Defined in [mesh.ts:207](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L207)_
Get all 0x signed orders currently stored in the Mesh node
@@ -88,7 +88,7 @@ the snapshotID, snapshotTimestamp and all orders, their hashes and fillableTaker
▸ **getOrdersForPageAsync**(`perPage`: number, `minOrderHash?`: undefined | string): _Promise‹[GetOrdersResponse](#interface-getordersresponse)›_
-_Defined in [mesh.ts:240](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L240)_
+_Defined in [mesh.ts:240](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L240)_
Get page of 0x signed orders stored on the Mesh node at the specified snapshot
@@ -109,7 +109,7 @@ Up to perPage orders with hash greater than minOrderHash, including order hashes
▸ **getStatsAsync**(): _Promise‹[Stats](#interface-stats)›_
-_Defined in [mesh.ts:190](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L190)_
+_Defined in [mesh.ts:190](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L190)_
Returns various stats about Mesh, including the total number of orders
and the number of peers Mesh is connected to.
@@ -122,7 +122,7 @@ and the number of peers Mesh is connected to.
▸ **onError**(`handler`: function): _void_
-_Defined in [mesh.ts:152](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L152)_
+_Defined in [mesh.ts:152](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L152)_
Registers a handler which will be called in the event of a critical
error. Note that the handler will not be called for non-critical errors.
@@ -151,7 +151,7 @@ The handler to be called.
▸ **onOrderEvents**(`handler`: function): _void_
-_Defined in [mesh.ts:165](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L165)_
+_Defined in [mesh.ts:165](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L165)_
Registers a handler which will be called for any incoming order events.
Order events are fired whenver an order is added, canceled, expired, or
@@ -180,7 +180,7 @@ The handler to be called.
▸ **startAsync**(): _Promise‹void›_
-_Defined in [mesh.ts:174](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/mesh.ts#L174)_
+_Defined in [mesh.ts:174](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/mesh.ts#L174)_
Starts the Mesh node in the background. Mesh will automatically find
peers in the network and begin receiving orders from them.
@@ -197,7 +197,7 @@ peers in the network and begin receiving orders from them.
• **ERC1155ApprovalForAllEvent**: = "ERC1155ApprovalForAllEvent"
-_Defined in [types.ts:505](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L505)_
+_Defined in [types.ts:505](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L505)_
---
@@ -205,7 +205,7 @@ _Defined in [types.ts:505](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC1155TransferBatchEvent**: = "ERC1155TransferBatchEvent"
-_Defined in [types.ts:507](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L507)_
+_Defined in [types.ts:507](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L507)_
---
@@ -213,7 +213,7 @@ _Defined in [types.ts:507](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC1155TransferSingleEvent**: = "ERC1155TransferSingleEvent"
-_Defined in [types.ts:506](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L506)_
+_Defined in [types.ts:506](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L506)_
---
@@ -221,7 +221,7 @@ _Defined in [types.ts:506](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC20ApprovalEvent**: = "ERC20ApprovalEvent"
-_Defined in [types.ts:501](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L501)_
+_Defined in [types.ts:501](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L501)_
---
@@ -229,7 +229,7 @@ _Defined in [types.ts:501](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC20TransferEvent**: = "ERC20TransferEvent"
-_Defined in [types.ts:500](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L500)_
+_Defined in [types.ts:500](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L500)_
---
@@ -237,7 +237,7 @@ _Defined in [types.ts:500](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC721ApprovalEvent**: = "ERC721ApprovalEvent"
-_Defined in [types.ts:503](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L503)_
+_Defined in [types.ts:503](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L503)_
---
@@ -245,7 +245,7 @@ _Defined in [types.ts:503](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC721ApprovalForAllEvent**: = "ERC721ApprovalForAllEvent"
-_Defined in [types.ts:504](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L504)_
+_Defined in [types.ts:504](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L504)_
---
@@ -253,7 +253,7 @@ _Defined in [types.ts:504](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ERC721TransferEvent**: = "ERC721TransferEvent"
-_Defined in [types.ts:502](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L502)_
+_Defined in [types.ts:502](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L502)_
---
@@ -261,7 +261,7 @@ _Defined in [types.ts:502](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ExchangeCancelEvent**: = "ExchangeCancelEvent"
-_Defined in [types.ts:509](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L509)_
+_Defined in [types.ts:509](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L509)_
---
@@ -269,7 +269,7 @@ _Defined in [types.ts:509](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ExchangeCancelUpToEvent**: = "ExchangeCancelUpToEvent"
-_Defined in [types.ts:510](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L510)_
+_Defined in [types.ts:510](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L510)_
---
@@ -277,7 +277,7 @@ _Defined in [types.ts:510](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ExchangeFillEvent**: = "ExchangeFillEvent"
-_Defined in [types.ts:508](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L508)_
+_Defined in [types.ts:508](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L508)_
---
@@ -285,7 +285,7 @@ _Defined in [types.ts:508](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **WethDepositEvent**: = "WethDepositEvent"
-_Defined in [types.ts:511](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L511)_
+_Defined in [types.ts:511](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L511)_
---
@@ -293,7 +293,7 @@ _Defined in [types.ts:511](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **WethWithdrawalEvent**: = "WethWithdrawalEvent"
-_Defined in [types.ts:512](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L512)_
+_Defined in [types.ts:512](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L512)_
@@ -305,7 +305,7 @@ _Defined in [types.ts:512](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Added**: = "ADDED"
-_Defined in [types.ts:575](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L575)_
+_Defined in [types.ts:575](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L575)_
---
@@ -313,7 +313,7 @@ _Defined in [types.ts:575](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Cancelled**: = "CANCELLED"
-_Defined in [types.ts:578](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L578)_
+_Defined in [types.ts:578](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L578)_
---
@@ -321,7 +321,7 @@ _Defined in [types.ts:578](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Expired**: = "EXPIRED"
-_Defined in [types.ts:579](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L579)_
+_Defined in [types.ts:579](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L579)_
---
@@ -329,7 +329,7 @@ _Defined in [types.ts:579](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **FillabilityIncreased**: = "FILLABILITY_INCREASED"
-_Defined in [types.ts:582](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L582)_
+_Defined in [types.ts:582](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L582)_
---
@@ -337,7 +337,7 @@ _Defined in [types.ts:582](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Filled**: = "FILLED"
-_Defined in [types.ts:576](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L576)_
+_Defined in [types.ts:576](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L576)_
---
@@ -345,7 +345,7 @@ _Defined in [types.ts:576](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **FullyFilled**: = "FULLY_FILLED"
-_Defined in [types.ts:577](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L577)_
+_Defined in [types.ts:577](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L577)_
---
@@ -353,7 +353,7 @@ _Defined in [types.ts:577](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Invalid**: = "INVALID"
-_Defined in [types.ts:574](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L574)_
+_Defined in [types.ts:574](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L574)_
---
@@ -361,7 +361,7 @@ _Defined in [types.ts:574](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **StoppedWatching**: = "STOPPED_WATCHING"
-_Defined in [types.ts:583](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L583)_
+_Defined in [types.ts:583](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L583)_
---
@@ -369,7 +369,7 @@ _Defined in [types.ts:583](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Unexpired**: = "UNEXPIRED"
-_Defined in [types.ts:580](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L580)_
+_Defined in [types.ts:580](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L580)_
---
@@ -377,7 +377,7 @@ _Defined in [types.ts:580](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Unfunded**: = "UNFUNDED"
-_Defined in [types.ts:581](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L581)_
+_Defined in [types.ts:581](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L581)_
@@ -391,7 +391,7 @@ A set of categories for rejected orders.
• **MeshError**: = "MESH_ERROR"
-_Defined in [types.ts:713](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L713)_
+_Defined in [types.ts:713](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L713)_
---
@@ -399,7 +399,7 @@ _Defined in [types.ts:713](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **MeshValidation**: = "MESH_VALIDATION"
-_Defined in [types.ts:714](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L714)_
+_Defined in [types.ts:714](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L714)_
---
@@ -407,7 +407,7 @@ _Defined in [types.ts:714](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ZeroExValidation**: = "ZEROEX_VALIDATION"
-_Defined in [types.ts:712](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L712)_
+_Defined in [types.ts:712](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L712)_
@@ -419,7 +419,7 @@ _Defined in [types.ts:712](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Debug**: = 5
-_Defined in [types.ts:238](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L238)_
+_Defined in [types.ts:238](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L238)_
---
@@ -427,7 +427,7 @@ _Defined in [types.ts:238](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Error**: = 2
-_Defined in [types.ts:235](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L235)_
+_Defined in [types.ts:235](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L235)_
---
@@ -435,7 +435,7 @@ _Defined in [types.ts:235](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Fatal**: = 1
-_Defined in [types.ts:234](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L234)_
+_Defined in [types.ts:234](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L234)_
---
@@ -443,7 +443,7 @@ _Defined in [types.ts:234](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Info**: = 4
-_Defined in [types.ts:237](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L237)_
+_Defined in [types.ts:237](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L237)_
---
@@ -451,7 +451,7 @@ _Defined in [types.ts:237](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Panic**: = 0
-_Defined in [types.ts:233](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L233)_
+_Defined in [types.ts:233](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L233)_
---
@@ -459,7 +459,7 @@ _Defined in [types.ts:233](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Trace**: = 6
-_Defined in [types.ts:239](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L239)_
+_Defined in [types.ts:239](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L239)_
---
@@ -467,7 +467,7 @@ _Defined in [types.ts:239](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **Warn**: = 3
-_Defined in [types.ts:236](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L236)_
+_Defined in [types.ts:236](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L236)_
@@ -485,7 +485,7 @@ Info for any orders that were accepted.
• **fillableTakerAssetAmount**: _BigNumber_
-_Defined in [types.ts:693](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L693)_
+_Defined in [types.ts:693](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L693)_
---
@@ -493,7 +493,7 @@ _Defined in [types.ts:693](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **isNew**: _boolean_
-_Defined in [types.ts:694](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L694)_
+_Defined in [types.ts:694](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L694)_
---
@@ -501,7 +501,7 @@ _Defined in [types.ts:694](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:691](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L691)_
+_Defined in [types.ts:691](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L691)_
---
@@ -509,7 +509,7 @@ _Defined in [types.ts:691](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **signedOrder**: _SignedOrder_
-_Defined in [types.ts:692](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L692)_
+_Defined in [types.ts:692](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L692)_
@@ -527,7 +527,7 @@ A set of configuration options for Mesh.
• **blockPollingIntervalSeconds**? : _undefined | number_
-_Defined in [types.ts:144](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L144)_
+_Defined in [types.ts:144](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L144)_
---
@@ -535,7 +535,7 @@ _Defined in [types.ts:144](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **bootstrapList**? : _string[]_
-_Defined in [types.ts:137](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L137)_
+_Defined in [types.ts:137](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L137)_
---
@@ -543,7 +543,7 @@ _Defined in [types.ts:137](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **customContractAddresses**? : _[ContractAddresses](#interface-contractaddresses)_
-_Defined in [types.ts:188](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L188)_
+_Defined in [types.ts:188](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L188)_
---
@@ -551,7 +551,7 @@ _Defined in [types.ts:188](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **customOrderFilter**? : _[JsonSchema](#interface-jsonschema)_
-_Defined in [types.ts:213](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L213)_
+_Defined in [types.ts:213](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L213)_
---
@@ -559,7 +559,7 @@ _Defined in [types.ts:213](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **enableEthereumRPCRateLimiting**? : _undefined | false | true_
-_Defined in [types.ts:161](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L161)_
+_Defined in [types.ts:161](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L161)_
---
@@ -567,7 +567,7 @@ _Defined in [types.ts:161](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumChainID**: _number_
-_Defined in [types.ts:129](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L129)_
+_Defined in [types.ts:129](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L129)_
---
@@ -575,7 +575,7 @@ _Defined in [types.ts:129](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumRPCMaxContentLength**? : _undefined | number_
-_Defined in [types.ts:153](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L153)_
+_Defined in [types.ts:153](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L153)_
---
@@ -583,7 +583,7 @@ _Defined in [types.ts:153](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumRPCMaxRequestsPer24HrUTC**? : _undefined | number_
-_Defined in [types.ts:166](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L166)_
+_Defined in [types.ts:166](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L166)_
---
@@ -591,7 +591,7 @@ _Defined in [types.ts:166](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumRPCMaxRequestsPerSecond**? : _undefined | number_
-_Defined in [types.ts:172](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L172)_
+_Defined in [types.ts:172](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L172)_
---
@@ -599,7 +599,7 @@ _Defined in [types.ts:172](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumRPCURL**? : _undefined | string_
-_Defined in [types.ts:126](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L126)_
+_Defined in [types.ts:126](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L126)_
---
@@ -607,7 +607,7 @@ _Defined in [types.ts:126](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **maxBytesPerSecond**? : _undefined | number_
-_Defined in [types.ts:219](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L219)_
+_Defined in [types.ts:219](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L219)_
---
@@ -615,7 +615,7 @@ _Defined in [types.ts:219](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **maxOrdersInStorage**? : _undefined | number_
-_Defined in [types.ts:193](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L193)_
+_Defined in [types.ts:193](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L193)_
---
@@ -623,7 +623,7 @@ _Defined in [types.ts:193](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **useBootstrapList**? : _undefined | false | true_
-_Defined in [types.ts:132](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L132)_
+_Defined in [types.ts:132](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L132)_
---
@@ -631,7 +631,7 @@ _Defined in [types.ts:132](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **verbosity**? : _[Verbosity](#enumeration-verbosity)_
-_Defined in [types.ts:123](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L123)_
+_Defined in [types.ts:123](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L123)_
---
@@ -639,7 +639,7 @@ _Defined in [types.ts:123](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **web3Provider**? : _SupportedProvider_
-_Defined in [types.ts:216](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L216)_
+_Defined in [types.ts:216](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L216)_
@@ -655,7 +655,7 @@ _Defined in [types.ts:216](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **devUtils**: _string_
-_Defined in [types.ts:224](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L224)_
+_Defined in [types.ts:224](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L224)_
---
@@ -663,7 +663,7 @@ _Defined in [types.ts:224](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **erc1155Proxy**: _string_
-_Defined in [types.ts:227](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L227)_
+_Defined in [types.ts:227](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L227)_
---
@@ -671,7 +671,7 @@ _Defined in [types.ts:227](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **erc20Proxy**: _string_
-_Defined in [types.ts:225](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L225)_
+_Defined in [types.ts:225](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L225)_
---
@@ -679,7 +679,7 @@ _Defined in [types.ts:225](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **erc721Proxy**: _string_
-_Defined in [types.ts:226](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L226)_
+_Defined in [types.ts:226](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L226)_
---
@@ -687,7 +687,7 @@ _Defined in [types.ts:226](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **exchange**: _string_
-_Defined in [types.ts:223](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L223)_
+_Defined in [types.ts:223](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L223)_
---
@@ -695,7 +695,7 @@ _Defined in [types.ts:223](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **weth9**? : _undefined | string_
-_Defined in [types.ts:228](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L228)_
+_Defined in [types.ts:228](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L228)_
---
@@ -703,7 +703,7 @@ _Defined in [types.ts:228](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **zrxToken**? : _undefined | string_
-_Defined in [types.ts:229](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L229)_
+_Defined in [types.ts:229](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L229)_
@@ -719,7 +719,7 @@ _Defined in [types.ts:229](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **address**: _string_
-_Defined in [types.ts:553](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L553)_
+_Defined in [types.ts:553](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L553)_
---
@@ -727,7 +727,7 @@ _Defined in [types.ts:553](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **blockHash**: _string_
-_Defined in [types.ts:548](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L548)_
+_Defined in [types.ts:548](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L548)_
---
@@ -735,7 +735,7 @@ _Defined in [types.ts:548](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **isRemoved**: _boolean_
-_Defined in [types.ts:552](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L552)_
+_Defined in [types.ts:552](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L552)_
---
@@ -743,7 +743,7 @@ _Defined in [types.ts:552](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **kind**: _[ContractEventKind](#enumeration-contracteventkind)_
-_Defined in [types.ts:554](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L554)_
+_Defined in [types.ts:554](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L554)_
---
@@ -751,7 +751,7 @@ _Defined in [types.ts:554](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **logIndex**: _number_
-_Defined in [types.ts:551](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L551)_
+_Defined in [types.ts:551](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L551)_
---
@@ -759,7 +759,7 @@ _Defined in [types.ts:551](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **parameters**: _ContractEventParameters_
-_Defined in [types.ts:555](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L555)_
+_Defined in [types.ts:555](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L555)_
---
@@ -767,7 +767,7 @@ _Defined in [types.ts:555](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **txHash**: _string_
-_Defined in [types.ts:549](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L549)_
+_Defined in [types.ts:549](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L549)_
---
@@ -775,7 +775,7 @@ _Defined in [types.ts:549](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **txIndex**: _number_
-_Defined in [types.ts:550](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L550)_
+_Defined in [types.ts:550](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L550)_
@@ -791,7 +791,7 @@ _Defined in [types.ts:550](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **approved**: _boolean_
-_Defined in [types.ts:417](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L417)_
+_Defined in [types.ts:417](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L417)_
---
@@ -799,7 +799,7 @@ _Defined in [types.ts:417](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **operator**: _string_
-_Defined in [types.ts:416](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L416)_
+_Defined in [types.ts:416](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L416)_
---
@@ -807,7 +807,7 @@ _Defined in [types.ts:416](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:415](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L415)_
+_Defined in [types.ts:415](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L415)_
@@ -823,7 +823,7 @@ _Defined in [types.ts:415](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **from**: _string_
-_Defined in [types.ts:399](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L399)_
+_Defined in [types.ts:399](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L399)_
---
@@ -831,7 +831,7 @@ _Defined in [types.ts:399](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ids**: _BigNumber[]_
-_Defined in [types.ts:401](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L401)_
+_Defined in [types.ts:401](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L401)_
---
@@ -839,7 +839,7 @@ _Defined in [types.ts:401](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **operator**: _string_
-_Defined in [types.ts:398](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L398)_
+_Defined in [types.ts:398](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L398)_
---
@@ -847,7 +847,7 @@ _Defined in [types.ts:398](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **to**: _string_
-_Defined in [types.ts:400](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L400)_
+_Defined in [types.ts:400](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L400)_
---
@@ -855,7 +855,7 @@ _Defined in [types.ts:400](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **values**: _BigNumber[]_
-_Defined in [types.ts:402](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L402)_
+_Defined in [types.ts:402](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L402)_
@@ -871,7 +871,7 @@ _Defined in [types.ts:402](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **from**: _string_
-_Defined in [types.ts:382](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L382)_
+_Defined in [types.ts:382](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L382)_
---
@@ -879,7 +879,7 @@ _Defined in [types.ts:382](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **id**: _BigNumber_
-_Defined in [types.ts:384](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L384)_
+_Defined in [types.ts:384](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L384)_
---
@@ -887,7 +887,7 @@ _Defined in [types.ts:384](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **operator**: _string_
-_Defined in [types.ts:381](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L381)_
+_Defined in [types.ts:381](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L381)_
---
@@ -895,7 +895,7 @@ _Defined in [types.ts:381](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **to**: _string_
-_Defined in [types.ts:383](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L383)_
+_Defined in [types.ts:383](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L383)_
---
@@ -903,7 +903,7 @@ _Defined in [types.ts:383](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:385](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L385)_
+_Defined in [types.ts:385](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L385)_
@@ -919,7 +919,7 @@ _Defined in [types.ts:385](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:336](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L336)_
+_Defined in [types.ts:336](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L336)_
---
@@ -927,7 +927,7 @@ _Defined in [types.ts:336](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **spender**: _string_
-_Defined in [types.ts:337](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L337)_
+_Defined in [types.ts:337](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L337)_
---
@@ -935,7 +935,7 @@ _Defined in [types.ts:337](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:338](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L338)_
+_Defined in [types.ts:338](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L338)_
@@ -951,7 +951,7 @@ _Defined in [types.ts:338](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **from**: _string_
-_Defined in [types.ts:323](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L323)_
+_Defined in [types.ts:323](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L323)_
---
@@ -959,7 +959,7 @@ _Defined in [types.ts:323](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **to**: _string_
-_Defined in [types.ts:324](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L324)_
+_Defined in [types.ts:324](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L324)_
---
@@ -967,7 +967,7 @@ _Defined in [types.ts:324](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:325](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L325)_
+_Defined in [types.ts:325](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L325)_
@@ -983,7 +983,7 @@ _Defined in [types.ts:325](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **approved**: _string_
-_Defined in [types.ts:363](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L363)_
+_Defined in [types.ts:363](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L363)_
---
@@ -991,7 +991,7 @@ _Defined in [types.ts:363](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:362](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L362)_
+_Defined in [types.ts:362](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L362)_
---
@@ -999,7 +999,7 @@ _Defined in [types.ts:362](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **tokenId**: _BigNumber_
-_Defined in [types.ts:364](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L364)_
+_Defined in [types.ts:364](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L364)_
@@ -1015,7 +1015,7 @@ _Defined in [types.ts:364](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **approved**: _boolean_
-_Defined in [types.ts:377](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L377)_
+_Defined in [types.ts:377](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L377)_
---
@@ -1023,7 +1023,7 @@ _Defined in [types.ts:377](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **operator**: _string_
-_Defined in [types.ts:376](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L376)_
+_Defined in [types.ts:376](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L376)_
---
@@ -1031,7 +1031,7 @@ _Defined in [types.ts:376](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:375](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L375)_
+_Defined in [types.ts:375](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L375)_
@@ -1047,7 +1047,7 @@ _Defined in [types.ts:375](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **from**: _string_
-_Defined in [types.ts:349](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L349)_
+_Defined in [types.ts:349](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L349)_
---
@@ -1055,7 +1055,7 @@ _Defined in [types.ts:349](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **to**: _string_
-_Defined in [types.ts:350](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L350)_
+_Defined in [types.ts:350](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L350)_
---
@@ -1063,7 +1063,7 @@ _Defined in [types.ts:350](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **tokenId**: _BigNumber_
-_Defined in [types.ts:351](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L351)_
+_Defined in [types.ts:351](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L351)_
@@ -1079,7 +1079,7 @@ _Defined in [types.ts:351](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **feeRecipientAddress**: _string_
-_Defined in [types.ts:458](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L458)_
+_Defined in [types.ts:458](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L458)_
---
@@ -1087,7 +1087,7 @@ _Defined in [types.ts:458](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAddress**: _string_
-_Defined in [types.ts:456](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L456)_
+_Defined in [types.ts:456](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L456)_
---
@@ -1095,7 +1095,7 @@ _Defined in [types.ts:456](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAssetData**: _string_
-_Defined in [types.ts:460](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L460)_
+_Defined in [types.ts:460](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L460)_
---
@@ -1103,7 +1103,7 @@ _Defined in [types.ts:460](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:459](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L459)_
+_Defined in [types.ts:459](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L459)_
---
@@ -1111,7 +1111,7 @@ _Defined in [types.ts:459](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **senderAddress**: _string_
-_Defined in [types.ts:457](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L457)_
+_Defined in [types.ts:457](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L457)_
---
@@ -1119,7 +1119,7 @@ _Defined in [types.ts:457](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerAssetData**: _string_
-_Defined in [types.ts:461](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L461)_
+_Defined in [types.ts:461](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L461)_
@@ -1135,7 +1135,7 @@ _Defined in [types.ts:461](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAddress**: _string_
-_Defined in [types.ts:465](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L465)_
+_Defined in [types.ts:465](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L465)_
---
@@ -1143,7 +1143,7 @@ _Defined in [types.ts:465](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderEpoch**: _BigNumber_
-_Defined in [types.ts:467](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L467)_
+_Defined in [types.ts:467](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L467)_
---
@@ -1151,7 +1151,7 @@ _Defined in [types.ts:467](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderSenderAddress**: _string_
-_Defined in [types.ts:466](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L466)_
+_Defined in [types.ts:466](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L466)_
@@ -1167,7 +1167,7 @@ _Defined in [types.ts:466](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **feeRecipientAddress**: _string_
-_Defined in [types.ts:424](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L424)_
+_Defined in [types.ts:424](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L424)_
---
@@ -1175,7 +1175,7 @@ _Defined in [types.ts:424](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAddress**: _string_
-_Defined in [types.ts:421](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L421)_
+_Defined in [types.ts:421](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L421)_
---
@@ -1183,7 +1183,7 @@ _Defined in [types.ts:421](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAssetData**: _string_
-_Defined in [types.ts:431](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L431)_
+_Defined in [types.ts:431](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L431)_
---
@@ -1191,7 +1191,7 @@ _Defined in [types.ts:431](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerAssetFilledAmount**: _BigNumber_
-_Defined in [types.ts:425](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L425)_
+_Defined in [types.ts:425](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L425)_
---
@@ -1199,7 +1199,7 @@ _Defined in [types.ts:425](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerFeeAssetData**: _string_
-_Defined in [types.ts:433](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L433)_
+_Defined in [types.ts:433](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L433)_
---
@@ -1207,7 +1207,7 @@ _Defined in [types.ts:433](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **makerFeePaid**: _BigNumber_
-_Defined in [types.ts:427](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L427)_
+_Defined in [types.ts:427](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L427)_
---
@@ -1215,7 +1215,7 @@ _Defined in [types.ts:427](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:430](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L430)_
+_Defined in [types.ts:430](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L430)_
---
@@ -1223,7 +1223,7 @@ _Defined in [types.ts:430](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **protocolFeePaid**: _BigNumber_
-_Defined in [types.ts:429](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L429)_
+_Defined in [types.ts:429](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L429)_
---
@@ -1231,7 +1231,7 @@ _Defined in [types.ts:429](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **senderAddress**: _string_
-_Defined in [types.ts:423](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L423)_
+_Defined in [types.ts:423](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L423)_
---
@@ -1239,7 +1239,7 @@ _Defined in [types.ts:423](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerAddress**: _string_
-_Defined in [types.ts:422](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L422)_
+_Defined in [types.ts:422](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L422)_
---
@@ -1247,7 +1247,7 @@ _Defined in [types.ts:422](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerAssetData**: _string_
-_Defined in [types.ts:432](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L432)_
+_Defined in [types.ts:432](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L432)_
---
@@ -1255,7 +1255,7 @@ _Defined in [types.ts:432](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerAssetFilledAmount**: _BigNumber_
-_Defined in [types.ts:426](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L426)_
+_Defined in [types.ts:426](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L426)_
---
@@ -1263,7 +1263,7 @@ _Defined in [types.ts:426](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerFeeAssetData**: _string_
-_Defined in [types.ts:434](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L434)_
+_Defined in [types.ts:434](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L434)_
---
@@ -1271,7 +1271,7 @@ _Defined in [types.ts:434](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **takerFeePaid**: _BigNumber_
-_Defined in [types.ts:428](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L428)_
+_Defined in [types.ts:428](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L428)_
@@ -1287,7 +1287,7 @@ _Defined in [types.ts:428](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ordersInfos**: _[OrderInfo](#interface-orderinfo)[]_
-_Defined in [types.ts:45](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L45)_
+_Defined in [types.ts:45](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L45)_
---
@@ -1295,7 +1295,7 @@ _Defined in [types.ts:45](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **timestamp**: _number_
-_Defined in [types.ts:44](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L44)_
+_Defined in [types.ts:44](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L44)_
@@ -1313,7 +1313,7 @@ An interface for JSON schema types, which are used for custom order filters.
• **\$ref**? : _undefined | string_
-_Defined in [types.ts:67](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L67)_
+_Defined in [types.ts:67](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L67)_
---
@@ -1321,7 +1321,7 @@ _Defined in [types.ts:67](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **\$schema**? : _undefined | string_
-_Defined in [types.ts:66](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L66)_
+_Defined in [types.ts:66](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L66)_
---
@@ -1329,7 +1329,7 @@ _Defined in [types.ts:66](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **additionalItems**? : _boolean | [JsonSchema](#interface-jsonschema)_
-_Defined in [types.ts:78](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L78)_
+_Defined in [types.ts:78](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L78)_
---
@@ -1337,7 +1337,7 @@ _Defined in [types.ts:78](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **additionalProperties**? : _boolean | [JsonSchema](#interface-jsonschema)_
-_Defined in [types.ts:86](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L86)_
+_Defined in [types.ts:86](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L86)_
---
@@ -1345,7 +1345,7 @@ _Defined in [types.ts:86](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **allOf**? : _[JsonSchema](#interface-jsonschema)[]_
-_Defined in [types.ts:108](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L108)_
+_Defined in [types.ts:108](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L108)_
---
@@ -1353,7 +1353,7 @@ _Defined in [types.ts:108](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **anyOf**? : _[JsonSchema](#interface-jsonschema)[]_
-_Defined in [types.ts:109](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L109)_
+_Defined in [types.ts:109](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L109)_
---
@@ -1361,7 +1361,7 @@ _Defined in [types.ts:109](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **const**? : _any_
-_Defined in [types.ts:105](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L105)_
+_Defined in [types.ts:105](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L105)_
---
@@ -1369,7 +1369,7 @@ _Defined in [types.ts:105](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **definitions**? : _undefined | object_
-_Defined in [types.ts:87](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L87)_
+_Defined in [types.ts:87](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L87)_
---
@@ -1377,7 +1377,7 @@ _Defined in [types.ts:87](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **dependencies**? : _undefined | object_
-_Defined in [types.ts:96](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L96)_
+_Defined in [types.ts:96](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L96)_
---
@@ -1385,7 +1385,7 @@ _Defined in [types.ts:96](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **description**? : _undefined | string_
-_Defined in [types.ts:69](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L69)_
+_Defined in [types.ts:69](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L69)_
---
@@ -1393,7 +1393,7 @@ _Defined in [types.ts:69](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **enum**? : _any[]_
-_Defined in [types.ts:99](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L99)_
+_Defined in [types.ts:99](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L99)_
---
@@ -1401,7 +1401,7 @@ _Defined in [types.ts:99](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **exclusiveMaximum**? : _undefined | false | true_
-_Defined in [types.ts:72](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L72)_
+_Defined in [types.ts:72](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L72)_
---
@@ -1409,7 +1409,7 @@ _Defined in [types.ts:72](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **exclusiveMinimum**? : _undefined | false | true_
-_Defined in [types.ts:74](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L74)_
+_Defined in [types.ts:74](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L74)_
---
@@ -1417,7 +1417,7 @@ _Defined in [types.ts:74](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **format**? : _undefined | string_
-_Defined in [types.ts:107](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L107)_
+_Defined in [types.ts:107](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L107)_
---
@@ -1425,7 +1425,7 @@ _Defined in [types.ts:107](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **id**? : _undefined | string_
-_Defined in [types.ts:65](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L65)_
+_Defined in [types.ts:65](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L65)_
---
@@ -1433,7 +1433,7 @@ _Defined in [types.ts:65](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **items**? : _[JsonSchema](#interface-jsonschema) | [JsonSchema](#interface-jsonschema)[]_
-_Defined in [types.ts:79](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L79)_
+_Defined in [types.ts:79](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L79)_
---
@@ -1441,7 +1441,7 @@ _Defined in [types.ts:79](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **maxItems**? : _undefined | number_
-_Defined in [types.ts:80](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L80)_
+_Defined in [types.ts:80](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L80)_
---
@@ -1449,7 +1449,7 @@ _Defined in [types.ts:80](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **maxLength**? : _undefined | number_
-_Defined in [types.ts:75](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L75)_
+_Defined in [types.ts:75](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L75)_
---
@@ -1457,7 +1457,7 @@ _Defined in [types.ts:75](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **maxProperties**? : _undefined | number_
-_Defined in [types.ts:83](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L83)_
+_Defined in [types.ts:83](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L83)_
---
@@ -1465,7 +1465,7 @@ _Defined in [types.ts:83](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **maximum**? : _undefined | number_
-_Defined in [types.ts:71](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L71)_
+_Defined in [types.ts:71](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L71)_
---
@@ -1473,7 +1473,7 @@ _Defined in [types.ts:71](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **minItems**? : _undefined | number_
-_Defined in [types.ts:81](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L81)_
+_Defined in [types.ts:81](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L81)_
---
@@ -1481,7 +1481,7 @@ _Defined in [types.ts:81](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **minLength**? : _undefined | number_
-_Defined in [types.ts:76](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L76)_
+_Defined in [types.ts:76](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L76)_
---
@@ -1489,7 +1489,7 @@ _Defined in [types.ts:76](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **minProperties**? : _undefined | number_
-_Defined in [types.ts:84](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L84)_
+_Defined in [types.ts:84](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L84)_
---
@@ -1497,7 +1497,7 @@ _Defined in [types.ts:84](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **minimum**? : _undefined | number_
-_Defined in [types.ts:73](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L73)_
+_Defined in [types.ts:73](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L73)_
---
@@ -1505,7 +1505,7 @@ _Defined in [types.ts:73](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **multipleOf**? : _undefined | number_
-_Defined in [types.ts:70](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L70)_
+_Defined in [types.ts:70](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L70)_
---
@@ -1513,7 +1513,7 @@ _Defined in [types.ts:70](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **not**? : _[JsonSchema](#interface-jsonschema)_
-_Defined in [types.ts:111](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L111)_
+_Defined in [types.ts:111](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L111)_
---
@@ -1521,7 +1521,7 @@ _Defined in [types.ts:111](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **oneOf**? : _[JsonSchema](#interface-jsonschema)[]_
-_Defined in [types.ts:110](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L110)_
+_Defined in [types.ts:110](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L110)_
---
@@ -1529,7 +1529,7 @@ _Defined in [types.ts:110](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **pattern**? : _string | RegExp_
-_Defined in [types.ts:77](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L77)_
+_Defined in [types.ts:77](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L77)_
---
@@ -1537,7 +1537,7 @@ _Defined in [types.ts:77](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **patternProperties**? : _undefined | object_
-_Defined in [types.ts:93](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L93)_
+_Defined in [types.ts:93](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L93)_
---
@@ -1545,7 +1545,7 @@ _Defined in [types.ts:93](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **properties**? : _undefined | object_
-_Defined in [types.ts:90](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L90)_
+_Defined in [types.ts:90](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L90)_
---
@@ -1553,7 +1553,7 @@ _Defined in [types.ts:90](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **required**? : _string[]_
-_Defined in [types.ts:85](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L85)_
+_Defined in [types.ts:85](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L85)_
---
@@ -1561,7 +1561,7 @@ _Defined in [types.ts:85](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **title**? : _undefined | string_
-_Defined in [types.ts:68](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L68)_
+_Defined in [types.ts:68](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L68)_
---
@@ -1569,7 +1569,7 @@ _Defined in [types.ts:68](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **type**? : _string | string[]_
-_Defined in [types.ts:106](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L106)_
+_Defined in [types.ts:106](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L106)_
---
@@ -1577,7 +1577,7 @@ _Defined in [types.ts:106](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **uniqueItems**? : _undefined | false | true_
-_Defined in [types.ts:82](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L82)_
+_Defined in [types.ts:82](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L82)_
@@ -1593,7 +1593,7 @@ _Defined in [types.ts:82](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **hash**: _string_
-_Defined in [types.ts:733](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L733)_
+_Defined in [types.ts:733](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L733)_
---
@@ -1601,7 +1601,7 @@ _Defined in [types.ts:733](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **number**: _BigNumber_
-_Defined in [types.ts:732](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L732)_
+_Defined in [types.ts:732](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L732)_
@@ -1620,7 +1620,7 @@ or filled.
• **contractEvents**: _[ContractEvent](#interface-contractevent)[]_
-_Defined in [types.ts:606](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L606)_
+_Defined in [types.ts:606](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L606)_
---
@@ -1628,7 +1628,7 @@ _Defined in [types.ts:606](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **endState**: _[OrderEventEndState](#enumeration-ordereventendstate)_
-_Defined in [types.ts:604](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L604)_
+_Defined in [types.ts:604](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L604)_
---
@@ -1636,7 +1636,7 @@ _Defined in [types.ts:604](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **fillableTakerAssetAmount**: _BigNumber_
-_Defined in [types.ts:605](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L605)_
+_Defined in [types.ts:605](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L605)_
---
@@ -1644,7 +1644,7 @@ _Defined in [types.ts:605](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:602](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L602)_
+_Defined in [types.ts:602](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L602)_
---
@@ -1652,7 +1652,7 @@ _Defined in [types.ts:602](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **signedOrder**: _SignedOrder_
-_Defined in [types.ts:603](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L603)_
+_Defined in [types.ts:603](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L603)_
---
@@ -1660,7 +1660,7 @@ _Defined in [types.ts:603](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **timestampMs**: _number_
-_Defined in [types.ts:601](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L601)_
+_Defined in [types.ts:601](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L601)_
@@ -1676,7 +1676,7 @@ _Defined in [types.ts:601](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **fillableTakerAssetAmount**: _BigNumber_
-_Defined in [types.ts:58](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L58)_
+_Defined in [types.ts:58](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L58)_
---
@@ -1684,7 +1684,7 @@ _Defined in [types.ts:58](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **orderHash**: _string_
-_Defined in [types.ts:56](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L56)_
+_Defined in [types.ts:56](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L56)_
---
@@ -1692,7 +1692,7 @@ _Defined in [types.ts:56](https://github.com/0xProject/0x-mesh/blob/e7737277/pac
• **signedOrder**: _SignedOrder_
-_Defined in [types.ts:57](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L57)_
+_Defined in [types.ts:57](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L57)_
@@ -1711,7 +1711,7 @@ rejected.
• **kind**: _[RejectedOrderKind](#enumeration-rejectedorderkind)_
-_Defined in [types.ts:704](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L704)_
+_Defined in [types.ts:704](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L704)_
---
@@ -1719,7 +1719,7 @@ _Defined in [types.ts:704](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **orderHash**: _string_
-_Defined in [types.ts:702](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L702)_
+_Defined in [types.ts:702](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L702)_
---
@@ -1727,7 +1727,7 @@ _Defined in [types.ts:702](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **signedOrder**: _SignedOrder_
-_Defined in [types.ts:703](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L703)_
+_Defined in [types.ts:703](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L703)_
---
@@ -1735,7 +1735,7 @@ _Defined in [types.ts:703](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **status**: _[RejectedOrderStatus](#interface-rejectedorderstatus)_
-_Defined in [types.ts:705](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L705)_
+_Defined in [types.ts:705](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L705)_
@@ -1753,7 +1753,7 @@ Provides more information about why an order was rejected.
• **code**: _string_
-_Defined in [types.ts:721](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L721)_
+_Defined in [types.ts:721](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L721)_
---
@@ -1761,7 +1761,7 @@ _Defined in [types.ts:721](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **message**: _string_
-_Defined in [types.ts:722](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L722)_
+_Defined in [types.ts:722](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L722)_
@@ -1777,7 +1777,7 @@ _Defined in [types.ts:722](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethRPCRateLimitExpiredRequests**: _number_
-_Defined in [types.ts:770](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L770)_
+_Defined in [types.ts:770](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L770)_
---
@@ -1785,7 +1785,7 @@ _Defined in [types.ts:770](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethRPCRequestsSentInCurrentUTCDay**: _number_
-_Defined in [types.ts:769](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L769)_
+_Defined in [types.ts:769](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L769)_
---
@@ -1793,7 +1793,7 @@ _Defined in [types.ts:769](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **ethereumChainID**: _number_
-_Defined in [types.ts:761](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L761)_
+_Defined in [types.ts:761](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L761)_
---
@@ -1801,7 +1801,7 @@ _Defined in [types.ts:761](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **latestBlock**? : _[LatestBlock](#interface-latestblock)_
-_Defined in [types.ts:762](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L762)_
+_Defined in [types.ts:762](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L762)_
---
@@ -1809,7 +1809,7 @@ _Defined in [types.ts:762](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **maxExpirationTime**: _BigNumber_
-_Defined in [types.ts:767](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L767)_
+_Defined in [types.ts:767](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L767)_
---
@@ -1817,7 +1817,7 @@ _Defined in [types.ts:767](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **numOrders**: _number_
-_Defined in [types.ts:764](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L764)_
+_Defined in [types.ts:764](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L764)_
---
@@ -1825,7 +1825,7 @@ _Defined in [types.ts:764](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **numOrdersIncludingRemoved**: _number_
-_Defined in [types.ts:765](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L765)_
+_Defined in [types.ts:765](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L765)_
---
@@ -1833,7 +1833,7 @@ _Defined in [types.ts:765](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **numPeers**: _number_
-_Defined in [types.ts:763](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L763)_
+_Defined in [types.ts:763](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L763)_
---
@@ -1841,7 +1841,7 @@ _Defined in [types.ts:763](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **numPinnedOrders**: _number_
-_Defined in [types.ts:766](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L766)_
+_Defined in [types.ts:766](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L766)_
---
@@ -1849,7 +1849,7 @@ _Defined in [types.ts:766](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **peerID**: _string_
-_Defined in [types.ts:760](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L760)_
+_Defined in [types.ts:760](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L760)_
---
@@ -1857,7 +1857,7 @@ _Defined in [types.ts:760](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **pubSubTopic**: _string_
-_Defined in [types.ts:757](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L757)_
+_Defined in [types.ts:757](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L757)_
---
@@ -1865,7 +1865,7 @@ _Defined in [types.ts:757](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **rendezvous**: _string_
-_Defined in [types.ts:758](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L758)_
+_Defined in [types.ts:758](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L758)_
---
@@ -1873,7 +1873,7 @@ _Defined in [types.ts:758](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **secondaryRendezvous**: _string[]_
-_Defined in [types.ts:759](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L759)_
+_Defined in [types.ts:759](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L759)_
---
@@ -1881,7 +1881,7 @@ _Defined in [types.ts:759](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **startOfCurrentUTCDay**: _Date_
-_Defined in [types.ts:768](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L768)_
+_Defined in [types.ts:768](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L768)_
---
@@ -1889,7 +1889,7 @@ _Defined in [types.ts:768](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **version**: _string_
-_Defined in [types.ts:756](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L756)_
+_Defined in [types.ts:756](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L756)_
@@ -1907,7 +1907,7 @@ Indicates which orders where accepted, which were rejected, and why.
• **accepted**: _[AcceptedOrderInfo](#interface-acceptedorderinfo)[]_
-_Defined in [types.ts:683](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L683)_
+_Defined in [types.ts:683](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L683)_
---
@@ -1915,7 +1915,7 @@ _Defined in [types.ts:683](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **rejected**: _[RejectedOrderInfo](#interface-rejectedorderinfo)[]_
-_Defined in [types.ts:684](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L684)_
+_Defined in [types.ts:684](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L684)_
@@ -1931,7 +1931,7 @@ _Defined in [types.ts:684](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:489](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L489)_
+_Defined in [types.ts:489](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L489)_
---
@@ -1939,7 +1939,7 @@ _Defined in [types.ts:489](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:490](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L490)_
+_Defined in [types.ts:490](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L490)_
@@ -1955,7 +1955,7 @@ _Defined in [types.ts:490](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **owner**: _string_
-_Defined in [types.ts:478](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L478)_
+_Defined in [types.ts:478](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L478)_
---
@@ -1963,6 +1963,6 @@ _Defined in [types.ts:478](https://github.com/0xProject/0x-mesh/blob/e7737277/pa
• **value**: _BigNumber_
-_Defined in [types.ts:479](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-browser-lite/src/types.ts#L479)_
+_Defined in [types.ts:479](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-browser-lite/src/types.ts#L479)_
diff --git a/docs/deployment.md b/docs/deployment.md
index 9ffb9a9f9..571fe4d0c 100644
--- a/docs/deployment.md
+++ b/docs/deployment.md
@@ -1,4 +1,4 @@
-[![Version](https://img.shields.io/badge/version-10.0.0-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
+[![Version](https://img.shields.io/badge/version-10.1.0-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
# 0x Mesh Deployment Guide
diff --git a/docs/deployment_with_telemetry.md b/docs/deployment_with_telemetry.md
index 3d2b5e995..d41290458 100644
--- a/docs/deployment_with_telemetry.md
+++ b/docs/deployment_with_telemetry.md
@@ -1,4 +1,4 @@
-[![Version](https://img.shields.io/badge/version-10.0.0-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
+[![Version](https://img.shields.io/badge/version-10.1.0-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
## Deploying a Telemetry-Enabled Mesh Node
diff --git a/docs/graphql-client/README.md b/docs/graphql-client/README.md
index 49fddd12b..eae869b18 100644
--- a/docs/graphql-client/README.md
+++ b/docs/graphql-client/README.md
@@ -1,4 +1,4 @@
-# @0x/mesh-graphql-client - v10.0.0
+# @0x/mesh-graphql-client - v10.1.0
## @0x/mesh-graphql-client
diff --git a/docs/graphql-client/reference.md b/docs/graphql-client/reference.md
index 8fa87777d..472f16e34 100644
--- a/docs/graphql-client/reference.md
+++ b/docs/graphql-client/reference.md
@@ -14,7 +14,7 @@
_Overrides void_
-_Defined in [packages/mesh-graphql-client/src/browser_link.ts:7](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/browser_link.ts#L7)_
+_Defined in [packages/mesh-graphql-client/src/browser_link.ts:7](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/browser_link.ts#L7)_
**Parameters:**
@@ -48,7 +48,7 @@ Defined in node_modules/@apollo/client/link/core/ApolloLink.d.ts:12
_Overrides void_
-_Defined in [packages/mesh-graphql-client/src/browser_link.ts:12](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/browser_link.ts#L12)_
+_Defined in [packages/mesh-graphql-client/src/browser_link.ts:12](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/browser_link.ts#L12)_
**Parameters:**
@@ -206,7 +206,7 @@ Defined in node_modules/@apollo/client/link/core/ApolloLink.d.ts:7
\+ **new MeshGraphQLClient**(`linkConfig`: [LinkConfig](#interface-linkconfig)): _[MeshGraphQLClient](#class-meshgraphqlclient)_
-_Defined in [packages/mesh-graphql-client/src/index.ts:245](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L245)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:250](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L250)_
**Parameters:**
@@ -220,16 +220,17 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:245](https://github.com/0
## addOrdersAsync
-▸ **addOrdersAsync**(`orders`: SignedOrder[], `pinned`: boolean): _Promise‹[AddOrdersResults](#interface-addordersresults)›_
+▸ **addOrdersAsync**(`orders`: SignedOrder[], `pinned`: boolean, `opts?`: [AddOrdersOpts](#interface-addordersopts)): _Promise‹[AddOrdersResults](#interface-addordersresults)›_
-_Defined in [packages/mesh-graphql-client/src/index.ts:330](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L330)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:335](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L335)_
**Parameters:**
-| Name | Type | Default |
-| -------- | ------------- | ------- |
-| `orders` | SignedOrder[] | - |
-| `pinned` | boolean | true |
+| Name | Type | Default |
+| -------- | ----------------------------------------- | ------- |
+| `orders` | SignedOrder[] | - |
+| `pinned` | boolean | true |
+| `opts?` | [AddOrdersOpts](#interface-addordersopts) | - |
**Returns:** _Promise‹[AddOrdersResults](#interface-addordersresults)›_
@@ -239,7 +240,7 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:330](https://github.com/0
▸ **findOrdersAsync**(`query`: [OrderQuery](#interface-orderquery)): _Promise‹[OrderWithMetadata](#interface-orderwithmetadata)[]›_
-_Defined in [packages/mesh-graphql-client/src/index.ts:361](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L361)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:377](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L377)_
**Parameters:**
@@ -255,7 +256,7 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:361](https://github.com/0
▸ **getOrderAsync**(`hash`: string): _Promise‹[OrderWithMetadata](#interface-orderwithmetadata) | null›_
-_Defined in [packages/mesh-graphql-client/src/index.ts:345](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L345)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:361](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L361)_
**Parameters:**
@@ -271,7 +272,7 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:345](https://github.com/0
▸ **getStatsAsync**(): _Promise‹[Stats](#interface-stats)›_
-_Defined in [packages/mesh-graphql-client/src/index.ts:319](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L319)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:324](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L324)_
**Returns:** _Promise‹[Stats](#interface-stats)›_
@@ -281,7 +282,7 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:319](https://github.com/0
▸ **onOrderEvents**(): _Observable‹[OrderEvent](#interface-orderevent)[]›_
-_Defined in [packages/mesh-graphql-client/src/index.ts:378](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L378)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:394](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L394)_
**Returns:** _Observable‹[OrderEvent](#interface-orderevent)[]›_
@@ -291,7 +292,7 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:378](https://github.com/0
▸ **rawQueryAsync**<**T**, **TVariables**>(`options`: QueryOptions‹TVariables›): _Promise‹ApolloQueryResult‹T››_
-_Defined in [packages/mesh-graphql-client/src/index.ts:424](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L424)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:440](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L440)_
**Type parameters:**
@@ -317,7 +318,7 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:424](https://github.com/0
• **ERC1155ApprovalForAllEvent**: = "ERC1155ApprovalForAllEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:130](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L130)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:137](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L137)_
---
@@ -325,7 +326,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:130](https://github.com/0
• **ERC1155TransferBatchEvent**: = "ERC1155TransferBatchEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:132](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L132)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:139](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L139)_
---
@@ -333,7 +334,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:132](https://github.com/0
• **ERC1155TransferSingleEvent**: = "ERC1155TransferSingleEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:131](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L131)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:138](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L138)_
---
@@ -341,7 +342,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:131](https://github.com/0
• **ERC20ApprovalEvent**: = "ERC20ApprovalEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:126](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L126)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:133](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L133)_
---
@@ -349,7 +350,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:126](https://github.com/0
• **ERC20TransferEvent**: = "ERC20TransferEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:125](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L125)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:132](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L132)_
---
@@ -357,7 +358,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:125](https://github.com/0
• **ERC721ApprovalEvent**: = "ERC721ApprovalEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:128](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L128)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:135](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L135)_
---
@@ -365,7 +366,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:128](https://github.com/0
• **ERC721ApprovalForAllEvent**: = "ERC721ApprovalForAllEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:129](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L129)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:136](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L136)_
---
@@ -373,7 +374,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:129](https://github.com/0
• **ERC721TransferEvent**: = "ERC721TransferEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:127](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L127)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:134](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L134)_
---
@@ -381,7 +382,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:127](https://github.com/0
• **ExchangeCancelEvent**: = "ExchangeCancelEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:134](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L134)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:141](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L141)_
---
@@ -389,7 +390,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:134](https://github.com/0
• **ExchangeCancelUpToEvent**: = "ExchangeCancelUpToEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:135](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L135)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:142](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L142)_
---
@@ -397,7 +398,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:135](https://github.com/0
• **ExchangeFillEvent**: = "ExchangeFillEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:133](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L133)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:140](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L140)_
---
@@ -405,7 +406,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:133](https://github.com/0
• **WethDepositEvent**: = "WethDepositEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:136](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L136)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:143](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L143)_
---
@@ -413,7 +414,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:136](https://github.com/0
• **WethWithdrawalEvent**: = "WethWithdrawalEvent"
-_Defined in [packages/mesh-graphql-client/src/types.ts:137](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L137)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:144](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L144)_
@@ -425,7 +426,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:137](https://github.com/0
• **Equal**: = "EQUAL"
-_Defined in [packages/mesh-graphql-client/src/types.ts:174](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L174)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:181](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L181)_
---
@@ -433,7 +434,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:174](https://github.com/0
• **Greater**: = "GREATER"
-_Defined in [packages/mesh-graphql-client/src/types.ts:176](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L176)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:183](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L183)_
---
@@ -441,7 +442,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:176](https://github.com/0
• **GreaterOrEqual**: = "GREATER_OR_EQUAL"
-_Defined in [packages/mesh-graphql-client/src/types.ts:177](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L177)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:184](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L184)_
---
@@ -449,7 +450,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:177](https://github.com/0
• **Less**: = "LESS"
-_Defined in [packages/mesh-graphql-client/src/types.ts:178](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L178)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:185](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L185)_
---
@@ -457,7 +458,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:178](https://github.com/0
• **LessOrEqual**: = "LESS_OR_EQUAL"
-_Defined in [packages/mesh-graphql-client/src/types.ts:179](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L179)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:186](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L186)_
---
@@ -465,7 +466,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:179](https://github.com/0
• **NotEqual**: = "NOT_EQUAL"
-_Defined in [packages/mesh-graphql-client/src/types.ts:175](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L175)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:182](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L182)_
@@ -477,7 +478,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:175](https://github.com/0
• **Added**: = "ADDED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:143](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L143)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:150](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L150)_
---
@@ -485,7 +486,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:143](https://github.com/0
• **Cancelled**: = "CANCELLED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:149](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L149)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:156](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L156)_
---
@@ -493,7 +494,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:149](https://github.com/0
• **Expired**: = "EXPIRED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:151](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L151)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:158](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L158)_
---
@@ -501,7 +502,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:151](https://github.com/0
• **FillabilityIncreased**: = "FILLABILITY_INCREASED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:158](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L158)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:165](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L165)_
---
@@ -509,7 +510,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:158](https://github.com/0
• **Filled**: = "FILLED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:145](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L145)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:152](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L152)_
---
@@ -517,7 +518,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:145](https://github.com/0
• **FullyFilled**: = "FULLY_FILLED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:147](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L147)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:154](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L154)_
---
@@ -525,7 +526,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:147](https://github.com/0
• **StoppedWatching**: = "STOPPED_WATCHING"
-_Defined in [packages/mesh-graphql-client/src/types.ts:163](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L163)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:170](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L170)_
---
@@ -533,7 +534,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:163](https://github.com/0
• **Unexpired**: = "UNEXPIRED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:153](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L153)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:160](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L160)_
---
@@ -541,7 +542,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:153](https://github.com/0
• **Unfunded**: = "UNFUNDED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:155](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L155)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:162](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L162)_
@@ -553,7 +554,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:155](https://github.com/0
• **DatabaseFullOfOrders**: = "DATABASE_FULL_OF_ORDERS"
-_Defined in [packages/mesh-graphql-client/src/types.ts:102](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L102)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:109](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L109)_
---
@@ -561,7 +562,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:102](https://github.com/0
• **EthRpcRequestFailed**: = "ETH_RPC_REQUEST_FAILED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:83](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L83)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:90](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L90)_
---
@@ -569,7 +570,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:83](https://github.com/0x
• **IncorrectExchangeAddress**: = "INCORRECT_EXCHANGE_ADDRESS"
-_Defined in [packages/mesh-graphql-client/src/types.ts:100](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L100)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:107](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L107)_
---
@@ -577,7 +578,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:100](https://github.com/0
• **InternalError**: = "INTERNAL_ERROR"
-_Defined in [packages/mesh-graphql-client/src/types.ts:96](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L96)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:103](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L103)_
---
@@ -585,7 +586,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:96](https://github.com/0x
• **MaxOrderSizeExceeded**: = "MAX_ORDER_SIZE_EXCEEDED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:97](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L97)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:104](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L104)_
---
@@ -593,7 +594,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:97](https://github.com/0x
• **OrderAlreadyStoredAndUnfillable**: = "ORDER_ALREADY_STORED_AND_UNFILLABLE"
-_Defined in [packages/mesh-graphql-client/src/types.ts:98](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L98)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:105](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L105)_
---
@@ -601,7 +602,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:98](https://github.com/0x
• **OrderCancelled**: = "ORDER_CANCELLED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:88](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L88)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:95](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L95)_
---
@@ -609,7 +610,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:88](https://github.com/0x
• **OrderExpired**: = "ORDER_EXPIRED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:86](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L86)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:93](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L93)_
---
@@ -617,7 +618,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:86](https://github.com/0x
• **OrderForIncorrectChain**: = "ORDER_FOR_INCORRECT_CHAIN"
-_Defined in [packages/mesh-graphql-client/src/types.ts:99](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L99)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:106](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L106)_
---
@@ -625,7 +626,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:99](https://github.com/0x
• **OrderFullyFilled**: = "ORDER_FULLY_FILLED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:87](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L87)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:94](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L94)_
---
@@ -633,7 +634,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:87](https://github.com/0x
• **OrderHasInvalidMakerAssetAmount**: = "ORDER_HAS_INVALID_MAKER_ASSET_AMOUNT"
-_Defined in [packages/mesh-graphql-client/src/types.ts:84](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L84)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:91](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L91)_
---
@@ -641,7 +642,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:84](https://github.com/0x
• **OrderHasInvalidMakerAssetData**: = "ORDER_HAS_INVALID_MAKER_ASSET_DATA"
-_Defined in [packages/mesh-graphql-client/src/types.ts:90](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L90)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:97](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L97)_
---
@@ -649,7 +650,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:90](https://github.com/0x
• **OrderHasInvalidMakerFeeAssetData**: = "ORDER_HAS_INVALID_MAKER_FEE_ASSET_DATA"
-_Defined in [packages/mesh-graphql-client/src/types.ts:91](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L91)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:98](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L98)_
---
@@ -657,7 +658,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:91](https://github.com/0x
• **OrderHasInvalidSignature**: = "ORDER_HAS_INVALID_SIGNATURE"
-_Defined in [packages/mesh-graphql-client/src/types.ts:94](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L94)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:101](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L101)_
---
@@ -665,7 +666,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:94](https://github.com/0x
• **OrderHasInvalidTakerAssetAmount**: = "ORDER_HAS_INVALID_TAKER_ASSET_AMOUNT"
-_Defined in [packages/mesh-graphql-client/src/types.ts:85](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L85)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:92](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L92)_
---
@@ -673,7 +674,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:85](https://github.com/0x
• **OrderHasInvalidTakerAssetData**: = "ORDER_HAS_INVALID_TAKER_ASSET_DATA"
-_Defined in [packages/mesh-graphql-client/src/types.ts:92](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L92)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:99](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L99)_
---
@@ -681,7 +682,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:92](https://github.com/0x
• **OrderHasInvalidTakerFeeAssetData**: = "ORDER_HAS_INVALID_TAKER_FEE_ASSET_DATA"
-_Defined in [packages/mesh-graphql-client/src/types.ts:93](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L93)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:100](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L100)_
---
@@ -689,7 +690,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:93](https://github.com/0x
• **OrderMaxExpirationExceeded**: = "ORDER_MAX_EXPIRATION_EXCEEDED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:95](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L95)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:102](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L102)_
---
@@ -697,7 +698,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:95](https://github.com/0x
• **OrderUnfunded**: = "ORDER_UNFUNDED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:89](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L89)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:96](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L96)_
---
@@ -705,7 +706,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:89](https://github.com/0x
• **SenderAddressNotAllowed**: = "SENDER_ADDRESS_NOT_ALLOWED"
-_Defined in [packages/mesh-graphql-client/src/types.ts:101](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L101)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:108](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L108)_
@@ -717,7 +718,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:101](https://github.com/0
• **Asc**: = "ASC"
-_Defined in [packages/mesh-graphql-client/src/types.ts:169](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L169)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:176](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L176)_
---
@@ -725,7 +726,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:169](https://github.com/0
• **Desc**: = "DESC"
-_Defined in [packages/mesh-graphql-client/src/types.ts:170](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L170)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:177](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L177)_
@@ -741,7 +742,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:170](https://github.com/0
• **httpUrl**? : _undefined | string_
-_Defined in [packages/mesh-graphql-client/src/index.ts:237](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L237)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:242](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L242)_
---
@@ -749,7 +750,7 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:237](https://github.com/0
• **mesh**? : _Mesh_
-_Defined in [packages/mesh-graphql-client/src/index.ts:239](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L239)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:244](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L244)_
---
@@ -757,7 +758,7 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:239](https://github.com/0
• **webSocketUrl**? : _undefined | string_
-_Defined in [packages/mesh-graphql-client/src/index.ts:238](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/index.ts#L238)_
+_Defined in [packages/mesh-graphql-client/src/index.ts:243](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/index.ts#L243)_
@@ -773,7 +774,7 @@ _Defined in [packages/mesh-graphql-client/src/index.ts:238](https://github.com/0
• **isNew**: _boolean_
-_Defined in [packages/mesh-graphql-client/src/types.ts:66](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L66)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:73](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L73)_
---
@@ -781,7 +782,47 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:66](https://github.com/0x
• **order**: _[OrderWithMetadata](#interface-orderwithmetadata)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:63](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L63)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:70](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L70)_
+
+
+
+# Interface: AddOrdersOpts
+
+### Hierarchy
+
+- **AddOrdersOpts**
+
+### Properties
+
+## `Optional` keepCancelled
+
+• **keepCancelled**? : _undefined | false | true_
+
+_Defined in [packages/mesh-graphql-client/src/types.ts:5](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L5)_
+
+---
+
+## `Optional` keepExpired
+
+• **keepExpired**? : _undefined | false | true_
+
+_Defined in [packages/mesh-graphql-client/src/types.ts:6](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L6)_
+
+---
+
+## `Optional` keepFullyFilled
+
+• **keepFullyFilled**? : _undefined | false | true_
+
+_Defined in [packages/mesh-graphql-client/src/types.ts:7](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L7)_
+
+---
+
+## `Optional` keepUnfunded
+
+• **keepUnfunded**? : _undefined | false | true_
+
+_Defined in [packages/mesh-graphql-client/src/types.ts:8](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L8)_
@@ -797,7 +838,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:63](https://github.com/0x
• **addOrders**: _[StringifiedAddOrdersResults](#interface-stringifiedaddordersresults)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:9](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L9)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:16](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L16)_
@@ -813,7 +854,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:9](https://github.com/0xP
• **accepted**: _[AcceptedOrderResult](#interface-acceptedorderresult)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:55](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L55)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:62](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L62)_
---
@@ -821,7 +862,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:55](https://github.com/0x
• **rejected**: _[RejectedOrderResult](#interface-rejectedorderresult)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:58](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L58)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:65](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L65)_
@@ -837,7 +878,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:58](https://github.com/0x
• **address**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:118](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L118)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:125](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L125)_
---
@@ -845,7 +886,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:118](https://github.com/0
• **blockHash**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:113](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L113)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:120](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L120)_
---
@@ -853,7 +894,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:113](https://github.com/0
• **isRemoved**: _boolean_
-_Defined in [packages/mesh-graphql-client/src/types.ts:117](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L117)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:124](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L124)_
---
@@ -861,7 +902,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:117](https://github.com/0
• **kind**: _[ContractEventKind](#enumeration-contracteventkind)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:119](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L119)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:126](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L126)_
---
@@ -869,7 +910,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:119](https://github.com/0
• **logIndex**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:116](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L116)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:123](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L123)_
---
@@ -877,7 +918,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:116](https://github.com/0
• **parameters**: _any_
-_Defined in [packages/mesh-graphql-client/src/types.ts:121](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L121)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:128](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L128)_
---
@@ -885,7 +926,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:121](https://github.com/0
• **txHash**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:114](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L114)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:121](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L121)_
---
@@ -893,7 +934,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:114](https://github.com/0
• **txIndex**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:115](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L115)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:122](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L122)_
@@ -909,7 +950,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:115](https://github.com/0
• **hash**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:44](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L44)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:51](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L51)_
---
@@ -917,7 +958,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:44](https://github.com/0x
• **number**: _BigNumber_
-_Defined in [packages/mesh-graphql-client/src/types.ts:43](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L43)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:50](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L50)_
@@ -933,7 +974,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:43](https://github.com/0x
• **contractEvents**: _[ContractEvent](#interface-contractevent)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:109](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L109)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:116](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L116)_
---
@@ -941,7 +982,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:109](https://github.com/0
• **endState**: _[OrderEventEndState](#enumeration-ordereventendstate)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:108](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L108)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:115](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L115)_
---
@@ -949,7 +990,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:108](https://github.com/0
• **order**: _[OrderWithMetadata](#interface-orderwithmetadata)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:107](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L107)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:114](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L114)_
---
@@ -957,7 +998,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:107](https://github.com/0
• **timestampMs**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:106](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L106)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:113](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L113)_
@@ -973,7 +1014,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:106](https://github.com/0
• **orderEvents**: _[StringifiedOrderEvent](#interface-stringifiedorderevent)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:21](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L21)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:28](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L28)_
@@ -989,7 +1030,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:21](https://github.com/0x
• **field**: _[OrderField](#orderfield)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:188](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L188)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:195](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L195)_
---
@@ -997,7 +1038,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:188](https://github.com/0
• **kind**: _[FilterKind](#enumeration-filterkind)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:189](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L189)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:196](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L196)_
---
@@ -1005,7 +1046,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:189](https://github.com/0
• **value**: _OrderWithMetadata[OrderField]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:190](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L190)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:197](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L197)_
@@ -1021,7 +1062,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:190](https://github.com/0
• **filters**? : _[OrderFilter](#interface-orderfilter)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:194](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L194)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:201](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L201)_
---
@@ -1029,7 +1070,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:194](https://github.com/0
• **limit**? : _undefined | number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:196](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L196)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:203](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L203)_
---
@@ -1037,7 +1078,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:196](https://github.com/0
• **sort**? : _[OrderSort](#interface-ordersort)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:195](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L195)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:202](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L202)_
@@ -1053,7 +1094,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:195](https://github.com/0
• **order**: _[StringifiedOrderWithMetadata](#interface-stringifiedorderwithmetadata) | null_
-_Defined in [packages/mesh-graphql-client/src/types.ts:13](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L13)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:20](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L20)_
@@ -1069,7 +1110,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:13](https://github.com/0x
• **direction**: _[SortDirection](#enumeration-sortdirection)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:184](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L184)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:191](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L191)_
---
@@ -1077,7 +1118,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:184](https://github.com/0
• **field**: _[OrderField](#orderfield)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:183](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L183)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:190](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L190)_
@@ -1093,7 +1134,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:183](https://github.com/0
• **orders**: _[StringifiedOrderWithMetadata](#interface-stringifiedorderwithmetadata)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:17](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L17)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:24](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L24)_
@@ -1143,7 +1184,7 @@ Defined in node_modules/@0x/types/lib/index.d.ts:8
• **fillableTakerAssetAmount**: _BigNumber_
-_Defined in [packages/mesh-graphql-client/src/types.ts:49](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L49)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:56](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L56)_
---
@@ -1151,7 +1192,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:49](https://github.com/0x
• **hash**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:48](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L48)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:55](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L55)_
---
@@ -1271,7 +1312,7 @@ Defined in node_modules/@0x/types/lib/index.d.ts:19
• **code**: _[RejectedOrderCode](#enumeration-rejectedordercode)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:76](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L76)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:83](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L83)_
---
@@ -1279,7 +1320,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:76](https://github.com/0x
• **hash**? : _undefined | string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:71](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L71)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:78](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L78)_
---
@@ -1287,7 +1328,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:71](https://github.com/0x
• **message**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:79](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L79)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:86](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L86)_
---
@@ -1295,7 +1336,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:79](https://github.com/0x
• **order**: _SignedOrder_
-_Defined in [packages/mesh-graphql-client/src/types.ts:73](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L73)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:80](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L80)_
@@ -1311,7 +1352,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:73](https://github.com/0x
• **ethRPCRateLimitExpiredRequests**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:39](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L39)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:46](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L46)_
---
@@ -1319,7 +1360,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:39](https://github.com/0x
• **ethRPCRequestsSentInCurrentUTCDay**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:38](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L38)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:45](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L45)_
---
@@ -1327,7 +1368,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:38](https://github.com/0x
• **ethereumChainID**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:30](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L30)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:37](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L37)_
---
@@ -1335,7 +1376,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:30](https://github.com/0x
• **latestBlock**: _[LatestBlock](#interface-latestblock)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:31](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L31)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:38](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L38)_
---
@@ -1343,7 +1384,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:31](https://github.com/0x
• **maxExpirationTime**: _BigNumber_
-_Defined in [packages/mesh-graphql-client/src/types.ts:36](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L36)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:43](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L43)_
---
@@ -1351,7 +1392,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:36](https://github.com/0x
• **numOrders**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:33](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L33)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:40](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L40)_
---
@@ -1359,7 +1400,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:33](https://github.com/0x
• **numOrdersIncludingRemoved**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:34](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L34)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:41](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L41)_
---
@@ -1367,7 +1408,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:34](https://github.com/0x
• **numPeers**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:32](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L32)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:39](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L39)_
---
@@ -1375,7 +1416,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:32](https://github.com/0x
• **numPinnedOrders**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:35](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L35)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:42](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L42)_
---
@@ -1383,7 +1424,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:35](https://github.com/0x
• **peerID**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:29](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L29)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:36](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L36)_
---
@@ -1391,7 +1432,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:29](https://github.com/0x
• **pubSubTopic**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:26](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L26)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:33](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L33)_
---
@@ -1399,7 +1440,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:26](https://github.com/0x
• **rendezvous**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:27](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L27)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:34](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L34)_
---
@@ -1407,7 +1448,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:27](https://github.com/0x
• **secondaryRendezvous**: _string[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:28](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L28)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:35](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L35)_
---
@@ -1415,7 +1456,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:28](https://github.com/0x
• **startOfCurrentUTCDay**: _Date_
-_Defined in [packages/mesh-graphql-client/src/types.ts:37](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L37)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:44](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L44)_
---
@@ -1423,7 +1464,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:37](https://github.com/0x
• **version**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:25](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L25)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:32](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L32)_
@@ -1439,7 +1480,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:25](https://github.com/0x
• **stats**: _[StringifiedStats](#interface-stringifiedstats)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:5](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L5)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:12](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L12)_
@@ -1455,7 +1496,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:5](https://github.com/0xP
• **isNew**: _boolean_
-_Defined in [packages/mesh-graphql-client/src/types.ts:254](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L254)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:261](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L261)_
---
@@ -1463,7 +1504,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:254](https://github.com/0
• **order**: _[StringifiedOrderWithMetadata](#interface-stringifiedorderwithmetadata)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:253](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L253)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:260](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L260)_
@@ -1479,7 +1520,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:253](https://github.com/0
• **accepted**: _[StringifiedAcceptedOrderResult](#interface-stringifiedacceptedorderresult)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:248](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L248)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:255](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L255)_
---
@@ -1487,7 +1528,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:248](https://github.com/0
• **rejected**: _[StringifiedRejectedOrderResult](#interface-stringifiedrejectedorderresult)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:249](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L249)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:256](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L256)_
@@ -1503,7 +1544,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:249](https://github.com/0
• **hash**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:201](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L201)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:208](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L208)_
---
@@ -1511,7 +1552,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:201](https://github.com/0
• **number**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:200](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L200)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:207](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L207)_
@@ -1527,7 +1568,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:200](https://github.com/0
• **contractEvents**: _[ContractEvent](#interface-contractevent)[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:269](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L269)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:276](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L276)_
---
@@ -1535,7 +1576,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:269](https://github.com/0
• **endState**: _[OrderEventEndState](#enumeration-ordereventendstate)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:267](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L267)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:274](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L274)_
---
@@ -1543,7 +1584,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:267](https://github.com/0
• **fillableTakerAssetAmount**: _BigNumber_
-_Defined in [packages/mesh-graphql-client/src/types.ts:268](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L268)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:275](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L275)_
---
@@ -1551,7 +1592,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:268](https://github.com/0
• **order**: _[StringifiedOrderWithMetadata](#interface-stringifiedorderwithmetadata)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:266](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L266)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:273](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L273)_
---
@@ -1559,7 +1600,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:266](https://github.com/0
• **timestamp**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:265](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L265)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:272](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L272)_
@@ -1579,7 +1620,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:265](https://github.com/0
_Inherited from [StringifiedSignedOrder](#chainid)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:223](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L223)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:230](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L230)_
---
@@ -1589,7 +1630,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:223](https://github.com/0
_Inherited from [StringifiedSignedOrder](#exchangeaddress)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:224](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L224)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:231](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L231)_
---
@@ -1599,7 +1640,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:224](https://github.com/0
_Inherited from [StringifiedSignedOrder](#expirationtimeseconds)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:233](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L233)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:240](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L240)_
---
@@ -1609,7 +1650,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:233](https://github.com/0
_Inherited from [StringifiedSignedOrder](#feerecipientaddress)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:227](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L227)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:234](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L234)_
---
@@ -1617,7 +1658,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:227](https://github.com/0
• **fillableTakerAssetAmount**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:244](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L244)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:251](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L251)_
---
@@ -1625,7 +1666,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:244](https://github.com/0
• **hash**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:243](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L243)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:250](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L250)_
---
@@ -1635,7 +1676,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:243](https://github.com/0
_Inherited from [StringifiedSignedOrder](#makeraddress)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:225](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L225)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:232](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L232)_
---
@@ -1645,7 +1686,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:225](https://github.com/0
_Inherited from [StringifiedSignedOrder](#makerassetamount)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:229](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L229)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:236](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L236)_
---
@@ -1655,7 +1696,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:229](https://github.com/0
_Inherited from [StringifiedSignedOrder](#makerassetdata)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:235](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L235)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:242](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L242)_
---
@@ -1665,7 +1706,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:235](https://github.com/0
_Inherited from [StringifiedSignedOrder](#makerfee)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:231](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L231)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:238](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L238)_
---
@@ -1675,7 +1716,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:231](https://github.com/0
_Inherited from [StringifiedSignedOrder](#makerfeeassetdata)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:237](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L237)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:244](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L244)_
---
@@ -1685,7 +1726,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:237](https://github.com/0
_Inherited from [StringifiedSignedOrder](#salt)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:234](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L234)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:241](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L241)_
---
@@ -1695,7 +1736,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:234](https://github.com/0
_Inherited from [StringifiedSignedOrder](#senderaddress)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:228](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L228)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:235](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L235)_
---
@@ -1705,7 +1746,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:228](https://github.com/0
_Inherited from [StringifiedSignedOrder](#signature)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:239](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L239)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:246](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L246)_
---
@@ -1715,7 +1756,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:239](https://github.com/0
_Inherited from [StringifiedSignedOrder](#takeraddress)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:226](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L226)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:233](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L233)_
---
@@ -1725,7 +1766,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:226](https://github.com/0
_Inherited from [StringifiedSignedOrder](#takerassetamount)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:230](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L230)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:237](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L237)_
---
@@ -1735,7 +1776,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:230](https://github.com/0
_Inherited from [StringifiedSignedOrder](#takerassetdata)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:236](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L236)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:243](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L243)_
---
@@ -1745,7 +1786,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:236](https://github.com/0
_Inherited from [StringifiedSignedOrder](#takerfee)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:232](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L232)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:239](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L239)_
---
@@ -1755,7 +1796,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:232](https://github.com/0
_Inherited from [StringifiedSignedOrder](#takerfeeassetdata)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:238](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L238)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:245](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L245)_
@@ -1771,7 +1812,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:238](https://github.com/0
• **code**: _[RejectedOrderCode](#enumeration-rejectedordercode)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:260](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L260)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:267](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L267)_
---
@@ -1779,7 +1820,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:260](https://github.com/0
• **hash**? : _undefined | string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:258](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L258)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:265](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L265)_
---
@@ -1787,7 +1828,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:258](https://github.com/0
• **message**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:261](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L261)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:268](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L268)_
---
@@ -1795,7 +1836,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:261](https://github.com/0
• **order**: _[StringifiedSignedOrder](#interface-stringifiedsignedorder)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:259](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L259)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:266](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L266)_
@@ -1813,7 +1854,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:259](https://github.com/0
• **chainId**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:223](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L223)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:230](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L230)_
---
@@ -1821,7 +1862,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:223](https://github.com/0
• **exchangeAddress**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:224](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L224)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:231](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L231)_
---
@@ -1829,7 +1870,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:224](https://github.com/0
• **expirationTimeSeconds**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:233](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L233)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:240](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L240)_
---
@@ -1837,7 +1878,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:233](https://github.com/0
• **feeRecipientAddress**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:227](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L227)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:234](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L234)_
---
@@ -1845,7 +1886,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:227](https://github.com/0
• **makerAddress**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:225](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L225)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:232](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L232)_
---
@@ -1853,7 +1894,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:225](https://github.com/0
• **makerAssetAmount**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:229](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L229)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:236](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L236)_
---
@@ -1861,7 +1902,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:229](https://github.com/0
• **makerAssetData**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:235](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L235)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:242](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L242)_
---
@@ -1869,7 +1910,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:235](https://github.com/0
• **makerFee**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:231](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L231)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:238](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L238)_
---
@@ -1877,7 +1918,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:231](https://github.com/0
• **makerFeeAssetData**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:237](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L237)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:244](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L244)_
---
@@ -1885,7 +1926,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:237](https://github.com/0
• **salt**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:234](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L234)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:241](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L241)_
---
@@ -1893,7 +1934,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:234](https://github.com/0
• **senderAddress**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:228](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L228)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:235](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L235)_
---
@@ -1901,7 +1942,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:228](https://github.com/0
• **signature**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:239](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L239)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:246](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L246)_
---
@@ -1909,7 +1950,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:239](https://github.com/0
• **takerAddress**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:226](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L226)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:233](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L233)_
---
@@ -1917,7 +1958,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:226](https://github.com/0
• **takerAssetAmount**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:230](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L230)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:237](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L237)_
---
@@ -1925,7 +1966,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:230](https://github.com/0
• **takerAssetData**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:236](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L236)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:243](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L243)_
---
@@ -1933,7 +1974,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:236](https://github.com/0
• **takerFee**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:232](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L232)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:239](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L239)_
---
@@ -1941,7 +1982,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:232](https://github.com/0
• **takerFeeAssetData**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:238](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L238)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:245](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L245)_
@@ -1957,7 +1998,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:238](https://github.com/0
• **ethRPCRateLimitExpiredRequests**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:219](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L219)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:226](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L226)_
---
@@ -1965,7 +2006,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:219](https://github.com/0
• **ethRPCRequestsSentInCurrentUTCDay**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:218](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L218)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:225](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L225)_
---
@@ -1973,7 +2014,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:218](https://github.com/0
• **ethereumChainID**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:210](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L210)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:217](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L217)_
---
@@ -1981,7 +2022,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:210](https://github.com/0
• **latestBlock**: _[StringifiedLatestBlock](#interface-stringifiedlatestblock)_
-_Defined in [packages/mesh-graphql-client/src/types.ts:211](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L211)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:218](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L218)_
---
@@ -1989,7 +2030,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:211](https://github.com/0
• **maxExpirationTime**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:216](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L216)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:223](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L223)_
---
@@ -1997,7 +2038,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:216](https://github.com/0
• **numOrders**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:213](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L213)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:220](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L220)_
---
@@ -2005,7 +2046,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:213](https://github.com/0
• **numOrdersIncludingRemoved**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:214](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L214)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:221](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L221)_
---
@@ -2013,7 +2054,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:214](https://github.com/0
• **numPeers**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:212](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L212)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:219](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L219)_
---
@@ -2021,7 +2062,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:212](https://github.com/0
• **numPinnedOrders**: _number_
-_Defined in [packages/mesh-graphql-client/src/types.ts:215](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L215)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:222](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L222)_
---
@@ -2029,7 +2070,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:215](https://github.com/0
• **peerID**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:209](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L209)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:216](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L216)_
---
@@ -2037,7 +2078,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:209](https://github.com/0
• **pubSubTopic**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:206](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L206)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:213](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L213)_
---
@@ -2045,7 +2086,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:206](https://github.com/0
• **rendezvous**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:207](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L207)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:214](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L214)_
---
@@ -2053,7 +2094,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:207](https://github.com/0
• **secondaryRendezvous**: _string[]_
-_Defined in [packages/mesh-graphql-client/src/types.ts:208](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L208)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:215](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L215)_
---
@@ -2061,7 +2102,7 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:208](https://github.com/0
• **startOfCurrentUTCDay**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:217](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L217)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:224](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L224)_
---
@@ -2069,6 +2110,6 @@ _Defined in [packages/mesh-graphql-client/src/types.ts:217](https://github.com/0
• **version**: _string_
-_Defined in [packages/mesh-graphql-client/src/types.ts:205](https://github.com/0xProject/0x-mesh/blob/e7737277/packages/mesh-graphql-client/src/types.ts#L205)_
+_Defined in [packages/mesh-graphql-client/src/types.ts:212](https://github.com/0xProject/0x-mesh/blob/b8104145/packages/mesh-graphql-client/src/types.ts#L212)_
diff --git a/docs/graphql_api.md b/docs/graphql_api.md
index 7e945b412..62d70de87 100644
--- a/docs/graphql_api.md
+++ b/docs/graphql_api.md
@@ -1,4 +1,4 @@
-[![Version](https://img.shields.io/badge/version-10.0.0-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
+[![Version](https://img.shields.io/badge/version-10.1.0-orange.svg)](https://github.com/0xProject/0x-mesh/releases)
# 0x Mesh GraphQL API Documentation
diff --git a/ethereum/blockwatch/block_watcher.go b/ethereum/blockwatch/block_watcher.go
index bfa4ed83e..c26820aa7 100644
--- a/ethereum/blockwatch/block_watcher.go
+++ b/ethereum/blockwatch/block_watcher.go
@@ -640,9 +640,6 @@ func (w *Watcher) filterLogsRecursively(from, to int, allLogs []ethtypes.Log) ([
if from == to {
return allLogs, fmt.Errorf("Unable to get the logs for block #%d, because it contains too many logs", from)
}
-
- // FIXME(jalextowle): This had deadcode previously. Was there something that should have
- // been done here that wasn't originally?
firstBatchSize := numBlocks / 2
endFirstHalf := from + firstBatchSize
startSecondHalf := endFirstHalf + 1
diff --git a/graphql/client/client.go b/graphql/client/client.go
index c140ee214..2a0387e5e 100644
--- a/graphql/client/client.go
+++ b/graphql/client/client.go
@@ -15,8 +15,17 @@ type Client struct {
}
const (
- addOrdersMutation = `mutation AddOrders($orders: [NewOrder!]!, $pinned: Boolean = true) {
- addOrders(orders: $orders, pinned: $pinned) {
+ addOrdersMutation = `mutation AddOrders(
+ $orders: [NewOrder!]!,
+ $pinned: Boolean = true,
+ $opts: AddOrdersOpts = {
+ keepCancelled: false,
+ keepExpired: false,
+ keepFullyFilled: false,
+ keepUnfunded: false,
+ },
+) {
+ addOrders(orders: $orders, pinned: $pinned, opts: $opts) {
accepted {
order {
hash
@@ -154,6 +163,18 @@ type AddOrdersOpts struct {
// and will always stay in storage until they are no longer fillable. Defaults
// to true.
Pinned bool `json:"pinned"`
+ // KeepCancelled signals that this order should not be deleted
+ // if it is cancelled.
+ KeepCancelled bool `json:"keepWhenCancelled"`
+ // KeepExpired signals that this order should not be deleted
+ // if it becomes expired.
+ KeepExpired bool `json:"keepWhenExpired"`
+ // KeepFullyFilled signals that this order should not be deleted
+ // if it is fully filled.
+ KeepFullyFilled bool `json:"keepWhenFullyFilled"`
+ // KeepUnfunded signals that this order should not be deleted
+ // if it becomes unfunded.
+ KeepUnfunded bool `json:"keepWhenUnfunded"`
}
// AddOrders adds orders to 0x Mesh and broadcasts them throughout the 0x Mesh network.
@@ -167,6 +188,10 @@ func (c *Client) AddOrders(ctx context.Context, orders []*zeroex.SignedOrder, op
// Only set the pinned variable if opts were provided.
if len(opts) > 0 {
req.Var("pinned", opts[0].Pinned)
+ req.Var("keepCancelled", opts[0].KeepCancelled)
+ req.Var("keepExpired", opts[0].KeepExpired)
+ req.Var("keepFullyFilled", opts[0].KeepFullyFilled)
+ req.Var("keepUnfunded", opts[0].KeepUnfunded)
}
var resp struct {
diff --git a/graphql/generated/generated.go b/graphql/generated/generated.go
index afe136dd4..045f801c6 100644
--- a/graphql/generated/generated.go
+++ b/graphql/generated/generated.go
@@ -72,7 +72,7 @@ type ComplexityRoot struct {
}
Mutation struct {
- AddOrders func(childComplexity int, orders []*gqltypes.NewOrder, pinned *bool) int
+ AddOrders func(childComplexity int, orders []*gqltypes.NewOrder, pinned *bool, opts *gqltypes.AddOrdersOpts) int
}
Order struct {
@@ -160,7 +160,7 @@ type ComplexityRoot struct {
}
type MutationResolver interface {
- AddOrders(ctx context.Context, orders []*gqltypes.NewOrder, pinned *bool) (*gqltypes.AddOrdersResults, error)
+ AddOrders(ctx context.Context, orders []*gqltypes.NewOrder, pinned *bool, opts *gqltypes.AddOrdersOpts) (*gqltypes.AddOrdersResults, error)
}
type QueryResolver interface {
Order(ctx context.Context, hash string) (*gqltypes.OrderWithMetadata, error)
@@ -294,7 +294,7 @@ func (e *executableSchema) Complexity(typeName, field string, childComplexity in
return 0, false
}
- return e.complexity.Mutation.AddOrders(childComplexity, args["orders"].([]*gqltypes.NewOrder), args["pinned"].(*bool)), true
+ return e.complexity.Mutation.AddOrders(childComplexity, args["orders"].([]*gqltypes.NewOrder), args["pinned"].(*bool), args["opts"].(*gqltypes.AddOrdersOpts)), true
case "Order.chainId":
if e.complexity.Order.ChainID == nil {
@@ -1114,7 +1114,39 @@ type Mutation {
"""
Adds one or more orders to Mesh.
"""
- addOrders(orders: [NewOrder!]!, pinned: Boolean = true): AddOrdersResults!
+ addOrders(
+ orders: [NewOrder!]!,
+ pinned: Boolean = true,
+ opts: AddOrdersOpts = {
+ keepCancelled: false,
+ keepExpired: false,
+ keepFullyFilled: false,
+ keepUnfunded: false,
+ },
+ ): AddOrdersResults!
+}
+
+input AddOrdersOpts {
+ """
+ Indicates that the orders being added should be kept by the database after
+ cancellation.
+ """
+ keepCancelled: Boolean = false
+ """
+ Indicates that the orders being added should be kept by the database after
+ expiry.
+ """
+ keepExpired: Boolean = false
+ """
+ Indicates that the orders being added should be kept by the database after
+ being fully filled.
+ """
+ keepFullyFilled: Boolean = false
+ """
+ Indicates that the orders being added should be kept by the database after
+ becoming unfunded.
+ """
+ keepUnfunded: Boolean = false
}
type OrderEvent {
@@ -1260,6 +1292,14 @@ func (ec *executionContext) field_Mutation_addOrders_args(ctx context.Context, r
}
}
args["pinned"] = arg1
+ var arg2 *gqltypes.AddOrdersOpts
+ if tmp, ok := rawArgs["opts"]; ok {
+ arg2, err = ec.unmarshalOAddOrdersOpts2ᚖgithubᚗcomᚋ0xProjectᚋ0xᚑmeshᚋgraphqlᚋgqltypesᚐAddOrdersOpts(ctx, tmp)
+ if err != nil {
+ return nil, err
+ }
+ }
+ args["opts"] = arg2
return args, nil
}
@@ -1857,7 +1897,7 @@ func (ec *executionContext) _Mutation_addOrders(ctx context.Context, field graph
fc.Args = args
resTmp, err := ec.ResolverMiddleware(ctx, func(rctx context.Context) (interface{}, error) {
ctx = rctx // use context from middleware stack in children
- return ec.resolvers.Mutation().AddOrders(rctx, args["orders"].([]*gqltypes.NewOrder), args["pinned"].(*bool))
+ return ec.resolvers.Mutation().AddOrders(rctx, args["orders"].([]*gqltypes.NewOrder), args["pinned"].(*bool), args["opts"].(*gqltypes.AddOrdersOpts))
})
if err != nil {
ec.Error(ctx, err)
@@ -5121,6 +5161,42 @@ func (ec *executionContext) ___Type_ofType(ctx context.Context, field graphql.Co
// region **************************** input.gotpl *****************************
+func (ec *executionContext) unmarshalInputAddOrdersOpts(ctx context.Context, obj interface{}) (gqltypes.AddOrdersOpts, error) {
+ var it gqltypes.AddOrdersOpts
+ var asMap = obj.(map[string]interface{})
+
+ for k, v := range asMap {
+ switch k {
+ case "keepCancelled":
+ var err error
+ it.KeepCancelled, err = ec.unmarshalOBoolean2ᚖbool(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ case "keepExpired":
+ var err error
+ it.KeepExpired, err = ec.unmarshalOBoolean2ᚖbool(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ case "keepFullyFilled":
+ var err error
+ it.KeepFullyFilled, err = ec.unmarshalOBoolean2ᚖbool(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ case "keepUnfunded":
+ var err error
+ it.KeepUnfunded, err = ec.unmarshalOBoolean2ᚖbool(ctx, v)
+ if err != nil {
+ return it, err
+ }
+ }
+ }
+
+ return it, nil
+}
+
func (ec *executionContext) unmarshalInputNewOrder(ctx context.Context, obj interface{}) (gqltypes.NewOrder, error) {
var it gqltypes.NewOrder
var asMap = obj.(map[string]interface{})
@@ -6932,6 +7008,18 @@ func (ec *executionContext) marshalN__TypeKind2string(ctx context.Context, sel a
return res
}
+func (ec *executionContext) unmarshalOAddOrdersOpts2githubᚗcomᚋ0xProjectᚋ0xᚑmeshᚋgraphqlᚋgqltypesᚐAddOrdersOpts(ctx context.Context, v interface{}) (gqltypes.AddOrdersOpts, error) {
+ return ec.unmarshalInputAddOrdersOpts(ctx, v)
+}
+
+func (ec *executionContext) unmarshalOAddOrdersOpts2ᚖgithubᚗcomᚋ0xProjectᚋ0xᚑmeshᚋgraphqlᚋgqltypesᚐAddOrdersOpts(ctx context.Context, v interface{}) (*gqltypes.AddOrdersOpts, error) {
+ if v == nil {
+ return nil, nil
+ }
+ res, err := ec.unmarshalOAddOrdersOpts2githubᚗcomᚋ0xProjectᚋ0xᚑmeshᚋgraphqlᚋgqltypesᚐAddOrdersOpts(ctx, v)
+ return &res, err
+}
+
func (ec *executionContext) unmarshalOBoolean2bool(ctx context.Context, v interface{}) (bool, error) {
return graphql.UnmarshalBoolean(v)
}
diff --git a/graphql/gqltypes/conversions.go b/graphql/gqltypes/conversions.go
index 05c893471..f505accbf 100644
--- a/graphql/gqltypes/conversions.go
+++ b/graphql/gqltypes/conversions.go
@@ -14,6 +14,23 @@ import (
"github.com/ethereum/go-ethereum/common/math"
)
+func AddOrderOptsToCommonType(opts *AddOrdersOpts) *types.AddOrdersOpts {
+ commonTypeOpts := &types.AddOrdersOpts{}
+ if opts.KeepCancelled != nil {
+ commonTypeOpts.KeepCancelled = *opts.KeepCancelled
+ }
+ if opts.KeepExpired != nil {
+ commonTypeOpts.KeepExpired = *opts.KeepExpired
+ }
+ if opts.KeepFullyFilled != nil {
+ commonTypeOpts.KeepFullyFilled = *opts.KeepFullyFilled
+ }
+ if opts.KeepUnfunded != nil {
+ commonTypeOpts.KeepUnfunded = *opts.KeepUnfunded
+ }
+ return commonTypeOpts
+}
+
func StatsFromCommonType(stats *types.Stats) *Stats {
return &Stats{
Version: stats.Version,
diff --git a/graphql/gqltypes/types_generated.go b/graphql/gqltypes/types_generated.go
index 3198b2343..ac53447ed 100644
--- a/graphql/gqltypes/types_generated.go
+++ b/graphql/gqltypes/types_generated.go
@@ -16,6 +16,21 @@ type AcceptedOrderResult struct {
IsNew bool `json:"isNew"`
}
+type AddOrdersOpts struct {
+ // Indicates that the orders being added should be kept by the database after
+ // cancellation.
+ KeepCancelled *bool `json:"keepCancelled"`
+ // Indicates that the orders being added should be kept by the database after
+ // expiry.
+ KeepExpired *bool `json:"keepExpired"`
+ // Indicates that the orders being added should be kept by the database after
+ // being fully filled.
+ KeepFullyFilled *bool `json:"keepFullyFilled"`
+ // Indicates that the orders being added should be kept by the database after
+ // becoming unfunded.
+ KeepUnfunded *bool `json:"keepUnfunded"`
+}
+
// The results of the addOrders mutation. Includes which orders were accepted and which orders where rejected.
type AddOrdersResults struct {
// The set of orders that were accepted. Accepted orders will be watched and order events will be emitted if
diff --git a/graphql/schema.graphql b/graphql/schema.graphql
index c53b9b392..4d0ed1108 100644
--- a/graphql/schema.graphql
+++ b/graphql/schema.graphql
@@ -291,7 +291,39 @@ type Mutation {
"""
Adds one or more orders to Mesh.
"""
- addOrders(orders: [NewOrder!]!, pinned: Boolean = true): AddOrdersResults!
+ addOrders(
+ orders: [NewOrder!]!,
+ pinned: Boolean = true,
+ opts: AddOrdersOpts = {
+ keepCancelled: false,
+ keepExpired: false,
+ keepFullyFilled: false,
+ keepUnfunded: false,
+ },
+ ): AddOrdersResults!
+}
+
+input AddOrdersOpts {
+ """
+ Indicates that the orders being added should be kept by the database after
+ cancellation.
+ """
+ keepCancelled: Boolean = false
+ """
+ Indicates that the orders being added should be kept by the database after
+ expiry.
+ """
+ keepExpired: Boolean = false
+ """
+ Indicates that the orders being added should be kept by the database after
+ being fully filled.
+ """
+ keepFullyFilled: Boolean = false
+ """
+ Indicates that the orders being added should be kept by the database after
+ becoming unfunded.
+ """
+ keepUnfunded: Boolean = false
}
type OrderEvent {
diff --git a/graphql/schema.resolvers.go b/graphql/schema.resolvers.go
index 142d7cb11..220bedfeb 100644
--- a/graphql/schema.resolvers.go
+++ b/graphql/schema.resolvers.go
@@ -13,13 +13,14 @@ import (
"github.com/ethereum/go-ethereum/common"
)
-func (r *mutationResolver) AddOrders(ctx context.Context, orders []*gqltypes.NewOrder, pinned *bool) (*gqltypes.AddOrdersResults, error) {
+func (r *mutationResolver) AddOrders(ctx context.Context, orders []*gqltypes.NewOrder, pinned *bool, opts *gqltypes.AddOrdersOpts) (*gqltypes.AddOrdersResults, error) {
isPinned := false
if pinned != nil {
isPinned = (*pinned)
}
signedOrders := gqltypes.NewOrdersToSignedOrders(orders)
- results, err := r.app.AddOrders(ctx, signedOrders, isPinned)
+ commonTypeOpts := gqltypes.AddOrderOptsToCommonType(opts)
+ results, err := r.app.AddOrders(ctx, signedOrders, isPinned, commonTypeOpts)
if err != nil {
return nil, err
}
diff --git a/package.json b/package.json
index 8d32e03c9..cc62d23e4 100644
--- a/package.json
+++ b/package.json
@@ -29,12 +29,11 @@
"@types/base64-arraybuffer": "^0.1.0",
"es6-promise": "^4.2.6",
"ignore-loader": "^0.1.2",
- "isomorphic-fetch": "^2.2.1",
- "qunit-puppeteer": "^1.0.1",
- "prettier": "^1.19.1",
- "ts-loader": "^6.2.1",
- "tslint": "5.11.0",
- "typescript": "^3.9.3",
+ "isomorphic-fetch": "^3.0.0",
+ "prettier": "^2.1.2",
+ "ts-loader": "^8.0.5",
+ "tslint": "6.1.3",
+ "typescript": "^4.0.3",
"webpack": "^4.41.5",
"webpack-cli": "^3.3.10",
"wrtc": "0.4.1",
diff --git a/packages/mesh-browser-lite/package.json b/packages/mesh-browser-lite/package.json
index a945651b4..cdf346f0d 100644
--- a/packages/mesh-browser-lite/package.json
+++ b/packages/mesh-browser-lite/package.json
@@ -1,6 +1,6 @@
{
"name": "@0x/mesh-browser-lite",
- "version": "10.0.0",
+ "version": "10.1.0",
"description": "TypeScript and JavaScript bindings for running Mesh directly in the browser. To use this packages, you must use your own copy of the Mesh WebAssembly Binary",
"main": "./lib/index.js",
"license": "Apache-2.0",
@@ -18,12 +18,12 @@
"@types/dexie": "^1.3.1",
"shx": "^0.3.2",
"typedoc": "^0.15.0",
- "typescript": "^3.9.3"
+ "typescript": "^4.0.3"
},
"dependencies": {
"@0x/order-utils": "^10.2.0",
"@0x/utils": "^5.4.0",
- "ajv": "^6.12.2",
+ "ajv": "^6.12.5",
"dexie": "^3.0.1",
"ethereum-types": "^3.0.0"
}
diff --git a/packages/mesh-browser-lite/src/database.ts b/packages/mesh-browser-lite/src/database.ts
index 20508fa01..815b754c7 100644
--- a/packages/mesh-browser-lite/src/database.ts
+++ b/packages/mesh-browser-lite/src/database.ts
@@ -22,8 +22,8 @@ export interface Options {
}
export interface Query {
- filters?: Array>;
- sort?: Array>;
+ filters?: FilterOption[];
+ sort?: SortOption[];
limit?: number;
offset?: number;
}
@@ -78,15 +78,22 @@ export interface Order {
isRemoved: number;
isPinned: number;
isNotPinned: number; // Used in a compound index in queries related to max expiration time.
+ isUnfillable: number;
+ isExpired: number;
parsedMakerAssetData: string;
parsedMakerFeeAssetData: string;
lastValidatedBlockNumber: string;
lastValidatedBlockHash: string;
+ keepCancelled: number;
+ keepExpired: number;
+ keepFullyFilled: number;
+ keepUnfunded: number;
}
export interface StoredOrderStatus {
isStored: boolean;
isMarkedRemoved: boolean;
+ isMarkedUnfillable: boolean;
fillableTakerAssetAmount?: string;
}
@@ -165,7 +172,7 @@ export class Database {
this._db.version(1).stores({
orders:
- '&hash,chainId,makerAddress,makerAssetData,makerAssetAmount,makerFee,makerFeeAssetData,takerAddress,takerAssetData,takerFeeAssetData,takerAssetAmount,takerFee,senderAddress,feeRecipientAddress,expirationTimeSeconds,salt,signature,exchangeAddress,fillableTakerAssetAmount,lastUpdated,isRemoved,isPinned,parsedMakerAssetData,parsedMakerFeeAssetData,lastValidatedBlockNumber,lastValidatedBlockHash,[isNotPinned+expirationTimeSeconds]',
+ '&hash,chainId,makerAddress,makerAssetData,makerAssetAmount,makerFee,makerFeeAssetData,takerAddress,takerAssetData,takerFeeAssetData,takerAssetAmount,takerFee,senderAddress,feeRecipientAddress,expirationTimeSeconds,salt,signature,exchangeAddress,fillableTakerAssetAmount,lastUpdated,isRemoved,isPinned,isUnfillable,isExpired,parsedMakerAssetData,parsedMakerFeeAssetData,lastValidatedBlockNumber,lastValidatedBlockHash,keepCancelled,keepExpired,keepFullyFilled,keepUnfunded,[isNotPinned+expirationTimeSeconds]',
miniHeaders: '&hash,parent,number,timestamp',
metadata: 'ðereumChainID',
dhtstore: '&key,data',
@@ -259,17 +266,13 @@ export class Database {
statuses.push({
isStored: false,
isMarkedRemoved: false,
- });
- } else if (order.isRemoved) {
- statuses.push({
- isStored: true,
- isMarkedRemoved: true,
- fillableTakerAssetAmount: order.fillableTakerAssetAmount,
+ isMarkedUnfillable: false,
});
} else {
statuses.push({
isStored: true,
- isMarkedRemoved: false,
+ isMarkedRemoved: order.isRemoved === 1,
+ isMarkedUnfillable: order.isUnfillable === 1,
fillableTakerAssetAmount: order.fillableTakerAssetAmount,
});
}
@@ -584,29 +587,29 @@ async function runQueryInMemoryAsync(
return records;
}
-function filterRecords(filters: Array>, records: T[]): T[] {
+function filterRecords(filters: FilterOption[], records: T[]): T[] {
let result = records;
// Note(albrow): As an optimization, we could use the native Dexie.js index for
// the *first* filter when possible.
for (const filter of filters) {
switch (filter.kind) {
case FilterKind.Equal:
- result = result.filter(record => record[filter.field] === filter.value);
+ result = result.filter((record) => record[filter.field] === filter.value);
break;
case FilterKind.NotEqual:
- result = result.filter(record => record[filter.field] !== filter.value);
+ result = result.filter((record) => record[filter.field] !== filter.value);
break;
case FilterKind.Greater:
- result = result.filter(record => record[filter.field] > filter.value);
+ result = result.filter((record) => record[filter.field] > filter.value);
break;
case FilterKind.GreaterOrEqual:
- result = result.filter(record => record[filter.field] >= filter.value);
+ result = result.filter((record) => record[filter.field] >= filter.value);
break;
case FilterKind.Less:
- result = result.filter(record => record[filter.field] < filter.value);
+ result = result.filter((record) => record[filter.field] < filter.value);
break;
case FilterKind.LessOrEqual:
- result = result.filter(record => record[filter.field] <= filter.value);
+ result = result.filter((record) => record[filter.field] <= filter.value);
break;
case FilterKind.Contains:
result = result.filter(containsFilterFunc(filter));
@@ -619,7 +622,7 @@ function filterRecords(filters: Array>, record
return result;
}
-function sortRecords(sortOpts: Array>, records: T[]): T[] {
+function sortRecords(sortOpts: SortOption[], records: T[]): T[] {
// Note(albrow): As an optimization, we could use native Dexie.js ordering for
// the *first* sort option when possible.
const result = records;
diff --git a/packages/mesh-browser-lite/src/datastore.ts b/packages/mesh-browser-lite/src/datastore.ts
index 1a484329a..c3b269de4 100644
--- a/packages/mesh-browser-lite/src/datastore.ts
+++ b/packages/mesh-browser-lite/src/datastore.ts
@@ -98,8 +98,10 @@ export class BatchingDatastore {
return this._db.transaction('rw!', this._table, async () => {
const prefixRegExp = new RegExp(prefix);
const col =
- prefix !== '' ? this._table.filter(entry => prefixRegExp.test(entry.key)) : this._table.toCollection();
- return (await col.toArray()).map(entry => {
+ prefix !== ''
+ ? this._table.filter((entry) => prefixRegExp.test(entry.key))
+ : this._table.toCollection();
+ return (await col.toArray()).map((entry) => {
return {
key: entry.key,
value: entry.value,
diff --git a/packages/mesh-browser-lite/src/mesh.ts b/packages/mesh-browser-lite/src/mesh.ts
index 453188d51..24c86ba52 100644
--- a/packages/mesh-browser-lite/src/mesh.ts
+++ b/packages/mesh-browser-lite/src/mesh.ts
@@ -290,6 +290,6 @@ async function waitForLoadAsync(): Promise {
}
async function sleepAsync(ms: number): Promise {
- return new Promise(resolve => setTimeout(resolve, ms));
+ return new Promise((resolve) => setTimeout(resolve, ms));
}
// tslint:disable-next-line:max-file-line-count
diff --git a/packages/mesh-browser-lite/src/schema_validator.ts b/packages/mesh-browser-lite/src/schema_validator.ts
index 7a716a89b..0b36c85be 100644
--- a/packages/mesh-browser-lite/src/schema_validator.ts
+++ b/packages/mesh-browser-lite/src/schema_validator.ts
@@ -76,7 +76,7 @@ function constructValidationFunctionWrapper(
try {
result.success = validationFunction(JSON.parse(input));
if (validationFunction.errors) {
- result.errors = validationFunction.errors.map(error => JSON.stringify(error));
+ result.errors = validationFunction.errors.map((error) => JSON.stringify(error));
}
} catch (error) {
result.fatal = JSON.stringify(error);
diff --git a/packages/mesh-browser-lite/src/wrapper_conversion.ts b/packages/mesh-browser-lite/src/wrapper_conversion.ts
index 4a55cae50..07fa1ddbd 100644
--- a/packages/mesh-browser-lite/src/wrapper_conversion.ts
+++ b/packages/mesh-browser-lite/src/wrapper_conversion.ts
@@ -84,7 +84,7 @@ export function wrapperContractEventsToContractEvents(wrapperContractEvents: Wra
if (wrapperContractEvents === null) {
return contractEvents;
}
- wrapperContractEvents.forEach(wrapperContractEvent => {
+ wrapperContractEvents.forEach((wrapperContractEvent) => {
const kind = wrapperContractEvent.kind as ContractEventKind;
const rawParameters = wrapperContractEvent.parameters;
let parameters: ContractEventParameters;
@@ -140,11 +140,11 @@ export function wrapperContractEventsToContractEvents(wrapperContractEvents: Wra
case ContractEventKind.ERC1155TransferBatchEvent:
const erc1155TransferBatchEvent = rawParameters as WrapperERC1155TransferBatchEvent;
const ids: BigNumber[] = [];
- erc1155TransferBatchEvent.ids.forEach(id => {
+ erc1155TransferBatchEvent.ids.forEach((id) => {
ids.push(new BigNumber(id));
});
const values: BigNumber[] = [];
- erc1155TransferBatchEvent.values.forEach(value => {
+ erc1155TransferBatchEvent.values.forEach((value) => {
values.push(new BigNumber(value));
});
parameters = {
diff --git a/packages/mesh-browser-lite/tslint.json b/packages/mesh-browser-lite/tslint.json
index dd9053357..57bbce2b9 100644
--- a/packages/mesh-browser-lite/tslint.json
+++ b/packages/mesh-browser-lite/tslint.json
@@ -1,3 +1,6 @@
{
- "extends": ["@0x/tslint-config"]
+ "extends": ["@0x/tslint-config"],
+ "rules": {
+ "arrow-parens": true
+ }
}
diff --git a/packages/mesh-browser-shim/package.json b/packages/mesh-browser-shim/package.json
index 79e7231ff..738cdded1 100644
--- a/packages/mesh-browser-shim/package.json
+++ b/packages/mesh-browser-shim/package.json
@@ -13,13 +13,13 @@
"devDependencies": {
"@types/dexie": "^1.3.1",
"shx": "^0.3.2",
- "ts-loader": "^6.2.1",
- "typescript": "^3.9.3",
+ "ts-loader": "^8.0.5",
+ "typescript": "^4.0.3",
"webpack": "^4.43.0",
"webpack-cli": "^3.3.10"
},
"dependencies": {
- "@0x/mesh-browser-lite": "^10.0.0",
+ "@0x/mesh-browser-lite": "^10.1.0",
"dexie": "^3.0.1"
}
}
diff --git a/packages/mesh-browser-shim/tslint.json b/packages/mesh-browser-shim/tslint.json
index dd9053357..57bbce2b9 100644
--- a/packages/mesh-browser-shim/tslint.json
+++ b/packages/mesh-browser-shim/tslint.json
@@ -1,3 +1,6 @@
{
- "extends": ["@0x/tslint-config"]
+ "extends": ["@0x/tslint-config"],
+ "rules": {
+ "arrow-parens": true
+ }
}
diff --git a/packages/mesh-browser/conversion-tests/conversion_test.ts b/packages/mesh-browser/conversion-tests/conversion_test.ts
index 978113552..084cf94c9 100644
--- a/packages/mesh-browser/conversion-tests/conversion_test.ts
+++ b/packages/mesh-browser/conversion-tests/conversion_test.ts
@@ -86,10 +86,10 @@ window.addEventListener(loadEventName, () => {
const go = new Go();
WebAssembly.instantiateStreaming(fetch('conversion_test.wasm'), go.importObject)
- .then(module => {
+ .then((module) => {
go.run(module.instance);
})
- .catch(err => {
+ .catch((err) => {
// tslint:disable-next-line no-console
console.error('Could not load Wasm');
// tslint:disable-next-line no-console
@@ -198,7 +198,7 @@ WebAssembly.instantiateStreaming(fetch('conversion_test.wasm'), go.importObject)
const finishedDiv = document.createElement('div');
finishedDiv.setAttribute('id', 'jsFinished');
document.body.appendChild(finishedDiv);
-})().catch(err => {
+})().catch((err) => {
console.log(err);
});
@@ -1064,6 +1064,6 @@ async function waitForLoadAsync(): Promise {
}
async function sleepAsync(ms: number): Promise {
- return new Promise(resolve => setTimeout(resolve, ms));
+ return new Promise((resolve) => setTimeout(resolve, ms));
}
// tslint:disable-line:max-file-line-count
diff --git a/packages/mesh-browser/go/mesh-browser/main.go b/packages/mesh-browser/go/mesh-browser/main.go
index 2e895010d..af43858c3 100644
--- a/packages/mesh-browser/go/mesh-browser/main.go
+++ b/packages/mesh-browser/go/mesh-browser/main.go
@@ -8,6 +8,7 @@ import (
"syscall/js"
"time"
+ "github.com/0xProject/0x-mesh/common/types"
"github.com/0xProject/0x-mesh/core"
"github.com/0xProject/0x-mesh/graphql"
"github.com/0xProject/0x-mesh/graphql/gqltypes"
@@ -150,7 +151,9 @@ func (cw *MeshWrapper) AddOrders(rawOrders js.Value, pinned bool) (js.Value, err
if err := jsutil.InefficientlyConvertFromJS(rawOrders, &rawMessages); err != nil {
return js.Undefined(), err
}
- results, err := cw.app.AddOrdersRaw(cw.ctx, rawMessages, pinned)
+ // NOTE(jalextowle): We don't allow browser nodes to keep outdated orders
+ // currently.
+ results, err := cw.app.AddOrdersRaw(cw.ctx, rawMessages, pinned, &types.AddOrdersOpts{})
if err != nil {
return js.Undefined(), err
}
@@ -185,7 +188,9 @@ func (cw *MeshWrapper) GQLAddOrders(rawOrders js.Value, pinned bool) (js.Value,
if err := jsutil.InefficientlyConvertFromJS(rawOrders, &newOrders); err != nil {
return js.Undefined(), err
}
- results, err := cw.resolver.Mutation().AddOrders(cw.ctx, newOrders, &pinned)
+ // NOTE(jalextowle): We don't allow browser nodes to keep outdated orders
+ // currently.
+ results, err := cw.resolver.Mutation().AddOrders(cw.ctx, newOrders, &pinned, &gqltypes.AddOrdersOpts{})
if err != nil {
return js.Undefined(), err
}
diff --git a/packages/mesh-browser/package.json b/packages/mesh-browser/package.json
index 4954e60ef..730148a25 100644
--- a/packages/mesh-browser/package.json
+++ b/packages/mesh-browser/package.json
@@ -1,6 +1,6 @@
{
"name": "@0x/mesh-browser",
- "version": "10.0.0",
+ "version": "10.1.0",
"description": "TypeScript and JavaScript bindings for running Mesh directly in the browser.",
"main": "./lib/index.js",
"license": "Apache-2.0",
@@ -25,17 +25,17 @@
"@0x/tslint-config": "^4.0.0",
"@types/base64-arraybuffer": "^0.1.0",
"ignore-loader": "^0.1.2",
- "prettier": "^1.19.1",
+ "prettier": "^2.1.2",
"shx": "^0.3.2",
- "ts-loader": "^6.2.1",
- "tslint": "5.11.0",
+ "ts-loader": "^8.0.5",
+ "tslint": "6.1.3",
"typedoc": "^0.15.0",
- "typescript": "^3.9.3",
+ "typescript": "^4.0.3",
"webpack": "^4.41.5",
"webpack-cli": "^3.3.10"
},
"dependencies": {
- "@0x/mesh-browser-lite": "^10.0.0",
+ "@0x/mesh-browser-lite": "^10.1.0",
"base64-arraybuffer": "^0.2.0",
"ethereum-types": "^3.0.0"
}
diff --git a/packages/mesh-browser/src/index.ts b/packages/mesh-browser/src/index.ts
index 24cba53f2..d6c30d655 100644
--- a/packages/mesh-browser/src/index.ts
+++ b/packages/mesh-browser/src/index.ts
@@ -6,10 +6,10 @@ import { wasmBuffer } from './generated/wasm_buffer';
// us initialize as quickly as possible.
const go = new Go();
WebAssembly.instantiate(wasmBuffer, go.importObject)
- .then(module => {
+ .then((module) => {
go.run(module.instance);
})
- .catch(err => {
+ .catch((err) => {
// tslint:disable-next-line no-console
console.error('Could not load Wasm');
// tslint:disable-next-line no-console
diff --git a/packages/mesh-browser/tslint.json b/packages/mesh-browser/tslint.json
index dd9053357..57bbce2b9 100644
--- a/packages/mesh-browser/tslint.json
+++ b/packages/mesh-browser/tslint.json
@@ -1,3 +1,6 @@
{
- "extends": ["@0x/tslint-config"]
+ "extends": ["@0x/tslint-config"],
+ "rules": {
+ "arrow-parens": true
+ }
}
diff --git a/packages/mesh-graphql-client/package.json b/packages/mesh-graphql-client/package.json
index 5cd6e2361..5364f9e83 100644
--- a/packages/mesh-graphql-client/package.json
+++ b/packages/mesh-graphql-client/package.json
@@ -1,6 +1,6 @@
{
"name": "@0x/mesh-graphql-client",
- "version": "10.0.0",
+ "version": "10.1.0",
"description": "A client for the Mesh GraphQL API",
"main": "./lib/src/index.js",
"license": "Apache-2.0",
@@ -27,7 +27,7 @@
"@0x/types": "^3.2.0",
"@0x/web3-wrapper": "^7.2.0",
"@types/jsonstream": "^0.8.30",
- "@types/ramda": "^0.27.14",
+ "@types/ramda": "^0.27.20",
"@types/rimraf": "^3.0.0",
"@types/websocket": "^1.0.1",
"chai": "^4.2.0",
@@ -35,18 +35,18 @@
"chai-bignumber": "^3.0.0",
"dirty-chai": "^2.0.1",
"jsonstream": "^1.0.3",
- "mocha": "^8.1.0",
+ "mocha": "^8.1.3",
"rimraf": "^3.0.2",
"shx": "^0.3.2",
"typedoc": "^0.15.0",
- "typescript": "^3.9.3",
+ "typescript": "^4.0.3",
"websocket": "^1.0.31"
},
"dependencies": {
- "@0x/mesh-browser-lite": "^10.0.0",
+ "@0x/mesh-browser-lite": "^10.1.0",
"@0x/types": "^3.2.0",
"@0x/utils": "^5.4.0",
- "@apollo/client": "^3.1.1",
+ "@apollo/client": "^3.2.3",
"@types/ws": "^7.2.6",
"graphql": "^15.3.0",
"react": "*",
diff --git a/packages/mesh-graphql-client/src/browser_link.ts b/packages/mesh-graphql-client/src/browser_link.ts
index 14516cf78..1e8ee0fbc 100644
--- a/packages/mesh-graphql-client/src/browser_link.ts
+++ b/packages/mesh-graphql-client/src/browser_link.ts
@@ -16,10 +16,18 @@ export class BrowserLink extends ApolloLink {
}
switch (operation.operationName) {
case 'AddOrders':
- return new Observable<{ data: AddOrdersResponse }>(observer => {
+ if (
+ operation.variables.opts.keepCancelled ||
+ operation.variables.opts.keepExpired ||
+ operation.variables.opts.keepFullyFilled ||
+ operation.variables.opts.keepUnfunded
+ ) {
+ throw new Error('mesh-graphql-client: Browser nodes do not support true values in AddOrdersOpts');
+ }
+ return new Observable<{ data: AddOrdersResponse }>((observer) => {
wrapper
.gqlAddOrdersAsync(operation.variables.orders, operation.variables.pinned)
- .then(addOrders => {
+ .then((addOrders) => {
observer.next({ data: { addOrders } });
observer.complete();
return { data: { addOrders } };
@@ -29,10 +37,10 @@ export class BrowserLink extends ApolloLink {
});
});
case 'Order':
- return new Observable<{ data: OrderResponse }>(observer => {
+ return new Observable<{ data: OrderResponse }>((observer) => {
wrapper
.gqlGetOrderAsync(operation.variables.hash)
- .then(order => {
+ .then((order) => {
observer.next({ data: { order } });
observer.complete();
return { data: { order } };
@@ -42,14 +50,14 @@ export class BrowserLink extends ApolloLink {
});
});
case 'Orders':
- return new Observable<{ data: OrdersResponse }>(observer => {
+ return new Observable<{ data: OrdersResponse }>((observer) => {
wrapper
.gqlFindOrdersAsync(
operation.variables.sort,
operation.variables.filters,
operation.variables.limit,
)
- .then(orders => {
+ .then((orders) => {
observer.next({
data: {
orders,
@@ -67,10 +75,10 @@ export class BrowserLink extends ApolloLink {
});
});
case 'Stats':
- return new Observable<{ data: StatsResponse }>(observer => {
+ return new Observable<{ data: StatsResponse }>((observer) => {
wrapper
.gqlGetStatsAsync()
- .then(stats => {
+ .then((stats) => {
observer.next({
data: {
stats,
diff --git a/packages/mesh-graphql-client/src/index.ts b/packages/mesh-graphql-client/src/index.ts
index f0b103eeb..d1d69042a 100644
--- a/packages/mesh-graphql-client/src/index.ts
+++ b/packages/mesh-graphql-client/src/index.ts
@@ -21,6 +21,7 @@ import * as Observable from 'zen-observable';
import { BrowserLink } from './browser_link';
import {
+ AddOrdersOpts,
AddOrdersResponse,
AddOrdersResults,
convertFilterValue,
@@ -83,8 +84,12 @@ const statsQuery = gql`
`;
const addOrdersMutation = gql`
- mutation AddOrders($orders: [NewOrder!]!, $pinned: Boolean = true) {
- addOrders(orders: $orders, pinned: $pinned) {
+ mutation AddOrders(
+ $orders: [NewOrder!]!
+ $pinned: Boolean = true
+ $opts: AddOrdersOpts = { keepCancelled: false, keepExpired: false, keepFullyFilled: false, keepUnfunded: false }
+ ) {
+ addOrders(orders: $orders, pinned: $pinned, opts: $opts) {
accepted {
order {
hash
@@ -276,7 +281,7 @@ export class MeshGraphQLClient {
);
const errorLink = onError(({ graphQLErrors, networkError }) => {
if (graphQLErrors != null && graphQLErrors.length > 0) {
- const allMessages = graphQLErrors.map(err => err.message).join('\n');
+ const allMessages = graphQLErrors.map((err) => err.message).join('\n');
throw new Error(`GraphQL error(s): ${allMessages}`);
}
if (networkError != null) {
@@ -327,12 +332,23 @@ export class MeshGraphQLClient {
return fromStringifiedStats(stats);
}
- public async addOrdersAsync(orders: SignedOrder[], pinned: boolean = true): Promise {
+ public async addOrdersAsync(
+ orders: SignedOrder[],
+ pinned: boolean = true,
+ opts?: AddOrdersOpts,
+ ): Promise {
const resp: FetchResult = await this._client.mutate({
mutation: addOrdersMutation,
variables: {
orders: orders.map(toStringifiedSignedOrder),
pinned,
+ opts: {
+ keepCancelled: false,
+ keepExpired: false,
+ keepFullyFilled: false,
+ keepUnfunded: false,
+ ...opts,
+ },
},
});
if (resp.data == null) {
@@ -392,7 +408,7 @@ export class MeshGraphQLClient {
const incomingObservable = this._client.subscribe({
query: orderEventsSubscription,
}) as Observable>;
- const outgoingObservable = new Observable(observer => {
+ const outgoingObservable = new Observable((observer) => {
subscriptionClient.onError((err: ErrorEvent) => {
observer.error(new Error(err.message));
});
@@ -402,14 +418,14 @@ export class MeshGraphQLClient {
incomingObservable.subscribe({
next: (result: FetchResult) => {
if (result.errors != null && result.errors.length > 0) {
- result.errors.forEach(err => observer.error(err));
+ result.errors.forEach((err) => observer.error(err));
} else if (result.data == null) {
observer.error(new Error('received no data'));
} else {
observer.next(result.data.orderEvents.map(fromStringifiedOrderEvent));
}
},
- error: err => observer.error(err),
+ error: (err) => observer.error(err),
complete: () => observer.complete(),
});
});
diff --git a/packages/mesh-graphql-client/src/types.ts b/packages/mesh-graphql-client/src/types.ts
index a1b7bf586..f6f5d1429 100644
--- a/packages/mesh-graphql-client/src/types.ts
+++ b/packages/mesh-graphql-client/src/types.ts
@@ -1,6 +1,13 @@
import { SignedOrder } from '@0x/types';
import { BigNumber } from '@0x/utils';
+export interface AddOrdersOpts {
+ keepCancelled?: boolean;
+ keepExpired?: boolean;
+ keepFullyFilled?: boolean;
+ keepUnfunded?: boolean;
+}
+
export interface StatsResponse {
stats: StringifiedStats;
}
diff --git a/packages/mesh-graphql-client/test/graphql_client_test.ts b/packages/mesh-graphql-client/test/graphql_client_test.ts
index 57d2b2164..37b545126 100644
--- a/packages/mesh-graphql-client/test/graphql_client_test.ts
+++ b/packages/mesh-graphql-client/test/graphql_client_test.ts
@@ -22,7 +22,7 @@ import {
import { MeshDeployment, startServerAndClientAsync } from './utils/graphql_server';
-blockchainTests.resets('GraphQLClient', env => {
+blockchainTests.resets('GraphQLClient', (env) => {
describe('integration tests', () => {
let deployment: MeshDeployment;
let exchange: ExchangeContract;
@@ -112,6 +112,31 @@ blockchainTests.resets('GraphQLClient', env => {
});
});
+ it('accepts expired order with "keepExpired"', async () => {
+ const order = await orderFactory.newSignedOrderAsync({
+ expirationTimeSeconds: new BigNumber(0),
+ });
+ const hash = orderHashUtils.getOrderHashHex(order);
+ const validationResults = await deployment.client.addOrdersAsync([order], false, { keepExpired: true });
+ expect(validationResults).to.be.deep.eq({
+ accepted: [],
+ rejected: [
+ {
+ hash,
+ order,
+ code: RejectedOrderCode.OrderExpired,
+ message: 'order expired according to latest block timestamp',
+ },
+ ],
+ });
+ const responseOrder = await deployment.client.getOrderAsync(hash);
+ expect(responseOrder).to.be.deep.eq({
+ ...order,
+ fillableTakerAssetAmount: new BigNumber(0),
+ hash,
+ });
+ });
+
it('rejects order with invalid signature', async () => {
const invalidOrder = {
...(await orderFactory.newSignedOrderAsync({})),
@@ -209,7 +234,7 @@ blockchainTests.resets('GraphQLClient', env => {
// Verify that all of the orders that were added to the mesh node
// were returned in the response.
const gotOrders = await deployment.client.findOrdersAsync();
- const expectedOrders = orders.map(order => ({
+ const expectedOrders = orders.map((order) => ({
...order,
hash: orderHashUtils.getOrderHashHex(order),
fillableTakerAssetAmount: order.takerAssetAmount,
@@ -237,7 +262,7 @@ blockchainTests.resets('GraphQLClient', env => {
});
// We expect 5 orders sorted in descending order by makerAssetAmount starting at 7.
// I.e. orders with makerAmounts of 7, 6, 5, 4, and 3.
- const expectedOrders = orders.map(order => ({
+ const expectedOrders = orders.map((order) => ({
...order,
hash: orderHashUtils.getOrderHashHex(order),
fillableTakerAssetAmount: order.takerAssetAmount,
@@ -288,7 +313,7 @@ blockchainTests.resets('GraphQLClient', env => {
// Subscribe to orders and wait for order events.
const orderEvents = deployment.client.onOrderEvents();
orderEvents.subscribe({
- error: err => {
+ error: (err) => {
if (isDone && err.message === 'WebSocket connection lost') {
// This error is expected to happen after the server is shut down.
} else {
@@ -345,7 +370,7 @@ blockchainTests.resets('GraphQLClient', env => {
// Subscribe to order events and assert that only a single cancel event was received.
const orderEvents = deployment.client.onOrderEvents();
orderEvents.subscribe({
- error: err => {
+ error: (err) => {
if (isDone && err.message === 'WebSocket connection lost') {
// This error is expected to happen after the server is shut down.
} else {
diff --git a/packages/mesh-graphql-client/test/utils/graphql_server.ts b/packages/mesh-graphql-client/test/utils/graphql_server.ts
index 73509961d..9d025a475 100644
--- a/packages/mesh-graphql-client/test/utils/graphql_server.ts
+++ b/packages/mesh-graphql-client/test/utils/graphql_server.ts
@@ -11,10 +11,10 @@ async function buildBinaryAsync(): Promise {
const cwd = join(__dirname, '../../../../../').normalize();
const build = spawn('make', ['mesh'], { cwd });
await new Promise((resolve, reject) => {
- build.on('close', code => {
+ build.on('close', (code) => {
code === 0 ? resolve() : reject(new Error('Failed to build 0x-mesh'));
});
- build.on('error', error => {
+ build.on('error', (error) => {
reject(error);
});
});
@@ -22,7 +22,7 @@ async function buildBinaryAsync(): Promise {
async function cleanupAsync(): Promise {
await new Promise((resolve, reject) => {
- rimraf(dataDir, err => {
+ rimraf(dataDir, (err) => {
if (err != null) {
reject(err);
}
@@ -84,7 +84,7 @@ export class MeshHarness {
}
return new Promise((resolve, reject) => {
const stream = jsonstream.parse(true);
- stream.on('data', data => {
+ stream.on('data', (data) => {
// Note(albrow): Uncomment this if you need to see the output from the server.
// console.log(data);
const dataString = JSON.stringify(data);
@@ -116,12 +116,12 @@ export class MeshHarness {
env.ENABLE_GRAPHQL_SERVER = true;
env.GRAPHQL_SERVER_ADDR = `localhost:${this._graphQLServerPort}`;
this._mesh = spawn('mesh', [], { env });
- this._mesh.stderr.on('error', error => {
+ this._mesh.stderr.on('error', (error) => {
throw new Error(`${error.name} - ${error.message}`);
});
}
}
async function sleepAsync(ms: number): Promise {
- return new Promise(resolve => setTimeout(resolve, ms));
+ return new Promise((resolve) => setTimeout(resolve, ms));
}
diff --git a/packages/mesh-graphql-client/tslint.json b/packages/mesh-graphql-client/tslint.json
index dd9053357..57bbce2b9 100644
--- a/packages/mesh-graphql-client/tslint.json
+++ b/packages/mesh-graphql-client/tslint.json
@@ -1,3 +1,6 @@
{
- "extends": ["@0x/tslint-config"]
+ "extends": ["@0x/tslint-config"],
+ "rules": {
+ "arrow-parens": true
+ }
}
diff --git a/packages/mesh-integration-tests/graphql/index.ts b/packages/mesh-integration-tests/graphql/index.ts
index a1525a6c2..2e9ce1f4c 100644
--- a/packages/mesh-integration-tests/graphql/index.ts
+++ b/packages/mesh-integration-tests/graphql/index.ts
@@ -84,7 +84,7 @@ provider.start();
// this.
console.log(JSON.stringify(event));
}
- })().catch(err => {
+ })().catch((err) => {
console.error(err);
});
});
@@ -122,7 +122,7 @@ provider.start();
const finishedDiv = document.createElement('div');
finishedDiv.setAttribute('id', 'jsFinished');
document.body.appendChild(finishedDiv);
-})().catch(err => {
+})().catch((err) => {
if (err instanceof Error) {
console.error(`${err.name}: ${err.message}`);
} else {
@@ -132,5 +132,5 @@ provider.start();
// tslint:enable:no-console
async function sleepAsync(ms: number): Promise {
- return new Promise(resolve => setTimeout(resolve, ms));
+ return new Promise((resolve) => setTimeout(resolve, ms));
}
diff --git a/packages/mesh-integration-tests/legacy/index.ts b/packages/mesh-integration-tests/legacy/index.ts
index 0cbb33356..8dc0499f6 100644
--- a/packages/mesh-integration-tests/legacy/index.ts
+++ b/packages/mesh-integration-tests/legacy/index.ts
@@ -84,7 +84,7 @@ provider.start();
// this.
console.log(JSON.stringify(event));
}
- })().catch(err => console.error(err));
+ })().catch((err) => console.error(err));
});
// Start Mesh *after* we set up the handlers.
@@ -120,7 +120,7 @@ provider.start();
const finishedDiv = document.createElement('div');
finishedDiv.setAttribute('id', 'jsFinished');
document.body.appendChild(finishedDiv);
-})().catch(err => {
+})().catch((err) => {
if (err instanceof Error) {
console.error(`${err.name}: ${err.message}`);
} else {
@@ -130,5 +130,5 @@ provider.start();
// tslint:enable:no-console
async function sleepAsync(ms: number): Promise {
- return new Promise(resolve => setTimeout(resolve, ms));
+ return new Promise((resolve) => setTimeout(resolve, ms));
}
diff --git a/packages/mesh-integration-tests/package.json b/packages/mesh-integration-tests/package.json
index a974f3b14..6474f1a5d 100644
--- a/packages/mesh-integration-tests/package.json
+++ b/packages/mesh-integration-tests/package.json
@@ -16,14 +16,14 @@
},
"devDependencies": {
"rimraf": "^3.0.0",
- "ts-loader": "^6.0.4",
- "typescript": "^3.9.3",
+ "ts-loader": "^8.0.5",
+ "typescript": "^4.0.3",
"webpack": "^4.39.2",
"webpack-cli": "^3.3.7"
},
"dependencies": {
- "@0x/mesh-browser": "^10.0.0",
- "@0x/mesh-graphql-client": "^10.0.0",
+ "@0x/mesh-browser": "^10.1.0",
+ "@0x/mesh-graphql-client": "^10.1.0",
"@0x/order-utils": "^10.0.1",
"@0x/subproviders": "^6.0.2",
"@0x/utils": "^5.1.1"
diff --git a/packages/mesh-integration-tests/tslint.json b/packages/mesh-integration-tests/tslint.json
index dd9053357..57bbce2b9 100644
--- a/packages/mesh-integration-tests/tslint.json
+++ b/packages/mesh-integration-tests/tslint.json
@@ -1,3 +1,6 @@
{
- "extends": ["@0x/tslint-config"]
+ "extends": ["@0x/tslint-config"],
+ "rules": {
+ "arrow-parens": true
+ }
}
diff --git a/packages/mesh-webpack-example-lite/package.json b/packages/mesh-webpack-example-lite/package.json
index ee68c151c..e80ea4454 100644
--- a/packages/mesh-webpack-example-lite/package.json
+++ b/packages/mesh-webpack-example-lite/package.json
@@ -17,12 +17,12 @@
"devDependencies": {
"rimraf": "^3.0.0",
"shx": "^0.3.2",
- "ts-loader": "^6.0.4",
- "typescript": "^3.9.3",
+ "ts-loader": "^8.0.5",
+ "typescript": "^4.0.3",
"webpack": "^4.39.2",
"webpack-cli": "^3.3.7"
},
"dependencies": {
- "@0x/mesh-browser-lite": "^10.0.0"
+ "@0x/mesh-browser-lite": "^10.1.0"
}
}
diff --git a/packages/mesh-webpack-example-lite/src/index.ts b/packages/mesh-webpack-example-lite/src/index.ts
index 5ffa7b99d..5af376954 100644
--- a/packages/mesh-webpack-example-lite/src/index.ts
+++ b/packages/mesh-webpack-example-lite/src/index.ts
@@ -62,7 +62,7 @@ import {
// Add the order and log the result.
const result = await mesh.addOrdersAsync([order]);
console.log(result);
-})().catch(err => {
+})().catch((err) => {
console.error(err);
});
// tslint:enable:no-console
diff --git a/packages/mesh-webpack-example-lite/tslint.json b/packages/mesh-webpack-example-lite/tslint.json
index dd9053357..57bbce2b9 100644
--- a/packages/mesh-webpack-example-lite/tslint.json
+++ b/packages/mesh-webpack-example-lite/tslint.json
@@ -1,3 +1,6 @@
{
- "extends": ["@0x/tslint-config"]
+ "extends": ["@0x/tslint-config"],
+ "rules": {
+ "arrow-parens": true
+ }
}
diff --git a/packages/mesh-webpack-example/package.json b/packages/mesh-webpack-example/package.json
index 571b84763..2eb66c229 100644
--- a/packages/mesh-webpack-example/package.json
+++ b/packages/mesh-webpack-example/package.json
@@ -15,12 +15,12 @@
"devDependencies": {
"rimraf": "^3.0.0",
"shx": "^0.3.2",
- "ts-loader": "^6.0.4",
- "typescript": "^3.9.3",
+ "ts-loader": "^8.0.5",
+ "typescript": "^4.0.3",
"webpack": "^4.39.2",
"webpack-cli": "^3.3.7"
},
"dependencies": {
- "@0x/mesh-browser": "^10.0.0"
+ "@0x/mesh-browser": "^10.1.0"
}
}
diff --git a/packages/mesh-webpack-example/src/index.ts b/packages/mesh-webpack-example/src/index.ts
index 369303319..99f3a4ba8 100644
--- a/packages/mesh-webpack-example/src/index.ts
+++ b/packages/mesh-webpack-example/src/index.ts
@@ -52,7 +52,7 @@ import { BigNumber, Mesh, OrderEvent, SignedOrder, SupportedProvider } from '@0x
// Add the order and log the result.
const result = await mesh.addOrdersAsync([order]);
console.log(result);
-})().catch(err => {
+})().catch((err) => {
console.error(err);
});
// tslint:enable:no-console
diff --git a/packages/mesh-webpack-example/tslint.json b/packages/mesh-webpack-example/tslint.json
index dd9053357..57bbce2b9 100644
--- a/packages/mesh-webpack-example/tslint.json
+++ b/packages/mesh-webpack-example/tslint.json
@@ -1,3 +1,6 @@
{
- "extends": ["@0x/tslint-config"]
+ "extends": ["@0x/tslint-config"],
+ "rules": {
+ "arrow-parens": true
+ }
}
diff --git a/yarn.lock b/yarn.lock
index abd681064..e325fcced 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -429,11 +429,12 @@
ethers "~4.0.4"
lodash "^4.17.11"
-"@apollo/client@^3.1.1":
- version "3.1.4"
- resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.1.4.tgz#2848a9f29619275df9af55966c4f5984e31cea6e"
- integrity sha512-XPZ2eL+0GN25FazEOAVAvEyAzWPVsHeo+DgG/45d4Rb+srzPN+vmRgpQL5TdX2BYJoPd04J/g8OZwYUEKL8laA==
+"@apollo/client@^3.2.3":
+ version "3.2.3"
+ resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.2.3.tgz#d13e4efa501a1fadefa3cd93e2de99cba2b53999"
+ integrity sha512-AraRQRG4HinqcsuDtRzuavMuSxkK46TO4zh4zfLLCazMYSYP1xY9E5cQEeUHZ993HQMs4A7tyATPaEMfn8UZfA==
dependencies:
+ "@graphql-typed-document-node/core" "^3.0.0"
"@types/zen-observable" "^0.8.0"
"@wry/context" "^0.5.2"
"@wry/equality" "^0.2.0"
@@ -442,12 +443,33 @@
hoist-non-react-statics "^3.3.2"
optimism "^0.12.1"
prop-types "^15.7.2"
- symbol-observable "^1.2.0"
+ symbol-observable "^2.0.0"
terser "^5.2.0"
ts-invariant "^0.4.4"
tslib "^1.10.0"
zen-observable "^0.8.14"
+"@babel/code-frame@^7.0.0":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.10.4.tgz#168da1a36e90da68ae8d49c0f1b48c7c6249213a"
+ integrity sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==
+ dependencies:
+ "@babel/highlight" "^7.10.4"
+
+"@babel/helper-validator-identifier@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz#a78c7a7251e01f616512d31b10adcf52ada5e0d2"
+ integrity sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==
+
+"@babel/highlight@^7.10.4":
+ version "7.10.4"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.10.4.tgz#7d1bdfd65753538fabe6c38596cdb76d9ac60143"
+ integrity sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.10.4"
+ chalk "^2.0.0"
+ js-tokens "^4.0.0"
+
"@babel/runtime@^7.1.5":
version "7.11.2"
resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.11.2.tgz#f549c13c754cc40b87644b9fa9f09a6a95fe0736"
@@ -552,6 +574,11 @@
"@ethersproject/constants" "^5.0.3"
"@ethersproject/logger" "^5.0.5"
+"@graphql-typed-document-node/core@^3.0.0":
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.1.0.tgz#0eee6373e11418bfe0b5638f654df7a4ca6a3950"
+ integrity sha512-wYn6r8zVZyQJ6rQaALBEln5B1pzxb9shV5Ef97kTvn6yVGrqyXVnDqnU24MXnFubR+rZjBY9NWuxX3FB2sTsjg==
+
"@jest/types@^24.9.0":
version "24.9.0"
resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59"
@@ -769,10 +796,10 @@
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==
-"@types/ramda@^0.27.14":
- version "0.27.17"
- resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.27.17.tgz#b4359d29614994dbb4c70e504b268bd9f0388bb0"
- integrity sha512-AHVwr1YdFdxeabfC1g34ZuJ61dKOcfdXlG+sqGUweD+5VrD6A9emwmc2OZY+N8CdEKdwl29hwvtTMSJ6ZVVsiQ==
+"@types/ramda@^0.27.20":
+ version "0.27.20"
+ resolved "https://registry.yarnpkg.com/@types/ramda/-/ramda-0.27.20.tgz#ced17424e358f058af271d97353d6913fd178663"
+ integrity sha512-Oxi5JMT6YIiMLP0gir8Eiy22f1CfbKLGGisu6tDrLCl5gHQd0EeUTUCfy7zdWfV19WEU/ccUVBfKOh2B1c2DbQ==
dependencies:
ts-toolbelt "^6.3.3"
@@ -1111,10 +1138,10 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
-ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.2, ajv@^6.12.3:
- version "6.12.4"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.4.tgz#0614facc4522127fa713445c6bfd3ebd376e2234"
- integrity sha512-eienB2c9qVQs2KWexhkrdMLVDoIQCz5KSeLxwg9Lzk4DOfBtIK9PQwwufcsn1jjGuf9WZmqPMbGxOzfcuphJCQ==
+ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.5:
+ version "6.12.5"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.5.tgz#19b0e8bae8f476e5ba666300387775fb1a00a4da"
+ integrity sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==
dependencies:
fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
@@ -2515,7 +2542,7 @@ chalk@^1.1.3:
strip-ansi "^3.0.0"
supports-color "^2.0.0"
-chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.0.1, chalk@^2.3.0, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -2762,7 +2789,7 @@ concat-map@0.0.1:
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
-concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.0, concat-stream@^1.6.2:
+concat-stream@^1.5.0, concat-stream@^1.5.1, concat-stream@^1.6.0:
version "1.6.2"
resolved "https://registry.yarnpkg.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
@@ -3228,7 +3255,7 @@ diff@3.5.0, diff@^3.2.0:
resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
-diff@4.0.2:
+diff@4.0.2, diff@^4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d"
integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==
@@ -4197,16 +4224,6 @@ extglob@^2.0.4:
snapdragon "^0.8.1"
to-regex "^3.0.1"
-extract-zip@^1.6.5:
- version "1.7.0"
- resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-1.7.0.tgz#556cc3ae9df7f452c493a0cfb51cc30277940927"
- integrity sha512-xoh5G1W/PB0/27lXgMQyIhP5DSY/LhoCsOyZgb+6iMmRtCwVBo55uKaMoEYrDCKQhWvqEip5ZPKAc6eFNyf/MA==
- dependencies:
- concat-stream "^1.6.2"
- debug "^2.6.9"
- mkdirp "^0.5.4"
- yauzl "^2.10.0"
-
extsprintf@1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
@@ -5598,7 +5615,7 @@ isobject@^3.0.0, isobject@^3.0.1:
resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
integrity sha1-TkMekrEalzFjaqH5yNHMvP2reN8=
-isomorphic-fetch@2.2.1, isomorphic-fetch@^2.2.1:
+isomorphic-fetch@2.2.1:
version "2.2.1"
resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9"
integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk=
@@ -5606,6 +5623,14 @@ isomorphic-fetch@2.2.1, isomorphic-fetch@^2.2.1:
node-fetch "^1.0.1"
whatwg-fetch ">=0.10.0"
+isomorphic-fetch@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-3.0.0.tgz#0267b005049046d2421207215d45d6a262b8b8b4"
+ integrity sha512-qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==
+ dependencies:
+ node-fetch "^2.6.1"
+ whatwg-fetch "^3.4.1"
+
isstream@~0.1.2:
version "0.1.2"
resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
@@ -5691,7 +5716,7 @@ js-sha3@^0.7.0:
resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.7.0.tgz#0a5c57b36f79882573b2d84051f8bb85dd1bd63a"
integrity sha512-Wpks3yBDm0UcL5qlVhwW9Jr9n9i4FfeWBFOOXP5puDS/SiudJGhw7DPyBqn3487qD4F0lsC0q3zxink37f7zeA==
-"js-tokens@^3.0.0 || ^4.0.0":
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
@@ -5709,7 +5734,7 @@ js-yaml@3.13.1:
argparse "^1.0.7"
esprima "^4.0.0"
-js-yaml@3.14.0, js-yaml@3.x, js-yaml@^3.7.0:
+js-yaml@3.14.0, js-yaml@3.x, js-yaml@^3.13.1, js-yaml@^3.7.0:
version "3.14.0"
resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.0.tgz#a7a34170f26a21bb162424d8adacb4113a69e482"
integrity sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==
@@ -6432,7 +6457,7 @@ mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24:
dependencies:
mime-db "1.44.0"
-mime@1.6.0, mime@^1.3.4:
+mime@1.6.0:
version "1.6.0"
resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
@@ -6544,7 +6569,7 @@ mkdirp@0.5.4:
dependencies:
minimist "^1.2.5"
-mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@^0.5.4:
+mkdirp@0.5.x, mkdirp@^0.5.0, mkdirp@^0.5.1, mkdirp@^0.5.3:
version "0.5.5"
resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"
integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==
@@ -6580,10 +6605,10 @@ mocha@^6.2.0:
yargs-parser "13.1.2"
yargs-unparser "1.6.0"
-mocha@^8.1.0:
- version "8.1.2"
- resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.1.2.tgz#d67fad13300e4f5cd48135a935ea566f96caf827"
- integrity sha512-I8FRAcuACNMLQn3lS4qeWLxXqLvGf6r2CaLstDpZmMUUSmvW6Cnm1AuHxgbc7ctZVRcfwspCRbDHymPsi3dkJw==
+mocha@^8.1.3:
+ version "8.1.3"
+ resolved "https://registry.yarnpkg.com/mocha/-/mocha-8.1.3.tgz#5e93f873e35dfdd69617ea75f9c68c2ca61c2ac5"
+ integrity sha512-ZbaYib4hT4PpF4bdSO2DohooKXIn4lDeiYqB+vTmCdr6l2woW0b6H3pf5x4sM5nwQMru9RvjjHYWVGltR50ZBw==
dependencies:
ansi-colors "4.1.1"
browser-stdout "1.3.1"
@@ -6747,6 +6772,11 @@ node-fetch@^1.0.1, node-fetch@~1.7.1:
encoding "^0.1.11"
is-stream "^1.0.1"
+node-fetch@^2.6.1:
+ version "2.6.1"
+ resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"
+ integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==
+
node-gyp-build@^4.2.0:
version "4.2.3"
resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.2.3.tgz#ce6277f853835f718829efb47db20f3e4d9c4739"
@@ -7436,10 +7466,10 @@ prepend-http@^2.0.0:
resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
integrity sha1-6SQ0v6XqjBn0HN/UAddBo8gZ2Jc=
-prettier@^1.19.1:
- version "1.19.1"
- resolved "https://registry.yarnpkg.com/prettier/-/prettier-1.19.1.tgz#f7d7f5ff8a9cd872a7be4ca142095956a60797cb"
- integrity sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==
+prettier@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.1.2.tgz#3050700dae2e4c8b67c4c3f666cdb8af405e1ce5"
+ integrity sha512-16c7K+x4qVlJg9rEbXl7HEGmQyZlG4R9AgP+oHKRMsMsuk8s+ATStlf1NpDqyBI1HpVyfjLOeMhH2LvuNvV5Vg==
pretty-hrtime@^1.0.0:
version "1.0.3"
@@ -7466,7 +7496,7 @@ process@~0.5.1:
resolved "https://registry.yarnpkg.com/process/-/process-0.5.2.tgz#1638d8a8e34c2f440a91db95ab9aeb677fc185cf"
integrity sha1-FjjYqONML0QKkduVq5rrZ3/Bhc8=
-progress@^2.0.0, progress@^2.0.3:
+progress@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
@@ -7639,18 +7669,6 @@ punycode@^2.1.0, punycode@^2.1.1:
resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
-puppeteer@^0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-0.9.0.tgz#d65997ff83e24eb569e5577d2f75695dcbe5be4a"
- integrity sha512-wlmYlLIQsySYnxFQxXTMp1ACB5oMyHI6y2pCJ4YoVqyp0Uml3T+HS64jGimxOD3x93T3G+FM3JI3nBmHCovNgA==
- dependencies:
- debug "^2.6.8"
- extract-zip "^1.6.5"
- mime "^1.3.4"
- progress "^2.0.0"
- rimraf "^2.6.1"
- ws "^3.0.0"
-
qs@6.7.0:
version "6.7.0"
resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
@@ -7680,13 +7698,6 @@ querystring@0.2.0:
resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620"
integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=
-qunit-puppeteer@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/qunit-puppeteer/-/qunit-puppeteer-1.0.1.tgz#453048fbd3e5ece377ee455ba442f112e3dd7e95"
- integrity sha512-pNygtg0y2+rVZRJC3w3LZVLrHBsw39DfuPHZVe6hpHT1Uppm2k2NmUm/EJbjij8FYFG2iwa+akinfcm8Yc9jKw==
- dependencies:
- puppeteer "^0.9.0"
-
randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.0.6, randombytes@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
@@ -8874,11 +8885,16 @@ swarm-js@0.1.39:
tar "^4.0.2"
xhr-request-promise "^0.1.2"
-symbol-observable@^1.0.4, symbol-observable@^1.2.0:
+symbol-observable@^1.0.4:
version "1.2.0"
resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
+symbol-observable@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.1.tgz#ce66c36a04ed0f3056e7293184749a6fdd7063ea"
+ integrity sha512-QrfHrrEUMadQCgMijc3YpfA4ncwgqGv58Xgvdu3JZVQB7iY7cAkiqobZEZbaA863jof8AdpR01CPnZ5UWeqZBQ==
+
tapable@^1.0.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
@@ -9134,10 +9150,10 @@ ts-invariant@^0.4.4:
dependencies:
tslib "^1.9.3"
-ts-loader@^6.0.4, ts-loader@^6.2.1:
- version "6.2.2"
- resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-6.2.2.tgz#dffa3879b01a1a1e0a4b85e2b8421dc0dfff1c58"
- integrity sha512-HDo5kXZCBml3EUPcc7RlZOV/JGlLHwppTLEHb3SHnr5V7NXD4klMEkrhJe5wgRbaWsSXi+Y1SIBN/K9B6zWGWQ==
+ts-loader@^8.0.5:
+ version "8.0.5"
+ resolved "https://registry.yarnpkg.com/ts-loader/-/ts-loader-8.0.5.tgz#fa42b9305247eb964843df1ecb0e589b1bff0f77"
+ integrity sha512-MvLXmjDxl2Mhv17nvkrB6BrpC8FTwSb7K38oIgdUI6BMx4XgVbljmcoOzlrYn4wyjNTFQ3utd7s2TyigJyR3YA==
dependencies:
chalk "^2.3.0"
enhanced-resolve "^4.0.0"
@@ -9155,7 +9171,7 @@ tslib@1.9.0:
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.9.0.tgz#e37a86fda8cbbaf23a057f473c9f4dc64e5fc2e8"
integrity sha512-f/qGG2tUkrISBlQZEjEqoZ3B2+npJjIf04H1wuAv9iA8i04Icp+61KRXxFdha22670NJopsZCIjhC3SnjPRKrQ==
-tslib@^1.10.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
+tslib@^1.10.0, tslib@^1.13.0, tslib@^1.8.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3:
version "1.13.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043"
integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q==
@@ -9194,6 +9210,25 @@ tslint@5.11.0:
tslib "^1.8.0"
tsutils "^2.27.2"
+tslint@6.1.3:
+ version "6.1.3"
+ resolved "https://registry.yarnpkg.com/tslint/-/tslint-6.1.3.tgz#5c23b2eccc32487d5523bd3a470e9aa31789d904"
+ integrity sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ builtin-modules "^1.1.1"
+ chalk "^2.3.0"
+ commander "^2.12.1"
+ diff "^4.0.1"
+ glob "^7.1.1"
+ js-yaml "^3.13.1"
+ minimatch "^3.0.4"
+ mkdirp "^0.5.3"
+ resolve "^1.3.2"
+ semver "^5.3.0"
+ tslib "^1.13.0"
+ tsutils "^2.29.0"
+
tsutils@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.0.0.tgz#0c5070a17a0503e056da038c48b5a1870a50a9ad"
@@ -9201,7 +9236,7 @@ tsutils@3.0.0:
dependencies:
tslib "^1.8.1"
-tsutils@^2.13.1, tsutils@^2.27.2:
+tsutils@^2.13.1, tsutils@^2.27.2, tsutils@^2.29.0:
version "2.29.0"
resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-2.29.0.tgz#32b488501467acbedd4b85498673a0812aca0b99"
integrity sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==
@@ -9324,10 +9359,10 @@ typescript@3.7.x:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.7.5.tgz#0692e21f65fd4108b9330238aac11dd2e177a1ae"
integrity sha512-/P5lkRXkWHNAbcJIiHPfRoKqyd7bsyCma1hZNUGfn20qm64T6ZBlrzprymeu918H+mB/0rIg2gGK/BXkhhYgBw==
-typescript@^3.9.3:
- version "3.9.7"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"
- integrity sha512-BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==
+typescript@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.0.3.tgz#153bbd468ef07725c1df9c77e8b453f8d36abba5"
+ integrity sha512-tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==
typewise-core@^1.2, typewise-core@^1.2.0:
version "1.2.0"
@@ -10106,10 +10141,10 @@ whatwg-fetch@2.0.4:
resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-2.0.4.tgz#dde6a5df315f9d39991aa17621853d720b85566f"
integrity sha512-dcQ1GWpOD/eEQ97k66aiEVpNnapVj90/+R+SXTPYGHpYBBypfKJEQjLrvMZ7YXbKm21gXd4NcuxUTjiv1YtLng==
-whatwg-fetch@>=0.10.0:
- version "3.4.0"
- resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.4.0.tgz#e11de14f4878f773fbebcde8871b2c0699af8b30"
- integrity sha512-rsum2ulz2iuZH08mJkT0Yi6JnKhwdw4oeyMjokgxd+mmqYSd9cPpOQf01TIWgjxG/U4+QR+AwKq6lSbXVxkyoQ==
+whatwg-fetch@>=0.10.0, whatwg-fetch@^3.4.1:
+ version "3.4.1"
+ resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.4.1.tgz#e5f871572d6879663fa5674c8f833f15a8425ab3"
+ integrity sha512-sofZVzE1wKwO+EYPbWfiwzaKovWiZXf4coEzjGP9b2GBVgQRLQUZ2QcuPpQExGDAW5GItpEm6Tl4OU5mywnAoQ==
which-module@^1.0.0:
version "1.0.0"
@@ -10436,7 +10471,7 @@ yargs@^7.1.0:
y18n "^3.2.1"
yargs-parser "5.0.0-security.0"
-yauzl@^2.10.0, yauzl@^2.4.2:
+yauzl@^2.4.2:
version "2.10.0"
resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
diff --git a/zeroex/ordervalidator/order_validator.go b/zeroex/ordervalidator/order_validator.go
index cfc0805f1..e72d674b4 100644
--- a/zeroex/ordervalidator/order_validator.go
+++ b/zeroex/ordervalidator/order_validator.go
@@ -275,16 +275,6 @@ func (o *OrderValidator) BatchValidate(ctx context.Context, signedOrders []*zero
for _, signedOrders := range signedOrderChunks {
wg.Add(1)
go func(signedOrders []*zeroex.SignedOrder) {
- // FIXME - Is this needed?
- // trimmedOrders := []wrappers.LibOrderOrder{}
- // for _, signedOrder := range signedOrders {
- // trimmedOrders = append(trimmedOrders, signedOrder.Trim())
- // }
- // signatures := [][]byte{}
- // for _, signedOrder := range signedOrders {
- // signatures = append(signatures, signedOrder.Signature)
- // }
-
defer wg.Done()
select {
diff --git a/zeroex/orderwatch/order_watcher.go b/zeroex/orderwatch/order_watcher.go
index f411bc7d2..97bb3d904 100644
--- a/zeroex/orderwatch/order_watcher.go
+++ b/zeroex/orderwatch/order_watcher.go
@@ -193,9 +193,7 @@ func (w *Watcher) mainLoop(ctx context.Context) error {
close(w.blockEventsChan)
return nil
case err := <-w.blockSubscription.Err():
- logger.WithFields(logger.Fields{
- "error": err.Error(),
- }).Error("block subscription error encountered")
+ logger.WithField("error", err.Error()).Error("block subscription error encountered")
case events := <-w.blockEventsChan:
// Instead of simply processing the first array of events in the blockEventsChan,
// we might as well process _all_ events in the channel.
@@ -274,16 +272,16 @@ func (w *Watcher) removedCheckerLoop(ctx context.Context) error {
// handleOrderExpirations takes care of generating expired and unexpired order events for orders that do not require re-validation.
// Since expiry is now done according to block timestamp, we can figure out which orders have expired/unexpired statically. We do not
-// process blocks that require re-validation, since the validation process will already emit the necessary events.
+// process orders that require re-validation, since the validation process will already emit the necessary events.
// latestBlockTimestamp is the latest block timestamp Mesh knows about
// ordersToRevalidate contains all the orders Mesh needs to re-validate given the events emitted by the blocks processed
-func (w *Watcher) handleOrderExpirations(validationBlock *types.MiniHeader, ordersToRevalidate map[common.Hash]*types.OrderWithMetadata) ([]*zeroex.OrderEvent, error) {
+func (w *Watcher) handleOrderExpirations(validationBlock *types.MiniHeader, ordersToRevalidate map[common.Hash]*types.OrderWithMetadata) ([]*zeroex.OrderEvent, map[common.Hash]struct{}, error) {
orderEvents := []*zeroex.OrderEvent{}
// Check for any orders that have now expired.
expiredOrders, err := w.findOrdersToExpire(validationBlock.Timestamp)
if err != nil {
- return orderEvents, err
+ return orderEvents, nil, err
}
for _, order := range expiredOrders {
// If we will re-validate this order, the revalidation process will discover that
@@ -291,7 +289,11 @@ func (w *Watcher) handleOrderExpirations(validationBlock *types.MiniHeader, orde
if _, ok := ordersToRevalidate[order.Hash]; ok {
continue
}
- w.unwatchOrder(order, nil, validationBlock)
+ if order.KeepExpired {
+ w.markOrderUnfillable(order, nil, validationBlock)
+ } else {
+ w.unwatchOrder(order, nil, validationBlock)
+ }
orderEvent := &zeroex.OrderEvent{
Timestamp: validationBlock.Timestamp,
OrderHash: order.Hash,
@@ -309,7 +311,7 @@ func (w *Watcher) handleOrderExpirations(validationBlock *types.MiniHeader, orde
// orders that have now become valid again as a result.
unexpiredOrders, err := w.findOrdersToUnexpire(validationBlock.Timestamp)
if err != nil {
- return orderEvents, err
+ return orderEvents, nil, err
}
for _, order := range unexpiredOrders {
// If we will re-validate this order, the revalidation process will discover that
@@ -328,7 +330,23 @@ func (w *Watcher) handleOrderExpirations(validationBlock *types.MiniHeader, orde
orderEvents = append(orderEvents, orderEvent)
}
- return orderEvents, nil
+ possiblyUnexpiredOrders, err := w.findOrdersToPossiblyUnexpire(validationBlock.Timestamp)
+ if err != nil {
+ return orderEvents, nil, err
+ }
+ orderHashToPossiblyUnexpiredOrders := map[common.Hash]struct{}{}
+ for _, order := range possiblyUnexpiredOrders {
+ // If we will re-validate this order, the revalidation process will discover
+ // whether or not it's unexpired, and an appropriate event will already be
+ // emitted
+ if _, ok := ordersToRevalidate[order.Hash]; ok {
+ continue
+ }
+ ordersToRevalidate[order.Hash] = order
+ orderHashToPossiblyUnexpiredOrders[order.Hash] = struct{}{}
+ }
+
+ return orderEvents, orderHashToPossiblyUnexpiredOrders, nil
}
// handleBlockEvents processes a set of block events into order events for a set of orders.
@@ -433,7 +451,7 @@ func (w *Watcher) handleBlockEvents(ctx context.Context, events []*blockwatch.Ev
}
}
- expirationOrderEvents, err := w.handleOrderExpirations(validationBlock, orderHashToDBOrder)
+ expirationOrderEvents, orderHashToPossiblyUnexpiredOrders, err := w.handleOrderExpirations(validationBlock, orderHashToDBOrder)
if err != nil {
return err
}
@@ -441,7 +459,7 @@ func (w *Watcher) handleBlockEvents(ctx context.Context, events []*blockwatch.Ev
// This timeout of 1min is for limiting how long this call should block at the ETH RPC rate limiter
ctx, cancel := context.WithTimeout(ctx, 1*time.Minute)
defer cancel()
- postValidationOrderEvents, err := w.generateOrderEventsIfChanged(ctx, orderHashToDBOrder, orderHashToEvents, validationBlock)
+ postValidationOrderEvents, err := w.generateOrderEventsIfChanged(ctx, orderHashToDBOrder, orderHashToEvents, orderHashToPossiblyUnexpiredOrders, validationBlock)
if err != nil {
return err
}
@@ -492,7 +510,7 @@ func (w *Watcher) RevalidateOrdersForMissingEvents(ctx context.Context) error {
if err != nil {
return err
}
- orderEvents, err := w.generateOrderEventsIfChanged(ctx, orderHashToDBOrder, orderHashToEvents, latestMiniHeader)
+ orderEvents, err := w.generateOrderEventsIfChanged(ctx, orderHashToDBOrder, orderHashToEvents, map[common.Hash]struct{}{}, latestMiniHeader)
if err != nil {
return err
}
@@ -914,7 +932,7 @@ func (w *Watcher) Cleanup(ctx context.Context, lastUpdatedBuffer time.Duration)
// This timeout of 30min is for limiting how long this call should block at the ETH RPC rate limiter
ctx, cancel := context.WithTimeout(ctx, 30*time.Minute)
defer cancel()
- orderEvents, err := w.generateOrderEventsIfChanged(ctx, orderHashToDBOrder, orderHashToEvents, latestBlock)
+ orderEvents, err := w.generateOrderEventsIfChanged(ctx, orderHashToDBOrder, orderHashToEvents, map[common.Hash]struct{}{}, latestBlock)
if err != nil {
return err
}
@@ -982,13 +1000,13 @@ func (w *Watcher) permanentlyDeleteStaleRemovedOrders() error {
// true, the orders will be marked as pinned. Pinned orders will not be affected
// by any DDoS prevention or incentive mechanisms and will always stay in
// storage until they are no longer fillable.
-func (w *Watcher) add(orderInfos []*ordervalidator.AcceptedOrderInfo, validationBlock *types.MiniHeader, pinned bool) ([]*zeroex.OrderEvent, error) {
+func (w *Watcher) add(orderInfos []*ordervalidator.AcceptedOrderInfo, validationBlock *types.MiniHeader, pinned bool, opts *types.AddOrdersOpts) ([]*zeroex.OrderEvent, error) {
now := time.Now().UTC()
orderEvents := []*zeroex.OrderEvent{}
dbOrders := []*types.OrderWithMetadata{}
for _, orderInfo := range orderInfos {
- dbOrder, err := w.orderInfoToOrderWithMetadata(orderInfo, pinned, now, validationBlock)
+ dbOrder, err := w.orderInfoToOrderWithMetadata(orderInfo, pinned, now, validationBlock, opts)
if err != nil {
return nil, err
}
@@ -1102,7 +1120,7 @@ func (w *Watcher) add(orderInfos []*ordervalidator.AcceptedOrderInfo, validation
return orderEvents, nil
}
-func (w *Watcher) orderInfoToOrderWithMetadata(orderInfo *ordervalidator.AcceptedOrderInfo, pinned bool, now time.Time, validationBlock *types.MiniHeader) (*types.OrderWithMetadata, error) {
+func (w *Watcher) orderInfoToOrderWithMetadata(orderInfo *ordervalidator.AcceptedOrderInfo, pinned bool, now time.Time, validationBlock *types.MiniHeader, opts *types.AddOrdersOpts) (*types.OrderWithMetadata, error) {
parsedMakerAssetData, err := db.ParseContractAddressesAndTokenIdsFromAssetData(w.assetDataDecoder, orderInfo.SignedOrder.MakerAssetData, w.contractAddresses)
if err != nil {
return nil, err
@@ -1131,13 +1149,19 @@ func (w *Watcher) orderInfoToOrderWithMetadata(orderInfo *ordervalidator.Accepte
Salt: orderInfo.SignedOrder.Salt,
Signature: orderInfo.SignedOrder.Signature,
IsRemoved: false,
+ IsUnfillable: orderInfo.FillableTakerAssetAmount.Cmp(big.NewInt(0)) == 0,
IsPinned: pinned,
+ IsExpired: big.NewInt(validationBlock.Timestamp.Unix()).Cmp(orderInfo.SignedOrder.ExpirationTimeSeconds) >= 0,
LastUpdated: now,
ParsedMakerAssetData: parsedMakerAssetData,
ParsedMakerFeeAssetData: parsedMakerFeeAssetData,
FillableTakerAssetAmount: orderInfo.FillableTakerAssetAmount,
LastValidatedBlockNumber: validationBlock.Number,
LastValidatedBlockHash: validationBlock.Hash,
+ KeepCancelled: opts.KeepCancelled,
+ KeepExpired: opts.KeepExpired,
+ KeepFullyFilled: opts.KeepFullyFilled,
+ KeepUnfunded: opts.KeepUnfunded,
}, nil
}
@@ -1283,7 +1307,7 @@ func (w *Watcher) findOrdersToExpire(latestBlockTimestamp time.Time) ([]*types.O
Value: big.NewInt(latestBlockTimestamp.Unix()),
},
{
- Field: db.OFIsRemoved,
+ Field: db.OFIsUnfillable,
Kind: db.Equal,
Value: false,
},
@@ -1294,7 +1318,7 @@ func (w *Watcher) findOrdersToExpire(latestBlockTimestamp time.Time) ([]*types.O
// findOrdersToUnexpire returns all orders that:
//
// 1. have an expiration time greater than the latest block timestamp
-// 2. were previously removed
+// 2. were previously unfillable
// 3. have a non-zero FillableTakerAssetAmount
//
func (w *Watcher) findOrdersToUnexpire(latestBlockTimestamp time.Time) ([]*types.OrderWithMetadata, error) {
@@ -1306,7 +1330,7 @@ func (w *Watcher) findOrdersToUnexpire(latestBlockTimestamp time.Time) ([]*types
Value: big.NewInt(latestBlockTimestamp.Unix()),
},
{
- Field: db.OFIsRemoved,
+ Field: db.OFIsUnfillable,
Kind: db.Equal,
Value: true,
},
@@ -1319,10 +1343,45 @@ func (w *Watcher) findOrdersToUnexpire(latestBlockTimestamp time.Time) ([]*types
})
}
+// findOrdersToPossiblyUnexpire returns all orders that:
+//
+// 1. have an expiration time greater than the latest block timestamp
+// 2. were previously unfillable
+// 3. were previously expired
+// 4. have a zero FillableTakerAssetAmount
+//
+func (w *Watcher) findOrdersToPossiblyUnexpire(latestBlockTimestamp time.Time) ([]*types.OrderWithMetadata, error) {
+ return w.db.FindOrders(&db.OrderQuery{
+ Filters: []db.OrderFilter{
+ {
+ Field: db.OFExpirationTimeSeconds,
+ Kind: db.Greater,
+ Value: big.NewInt(latestBlockTimestamp.Unix()),
+ },
+ {
+ Field: db.OFIsUnfillable,
+ Kind: db.Equal,
+ Value: true,
+ },
+ {
+ Field: db.OFIsExpired,
+ Kind: db.Equal,
+ Value: true,
+ },
+ {
+ Field: db.OFFillableTakerAssetAmount,
+ Kind: db.Equal,
+ Value: big.NewInt(0),
+ },
+ },
+ })
+}
+
func (w *Watcher) convertValidationResultsIntoOrderEvents(
validationResults *ordervalidator.ValidationResults,
orderHashToDBOrder map[common.Hash]*types.OrderWithMetadata,
orderHashToEvents map[common.Hash][]*zeroex.ContractEvent,
+ orderHashToPossiblyUnexpiredOrder map[common.Hash]struct{},
validationBlock *types.MiniHeader,
) ([]*zeroex.OrderEvent, error) {
orderEvents := []*zeroex.OrderEvent{}
@@ -1359,7 +1418,7 @@ func (w *Watcher) convertValidationResultsIntoOrderEvents(
// of the validation block.
validationBlockTimestampSeconds := big.NewInt(validationBlock.Timestamp.Unix())
expirationTimeIsValid := order.ExpirationTimeSeconds.Cmp(validationBlockTimestampSeconds) == 1
- isOrderUnexpired := order.IsRemoved && expirationTimeIsValid
+ isOrderUnexpired := order.IsExpired && order.IsUnfillable && expirationTimeIsValid
// We can tell that an order was previously expired if it was marked as removed with a
// non-zero fillable amount. There is no other explanation for this database state. The
@@ -1418,18 +1477,33 @@ func (w *Watcher) convertValidationResultsIntoOrderEvents(
}).Error("validationResults.Rejected contained unknown order hash")
continue
}
- oldFillableAmount := order.FillableTakerAssetAmount
- if oldFillableAmount.Cmp(big.NewInt(0)) == 0 {
- // If the oldFillableAmount was already 0, this order is already flagged for removal.
+ // NOTE(jalextowle): It's theoretically possible that an order could become
+ // unexpired for a long period of time. With this in mind, it's important
+ // that we set IsExpired to false regardless of why the check failed as
+ // any future attempts to unexpire the order will be unsuccessful unless other
+ // state changes occur. These state changes would be addressed by the core
+ // orderwatcher logic so we can safely avoid re-checking for unexpiry.
+ if order.IsUnfillable {
+ // If the order is already marked as unfillable, no updates are needed
+ // other than updating the expiration state
+ if _, ok := orderHashToPossiblyUnexpiredOrder[order.Hash]; ok {
+ w.updateOrderExpirationState(order, validationBlock)
+ }
} else {
- // If oldFillableAmount > 0, it got fullyFilled, cancelled, expired or unfunded
- w.unwatchOrder(order, big.NewInt(0), validationBlock)
endState, ok := ordervalidator.ConvertRejectOrderCodeToOrderEventEndState(rejectedOrderInfo.Status)
if !ok {
err := fmt.Errorf("no OrderEventEndState corresponding to RejectedOrderStatus: %q", rejectedOrderInfo.Status)
logger.WithError(err).WithField("rejectedOrderStatus", rejectedOrderInfo.Status).Error("no OrderEventEndState corresponding to RejectedOrderStatus")
return nil, err
}
+ if (endState == zeroex.ESOrderCancelled && order.KeepCancelled) ||
+ (endState == zeroex.ESOrderExpired && order.KeepExpired) ||
+ (endState == zeroex.ESOrderFullyFilled && order.KeepFullyFilled) ||
+ (endState == zeroex.ESOrderBecameUnfunded && order.KeepUnfunded) {
+ w.markOrderUnfillable(order, big.NewInt(0), validationBlock)
+ } else {
+ w.unwatchOrder(order, big.NewInt(0), validationBlock)
+ }
orderEvent := &zeroex.OrderEvent{
Timestamp: validationBlock.Timestamp,
OrderHash: rejectedOrderInfo.OrderHash,
@@ -1454,6 +1528,7 @@ func (w *Watcher) generateOrderEventsIfChanged(
ctx context.Context,
orderHashToDBOrder map[common.Hash]*types.OrderWithMetadata,
orderHashToEvents map[common.Hash][]*zeroex.ContractEvent,
+ orderHashToPossiblyUnexpiredOrder map[common.Hash]struct{},
validationBlock *types.MiniHeader,
) ([]*zeroex.OrderEvent, error) {
signedOrders := []*zeroex.SignedOrder{}
@@ -1473,13 +1548,13 @@ func (w *Watcher) generateOrderEventsIfChanged(
validationResults := w.orderValidator.BatchValidate(ctx, signedOrders, areNewOrders, validationBlock)
return w.convertValidationResultsIntoOrderEvents(
- validationResults, orderHashToDBOrder, orderHashToEvents, validationBlock,
+ validationResults, orderHashToDBOrder, orderHashToEvents, orderHashToPossiblyUnexpiredOrder, validationBlock,
)
}
// ValidateAndStoreValidOrders applies general 0x validation and Mesh-specific validation to
// the given orders and if they are valid, adds them to the OrderWatcher
-func (w *Watcher) ValidateAndStoreValidOrders(ctx context.Context, orders []*zeroex.SignedOrder, pinned bool, chainID int) (*ordervalidator.ValidationResults, error) {
+func (w *Watcher) ValidateAndStoreValidOrders(ctx context.Context, orders []*zeroex.SignedOrder, chainID int, pinned bool, opts *types.AddOrdersOpts) (*ordervalidator.ValidationResults, error) {
if len(orders) == 0 {
return &ordervalidator.ValidationResults{}, nil
}
@@ -1505,10 +1580,33 @@ func (w *Watcher) ValidateAndStoreValidOrders(ctx context.Context, orders []*zer
}
}
+ if opts.KeepCancelled || opts.KeepExpired || opts.KeepFullyFilled || opts.KeepUnfunded {
+ for _, rejectedOrderInfo := range zeroexResults.Rejected {
+ // NOTE(jalextowle): We can use the rejectedOrderInfo.Status
+ // field to see whether or not the order is new or not. If
+ // the order has already been stored, the rejectedOrderInfo.Status
+ // field will be ordervalidator.ROOrderAlreadyStoredAndUnfillable.
+ // If the rejection reason involves on-chain validation, then the
+ // order is new.
+ if (opts.KeepCancelled && rejectedOrderInfo.Status.Code == ordervalidator.ROCancelled.Code) ||
+ (opts.KeepExpired && rejectedOrderInfo.Status.Code == ordervalidator.ROExpired.Code) ||
+ (opts.KeepFullyFilled && rejectedOrderInfo.Status.Code == ordervalidator.ROFullyFilled.Code) ||
+ (opts.KeepUnfunded && rejectedOrderInfo.Status.Code == ordervalidator.ROUnfunded.Code) {
+ newOrderInfos = append(newOrderInfos, &ordervalidator.AcceptedOrderInfo{
+ OrderHash: rejectedOrderInfo.OrderHash,
+ SignedOrder: rejectedOrderInfo.SignedOrder,
+ // TODO(jalextowle): Verify that this is consistent with the OrderWatcher
+ FillableTakerAssetAmount: big.NewInt(0),
+ IsNew: true,
+ })
+ }
+ }
+ }
+
// Add the order to the OrderWatcher. This also saves the order in the
// database.
allOrderEvents := []*zeroex.OrderEvent{}
- orderEvents, err := w.add(newOrderInfos, validationBlock, pinned)
+ orderEvents, err := w.add(newOrderInfos, validationBlock, pinned, opts)
if err != nil {
return nil, err
}
@@ -1698,8 +1796,8 @@ func (w *Watcher) meshSpecificOrderValidation(orders []*zeroex.SignedOrder, chai
if !orderStatus.IsStored {
// If not stored, add the order to a set of new orders.
newValidOrders = append(newValidOrders, order)
- } else if orderStatus.IsMarkedRemoved {
- // If stored but marked as removed, reject the order.
+ } else if orderStatus.IsMarkedRemoved || orderStatus.IsMarkedUnfillable {
+ // If stored but marked as removed or unfillable, reject the order.
results.Rejected = append(results.Rejected, &ordervalidator.RejectedOrderInfo{
OrderHash: orderHash,
SignedOrder: order,
@@ -1707,7 +1805,7 @@ func (w *Watcher) meshSpecificOrderValidation(orders []*zeroex.SignedOrder, chai
Status: ordervalidator.ROOrderAlreadyStoredAndUnfillable,
})
} else {
- // If stored but not marked as removed, accept the order without re-validation
+ // If stored but not marked as removed or unfillable, accept the order without re-validation
results.Accepted = append(results.Accepted, &ordervalidator.AcceptedOrderInfo{
OrderHash: orderHash,
SignedOrder: order,
@@ -1752,6 +1850,8 @@ func (w *Watcher) updateOrderFillableTakerAssetAmountAndBlockInfo(order *types.O
func (w *Watcher) rewatchOrder(order *types.OrderWithMetadata, newFillableTakerAssetAmount *big.Int, validationBlock *types.MiniHeader) {
err := w.db.UpdateOrder(order.Hash, func(orderToUpdate *types.OrderWithMetadata) (*types.OrderWithMetadata, error) {
orderToUpdate.IsRemoved = false
+ orderToUpdate.IsUnfillable = false
+ orderToUpdate.IsExpired = false
orderToUpdate.LastUpdated = time.Now().UTC()
orderToUpdate.LastValidatedBlockNumber = validationBlock.Number
orderToUpdate.LastValidatedBlockHash = validationBlock.Hash
@@ -1766,9 +1866,35 @@ func (w *Watcher) rewatchOrder(order *types.OrderWithMetadata, newFillableTakerA
}
}
+func (w *Watcher) markOrderUnfillable(order *types.OrderWithMetadata, newFillableAmount *big.Int, validationBlock *types.MiniHeader) {
+ err := w.db.UpdateOrder(order.Hash, func(orderToUpdate *types.OrderWithMetadata) (*types.OrderWithMetadata, error) {
+ orderToUpdate.IsUnfillable = true
+ if big.NewInt(validationBlock.Timestamp.Unix()).Cmp(orderToUpdate.ExpirationTimeSeconds) >= 0 {
+ orderToUpdate.IsExpired = true
+ }
+ orderToUpdate.LastUpdated = time.Now().UTC()
+ orderToUpdate.LastValidatedBlockNumber = validationBlock.Number
+ orderToUpdate.LastValidatedBlockHash = validationBlock.Hash
+ if newFillableAmount != nil {
+ orderToUpdate.FillableTakerAssetAmount = newFillableAmount
+ }
+ return orderToUpdate, nil
+ })
+ if err != nil {
+ logger.WithFields(logger.Fields{
+ "error": err.Error(),
+ "order": order,
+ }).Error("Failed to update order")
+ }
+}
+
func (w *Watcher) unwatchOrder(order *types.OrderWithMetadata, newFillableAmount *big.Int, validationBlock *types.MiniHeader) {
err := w.db.UpdateOrder(order.Hash, func(orderToUpdate *types.OrderWithMetadata) (*types.OrderWithMetadata, error) {
orderToUpdate.IsRemoved = true
+ orderToUpdate.IsUnfillable = true
+ if big.NewInt(validationBlock.Timestamp.Unix()).Cmp(orderToUpdate.ExpirationTimeSeconds) >= 0 {
+ orderToUpdate.IsExpired = true
+ }
orderToUpdate.LastUpdated = time.Now().UTC()
orderToUpdate.LastValidatedBlockNumber = validationBlock.Number
orderToUpdate.LastValidatedBlockHash = validationBlock.Hash
@@ -1785,6 +1911,24 @@ func (w *Watcher) unwatchOrder(order *types.OrderWithMetadata, newFillableAmount
}
}
+func (w *Watcher) updateOrderExpirationState(order *types.OrderWithMetadata, validationBlock *types.MiniHeader) {
+ err := w.db.UpdateOrder(order.Hash, func(orderToUpdate *types.OrderWithMetadata) (*types.OrderWithMetadata, error) {
+ if big.NewInt(validationBlock.Timestamp.Unix()).Cmp(orderToUpdate.ExpirationTimeSeconds) >= 0 {
+ orderToUpdate.IsExpired = true
+ }
+ orderToUpdate.LastUpdated = time.Now().UTC()
+ orderToUpdate.LastValidatedBlockNumber = validationBlock.Number
+ orderToUpdate.LastValidatedBlockHash = validationBlock.Hash
+ return orderToUpdate, nil
+ })
+ if err != nil {
+ logger.WithFields(logger.Fields{
+ "error": err.Error(),
+ "order": order,
+ }).Error("Failed to update order")
+ }
+}
+
func (w *Watcher) permanentlyDeleteOrder(order *types.OrderWithMetadata) error {
if err := w.db.DeleteOrder(order.Hash); err != nil {
return err
diff --git a/zeroex/orderwatch/order_watcher_test.go b/zeroex/orderwatch/order_watcher_test.go
index 4c95a35f8..66e23c521 100644
--- a/zeroex/orderwatch/order_watcher_test.go
+++ b/zeroex/orderwatch/order_watcher_test.go
@@ -157,7 +157,7 @@ func TestOrderWatcherTakerWhitelist(t *testing.T) {
require.NoError(t, err)
for _, testCase := range testCases {
- results, err := orderWatcher.ValidateAndStoreValidOrders(ctx, []*zeroex.SignedOrder{testCase.order}, false, constants.TestChainID)
+ results, err := orderWatcher.ValidateAndStoreValidOrders(ctx, []*zeroex.SignedOrder{testCase.order}, constants.TestChainID, false, &types.AddOrdersOpts{})
require.NoError(t, err)
if testCase.isTakerAddressWhitelisted {
orderHash, err := testCase.order.ComputeOrderHash()
@@ -176,153 +176,424 @@ func TestOrderWatcherTakerWhitelist(t *testing.T) {
}
}
}
-
-func TestOrderWatcherStoresValidOrders(t *testing.T) {
+func TestOrderWatcherDoesntStoreInvalidOrdersWithConfigurations(t *testing.T) {
if !serialTestsEnabled {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
+ for _, testCase := range []*struct {
+ description string
+ signedOrderGenerator func() *zeroex.SignedOrder
+ addOrdersOpts *types.AddOrdersOpts
+ }{
+ {
+ description: "doesn't store cancelled orders when KeepCancelled is disabled",
+ signedOrderGenerator: func() *zeroex.SignedOrder {
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ )
+ // Cancel order
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ trimmedOrder := signedOrder.Trim()
+ txn, err := exchange.CancelOrder(opts, trimmedOrder)
+ require.NoError(t, err)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
+ return signedOrder
+ },
+ addOrdersOpts: &types.AddOrdersOpts{
+ KeepCancelled: false,
+ KeepExpired: true,
+ KeepFullyFilled: true,
+ KeepUnfunded: true,
+ },
+ },
+ {
+ description: "doesn't store expired orders when KeepExpired is disabled",
+ signedOrderGenerator: func() *zeroex.SignedOrder {
+ return scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ orderopts.ExpirationTimeSeconds(big.NewInt(0)),
+ )
+ },
+ addOrdersOpts: &types.AddOrdersOpts{
+ KeepCancelled: true,
+ KeepExpired: false,
+ KeepFullyFilled: true,
+ KeepUnfunded: true,
+ },
+ },
+ {
+ description: "doesn't store fully filled orders when KeepFullyFilled is disabled",
+ signedOrderGenerator: func() *zeroex.SignedOrder {
+ takerAddress := constants.GanacheAccount3
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.SetupTakerAddress(takerAddress),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ )
+ // Fill order
+ opts := &bind.TransactOpts{
+ From: takerAddress,
+ Signer: scenario.GetTestSignerFn(takerAddress),
+ Value: big.NewInt(100000000000000000),
+ }
+ trimmedOrder := signedOrder.Trim()
+ txn, err := exchange.FillOrder(opts, trimmedOrder, signedOrder.TakerAssetAmount, signedOrder.Signature)
+ require.NoError(t, err)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
+ return signedOrder
+ },
+ addOrdersOpts: &types.AddOrdersOpts{
+ KeepCancelled: true,
+ KeepExpired: true,
+ KeepFullyFilled: false,
+ KeepUnfunded: true,
+ },
+ },
+ {
+ description: "doesn't store unfunded orders when KeepUnfunded is disabled",
+ signedOrderGenerator: func() *zeroex.SignedOrder {
+ return scenario.NewSignedTestOrder(t,
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ orderopts.MakerFee(big.NewInt(1)),
+ orderopts.MakerFeeAssetData(scenario.WETHAssetData),
+ )
+ },
+ addOrdersOpts: &types.AddOrdersOpts{
+ KeepCancelled: true,
+ KeepExpired: true,
+ KeepFullyFilled: true,
+ KeepUnfunded: false,
+ },
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ ctx, cancel := context.WithCancel(context.Background())
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetData(scenario.ZRXAssetData),
- )
- setupOrderWatcherScenario(ctx, t, database, signedOrder)
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
+ blockWatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
+ signedOrder := testCase.signedOrderGenerator()
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: false,
- fillableAmount: signedOrder.TakerAssetAmount,
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err)
+
+ validationResults, err := orderWatcher.ValidateAndStoreValidOrders(ctx, []*zeroex.SignedOrder{signedOrder}, constants.TestChainID, false, testCase.addOrdersOpts)
+ require.NoError(t, err)
+
+ assert.Len(t, validationResults.Accepted, 0, testCase.description)
+ assert.Len(t, validationResults.Rejected, 1, testCase.description)
+
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 0)
+
+ teardownSubTest(t)
+ cancel()
}
- checkOrderState(t, expectedOrderState, orders[0])
}
-func TestOrderWatcherUnfundedInsufficientERC20Balance(t *testing.T) {
+func TestOrderWatcherStoresValidOrdersWithConfigurations(t *testing.T) {
if !serialTestsEnabled {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
+ for _, testCase := range []*struct {
+ description string
+ expectedFillableAmount *big.Int
+ signedOrderGenerator func() *zeroex.SignedOrder
+ addOrdersOpts *types.AddOrdersOpts
+ isExpired bool
+ }{
+ {
+ description: "stores valid orders",
+ expectedFillableAmount: big.NewInt(42),
+ signedOrderGenerator: func() *zeroex.SignedOrder {
+ return scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ )
+ },
+ addOrdersOpts: &types.AddOrdersOpts{},
+ },
+ {
+ description: "stores cancelled orders when KeepCancelled is enabled",
+ expectedFillableAmount: big.NewInt(0),
+ signedOrderGenerator: func() *zeroex.SignedOrder {
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ )
+ // Cancel order
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ trimmedOrder := signedOrder.Trim()
+ txn, err := exchange.CancelOrder(opts, trimmedOrder)
+ require.NoError(t, err)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
+ return signedOrder
+ },
+ addOrdersOpts: &types.AddOrdersOpts{KeepCancelled: true},
+ },
+ {
+ description: "stores expired orders when KeepExpired is enabled",
+ expectedFillableAmount: big.NewInt(0),
+ signedOrderGenerator: func() *zeroex.SignedOrder {
+ return scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ orderopts.ExpirationTimeSeconds(big.NewInt(0)),
+ )
+ },
+ addOrdersOpts: &types.AddOrdersOpts{KeepExpired: true},
+ isExpired: true,
+ },
+ {
+ description: "stores fully filled orders when KeepFullyFilled is enabled",
+ expectedFillableAmount: big.NewInt(0),
+ signedOrderGenerator: func() *zeroex.SignedOrder {
+ takerAddress := constants.GanacheAccount3
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.SetupTakerAddress(takerAddress),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ )
+ // Fill order
+ opts := &bind.TransactOpts{
+ From: takerAddress,
+ Signer: scenario.GetTestSignerFn(takerAddress),
+ Value: big.NewInt(100000000000000000),
+ }
+ trimmedOrder := signedOrder.Trim()
+ txn, err := exchange.FillOrder(opts, trimmedOrder, signedOrder.TakerAssetAmount, signedOrder.Signature)
+ require.NoError(t, err)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
+ return signedOrder
+ },
+ addOrdersOpts: &types.AddOrdersOpts{KeepFullyFilled: true},
+ },
+ {
+ description: "stores unfunded orders when KeepUnfunded is enabled",
+ expectedFillableAmount: big.NewInt(0),
+ signedOrderGenerator: func() *zeroex.SignedOrder {
+ return scenario.NewSignedTestOrder(t,
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ orderopts.MakerFee(big.NewInt(1)),
+ orderopts.MakerFeeAssetData(scenario.WETHAssetData),
+ )
+ },
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ ctx, cancel := context.WithCancel(context.Background())
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetData(scenario.ZRXAssetData),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
+ blockWatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
- // Transfer makerAsset out of maker address
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- }
- txn, err := zrx.Transfer(opts, constants.GanacheAccount4, signedOrder.MakerAssetAmount)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ signedOrder := testCase.signedOrderGenerator()
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState)
+ validationResults, err := orderWatcher.ValidateAndStoreValidOrders(ctx, []*zeroex.SignedOrder{signedOrder}, constants.TestChainID, false, testCase.addOrdersOpts)
+ require.NoError(t, err)
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ isUnfillable := testCase.expectedFillableAmount.Cmp(big.NewInt(0)) == 0
+
+ if isUnfillable {
+ assert.Len(t, validationResults.Accepted, 0, testCase.description)
+ assert.Len(t, validationResults.Rejected, 1, testCase.description)
+ } else {
+ assert.Len(t, validationResults.Accepted, 1, testCase.description)
+ assert.Len(t, validationResults.Rejected, 0, testCase.description)
+ }
+
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: false,
+ isUnfillable: isUnfillable,
+ isExpired: testCase.isExpired,
+ fillableAmount: testCase.expectedFillableAmount,
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
+
+ teardownSubTest(t)
+ cancel()
}
- checkOrderState(t, expectedOrderState, orders[0])
}
-func TestOrderWatcherUnfundedInsufficientERC20BalanceForMakerFee(t *testing.T) {
+func TestOrderWatcherUnfundedInsufficientERC20Balance(t *testing.T) {
if !serialTestsEnabled {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepUnfunded",
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- makerAssetData := scenario.GetDummyERC721AssetData(big.NewInt(1))
- wethFeeAmount := new(big.Int).Mul(big.NewInt(5), eighteenDecimalsInBaseUnits)
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetData(makerAssetData),
- orderopts.MakerAssetAmount(big.NewInt(1)),
- orderopts.MakerFeeAssetData(scenario.WETHAssetData),
- orderopts.MakerFee(wethFeeAmount),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Transfer makerAsset out of maker address
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ txn, err := zrx.Transfer(opts, constants.GanacheAccount4, signedOrder.MakerAssetAmount)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- // Transfer makerAsset out of maker address
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
+
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
+
+ cancel()
+ teardownSubTest(t)
}
- txn, err := weth.Transfer(opts, constants.GanacheAccount4, wethFeeAmount)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+}
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+func TestOrderWatcherUnfundedInsufficientERC20BalanceForMakerFee(t *testing.T) {
+ if !serialTestsEnabled {
+ t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
+ }
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepUnfunded",
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
+
+ makerAssetData := scenario.GetDummyERC721AssetData(big.NewInt(1))
+ wethFeeAmount := new(big.Int).Mul(big.NewInt(5), eighteenDecimalsInBaseUnits)
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(makerAssetData),
+ orderopts.MakerAssetAmount(big.NewInt(1)),
+ orderopts.MakerFeeAssetData(scenario.WETHAssetData),
+ orderopts.MakerFee(wethFeeAmount),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Transfer makerAsset out of maker address
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ txn, err := weth.Transfer(opts, constants.GanacheAccount4, wethFeeAmount)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
+
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
+
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
+
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, orders[0])
}
func TestOrderWatcherUnfundedInsufficientERC721Balance(t *testing.T) {
@@ -330,56 +601,75 @@ func TestOrderWatcherUnfundedInsufficientERC721Balance(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
-
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepUnfunded",
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- tokenID := big.NewInt(1)
- makerAssetData := scenario.GetDummyERC721AssetData(tokenID)
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetAmount(big.NewInt(1)),
- orderopts.MakerAssetData(makerAssetData),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- // Transfer makerAsset out of maker address
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- }
- txn, err := dummyERC721Token.TransferFrom(opts, signedOrder.MakerAddress, constants.GanacheAccount4, tokenID)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ tokenID := big.NewInt(1)
+ makerAssetData := scenario.GetDummyERC721AssetData(tokenID)
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetAmount(big.NewInt(1)),
+ orderopts.MakerAssetData(makerAssetData),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Transfer makerAsset out of maker address
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ txn, err := dummyERC721Token.TransferFrom(opts, signedOrder.MakerAddress, constants.GanacheAccount4, tokenID)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState)
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, orders[0])
-
}
func TestOrderWatcherUnfundedInsufficientERC721Allowance(t *testing.T) {
@@ -387,56 +677,76 @@ func TestOrderWatcherUnfundedInsufficientERC721Allowance(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
-
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepUnfunded",
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- tokenID := big.NewInt(1)
- makerAssetData := scenario.GetDummyERC721AssetData(tokenID)
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetAmount(big.NewInt(1)),
- orderopts.MakerAssetData(makerAssetData),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- // Remove Maker's NFT approval to ERC721Proxy. We do this by setting the
- // operator/spender to the null address.
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- }
- txn, err := dummyERC721Token.Approve(opts, constants.NullAddress, tokenID)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ tokenID := big.NewInt(1)
+ makerAssetData := scenario.GetDummyERC721AssetData(tokenID)
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetAmount(big.NewInt(1)),
+ orderopts.MakerAssetData(makerAssetData),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Remove Maker's NFT approval to ERC721Proxy. We do this by setting the
+ // operator/spender to the null address.
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ txn, err := dummyERC721Token.Approve(opts, constants.NullAddress, tokenID)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState)
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, orders[0])
}
func TestOrderWatcherUnfundedInsufficientERC1155Allowance(t *testing.T) {
@@ -444,54 +754,74 @@ func TestOrderWatcherUnfundedInsufficientERC1155Allowance(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
-
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepUnfunded",
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- makerAssetData := scenario.GetDummyERC1155AssetData(t, []*big.Int{big.NewInt(1)}, []*big.Int{big.NewInt(100)})
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetAmount(big.NewInt(1)),
- orderopts.MakerAssetData(makerAssetData),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- // Remove Maker's ERC1155 approval to ERC1155Proxy
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- }
- txn, err := erc1155Mintable.SetApprovalForAll(opts, ganacheAddresses.ERC1155Proxy, false)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ makerAssetData := scenario.GetDummyERC1155AssetData(t, []*big.Int{big.NewInt(1)}, []*big.Int{big.NewInt(100)})
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetAmount(big.NewInt(1)),
+ orderopts.MakerAssetData(makerAssetData),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Remove Maker's ERC1155 approval to ERC1155Proxy
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ txn, err := erc1155Mintable.SetApprovalForAll(opts, ganacheAddresses.ERC1155Proxy, false)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState)
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, orders[0])
}
func TestOrderWatcherUnfundedInsufficientERC1155Balance(t *testing.T) {
@@ -499,56 +829,77 @@ func TestOrderWatcherUnfundedInsufficientERC1155Balance(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepUnfunded",
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
+
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
+
+ tokenID := big.NewInt(1)
+ tokenAmount := big.NewInt(100)
+ makerAssetData := scenario.GetDummyERC1155AssetData(t, []*big.Int{tokenID}, []*big.Int{tokenAmount})
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetAmount(big.NewInt(1)),
+ orderopts.MakerAssetData(makerAssetData),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Reduce Maker's ERC1155 balance
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ txn, err := erc1155Mintable.SafeTransferFrom(opts, signedOrder.MakerAddress, constants.GanacheAccount4, tokenID, tokenAmount, []byte{})
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- tokenID := big.NewInt(1)
- tokenAmount := big.NewInt(100)
- makerAssetData := scenario.GetDummyERC1155AssetData(t, []*big.Int{tokenID}, []*big.Int{tokenAmount})
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetAmount(big.NewInt(1)),
- orderopts.MakerAssetData(makerAssetData),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- // Reduce Maker's ERC1155 balance
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ cancel()
+ teardownSubTest(t)
}
- txn, err := erc1155Mintable.SafeTransferFrom(opts, signedOrder.MakerAddress, constants.GanacheAccount4, tokenID, tokenAmount, []byte{})
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
-
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
-
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState)
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
- }
- checkOrderState(t, expectedOrderState, orders[0])
}
func TestOrderWatcherUnfundedInsufficientERC20Allowance(t *testing.T) {
@@ -556,52 +907,71 @@ func TestOrderWatcherUnfundedInsufficientERC20Allowance(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
-
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
-
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetData(scenario.ZRXAssetData),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
-
- // Remove Maker's ZRX approval to ERC20Proxy
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- }
- txn, err := zrx.Approve(opts, ganacheAddresses.ERC20Proxy, big.NewInt(0))
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepUnfunded",
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
+
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Remove Maker's ZRX approval to ERC20Proxy
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ txn, err := zrx.Approve(opts, ganacheAddresses.ERC20Proxy, big.NewInt(0))
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState)
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, orders[0])
}
func TestOrderWatcherUnfundedThenFundedAgain(t *testing.T) {
@@ -609,85 +979,106 @@ func TestOrderWatcherUnfundedThenFundedAgain(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
-
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
-
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetData(scenario.ZRXAssetData),
- orderopts.TakerAssetData(scenario.WETHAssetData),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
-
- // Transfer makerAsset out of maker address
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- }
- txn, err := zrx.Transfer(opts, constants.GanacheAccount4, signedOrder.MakerAssetAmount)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepUnfunded",
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState)
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ orderopts.TakerAssetData(scenario.WETHAssetData),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Transfer makerAsset out of maker address
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ txn, err := zrx.Transfer(opts, constants.GanacheAccount4, signedOrder.MakerAssetAmount)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
- }
- checkOrderState(t, expectedOrderState, orders[0])
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- // Transfer makerAsset back to maker address
- zrxCoinbase := constants.GanacheAccount0
- opts = &bind.TransactOpts{
- From: zrxCoinbase,
- Signer: scenario.GetTestSignerFn(zrxCoinbase),
- }
- txn, err = zrx.Transfer(opts, signedOrder.MakerAddress, signedOrder.MakerAssetAmount)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
-
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- orderEvents = <-orderEventsChan
- require.Len(t, orderEvents, 1)
- orderEvent = orderEvents[0]
- assert.Equal(t, zeroex.ESOrderAdded, orderEvent.EndState)
+ // Transfer makerAsset back to maker address
+ zrxCoinbase := constants.GanacheAccount0
+ opts = &bind.TransactOpts{
+ From: zrxCoinbase,
+ Signer: scenario.GetTestSignerFn(zrxCoinbase),
+ }
+ txn, err = zrx.Transfer(opts, signedOrder.MakerAddress, signedOrder.MakerAssetAmount)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
+
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
+
+ orderEvents = <-orderEventsChan
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent = orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderAdded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err = database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ newOrders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, newOrders, 1, testCase.description)
+ expectedOrderState = orderState{
+ hash: expectedOrderHash,
+ isRemoved: false,
+ isUnfillable: false,
+ fillableAmount: signedOrder.TakerAssetAmount,
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, newOrders[0])
- latestStoredBlock, err = database.GetLatestMiniHeader()
- require.NoError(t, err)
- newOrders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, newOrders, 1)
- expectedOrderState = orderState{
- hash: expectedOrderHash,
- isRemoved: false,
- fillableAmount: signedOrder.TakerAssetAmount,
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, newOrders[0])
}
func TestOrderWatcherNoChange(t *testing.T) {
@@ -695,71 +1086,99 @@ func TestOrderWatcherNoChange(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "no change with empty configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ // NOTE(jalextowle): We use all of the configurations here since this test
+ // doesn't rely on a particular configuration being set. This tests that
+ // these configurations do not change behvior when there are no changes
+ // to the orders validity.
+ {
+ description: "no change with all configurations",
+ addOrdersOpts: &types.AddOrdersOpts{
+ KeepCancelled: true,
+ KeepExpired: true,
+ KeepFullyFilled: true,
+ KeepUnfunded: true,
+ },
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- ctx, cancel := context.WithCancel(context.Background())
- defer func() {
- cancel()
- }()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err)
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetData(scenario.ZRXAssetData),
- orderopts.TakerAssetData(scenario.WETHAssetData),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, _ := setupOrderWatcherScenario(ctx, t, database, signedOrder)
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.ZRXAssetData),
+ orderopts.TakerAssetData(scenario.WETHAssetData),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err)
+ blockWatcher, _ := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: false,
- fillableAmount: signedOrder.TakerAssetAmount,
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
- }
- checkOrderState(t, expectedOrderState, orders[0])
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err)
+ require.Len(t, orders, 1)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: false,
+ isUnfillable: false,
+ fillableAmount: signedOrder.TakerAssetAmount,
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- // Transfer more ZRX to makerAddress (doesn't impact the order)
- zrxCoinbase := constants.GanacheAccount0
- opts := &bind.TransactOpts{
- From: zrxCoinbase,
- Signer: scenario.GetTestSignerFn(zrxCoinbase),
- }
- txn, err := zrx.Transfer(opts, signedOrder.MakerAddress, signedOrder.MakerAssetAmount)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ // Transfer more ZRX to makerAddress (doesn't impact the order)
+ zrxCoinbase := constants.GanacheAccount0
+ opts := &bind.TransactOpts{
+ From: zrxCoinbase,
+ Signer: scenario.GetTestSignerFn(zrxCoinbase),
+ }
+ txn, err := zrx.Transfer(opts, signedOrder.MakerAddress, signedOrder.MakerAssetAmount)
+ require.NoError(t, err)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err)
- // HACK(albrow): Normally we would wait for order events instead of sleeping here,
- // but in this case we don't *expect* any order events. Sleeping is a workaround.
- // We could potentially solve this by adding internal events inside of order watcher
- // that are only used for testing, but that would also incur some overhead.
- time.Sleep(processBlockSleepTime)
+ // HACK(albrow): Normally we would wait for order events instead of sleeping here,
+ // but in this case we don't *expect* any order events. Sleeping is a workaround.
+ // We could potentially solve this by adding internal events inside of order watcher
+ // that are only used for testing, but that would also incur some overhead.
+ time.Sleep(processBlockSleepTime)
- latestStoredBlock, err = database.GetLatestMiniHeader()
- require.NoError(t, err)
- newOrders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, newOrders, 1)
- expectedOrderState = orderState{
- hash: expectedOrderHash,
- isRemoved: false,
- fillableAmount: signedOrder.TakerAssetAmount,
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ latestStoredBlock, err = database.GetLatestMiniHeader()
+ require.NoError(t, err)
+ newOrders, err := database.FindOrders(nil)
+ require.NoError(t, err)
+ require.Len(t, newOrders, 1)
+ expectedOrderState = orderState{
+ hash: expectedOrderHash,
+ isRemoved: false,
+ isUnfillable: false,
+ fillableAmount: signedOrder.TakerAssetAmount,
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, newOrders[0])
+
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, newOrders[0])
}
func TestOrderWatcherWETHWithdrawAndDeposit(t *testing.T) {
@@ -767,90 +1186,111 @@ func TestOrderWatcherWETHWithdrawAndDeposit(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
-
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
-
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.MakerAssetData(scenario.WETHAssetData),
- orderopts.TakerAssetData(scenario.ZRXAssetData),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
-
- // Withdraw maker's WETH (i.e. decrease WETH balance)
- // HACK(fabio): For some reason the txn fails with "out of gas" error with the
- // estimated gas amount
- gasLimit := uint64(50000)
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- GasLimit: gasLimit,
- }
- txn, err := weth.Withdraw(opts, signedOrder.MakerAssetAmount)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
-
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepUnfunded",
+ addOrdersOpts: &types.AddOrdersOpts{KeepUnfunded: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- assert.Equal(t, orderEvent.OrderHash, orders[0].Hash)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
- }
- checkOrderState(t, expectedOrderState, orders[0])
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.MakerAssetData(scenario.WETHAssetData),
+ orderopts.TakerAssetData(scenario.ZRXAssetData),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Withdraw maker's WETH (i.e. decrease WETH balance)
+ // HACK(fabio): For some reason the txn fails with "out of gas" error with the
+ // estimated gas amount
+ gasLimit := uint64(50000)
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ GasLimit: gasLimit,
+ }
+ txn, err := weth.Withdraw(opts, signedOrder.MakerAssetAmount)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- // Deposit maker's ETH (i.e. increase WETH balance)
- opts = &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- Value: signedOrder.MakerAssetAmount,
- }
- txn, err = weth.Deposit(opts)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderBecameUnfunded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ assert.Equal(t, orderEvent.OrderHash, orders[0].Hash, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- orderEvents = <-orderEventsChan
- require.Len(t, orderEvents, 1)
- orderEvent = orderEvents[0]
- assert.Equal(t, zeroex.ESOrderAdded, orderEvent.EndState)
+ // Deposit maker's ETH (i.e. increase WETH balance)
+ opts = &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ Value: signedOrder.MakerAssetAmount,
+ }
+ txn, err = weth.Deposit(opts)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
+
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
+
+ orderEvents = <-orderEventsChan
+ require.Len(t, orderEvents, 1)
+ orderEvent = orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderAdded, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err = database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ newOrders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, newOrders, 1, testCase.description)
+ expectedOrderState = orderState{
+ hash: expectedOrderHash,
+ isRemoved: false,
+ isUnfillable: false,
+ fillableAmount: signedOrder.TakerAssetAmount,
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, newOrders[0])
- latestStoredBlock, err = database.GetLatestMiniHeader()
- require.NoError(t, err)
- newOrders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, newOrders, 1)
- expectedOrderState = orderState{
- hash: expectedOrderHash,
- isRemoved: false,
- fillableAmount: signedOrder.TakerAssetAmount,
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, newOrders[0])
}
func TestOrderWatcherCanceled(t *testing.T) {
@@ -858,50 +1298,70 @@ func TestOrderWatcherCanceled(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
-
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
-
- signedOrder := scenario.NewSignedTestOrder(t, orderopts.SetupMakerState(true))
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
-
- // Cancel order
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- }
- trimmedOrder := signedOrder.Trim()
- txn, err := exchange.CancelOrder(opts, trimmedOrder)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
-
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepCancelled",
+ addOrdersOpts: &types.AddOrdersOpts{KeepCancelled: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
+
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
+
+ signedOrder := scenario.NewSignedTestOrder(t, orderopts.SetupMakerState(true))
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Cancel order
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ trimmedOrder := signedOrder.Trim()
+ txn, err := exchange.CancelOrder(opts, trimmedOrder)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderCancelled, orderEvent.EndState)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderCancelled, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
+
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, orders[0])
}
func TestOrderWatcherCancelUpTo(t *testing.T) {
@@ -909,50 +1369,70 @@ func TestOrderWatcherCancelUpTo(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
-
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
-
- signedOrder := scenario.NewSignedTestOrder(t, orderopts.SetupMakerState(true))
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
-
- // Cancel order with epoch
- opts := &bind.TransactOpts{
- From: signedOrder.MakerAddress,
- Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
- }
- targetOrderEpoch := signedOrder.Salt
- txn, err := exchange.CancelOrdersUpTo(opts, targetOrderEpoch)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepCancelled",
+ addOrdersOpts: &types.AddOrdersOpts{KeepCancelled: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
+
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
+
+ signedOrder := scenario.NewSignedTestOrder(t, orderopts.SetupMakerState(true))
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Cancel order with epoch
+ opts := &bind.TransactOpts{
+ From: signedOrder.MakerAddress,
+ Signer: scenario.GetTestSignerFn(signedOrder.MakerAddress),
+ }
+ targetOrderEpoch := signedOrder.Salt
+ txn, err := exchange.CancelOrdersUpTo(opts, targetOrderEpoch)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderCancelled, orderEvent.EndState)
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderCancelled, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, orders[0])
}
func TestOrderWatcherERC20Filled(t *testing.T) {
@@ -960,55 +1440,75 @@ func TestOrderWatcherERC20Filled(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
-
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepFullyFilled",
+ addOrdersOpts: &types.AddOrdersOpts{KeepFullyFilled: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- takerAddress := constants.GanacheAccount3
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.SetupTakerAddress(takerAddress),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- // Fill order
- opts := &bind.TransactOpts{
- From: takerAddress,
- Signer: scenario.GetTestSignerFn(takerAddress),
- Value: big.NewInt(100000000000000000),
- }
- trimmedOrder := signedOrder.Trim()
- txn, err := exchange.FillOrder(opts, trimmedOrder, signedOrder.TakerAssetAmount, signedOrder.Signature)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+ takerAddress := constants.GanacheAccount3
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.SetupTakerAddress(takerAddress),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Fill order
+ opts := &bind.TransactOpts{
+ From: takerAddress,
+ Signer: scenario.GetTestSignerFn(takerAddress),
+ Value: big.NewInt(100000000000000000),
+ }
+ trimmedOrder := signedOrder.Trim()
+ txn, err := exchange.FillOrder(opts, trimmedOrder, signedOrder.TakerAssetAmount, signedOrder.Signature)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderFullyFilled, orderEvent.EndState)
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderFullyFilled, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ fillableAmount: big.NewInt(0),
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: big.NewInt(0),
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, orders[0])
}
func TestOrderWatcherERC20PartiallyFilled(t *testing.T) {
@@ -1016,59 +1516,213 @@ func TestOrderWatcherERC20PartiallyFilled(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ }{
+ {
+ description: "should be kept with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ },
+ {
+ description: "should be kept with KeepFullyFilled",
+ addOrdersOpts: &types.AddOrdersOpts{KeepFullyFilled: true},
+ },
+ } {
+ teardownSubTest := setupSubTest(t)
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ ctx, cancel := context.WithCancel(context.Background())
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
- takerAddress := constants.GanacheAccount3
- signedOrder := scenario.NewSignedTestOrder(t,
- orderopts.SetupMakerState(true),
- orderopts.SetupTakerAddress(takerAddress),
- )
- expectedOrderHash, err := signedOrder.ComputeOrderHash()
- require.NoError(t, err)
- blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder)
+ takerAddress := constants.GanacheAccount3
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.SetupTakerAddress(takerAddress),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockWatcher, orderEventsChan := setupOrderWatcherScenario(ctx, t, database, signedOrder, testCase.addOrdersOpts)
+
+ // Partially fill order
+ opts := &bind.TransactOpts{
+ From: takerAddress,
+ Signer: scenario.GetTestSignerFn(takerAddress),
+ Value: big.NewInt(100000000000000000),
+ }
+ trimmedOrder := signedOrder.Trim()
+ halfAmount := new(big.Int).Div(signedOrder.TakerAssetAmount, big.NewInt(2))
+ txn, err := exchange.FillOrder(opts, trimmedOrder, halfAmount, signedOrder.Signature)
+ require.NoError(t, err, testCase.description)
+ waitTxnSuccessfullyMined(t, ethClient, txn)
- // Partially fill order
- opts := &bind.TransactOpts{
- From: takerAddress,
- Signer: scenario.GetTestSignerFn(takerAddress),
- Value: big.NewInt(100000000000000000),
+ err = blockWatcher.SyncToLatestBlock()
+ require.NoError(t, err, testCase.description)
+
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderFilled, orderEvent.EndState, testCase.description)
+
+ latestStoredBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: false,
+ isUnfillable: false,
+ isExpired: false,
+ fillableAmount: halfAmount,
+ lastUpdated: time.Now(),
+ lastValidatedBlock: latestStoredBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
+
+ cancel()
+ teardownSubTest(t)
}
- trimmedOrder := signedOrder.Trim()
- halfAmount := new(big.Int).Div(signedOrder.TakerAssetAmount, big.NewInt(2))
- txn, err := exchange.FillOrder(opts, trimmedOrder, halfAmount, signedOrder.Signature)
- require.NoError(t, err)
- waitTxnSuccessfullyMined(t, ethClient, txn)
+}
- err = blockWatcher.SyncToLatestBlock()
- require.NoError(t, err)
+func TestOrderWatcherOrderExpiredThenUnexpired(t *testing.T) {
+ if !serialTestsEnabled {
+ t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
+ }
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderFilled, orderEvent.EndState)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepExpired",
+ addOrdersOpts: &types.AddOrdersOpts{KeepExpired: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ // Set up test and orderWatcher
+ teardownSubTest := setupSubTest(t)
+ ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second)
+ defer cancel()
+ dbOptions := db.TestOptions()
+ database, err := db.New(ctx, dbOptions)
+ require.NoError(t, err, testCase.description)
+
+ // Create and add an order (which will later become expired) to OrderWatcher
+ expirationTime := time.Now().Add(24 * time.Hour)
+ expirationTimeSeconds := big.NewInt(expirationTime.Unix())
+ signedOrder := scenario.NewSignedTestOrder(t,
+ orderopts.SetupMakerState(true),
+ orderopts.ExpirationTimeSeconds(expirationTimeSeconds),
+ )
+ expectedOrderHash, err := signedOrder.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ blockwatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
+ watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrder, false, testCase.addOrdersOpts)
+
+ orderEventsChan := make(chan []*zeroex.OrderEvent, 2*orderWatcher.maxOrders)
+ orderWatcher.Subscribe(orderEventsChan)
+
+ // Simulate a block found with a timestamp past expirationTime
+ latestBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ nextBlock := &types.MiniHeader{
+ Parent: latestBlock.Hash,
+ Hash: common.HexToHash("0x1"),
+ Number: big.NewInt(0).Add(latestBlock.Number, big.NewInt(1)),
+ Timestamp: expirationTime.Add(1 * time.Minute),
+ }
+ expiringBlockEvents := []*blockwatch.Event{
+ {
+ Type: blockwatch.Added,
+ BlockHeader: nextBlock,
+ },
+ }
+ orderWatcher.blockEventsChan <- expiringBlockEvents
- latestStoredBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- orders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, orders, 1)
- expectedOrderState := orderState{
- hash: expectedOrderHash,
- isRemoved: false,
- fillableAmount: halfAmount,
- lastUpdated: time.Now(),
- lastValidatedBlock: latestStoredBlock,
+ // Await expired event
+ orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent := orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderExpired, orderEvent.EndState, testCase.description)
+
+ orders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, orders, 1, testCase.description)
+ expectedOrderState := orderState{
+ hash: expectedOrderHash,
+ isRemoved: testCase.shouldBeRemoved,
+ isUnfillable: true,
+ isExpired: true,
+ fillableAmount: signedOrder.TakerAssetAmount,
+ lastUpdated: time.Now(),
+ lastValidatedBlock: nextBlock,
+ }
+ checkOrderState(t, expectedOrderState, orders[0])
+
+ // Simulate a block re-org
+ replacementBlockHash := common.HexToHash("0x2")
+ reorgBlockEvents := []*blockwatch.Event{
+ {
+ Type: blockwatch.Removed,
+ BlockHeader: nextBlock,
+ },
+ {
+ Type: blockwatch.Added,
+ BlockHeader: &types.MiniHeader{
+ Parent: nextBlock.Parent,
+ Hash: replacementBlockHash,
+ Number: nextBlock.Number,
+ Logs: []ethtypes.Log{},
+ Timestamp: expirationTime.Add(-2 * time.Hour),
+ },
+ },
+ {
+ Type: blockwatch.Added,
+ BlockHeader: &types.MiniHeader{
+ Parent: replacementBlockHash,
+ Hash: common.HexToHash("0x3"),
+ Number: big.NewInt(0).Add(nextBlock.Number, big.NewInt(1)),
+ Logs: []ethtypes.Log{},
+ Timestamp: expirationTime.Add(-1 * time.Hour),
+ },
+ },
+ }
+ orderWatcher.blockEventsChan <- reorgBlockEvents
+
+ // Await unexpired event
+ orderEvents = waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
+ require.Len(t, orderEvents, 1, testCase.description)
+ orderEvent = orderEvents[0]
+ assert.Equal(t, zeroex.ESOrderUnexpired, orderEvent.EndState, testCase.description)
+
+ newOrders, err := database.FindOrders(nil)
+ require.NoError(t, err, testCase.description)
+ require.Len(t, newOrders, 1, testCase.description)
+ expectedOrderState = orderState{
+ hash: expectedOrderHash,
+ isRemoved: false,
+ isUnfillable: false,
+ isExpired: false,
+ fillableAmount: signedOrder.TakerAssetAmount,
+ lastUpdated: time.Now(),
+ lastValidatedBlock: reorgBlockEvents[len(reorgBlockEvents)-1].BlockHeader,
+ }
+ checkOrderState(t, expectedOrderState, newOrders[0])
+
+ cancel()
+ teardownSubTest(t)
}
- checkOrderState(t, expectedOrderState, orders[0])
}
-func TestOrderWatcherOrderExpiredThenUnexpired(t *testing.T) {
+func TestOrderWatcherOrderExpiredWhenAddedThenUnexpired(t *testing.T) {
if !serialTestsEnabled {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
@@ -1081,9 +1735,10 @@ func TestOrderWatcherOrderExpiredThenUnexpired(t *testing.T) {
dbOptions := db.TestOptions()
database, err := db.New(ctx, dbOptions)
require.NoError(t, err)
+ blockwatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
- // Create and add an order (which will later become expired) to OrderWatcher
- expirationTime := time.Now().Add(24 * time.Hour)
+ // Create an order which will be expired when added to the OrderWatcher
+ expirationTime := time.Now().Add(-24 * time.Hour)
expirationTimeSeconds := big.NewInt(expirationTime.Unix())
signedOrder := scenario.NewSignedTestOrder(t,
orderopts.SetupMakerState(true),
@@ -1091,96 +1746,88 @@ func TestOrderWatcherOrderExpiredThenUnexpired(t *testing.T) {
)
expectedOrderHash, err := signedOrder.ComputeOrderHash()
require.NoError(t, err)
- blockwatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
- watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrder, false)
orderEventsChan := make(chan []*zeroex.OrderEvent, 2*orderWatcher.maxOrders)
orderWatcher.Subscribe(orderEventsChan)
- // Simulate a block found with a timestamp past expirationTime
- latestBlock, err := database.GetLatestMiniHeader()
+ // Add the order to Mesh
+ err = blockwatcher.SyncToLatestBlock()
+ require.NoError(t, err)
+ validationResults, err := orderWatcher.ValidateAndStoreValidOrders(ctx, []*zeroex.SignedOrder{signedOrder}, constants.TestChainID, false, &types.AddOrdersOpts{KeepExpired: true})
require.NoError(t, err)
- nextBlock := &types.MiniHeader{
- Parent: latestBlock.Hash,
- Hash: common.HexToHash("0x1"),
- Number: big.NewInt(0).Add(latestBlock.Number, big.NewInt(1)),
- Timestamp: expirationTime.Add(1 * time.Minute),
- }
- expiringBlockEvents := []*blockwatch.Event{
- {
- Type: blockwatch.Added,
- BlockHeader: nextBlock,
- },
- }
- orderWatcher.blockEventsChan <- expiringBlockEvents
- // Await expired event
- orderEvents := waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- assert.Equal(t, zeroex.ESOrderExpired, orderEvent.EndState)
+ assert.Len(t, validationResults.Accepted, 0)
+ assert.Len(t, validationResults.Rejected, 1)
+ assert.Equal(t, ordervalidator.ROExpired, validationResults.Rejected[0].Status)
orders, err := database.FindOrders(nil)
require.NoError(t, err)
require.Len(t, orders, 1)
+ expectedValidationBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err)
expectedOrderState := orderState{
hash: expectedOrderHash,
- isRemoved: true,
- fillableAmount: signedOrder.TakerAssetAmount,
+ isRemoved: false,
+ isUnfillable: true,
+ isExpired: true,
+ fillableAmount: big.NewInt(0),
lastUpdated: time.Now(),
- lastValidatedBlock: nextBlock,
+ lastValidatedBlock: expectedValidationBlock,
}
checkOrderState(t, expectedOrderState, orders[0])
+ // TODO(jalextowle): This code isn't needed with the current hacky test.
+ // This could be improved by stubbing out validation.
+ // Grep for SlowContractCaller in this file to see how the interface
+ // works. The idea would be to create a contract caller that ensures that
+ // DevUtils is called when the OrderWatcher is deciding whether or not to
+ // unexpire the order.
+ //
+ // The reason why this can't be tested in a more straightforward
+ // way is that it's non-trivial to implement a re-org at the level of ganache.
+ // Using ganache to simulate the whole workflow would be the optimal testing
+ // solution.
+ //
// Simulate a block re-org
- replacementBlockHash := common.HexToHash("0x2")
- reorgBlockEvents := []*blockwatch.Event{
- {
- Type: blockwatch.Removed,
- BlockHeader: nextBlock,
- },
- {
- Type: blockwatch.Added,
- BlockHeader: &types.MiniHeader{
- Parent: nextBlock.Parent,
- Hash: replacementBlockHash,
- Number: nextBlock.Number,
- Logs: []ethtypes.Log{},
- Timestamp: expirationTime.Add(-2 * time.Hour),
- },
- },
- {
- Type: blockwatch.Added,
- BlockHeader: &types.MiniHeader{
- Parent: replacementBlockHash,
- Hash: common.HexToHash("0x3"),
- Number: big.NewInt(0).Add(nextBlock.Number, big.NewInt(1)),
- Logs: []ethtypes.Log{},
- Timestamp: expirationTime.Add(-1 * time.Hour),
- },
- },
- }
- orderWatcher.blockEventsChan <- reorgBlockEvents
-
- // Await unexpired event
- orderEvents = waitForOrderEvents(t, orderEventsChan, 1, 4*time.Second)
- require.Len(t, orderEvents, 1)
- orderEvent = orderEvents[0]
- assert.Equal(t, zeroex.ESOrderUnexpired, orderEvent.EndState)
-
- newOrders, err := database.FindOrders(nil)
- require.NoError(t, err)
- require.Len(t, newOrders, 1)
- expectedOrderState = orderState{
- hash: expectedOrderHash,
- isRemoved: false,
- fillableAmount: signedOrder.TakerAssetAmount,
- lastUpdated: time.Now(),
- lastValidatedBlock: reorgBlockEvents[len(reorgBlockEvents)-1].BlockHeader,
- }
- checkOrderState(t, expectedOrderState, newOrders[0])
+ // replacementBlockHash := common.HexToHash("0x2")
+ // reorgBlockEvents := []*blockwatch.Event{
+ // {
+ // Type: blockwatch.Removed,
+ // BlockHeader: expectedValidationBlock,
+ // },
+ // {
+ // Type: blockwatch.Added,
+ // BlockHeader: &types.MiniHeader{
+ // Parent: expectedValidationBlock.Parent,
+ // Hash: replacementBlockHash,
+ // Number: expectedValidationBlock.Number,
+ // Logs: []ethtypes.Log{},
+ // Timestamp: expirationTime.Add(-2 * time.Hour),
+ // },
+ // },
+ // {
+ // Type: blockwatch.Added,
+ // BlockHeader: &types.MiniHeader{
+ // Parent: replacementBlockHash,
+ // Hash: common.HexToHash("0x3"),
+ // Number: big.NewInt(0).Add(expectedValidationBlock.Number, big.NewInt(1)),
+ // Logs: []ethtypes.Log{},
+ // Timestamp: expirationTime.Add(-1 * time.Hour),
+ // },
+ // },
+ // }
+ // orderWatcher.blockEventsChan <- reorgBlockEvents
+
+ // HACK(jalextowle): The block events above don't actually exist in the Ganache
+ // environment that Mesh uses to validate orders. This means that Mesh won't be
+ // able to actually validate the order.
+ possiblyUnexpiredOrders, err := orderWatcher.findOrdersToPossiblyUnexpire(expirationTime.Add(-2 * time.Hour))
+ require.NoError(t, err)
+ assert.Len(t, possiblyUnexpiredOrders, 1)
}
+// NOTE(jalextowle): We don't need to implement a test for this with configurations
+// as the configurations do not interact with the pinning system.
func TestOrderWatcherDecreaseExpirationTime(t *testing.T) {
if !serialTestsEnabled {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
@@ -1211,7 +1858,7 @@ func TestOrderWatcherDecreaseExpirationTime(t *testing.T) {
}
signedOrders := scenario.NewSignedTestOrdersBatch(t, maxOrders, optionsForIndex)
for _, signedOrder := range signedOrders {
- watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrder, false)
+ watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrder, false, &types.AddOrdersOpts{})
}
// We don't care about the order events above for the purposes of this test,
@@ -1227,7 +1874,7 @@ func TestOrderWatcherDecreaseExpirationTime(t *testing.T) {
orderopts.SetupMakerState(true),
orderopts.ExpirationTimeSeconds(expirationTimeSeconds),
)
- watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrder, false)
+ watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrder, false, &types.AddOrdersOpts{})
expectedOrderEvents := 2
orderEvents := waitForOrderEvents(t, orderEventsChan, expectedOrderEvents, 4*time.Second)
require.Len(t, orderEvents, expectedOrderEvents, "wrong number of order events were fired")
@@ -1274,7 +1921,7 @@ func TestOrderWatcherDecreaseExpirationTime(t *testing.T) {
)
pinnedOrderHash, err := pinnedOrder.ComputeOrderHash()
require.NoError(t, err)
- watchOrder(ctx, t, orderWatcher, blockWatcher, pinnedOrder, true)
+ watchOrder(ctx, t, orderWatcher, blockWatcher, pinnedOrder, true, &types.AddOrdersOpts{})
expectedOrderEvents = 2
orderEvents = waitForOrderEvents(t, orderEventsChan, expectedOrderEvents, 4*time.Second)
@@ -1326,7 +1973,7 @@ func TestOrderWatcherBatchEmitsAddedEvents(t *testing.T) {
err = blockWatcher.SyncToLatestBlock()
require.NoError(t, err)
- validationResults, err := orderWatcher.ValidateAndStoreValidOrders(ctx, signedOrders, false, constants.TestChainID)
+ validationResults, err := orderWatcher.ValidateAndStoreValidOrders(ctx, signedOrders, constants.TestChainID, false, &types.AddOrdersOpts{})
require.Len(t, validationResults.Rejected, 0)
require.NoError(t, err)
@@ -1359,9 +2006,9 @@ func TestOrderWatcherCleanup(t *testing.T) {
orderOptions := scenario.OptionsForAll(orderopts.SetupMakerState(true))
signedOrders := scenario.NewSignedTestOrdersBatch(t, 2, orderOptions)
signedOrderOne := signedOrders[0]
- watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrderOne, false)
+ watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrderOne, false, &types.AddOrdersOpts{})
signedOrderTwo := signedOrders[1]
- watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrderTwo, false)
+ watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrderTwo, false, &types.AddOrdersOpts{})
signedOrderOneHash, err := signedOrderTwo.ComputeOrderHash()
require.NoError(t, err)
@@ -1395,59 +2042,82 @@ func TestOrderWatcherHandleOrderExpirationsExpired(t *testing.T) {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
}
- // Set up test and orderWatcher
- teardownSubTest := setupSubTest(t)
- defer teardownSubTest(t)
- ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second)
- defer cancel()
- database, err := db.New(ctx, db.TestOptions())
- require.NoError(t, err)
+ for _, testCase := range []*struct {
+ description string
+ addOrdersOpts *types.AddOrdersOpts
+ shouldBeRemoved bool
+ }{
+ {
+ description: "should be removed with no configurations",
+ addOrdersOpts: &types.AddOrdersOpts{},
+ shouldBeRemoved: true,
+ },
+ {
+ description: "should be kept with KeepExpired",
+ addOrdersOpts: &types.AddOrdersOpts{KeepExpired: true},
+ shouldBeRemoved: false,
+ },
+ } {
+ // Set up test and orderWatcher
+ teardownSubTest := setupSubTest(t)
+ ctx, cancel := context.WithTimeout(context.Background(), 20*time.Second)
+ defer cancel()
+ database, err := db.New(ctx, db.TestOptions())
+ require.NoError(t, err, testCase.description)
+
+ // Create and add an order (which will later become expired) to OrderWatcher
+ expirationTime := time.Now().Add(24 * time.Hour)
+ expirationTimeSeconds := big.NewInt(expirationTime.Unix())
+ orderOptions := scenario.OptionsForAll(
+ orderopts.SetupMakerState(true),
+ orderopts.ExpirationTimeSeconds(expirationTimeSeconds),
+ )
+ signedOrders := scenario.NewSignedTestOrdersBatch(t, 2, orderOptions)
+ signedOrderOne := signedOrders[0]
+ signedOrderTwo := signedOrders[1]
+ blockwatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
+ watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrderOne, false, testCase.addOrdersOpts)
+ watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrderTwo, false, testCase.addOrdersOpts)
+
+ signedOrderOneHash, err := signedOrderOne.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ orderOne, err := database.GetOrder(signedOrderOneHash)
+ require.NoError(t, err, testCase.description)
+ // Since we flag SignedOrderOne for revalidation, we expect `handleOrderExpirations` not to return an
+ // expiry event for it.
+ ordersToRevalidate := map[common.Hash]*types.OrderWithMetadata{
+ signedOrderOneHash: orderOne,
+ }
- // Create and add an order (which will later become expired) to OrderWatcher
- expirationTime := time.Now().Add(24 * time.Hour)
- expirationTimeSeconds := big.NewInt(expirationTime.Unix())
- orderOptions := scenario.OptionsForAll(
- orderopts.SetupMakerState(true),
- orderopts.ExpirationTimeSeconds(expirationTimeSeconds),
- )
- signedOrders := scenario.NewSignedTestOrdersBatch(t, 2, orderOptions)
- signedOrderOne := signedOrders[0]
- signedOrderTwo := signedOrders[1]
- blockwatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
- watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrderOne, false)
- watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrderTwo, false)
+ // Make a "fake" block with a timestamp 1 second after expirationTime.
+ latestBlock, err := database.GetLatestMiniHeader()
+ require.NoError(t, err, testCase.description)
+ latestBlock.Timestamp = expirationTime.Add(1 * time.Second)
+ orderEvents, _, err := orderWatcher.handleOrderExpirations(latestBlock, ordersToRevalidate)
+ require.NoError(t, err, testCase.description)
+
+ require.Len(t, orderEvents, 1)
+ orderEvent := orderEvents[0]
+ signedOrderTwoHash, err := signedOrderTwo.ComputeOrderHash()
+ require.NoError(t, err, testCase.description)
+ assert.Equal(t, signedOrderTwoHash, orderEvent.OrderHash, testCase.description)
+ assert.Equal(t, zeroex.ESOrderExpired, orderEvent.EndState, testCase.description)
+ assert.Equal(t, big.NewInt(0), orderEvent.FillableTakerAssetAmount, testCase.description)
+ assert.Len(t, orderEvent.ContractEvents, 0, testCase.description)
+
+ orderTwo, err := database.GetOrder(signedOrderTwoHash)
+ require.NoError(t, err, testCase.description)
+ assert.Equal(t, testCase.shouldBeRemoved, orderTwo.IsRemoved, testCase.description)
+ assert.Equal(t, true, orderTwo.IsUnfillable, testCase.description)
+ assert.Equal(t, true, orderTwo.IsExpired, testCase.description)
- signedOrderOneHash, err := signedOrderOne.ComputeOrderHash()
- require.NoError(t, err)
- orderOne, err := database.GetOrder(signedOrderOneHash)
- require.NoError(t, err)
- // Since we flag SignedOrderOne for revalidation, we expect `handleOrderExpirations` not to return an
- // expiry event for it.
- ordersToRevalidate := map[common.Hash]*types.OrderWithMetadata{
- signedOrderOneHash: orderOne,
+ cancel()
+ teardownSubTest(t)
}
-
- // Make a "fake" block with a timestamp 1 second after expirationTime.
- latestBlock, err := database.GetLatestMiniHeader()
- require.NoError(t, err)
- latestBlock.Timestamp = expirationTime.Add(1 * time.Second)
- orderEvents, err := orderWatcher.handleOrderExpirations(latestBlock, ordersToRevalidate)
- require.NoError(t, err)
-
- require.Len(t, orderEvents, 1)
- orderEvent := orderEvents[0]
- signedOrderTwoHash, err := signedOrderTwo.ComputeOrderHash()
- require.NoError(t, err)
- assert.Equal(t, signedOrderTwoHash, orderEvent.OrderHash)
- assert.Equal(t, zeroex.ESOrderExpired, orderEvent.EndState)
- assert.Equal(t, big.NewInt(0), orderEvent.FillableTakerAssetAmount)
- assert.Len(t, orderEvent.ContractEvents, 0)
-
- orderTwo, err := database.GetOrder(signedOrderTwoHash)
- require.NoError(t, err)
- assert.Equal(t, true, orderTwo.IsRemoved)
}
+// NOTE(jalextowle): We don't need a corresponding test with configurations
+// because this test does not test for removal.
func TestOrderWatcherHandleOrderExpirationsUnexpired(t *testing.T) {
if !serialTestsEnabled {
t.Skip("Serial tests (tests which cannot run in parallel) are disabled. You can enable them with the --serial flag")
@@ -1472,8 +2142,8 @@ func TestOrderWatcherHandleOrderExpirationsUnexpired(t *testing.T) {
signedOrderOne := signedOrders[0]
signedOrderTwo := signedOrders[1]
blockwatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
- watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrderOne, false)
- watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrderTwo, false)
+ watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrderOne, false, &types.AddOrdersOpts{})
+ watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrderTwo, false, &types.AddOrdersOpts{})
orderEventsChan := make(chan []*zeroex.OrderEvent, 2*orderWatcher.maxOrders)
orderWatcher.Subscribe(orderEventsChan)
@@ -1518,7 +2188,7 @@ func TestOrderWatcherHandleOrderExpirationsUnexpired(t *testing.T) {
latestBlock, err = database.GetLatestMiniHeader()
require.NoError(t, err)
latestBlock.Timestamp = expirationTime.Add(-1 * time.Minute)
- orderEvents, err = orderWatcher.handleOrderExpirations(latestBlock, ordersToRevalidate)
+ orderEvents, _, err = orderWatcher.handleOrderExpirations(latestBlock, ordersToRevalidate)
require.NoError(t, err)
require.Len(t, orderEvents, 1)
@@ -1533,6 +2203,8 @@ func TestOrderWatcherHandleOrderExpirationsUnexpired(t *testing.T) {
orderTwo, err := database.GetOrder(signedOrderTwoHash)
require.NoError(t, err)
assert.Equal(t, false, orderTwo.IsRemoved)
+ assert.Equal(t, false, orderTwo.IsUnfillable)
+ assert.Equal(t, false, orderTwo.IsExpired)
}
// Scenario: Order has become unexpired and filled in the same block events processed. We test this case using
@@ -1559,7 +2231,7 @@ func TestConvertValidationResultsIntoOrderEventsUnexpired(t *testing.T) {
orderopts.ExpirationTimeSeconds(expirationTimeSeconds),
)
blockwatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
- watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrder, false)
+ watchOrder(ctx, t, orderWatcher, blockwatcher, signedOrder, false, &types.AddOrdersOpts{})
orderEventsChan := make(chan []*zeroex.OrderEvent, 2*orderWatcher.maxOrders)
orderWatcher.Subscribe(orderEventsChan)
@@ -1619,7 +2291,7 @@ func TestConvertValidationResultsIntoOrderEventsUnexpired(t *testing.T) {
validationBlock, err := database.GetLatestMiniHeader()
require.NoError(t, err)
validationBlock.Timestamp = expirationTime.Add(-1 * time.Minute)
- orderEvents, err = orderWatcher.convertValidationResultsIntoOrderEvents(&validationResults, orderHashToDBOrder, orderHashToEvents, validationBlock)
+ orderEvents, err = orderWatcher.convertValidationResultsIntoOrderEvents(&validationResults, orderHashToDBOrder, orderHashToEvents, map[common.Hash]struct{}{}, validationBlock)
require.NoError(t, err)
require.Len(t, orderEvents, 2)
@@ -1636,6 +2308,8 @@ func TestConvertValidationResultsIntoOrderEventsUnexpired(t *testing.T) {
existingOrder, err := database.GetOrder(orderHash)
require.NoError(t, err)
assert.Equal(t, false, existingOrder.IsRemoved)
+ assert.Equal(t, false, existingOrder.IsUnfillable)
+ assert.Equal(t, false, existingOrder.IsExpired)
}
func TestDrainAllBlockEventsChan(t *testing.T) {
@@ -1727,7 +2401,7 @@ func TestRevalidateOrdersForMissingEvents(t *testing.T) {
return err
})
g.Go(func() error {
- validationResults, err := orderWatcher.ValidateAndStoreValidOrders(innerCtx, []*zeroex.SignedOrder{signedOrder}, false, constants.TestChainID)
+ validationResults, err := orderWatcher.ValidateAndStoreValidOrders(innerCtx, []*zeroex.SignedOrder{signedOrder}, constants.TestChainID, false, &types.AddOrdersOpts{})
if err != nil {
return err
}
@@ -1815,7 +2489,7 @@ func TestMissingOrderEvents(t *testing.T) {
return err
})
g.Go(func() error {
- validationResults, err := orderWatcher.ValidateAndStoreValidOrders(innerCtx, []*zeroex.SignedOrder{signedOrder}, false, constants.TestChainID)
+ validationResults, err := orderWatcher.ValidateAndStoreValidOrders(innerCtx, []*zeroex.SignedOrder{signedOrder}, constants.TestChainID, false, &types.AddOrdersOpts{})
if err != nil {
return err
}
@@ -1932,7 +2606,7 @@ func TestMissingOrderEventsWithMissingBlocks(t *testing.T) {
return err
})
g.Go(func() error {
- validationResults, err := orderWatcher.ValidateAndStoreValidOrders(innerCtx, []*zeroex.SignedOrder{signedOrder}, false, constants.TestChainID)
+ validationResults, err := orderWatcher.ValidateAndStoreValidOrders(innerCtx, []*zeroex.SignedOrder{signedOrder}, constants.TestChainID, false, &types.AddOrdersOpts{})
if err != nil {
return err
}
@@ -1976,11 +2650,11 @@ func TestMissingOrderEventsWithMissingBlocks(t *testing.T) {
assert.Equal(t, orderHash, orderEvents[0].OrderHash)
}
-func setupOrderWatcherScenario(ctx context.Context, t *testing.T, database *db.DB, signedOrder *zeroex.SignedOrder) (*blockwatch.Watcher, chan []*zeroex.OrderEvent) {
+func setupOrderWatcherScenario(ctx context.Context, t *testing.T, database *db.DB, signedOrder *zeroex.SignedOrder, opts *types.AddOrdersOpts) (*blockwatch.Watcher, chan []*zeroex.OrderEvent) {
blockWatcher, orderWatcher := setupOrderWatcher(ctx, t, ethRPCClient, database)
// Start watching an order
- watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrder, false)
+ watchOrder(ctx, t, orderWatcher, blockWatcher, signedOrder, false, opts)
// Subscribe to OrderWatcher
orderEventsChan := make(chan []*zeroex.OrderEvent, 10)
@@ -1989,11 +2663,11 @@ func setupOrderWatcherScenario(ctx context.Context, t *testing.T, database *db.D
return blockWatcher, orderEventsChan
}
-func watchOrder(ctx context.Context, t *testing.T, orderWatcher *Watcher, blockWatcher *blockwatch.Watcher, signedOrder *zeroex.SignedOrder, pinned bool) {
+func watchOrder(ctx context.Context, t *testing.T, orderWatcher *Watcher, blockWatcher *blockwatch.Watcher, signedOrder *zeroex.SignedOrder, pinned bool, opts *types.AddOrdersOpts) {
err := blockWatcher.SyncToLatestBlock()
require.NoError(t, err)
- validationResults, err := orderWatcher.ValidateAndStoreValidOrders(ctx, []*zeroex.SignedOrder{signedOrder}, pinned, constants.TestChainID)
+ validationResults, err := orderWatcher.ValidateAndStoreValidOrders(ctx, []*zeroex.SignedOrder{signedOrder}, constants.TestChainID, pinned, opts)
require.NoError(t, err)
if len(validationResults.Rejected) != 0 {
spew.Dump(validationResults.Rejected)
@@ -2116,6 +2790,8 @@ func waitTxnSuccessfullyMined(t *testing.T, ethClient *ethclient.Client, txn *et
type orderState struct {
hash common.Hash
isRemoved bool
+ isUnfillable bool
+ isExpired bool
fillableAmount *big.Int
lastUpdated time.Time
lastValidatedBlock *types.MiniHeader
@@ -2124,6 +2800,8 @@ type orderState struct {
func checkOrderState(t *testing.T, expectedState orderState, order *types.OrderWithMetadata) {
assert.Equal(t, expectedState.hash, order.Hash, "Hash")
assert.Equal(t, expectedState.isRemoved, order.IsRemoved, "IsRemoved")
+ assert.Equal(t, expectedState.isUnfillable, order.IsUnfillable, "IsUnfillable")
+ assert.Equal(t, expectedState.isExpired, order.IsExpired, "IsExpired")
assert.Equal(t, expectedState.fillableAmount, order.FillableTakerAssetAmount, "FillableTakerAssetAmount")
assert.WithinDuration(t, expectedState.lastUpdated, order.LastUpdated, 4*time.Second, "LastUpdated")
assert.Equal(t, expectedState.lastValidatedBlock.Number, order.LastValidatedBlockNumber, "LastValidatedBlockNumber")