Merge pull request #1145 from 0xProject/refactorSchemasToJSON

Move json-schema schemas to JSON files
This commit is contained in:
Kadinsky
2018-10-17 19:01:29 +01:00
committed by GitHub
92 changed files with 637 additions and 563 deletions

View File

@@ -4,6 +4,7 @@ lib
/packages/contracts/generated-artifacts
/packages/abi-gen-wrappers/src/generated-wrappers
/packages/contract-artifacts/artifacts
/packages/json-schemas/schemas
/packages/metacoin/src/contract_wrappers
/packages/metacoin/artifacts
/packages/sra-spec/public/

View File

@@ -68,7 +68,7 @@
"sinon": "^4.0.0",
"source-map-support": "^0.5.0",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1",
"uglifyjs-webpack-plugin": "^2.0.1",
"webpack": "^4.20.2"

View File

@@ -64,7 +64,7 @@
"nyc": "^11.0.1",
"shx": "^0.2.2",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1"
},
"publishConfig": {

View File

@@ -129,7 +129,8 @@ export class BaseContract {
if (abiDefinition.type !== AbiType.Function) {
return false;
}
const abiFunctionSignature = abiUtils.getFunctionSignature(abiDefinition);
// tslint:disable-next-line:no-unnecessary-type-assertion
const abiFunctionSignature = abiUtils.getFunctionSignature(abiDefinition as MethodAbi);
if (abiFunctionSignature === functionSignature) {
return true;
}

View File

@@ -77,7 +77,7 @@
"nyc": "^11.0.1",
"shx": "^0.2.2",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1"
},
"publishConfig": {

View File

@@ -14,7 +14,7 @@ export const assert = {
sharedAssert.doesConformToSchema(
variableName,
subscriptionOpts,
schemas.relayerApiOrdersChannelSubscribePayload,
schemas.relayerApiOrdersChannelSubscribePayloadSchema,
);
},
isOrdersChannelHandler(variableName: string, handler: any): void {

View File

@@ -60,7 +60,7 @@
"sinon": "^4.0.0",
"source-map-support": "^0.5.0",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1",
"web3-provider-engine": "14.0.6"
},

View File

@@ -20,7 +20,9 @@ export type ConstructorStateMutability = 'nonpayable' | 'payable';
export type StateMutability = 'pure' | 'view' | ConstructorStateMutability;
export interface MethodAbi {
type: 'function'; // We hardcode this here b/c doc pages cannot render an enum value
// Ideally this would be set to: `'function'` but then TS complains when artifacts are loaded
// from JSON files, and this value has type `string` not type `'function'`
type: string;
name: string;
inputs: DataItem[];
outputs: DataItem[];
@@ -30,14 +32,18 @@ export interface MethodAbi {
}
export interface ConstructorAbi {
type: 'constructor'; // We hardcode this here b/c doc pages cannot render an enum value
// Ideally this would be set to: `'constructor'` but then TS complains when artifacts are loaded
// from JSON files, and this value has type `string` not type `'constructor'`
type: string;
inputs: DataItem[];
payable: boolean;
stateMutability: ConstructorStateMutability;
}
export interface FallbackAbi {
type: 'fallback'; // We hardcode this here b/c doc pages cannot render an enum value
// Ideally this would be set to: `'fallback'` but then TS complains when artifacts are loaded
// from JSON files, and this value has type `string` not type `'fallback'`
type: string;
payable: boolean;
}
@@ -46,7 +52,9 @@ export interface EventParameter extends DataItem {
}
export interface EventAbi {
type: 'event'; // We hardcode this here b/c doc pages cannot render an enum value
// Ideally this would be set to: `'event'` but then TS complains when artifacts are loaded
// from JSON files, and this value has type `string` not type `'event'`
type: string;
name: string;
inputs: EventParameter[];
anonymous: boolean;

View File

@@ -79,7 +79,7 @@
"shx": "^0.2.2",
"ts-jest": "^23.10.3",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1",
"webpack": "^4.20.2",
"webpack-cli": "^3.1.1",

View File

@@ -1,4 +1,14 @@
[
{
"version": "2.0.0",
"changes": [
{
"note":
"Convert all schemas to JSON files so that they can be used with `json-schema` implemenations in other programming languages.",
"pr": 1145
}
]
},
{
"timestamp": 1538693146,
"version": "1.0.7",

View File

@@ -10,7 +10,7 @@
"scripts": {
"build": "tsc -b",
"build:ci": "yarn build",
"lint": "tslint --project .",
"lint": "tslint --project . --exclude **/schemas/**/*",
"test": "yarn run_mocha",
"rebuild_and_test": "run-s clean build test",
"test:coverage": "nyc npm run test --all && yarn coverage:report:lcov",
@@ -59,7 +59,7 @@
"nyc": "^11.0.1",
"shx": "^0.2.2",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1"
},
"publishConfig": {

View File

@@ -0,0 +1,5 @@
{
"id": "/addressSchema",
"type": "string",
"pattern": "^0x[0-9a-f]{40}$"
}

View File

@@ -1,17 +0,0 @@
export const addressSchema = {
id: '/addressSchema',
type: 'string',
pattern: '^0x[0-9a-f]{40}$',
};
export const hexSchema = {
id: '/hexSchema',
type: 'string',
pattern: '^0x(([0-9a-f][0-9a-f])+)?$',
};
export const numberSchema = {
id: '/numberSchema',
type: 'string',
pattern: '^\\d+(\\.\\d+)?$',
};

View File

@@ -0,0 +1,11 @@
{
"id": "/blockParamSchema",
"oneOf": [
{
"type": "number"
},
{
"enum": ["latest", "earliest", "pending"]
}
]
}

View File

@@ -0,0 +1,8 @@
{
"id": "/blockRangeSchema",
"properties": {
"fromBlock": { "$ref": "/blockParamSchema" },
"toBlock": { "$ref": "/blockParamSchema" }
},
"type": "object"
}

View File

@@ -1,20 +0,0 @@
export const blockParamSchema = {
id: '/blockParamSchema',
oneOf: [
{
type: 'number',
},
{
enum: ['latest', 'earliest', 'pending'],
},
],
};
export const blockRangeSchema = {
id: '/blockRangeSchema',
properties: {
fromBlock: { $ref: '/blockParamSchema' },
toBlock: { $ref: '/blockParamSchema' },
},
type: 'object',
};

View File

@@ -0,0 +1,27 @@
{
"id": "/callDataSchema",
"properties": {
"from": { "$ref": "/addressSchema" },
"to": { "$ref": "/addressSchema" },
"value": {
"oneOf": [{ "$ref": "/numberSchema" }, { "$ref": "/jsNumber" }]
},
"gas": {
"oneOf": [{ "$ref": "/numberSchema" }, { "$ref": "/jsNumber" }]
},
"gasPrice": {
"oneOf": [{ "$ref": "/numberSchema" }, { "$ref": "/jsNumber" }]
},
"data": {
"type": "string",
"pattern": "^0x[0-9a-f]*$"
},
"nonce": {
"type": "number",
"minimum": 0
}
},
"required": [],
"type": "object",
"additionalProperties": false
}

View File

@@ -1,27 +0,0 @@
export const callDataSchema = {
id: '/callDataSchema',
properties: {
from: { $ref: '/addressSchema' },
to: { $ref: '/addressSchema' },
value: {
oneOf: [{ $ref: '/numberSchema' }, { $ref: '/jsNumber' }],
},
gas: {
oneOf: [{ $ref: '/numberSchema' }, { $ref: '/jsNumber' }],
},
gasPrice: {
oneOf: [{ $ref: '/numberSchema' }, { $ref: '/jsNumber' }],
},
data: {
type: 'string',
pattern: '^0x[0-9a-f]*$',
},
nonce: {
type: 'number',
minimum: 0,
},
},
required: [],
type: 'object',
additionalProperties: false,
};

View File

@@ -0,0 +1,5 @@
{
"id": "/ecSignatureParameterSchema",
"type": "string",
"pattern": "^0[xX][0-9A-Fa-f]{64}$"
}

View File

@@ -0,0 +1,14 @@
{
"id": "/ECSignature",
"properties": {
"v": {
"type": "number",
"minimum": 27,
"maximum": 28
},
"r": { "$ref": "/ecSignatureParameterSchema" },
"s": { "$ref": "/ecSignatureParameterSchema" }
},
"required": ["v", "r", "s"],
"type": "object"
}

View File

@@ -1,20 +0,0 @@
export const ecSignatureParameterSchema = {
id: '/ecSignatureParameterSchema',
type: 'string',
pattern: '^0[xX][0-9A-Fa-f]{64}$',
};
export const ecSignatureSchema = {
id: '/ECSignature',
properties: {
v: {
type: 'number',
minimum: 27,
maximum: 28,
},
r: { $ref: '/ecSignatureParameterSchema' },
s: { $ref: '/ecSignatureParameterSchema' },
},
required: ['v', 'r', 's'],
type: 'object',
};

View File

@@ -1,28 +0,0 @@
export const eip712TypedDataSchema = {
id: '/eip712TypedData',
type: 'object',
properties: {
types: {
type: 'object',
properties: {
EIP712Domain: { type: 'array' },
},
additionalProperties: {
type: 'array',
items: {
type: 'object',
properties: {
name: { type: 'string' },
type: { type: 'string' },
},
required: ['name', 'type'],
},
},
required: ['EIP712Domain'],
},
primaryType: { type: 'string' },
domain: { type: 'object' },
message: { type: 'object' },
},
required: ['types', 'primaryType', 'domain', 'message'],
};

View File

@@ -0,0 +1,28 @@
{
"id": "/eip712TypedDataSchema",
"type": "object",
"properties": {
"types": {
"type": "object",
"properties": {
"EIP712Domain": { "type": "array" }
},
"additionalProperties": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": { "type": "string" },
"type": { "type": "string" }
},
"required": ["name", "type"]
}
},
"required": ["EIP712Domain"]
},
"primaryType": { "type": "string" },
"domain": { "type": "object" },
"message": { "type": "object" }
},
"required": ["types", "primaryType", "domain", "message"]
}

View File

@@ -0,0 +1,5 @@
{
"id": "/hexSchema",
"type": "string",
"pattern": "^0x(([0-9a-f][0-9a-f])+)?$"
}

View File

@@ -0,0 +1,7 @@
{
"id": "/indexFilterValuesSchema",
"additionalProperties": {
"oneOf": [{ "$ref": "/numberSchema" }, { "$ref": "/addressSchema" }, { "$ref": "/orderHashSchema" }]
},
"type": "object"
}

View File

@@ -1,7 +0,0 @@
export const indexFilterValuesSchema = {
id: '/indexFilterValuesSchema',
additionalProperties: {
oneOf: [{ $ref: '/numberSchema' }, { $ref: '/addressSchema' }, { $ref: '/orderHashSchema' }],
},
type: 'object',
};

View File

@@ -0,0 +1,5 @@
{
"id": "/jsNumber",
"type": "number",
"minimum": 0
}

View File

@@ -0,0 +1,5 @@
{
"id": "/numberSchema",
"type": "string",
"pattern": "^\\d+(\\.\\d+)?$"
}

View File

@@ -0,0 +1,12 @@
{
"id": "/orderCancellationRequestsSchema",
"type": "array",
"items": {
"properties": {
"order": { "$ref": "/orderSchema" },
"takerTokenCancelAmount": { "$ref": "/numberSchema" }
},
"required": ["order", "takerTokenCancelAmount"],
"type": "object"
}
}

View File

@@ -1,12 +0,0 @@
export const orderCancellationRequestsSchema = {
id: '/orderCancellationRequestsSchema',
type: 'array',
items: {
properties: {
order: { $ref: '/orderSchema' },
takerTokenCancelAmount: { $ref: '/numberSchema' },
},
required: ['order', 'takerTokenCancelAmount'],
type: 'object',
},
};

View File

@@ -0,0 +1,12 @@
{
"id": "/orderFillOrKillRequestsSchema",
"type": "array",
"items": {
"properties": {
"signedOrder": { "$ref": "/signedOrderSchema" },
"fillTakerAmount": { "$ref": "/numberSchema" }
},
"required": ["signedOrder", "fillTakerAmount"],
"type": "object"
}
}

View File

@@ -1,12 +0,0 @@
export const orderFillOrKillRequestsSchema = {
id: '/orderFillOrKillRequestsSchema',
type: 'array',
items: {
properties: {
signedOrder: { $ref: '/signedOrderSchema' },
fillTakerAmount: { $ref: '/numberSchema' },
},
required: ['signedOrder', 'fillTakerAmount'],
type: 'object',
},
};

View File

@@ -0,0 +1,12 @@
{
"id": "/orderFillRequestsSchema",
"type": "array",
"items": {
"properties": {
"signedOrder": { "$ref": "/signedOrderSchema" },
"takerTokenFillAmount": { "$ref": "/numberSchema" }
},
"required": ["signedOrder", "takerTokenFillAmount"],
"type": "object"
}
}

View File

@@ -1,12 +0,0 @@
export const orderFillRequestsSchema = {
id: '/orderFillRequestsSchema',
type: 'array',
items: {
properties: {
signedOrder: { $ref: '/signedOrderSchema' },
takerTokenFillAmount: { $ref: '/numberSchema' },
},
required: ['signedOrder', 'takerTokenFillAmount'],
type: 'object',
},
};

View File

@@ -0,0 +1,5 @@
{
"id": "/orderHashSchema",
"type": "string",
"pattern": "^0x[0-9a-fA-F]{64}$"
}

View File

@@ -1,5 +0,0 @@
export const orderHashSchema = {
id: '/orderHashSchema',
type: 'string',
pattern: '^0x[0-9a-fA-F]{64}$',
};

View File

@@ -0,0 +1,34 @@
{
"id": "/orderSchema",
"properties": {
"makerAddress": { "$ref": "/addressSchema" },
"takerAddress": { "$ref": "/addressSchema" },
"makerFee": { "$ref": "/numberSchema" },
"takerFee": { "$ref": "/numberSchema" },
"senderAddress": { "$ref": "/addressSchema" },
"makerAssetAmount": { "$ref": "/numberSchema" },
"takerAssetAmount": { "$ref": "/numberSchema" },
"makerAssetData": { "$ref": "/hexSchema" },
"takerAssetData": { "$ref": "/hexSchema" },
"salt": { "$ref": "/numberSchema" },
"exchangeAddress": { "$ref": "/addressSchema" },
"feeRecipientAddress": { "$ref": "/addressSchema" },
"expirationTimeSeconds": { "$ref": "/numberSchema" }
},
"required": [
"makerAddress",
"takerAddress",
"makerFee",
"takerFee",
"senderAddress",
"makerAssetAmount",
"takerAssetAmount",
"makerAssetData",
"takerAssetData",
"salt",
"exchangeAddress",
"feeRecipientAddress",
"expirationTimeSeconds"
],
"type": "object"
}

View File

@@ -1,47 +0,0 @@
export const orderSchema = {
id: '/orderSchema',
properties: {
makerAddress: { $ref: '/addressSchema' },
takerAddress: { $ref: '/addressSchema' },
makerFee: { $ref: '/numberSchema' },
takerFee: { $ref: '/numberSchema' },
senderAddress: { $ref: '/addressSchema' },
makerAssetAmount: { $ref: '/numberSchema' },
takerAssetAmount: { $ref: '/numberSchema' },
makerAssetData: { $ref: '/hexSchema' },
takerAssetData: { $ref: '/hexSchema' },
salt: { $ref: '/numberSchema' },
exchangeAddress: { $ref: '/addressSchema' },
feeRecipientAddress: { $ref: '/addressSchema' },
expirationTimeSeconds: { $ref: '/numberSchema' },
},
required: [
'makerAddress',
'takerAddress',
'makerFee',
'takerFee',
'senderAddress',
'makerAssetAmount',
'takerAssetAmount',
'makerAssetData',
'takerAssetData',
'salt',
'exchangeAddress',
'feeRecipientAddress',
'expirationTimeSeconds',
],
type: 'object',
};
export const signedOrderSchema = {
id: '/signedOrderSchema',
allOf: [
{ $ref: '/orderSchema' },
{
properties: {
signature: { $ref: '/hexSchema' },
},
required: ['signature'],
},
],
};

View File

@@ -0,0 +1,5 @@
{
"id": "/ordersSchema",
"type": "array",
"items": { "$ref": "/orderSchema" }
}

View File

@@ -1,5 +0,0 @@
export const ordersSchema = {
id: '/ordersSchema',
type: 'array',
items: { $ref: '/orderSchema' },
};

View File

@@ -0,0 +1,10 @@
{
"id": "/paginatedCollectionSchema",
"type": "object",
"properties": {
"total": { "type": "number" },
"perPage": { "type": "number" },
"page": { "type": "number" }
},
"required": ["total", "perPage", "page"]
}

View File

@@ -1,10 +0,0 @@
export const paginatedCollectionSchema = {
id: '/paginatedCollectionSchema',
type: 'object',
properties: {
total: { type: 'number' },
perPage: { type: 'number' },
page: { type: 'number' },
},
required: ['total', 'perPage', 'page'],
};

View File

@@ -0,0 +1,13 @@
{
"id": "/relayerApiAssetDataPairsResponseSchema",
"type": "object",
"allOf": [
{ "$ref": "/paginatedCollectionSchema" },
{
"properties": {
"records": { "$ref": "/relayerApiAssetDataPairsSchema" }
},
"required": ["records"]
}
]
}

View File

@@ -0,0 +1,12 @@
{
"id": "/relayerApiAssetDataPairsSchema",
"type": "array",
"items": {
"properties": {
"assetDataA": { "$ref": "/relayerApiAssetDataTradeInfoSchema" },
"assetDataB": { "$ref": "/relayerApiAssetDataTradeInfoSchema" }
},
"required": ["assetDataA", "assetDataB"],
"type": "object"
}
}

View File

@@ -0,0 +1,11 @@
{
"id": "/relayerApiAssetDataTradeInfoSchema",
"type": "object",
"properties": {
"assetData": { "$ref": "/hexSchema" },
"minAmount": { "$ref": "/numberSchema" },
"maxAmount": { "$ref": "/numberSchema" },
"precision": { "type": "number" }
},
"required": ["assetData"]
}

View File

@@ -1,38 +0,0 @@
export const relayerApiAssetDataPairsResponseSchema = {
id: '/relayerApiAssetDataPairsResponseSchema',
type: 'object',
allOf: [
{ $ref: '/paginatedCollectionSchema' },
{
properties: {
records: { $ref: '/relayerApiAssetDataPairsSchema' },
},
required: ['records'],
},
],
};
export const relayerApiAssetDataPairsSchema = {
id: '/relayerApiAssetDataPairsSchema',
type: 'array',
items: {
properties: {
assetDataA: { $ref: '/relayerApiAssetDataTradeInfoSchema' },
assetDataB: { $ref: '/relayerApiAssetDataTradeInfoSchema' },
},
required: ['assetDataA', 'assetDataB'],
type: 'object',
},
};
export const relayerApiAssetDataTradeInfoSchema = {
id: '/relayerApiAssetDataTradeInfoSchema',
type: 'object',
properties: {
assetData: { $ref: '/hexSchema' },
minAmount: { $ref: '/numberSchema' },
maxAmount: { $ref: '/numberSchema' },
precision: { type: 'number' },
},
required: ['assetData'],
};

View File

@@ -0,0 +1,21 @@
{
"id": "/relayerApiErrorResponseSchema",
"type": "object",
"properties": {
"code": { "type": "integer", "minimum": 100, "maximum": 103 },
"reason": { "type": "string" },
"validationErrors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": { "type": "string" },
"code": { "type": "integer", "minimum": 1000, "maximum": 1006 },
"reason": { "type": "string" }
},
"required": ["field", "code", "reason"]
}
}
},
"required": ["code", "reason"]
}

View File

@@ -1,21 +0,0 @@
export const relayerApiErrorResponseSchema = {
id: '/relayerApiErrorResponseSchema',
type: 'object',
properties: {
code: { type: 'integer', minimum: 100, maximum: 103 },
reason: { type: 'string' },
validationErrors: {
type: 'array',
items: {
type: 'object',
properties: {
field: { type: 'string' },
code: { type: 'integer', minimum: 1000, maximum: 1006 },
reason: { type: 'string' },
},
required: ['field', 'code', 'reason'],
},
},
},
required: ['code', 'reason'],
};

View File

@@ -0,0 +1,16 @@
{
"id": "/relayerApiFeeRecipientsResponseSchema",
"type": "object",
"allOf": [
{ "$ref": "/paginatedCollectionSchema" },
{
"properties": {
"records": {
"type": "array",
"items": { "$ref": "/addressSchema" }
}
},
"required": ["records"]
}
]
}

View File

@@ -1,16 +0,0 @@
export const relayerApiFeeRecipientsResponseSchema = {
id: '/relayerApiFeeRecipientsResponseSchema',
type: 'object',
allOf: [
{ $ref: '/paginatedCollectionSchema' },
{
properties: {
records: {
type: 'array',
items: { $ref: '/addressSchema' },
},
},
required: ['records'],
},
],
};

View File

@@ -0,0 +1,24 @@
{
"id": "/relayerApiOrderConfigPayloadSchema",
"type": "object",
"properties": {
"makerAddress": { "$ref": "/addressSchema" },
"takerAddress": { "$ref": "/addressSchema" },
"makerAssetAmount": { "$ref": "/numberSchema" },
"takerAssetAmount": { "$ref": "/numberSchema" },
"makerAssetData": { "$ref": "/hexSchema" },
"takerAssetData": { "$ref": "/hexSchema" },
"exchangeAddress": { "$ref": "/addressSchema" },
"expirationTimeSeconds": { "$ref": "/numberSchema" }
},
"required": [
"makerAddress",
"takerAddress",
"makerAssetAmount",
"takerAssetAmount",
"makerAssetData",
"takerAssetData",
"exchangeAddress",
"expirationTimeSeconds"
]
}

View File

@@ -1,24 +0,0 @@
export const relayerApiOrderConfigPayloadSchema = {
id: '/relayerApiOrderConfigPayloadSchema',
type: 'object',
properties: {
makerAddress: { $ref: '/addressSchema' },
takerAddress: { $ref: '/addressSchema' },
makerAssetAmount: { $ref: '/numberSchema' },
takerAssetAmount: { $ref: '/numberSchema' },
makerAssetData: { $ref: '/hexSchema' },
takerAssetData: { $ref: '/hexSchema' },
exchangeAddress: { $ref: '/addressSchema' },
expirationTimeSeconds: { $ref: '/numberSchema' },
},
required: [
'makerAddress',
'takerAddress',
'makerAssetAmount',
'takerAssetAmount',
'makerAssetData',
'takerAssetData',
'exchangeAddress',
'expirationTimeSeconds',
],
};

View File

@@ -0,0 +1,11 @@
{
"id": "/relayerApiOrderConfigResponseSchema",
"type": "object",
"properties": {
"makerFee": { "$ref": "/numberSchema" },
"takerFee": { "$ref": "/numberSchema" },
"feeRecipientAddress": { "$ref": "/addressSchema" },
"senderAddress": { "$ref": "/addressSchema" }
},
"required": ["makerFee", "takerFee", "feeRecipientAddress", "senderAddress"]
}

View File

@@ -1,11 +0,0 @@
export const relayerApiOrderConfigResponseSchema = {
id: '/relayerApiOrderConfigResponseSchema',
type: 'object',
properties: {
makerFee: { $ref: '/numberSchema' },
takerFee: { $ref: '/numberSchema' },
feeRecipientAddress: { $ref: '/addressSchema' },
senderAddress: { $ref: '/addressSchema' },
},
required: ['makerFee', 'takerFee', 'feeRecipientAddress', 'senderAddress'],
};

View File

@@ -0,0 +1,9 @@
{
"id": "/relayerApiOrderSchema",
"type": "object",
"properties": {
"order": { "$ref": "/orderSchema" },
"metaData": { "type": "object" }
},
"required": ["order", "metaData"]
}

View File

@@ -1,9 +0,0 @@
export const relayerApiOrderSchema = {
id: '/relayerApiOrderSchema',
type: 'object',
properties: {
order: { $ref: '/orderSchema' },
metaData: { type: 'object' },
},
required: ['order', 'metaData'],
};

View File

@@ -0,0 +1,9 @@
{
"id": "/relayerApiOrderbookResponseSchema",
"type": "object",
"properties": {
"bids": { "$ref": "/relayerApiOrdersResponseSchema" },
"asks": { "$ref": "/relayerApiOrdersResponseSchema" }
},
"required": ["bids", "asks"]
}

View File

@@ -1,9 +0,0 @@
export const relayerApiOrderbookResponseSchema = {
id: '/relayerApiOrderbookResponseSchema',
type: 'object',
properties: {
bids: { $ref: '/relayerApiOrdersResponseSchema' },
asks: { $ref: '/relayerApiOrdersResponseSchema' },
},
required: ['bids', 'asks'],
};

View File

@@ -0,0 +1,14 @@
{
"id": "/relayerApiOrdersChannelSubscribePayloadSchema",
"type": "object",
"properties": {
"makerAssetProxyId": { "$ref": "/hexSchema" },
"takerAssetProxyId": { "$ref": "/hexSchema" },
"networkId": { "type": "number" },
"makerAssetAddress": { "$ref": "/addressSchema" },
"takerAssetAddress": { "$ref": "/addressSchema" },
"makerAssetData": { "$ref": "/hexSchema" },
"takerAssetData": { "$ref": "/hexSchema" },
"traderAssetData": { "$ref": "/hexSchema" }
}
}

View File

@@ -0,0 +1,11 @@
{
"id": "/relayerApiOrdersChannelSubscribeSchema",
"type": "object",
"properties": {
"type": { "enum": ["subscribe"] },
"channel": { "enum": ["orders"] },
"requestId": { "type": "string" },
"payload": { "$ref": "/relayerApiOrdersChannelSubscribePayloadSchema" }
},
"required": ["type", "channel", "requestId"]
}

View File

@@ -1,26 +0,0 @@
export const relayerApiOrdersChannelSubscribeSchema = {
id: '/relayerApiOrdersChannelSubscribeSchema',
type: 'object',
properties: {
type: { enum: ['subscribe'] },
channel: { enum: ['orders'] },
requestId: { type: 'string' },
payload: { $ref: '/relayerApiOrdersChannelSubscribePayload' },
},
required: ['type', 'channel', 'requestId'],
};
export const relayerApiOrdersChannelSubscribePayload = {
id: '/relayerApiOrdersChannelSubscribePayload',
type: 'object',
properties: {
makerAssetProxyId: { $ref: '/hexSchema' },
takerAssetProxyId: { $ref: '/hexSchema' },
networkId: { type: 'number' },
makerAssetAddress: { $ref: '/addressSchema' },
takerAssetAddress: { $ref: '/addressSchema' },
makerAssetData: { $ref: '/hexSchema' },
takerAssetData: { $ref: '/hexSchema' },
traderAssetData: { $ref: '/hexSchema' },
},
};

View File

@@ -0,0 +1,11 @@
{
"id": "/relayerApiOrdersChannelUpdateSchema",
"type": "object",
"properties": {
"type": { "enum": ["update"] },
"channel": { "enum": ["orders"] },
"requestId": { "type": "string" },
"payload": { "$ref": "/relayerApiOrdersSchema" }
},
"required": ["type", "channel", "requestId"]
}

View File

@@ -1,11 +0,0 @@
export const relayerApiOrdersChannelUpdateSchema = {
id: '/relayerApiOrdersChannelUpdateSchema',
type: 'object',
properties: {
type: { enum: ['update'] },
channel: { enum: ['orders'] },
requestId: { type: 'string' },
payload: { $ref: '/relayerApiOrdersSchema' },
},
required: ['type', 'channel', 'requestId'],
};

View File

@@ -0,0 +1,13 @@
{
"id": "/relayerApiOrdersResponseSchema",
"type": "object",
"allOf": [
{ "$ref": "/paginatedCollectionSchema" },
{
"properties": {
"records": { "$ref": "/relayerApiOrdersSchema" }
},
"required": ["records"]
}
]
}

View File

@@ -1,13 +0,0 @@
export const relayerApiOrdersResponseSchema = {
id: '/relayerApiOrdersResponseSchema',
type: 'object',
allOf: [
{ $ref: '/paginatedCollectionSchema' },
{
properties: {
records: { $ref: '/relayerApiOrdersSchema' },
},
required: ['records'],
},
],
};

View File

@@ -0,0 +1,5 @@
{
"id": "/relayerApiOrdersSchema",
"type": "array",
"items": { "$ref": "/relayerApiOrderSchema" }
}

View File

@@ -1,5 +0,0 @@
export const relayerApiOrdersSchema = {
id: '/relayerApiOrdersSchema',
type: 'array',
items: { $ref: '/relayerApiOrderSchema' },
};

View File

@@ -0,0 +1,12 @@
{
"id": "/signedOrderSchema",
"allOf": [
{ "$ref": "/orderSchema" },
{
"properties": {
"signature": { "$ref": "/hexSchema" }
},
"required": ["signature"]
}
]
}

View File

@@ -0,0 +1,5 @@
{
"id": "/signedOrdersSchema",
"type": "array",
"items": { "$ref": "/signedOrderSchema" }
}

View File

@@ -1,5 +0,0 @@
export const signedOrdersSchema = {
id: '/signedOrdersSchema',
type: 'array',
items: { $ref: '/signedOrderSchema' },
};

View File

@@ -0,0 +1,11 @@
{
"id": "/tokenSchema",
"properties": {
"name": { "type": "string" },
"symbol": { "type": "string" },
"decimals": { "type": "number" },
"address": { "$ref": "/addressSchema" }
},
"required": ["name", "symbol", "decimals", "address"],
"type": "object"
}

View File

@@ -1,11 +0,0 @@
export const tokenSchema = {
id: '/tokenSchema',
properties: {
name: { type: 'string' },
symbol: { type: 'string' },
decimals: { type: 'number' },
address: { $ref: '/addressSchema' },
},
required: ['name', 'symbol', 'decimals', 'address'],
type: 'object',
};

View File

@@ -0,0 +1,26 @@
{
"id": "/txDataSchema",
"properties": {
"from": { "$ref": "/addressSchema" },
"to": { "$ref": "/addressSchema" },
"value": {
"oneOf": [{ "$ref": "/numberSchema" }, { "$ref": "/jsNumber" }]
},
"gas": {
"oneOf": [{ "$ref": "/numberSchema" }, { "$ref": "/jsNumber" }]
},
"gasPrice": {
"oneOf": [{ "$ref": "/numberSchema" }, { "$ref": "/jsNumber" }]
},
"data": {
"type": "string",
"pattern": "^0x[0-9a-f]*$"
},
"nonce": {
"type": "number",
"minimum": 0
}
},
"required": ["from"],
"type": "object"
}

View File

@@ -1,32 +0,0 @@
export const jsNumber = {
id: '/jsNumber',
type: 'number',
minimum: 0,
};
export const txDataSchema = {
id: '/txDataSchema',
properties: {
from: { $ref: '/addressSchema' },
to: { $ref: '/addressSchema' },
value: {
oneOf: [{ $ref: '/numberSchema' }, { $ref: '/jsNumber' }],
},
gas: {
oneOf: [{ $ref: '/numberSchema' }, { $ref: '/jsNumber' }],
},
gasPrice: {
oneOf: [{ $ref: '/numberSchema' }, { $ref: '/jsNumber' }],
},
data: {
type: 'string',
pattern: '^0x[0-9a-f]*$',
},
nonce: {
type: 'number',
minimum: 0,
},
},
required: ['from'],
type: 'object',
};

View File

@@ -0,0 +1,10 @@
{
"id": "/zeroExTransactionSchema",
"properties": {
"data": { "$ref": "/hexSchema" },
"signerAddress": { "$ref": "/addressSchema" },
"salt": { "$ref": "/numberSchema" }
},
"required": ["data", "salt", "signerAddress"],
"type": "object"
}

View File

@@ -1,10 +0,0 @@
export const zeroExTransactionSchema = {
id: '/zeroExTransactionSchema',
properties: {
data: { $ref: '/hexSchema' },
signerAddress: { $ref: '/addressSchema' },
salt: { $ref: '/numberSchema' },
},
required: ['data', 'salt', 'signerAddress'],
type: 'object',
};

View File

@@ -1,6 +0,0 @@
declare module '*.json' {
const json: any;
/* tslint:disable */
export default json;
/* tslint:enable */
}

View File

@@ -1,38 +1,40 @@
import { addressSchema, hexSchema, numberSchema } from '../schemas/basic_type_schemas';
import { blockParamSchema, blockRangeSchema } from '../schemas/block_range_schema';
import { callDataSchema } from '../schemas/call_data_schema';
import { ecSignatureParameterSchema, ecSignatureSchema } from '../schemas/ec_signature_schema';
import { eip712TypedDataSchema } from '../schemas/eip712_typed_data';
import { indexFilterValuesSchema } from '../schemas/index_filter_values_schema';
import { orderCancellationRequestsSchema } from '../schemas/order_cancel_schema';
import { orderFillOrKillRequestsSchema } from '../schemas/order_fill_or_kill_requests_schema';
import { orderFillRequestsSchema } from '../schemas/order_fill_requests_schema';
import { orderHashSchema } from '../schemas/order_hash_schema';
import { orderSchema, signedOrderSchema } from '../schemas/order_schemas';
import { ordersSchema } from '../schemas/orders_schema';
import { paginatedCollectionSchema } from '../schemas/paginated_collection_schema';
import {
relayerApiAssetDataPairsResponseSchema,
relayerApiAssetDataPairsSchema,
relayerApiAssetDataTradeInfoSchema,
} from '../schemas/relayer_api_asset_pairs_response_schema';
import { relayerApiErrorResponseSchema } from '../schemas/relayer_api_error_response_schema';
import { relayerApiFeeRecipientsResponseSchema } from '../schemas/relayer_api_fee_recipients_response_schema';
import { relayerApiOrderConfigPayloadSchema } from '../schemas/relayer_api_order_config_payload_schema';
import { relayerApiOrderConfigResponseSchema } from '../schemas/relayer_api_order_config_response_schema';
import { relayerApiOrderSchema } from '../schemas/relayer_api_order_schema';
import { relayerApiOrderbookResponseSchema } from '../schemas/relayer_api_orderbook_response_schema';
import {
relayerApiOrdersChannelSubscribePayload,
relayerApiOrdersChannelSubscribeSchema,
} from '../schemas/relayer_api_orders_channel_subscribe_schema';
import { relayerApiOrdersChannelUpdateSchema } from '../schemas/relayer_api_orders_channel_update_response_schema';
import { relayerApiOrdersResponseSchema } from '../schemas/relayer_api_orders_response_schema';
import { relayerApiOrdersSchema } from '../schemas/relayer_api_orders_schema';
import { signedOrdersSchema } from '../schemas/signed_orders_schema';
import { tokenSchema } from '../schemas/token_schema';
import { jsNumber, txDataSchema } from '../schemas/tx_data_schema';
import { zeroExTransactionSchema } from '../schemas/zero_ex_transaction_schema';
import * as addressSchema from '../schemas/address_schema.json';
import * as blockParamSchema from '../schemas/block_param_schema.json';
import * as blockRangeSchema from '../schemas/block_range_schema.json';
import * as callDataSchema from '../schemas/call_data_schema.json';
import * as ecSignatureParameterSchema from '../schemas/ec_signature_parameter_schema.json';
import * as ecSignatureSchema from '../schemas/ec_signature_schema.json';
import * as eip712TypedDataSchema from '../schemas/eip712_typed_data_schema.json';
import * as hexSchema from '../schemas/hex_schema.json';
import * as indexFilterValuesSchema from '../schemas/index_filter_values_schema.json';
import * as jsNumber from '../schemas/js_number.json';
import * as numberSchema from '../schemas/number_schema.json';
import * as orderCancellationRequestsSchema from '../schemas/order_cancel_schema.json';
import * as orderFillOrKillRequestsSchema from '../schemas/order_fill_or_kill_requests_schema.json';
import * as orderFillRequestsSchema from '../schemas/order_fill_requests_schema.json';
import * as orderHashSchema from '../schemas/order_hash_schema.json';
import * as orderSchema from '../schemas/order_schema.json';
import * as ordersSchema from '../schemas/orders_schema.json';
import * as paginatedCollectionSchema from '../schemas/paginated_collection_schema.json';
import * as relayerApiAssetDataPairsResponseSchema from '../schemas/relayer_api_asset_data_pairs_response_schema.json';
import * as relayerApiAssetDataPairsSchema from '../schemas/relayer_api_asset_data_pairs_schema.json';
import * as relayerApiAssetDataTradeInfoSchema from '../schemas/relayer_api_asset_data_trade_info_schema.json';
import * as relayerApiErrorResponseSchema from '../schemas/relayer_api_error_response_schema.json';
import * as relayerApiFeeRecipientsResponseSchema from '../schemas/relayer_api_fee_recipients_response_schema.json';
import * as relayerApiOrderConfigPayloadSchema from '../schemas/relayer_api_order_config_payload_schema.json';
import * as relayerApiOrderConfigResponseSchema from '../schemas/relayer_api_order_config_response_schema.json';
import * as relayerApiOrderSchema from '../schemas/relayer_api_order_schema.json';
import * as relayerApiOrderbookResponseSchema from '../schemas/relayer_api_orderbook_response_schema.json';
import * as relayerApiOrdersChannelSubscribePayloadSchema from '../schemas/relayer_api_orders_channel_subscribe_payload_schema.json';
import * as relayerApiOrdersChannelSubscribeSchema from '../schemas/relayer_api_orders_channel_subscribe_schema.json';
import * as relayerApiOrdersChannelUpdateSchema from '../schemas/relayer_api_orders_channel_update_response_schema.json';
import * as relayerApiOrdersResponseSchema from '../schemas/relayer_api_orders_response_schema.json';
import * as relayerApiOrdersSchema from '../schemas/relayer_api_orders_schema.json';
import * as signedOrderSchema from '../schemas/signed_order_schema.json';
import * as signedOrdersSchema from '../schemas/signed_orders_schema.json';
import * as tokenSchema from '../schemas/token_schema.json';
import * as txDataSchema from '../schemas/tx_data_schema.json';
import * as zeroExTransactionSchema from '../schemas/zero_ex_transaction_schema.json';
export const schemas = {
numberSchema,
@@ -67,7 +69,7 @@ export const schemas = {
relayerApiAssetDataPairsResponseSchema,
relayerApiAssetDataTradeInfoSchema,
relayerApiOrdersChannelSubscribeSchema,
relayerApiOrdersChannelSubscribePayload,
relayerApiOrdersChannelSubscribePayloadSchema,
relayerApiOrdersChannelUpdateSchema,
relayerApiOrdersResponseSchema,
relayerApiAssetDataPairsSchema,

View File

@@ -2,7 +2,47 @@
"extends": "../../tsconfig",
"compilerOptions": {
"outDir": "lib",
"rootDir": "."
"rootDir": ".",
"resolveJsonModule": true
},
"include": ["./src/**/*", "./test/**/*", "./schemas/**/*"]
"include": ["./src/**/*", "./test/**/*"],
"files": [
"./schemas/address_schema.json",
"./schemas/number_schema.json",
"./schemas/hex_schema.json",
"./schemas/block_param_schema.json",
"./schemas/block_range_schema.json",
"./schemas/call_data_schema.json",
"./schemas/ec_signature_parameter_schema.json",
"./schemas/ec_signature_schema.json",
"./schemas/eip712_typed_data_schema.json",
"./schemas/order_cancel_schema.json",
"./schemas/order_fill_or_kill_requests_schema.json",
"./schemas/order_fill_requests_schema.json",
"./schemas/order_hash_schema.json",
"./schemas/order_schema.json",
"./schemas/signed_order_schema.json",
"./schemas/orders_schema.json",
"./schemas/paginated_collection_schema.json",
"./schemas/relayer_api_asset_data_pairs_response_schema.json",
"./schemas/relayer_api_asset_data_pairs_schema.json",
"./schemas/relayer_api_asset_data_trade_info_schema.json",
"./schemas/relayer_api_error_response_schema.json",
"./schemas/relayer_api_fee_recipients_response_schema.json",
"./schemas/relayer_api_order_config_payload_schema.json",
"./schemas/relayer_api_order_config_response_schema.json",
"./schemas/relayer_api_order_schema.json",
"./schemas/relayer_api_orderbook_response_schema.json",
"./schemas/relayer_api_orders_channel_subscribe_payload_schema.json",
"./schemas/relayer_api_orders_channel_subscribe_schema.json",
"./schemas/relayer_api_orders_channel_update_response_schema.json",
"./schemas/relayer_api_orders_response_schema.json",
"./schemas/relayer_api_orders_schema.json",
"./schemas/signed_orders_schema.json",
"./schemas/token_schema.json",
"./schemas/js_number.json",
"./schemas/zero_ex_transaction_schema.json",
"./schemas/tx_data_schema.json",
"./schemas/index_filter_values_schema.json"
]
}

View File

@@ -65,7 +65,7 @@
"semver": "5.5.0",
"semver-diff": "^2.1.0",
"semver-sort": "0.0.4",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"yargs": "^10.0.3"
},
"publishConfig": {

View File

@@ -49,7 +49,7 @@
"shx": "^0.2.2",
"sinon": "^4.0.0",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1"
},
"dependencies": {

View File

@@ -58,7 +58,7 @@
"nyc": "^11.0.1",
"shx": "^0.2.2",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"types-bn": "^0.0.1",
"typescript": "3.0.1",
"web3-typescript-typings": "^0.10.2",

View File

@@ -1,4 +1,4 @@
import { AbiDefinition, AbiType, ContractAbi, DataItem } from 'ethereum-types';
import { AbiDefinition, AbiType, ConstructorAbi, ContractAbi, DataItem } from 'ethereum-types';
import * as _ from 'lodash';
import * as web3Abi from 'web3-eth-abi';
@@ -7,7 +7,9 @@ export const encoder = {
const constructorTypes: string[] = [];
_.each(abi, (element: AbiDefinition) => {
if (element.type === AbiType.Constructor) {
_.each(element.inputs, (input: DataItem) => {
// tslint:disable-next-line:no-unnecessary-type-assertion
const constuctorAbi = element as ConstructorAbi;
_.each(constuctorAbi.inputs, (input: DataItem) => {
constructorTypes.push(input.type);
});
}

View File

@@ -78,7 +78,7 @@
"shx": "^0.2.2",
"sinon": "^4.0.0",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1"
},
"publishConfig": {

View File

@@ -324,19 +324,25 @@ export class SolDoc {
switch (abiDefinition.type) {
case 'constructor':
docSection.constructors.push(
this._genConstructorDoc(contractName, abiDefinition, compiledContract.devdoc),
// tslint:disable-next-line:no-unnecessary-type-assertion
this._genConstructorDoc(contractName, abiDefinition as ConstructorAbi, compiledContract.devdoc),
);
break;
case 'event':
(docSection.events as Event[]).push(SolDoc._genEventDoc(abiDefinition));
// tslint:disable-next-line:no-unnecessary-type-assertion
(docSection.events as Event[]).push(SolDoc._genEventDoc(abiDefinition as EventAbi));
// note that we're not sending devdoc to this._genEventDoc().
// that's because the type of the events array doesn't have any fields for documentation!
break;
case 'function':
docSection.methods.push(this._genMethodDoc(abiDefinition, compiledContract.devdoc));
// tslint:disable-next-line:no-unnecessary-type-assertion
docSection.methods.push(this._genMethodDoc(abiDefinition as MethodAbi, compiledContract.devdoc));
break;
case 'fallback':
docSection.methods.push(SolDoc._genFallbackDoc(abiDefinition, compiledContract.devdoc));
// tslint:disable-next-line:no-unnecessary-type-assertion
docSection.methods.push(
SolDoc._genFallbackDoc(abiDefinition as FallbackAbi, compiledContract.devdoc),
);
break;
default:
throw new Error(

View File

@@ -21,7 +21,7 @@ const {
relayerApiAssetDataPairsResponseSchema,
relayerApiAssetDataTradeInfoSchema,
relayerApiOrdersChannelSubscribeSchema,
relayerApiOrdersChannelSubscribePayload,
relayerApiOrdersChannelSubscribePayloadSchema,
relayerApiOrdersChannelUpdateSchema,
relayerApiOrdersResponseSchema,
relayerApiAssetDataPairsSchema,
@@ -47,7 +47,7 @@ const usedSchemas = {
relayerApiAssetDataPairsResponseSchema,
relayerApiAssetDataTradeInfoSchema,
relayerApiOrdersChannelSubscribeSchema,
relayerApiOrdersChannelSubscribePayload,
relayerApiOrdersChannelSubscribePayloadSchema,
relayerApiOrdersChannelUpdateSchema,
relayerApiOrdersResponseSchema,
relayerApiAssetDataPairsSchema,

View File

@@ -73,7 +73,7 @@
"shx": "^0.2.2",
"sinon": "^4.0.0",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1",
"webpack": "^4.20.2"
},

View File

@@ -99,11 +99,13 @@ export class AbiDecoder {
const ethersInterface = new ethers.utils.Interface(abiArray);
_.map(abiArray, (abi: AbiDefinition) => {
if (abi.type === AbiType.Event) {
const topic = ethersInterface.events[abi.name].topic;
const numIndexedArgs = _.reduce(abi.inputs, (sum, input) => (input.indexed ? sum + 1 : sum), 0);
// tslint:disable-next-line:no-unnecessary-type-assertion
const eventAbi = abi as EventAbi;
const topic = ethersInterface.events[eventAbi.name].topic;
const numIndexedArgs = _.reduce(eventAbi.inputs, (sum, input) => (input.indexed ? sum + 1 : sum), 0);
this._methodIds[topic] = {
...this._methodIds[topic],
[numIndexedArgs]: abi,
[numIndexedArgs]: eventAbi,
};
}
});

View File

@@ -49,7 +49,7 @@
"nyc": "^11.0.1",
"shx": "^0.2.2",
"tslint": "5.11.0",
"typedoc": "0.12.0",
"typedoc": "0.13.0",
"typescript": "3.0.1"
},
"dependencies": {

View File

@@ -1,28 +1,40 @@
Basic Schemas
* [Address type](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/address.json)
* [Number type](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/number.json)
* [Hex type](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/hex.json)
* [JS number](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/js_number.json)
0x Protocol Schemas
* [Basic types](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/basic_type_schemas.ts) (e.g Ethereum address, number, hex)
* [Order/SignedOrder](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/order_schemas.ts)
* [OrderHash](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/order_hash_schema.ts)
* [Order](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/order_schema.json)
* [SignedOrder](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/signed_order_schema.json)
* [OrderHash](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/order_hash_schema.json)
* [ECSignature](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/ec_signature_schema.json)
0x.js Schemas
* [BlockRange](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/block_range_schema.ts)
* [IndexFilter Values](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/index_filter_values_schema.ts)
* [OrderFillRequests](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/order_fill_requests_schema.ts)
* [OrderCancellationRequests](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/order_cancel_schema.ts)
* [OrderFillOrKillRequests](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/order_fill_or_kill_requests_schema.ts)
* [SignedOrders](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/signed_orders_schema.ts)
* [Token](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/token_schema.ts)
* [TxData](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/tx_data_schema.ts)
* [BlockParam](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/block_param_schema.json)
* [BlockRange](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/block_range_schema.json)
* [IndexFilter Values](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/index_filter_values_schema.json)
* [OrderFillRequests](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/order_fill_requests_schema.json)
* [OrderCancellationRequests](https://github.com/0xProjet/0x-monorepo/blob/development/packages/json-schemas/schemas/order_cancel_schema.json)
* [OrderFillOrKillRequests](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/order_fill_or_kill_requests_schema.json)
* [SignedOrders](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/signed_orders_schema.json)
* [Token](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/token_schema.json)
* [TxData](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/tx_data_schema.json)
Standard Relayer API Schemas
* [Paginated collection](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/paginated_collection_schema.ts)
* [Error response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_error_response_schema.ts)
* [Order config payload](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_order_config_payload_schema.ts)
* [Order config response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_order_config_response_schema.ts)
* [Orders channel subscribe](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_orders_channel_subscribe_schema.ts)
* [Orders channel update](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_orders_channel_update_response_schema.ts)
* [Orderbook response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_orderbook_response_schema.ts)
* [Asset pairs response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_asset_pairs_response_schema.ts)
* [Fee recipients response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_fee_recipients_response_schema.ts)
* [Paginated collection](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/paginated_collection_schema.json)
* [Error response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_error_response_schema.json)
* [Order config payload](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_order_config_payload_schema.json)
* [Order config response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_order_config_response_schema.json)
* [Orders channel subscribe payload](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_orders_channel_subscribe_payload_schema.json)
* [Orders channel subscribe](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_orders_channel_subscribe_schema.json)
* [Orders channel update](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_orders_channel_update_response_schema.json)
* [Orderbook response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_orderbook_response_schema.json)
* [Asset pairs](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_asset_pairs_schema.json)
* [Trade info](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_asset_trade_info_schema.json)
* [Asset pairs response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_asset_pairs_response_schema.json)
* [Fee recipients response](https://github.com/0xProject/0x-monorepo/blob/development/packages/json-schemas/schemas/relayer_api_fee_recipients_response_schema.json)

View File

@@ -8,6 +8,7 @@
"experimentalDecorators": true,
"downlevelIteration": true,
"noImplicitReturns": true,
"resolveJsonModule": true,
"pretty": true,
"skipLibCheck": true,
"typeRoots": ["node_modules/@0xproject/typescript-typings/types", "node_modules/@types"],

View File

@@ -6410,7 +6410,7 @@ ganache-core@0xProject/ganache-core#monorepo-dep:
ethereumjs-tx "0xProject/ethereumjs-tx#fake-tx-include-signature-by-default"
ethereumjs-util "^5.2.0"
ethereumjs-vm "2.3.5"
ethereumjs-wallet "~0.6.0"
ethereumjs-wallet "0.6.0"
fake-merkle-patricia-tree "~1.0.1"
heap "~0.2.6"
js-scrypt "^0.2.0"
@@ -14877,9 +14877,9 @@ typedoc-default-themes@^0.5.0:
version "0.5.0"
resolved "https://registry.yarnpkg.com/typedoc-default-themes/-/typedoc-default-themes-0.5.0.tgz#6dc2433e78ed8bea8e887a3acde2f31785bd6227"
typedoc@0.12.0:
version "0.12.0"
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.12.0.tgz#c5d606f52af29d841658e18d9faa1a72acf0e270"
typedoc@0.13.0:
version "0.13.0"
resolved "https://registry.yarnpkg.com/typedoc/-/typedoc-0.13.0.tgz#9efdf352bd54873955cd161bd4b75f24a8c59dde"
dependencies:
"@types/fs-extra" "^5.0.3"
"@types/handlebars" "^4.0.38"
@@ -14897,7 +14897,7 @@ typedoc@0.12.0:
progress "^2.0.0"
shelljs "^0.8.2"
typedoc-default-themes "^0.5.0"
typescript "3.0.x"
typescript "3.1.x"
types-bn@^0.0.1:
version "0.0.1"
@@ -14905,10 +14905,14 @@ types-bn@^0.0.1:
dependencies:
bn.js "4.11.7"
typescript@3.0.1, typescript@3.0.x:
typescript@3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.0.1.tgz#43738f29585d3a87575520a4b93ab6026ef11fdb"
typescript@3.1.x:
version "3.1.3"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.1.3.tgz#01b70247a6d3c2467f70c45795ef5ea18ce191d5"
typewise-core@^1.2, typewise-core@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/typewise-core/-/typewise-core-1.2.0.tgz#97eb91805c7f55d2f941748fa50d315d991ef195"