Browser-Lite API documentation
Class: Mesh
The main class for this package. Has methods for receiving order events and sending orders through the 0x Mesh network.
Hierarchy
Mesh
Constructors
constructer
+ new Mesh(config
: Config): Mesh
Defined in mesh.ts:142
Instantiates a new Mesh instance.
Parameters:
Name
Type
Description
config
Configuration options for Mesh
Returns: Mesh
An instance of Mesh
Methods
addOrdersAsync
▸ addOrdersAsync(orders
: SignedOrder[], pinned
: boolean): Promise‹ValidationResults›
Defined in mesh.ts:292
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 watching it for changes (e.g. filled, canceled, expired). The returned promise will only be rejected if there was an error validating or adding the order; it will not be rejected for any invalid orders (check results.rejected instead).
Parameters:
Name
Type
Default
Description
orders
SignedOrder[]
-
An array of orders to add.
pinned
boolean
true
Whether or not the orders should be 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.
Returns: Promise‹ValidationResults›
Validation results for the given orders, indicating which orders were accepted and which were rejected.
getOrdersAsync
▸ getOrdersAsync(perPage
: number): Promise‹GetOrdersResponse›
Defined in mesh.ts:221
Get all 0x signed orders currently stored in the Mesh node
Parameters:
Name
Type
Default
Description
perPage
number
200
number of signedOrders to fetch per paginated request
Returns: Promise‹GetOrdersResponse›
the snapshotID, snapshotTimestamp and all orders, their hashes and fillableTakerAssetAmounts
getOrdersForPageAsync
▸ getOrdersForPageAsync(page
: number, perPage
: number, snapshotID?
: undefined | string): Promise‹GetOrdersResponse›
Defined in mesh.ts:263
Get page of 0x signed orders stored on the Mesh node at the specified snapshot
Parameters:
Name
Type
Description
page
number
Page index at which to retrieve orders
perPage
number
Number of signedOrders to fetch per paginated request
snapshotID?
undefined | string
The DB snapshot at which to fetch orders. If omitted, a new snapshot is created
Returns: Promise‹GetOrdersResponse›
the snapshotID, snapshotTimestamp and all orders, their hashes and fillableTakerAssetAmounts
getStatsAsync
▸ getStatsAsync(): Promise‹Stats›
Defined in mesh.ts:204
Returns various stats about Mesh, including the total number of orders and the number of peers Mesh is connected to.
Returns: Promise‹Stats›
onError
▸ onError(handler
: function): void
Defined in mesh.ts:162
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. In order to ensure no errors are missed, this should be called before startAsync.
Parameters:
▪ handler: function
The handler to be called.
▸ (err
: Error): void
Parameters:
Name
Type
err
Error
Returns: void
onOrderEvents
▸ onOrderEvents(handler
: function): void
Defined in mesh.ts:177
Registers a handler which will be called for any incoming order events. Order events are fired whenver an order is added, canceled, expired, or filled. In order to ensure no events are missed, this should be called before startAsync.
Parameters:
▪ handler: function
The handler to be called.
▸ (events
: OrderEvent[]): void
Parameters:
Name
Type
events
Returns: void
startAsync
▸ startAsync(): Promise‹void›
Defined in mesh.ts:188
Starts the Mesh node in the background. Mesh will automatically find peers in the network and begin receiving orders from them.
Returns: Promise‹void›
Enumeration: ContractEventKind
Enumeration members
ERC1155ApprovalForAllEvent
• ERC1155ApprovalForAllEvent: = "ERC1155ApprovalForAllEvent"
Defined in types.ts:468
ERC1155TransferBatchEvent
• ERC1155TransferBatchEvent: = "ERC1155TransferBatchEvent"
Defined in types.ts:470
ERC1155TransferSingleEvent
• ERC1155TransferSingleEvent: = "ERC1155TransferSingleEvent"
Defined in types.ts:469
ERC20ApprovalEvent
• ERC20ApprovalEvent: = "ERC20ApprovalEvent"
Defined in types.ts:464
ERC20TransferEvent
• ERC20TransferEvent: = "ERC20TransferEvent"
Defined in types.ts:463
ERC721ApprovalEvent
• ERC721ApprovalEvent: = "ERC721ApprovalEvent"
Defined in types.ts:466
ERC721ApprovalForAllEvent
• ERC721ApprovalForAllEvent: = "ERC721ApprovalForAllEvent"
Defined in types.ts:467
ERC721TransferEvent
• ERC721TransferEvent: = "ERC721TransferEvent"
Defined in types.ts:465
ExchangeCancelEvent
• ExchangeCancelEvent: = "ExchangeCancelEvent"
Defined in types.ts:472
ExchangeCancelUpToEvent
• ExchangeCancelUpToEvent: = "ExchangeCancelUpToEvent"
Defined in types.ts:473
ExchangeFillEvent
• ExchangeFillEvent: = "ExchangeFillEvent"
Defined in types.ts:471
WethDepositEvent
• WethDepositEvent: = "WethDepositEvent"
Defined in types.ts:474
WethWithdrawalEvent
• WethWithdrawalEvent: = "WethWithdrawalEvent"
Defined in types.ts:475
Enumeration: OrderEventEndState
Enumeration members
Added
• Added: = "ADDED"
Defined in types.ts:538
Cancelled
• Cancelled: = "CANCELLED"
Defined in types.ts:541
Expired
• Expired: = "EXPIRED"
Defined in types.ts:542
FillabilityIncreased
• FillabilityIncreased: = "FILLABILITY_INCREASED"
Defined in types.ts:545
Filled
• Filled: = "FILLED"
Defined in types.ts:539
FullyFilled
• FullyFilled: = "FULLY_FILLED"
Defined in types.ts:540
Invalid
• Invalid: = "INVALID"
Defined in types.ts:537
StoppedWatching
• StoppedWatching: = "STOPPED_WATCHING"
Defined in types.ts:546
Unexpired
• Unexpired: = "UNEXPIRED"
Defined in types.ts:543
Unfunded
• Unfunded: = "UNFUNDED"
Defined in types.ts:544
Enumeration: RejectedOrderKind
A set of categories for rejected orders.
Enumeration members
CoordinatorError
• CoordinatorError: = "COORDINATOR_ERROR"
Defined in types.ts:630
MeshError
• MeshError: = "MESH_ERROR"
Defined in types.ts:628
MeshValidation
• MeshValidation: = "MESH_VALIDATION"
Defined in types.ts:629
ZeroExValidation
• ZeroExValidation: = "ZEROEX_VALIDATION"
Defined in types.ts:627
Enumeration: Verbosity
Enumeration members
Debug
• Debug: = 5
Defined in types.ts:211
Error
• Error: = 2
Defined in types.ts:208
Fatal
• Fatal: = 1
Defined in types.ts:207
Info
• Info: = 4
Defined in types.ts:210
Panic
• Panic: = 0
Defined in types.ts:206
Trace
• Trace: = 6
Defined in types.ts:212
Warn
• Warn: = 3
Defined in types.ts:209
Interface: SchemaValidationResult
Hierarchy
SchemaValidationResult
Properties
errors
• errors: string[]
Defined in schema_validator.ts:11
Optional
fatal
Optional
fatal• fatal? : undefined | string
Defined in schema_validator.ts:12
success
• success: boolean
Defined in schema_validator.ts:10
Interface: SchemaValidator
Hierarchy
SchemaValidator
Properties
messageValidator
• messageValidator: function
Defined in schema_validator.ts:17
Type declaration:
▸ (input
: string): SchemaValidationResult
Parameters:
Name
Type
input
string
orderValidator
• orderValidator: function
Defined in schema_validator.ts:16
Type declaration:
▸ (input
: string): SchemaValidationResult
Parameters:
Name
Type
input
string
Interface: AcceptedOrderInfo
Info for any orders that were accepted.
Hierarchy
AcceptedOrderInfo
Properties
fillableTakerAssetAmount
• fillableTakerAssetAmount: BigNumber
Defined in types.ts:608
isNew
• isNew: boolean
Defined in types.ts:609
orderHash
• orderHash: string
Defined in types.ts:606
signedOrder
• signedOrder: SignedOrder
Defined in types.ts:607
Interface: Config
A set of configuration options for Mesh.
Hierarchy
Config
Properties
Optional
blockPollingIntervalSeconds
Optional
blockPollingIntervalSeconds• blockPollingIntervalSeconds? : undefined | number
Defined in types.ts:118
Optional
bootstrapList
Optional
bootstrapList• bootstrapList? : string[]
Defined in types.ts:111
Optional
customContractAddresses
Optional
customContractAddresses• customContractAddresses? : ContractAddresses
Defined in types.ts:162
Optional
customOrderFilter
Optional
customOrderFilter• customOrderFilter? : JsonSchema
Defined in types.ts:187
Optional
enableEthereumRPCRateLimiting
Optional
enableEthereumRPCRateLimiting• enableEthereumRPCRateLimiting? : undefined | false | true
Defined in types.ts:135
ethereumChainID
• ethereumChainID: number
Defined in types.ts:103
Optional
ethereumRPCMaxContentLength
Optional
ethereumRPCMaxContentLength• ethereumRPCMaxContentLength? : undefined | number
Defined in types.ts:127
Optional
ethereumRPCMaxRequestsPer24HrUTC
Optional
ethereumRPCMaxRequestsPer24HrUTC• ethereumRPCMaxRequestsPer24HrUTC? : undefined | number
Defined in types.ts:140
Optional
ethereumRPCMaxRequestsPerSecond
Optional
ethereumRPCMaxRequestsPerSecond• ethereumRPCMaxRequestsPerSecond? : undefined | number
Defined in types.ts:146
Optional
ethereumRPCURL
Optional
ethereumRPCURL• ethereumRPCURL? : undefined | string
Defined in types.ts:100
Optional
maxOrdersInStorage
Optional
maxOrdersInStorage• maxOrdersInStorage? : undefined | number
Defined in types.ts:167
Optional
useBootstrapList
Optional
useBootstrapList• useBootstrapList? : undefined | false | true
Defined in types.ts:106
Optional
verbosity
Optional
verbosity• verbosity? : Verbosity
Defined in types.ts:97
Optional
web3Provider
Optional
web3Provider• web3Provider? : SupportedProvider
Defined in types.ts:190
Interface: ContractAddresses
Hierarchy
ContractAddresses
Properties
Optional
coordinator
Optional
coordinator• coordinator? : undefined | string
Defined in types.ts:199
Optional
coordinatorRegistry
Optional
coordinatorRegistry• coordinatorRegistry? : undefined | string
Defined in types.ts:200
devUtils
• devUtils: string
Defined in types.ts:195
erc1155Proxy
• erc1155Proxy: string
Defined in types.ts:198
erc20Proxy
• erc20Proxy: string
Defined in types.ts:196
erc721Proxy
• erc721Proxy: string
Defined in types.ts:197
exchange
• exchange: string
Defined in types.ts:194
Optional
weth9
Optional
weth9• weth9? : undefined | string
Defined in types.ts:201
Optional
zrxToken
Optional
zrxToken• zrxToken? : undefined | string
Defined in types.ts:202
Interface: ContractEvent
Hierarchy
ContractEvent
Properties
address
• address: string
Defined in types.ts:516
blockHash
• blockHash: string
Defined in types.ts:511
isRemoved
• isRemoved: boolean
Defined in types.ts:515
kind
• kind: ContractEventKind
Defined in types.ts:517
logIndex
• logIndex: number
Defined in types.ts:514
parameters
• parameters: ContractEventParameters
Defined in types.ts:518
txHash
• txHash: string
Defined in types.ts:512
txIndex
• txIndex: number
Defined in types.ts:513
Interface: ERC1155ApprovalForAllEvent
Hierarchy
ERC1155ApprovalForAllEvent
Properties
approved
• approved: boolean
Defined in types.ts:380
operator
• operator: string
Defined in types.ts:379
owner
• owner: string
Defined in types.ts:378
Interface: ERC1155TransferBatchEvent
Hierarchy
ERC1155TransferBatchEvent
Properties
from
• from: string
Defined in types.ts:362
ids
• ids: BigNumber[]
Defined in types.ts:364
operator
• operator: string
Defined in types.ts:361
to
• to: string
Defined in types.ts:363
values
• values: BigNumber[]
Defined in types.ts:365
Interface: ERC1155TransferSingleEvent
Hierarchy
ERC1155TransferSingleEvent
Properties
from
• from: string
Defined in types.ts:345
id
• id: BigNumber
Defined in types.ts:347
operator
• operator: string
Defined in types.ts:344
to
• to: string
Defined in types.ts:346
value
• value: BigNumber
Defined in types.ts:348
Interface: ERC20ApprovalEvent
Hierarchy
ERC20ApprovalEvent
Properties
owner
• owner: string
Defined in types.ts:299
spender
• spender: string
Defined in types.ts:300
value
• value: BigNumber
Defined in types.ts:301
Interface: ERC20TransferEvent
Hierarchy
ERC20TransferEvent
Properties
from
• from: string
Defined in types.ts:286
to
• to: string
Defined in types.ts:287
value
• value: BigNumber
Defined in types.ts:288
Interface: ERC721ApprovalEvent
Hierarchy
ERC721ApprovalEvent
Properties
approved
• approved: string
Defined in types.ts:326
owner
• owner: string
Defined in types.ts:325
tokenId
• tokenId: BigNumber
Defined in types.ts:327
Interface: ERC721ApprovalForAllEvent
Hierarchy
ERC721ApprovalForAllEvent
Properties
approved
• approved: boolean
Defined in types.ts:340
operator
• operator: string
Defined in types.ts:339
owner
• owner: string
Defined in types.ts:338
Interface: ERC721TransferEvent
Hierarchy
ERC721TransferEvent
Properties
from
• from: string
Defined in types.ts:312
to
• to: string
Defined in types.ts:313
tokenId
• tokenId: BigNumber
Defined in types.ts:314
Interface: ExchangeCancelEvent
Hierarchy
ExchangeCancelEvent
Properties
feeRecipientAddress
• feeRecipientAddress: string
Defined in types.ts:421
makerAddress
• makerAddress: string
Defined in types.ts:419
makerAssetData
• makerAssetData: string
Defined in types.ts:423
orderHash
• orderHash: string
Defined in types.ts:422
senderAddress
• senderAddress: string
Defined in types.ts:420
takerAssetData
• takerAssetData: string
Defined in types.ts:424
Interface: ExchangeCancelUpToEvent
Hierarchy
ExchangeCancelUpToEvent
Properties
makerAddress
• makerAddress: string
Defined in types.ts:428
orderEpoch
• orderEpoch: BigNumber
Defined in types.ts:430
orderSenderAddress
• orderSenderAddress: string
Defined in types.ts:429
Interface: ExchangeFillEvent
Hierarchy
ExchangeFillEvent
Properties
feeRecipientAddress
• feeRecipientAddress: string
Defined in types.ts:387
makerAddress
• makerAddress: string
Defined in types.ts:384
makerAssetData
• makerAssetData: string
Defined in types.ts:394
makerAssetFilledAmount
• makerAssetFilledAmount: BigNumber
Defined in types.ts:388
makerFeeAssetData
• makerFeeAssetData: string
Defined in types.ts:396
makerFeePaid
• makerFeePaid: BigNumber
Defined in types.ts:390
orderHash
• orderHash: string
Defined in types.ts:393
protocolFeePaid
• protocolFeePaid: BigNumber
Defined in types.ts:392
senderAddress
• senderAddress: string
Defined in types.ts:386
takerAddress
• takerAddress: string
Defined in types.ts:385
takerAssetData
• takerAssetData: string
Defined in types.ts:395
takerAssetFilledAmount
• takerAssetFilledAmount: BigNumber
Defined in types.ts:389
takerFeeAssetData
• takerFeeAssetData: string
Defined in types.ts:397
takerFeePaid
• takerFeePaid: BigNumber
Defined in types.ts:391
Interface: GetOrdersResponse
Hierarchy
GetOrdersResponse
Properties
ordersInfos
• ordersInfos: OrderInfo[]
Defined in types.ts:19
snapshotID
• snapshotID: string
Defined in types.ts:17
snapshotTimestamp
• snapshotTimestamp: number
Defined in types.ts:18
Interface: JsonSchema
An interface for JSON schema types, which are used for custom order filters.
Hierarchy
JsonSchema
Properties
Optional
$ref
Optional
$ref• $ref? : undefined | string
Defined in types.ts:41
Optional
$schema
Optional
$schema• $schema? : undefined | string
Defined in types.ts:40
Optional
additionalItems
Optional
additionalItems• additionalItems? : boolean | JsonSchema
Defined in types.ts:52
Optional
additionalProperties
Optional
additionalProperties• additionalProperties? : boolean | JsonSchema
Defined in types.ts:60
Optional
allOf
Optional
allOf• allOf? : JsonSchema[]
Defined in types.ts:82
Optional
anyOf
Optional
anyOf• anyOf? : JsonSchema[]
Defined in types.ts:83
Optional
const
Optional
const• const? : any
Defined in types.ts:79
Optional
definitions
Optional
definitions• definitions? : undefined | object
Defined in types.ts:61
Optional
dependencies
Optional
dependencies• dependencies? : undefined | object
Defined in types.ts:70
Optional
description
Optional
description• description? : undefined | string
Defined in types.ts:43
Optional
enum
Optional
enum• enum? : any[]
Defined in types.ts:73
Optional
exclusiveMaximum
Optional
exclusiveMaximum• exclusiveMaximum? : undefined | false | true
Defined in types.ts:46
Optional
exclusiveMinimum
Optional
exclusiveMinimum• exclusiveMinimum? : undefined | false | true
Defined in types.ts:48
Optional
format
Optional
format• format? : undefined | string
Defined in types.ts:81
Optional
id
Optional
id• id? : undefined | string
Defined in types.ts:39
Optional
items
Optional
items• items? : JsonSchema | JsonSchema[]
Defined in types.ts:53
Optional
maxItems
Optional
maxItems• maxItems? : undefined | number
Defined in types.ts:54
Optional
maxLength
Optional
maxLength• maxLength? : undefined | number
Defined in types.ts:49
Optional
maxProperties
Optional
maxProperties• maxProperties? : undefined | number
Defined in types.ts:57
Optional
maximum
Optional
maximum• maximum? : undefined | number
Defined in types.ts:45
Optional
minItems
Optional
minItems• minItems? : undefined | number
Defined in types.ts:55
Optional
minLength
Optional
minLength• minLength? : undefined | number
Defined in types.ts:50
Optional
minProperties
Optional
minProperties• minProperties? : undefined | number
Defined in types.ts:58
Optional
minimum
Optional
minimum• minimum? : undefined | number
Defined in types.ts:47
Optional
multipleOf
Optional
multipleOf• multipleOf? : undefined | number
Defined in types.ts:44
Optional
not
Optional
not• not? : JsonSchema
Defined in types.ts:85
Optional
oneOf
Optional
oneOf• oneOf? : JsonSchema[]
Defined in types.ts:84
Optional
pattern
Optional
pattern• pattern? : string | RegExp
Defined in types.ts:51
Optional
patternProperties
Optional
patternProperties• patternProperties? : undefined | object
Defined in types.ts:67
Optional
properties
Optional
properties• properties? : undefined | object
Defined in types.ts:64
Optional
required
Optional
required• required? : string[]
Defined in types.ts:59
Optional
title
Optional
title• title? : undefined | string
Defined in types.ts:42
Optional
type
Optional
type• type? : string | string[]
Defined in types.ts:80
Optional
uniqueItems
Optional
uniqueItems• uniqueItems? : undefined | false | true
Defined in types.ts:56
Interface: LatestBlock
Hierarchy
LatestBlock
Properties
hash
• hash: string
Defined in types.ts:643
number
• number: number
Defined in types.ts:642
Interface: OrderEvent
Order events are fired by Mesh whenever an order is added, canceled, expired, or filled.
Hierarchy
OrderEvent
Properties
contractEvents
• contractEvents: ContractEvent[]
Defined in types.ts:569
endState
• endState: OrderEventEndState
Defined in types.ts:567
fillableTakerAssetAmount
• fillableTakerAssetAmount: BigNumber
Defined in types.ts:568
orderHash
• orderHash: string
Defined in types.ts:565
signedOrder
• signedOrder: SignedOrder
Defined in types.ts:566
timestampMs
• timestampMs: number
Defined in types.ts:564
Interface: OrderInfo
Hierarchy
OrderInfo
Properties
fillableTakerAssetAmount
• fillableTakerAssetAmount: BigNumber
Defined in types.ts:32
orderHash
• orderHash: string
Defined in types.ts:30
signedOrder
• signedOrder: SignedOrder
Defined in types.ts:31
Interface: RejectedOrderInfo
Info for any orders that were rejected, including the reason they were rejected.
Hierarchy
RejectedOrderInfo
Properties
kind
• kind: RejectedOrderKind
Defined in types.ts:619
orderHash
• orderHash: string
Defined in types.ts:617
signedOrder
• signedOrder: SignedOrder
Defined in types.ts:618
status
• status: RejectedOrderStatus
Defined in types.ts:620
Interface: RejectedOrderStatus
Provides more information about why an order was rejected.
Hierarchy
RejectedOrderStatus
Properties
code
• code: string
Defined in types.ts:637
message
• message: string
Defined in types.ts:638
Interface: Stats
Hierarchy
Stats
Properties
ethRPCRateLimitExpiredRequests
• ethRPCRateLimitExpiredRequests: number
Defined in types.ts:680
ethRPCRequestsSentInCurrentUTCDay
• ethRPCRequestsSentInCurrentUTCDay: number
Defined in types.ts:679
ethereumChainID
• ethereumChainID: number
Defined in types.ts:671
latestBlock
• latestBlock: LatestBlock
Defined in types.ts:672
maxExpirationTime
• maxExpirationTime: BigNumber
Defined in types.ts:677
numOrders
• numOrders: number
Defined in types.ts:674
numOrdersIncludingRemoved
• numOrdersIncludingRemoved: number
Defined in types.ts:675
numPeers
• numPeers: number
Defined in types.ts:673
numPinnedOrders
• numPinnedOrders: number
Defined in types.ts:676
peerID
• peerID: string
Defined in types.ts:670
pubSubTopic
• pubSubTopic: string
Defined in types.ts:667
rendezvous
• rendezvous: string
Defined in types.ts:668
secondaryRendezvous
• secondaryRendezvous: string[]
Defined in types.ts:669
startOfCurrentUTCDay
• startOfCurrentUTCDay: Date
Defined in types.ts:678
version
• version: string
Defined in types.ts:666
Interface: ValidationResults
Indicates which orders where accepted, which were rejected, and why.
Hierarchy
ValidationResults
Properties
accepted
• accepted: AcceptedOrderInfo[]
Defined in types.ts:598
rejected
• rejected: RejectedOrderInfo[]
Defined in types.ts:599
Interface: WethDepositEvent
Hierarchy
WethDepositEvent
Properties
owner
• owner: string
Defined in types.ts:452
value
• value: BigNumber
Defined in types.ts:453
Interface: WethWithdrawalEvent
Hierarchy
WethWithdrawalEvent
Properties
owner
• owner: string
Defined in types.ts:441
value
• value: BigNumber
Defined in types.ts:442
Functions
loadMeshStreamingForURLAsync
▸ loadMeshStreamingWithURLAsync(url
: string
): Promise‹void
›
Defined in index.ts:7
Loads the Wasm module that is provided by fetching a url.
Parameters:
Name
Type
Description
url
string
The URL to query for the Wasm binary
loadMeshStreamingAsync
▸ loadMeshStreamingAsync(response
: Response | Promise<Response>
): Promise‹void
›
Defined in index.ts:15
Loads the Wasm module that is provided by a response.
Parameters:
Name
Type
Description
response
Response | Promise<Response>
The Wasm response that supplies the Wasm binary
Last updated