UNPKG

@algodex/algodex-sdk

Version:

API calls for interacting with the Algorand blockchain

90 lines (88 loc) 2.46 kB
/* * Copyright (C) 2021-2022 Algodex VASP (BVI) Corp. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at https://mozilla.org/MPL/2.0/. */ // eslint-disable-next-line no-unused-vars const algosdk = require('algosdk'); /** * # Order * * @example * const validate = ajv.getSchema('Asset') * * @typedef {Object} Order * @property {string} address Order Address * @property {number} amount Amount in order * @property {number} total Total of order * @property {("maker"|"taker"|"market"|"both"|"execute"|"close")} execution Execution of order * @property {Asset} asset Algorand Asset * @property {number} price Asset Price * @property {Object} [contract] Composed Contract State * @property {number} contract.price Asset BaseUnit Price * @property {number} contract.amount Asset BaseUnit Amount * @property {number} contract.total Asset BaseUnit Total * @property {number} contract.N Numerator * @property {number} contract.D Denominator * @property {algosdk.SuggestedParams} [contract.params] Suggested Params * @property {algosdk.Algodv2} [client] Algosdk Client * @namespace Order */ // "type": "sell", // "price": 235.000000, // "amount": 0.1, // "total": 23.50000, // "execution": "both", // "address": "WYWRYK42XADLY3O62N52BOLT27DMPRA3WNBT2OBRT65N6OEZQWD4OSH6PI", // "appId": 22045503, // "version": 6 /** * JSON Schema Specification * @type {Schema} * @name Schema * @memberOf Order */ module.exports = { '$schema': 'http://json-schema.org/draft-07/schema', '$id': 'https://schemas.algodex.com/v1/Order.json', 'title': 'Order', 'description': 'Algorand standard asset', 'type': 'object', 'properties': { 'type': { 'type': 'string', 'enum': ['buy', 'sell'], }, 'price': { 'type': 'number', 'multipleOf': 1, }, 'amount': { 'type': 'number', 'multipleOf': 1, }, 'total': { 'type': 'number', 'multipleOf': 1, }, 'execution': { 'type': 'string', 'enum': ['taker', 'both', 'maker', 'market'], }, 'address': { 'type': 'string', 'pattern': '[A-Z0-9]{58}', 'description': 'An account public key', }, 'appId': { 'type': 'number', 'multipleOf': 1, }, 'version': { 'type': 'number', 'multipleOf': 1, }, }, };