The main class for this package. Has methods for receiving order events and sending orders through the 0x Mesh network.
+ new Mesh (config: Config ): Mesh
Defined in mesh.ts:132 arrow-up-right
Instantiates a new Mesh instance.
Parameters:
Configuration options for Mesh
Returns: Mesh
An instance of Mesh
Optional wrapper
• wrapper ? : MeshWrapper
Defined in mesh.ts:129 arrow-up-right
▸ addOrdersAsync (orders: SignedOrder[], pinned: boolean): Promise‹ ValidationResults ›
Defined in mesh.ts:269 arrow-up-right
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:
An array of orders to add.
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 (perPage: number): Promise‹ GetOrdersResponse ›
Defined in mesh.ts:207 arrow-up-right
Get all 0x signed orders currently stored in the Mesh node
Parameters:
number of signedOrders to fetch per paginated request
Returns: Promise‹ GetOrdersResponse ›
the snapshotID, snapshotTimestamp and all orders, their hashes and fillableTakerAssetAmounts
getOrdersForPageAsync
▸ getOrdersForPageAsync (perPage: number, minOrderHash?: undefined | string): Promise‹ GetOrdersResponse ›
Defined in mesh.ts:240 arrow-up-right
Get page of 0x signed orders stored on the Mesh node at the specified snapshot
Parameters:
Number of signedOrders to fetch per paginated request
The minimum order hash for the returned orders. Should be set based on the last hash from the previous response.
Returns: Promise‹ GetOrdersResponse ›
Up to perPage orders with hash greater than minOrderHash, including order hashes and fillableTakerAssetAmounts
▸ getStatsAsync (): Promise‹ Stats ›
Defined in mesh.ts:190 arrow-up-right
Returns various stats about Mesh, including the total number of orders and the number of peers Mesh is connected to.
Returns: Promise‹ Stats ›
â–¸ onError (handler: function): void
Defined in mesh.ts:152 arrow-up-right
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:
Returns: void
â–¸ onOrderEvents (handler: function): void
Defined in mesh.ts:165 arrow-up-right
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:
Returns: void
▸ startAsync (): Promise‹void›
Defined in mesh.ts:174 arrow-up-right
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:505 arrow-up-right
ERC1155TransferBatchEvent
• ERC1155TransferBatchEvent : = "ERC1155TransferBatchEvent"
Defined in types.ts:507 arrow-up-right
ERC1155TransferSingleEvent
• ERC1155TransferSingleEvent : = "ERC1155TransferSingleEvent"
Defined in types.ts:506 arrow-up-right
ERC20ApprovalEvent
• ERC20ApprovalEvent : = "ERC20ApprovalEvent"
Defined in types.ts:501 arrow-up-right
ERC20TransferEvent
• ERC20TransferEvent : = "ERC20TransferEvent"
Defined in types.ts:500 arrow-up-right
ERC721ApprovalEvent
• ERC721ApprovalEvent : = "ERC721ApprovalEvent"
Defined in types.ts:503 arrow-up-right
ERC721ApprovalForAllEvent
• ERC721ApprovalForAllEvent : = "ERC721ApprovalForAllEvent"
Defined in types.ts:504 arrow-up-right
ERC721TransferEvent
• ERC721TransferEvent : = "ERC721TransferEvent"
Defined in types.ts:502 arrow-up-right
ExchangeCancelEvent
• ExchangeCancelEvent : = "ExchangeCancelEvent"
Defined in types.ts:509 arrow-up-right
ExchangeCancelUpToEvent
• ExchangeCancelUpToEvent : = "ExchangeCancelUpToEvent"
Defined in types.ts:510 arrow-up-right
ExchangeFillEvent
• ExchangeFillEvent : = "ExchangeFillEvent"
Defined in types.ts:508 arrow-up-right
WethDepositEvent
• WethDepositEvent : = "WethDepositEvent"
Defined in types.ts:511 arrow-up-right
WethWithdrawalEvent
• WethWithdrawalEvent : = "WethWithdrawalEvent"
Defined in types.ts:512 arrow-up-right
Enumeration: OrderEventEndState
Enumeration members
• Added : = "ADDED"
Defined in types.ts:575 arrow-up-right
• Cancelled : = "CANCELLED"
Defined in types.ts:578 arrow-up-right
• Expired : = "EXPIRED"
Defined in types.ts:579 arrow-up-right
FillabilityIncreased
• FillabilityIncreased : = "FILLABILITY_INCREASED"
Defined in types.ts:582 arrow-up-right
• Filled : = "FILLED"
Defined in types.ts:576 arrow-up-right
• FullyFilled : = "FULLY_FILLED"
Defined in types.ts:577 arrow-up-right
• Invalid : = "INVALID"
Defined in types.ts:574 arrow-up-right
StoppedWatching
• StoppedWatching : = "STOPPED_WATCHING"
Defined in types.ts:583 arrow-up-right
• Unexpired : = "UNEXPIRED"
Defined in types.ts:580 arrow-up-right
• Unfunded : = "UNFUNDED"
Defined in types.ts:581 arrow-up-right
Enumeration: RejectedOrderKind
A set of categories for rejected orders.
Enumeration members
• MeshError : = "MESH_ERROR"
Defined in types.ts:714 arrow-up-right
• MeshValidation : = "MESH_VALIDATION"
Defined in types.ts:715 arrow-up-right
ZeroExValidation
• ZeroExValidation : = "ZEROEX_VALIDATION"
Defined in types.ts:713 arrow-up-right
Enumeration: Verbosity
Enumeration members
• Debug : = 5
Defined in types.ts:238 arrow-up-right
• Error : = 2
Defined in types.ts:235 arrow-up-right
• Fatal : = 1
Defined in types.ts:234 arrow-up-right
• Info : = 4
Defined in types.ts:237 arrow-up-right
• Panic : = 0
Defined in types.ts:233 arrow-up-right
• Trace : = 6
Defined in types.ts:239 arrow-up-right
• Warn : = 3
Defined in types.ts:236 arrow-up-right
Interface: AcceptedOrderInfo
Info for any orders that were accepted.
fillableTakerAssetAmount
• fillableTakerAssetAmount : BigNumber
Defined in types.ts:694 arrow-up-right
• isNew : boolean
Defined in types.ts:695 arrow-up-right
• orderHash : string
Defined in types.ts:692 arrow-up-right
• signedOrder : SignedOrder
Defined in types.ts:693 arrow-up-right
Interface: Config
A set of configuration options for Mesh.
Optional blockPollingIntervalSeconds
• blockPollingIntervalSeconds ? : undefined | number
Defined in types.ts:144 arrow-up-right
Optional bootstrapList
• bootstrapList ? : string[]
Defined in types.ts:137 arrow-up-right
Optional customContractAddresses
• customContractAddresses ? : ContractAddresses
Defined in types.ts:188 arrow-up-right
Optional customOrderFilter
• customOrderFilter ? : JsonSchema
Defined in types.ts:213 arrow-up-right
Optional enableEthereumRPCRateLimiting
• enableEthereumRPCRateLimiting ? : undefined | false | true
Defined in types.ts:161 arrow-up-right
ethereumChainID
• ethereumChainID : number
Defined in types.ts:129 arrow-up-right
Optional ethereumRPCMaxContentLength
• ethereumRPCMaxContentLength ? : undefined | number
Defined in types.ts:153 arrow-up-right
Optional ethereumRPCMaxRequestsPer24HrUTC
• ethereumRPCMaxRequestsPer24HrUTC ? : undefined | number
Defined in types.ts:166 arrow-up-right
Optional ethereumRPCMaxRequestsPerSecond
• ethereumRPCMaxRequestsPerSecond ? : undefined | number
Defined in types.ts:172 arrow-up-right
Optional ethereumRPCURL
• ethereumRPCURL ? : undefined | string
Defined in types.ts:126 arrow-up-right
Optional maxBytesPerSecond
• maxBytesPerSecond ? : undefined | number
Defined in types.ts:219 arrow-up-right
Optional maxOrdersInStorage
• maxOrdersInStorage ? : undefined | number
Defined in types.ts:193 arrow-up-right
Optional useBootstrapList
• useBootstrapList ? : undefined | false | true
Defined in types.ts:132 arrow-up-right
Optional verbosity
• verbosity ? : Verbosity
Defined in types.ts:123 arrow-up-right
Optional web3Provider
• web3Provider ? : SupportedProvider
Defined in types.ts:216 arrow-up-right
Interface: ContractAddresses
• devUtils : string
Defined in types.ts:224 arrow-up-right
• erc1155Proxy : string
Defined in types.ts:227 arrow-up-right
• erc20Proxy : string
Defined in types.ts:225 arrow-up-right
• erc721Proxy : string
Defined in types.ts:226 arrow-up-right
• exchange : string
Defined in types.ts:223 arrow-up-right
• weth9 ? : undefined | string
Defined in types.ts:228 arrow-up-right
Optional zrxToken
• zrxToken ? : undefined | string
Defined in types.ts:229 arrow-up-right
Interface: ContractEvent
• address : string
Defined in types.ts:553 arrow-up-right
• blockHash : string
Defined in types.ts:548 arrow-up-right
• isRemoved : boolean
Defined in types.ts:552 arrow-up-right
• kind : ContractEventKind
Defined in types.ts:554 arrow-up-right
• logIndex : number
Defined in types.ts:551 arrow-up-right
• parameters : ContractEventParameters
Defined in types.ts:555 arrow-up-right
• txHash : string
Defined in types.ts:549 arrow-up-right
• txIndex : number
Defined in types.ts:550 arrow-up-right
Interface: ERC1155ApprovalForAllEvent
ERC1155ApprovalForAllEvent
• approved : boolean
Defined in types.ts:417 arrow-up-right
• operator : string
Defined in types.ts:416 arrow-up-right
• owner : string
Defined in types.ts:415 arrow-up-right
Interface: ERC1155TransferBatchEvent
ERC1155TransferBatchEvent
• from : string
Defined in types.ts:399 arrow-up-right
• ids : BigNumber[]
Defined in types.ts:401 arrow-up-right
• operator : string
Defined in types.ts:398 arrow-up-right
• to : string
Defined in types.ts:400 arrow-up-right
• values : BigNumber[]
Defined in types.ts:402 arrow-up-right
Interface: ERC1155TransferSingleEvent
ERC1155TransferSingleEvent
• from : string
Defined in types.ts:382 arrow-up-right
• id : BigNumber
Defined in types.ts:384 arrow-up-right
• operator : string
Defined in types.ts:381 arrow-up-right
• to : string
Defined in types.ts:383 arrow-up-right
• value : BigNumber
Defined in types.ts:385 arrow-up-right
Interface: ERC20ApprovalEvent
• owner : string
Defined in types.ts:336 arrow-up-right
• spender : string
Defined in types.ts:337 arrow-up-right
• value : BigNumber
Defined in types.ts:338 arrow-up-right
Interface: ERC20TransferEvent
• from : string
Defined in types.ts:323 arrow-up-right
• to : string
Defined in types.ts:324 arrow-up-right
• value : BigNumber
Defined in types.ts:325 arrow-up-right
Interface: ERC721ApprovalEvent
• approved : string
Defined in types.ts:363 arrow-up-right
• owner : string
Defined in types.ts:362 arrow-up-right
• tokenId : BigNumber
Defined in types.ts:364 arrow-up-right
Interface: ERC721ApprovalForAllEvent
ERC721ApprovalForAllEvent
• approved : boolean
Defined in types.ts:377 arrow-up-right
• operator : string
Defined in types.ts:376 arrow-up-right
• owner : string
Defined in types.ts:375 arrow-up-right
Interface: ERC721TransferEvent
• from : string
Defined in types.ts:349 arrow-up-right
• to : string
Defined in types.ts:350 arrow-up-right
• tokenId : BigNumber
Defined in types.ts:351 arrow-up-right
Interface: ExchangeCancelEvent
feeRecipientAddress
• feeRecipientAddress : string
Defined in types.ts:458 arrow-up-right
• makerAddress : string
Defined in types.ts:456 arrow-up-right
• makerAssetData : string
Defined in types.ts:460 arrow-up-right
• orderHash : string
Defined in types.ts:459 arrow-up-right
• senderAddress : string
Defined in types.ts:457 arrow-up-right
• takerAssetData : string
Defined in types.ts:461 arrow-up-right
Interface: ExchangeCancelUpToEvent
• makerAddress : string
Defined in types.ts:465 arrow-up-right
• orderEpoch : BigNumber
Defined in types.ts:467 arrow-up-right
orderSenderAddress
• orderSenderAddress : string
Defined in types.ts:466 arrow-up-right
Interface: ExchangeFillEvent
feeRecipientAddress
• feeRecipientAddress : string
Defined in types.ts:424 arrow-up-right
• makerAddress : string
Defined in types.ts:421 arrow-up-right
• makerAssetData : string
Defined in types.ts:431 arrow-up-right
makerAssetFilledAmount
• makerAssetFilledAmount : BigNumber
Defined in types.ts:425 arrow-up-right
makerFeeAssetData
• makerFeeAssetData : string
Defined in types.ts:433 arrow-up-right
• makerFeePaid : BigNumber
Defined in types.ts:427 arrow-up-right
• orderHash : string
Defined in types.ts:430 arrow-up-right
protocolFeePaid
• protocolFeePaid : BigNumber
Defined in types.ts:429 arrow-up-right
• senderAddress : string
Defined in types.ts:423 arrow-up-right
• takerAddress : string
Defined in types.ts:422 arrow-up-right
• takerAssetData : string
Defined in types.ts:432 arrow-up-right
takerAssetFilledAmount
• takerAssetFilledAmount : BigNumber
Defined in types.ts:426 arrow-up-right
takerFeeAssetData
• takerFeeAssetData : string
Defined in types.ts:434 arrow-up-right
• takerFeePaid : BigNumber
Defined in types.ts:428 arrow-up-right
Interface: GetOrdersResponse
• ordersInfos : OrderInfo []
Defined in types.ts:45 arrow-up-right
• timestamp : number
Defined in types.ts:44 arrow-up-right
Interface: JsonSchema
An interface for JSON schema types, which are used for custom order filters.
• $ref ? : undefined | string
Defined in types.ts:67 arrow-up-right
Optional $schema
• $schema ? : undefined | string
Defined in types.ts:66 arrow-up-right
Optional additionalItems
• additionalItems ? : boolean | JsonSchema
Defined in types.ts:78 arrow-up-right
Optional additionalProperties
• additionalProperties ? : boolean | JsonSchema
Defined in types.ts:86 arrow-up-right
• allOf ? : JsonSchema []
Defined in types.ts:108 arrow-up-right
• anyOf ? : JsonSchema []
Defined in types.ts:109 arrow-up-right
• const ? : any
Defined in types.ts:105 arrow-up-right
Optional definitions
• definitions ? : undefined | object
Defined in types.ts:87 arrow-up-right
Optional dependencies
• dependencies ? : undefined | object
Defined in types.ts:96 arrow-up-right
Optional description
• description ? : undefined | string
Defined in types.ts:69 arrow-up-right
• enum ? : any[]
Defined in types.ts:99 arrow-up-right
Optional exclusiveMaximum
• exclusiveMaximum ? : undefined | false | true
Defined in types.ts:72 arrow-up-right
Optional exclusiveMinimum
• exclusiveMinimum ? : undefined | false | true
Defined in types.ts:74 arrow-up-right
• format ? : undefined | string
Defined in types.ts:107 arrow-up-right
• id ? : undefined | string
Defined in types.ts:65 arrow-up-right
• items ? : JsonSchema | JsonSchema []
Defined in types.ts:79 arrow-up-right
Optional maxItems
• maxItems ? : undefined | number
Defined in types.ts:80 arrow-up-right
Optional maxLength
• maxLength ? : undefined | number
Defined in types.ts:75 arrow-up-right
Optional maxProperties
• maxProperties ? : undefined | number
Defined in types.ts:83 arrow-up-right
Optional maximum
• maximum ? : undefined | number
Defined in types.ts:71 arrow-up-right
Optional minItems
• minItems ? : undefined | number
Defined in types.ts:81 arrow-up-right
Optional minLength
• minLength ? : undefined | number
Defined in types.ts:76 arrow-up-right
Optional minProperties
• minProperties ? : undefined | number
Defined in types.ts:84 arrow-up-right
Optional minimum
• minimum ? : undefined | number
Defined in types.ts:73 arrow-up-right
Optional multipleOf
• multipleOf ? : undefined | number
Defined in types.ts:70 arrow-up-right
• not ? : JsonSchema
Defined in types.ts:111 arrow-up-right
• oneOf ? : JsonSchema []
Defined in types.ts:110 arrow-up-right
Optional pattern
• pattern ? : string | RegExp
Defined in types.ts:77 arrow-up-right
Optional patternProperties
• patternProperties ? : undefined | object
Defined in types.ts:93 arrow-up-right
Optional properties
• properties ? : undefined | object
Defined in types.ts:90 arrow-up-right
Optional required
• required ? : string[]
Defined in types.ts:85 arrow-up-right
• title ? : undefined | string
Defined in types.ts:68 arrow-up-right
• type ? : string | string[]
Defined in types.ts:106 arrow-up-right
Optional uniqueItems
• uniqueItems ? : undefined | false | true
Defined in types.ts:82 arrow-up-right
Interface: LatestBlock
• hash : string
Defined in types.ts:734 arrow-up-right
• number : BigNumber
Defined in types.ts:733 arrow-up-right
Interface: OrderEvent
Order events are fired by Mesh whenever an order is added, canceled, expired, or filled.
• contractEvents : ContractEvent []
Defined in types.ts:606 arrow-up-right
• endState : OrderEventEndState
Defined in types.ts:604 arrow-up-right
fillableTakerAssetAmount
• fillableTakerAssetAmount : BigNumber
Defined in types.ts:605 arrow-up-right
• orderHash : string
Defined in types.ts:602 arrow-up-right
• signedOrder : SignedOrder
Defined in types.ts:603 arrow-up-right
• timestampMs : number
Defined in types.ts:601 arrow-up-right
Interface: OrderInfo
fillableTakerAssetAmount
• fillableTakerAssetAmount : BigNumber
Defined in types.ts:58 arrow-up-right
• orderHash : string
Defined in types.ts:56 arrow-up-right
• signedOrder : SignedOrder
Defined in types.ts:57 arrow-up-right
Interface: RejectedOrderInfo
Info for any orders that were rejected, including the reason they were rejected.
• kind : RejectedOrderKind
Defined in types.ts:705 arrow-up-right
• orderHash : string
Defined in types.ts:703 arrow-up-right
• signedOrder : SignedOrder
Defined in types.ts:704 arrow-up-right
• status : RejectedOrderStatus
Defined in types.ts:706 arrow-up-right
Interface: RejectedOrderStatus
Provides more information about why an order was rejected.
• code : string
Defined in types.ts:722 arrow-up-right
• message : string
Defined in types.ts:723 arrow-up-right
Interface: Stats
ethRPCRateLimitExpiredRequests
• ethRPCRateLimitExpiredRequests : number
Defined in types.ts:774 arrow-up-right
ethRPCRequestsSentInCurrentUTCDay
• ethRPCRequestsSentInCurrentUTCDay : number
Defined in types.ts:773 arrow-up-right
ethereumChainID
• ethereumChainID : number
Defined in types.ts:765 arrow-up-right
Optional latestBlock
• latestBlock ? : LatestBlock
Defined in types.ts:766 arrow-up-right
maxExpirationTime
• maxExpirationTime : BigNumber
Defined in types.ts:771 arrow-up-right
• numOrders : number
Defined in types.ts:768 arrow-up-right
numOrdersIncludingRemoved
• numOrdersIncludingRemoved : number
Defined in types.ts:769 arrow-up-right
• numPeers : number
Defined in types.ts:767 arrow-up-right
numPinnedOrders
• numPinnedOrders : number
Defined in types.ts:770 arrow-up-right
• peerID : string
Defined in types.ts:764 arrow-up-right
• pubSubTopic : string
Defined in types.ts:761 arrow-up-right
• rendezvous : string
Defined in types.ts:762 arrow-up-right
secondaryRendezvous
• secondaryRendezvous : string[]
Defined in types.ts:763 arrow-up-right
startOfCurrentUTCDay
• startOfCurrentUTCDay : Date
Defined in types.ts:772 arrow-up-right
• version : string
Defined in types.ts:760 arrow-up-right
Interface: ValidationResults
Indicates which orders where accepted, which were rejected, and why.
• accepted : AcceptedOrderInfo []
Defined in types.ts:684 arrow-up-right
• rejected : RejectedOrderInfo []
Defined in types.ts:685 arrow-up-right
Interface: WethDepositEvent
• owner : string
Defined in types.ts:489 arrow-up-right
• value : BigNumber
Defined in types.ts:490 arrow-up-right
Interface: WethWithdrawalEvent
• owner : string
Defined in types.ts:478 arrow-up-right
• value : BigNumber
Defined in types.ts:479 arrow-up-right
loadMeshStreamingForURLAsync
▸ loadMeshStreamingWithURLAsync (url: string): Promise‹ void ›
Defined in index.ts:7 arrow-up-right
Loads the Wasm module that is provided by fetching a url.
Parameters:
The URL to query for the Wasm binary
loadMeshStreamingAsync
▸ loadMeshStreamingAsync (response: Response | Promise<Response>): Promise‹ void ›
Defined in index.ts:15 arrow-up-right
Loads the Wasm module that is provided by a response.
Parameters:
Response | Promise<Response>
The Wasm response that supplies the Wasm binary