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

config

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

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: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: 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

Last updated