Convert all schemas to json files, so it's easier for devs in other languages to use it

This commit is contained in:
Fabio Berger
2018-10-17 13:28:26 +01:00
parent 78e6063d92
commit 7d9009bb96
68 changed files with 534 additions and 507 deletions

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/**/*", "./schemas/**/*"],
"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"
]
}