Skip to content

Instantly share code, notes, and snippets.

@BlinkyStitt
Created February 27, 2019 00:34
Show Gist options
  • Save BlinkyStitt/6dedecd5bf15904689951523bb182ee7 to your computer and use it in GitHub Desktop.
Save BlinkyStitt/6dedecd5bf15904689951523bb182ee7 to your computer and use it in GitHub Desktop.
{
"schemaVersion": "2.0.0",
"contractName": "IZrxExchange",
"compilerOutput": {
"abi": [
{
"constant": false,
"inputs": [
{
"name": "orders",
"type": "bytes[]"
},
{
"name": "takerAssetFillAmounts",
"type": "uint256[]"
},
{
"name": "signatures",
"type": "bytes[]"
}
],
"name": "batchFillOrKillOrders",
"outputs": [
{
"name": "totalFillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "order",
"type": "bytes"
}
],
"name": "getOrderInfo",
"outputs": [
{
"name": "orderInfo",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "order",
"type": "bytes"
},
{
"name": "takerAssetFillAmount",
"type": "uint256"
},
{
"name": "signature",
"type": "bytes"
}
],
"name": "fillOrder",
"outputs": [
{
"name": "fillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "orders",
"type": "bytes[]"
},
{
"name": "takerAssetFillAmount",
"type": "uint256"
},
{
"name": "signatures",
"type": "bytes[]"
}
],
"name": "marketSellOrders",
"outputs": [
{
"name": "totalFillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "leftOrder",
"type": "bytes"
},
{
"name": "rightOrder",
"type": "bytes"
},
{
"name": "leftSignature",
"type": "bytes"
},
{
"name": "rightSignature",
"type": "bytes"
}
],
"name": "matchOrders",
"outputs": [
{
"name": "matchedFillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": true,
"inputs": [
{
"name": "orders",
"type": "bytes"
}
],
"name": "getOrdersInfo",
"outputs": [
{
"name": "",
"type": "bytes[]"
}
],
"payable": false,
"stateMutability": "view",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "orders",
"type": "bytes[]"
},
{
"name": "makerAssetFillAmount",
"type": "uint256"
},
{
"name": "signatures",
"type": "bytes[]"
}
],
"name": "marketBuyOrders",
"outputs": [
{
"name": "totalFillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "targetOrderEpoch",
"type": "uint256"
}
],
"name": "cancelOrdersUpTo",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "orders",
"type": "bytes[]"
}
],
"name": "batchCancelOrders",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "order",
"type": "bytes"
},
{
"name": "takerAssetFillAmount",
"type": "uint256"
},
{
"name": "signature",
"type": "bytes"
}
],
"name": "fillOrKillOrder",
"outputs": [
{
"name": "fillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "order",
"type": "bytes"
},
{
"name": "takerAssetFillAmount",
"type": "uint256"
},
{
"name": "signature",
"type": "bytes"
}
],
"name": "fillOrderNoThrow",
"outputs": [
{
"name": "fillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "order",
"type": "bytes"
}
],
"name": "cancelOrder",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "salt",
"type": "uint256"
},
{
"name": "signerAddress",
"type": "address"
},
{
"name": "data",
"type": "bytes"
},
{
"name": "signature",
"type": "bytes"
}
],
"name": "executeTransaction",
"outputs": [],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "orders",
"type": "bytes[]"
},
{
"name": "takerAssetFillAmounts",
"type": "uint256[]"
},
{
"name": "signatures",
"type": "bytes[]"
}
],
"name": "batchFillOrdersNoThrow",
"outputs": [
{
"name": "totalFillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "orders",
"type": "bytes[]"
},
{
"name": "takerAssetFillAmount",
"type": "uint256"
},
{
"name": "signatures",
"type": "bytes[]"
}
],
"name": "marketSellOrdersNoThrow",
"outputs": [
{
"name": "totalFillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "orders",
"type": "bytes[]"
},
{
"name": "takerAssetFillAmounts",
"type": "uint256[]"
},
{
"name": "signatures",
"type": "bytes[]"
}
],
"name": "batchFillOrders",
"outputs": [
{
"name": "totalFillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
},
{
"constant": false,
"inputs": [
{
"name": "orders",
"type": "bytes[]"
},
{
"name": "makerAssetFillAmount",
"type": "uint256"
},
{
"name": "signatures",
"type": "bytes[]"
}
],
"name": "marketBuyOrdersNoThrow",
"outputs": [
{
"name": "totalFillResults",
"type": "bytes"
}
],
"payable": false,
"stateMutability": "nonpayable",
"type": "function"
}
],
"devdoc": {
"methods": {
"batchCancelOrders(bytes[])": {
"details": "Synchronously cancels multiple orders in a single transaction.",
"params": {
"orders": "Array of order specifications."
}
},
"batchFillOrKillOrders(bytes[],uint256[],bytes[])": {
"details": "Synchronously executes multiple calls of fillOrKill.",
"params": {
"orders": "Array of order specifications.",
"signatures": "Proofs that orders have been created by makers.",
"takerAssetFillAmounts": "Array of desired amounts of takerAsset to sell in orders."
},
"return": "Amounts filled and fees paid by makers and taker."
},
"batchFillOrders(bytes[],uint256[],bytes[])": {
"details": "Synchronously executes multiple calls of fillOrder.",
"params": {
"orders": "Array of order specifications.",
"signatures": "Proofs that orders have been created by makers.",
"takerAssetFillAmounts": "Array of desired amounts of takerAsset to sell in orders."
},
"return": "Amounts filled and fees paid by makers and taker."
},
"batchFillOrdersNoThrow(bytes[],uint256[],bytes[])": {
"details": "Fills an order with specified parameters and ECDSA signature. Returns false if the transaction would otherwise revert.",
"params": {
"orders": "Array of order specifications.",
"signatures": "Proofs that orders have been created by makers.",
"takerAssetFillAmounts": "Array of desired amounts of takerAsset to sell in orders."
},
"return": "Amounts filled and fees paid by makers and taker."
},
"cancelOrder(bytes)": {
"details": "After calling, the order can not be filled anymore.",
"params": {
"order": "Order struct containing order specifications."
}
},
"cancelOrdersUpTo(uint256)": {
"details": "Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress).",
"params": {
"targetOrderEpoch": "Orders created with a salt less or equal to this value will be cancelled."
}
},
"executeTransaction(uint256,address,bytes,bytes)": {
"details": "Executes an exchange method call in the context of signer.",
"params": {
"data": "AbiV2 encoded calldata.",
"salt": "Arbitrary number to ensure uniqueness of transaction hash.",
"signature": "Proof of signer transaction by signer.",
"signerAddress": "Address of transaction signer."
}
},
"fillOrKillOrder(bytes,uint256,bytes)": {
"details": "Fills the input order. Reverts if exact takerAssetFillAmount not filled.",
"params": {
"order": "LibOrder.Order struct containing order specifications.",
"signature": "Proof that order has been created by maker.",
"takerAssetFillAmount": "Desired amount of takerAsset to sell."
}
},
"fillOrder(bytes,uint256,bytes)": {
"details": "Fills the input order.",
"params": {
"order": "Order struct containing order specifications.",
"signature": "Proof that order has been created by maker.",
"takerAssetFillAmount": "Desired amount of takerAsset to sell."
},
"return": "Amounts filled and fees paid by maker and taker."
},
"fillOrderNoThrow(bytes,uint256,bytes)": {
"details": "Fills an order with specified parameters and ECDSA signature. Returns false if the transaction would otherwise revert.",
"params": {
"order": "LibOrder.Order struct containing order specifications.",
"signature": "Proof that order has been created by maker.",
"takerAssetFillAmount": "Desired amount of takerAsset to sell."
},
"return": "Amounts filled and fees paid by maker and taker."
},
"getOrderInfo(bytes)": {
"details": "Gets information about an order: status, hash, and amount filled.",
"params": {
"order": "Order to gather information on."
},
"return": "OrderInfo Information about the order and its state. See LibOrder.OrderInfo for a complete description."
},
"getOrdersInfo(bytes)": {
"details": "Fetches information for all passed in orders",
"params": {
"orders": "Array of order specifications."
},
"return": "Array of OrderInfo instances that correspond to each order."
},
"marketBuyOrders(bytes[],uint256,bytes[])": {
"details": "Synchronously executes multiple calls of fillOrder until total amount of makerAsset is bought by taker.",
"params": {
"makerAssetFillAmount": "Desired amount of makerAsset to buy.",
"orders": "Array of order specifications.",
"signatures": "Proofs that orders have been signed by makers."
},
"return": "Amounts filled and fees paid by makers and taker."
},
"marketBuyOrdersNoThrow(bytes[],uint256,bytes[])": {
"details": "Synchronously executes multiple fill orders in a single transaction until total amount is bought by taker. Returns false if the transaction would otherwise revert.",
"params": {
"makerAssetFillAmount": "Desired amount of makerAsset to buy.",
"orders": "Array of order specifications.",
"signatures": "Proofs that orders have been signed by makers."
},
"return": "Amounts filled and fees paid by makers and taker."
},
"marketSellOrders(bytes[],uint256,bytes[])": {
"details": "Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker.",
"params": {
"orders": "Array of order specifications.",
"signatures": "Proofs that orders have been created by makers.",
"takerAssetFillAmount": "Desired amount of takerAsset to sell."
},
"return": "Amounts filled and fees paid by makers and taker."
},
"marketSellOrdersNoThrow(bytes[],uint256,bytes[])": {
"details": "Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker. Returns false if the transaction would otherwise revert.",
"params": {
"orders": "Array of order specifications.",
"signatures": "Proofs that orders have been signed by makers.",
"takerAssetFillAmount": "Desired amount of takerAsset to sell."
},
"return": "Amounts filled and fees paid by makers and taker."
},
"matchOrders(bytes,bytes,bytes,bytes)": {
"details": "Match two complementary orders that have a profitable spread. Each order is filled at their respective price point. However, the calculations are carried out as though the orders are both being filled at the right order's price point. The profit made by the left order goes to the taker (who matched the two orders).",
"params": {
"leftOrder": "First order to match.",
"leftSignature": "Proof that order was created by the left maker.",
"rightOrder": "Second order to match.",
"rightSignature": "Proof that order was created by the right maker."
},
"return": "matchedFillResults Amounts filled and fees paid by maker and taker of matched orders."
}
}
},
"evm": {
"bytecode": {
"linkReferences": {},
"object": "0x",
"opcodes": "",
"sourceMap": ""
},
"deployedBytecode": {
"linkReferences": {},
"object": "0x",
"opcodes": "",
"sourceMap": ""
}
},
"userdoc": {
"methods": {}
}
},
"sources": {
"dab/interface/IZrxExchange.sol": {
"ast": {
"absolutePath": "/usr/src/app/contracts-sol-compiler/dab/interface/IZrxExchange.sol",
"exportedSymbols": {
"IZrxExchange": [
185
]
},
"id": 186,
"nodeType": "SourceUnit",
"nodes": [
{
"id": 1,
"literals": [
"solidity",
"0.5",
".4"
],
"nodeType": "PragmaDirective",
"src": "0:22:0"
},
{
"id": 2,
"literals": [
"experimental",
"ABIEncoderV2"
],
"nodeType": "PragmaDirective",
"src": "119:33:0"
},
{
"baseContracts": [],
"contractDependencies": [],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
"id": 185,
"linearizedBaseContracts": [
185
],
"name": "IZrxExchange",
"nodeType": "ContractDefinition",
"nodes": [
{
"body": null,
"documentation": "@dev Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch\n and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress).\n @param targetOrderEpoch Orders created with a salt less or equal to this value will be cancelled.",
"id": 7,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "cancelOrdersUpTo",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 5,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 4,
"name": "targetOrderEpoch",
"nodeType": "VariableDeclaration",
"scope": 7,
"src": "917:24:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 3,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "917:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "916:26:0"
},
"returnParameters": {
"id": 6,
"nodeType": "ParameterList",
"parameters": [],
"src": "951:0:0"
},
"scope": 185,
"src": "891:61:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Fills the input order.\n @param order Order struct containing order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signature Proof that order has been created by maker.\n @return Amounts filled and fees paid by maker and taker.",
"id": 18,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "fillOrder",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 14,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 9,
"name": "order",
"nodeType": "VariableDeclaration",
"scope": 18,
"src": "1337:20:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 8,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1337:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 11,
"name": "takerAssetFillAmount",
"nodeType": "VariableDeclaration",
"scope": 18,
"src": "1367:28:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 10,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "1367:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 13,
"name": "signature",
"nodeType": "VariableDeclaration",
"scope": 18,
"src": "1405:24:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 12,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1405:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1287:148:0"
},
"returnParameters": {
"id": 17,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 16,
"name": "fillResults",
"nodeType": "VariableDeclaration",
"scope": 18,
"src": "1547:24:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 15,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1547:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1469:108:0"
},
"scope": 185,
"src": "1269:309:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev After calling, the order can not be filled anymore.\n @param order Order struct containing order specifications.",
"id": 23,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "cancelOrder",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 21,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 20,
"name": "order",
"nodeType": "VariableDeclaration",
"scope": 23,
"src": "1794:20:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 19,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "1794:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "1793:22:0"
},
"returnParameters": {
"id": 22,
"nodeType": "ParameterList",
"parameters": [],
"src": "1824:0:0"
},
"scope": 185,
"src": "1773:52:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Gets information about an order: status, hash, and amount filled.\n @param order Order to gather information on.\n @return OrderInfo Information about the order and its state.\n See LibOrder.OrderInfo for a complete description.",
"id": 30,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getOrderInfo",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 26,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 25,
"name": "order",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "2189:20:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 24,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2189:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2188:22:0"
},
"returnParameters": {
"id": 29,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 28,
"name": "orderInfo",
"nodeType": "VariableDeclaration",
"scope": 30,
"src": "2325:22:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 27,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "2325:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "2257:96:0"
},
"scope": 185,
"src": "2167:187:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Match two complementary orders that have a profitable spread.\n Each order is filled at their respective price point. However, the calculations are\n carried out as though the orders are both being filled at the right order's price point.\n The profit made by the left order goes to the taker (who matched the two orders).\n @param leftOrder First order to match.\n @param rightOrder Second order to match.\n @param leftSignature Proof that order was created by the left maker.\n @param rightSignature Proof that order was created by the right maker.\n @return matchedFillResults Amounts filled and fees paid by maker and taker of matched orders.",
"id": 43,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "matchOrders",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 39,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 32,
"name": "leftOrder",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "3237:24:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 31,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3237:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 34,
"name": "rightOrder",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "3271:25:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 33,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3271:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 36,
"name": "leftSignature",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "3306:28:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 35,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3306:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 38,
"name": "rightSignature",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "3344:29:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 37,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3344:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3138:241:0"
},
"returnParameters": {
"id": 42,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 41,
"name": "matchedFillResults",
"nodeType": "VariableDeclaration",
"scope": 43,
"src": "3505:31:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 40,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "3505:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3413:129:0"
},
"scope": 185,
"src": "3118:425:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Executes an exchange method call in the context of signer.\n @param salt Arbitrary number to ensure uniqueness of transaction hash.\n @param signerAddress Address of transaction signer.\n @param data AbiV2 encoded calldata.\n @param signature Proof of signer transaction by signer.",
"id": 54,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "executeTransaction",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 52,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 45,
"name": "salt",
"nodeType": "VariableDeclaration",
"scope": 54,
"src": "3973:12:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 44,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "3973:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 47,
"name": "signerAddress",
"nodeType": "VariableDeclaration",
"scope": 54,
"src": "3987:21:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
},
"typeName": {
"id": 46,
"name": "address",
"nodeType": "ElementaryTypeName",
"src": "3987:7:0",
"stateMutability": "nonpayable",
"typeDescriptions": {
"typeIdentifier": "t_address",
"typeString": "address"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 49,
"name": "data",
"nodeType": "VariableDeclaration",
"scope": 54,
"src": "4010:19:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 48,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4010:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 51,
"name": "signature",
"nodeType": "VariableDeclaration",
"scope": 54,
"src": "4031:24:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 50,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4031:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "3972:84:0"
},
"returnParameters": {
"id": 53,
"nodeType": "ParameterList",
"parameters": [],
"src": "4073:0:0"
},
"scope": 185,
"src": "3945:129:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Fills the input order. Reverts if exact takerAssetFillAmount not filled.\n @param order LibOrder.Order struct containing order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signature Proof that order has been created by maker.",
"id": 65,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "fillOrKillOrder",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 61,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 56,
"name": "order",
"nodeType": "VariableDeclaration",
"scope": 65,
"src": "4544:20:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 55,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4544:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 58,
"name": "takerAssetFillAmount",
"nodeType": "VariableDeclaration",
"scope": 65,
"src": "4574:28:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 57,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "4574:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 60,
"name": "signature",
"nodeType": "VariableDeclaration",
"scope": 65,
"src": "4612:24:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 59,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4612:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "4492:150:0"
},
"returnParameters": {
"id": 64,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 63,
"name": "fillResults",
"nodeType": "VariableDeclaration",
"scope": 65,
"src": "4754:24:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 62,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "4754:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "4676:108:0"
},
"scope": 185,
"src": "4468:317:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Fills an order with specified parameters and ECDSA signature.\n Returns false if the transaction would otherwise revert.\n @param order LibOrder.Order struct containing order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signature Proof that order has been created by maker.\n @return Amounts filled and fees paid by maker and taker.",
"id": 76,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "fillOrderNoThrow",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 72,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 67,
"name": "order",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "5297:20:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 66,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5297:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 69,
"name": "takerAssetFillAmount",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "5327:28:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 68,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "5327:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 71,
"name": "signature",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "5365:24:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 70,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5365:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "5245:150:0"
},
"returnParameters": {
"id": 75,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 74,
"name": "fillResults",
"nodeType": "VariableDeclaration",
"scope": 76,
"src": "5507:24:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 73,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5507:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "5429:108:0"
},
"scope": 185,
"src": "5220:318:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrder.\n @param orders Array of order specifications.\n @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders.\n @param signatures Proofs that orders have been created by makers.\n @return Amounts filled and fees paid by makers and taker.",
"id": 90,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "batchFillOrders",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 86,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 79,
"name": "orders",
"nodeType": "VariableDeclaration",
"scope": 90,
"src": "5976:23:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 77,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "5976:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 78,
"length": null,
"nodeType": "ArrayTypeName",
"src": "5976:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 82,
"name": "takerAssetFillAmounts",
"nodeType": "VariableDeclaration",
"scope": 90,
"src": "6009:40:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 80,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "6009:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 81,
"length": null,
"nodeType": "ArrayTypeName",
"src": "6009:9:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 85,
"name": "signatures",
"nodeType": "VariableDeclaration",
"scope": 90,
"src": "6059:27:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 83,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "6059:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 84,
"length": null,
"nodeType": "ArrayTypeName",
"src": "6059:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "5921:171:0"
},
"returnParameters": {
"id": 89,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 88,
"name": "totalFillResults",
"nodeType": "VariableDeclaration",
"scope": 90,
"src": "6209:29:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 87,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "6209:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "6126:118:0"
},
"scope": 185,
"src": "5897:348:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrKill.\n @param orders Array of order specifications.\n @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders.\n @param signatures Proofs that orders have been created by makers.\n @return Amounts filled and fees paid by makers and taker.",
"id": 104,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "batchFillOrKillOrders",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 100,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 93,
"name": "orders",
"nodeType": "VariableDeclaration",
"scope": 104,
"src": "6690:23:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 91,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "6690:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 92,
"length": null,
"nodeType": "ArrayTypeName",
"src": "6690:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 96,
"name": "takerAssetFillAmounts",
"nodeType": "VariableDeclaration",
"scope": 104,
"src": "6723:40:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 94,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "6723:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 95,
"length": null,
"nodeType": "ArrayTypeName",
"src": "6723:9:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 99,
"name": "signatures",
"nodeType": "VariableDeclaration",
"scope": 104,
"src": "6773:27:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 97,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "6773:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 98,
"length": null,
"nodeType": "ArrayTypeName",
"src": "6773:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "6635:171:0"
},
"returnParameters": {
"id": 103,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 102,
"name": "totalFillResults",
"nodeType": "VariableDeclaration",
"scope": 104,
"src": "6923:29:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 101,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "6923:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "6840:118:0"
},
"scope": 185,
"src": "6605:354:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Fills an order with specified parameters and ECDSA signature.\n Returns false if the transaction would otherwise revert.\n @param orders Array of order specifications.\n @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders.\n @param signatures Proofs that orders have been created by makers.\n @return Amounts filled and fees paid by makers and taker.",
"id": 118,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "batchFillOrdersNoThrow",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 114,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 107,
"name": "orders",
"nodeType": "VariableDeclaration",
"scope": 118,
"src": "7484:23:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 105,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "7484:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 106,
"length": null,
"nodeType": "ArrayTypeName",
"src": "7484:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 110,
"name": "takerAssetFillAmounts",
"nodeType": "VariableDeclaration",
"scope": 118,
"src": "7517:40:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_calldata_ptr",
"typeString": "uint256[]"
},
"typeName": {
"baseType": {
"id": 108,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "7517:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"id": 109,
"length": null,
"nodeType": "ArrayTypeName",
"src": "7517:9:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_uint256_$dyn_storage_ptr",
"typeString": "uint256[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 113,
"name": "signatures",
"nodeType": "VariableDeclaration",
"scope": 118,
"src": "7567:27:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 111,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "7567:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 112,
"length": null,
"nodeType": "ArrayTypeName",
"src": "7567:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "7429:171:0"
},
"returnParameters": {
"id": 117,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 116,
"name": "totalFillResults",
"nodeType": "VariableDeclaration",
"scope": 118,
"src": "7717:29:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 115,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "7717:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "7634:118:0"
},
"scope": 185,
"src": "7398:355:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker.\n @param orders Array of order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signatures Proofs that orders have been created by makers.\n @return Amounts filled and fees paid by makers and taker.",
"id": 131,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "marketSellOrders",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 127,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 121,
"name": "orders",
"nodeType": "VariableDeclaration",
"scope": 131,
"src": "8167:23:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 119,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "8167:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 120,
"length": null,
"nodeType": "ArrayTypeName",
"src": "8167:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 123,
"name": "takerAssetFillAmount",
"nodeType": "VariableDeclaration",
"scope": 131,
"src": "8192:28:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 122,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "8192:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 126,
"name": "signatures",
"nodeType": "VariableDeclaration",
"scope": 131,
"src": "8222:27:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 124,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "8222:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 125,
"length": null,
"nodeType": "ArrayTypeName",
"src": "8222:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "8166:84:0"
},
"returnParameters": {
"id": 130,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 129,
"name": "totalFillResults",
"nodeType": "VariableDeclaration",
"scope": 131,
"src": "8367:29:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 128,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "8367:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "8284:118:0"
},
"scope": 185,
"src": "8141:262:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker.\n Returns false if the transaction would otherwise revert.\n @param orders Array of order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signatures Proofs that orders have been signed by makers.\n @return Amounts filled and fees paid by makers and taker.",
"id": 144,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "marketSellOrdersNoThrow",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 140,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 134,
"name": "orders",
"nodeType": "VariableDeclaration",
"scope": 144,
"src": "8945:23:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 132,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "8945:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 133,
"length": null,
"nodeType": "ArrayTypeName",
"src": "8945:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 136,
"name": "takerAssetFillAmount",
"nodeType": "VariableDeclaration",
"scope": 144,
"src": "8978:28:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 135,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "8978:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 139,
"name": "signatures",
"nodeType": "VariableDeclaration",
"scope": 144,
"src": "9016:27:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 137,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "9016:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 138,
"length": null,
"nodeType": "ArrayTypeName",
"src": "9016:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "8892:157:0"
},
"returnParameters": {
"id": 143,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 142,
"name": "totalFillResults",
"nodeType": "VariableDeclaration",
"scope": 144,
"src": "9166:29:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 141,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "9166:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "9083:118:0"
},
"scope": 185,
"src": "8860:342:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrder until total amount of makerAsset is bought by taker.\n @param orders Array of order specifications.\n @param makerAssetFillAmount Desired amount of makerAsset to buy.\n @param signatures Proofs that orders have been signed by makers.\n @return Amounts filled and fees paid by makers and taker.",
"id": 157,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "marketBuyOrders",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 153,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 147,
"name": "orders",
"nodeType": "VariableDeclaration",
"scope": 157,
"src": "9667:23:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 145,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "9667:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 146,
"length": null,
"nodeType": "ArrayTypeName",
"src": "9667:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 149,
"name": "makerAssetFillAmount",
"nodeType": "VariableDeclaration",
"scope": 157,
"src": "9700:28:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 148,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "9700:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 152,
"name": "signatures",
"nodeType": "VariableDeclaration",
"scope": 157,
"src": "9738:27:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 150,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "9738:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 151,
"length": null,
"nodeType": "ArrayTypeName",
"src": "9738:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "9614:157:0"
},
"returnParameters": {
"id": 156,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 155,
"name": "totalFillResults",
"nodeType": "VariableDeclaration",
"scope": 157,
"src": "9888:29:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 154,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "9888:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "9805:118:0"
},
"scope": 185,
"src": "9590:334:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Synchronously executes multiple fill orders in a single transaction until total amount is bought by taker.\n Returns false if the transaction would otherwise revert.\n @param orders Array of order specifications.\n @param makerAssetFillAmount Desired amount of makerAsset to buy.\n @param signatures Proofs that orders have been signed by makers.\n @return Amounts filled and fees paid by makers and taker.",
"id": 170,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "marketBuyOrdersNoThrow",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 166,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 160,
"name": "orders",
"nodeType": "VariableDeclaration",
"scope": 170,
"src": "10469:23:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 158,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "10469:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 159,
"length": null,
"nodeType": "ArrayTypeName",
"src": "10469:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 162,
"name": "makerAssetFillAmount",
"nodeType": "VariableDeclaration",
"scope": 170,
"src": "10502:28:0",
"stateVariable": false,
"storageLocation": "default",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
},
"typeName": {
"id": 161,
"name": "uint256",
"nodeType": "ElementaryTypeName",
"src": "10502:7:0",
"typeDescriptions": {
"typeIdentifier": "t_uint256",
"typeString": "uint256"
}
},
"value": null,
"visibility": "internal"
},
{
"constant": false,
"id": 165,
"name": "signatures",
"nodeType": "VariableDeclaration",
"scope": 170,
"src": "10540:27:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 163,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "10540:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 164,
"length": null,
"nodeType": "ArrayTypeName",
"src": "10540:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "10416:157:0"
},
"returnParameters": {
"id": 169,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 168,
"name": "totalFillResults",
"nodeType": "VariableDeclaration",
"scope": 170,
"src": "10690:29:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_bytes_memory_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 167,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "10690:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "10607:118:0"
},
"scope": 185,
"src": "10385:341:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Synchronously cancels multiple orders in a single transaction.\n @param orders Array of order specifications.",
"id": 176,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "batchCancelOrders",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 174,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 173,
"name": "orders",
"nodeType": "VariableDeclaration",
"scope": 176,
"src": "10954:23:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_calldata_$dyn_calldata_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 171,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "10954:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 172,
"length": null,
"nodeType": "ArrayTypeName",
"src": "10954:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "10953:25:0"
},
"returnParameters": {
"id": 175,
"nodeType": "ParameterList",
"parameters": [],
"src": "10987:0:0"
},
"scope": 185,
"src": "10927:61:0",
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
{
"body": null,
"documentation": "@dev Fetches information for all passed in orders\n @param orders Array of order specifications.\n @return Array of OrderInfo instances that correspond to each order.",
"id": 184,
"implemented": false,
"kind": "function",
"modifiers": [],
"name": "getOrdersInfo",
"nodeType": "FunctionDefinition",
"parameters": {
"id": 179,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 178,
"name": "orders",
"nodeType": "VariableDeclaration",
"scope": 184,
"src": "11266:21:0",
"stateVariable": false,
"storageLocation": "calldata",
"typeDescriptions": {
"typeIdentifier": "t_bytes_calldata_ptr",
"typeString": "bytes"
},
"typeName": {
"id": 177,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "11266:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "11265:23:0"
},
"returnParameters": {
"id": 183,
"nodeType": "ParameterList",
"parameters": [
{
"constant": false,
"id": 182,
"name": "",
"nodeType": "VariableDeclaration",
"scope": 184,
"src": "11395:14:0",
"stateVariable": false,
"storageLocation": "memory",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_memory_$dyn_memory_ptr",
"typeString": "bytes[]"
},
"typeName": {
"baseType": {
"id": 180,
"name": "bytes",
"nodeType": "ElementaryTypeName",
"src": "11395:5:0",
"typeDescriptions": {
"typeIdentifier": "t_bytes_storage_ptr",
"typeString": "bytes"
}
},
"id": 181,
"length": null,
"nodeType": "ArrayTypeName",
"src": "11395:7:0",
"typeDescriptions": {
"typeIdentifier": "t_array$_t_bytes_storage_$dyn_storage_ptr",
"typeString": "bytes[]"
}
},
"value": null,
"visibility": "internal"
}
],
"src": "11335:80:0"
},
"scope": 185,
"src": "11243:173:0",
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
}
],
"scope": 186,
"src": "509:10910:0"
}
],
"src": "0:11420:0"
},
"id": 0,
"legacyAST": {
"attributes": {
"absolutePath": "/usr/src/app/contracts-sol-compiler/dab/interface/IZrxExchange.sol",
"exportedSymbols": {
"IZrxExchange": [
185
]
}
},
"children": [
{
"attributes": {
"literals": [
"solidity",
"0.5",
".4"
]
},
"id": 1,
"name": "PragmaDirective",
"src": "0:22:0"
},
{
"attributes": {
"literals": [
"experimental",
"ABIEncoderV2"
]
},
"id": 2,
"name": "PragmaDirective",
"src": "119:33:0"
},
{
"attributes": {
"baseContracts": [
null
],
"contractDependencies": [
null
],
"contractKind": "interface",
"documentation": null,
"fullyImplemented": false,
"linearizedBaseContracts": [
185
],
"name": "IZrxExchange",
"scope": 186
},
"children": [
{
"attributes": {
"body": null,
"documentation": "@dev Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch\n and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress).\n @param targetOrderEpoch Orders created with a salt less or equal to this value will be cancelled.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "cancelOrdersUpTo",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "targetOrderEpoch",
"scope": 7,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 3,
"name": "ElementaryTypeName",
"src": "917:7:0"
}
],
"id": 4,
"name": "VariableDeclaration",
"src": "917:24:0"
}
],
"id": 5,
"name": "ParameterList",
"src": "916:26:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 6,
"name": "ParameterList",
"src": "951:0:0"
}
],
"id": 7,
"name": "FunctionDefinition",
"src": "891:61:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Fills the input order.\n @param order Order struct containing order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signature Proof that order has been created by maker.\n @return Amounts filled and fees paid by maker and taker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "fillOrder",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "order",
"scope": 18,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 8,
"name": "ElementaryTypeName",
"src": "1337:5:0"
}
],
"id": 9,
"name": "VariableDeclaration",
"src": "1337:20:0"
},
{
"attributes": {
"constant": false,
"name": "takerAssetFillAmount",
"scope": 18,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 10,
"name": "ElementaryTypeName",
"src": "1367:7:0"
}
],
"id": 11,
"name": "VariableDeclaration",
"src": "1367:28:0"
},
{
"attributes": {
"constant": false,
"name": "signature",
"scope": 18,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 12,
"name": "ElementaryTypeName",
"src": "1405:5:0"
}
],
"id": 13,
"name": "VariableDeclaration",
"src": "1405:24:0"
}
],
"id": 14,
"name": "ParameterList",
"src": "1287:148:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "fillResults",
"scope": 18,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 15,
"name": "ElementaryTypeName",
"src": "1547:5:0"
}
],
"id": 16,
"name": "VariableDeclaration",
"src": "1547:24:0"
}
],
"id": 17,
"name": "ParameterList",
"src": "1469:108:0"
}
],
"id": 18,
"name": "FunctionDefinition",
"src": "1269:309:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev After calling, the order can not be filled anymore.\n @param order Order struct containing order specifications.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "cancelOrder",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "order",
"scope": 23,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 19,
"name": "ElementaryTypeName",
"src": "1794:5:0"
}
],
"id": 20,
"name": "VariableDeclaration",
"src": "1794:20:0"
}
],
"id": 21,
"name": "ParameterList",
"src": "1793:22:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 22,
"name": "ParameterList",
"src": "1824:0:0"
}
],
"id": 23,
"name": "FunctionDefinition",
"src": "1773:52:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Gets information about an order: status, hash, and amount filled.\n @param order Order to gather information on.\n @return OrderInfo Information about the order and its state.\n See LibOrder.OrderInfo for a complete description.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "getOrderInfo",
"scope": 185,
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "order",
"scope": 30,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 24,
"name": "ElementaryTypeName",
"src": "2189:5:0"
}
],
"id": 25,
"name": "VariableDeclaration",
"src": "2189:20:0"
}
],
"id": 26,
"name": "ParameterList",
"src": "2188:22:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "orderInfo",
"scope": 30,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 27,
"name": "ElementaryTypeName",
"src": "2325:5:0"
}
],
"id": 28,
"name": "VariableDeclaration",
"src": "2325:22:0"
}
],
"id": 29,
"name": "ParameterList",
"src": "2257:96:0"
}
],
"id": 30,
"name": "FunctionDefinition",
"src": "2167:187:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Match two complementary orders that have a profitable spread.\n Each order is filled at their respective price point. However, the calculations are\n carried out as though the orders are both being filled at the right order's price point.\n The profit made by the left order goes to the taker (who matched the two orders).\n @param leftOrder First order to match.\n @param rightOrder Second order to match.\n @param leftSignature Proof that order was created by the left maker.\n @param rightSignature Proof that order was created by the right maker.\n @return matchedFillResults Amounts filled and fees paid by maker and taker of matched orders.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "matchOrders",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "leftOrder",
"scope": 43,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 31,
"name": "ElementaryTypeName",
"src": "3237:5:0"
}
],
"id": 32,
"name": "VariableDeclaration",
"src": "3237:24:0"
},
{
"attributes": {
"constant": false,
"name": "rightOrder",
"scope": 43,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 33,
"name": "ElementaryTypeName",
"src": "3271:5:0"
}
],
"id": 34,
"name": "VariableDeclaration",
"src": "3271:25:0"
},
{
"attributes": {
"constant": false,
"name": "leftSignature",
"scope": 43,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 35,
"name": "ElementaryTypeName",
"src": "3306:5:0"
}
],
"id": 36,
"name": "VariableDeclaration",
"src": "3306:28:0"
},
{
"attributes": {
"constant": false,
"name": "rightSignature",
"scope": 43,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 37,
"name": "ElementaryTypeName",
"src": "3344:5:0"
}
],
"id": 38,
"name": "VariableDeclaration",
"src": "3344:29:0"
}
],
"id": 39,
"name": "ParameterList",
"src": "3138:241:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "matchedFillResults",
"scope": 43,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 40,
"name": "ElementaryTypeName",
"src": "3505:5:0"
}
],
"id": 41,
"name": "VariableDeclaration",
"src": "3505:31:0"
}
],
"id": 42,
"name": "ParameterList",
"src": "3413:129:0"
}
],
"id": 43,
"name": "FunctionDefinition",
"src": "3118:425:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Executes an exchange method call in the context of signer.\n @param salt Arbitrary number to ensure uniqueness of transaction hash.\n @param signerAddress Address of transaction signer.\n @param data AbiV2 encoded calldata.\n @param signature Proof of signer transaction by signer.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "executeTransaction",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "salt",
"scope": 54,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 44,
"name": "ElementaryTypeName",
"src": "3973:7:0"
}
],
"id": 45,
"name": "VariableDeclaration",
"src": "3973:12:0"
},
{
"attributes": {
"constant": false,
"name": "signerAddress",
"scope": 54,
"stateVariable": false,
"storageLocation": "default",
"type": "address",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "address",
"stateMutability": "nonpayable",
"type": "address"
},
"id": 46,
"name": "ElementaryTypeName",
"src": "3987:7:0"
}
],
"id": 47,
"name": "VariableDeclaration",
"src": "3987:21:0"
},
{
"attributes": {
"constant": false,
"name": "data",
"scope": 54,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 48,
"name": "ElementaryTypeName",
"src": "4010:5:0"
}
],
"id": 49,
"name": "VariableDeclaration",
"src": "4010:19:0"
},
{
"attributes": {
"constant": false,
"name": "signature",
"scope": 54,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 50,
"name": "ElementaryTypeName",
"src": "4031:5:0"
}
],
"id": 51,
"name": "VariableDeclaration",
"src": "4031:24:0"
}
],
"id": 52,
"name": "ParameterList",
"src": "3972:84:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 53,
"name": "ParameterList",
"src": "4073:0:0"
}
],
"id": 54,
"name": "FunctionDefinition",
"src": "3945:129:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Fills the input order. Reverts if exact takerAssetFillAmount not filled.\n @param order LibOrder.Order struct containing order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signature Proof that order has been created by maker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "fillOrKillOrder",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "order",
"scope": 65,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 55,
"name": "ElementaryTypeName",
"src": "4544:5:0"
}
],
"id": 56,
"name": "VariableDeclaration",
"src": "4544:20:0"
},
{
"attributes": {
"constant": false,
"name": "takerAssetFillAmount",
"scope": 65,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 57,
"name": "ElementaryTypeName",
"src": "4574:7:0"
}
],
"id": 58,
"name": "VariableDeclaration",
"src": "4574:28:0"
},
{
"attributes": {
"constant": false,
"name": "signature",
"scope": 65,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 59,
"name": "ElementaryTypeName",
"src": "4612:5:0"
}
],
"id": 60,
"name": "VariableDeclaration",
"src": "4612:24:0"
}
],
"id": 61,
"name": "ParameterList",
"src": "4492:150:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "fillResults",
"scope": 65,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 62,
"name": "ElementaryTypeName",
"src": "4754:5:0"
}
],
"id": 63,
"name": "VariableDeclaration",
"src": "4754:24:0"
}
],
"id": 64,
"name": "ParameterList",
"src": "4676:108:0"
}
],
"id": 65,
"name": "FunctionDefinition",
"src": "4468:317:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Fills an order with specified parameters and ECDSA signature.\n Returns false if the transaction would otherwise revert.\n @param order LibOrder.Order struct containing order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signature Proof that order has been created by maker.\n @return Amounts filled and fees paid by maker and taker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "fillOrderNoThrow",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "order",
"scope": 76,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 66,
"name": "ElementaryTypeName",
"src": "5297:5:0"
}
],
"id": 67,
"name": "VariableDeclaration",
"src": "5297:20:0"
},
{
"attributes": {
"constant": false,
"name": "takerAssetFillAmount",
"scope": 76,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 68,
"name": "ElementaryTypeName",
"src": "5327:7:0"
}
],
"id": 69,
"name": "VariableDeclaration",
"src": "5327:28:0"
},
{
"attributes": {
"constant": false,
"name": "signature",
"scope": 76,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 70,
"name": "ElementaryTypeName",
"src": "5365:5:0"
}
],
"id": 71,
"name": "VariableDeclaration",
"src": "5365:24:0"
}
],
"id": 72,
"name": "ParameterList",
"src": "5245:150:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "fillResults",
"scope": 76,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 73,
"name": "ElementaryTypeName",
"src": "5507:5:0"
}
],
"id": 74,
"name": "VariableDeclaration",
"src": "5507:24:0"
}
],
"id": 75,
"name": "ParameterList",
"src": "5429:108:0"
}
],
"id": 76,
"name": "FunctionDefinition",
"src": "5220:318:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrder.\n @param orders Array of order specifications.\n @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders.\n @param signatures Proofs that orders have been created by makers.\n @return Amounts filled and fees paid by makers and taker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "batchFillOrders",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "orders",
"scope": 90,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 77,
"name": "ElementaryTypeName",
"src": "5976:5:0"
}
],
"id": 78,
"name": "ArrayTypeName",
"src": "5976:7:0"
}
],
"id": 79,
"name": "VariableDeclaration",
"src": "5976:23:0"
},
{
"attributes": {
"constant": false,
"name": "takerAssetFillAmounts",
"scope": 90,
"stateVariable": false,
"storageLocation": "calldata",
"type": "uint256[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "uint256[]"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 80,
"name": "ElementaryTypeName",
"src": "6009:7:0"
}
],
"id": 81,
"name": "ArrayTypeName",
"src": "6009:9:0"
}
],
"id": 82,
"name": "VariableDeclaration",
"src": "6009:40:0"
},
{
"attributes": {
"constant": false,
"name": "signatures",
"scope": 90,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 83,
"name": "ElementaryTypeName",
"src": "6059:5:0"
}
],
"id": 84,
"name": "ArrayTypeName",
"src": "6059:7:0"
}
],
"id": 85,
"name": "VariableDeclaration",
"src": "6059:27:0"
}
],
"id": 86,
"name": "ParameterList",
"src": "5921:171:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "totalFillResults",
"scope": 90,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 87,
"name": "ElementaryTypeName",
"src": "6209:5:0"
}
],
"id": 88,
"name": "VariableDeclaration",
"src": "6209:29:0"
}
],
"id": 89,
"name": "ParameterList",
"src": "6126:118:0"
}
],
"id": 90,
"name": "FunctionDefinition",
"src": "5897:348:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrKill.\n @param orders Array of order specifications.\n @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders.\n @param signatures Proofs that orders have been created by makers.\n @return Amounts filled and fees paid by makers and taker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "batchFillOrKillOrders",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "orders",
"scope": 104,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 91,
"name": "ElementaryTypeName",
"src": "6690:5:0"
}
],
"id": 92,
"name": "ArrayTypeName",
"src": "6690:7:0"
}
],
"id": 93,
"name": "VariableDeclaration",
"src": "6690:23:0"
},
{
"attributes": {
"constant": false,
"name": "takerAssetFillAmounts",
"scope": 104,
"stateVariable": false,
"storageLocation": "calldata",
"type": "uint256[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "uint256[]"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 94,
"name": "ElementaryTypeName",
"src": "6723:7:0"
}
],
"id": 95,
"name": "ArrayTypeName",
"src": "6723:9:0"
}
],
"id": 96,
"name": "VariableDeclaration",
"src": "6723:40:0"
},
{
"attributes": {
"constant": false,
"name": "signatures",
"scope": 104,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 97,
"name": "ElementaryTypeName",
"src": "6773:5:0"
}
],
"id": 98,
"name": "ArrayTypeName",
"src": "6773:7:0"
}
],
"id": 99,
"name": "VariableDeclaration",
"src": "6773:27:0"
}
],
"id": 100,
"name": "ParameterList",
"src": "6635:171:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "totalFillResults",
"scope": 104,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 101,
"name": "ElementaryTypeName",
"src": "6923:5:0"
}
],
"id": 102,
"name": "VariableDeclaration",
"src": "6923:29:0"
}
],
"id": 103,
"name": "ParameterList",
"src": "6840:118:0"
}
],
"id": 104,
"name": "FunctionDefinition",
"src": "6605:354:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Fills an order with specified parameters and ECDSA signature.\n Returns false if the transaction would otherwise revert.\n @param orders Array of order specifications.\n @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders.\n @param signatures Proofs that orders have been created by makers.\n @return Amounts filled and fees paid by makers and taker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "batchFillOrdersNoThrow",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "orders",
"scope": 118,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 105,
"name": "ElementaryTypeName",
"src": "7484:5:0"
}
],
"id": 106,
"name": "ArrayTypeName",
"src": "7484:7:0"
}
],
"id": 107,
"name": "VariableDeclaration",
"src": "7484:23:0"
},
{
"attributes": {
"constant": false,
"name": "takerAssetFillAmounts",
"scope": 118,
"stateVariable": false,
"storageLocation": "calldata",
"type": "uint256[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "uint256[]"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 108,
"name": "ElementaryTypeName",
"src": "7517:7:0"
}
],
"id": 109,
"name": "ArrayTypeName",
"src": "7517:9:0"
}
],
"id": 110,
"name": "VariableDeclaration",
"src": "7517:40:0"
},
{
"attributes": {
"constant": false,
"name": "signatures",
"scope": 118,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 111,
"name": "ElementaryTypeName",
"src": "7567:5:0"
}
],
"id": 112,
"name": "ArrayTypeName",
"src": "7567:7:0"
}
],
"id": 113,
"name": "VariableDeclaration",
"src": "7567:27:0"
}
],
"id": 114,
"name": "ParameterList",
"src": "7429:171:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "totalFillResults",
"scope": 118,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 115,
"name": "ElementaryTypeName",
"src": "7717:5:0"
}
],
"id": 116,
"name": "VariableDeclaration",
"src": "7717:29:0"
}
],
"id": 117,
"name": "ParameterList",
"src": "7634:118:0"
}
],
"id": 118,
"name": "FunctionDefinition",
"src": "7398:355:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker.\n @param orders Array of order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signatures Proofs that orders have been created by makers.\n @return Amounts filled and fees paid by makers and taker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "marketSellOrders",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "orders",
"scope": 131,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 119,
"name": "ElementaryTypeName",
"src": "8167:5:0"
}
],
"id": 120,
"name": "ArrayTypeName",
"src": "8167:7:0"
}
],
"id": 121,
"name": "VariableDeclaration",
"src": "8167:23:0"
},
{
"attributes": {
"constant": false,
"name": "takerAssetFillAmount",
"scope": 131,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 122,
"name": "ElementaryTypeName",
"src": "8192:7:0"
}
],
"id": 123,
"name": "VariableDeclaration",
"src": "8192:28:0"
},
{
"attributes": {
"constant": false,
"name": "signatures",
"scope": 131,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 124,
"name": "ElementaryTypeName",
"src": "8222:5:0"
}
],
"id": 125,
"name": "ArrayTypeName",
"src": "8222:7:0"
}
],
"id": 126,
"name": "VariableDeclaration",
"src": "8222:27:0"
}
],
"id": 127,
"name": "ParameterList",
"src": "8166:84:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "totalFillResults",
"scope": 131,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 128,
"name": "ElementaryTypeName",
"src": "8367:5:0"
}
],
"id": 129,
"name": "VariableDeclaration",
"src": "8367:29:0"
}
],
"id": 130,
"name": "ParameterList",
"src": "8284:118:0"
}
],
"id": 131,
"name": "FunctionDefinition",
"src": "8141:262:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker.\n Returns false if the transaction would otherwise revert.\n @param orders Array of order specifications.\n @param takerAssetFillAmount Desired amount of takerAsset to sell.\n @param signatures Proofs that orders have been signed by makers.\n @return Amounts filled and fees paid by makers and taker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "marketSellOrdersNoThrow",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "orders",
"scope": 144,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 132,
"name": "ElementaryTypeName",
"src": "8945:5:0"
}
],
"id": 133,
"name": "ArrayTypeName",
"src": "8945:7:0"
}
],
"id": 134,
"name": "VariableDeclaration",
"src": "8945:23:0"
},
{
"attributes": {
"constant": false,
"name": "takerAssetFillAmount",
"scope": 144,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 135,
"name": "ElementaryTypeName",
"src": "8978:7:0"
}
],
"id": 136,
"name": "VariableDeclaration",
"src": "8978:28:0"
},
{
"attributes": {
"constant": false,
"name": "signatures",
"scope": 144,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 137,
"name": "ElementaryTypeName",
"src": "9016:5:0"
}
],
"id": 138,
"name": "ArrayTypeName",
"src": "9016:7:0"
}
],
"id": 139,
"name": "VariableDeclaration",
"src": "9016:27:0"
}
],
"id": 140,
"name": "ParameterList",
"src": "8892:157:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "totalFillResults",
"scope": 144,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 141,
"name": "ElementaryTypeName",
"src": "9166:5:0"
}
],
"id": 142,
"name": "VariableDeclaration",
"src": "9166:29:0"
}
],
"id": 143,
"name": "ParameterList",
"src": "9083:118:0"
}
],
"id": 144,
"name": "FunctionDefinition",
"src": "8860:342:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Synchronously executes multiple calls of fillOrder until total amount of makerAsset is bought by taker.\n @param orders Array of order specifications.\n @param makerAssetFillAmount Desired amount of makerAsset to buy.\n @param signatures Proofs that orders have been signed by makers.\n @return Amounts filled and fees paid by makers and taker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "marketBuyOrders",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "orders",
"scope": 157,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 145,
"name": "ElementaryTypeName",
"src": "9667:5:0"
}
],
"id": 146,
"name": "ArrayTypeName",
"src": "9667:7:0"
}
],
"id": 147,
"name": "VariableDeclaration",
"src": "9667:23:0"
},
{
"attributes": {
"constant": false,
"name": "makerAssetFillAmount",
"scope": 157,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 148,
"name": "ElementaryTypeName",
"src": "9700:7:0"
}
],
"id": 149,
"name": "VariableDeclaration",
"src": "9700:28:0"
},
{
"attributes": {
"constant": false,
"name": "signatures",
"scope": 157,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 150,
"name": "ElementaryTypeName",
"src": "9738:5:0"
}
],
"id": 151,
"name": "ArrayTypeName",
"src": "9738:7:0"
}
],
"id": 152,
"name": "VariableDeclaration",
"src": "9738:27:0"
}
],
"id": 153,
"name": "ParameterList",
"src": "9614:157:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "totalFillResults",
"scope": 157,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 154,
"name": "ElementaryTypeName",
"src": "9888:5:0"
}
],
"id": 155,
"name": "VariableDeclaration",
"src": "9888:29:0"
}
],
"id": 156,
"name": "ParameterList",
"src": "9805:118:0"
}
],
"id": 157,
"name": "FunctionDefinition",
"src": "9590:334:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Synchronously executes multiple fill orders in a single transaction until total amount is bought by taker.\n Returns false if the transaction would otherwise revert.\n @param orders Array of order specifications.\n @param makerAssetFillAmount Desired amount of makerAsset to buy.\n @param signatures Proofs that orders have been signed by makers.\n @return Amounts filled and fees paid by makers and taker.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "marketBuyOrdersNoThrow",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "orders",
"scope": 170,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 158,
"name": "ElementaryTypeName",
"src": "10469:5:0"
}
],
"id": 159,
"name": "ArrayTypeName",
"src": "10469:7:0"
}
],
"id": 160,
"name": "VariableDeclaration",
"src": "10469:23:0"
},
{
"attributes": {
"constant": false,
"name": "makerAssetFillAmount",
"scope": 170,
"stateVariable": false,
"storageLocation": "default",
"type": "uint256",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "uint256",
"type": "uint256"
},
"id": 161,
"name": "ElementaryTypeName",
"src": "10502:7:0"
}
],
"id": 162,
"name": "VariableDeclaration",
"src": "10502:28:0"
},
{
"attributes": {
"constant": false,
"name": "signatures",
"scope": 170,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 163,
"name": "ElementaryTypeName",
"src": "10540:5:0"
}
],
"id": 164,
"name": "ArrayTypeName",
"src": "10540:7:0"
}
],
"id": 165,
"name": "VariableDeclaration",
"src": "10540:27:0"
}
],
"id": 166,
"name": "ParameterList",
"src": "10416:157:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "totalFillResults",
"scope": 170,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 167,
"name": "ElementaryTypeName",
"src": "10690:5:0"
}
],
"id": 168,
"name": "VariableDeclaration",
"src": "10690:29:0"
}
],
"id": 169,
"name": "ParameterList",
"src": "10607:118:0"
}
],
"id": 170,
"name": "FunctionDefinition",
"src": "10385:341:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Synchronously cancels multiple orders in a single transaction.\n @param orders Array of order specifications.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "batchCancelOrders",
"scope": 185,
"stateMutability": "nonpayable",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "orders",
"scope": 176,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 171,
"name": "ElementaryTypeName",
"src": "10954:5:0"
}
],
"id": 172,
"name": "ArrayTypeName",
"src": "10954:7:0"
}
],
"id": 173,
"name": "VariableDeclaration",
"src": "10954:23:0"
}
],
"id": 174,
"name": "ParameterList",
"src": "10953:25:0"
},
{
"attributes": {
"parameters": [
null
]
},
"children": [],
"id": 175,
"name": "ParameterList",
"src": "10987:0:0"
}
],
"id": 176,
"name": "FunctionDefinition",
"src": "10927:61:0"
},
{
"attributes": {
"body": null,
"documentation": "@dev Fetches information for all passed in orders\n @param orders Array of order specifications.\n @return Array of OrderInfo instances that correspond to each order.",
"implemented": false,
"isConstructor": false,
"kind": "function",
"modifiers": [
null
],
"name": "getOrdersInfo",
"scope": 185,
"stateMutability": "view",
"superFunction": null,
"visibility": "external"
},
"children": [
{
"children": [
{
"attributes": {
"constant": false,
"name": "orders",
"scope": 184,
"stateVariable": false,
"storageLocation": "calldata",
"type": "bytes",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 177,
"name": "ElementaryTypeName",
"src": "11266:5:0"
}
],
"id": 178,
"name": "VariableDeclaration",
"src": "11266:21:0"
}
],
"id": 179,
"name": "ParameterList",
"src": "11265:23:0"
},
{
"children": [
{
"attributes": {
"constant": false,
"name": "",
"scope": 184,
"stateVariable": false,
"storageLocation": "memory",
"type": "bytes[]",
"value": null,
"visibility": "internal"
},
"children": [
{
"attributes": {
"length": null,
"type": "bytes[]"
},
"children": [
{
"attributes": {
"name": "bytes",
"type": "bytes"
},
"id": 180,
"name": "ElementaryTypeName",
"src": "11395:5:0"
}
],
"id": 181,
"name": "ArrayTypeName",
"src": "11395:7:0"
}
],
"id": 182,
"name": "VariableDeclaration",
"src": "11395:14:0"
}
],
"id": 183,
"name": "ParameterList",
"src": "11335:80:0"
}
],
"id": 184,
"name": "FunctionDefinition",
"src": "11243:173:0"
}
],
"id": 185,
"name": "ContractDefinition",
"src": "509:10910:0"
}
],
"id": 186,
"name": "SourceUnit",
"src": "0:11420:0"
}
}
},
"sourceCodes": {
"dab/interface/IZrxExchange.sol": "pragma solidity 0.5.4;\n// TODO: https://github.com/0xProject/dev-tools-truffle-example/issues/4#issuecomment-467639079\npragma experimental ABIEncoderV2;\n\n/*\nhttps://solidity.readthedocs.io/en/v0.5.0/050-breaking-changes.html#interoperability-with-older-contracts\n\nhttps://github.com/0xProject/0x-monorepo/blob/development/contracts/exchange/contracts/src/interfaces/IExchange.sol\n\nTODO: i don't think changing types will work. that changes the call signature. i need the original types for this to work!\n\n*/\n\ninterface IZrxExchange {\n // from \"./IExchangeCore.sol\";\n\n /// @dev Cancels all orders created by makerAddress with a salt less than or equal to the targetOrderEpoch\n /// and senderAddress equal to msg.sender (or null address if msg.sender == makerAddress).\n /// @param targetOrderEpoch Orders created with a salt less or equal to this value will be cancelled.\n function cancelOrdersUpTo(uint256 targetOrderEpoch) external;\n\n /// @dev Fills the input order.\n /// @param order Order struct containing order specifications.\n /// @param takerAssetFillAmount Desired amount of takerAsset to sell.\n /// @param signature Proof that order has been created by maker.\n /// @return Amounts filled and fees paid by maker and taker.\n function fillOrder(\n // LibOrder.Order memory order,\n bytes calldata order,\n uint256 takerAssetFillAmount,\n bytes calldata signature\n )\n external\n returns (\n // returns (LibFillResults.FillResults memory fillResults);\n bytes memory fillResults\n );\n\n /// @dev After calling, the order can not be filled anymore.\n /// @param order Order struct containing order specifications.\n // function cancelOrder(LibOrder.Order memory order)\n function cancelOrder(bytes calldata order) external;\n\n /// @dev Gets information about an order: status, hash, and amount filled.\n /// @param order Order to gather information on.\n /// @return OrderInfo Information about the order and its state.\n /// See LibOrder.OrderInfo for a complete description.\n // function getOrderInfo(LibOrder.Order memory order)\n function getOrderInfo(bytes calldata order)\n external\n view\n returns (\n // returns (LibOrder.OrderInfo memory orderInfo);\n bytes memory orderInfo\n );\n\n // from \"./IMatchOrders.sol\";\n\n /// @dev Match two complementary orders that have a profitable spread.\n /// Each order is filled at their respective price point. However, the calculations are\n /// carried out as though the orders are both being filled at the right order's price point.\n /// The profit made by the left order goes to the taker (who matched the two orders).\n /// @param leftOrder First order to match.\n /// @param rightOrder Second order to match.\n /// @param leftSignature Proof that order was created by the left maker.\n /// @param rightSignature Proof that order was created by the right maker.\n /// @return matchedFillResults Amounts filled and fees paid by maker and taker of matched orders.\n function matchOrders(\n // LibOrder.Order memory leftOrder,\n // LibOrder.Order memory rightOrder,\n bytes calldata leftOrder,\n bytes calldata rightOrder,\n bytes calldata leftSignature,\n bytes calldata rightSignature\n )\n external\n returns (\n // returns (LibFillResults.MatchedFillResults memory matchedFillResults);\n bytes memory matchedFillResults\n );\n\n // from \"./ISignatureValidator.sol\";\n // from \"./ITransactions.sol\";\n\n /// @dev Executes an exchange method call in the context of signer.\n /// @param salt Arbitrary number to ensure uniqueness of transaction hash.\n /// @param signerAddress Address of transaction signer.\n /// @param data AbiV2 encoded calldata.\n /// @param signature Proof of signer transaction by signer.\n function executeTransaction(uint256 salt, address signerAddress, bytes calldata data, bytes calldata signature)\n external;\n\n // from \"./IAssetProxyDispatcher.sol\";\n // from \"./IWrapperFunctions.sol\";\n\n /// @dev Fills the input order. Reverts if exact takerAssetFillAmount not filled.\n /// @param order LibOrder.Order struct containing order specifications.\n /// @param takerAssetFillAmount Desired amount of takerAsset to sell.\n /// @param signature Proof that order has been created by maker.\n function fillOrKillOrder(\n // LibOrder.Order calldata order,\n bytes calldata order,\n uint256 takerAssetFillAmount,\n bytes calldata signature\n )\n external\n returns (\n // returns (LibFillResults.FillResults memory fillResults);\n bytes memory fillResults\n );\n\n /// @dev Fills an order with specified parameters and ECDSA signature.\n /// Returns false if the transaction would otherwise revert.\n /// @param order LibOrder.Order struct containing order specifications.\n /// @param takerAssetFillAmount Desired amount of takerAsset to sell.\n /// @param signature Proof that order has been created by maker.\n /// @return Amounts filled and fees paid by maker and taker.\n function fillOrderNoThrow(\n // LibOrder.Order calldata order,\n bytes calldata order,\n uint256 takerAssetFillAmount,\n bytes calldata signature\n )\n external\n returns (\n // returns (LibFillResults.FillResults memory fillResults);\n bytes memory fillResults\n );\n\n /// @dev Synchronously executes multiple calls of fillOrder.\n /// @param orders Array of order specifications.\n /// @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders.\n /// @param signatures Proofs that orders have been created by makers.\n /// @return Amounts filled and fees paid by makers and taker.\n function batchFillOrders(\n // LibOrder.Order[] calldata orders,\n bytes[] calldata orders,\n uint256[] calldata takerAssetFillAmounts,\n bytes[] calldata signatures\n )\n external\n returns (\n // returns (LibFillResults.FillResults memory totalFillResults);\n bytes memory totalFillResults\n );\n\n /// @dev Synchronously executes multiple calls of fillOrKill.\n /// @param orders Array of order specifications.\n /// @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders.\n /// @param signatures Proofs that orders have been created by makers.\n /// @return Amounts filled and fees paid by makers and taker.\n function batchFillOrKillOrders(\n // LibOrder.Order[] calldata orders,\n bytes[] calldata orders,\n uint256[] calldata takerAssetFillAmounts,\n bytes[] calldata signatures\n )\n external\n returns (\n // returns (LibFillResults.FillResults memory totalFillResults);\n bytes memory totalFillResults\n );\n\n /// @dev Fills an order with specified parameters and ECDSA signature.\n /// Returns false if the transaction would otherwise revert.\n /// @param orders Array of order specifications.\n /// @param takerAssetFillAmounts Array of desired amounts of takerAsset to sell in orders.\n /// @param signatures Proofs that orders have been created by makers.\n /// @return Amounts filled and fees paid by makers and taker.\n function batchFillOrdersNoThrow(\n // LibOrder.Order[] calldata orders,\n bytes[] calldata orders,\n uint256[] calldata takerAssetFillAmounts,\n bytes[] calldata signatures\n )\n external\n returns (\n // returns (LibFillResults.FillResults memory totalFillResults);\n bytes memory totalFillResults\n );\n\n /// @dev Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker.\n /// @param orders Array of order specifications.\n /// @param takerAssetFillAmount Desired amount of takerAsset to sell.\n /// @param signatures Proofs that orders have been created by makers.\n /// @return Amounts filled and fees paid by makers and taker.\n function marketSellOrders(bytes[] calldata orders, uint256 takerAssetFillAmount, bytes[] calldata signatures)\n external\n returns (\n // returns (LibFillResults.FillResults memory totalFillResults);\n bytes memory totalFillResults\n );\n\n /// @dev Synchronously executes multiple calls of fillOrder until total amount of takerAsset is sold by taker.\n /// Returns false if the transaction would otherwise revert.\n /// @param orders Array of order specifications.\n /// @param takerAssetFillAmount Desired amount of takerAsset to sell.\n /// @param signatures Proofs that orders have been signed by makers.\n /// @return Amounts filled and fees paid by makers and taker.\n function marketSellOrdersNoThrow(\n // LibOrder.Order[] memory orders,\n bytes[] calldata orders,\n uint256 takerAssetFillAmount,\n bytes[] calldata signatures\n )\n external\n returns (\n // returns (LibFillResults.FillResults memory totalFillResults);\n bytes memory totalFillResults\n );\n\n /// @dev Synchronously executes multiple calls of fillOrder until total amount of makerAsset is bought by taker.\n /// @param orders Array of order specifications.\n /// @param makerAssetFillAmount Desired amount of makerAsset to buy.\n /// @param signatures Proofs that orders have been signed by makers.\n /// @return Amounts filled and fees paid by makers and taker.\n function marketBuyOrders(\n // LibOrder.Order[] memory orders,\n bytes[] calldata orders,\n uint256 makerAssetFillAmount,\n bytes[] calldata signatures\n )\n external\n returns (\n // returns (LibFillResults.FillResults memory totalFillResults);\n bytes memory totalFillResults\n );\n\n /// @dev Synchronously executes multiple fill orders in a single transaction until total amount is bought by taker.\n /// Returns false if the transaction would otherwise revert.\n /// @param orders Array of order specifications.\n /// @param makerAssetFillAmount Desired amount of makerAsset to buy.\n /// @param signatures Proofs that orders have been signed by makers.\n /// @return Amounts filled and fees paid by makers and taker.\n function marketBuyOrdersNoThrow(\n // LibOrder.Order[] memory orders,\n bytes[] calldata orders,\n uint256 makerAssetFillAmount,\n bytes[] calldata signatures\n )\n external\n returns (\n // returns (LibFillResults.FillResults memory totalFillResults);\n bytes memory totalFillResults\n );\n\n /// @dev Synchronously cancels multiple orders in a single transaction.\n /// @param orders Array of order specifications.\n // function batchCancelOrders(LibOrder.Order[] memory orders)\n function batchCancelOrders(bytes[] calldata orders) external;\n\n /// @dev Fetches information for all passed in orders\n /// @param orders Array of order specifications.\n /// @return Array of OrderInfo instances that correspond to each order.\n // function getOrdersInfo(LibOrder.Order[] memory orders)\n function getOrdersInfo(bytes calldata orders)\n external\n view\n returns (\n // returns (LibOrder.OrderInfo[] memory);\n bytes[] memory\n );\n\n}\n"
},
"sourceTreeHashHex": "0xe90e6e7edc9be5bc8e24abc7593b95ee3df8f4c41c428552ed50b316ab3f566c",
"compiler": {
"name": "solc",
"version": "soljson-v0.5.4+commit.9549d8ff.js",
"settings": {
"outputSelection": {
"*": {
"": [
"legacyAST",
"ast"
],
"*": [
"abi",
"evm.bytecode.object",
"evm.bytecode.sourceMap",
"evm.deployedBytecode.object",
"evm.deployedBytecode.sourceMap",
"userdoc",
"devdoc"
]
}
},
"remappings": []
}
},
"networks": {}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment