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

• 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

• blockPollingIntervalSeconds? : undefined | number

Defined in types.ts:118

Optional bootstrapList

• bootstrapList? : string[]

Defined in types.ts:111

Optional customContractAddresses

• customContractAddresses? : ContractAddresses

Defined in types.ts:162

Optional customOrderFilter

• customOrderFilter? : JsonSchema

Defined in types.ts:187

Optional enableEthereumRPCRateLimiting

• enableEthereumRPCRateLimiting? : undefined | false | true

Defined in types.ts:135

ethereumChainID

• ethereumChainID: number

Defined in types.ts:103

Optional ethereumRPCMaxContentLength

• ethereumRPCMaxContentLength? : undefined | number

Defined in types.ts:127

Optional ethereumRPCMaxRequestsPer24HrUTC

• ethereumRPCMaxRequestsPer24HrUTC? : undefined | number

Defined in types.ts:140

Optional ethereumRPCMaxRequestsPerSecond

• ethereumRPCMaxRequestsPerSecond? : undefined | number

Defined in types.ts:146

Optional ethereumRPCURL

• ethereumRPCURL? : undefined | string

Defined in types.ts:100

Optional maxOrdersInStorage

• maxOrdersInStorage? : undefined | number

Defined in types.ts:167

Optional useBootstrapList

• useBootstrapList? : undefined | false | true

Defined in types.ts:106

Optional verbosity

• verbosity? : Verbosity

Defined in types.ts:97

Optional web3Provider

• web3Provider? : SupportedProvider

Defined in types.ts:190

Interface: ContractAddresses

Hierarchy

  • ContractAddresses

Properties

Optional coordinator

• coordinator? : undefined | string

Defined in types.ts:199

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

• weth9? : undefined | string

Defined in types.ts:201

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

• $ref? : undefined | string

Defined in types.ts:41

Optional $schema

• $schema? : undefined | string

Defined in types.ts:40

Optional additionalItems

• additionalItems? : boolean | JsonSchema

Defined in types.ts:52

Optional additionalProperties

• additionalProperties? : boolean | JsonSchema

Defined in types.ts:60

Optional allOf

• allOf? : JsonSchema[]

Defined in types.ts:82

Optional anyOf

• anyOf? : JsonSchema[]

Defined in types.ts:83

Optional const

• const? : any

Defined in types.ts:79

Optional definitions

• definitions? : undefined | object

Defined in types.ts:61

Optional dependencies

• dependencies? : undefined | object

Defined in types.ts:70

Optional description

• description? : undefined | string

Defined in types.ts:43

Optional enum

• enum? : any[]

Defined in types.ts:73

Optional exclusiveMaximum

• exclusiveMaximum? : undefined | false | true

Defined in types.ts:46

Optional exclusiveMinimum

• exclusiveMinimum? : undefined | false | true

Defined in types.ts:48

Optional format

• format? : undefined | string

Defined in types.ts:81

Optional id

• id? : undefined | string

Defined in types.ts:39

Optional items

• items? : JsonSchema | JsonSchema[]

Defined in types.ts:53

Optional maxItems

• maxItems? : undefined | number

Defined in types.ts:54

Optional maxLength

• maxLength? : undefined | number

Defined in types.ts:49

Optional maxProperties

• maxProperties? : undefined | number

Defined in types.ts:57

Optional maximum

• maximum? : undefined | number

Defined in types.ts:45

Optional minItems

• minItems? : undefined | number

Defined in types.ts:55

Optional minLength

• minLength? : undefined | number

Defined in types.ts:50

Optional minProperties

• minProperties? : undefined | number

Defined in types.ts:58

Optional minimum

• minimum? : undefined | number

Defined in types.ts:47

Optional multipleOf

• multipleOf? : undefined | number

Defined in types.ts:44

Optional not

• not? : JsonSchema

Defined in types.ts:85

Optional oneOf

• oneOf? : JsonSchema[]

Defined in types.ts:84

Optional pattern

• pattern? : string | RegExp

Defined in types.ts:51

Optional patternProperties

• patternProperties? : undefined | object

Defined in types.ts:67

Optional properties

• properties? : undefined | object

Defined in types.ts:64

Optional required

• required? : string[]

Defined in types.ts:59

Optional title

• title? : undefined | string

Defined in types.ts:42

Optional type

• type? : string | string[]

Defined in types.ts:80

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 &#124; Promise<Response>

The Wasm response that supplies the Wasm binary

Last updated

Was this helpful?