diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-05-30 18:00:23 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2017-05-30 18:00:23 +0800 |
commit | 699e588d1fda7f7e8190a4b3347905964cef2d95 (patch) | |
tree | c7edff2789db3d6a86a2672c61951487561425b2 /src/schemas | |
parent | 603a88872d07cb7a380be4eee3111b024bfed886 (diff) | |
download | dexon-sol-tools-699e588d1fda7f7e8190a4b3347905964cef2d95.tar dexon-sol-tools-699e588d1fda7f7e8190a4b3347905964cef2d95.tar.gz dexon-sol-tools-699e588d1fda7f7e8190a4b3347905964cef2d95.tar.bz2 dexon-sol-tools-699e588d1fda7f7e8190a4b3347905964cef2d95.tar.lz dexon-sol-tools-699e588d1fda7f7e8190a4b3347905964cef2d95.tar.xz dexon-sol-tools-699e588d1fda7f7e8190a4b3347905964cef2d95.tar.zst dexon-sol-tools-699e588d1fda7f7e8190a4b3347905964cef2d95.zip |
Add signedOrderSchema and all subschemas
Diffstat (limited to 'src/schemas')
-rw-r--r-- | src/schemas/signed_order_schema.ts | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/schemas/signed_order_schema.ts b/src/schemas/signed_order_schema.ts new file mode 100644 index 000000000..b9321cad1 --- /dev/null +++ b/src/schemas/signed_order_schema.ts @@ -0,0 +1,50 @@ +export const addressSchema = { + id: '/addressSchema', + type: 'string', + pattern: '^0[xX][0-9A-Fa-f]{40}$', +}; + +export const bigNumberSchema = { + id: '/bigNumberSchema', + type: 'string', + pattern: '^\d*$', +}; + +export const orderSchema = { + id: '/orderSchema', + properties: { + maker: {$ref: '/addressSchema'}, + taker: {$ref: '/addressSchema'}, + + makerFee: {$ref: '/bigNumberSchema'}, + takerFee: {$ref: '/bigNumberSchema'}, + + makerTokenAmount: {$ref: '/bigNumberSchema'}, + takerTokenAmount: {$ref: '/bigNumberSchema'}, + + makerTokenAddress: {$ref: '/addressSchema'}, + takerTokenAddress: {$ref: '/addressSchema'}, + + salt: {$ref: '/bigNumberSchema'}, + fillAmount: {$ref: '/bigNumberSchema'}, + feeRecipient: {$ref: '/addressSchema'}, + expirationUnixTimestampSec: {$ref: '/bigNumberSchema'}, + }, + required: [ + 'maker', /*'taker',*/ 'makerFee', 'takerFee', 'makerTokenAmount', 'takerTokenAmount', + 'salt', 'fillAmount', 'feeRecipient', 'expirationUnixTimestampSec', + ], + type: 'object', +}; + +export const signedOrderSchema = { + allOf: [ + { $ref: '/orderSchema' }, + { + properties: { + ecSignature: {$ref: '/addressSchema'}, + }, + required: ['ecSignature'], + }, + ], +}; |