Browser 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:141
Instantiates a new Mesh instance.
Parameters:
Name | Type | Description |
| Configuration options for Mesh |
Returns: Mesh
An instance of Mesh
Methods
addOrdersAsync
▸ addOrdersAsync(orders
: SignedOrder[], pinned
: boolean): Promise‹ValidationResults›
Defined in mesh.ts:291
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 |
| SignedOrder[] | - | An array of orders to add. |
| 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:220
Get all 0x signed orders currently stored in the Mesh node
Parameters:
Name | Type | Default | Description |
| 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:262
Get page of 0x signed orders stored on the Mesh node at the specified snapshot
Parameters:
Name | Type | Description |
| number | Page index at which to retrieve orders |
| number | Number of signedOrders to fetch per paginated request |
| 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:203
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:161
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 |
| Error |
Returns: void
onOrderEvents
▸ onOrderEvents(handler
: function): void
Defined in mesh.ts:176
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 |
|
Returns: void
startAsync
▸ startAsync(): Promise‹void›
Defined in mesh.ts:187
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:444
ERC1155TransferBatchEvent
• ERC1155TransferBatchEvent: = "ERC1155TransferBatchEvent"
Defined in types.ts:446
ERC1155TransferSingleEvent
• ERC1155TransferSingleEvent: = "ERC1155TransferSingleEvent"
Defined in types.ts:445
ERC20ApprovalEvent
• ERC20ApprovalEvent: = "ERC20ApprovalEvent"
Defined in types.ts:440
ERC20TransferEvent
• ERC20TransferEvent: = "ERC20TransferEvent"
Defined in types.ts:439
ERC721ApprovalEvent
• ERC721ApprovalEvent: = "ERC721ApprovalEvent"
Defined in types.ts:442
ERC721ApprovalForAllEvent
• ERC721ApprovalForAllEvent: = "ERC721ApprovalForAllEvent"
Defined in types.ts:443
ERC721TransferEvent
• ERC721TransferEvent: = "ERC721TransferEvent"
Defined in types.ts:441
ExchangeCancelEvent
• ExchangeCancelEvent: = "ExchangeCancelEvent"
Defined in types.ts:448
ExchangeCancelUpToEvent
• ExchangeCancelUpToEvent: = "ExchangeCancelUpToEvent"
Defined in types.ts:449
ExchangeFillEvent
• ExchangeFillEvent: = "ExchangeFillEvent"
Defined in types.ts:447
WethDepositEvent
• WethDepositEvent: = "WethDepositEvent"
Defined in types.ts:450
WethWithdrawalEvent
• WethWithdrawalEvent: = "WethWithdrawalEvent"
Defined in types.ts:451
Enumeration: OrderEventEndState
Enumeration members
Added
• Added: = "ADDED"
Defined in types.ts:509
Cancelled
• Cancelled: = "CANCELLED"
Defined in types.ts:512
Expired
• Expired: = "EXPIRED"
Defined in types.ts:513
FillabilityIncreased
• FillabilityIncreased: = "FILLABILITY_INCREASED"
Defined in types.ts:516
Filled
• Filled: = "FILLED"
Defined in types.ts:510
FullyFilled
• FullyFilled: = "FULLY_FILLED"
Defined in types.ts:511
Invalid
• Invalid: = "INVALID"
Defined in types.ts:508
StoppedWatching
• StoppedWatching: = "STOPPED_WATCHING"
Defined in types.ts:517
Unexpired
• Unexpired: = "UNEXPIRED"
Defined in types.ts:514
Unfunded
• Unfunded: = "UNFUNDED"
Defined in types.ts:515
Enumeration: RejectedOrderKind
A set of categories for rejected orders.
Enumeration members
CoordinatorError
• CoordinatorError: = "COORDINATOR_ERROR"
Defined in types.ts:600
MeshError
• MeshError: = "MESH_ERROR"
Defined in types.ts:598
MeshValidation
• MeshValidation: = "MESH_VALIDATION"
Defined in types.ts:599
ZeroExValidation
• ZeroExValidation: = "ZEROEX_VALIDATION"
Defined in types.ts:597
Enumeration: Verbosity
Enumeration members
Debug
• Debug: = 5
Defined in types.ts:209
Error
• Error: = 2
Defined in types.ts:206
Fatal
• Fatal: = 1
Defined in types.ts:205
Info
• Info: = 4
Defined in types.ts:208
Panic
• Panic: = 0
Defined in types.ts:204
Trace
• Trace: = 6
Defined in types.ts:210
Warn
• Warn: = 3
Defined in types.ts:207
Interface: AcceptedOrderInfo
Info for any orders that were accepted.
Hierarchy
AcceptedOrderInfo
Properties
fillableTakerAssetAmount
• fillableTakerAssetAmount: BigNumber
Defined in types.ts:578
isNew
• isNew: boolean
Defined in types.ts:579
orderHash
• orderHash: string
Defined in types.ts:576
signedOrder
• signedOrder: SignedOrder
Defined in types.ts:577
Interface: Config
A set of configuration options for Mesh.
Hierarchy
Config
Properties
Optional
blockPollingIntervalSeconds
Optional
blockPollingIntervalSeconds• blockPollingIntervalSeconds? : undefined | number
Defined in types.ts:116
Optional
bootstrapList
Optional
bootstrapList• bootstrapList? : string[]
Defined in types.ts:109
Optional
customContractAddresses
Optional
customContractAddresses• customContractAddresses? : ContractAddresses
Defined in types.ts:160
Optional
customOrderFilter
Optional
customOrderFilter• customOrderFilter? : JsonSchema
Defined in types.ts:185
Optional
enableEthereumRPCRateLimiting
Optional
enableEthereumRPCRateLimiting• enableEthereumRPCRateLimiting? : undefined | false | true
Defined in types.ts:133
ethereumChainID
• ethereumChainID: number
Defined in types.ts:101
Optional
ethereumRPCMaxContentLength
Optional
ethereumRPCMaxContentLength• ethereumRPCMaxContentLength? : undefined | number
Defined in types.ts:125
Optional
ethereumRPCMaxRequestsPer24HrUTC
Optional
ethereumRPCMaxRequestsPer24HrUTC• ethereumRPCMaxRequestsPer24HrUTC? : undefined | number
Defined in types.ts:138
Optional
ethereumRPCMaxRequestsPerSecond
Optional
ethereumRPCMaxRequestsPerSecond• ethereumRPCMaxRequestsPerSecond? : undefined | number
Defined in types.ts:144
Optional
ethereumRPCURL
Optional
ethereumRPCURL• ethereumRPCURL? : undefined | string
Defined in types.ts:98
Optional
maxOrdersInStorage
Optional
maxOrdersInStorage• maxOrdersInStorage? : undefined | number
Defined in types.ts:165
Optional
useBootstrapList
Optional
useBootstrapList• useBootstrapList? : undefined | false | true
Defined in types.ts:104
Optional
verbosity
Optional
verbosity• verbosity? : Verbosity
Defined in types.ts:95
Optional
web3Provider
Optional
web3Provider• web3Provider? : SupportedProvider
Defined in types.ts:188
Interface: ContractAddresses
Hierarchy
ContractAddresses
Properties
Optional
coordinator
Optional
coordinator• coordinator? : undefined | string
Defined in types.ts:197
Optional
coordinatorRegistry
Optional
coordinatorRegistry• coordinatorRegistry? : undefined | string
Defined in types.ts:198
devUtils
• devUtils: string
Defined in types.ts:193
erc1155Proxy
• erc1155Proxy: string
Defined in types.ts:196
erc20Proxy
• erc20Proxy: string
Defined in types.ts:194
erc721Proxy
• erc721Proxy: string
Defined in types.ts:195
exchange
• exchange: string
Defined in types.ts:192
Optional
weth9
Optional
weth9• weth9? : undefined | string
Defined in types.ts:199
Optional
zrxToken
Optional
zrxToken• zrxToken? : undefined | string
Defined in types.ts:200
Interface: ContractEvent
Hierarchy
ContractEvent
Properties
address
• address: string
Defined in types.ts:490
blockHash
• blockHash: string
Defined in types.ts:485
isRemoved
• isRemoved: boolean
Defined in types.ts:489
kind
• kind: ContractEventKind
Defined in types.ts:491
logIndex
• logIndex: number
Defined in types.ts:488
parameters
• parameters: ContractEventParameters
Defined in types.ts:492
txHash
• txHash: string
Defined in types.ts:486
txIndex
• txIndex: number
Defined in types.ts:487
Interface: ERC1155ApprovalForAllEvent
Hierarchy
ERC1155ApprovalForAllEvent
Properties
approved
• approved: boolean
Defined in types.ts:360
operator
• operator: string
Defined in types.ts:359
owner
• owner: string
Defined in types.ts:358
Interface: ERC1155TransferBatchEvent
Hierarchy
ERC1155TransferBatchEvent
Properties
from
• from: string
Defined in types.ts:343
ids
• ids: BigNumber[]
Defined in types.ts:345
operator
• operator: string
Defined in types.ts:342
to
• to: string
Defined in types.ts:344
values
• values: BigNumber[]
Defined in types.ts:346
Interface: ERC1155TransferSingleEvent
Hierarchy
ERC1155TransferSingleEvent
Properties
from
• from: string
Defined in types.ts:327
id
• id: BigNumber
Defined in types.ts:329
operator
• operator: string
Defined in types.ts:326
to
• to: string
Defined in types.ts:328
value
• value: BigNumber
Defined in types.ts:330
Interface: ERC20ApprovalEvent
Hierarchy
ERC20ApprovalEvent
Properties
owner
• owner: string
Defined in types.ts:284
spender
• spender: string
Defined in types.ts:285
value
• value: BigNumber
Defined in types.ts:286
Interface: ERC20TransferEvent
Hierarchy
ERC20TransferEvent
Properties
from
• from: string
Defined in types.ts:272
to
• to: string
Defined in types.ts:273
value
• value: BigNumber
Defined in types.ts:274
Interface: ERC721ApprovalEvent
Hierarchy
ERC721ApprovalEvent
Properties
approved
• approved: string
Defined in types.ts:309
owner
• owner: string
Defined in types.ts:308
tokenId
• tokenId: BigNumber
Defined in types.ts:310
Interface: ERC721ApprovalForAllEvent
Hierarchy
ERC721ApprovalForAllEvent
Properties
approved
• approved: boolean
Defined in types.ts:322
operator
• operator: string
Defined in types.ts:321
owner
• owner: string
Defined in types.ts:320
Interface: ERC721TransferEvent
Hierarchy
ERC721TransferEvent
Properties
from
• from: string
Defined in types.ts:296
to
• to: string
Defined in types.ts:297
tokenId
• tokenId: BigNumber
Defined in types.ts:298
Interface: ExchangeCancelEvent
Hierarchy
ExchangeCancelEvent
Properties
feeRecipientAddress
• feeRecipientAddress: string
Defined in types.ts:400
makerAddress
• makerAddress: string
Defined in types.ts:398
makerAssetData
• makerAssetData: string
Defined in types.ts:402
orderHash
• orderHash: string
Defined in types.ts:401
senderAddress
• senderAddress: string
Defined in types.ts:399
takerAssetData
• takerAssetData: string
Defined in types.ts:403
Interface: ExchangeCancelUpToEvent
Hierarchy
ExchangeCancelUpToEvent
Properties
makerAddress
• makerAddress: string
Defined in types.ts:407
orderEpoch
• orderEpoch: BigNumber
Defined in types.ts:409
orderSenderAddress
• orderSenderAddress: string
Defined in types.ts:408
Interface: ExchangeFillEvent
Hierarchy
ExchangeFillEvent
Properties
feeRecipientAddress
• feeRecipientAddress: string
Defined in types.ts:367
makerAddress
• makerAddress: string
Defined in types.ts:364
makerAssetData
• makerAssetData: string
Defined in types.ts:374
makerAssetFilledAmount
• makerAssetFilledAmount: BigNumber
Defined in types.ts:368
makerFeeAssetData
• makerFeeAssetData: string
Defined in types.ts:376
makerFeePaid
• makerFeePaid: BigNumber
Defined in types.ts:370
orderHash
• orderHash: string
Defined in types.ts:373
protocolFeePaid
• protocolFeePaid: BigNumber
Defined in types.ts:372
senderAddress
• senderAddress: string
Defined in types.ts:366
takerAddress
• takerAddress: string
Defined in types.ts:365
takerAssetData
• takerAssetData: string
Defined in types.ts:375
takerAssetFilledAmount
• takerAssetFilledAmount: BigNumber
Defined in types.ts:369
takerFeeAssetData
• takerFeeAssetData: string
Defined in types.ts:377
takerFeePaid
• takerFeePaid: BigNumber
Defined in types.ts:371
Interface: GetOrdersResponse
Hierarchy
GetOrdersResponse
Properties
ordersInfos
• ordersInfos: OrderInfo[]
Defined in types.ts:18
snapshotID
• snapshotID: string
Defined in types.ts:16
snapshotTimestamp
• snapshotTimestamp: number
Defined in types.ts:17
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:39
Optional
$schema
Optional
$schema• $schema? : undefined | string
Defined in types.ts:38
Optional
additionalItems
Optional
additionalItems• additionalItems? : boolean | JsonSchema
Defined in types.ts:50
Optional
additionalProperties
Optional
additionalProperties• additionalProperties? : boolean | JsonSchema
Defined in types.ts:58
Optional
allOf
Optional
allOf• allOf? : JsonSchema[]
Defined in types.ts:80
Optional
anyOf
Optional
anyOf• anyOf? : JsonSchema[]
Defined in types.ts:81
Optional
const
Optional
const• const? : any
Defined in types.ts:77
Optional
definitions
Optional
definitions• definitions? : undefined | object
Defined in types.ts:59
Optional
dependencies
Optional
dependencies• dependencies? : undefined | object
Defined in types.ts:68
Optional
description
Optional
description• description? : undefined | string
Defined in types.ts:41
Optional
enum
Optional
enum• enum? : any[]
Defined in types.ts:71
Optional
exclusiveMaximum
Optional
exclusiveMaximum• exclusiveMaximum? : undefined | false | true
Defined in types.ts:44
Optional
exclusiveMinimum
Optional
exclusiveMinimum• exclusiveMinimum? : undefined | false | true
Defined in types.ts:46
Optional
format
Optional
format• format? : undefined | string
Defined in types.ts:79
Optional
id
Optional
id• id? : undefined | string
Defined in types.ts:37
Optional
items
Optional
items• items? : JsonSchema | JsonSchema[]
Defined in types.ts:51
Optional
maxItems
Optional
maxItems• maxItems? : undefined | number
Defined in types.ts:52
Optional
maxLength
Optional
maxLength• maxLength? : undefined | number
Defined in types.ts:47
Optional
maxProperties
Optional
maxProperties• maxProperties? : undefined | number
Defined in types.ts:55
Optional
maximum
Optional
maximum• maximum? : undefined | number
Defined in types.ts:43
Optional
minItems
Optional
minItems• minItems? : undefined | number
Defined in types.ts:53
Optional
minLength
Optional
minLength• minLength? : undefined | number
Defined in types.ts:48
Optional
minProperties
Optional
minProperties• minProperties? : undefined | number
Defined in types.ts:56
Optional
minimum
Optional
minimum• minimum? : undefined | number
Defined in types.ts:45
Optional
multipleOf
Optional
multipleOf• multipleOf? : undefined | number
Defined in types.ts:42
Optional
not
Optional
not• not? : JsonSchema
Defined in types.ts:83
Optional
oneOf
Optional
oneOf• oneOf? : JsonSchema[]
Defined in types.ts:82
Optional
pattern
Optional
pattern• pattern? : string | RegExp
Defined in types.ts:49
Optional
patternProperties
Optional
patternProperties• patternProperties? : undefined | object
Defined in types.ts:65
Optional
properties
Optional
properties• properties? : undefined | object
Defined in types.ts:62
Optional
required
Optional
required• required? : string[]
Defined in types.ts:57
Optional
title
Optional
title• title? : undefined | string
Defined in types.ts:40
Optional
type
Optional
type• type? : string | string[]
Defined in types.ts:78
Optional
uniqueItems
Optional
uniqueItems• uniqueItems? : undefined | false | true
Defined in types.ts:54
Interface: LatestBlock
Hierarchy
LatestBlock
Properties
hash
• hash: string
Defined in types.ts:613
number
• number: number
Defined in types.ts:612
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:539
endState
• endState: OrderEventEndState
Defined in types.ts:537
fillableTakerAssetAmount
• fillableTakerAssetAmount: BigNumber
Defined in types.ts:538
orderHash
• orderHash: string
Defined in types.ts:535
signedOrder
• signedOrder: SignedOrder
Defined in types.ts:536
timestampMs
• timestampMs: number
Defined in types.ts:534
Interface: OrderInfo
Hierarchy
OrderInfo
Properties
fillableTakerAssetAmount
• fillableTakerAssetAmount: BigNumber
Defined in types.ts:30
orderHash
• orderHash: string
Defined in types.ts:28
signedOrder
• signedOrder: SignedOrder
Defined in types.ts:29
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:589
orderHash
• orderHash: string
Defined in types.ts:587
signedOrder
• signedOrder: SignedOrder
Defined in types.ts:588
status
• status: RejectedOrderStatus
Defined in types.ts:590
Interface: RejectedOrderStatus
Provides more information about why an order was rejected.
Hierarchy
RejectedOrderStatus
Properties
code
• code: string
Defined in types.ts:607
message
• message: string
Defined in types.ts:608
Interface: Stats
Hierarchy
Stats
Properties
ethRPCRateLimitExpiredRequests
• ethRPCRateLimitExpiredRequests: number
Defined in types.ts:649
ethRPCRequestsSentInCurrentUTCDay
• ethRPCRequestsSentInCurrentUTCDay: number
Defined in types.ts:648
ethereumChainID
• ethereumChainID: number
Defined in types.ts:640
latestBlock
• latestBlock: LatestBlock
Defined in types.ts:641
maxExpirationTime
• maxExpirationTime: BigNumber
Defined in types.ts:646
numOrders
• numOrders: number
Defined in types.ts:643
numOrdersIncludingRemoved
• numOrdersIncludingRemoved: number
Defined in types.ts:644
numPeers
• numPeers: number
Defined in types.ts:642
numPinnedOrders
• numPinnedOrders: number
Defined in types.ts:645
peerID
• peerID: string
Defined in types.ts:639
pubSubTopic
• pubSubTopic: string
Defined in types.ts:636
rendezvous
• rendezvous: string
Defined in types.ts:637
secondaryRendezvous
• secondaryRendezvous: string[]
Defined in types.ts:638
startOfCurrentUTCDay
• startOfCurrentUTCDay: Date
Defined in types.ts:647
version
• version: string
Defined in types.ts:635
Interface: ValidationResults
Indicates which orders where accepted, which were rejected, and why.
Hierarchy
ValidationResults
Properties
accepted
• accepted: AcceptedOrderInfo[]
Defined in types.ts:568
rejected
• rejected: RejectedOrderInfo[]
Defined in types.ts:569
Interface: WethDepositEvent
Hierarchy
WethDepositEvent
Properties
owner
• owner: string
Defined in types.ts:429
value
• value: BigNumber
Defined in types.ts:430
Interface: WethWithdrawalEvent
Hierarchy
WethWithdrawalEvent
Properties
owner
• owner: string
Defined in types.ts:419
value
• value: BigNumber
Defined in types.ts:420
Last updated