UNPKG

@algodex/algodex-sdk

Version:

API calls for interacting with the Algorand blockchain

114 lines (109 loc) 2.66 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/. */ /** * ## 📝 Wallet List * @typedef {Object.<number, Wallet>} List * @memberOf Wallet */ /** * ## 💰 Assets * * A List of type {@link Asset} keyed by {@link Asset#id}. Used as a lookup * for the current asset order. * * @example * const assets = { * 123456: { * decimals: 5 * balance: 100 * } * } * * @typedef {Object.<string, Asset>} assets * @memberOf Wallet */ /** * # 📝 Wallet Specification * * See the {@link Schema.Wallet} for property validations * * @typedef {Object} Wallet * @property {string} type Type of Wallet * @property {string} address Wallet Address * @property {Asset} algo Balance in ALGOs * @property {string} [name] Optionally name the wallet * @property {Wallet.assets} [assets] Assets owned by the Wallet * @namespace Wallet * * @see {AlgodexApi#setWallet} */ /** * ## 💰 Wallet Schema * * JSON Schema of the Wallet. Used for validation in * {@link AlgodexApi#setWallet} * ```json * { * '$schema': 'http://json-schema.org/draft-07/schema', * '$id': 'https://schemas.algodex.com/v1/Wallet.json', * 'type': 'object', * 'properties': { * 'type': { * 'type': 'string', * 'enum': ['my-algo-wallet', 'wallet-connect', 'sdk'], * }, * 'address': { * 'type': 'string', * 'pattern': '[A-Z0-9]{58}', * 'description': 'An account public key', * }, * 'name': { * 'type': 'string', * }, * 'algo': { * '$ref': 'https://schemas.algodex.com/v1/Asset.json', * }, * 'assets': { * 'type': 'object', * 'additionalProperties': { * '$ref': 'https://schemas.algodex.com/v1/Asset.json', * }, * }, * }, * } * ``` * @name Wallet * @type {Schema} * @memberOf Schema */ module.exports = { '$schema': 'http://json-schema.org/draft-07/schema', '$id': 'https://schemas.algodex.com/v1/Wallet.json', 'type': 'object', 'properties': { 'type': { 'type': 'string', 'enum': ['my-algo-wallet', 'wallet-connect', 'sdk'], }, 'address': { 'type': 'string', 'pattern': '[A-Z0-9]{58}', 'description': 'An account public key', }, 'name': { 'type': 'string', }, 'algo': { '$ref': 'https://schemas.algodex.com/v1/Asset.json', }, 'assets': { 'type': 'array', }, }, 'required': ['address', 'type'], };