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:141
Instantiates a new Mesh instance.
Parameters:
Name
Type
Description
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
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:220
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:262
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: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
err
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
events
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
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`
The Wasm response that supplies the Wasm binary
Last updated
Was this helpful?