From bb9e7dfdcf46969ab1a82dbe6f865640c43870ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danilo=20Arau=CC=81jo=20Silva?= Date: Fri, 17 Feb 2023 14:43:40 +0000 Subject: [PATCH 01/67] Updating .gitignore. --- .gitignore | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 8e4034621e..847acba67f 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ /dist /db /.idea +/*.iml package-lock.json /certs /coverage @@ -13,4 +14,4 @@ package-lock.json # VSCode .vscode/ -.history \ No newline at end of file +.history From df59dad2ef97e441426030329cae8fc7f08c423b Mon Sep 17 00:00:00 2001 From: La Hoang Date: Fri, 17 Feb 2023 18:16:47 +0700 Subject: [PATCH 02/67] Add XRPL & XRPLDEX connector (v1) --- docs/swagger/definitions.yml | 63 +- docs/swagger/wallet-routes.yml | 12 +- docs/swagger/xrpl-routes.yml | 65 + docs/swagger/xrpldex-routes.yml | 148 + package.json | 2 + src/app.ts | 4 +- src/chains/xrpl/xrpl-middlewares.ts | 24 + src/chains/xrpl/xrpl.config.ts | 48 + src/chains/xrpl/xrpl.constants.ts | 26 + src/chains/xrpl/xrpl.controllers.ts | 65 + src/chains/xrpl/xrpl.helpers.ts | 122 + src/chains/xrpl/xrpl.requests.ts | 47 + src/chains/xrpl/xrpl.routes.ts | 77 + src/chains/xrpl/xrpl.ts | 369 + src/chains/xrpl/xrpl.validators.ts | 52 + src/chains/xrpl/xrpl_tokens.json | 12370 ++++++++++++++++ src/chains/xrpl/xrpl_tokens_devnet.json | 1 + src/chains/xrpl/xrpl_tokens_small.json | 162 + src/chains/xrpl/xrpl_tokens_testnet.json | 1 + src/connectors/connectors.routes.ts | 13 +- src/connectors/xrpldex/xrpldex.config.ts | 45 + src/connectors/xrpldex/xrpldex.controllers.ts | 347 + src/connectors/xrpldex/xrpldex.middlewares.ts | 21 + src/connectors/xrpldex/xrpldex.requests.ts | 92 + src/connectors/xrpldex/xrpldex.routes.ts | 193 + src/connectors/xrpldex/xrpldex.ts | 841 ++ src/connectors/xrpldex/xrpldex.types.ts | 192 + src/connectors/xrpldex/xrpldex.validators.ts | 202 + src/network/network.controllers.ts | 6 + src/network/network.routes.ts | 123 + src/services/connection-manager.ts | 14 +- src/services/schema/xrpl-schema.json | 73 + src/services/wallet/wallet.controllers.ts | 21 +- src/services/wallet/wallet.validators.ts | 18 +- src/templates/root.yml | 4 + src/templates/xrpl.yml | 31 + yarn.lock | 171 +- 37 files changed, 15935 insertions(+), 130 deletions(-) create mode 100644 docs/swagger/xrpl-routes.yml create mode 100644 docs/swagger/xrpldex-routes.yml create mode 100644 src/chains/xrpl/xrpl-middlewares.ts create mode 100644 src/chains/xrpl/xrpl.config.ts create mode 100644 src/chains/xrpl/xrpl.constants.ts create mode 100644 src/chains/xrpl/xrpl.controllers.ts create mode 100644 src/chains/xrpl/xrpl.helpers.ts create mode 100644 src/chains/xrpl/xrpl.requests.ts create mode 100644 src/chains/xrpl/xrpl.routes.ts create mode 100644 src/chains/xrpl/xrpl.ts create mode 100644 src/chains/xrpl/xrpl.validators.ts create mode 100644 src/chains/xrpl/xrpl_tokens.json create mode 100644 src/chains/xrpl/xrpl_tokens_devnet.json create mode 100644 src/chains/xrpl/xrpl_tokens_small.json create mode 100644 src/chains/xrpl/xrpl_tokens_testnet.json create mode 100644 src/connectors/xrpldex/xrpldex.config.ts create mode 100644 src/connectors/xrpldex/xrpldex.controllers.ts create mode 100644 src/connectors/xrpldex/xrpldex.middlewares.ts create mode 100644 src/connectors/xrpldex/xrpldex.requests.ts create mode 100644 src/connectors/xrpldex/xrpldex.routes.ts create mode 100644 src/connectors/xrpldex/xrpldex.ts create mode 100644 src/connectors/xrpldex/xrpldex.types.ts create mode 100644 src/connectors/xrpldex/xrpldex.validators.ts create mode 100644 src/network/network.routes.ts create mode 100644 src/services/schema/xrpl-schema.json create mode 100644 src/templates/xrpl.yml diff --git a/docs/swagger/definitions.yml b/docs/swagger/definitions.yml index 7c231e9813..b48628b7e6 100644 --- a/docs/swagger/definitions.yml +++ b/docs/swagger/definitions.yml @@ -35,7 +35,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' NonceResponse: type: 'object' @@ -70,7 +70,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' AllowancesResponse: type: 'object' @@ -189,7 +189,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' ApproveResponse: type: 'object' @@ -243,7 +243,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' PollResponse: type: 'object' @@ -328,7 +328,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' PriceResponse: type: 'object' @@ -418,7 +418,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' connector: type: 'string' example: 'uniswap' @@ -496,7 +496,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' CancelResponse: type: 'object' @@ -518,32 +518,19 @@ definitions: type: 'string' example: '0xa321bbe8888c3bc88ecb1ad4f03f22a71e6f5715dfcb19e0a2dca9036c981b6d' # noqa: documentation - AddWalletRequest: + GetWalletRequest: type: 'object' required: - - 'chainName' - - 'privateKey' - properties: - chainName: - type: 'string' - example: 'ethereum' - privateKey: - type: 'string' - example: '6078d949c953351685fd2026646028f2a862e6148d25d504967ba63898d720c0' # noqa: documentation - - RemoveWalletRequest: - type: 'object' - required: - - 'chainName' - - 'address' + - 'chain' + - 'network' properties: - chainName: + chain: type: 'string' example: 'ethereum' - address: + network: type: 'string' - example: '0xd0A1E359811322d97991E03f863a0C30C2cF029C' - + example: 'testnet' + GetWalletResponse: type: 'object' required: @@ -639,7 +626,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' connector: type: 'string' example: 'uniswap' @@ -715,7 +702,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' connector: type: 'string' example: 'uniswapLP' @@ -735,7 +722,7 @@ definitions: properties: network: type: 'string' - example: 'goerli' + example: 'kovan' timestamp: type: 'integer' example: 1636368085740 @@ -781,7 +768,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' connector: type: 'string' example: 'uniswapLP' @@ -800,7 +787,7 @@ definitions: properties: network: type: 'string' - example: 'goerli' + example: 'kovan' timestamp: type: 'integer' example: 1636368085740 @@ -843,7 +830,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' connector: type: 'string' example: 'uniswapLP' @@ -862,7 +849,7 @@ definitions: properties: network: type: 'string' - example: 'goerli' + example: 'kovan' timestamp: type: 'integer' example: 1636368085740 @@ -897,7 +884,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' connector: type: 'string' example: 'uniswapLP' @@ -920,7 +907,7 @@ definitions: properties: network: type: 'string' - example: 'goerli' + example: 'kovan' timestamp: type: 'integer' example: 1636368085740 @@ -984,7 +971,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'goerli' + example: 'kovan' connector: type: 'string' example: 'uniswapLP' @@ -1002,7 +989,7 @@ definitions: properties: network: type: 'string' - example: 'goerli' + example: 'kovan' timestamp: type: 'integer' example: 1636368085740 diff --git a/docs/swagger/wallet-routes.yml b/docs/swagger/wallet-routes.yml index cfde507bca..4653f11c4a 100644 --- a/docs/swagger/wallet-routes.yml +++ b/docs/swagger/wallet-routes.yml @@ -7,6 +7,12 @@ paths: operationId: 'get' produces: - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/GetWalletRequest' responses: '200': description: 'Wallet list' @@ -27,7 +33,11 @@ paths: required: true schema: $ref: '#/definitions/AddWalletRequest' - responses: '200' + responses: + '200': + description: 'Added wallet address' + schema: + $ref: '#/definitions/AddWalletResponse' /wallet/remove: delete: diff --git a/docs/swagger/xrpl-routes.yml b/docs/swagger/xrpl-routes.yml new file mode 100644 index 0000000000..09222bb935 --- /dev/null +++ b/docs/swagger/xrpl-routes.yml @@ -0,0 +1,65 @@ +paths: + /xrpl: + get: + tags: + - 'xrpl' + summary: 'View the XRPL network and RPC URL that gateway is configured to use' + description: 'The user can change this by editing src/chains/xrpl/xrpl.config.ts' + operationId: 'root' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/XRPLConfigRequest' + responses: + '200': + description: 'XRPL config' + schema: + $ref: '#/definitions/XRPLConfigResponse' + + /xrpl/balances: + get: + tags: + - 'xrpl' + summary: 'Get the balances of an XRPL secret key' + operationId: 'balances' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/XRPLBalancesRequest' + responses: + '200': + description: 'XRPL wallet balances' + schema: + $ref: '#/definitions/XRPLBalancesResponse' + + /xrpl/poll: + get: + tags: + - 'xrpl' + summary: 'Get transaction details from transaction hash' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/XRPLPollRequest' + responses: + '200': + description: 'XRPL transaction details' + schema: + $ref: '#/definitions/XRPLPollResponse' diff --git a/docs/swagger/xrpldex-routes.yml b/docs/swagger/xrpldex-routes.yml new file mode 100644 index 0000000000..97a5278a4d --- /dev/null +++ b/docs/swagger/xrpldex-routes.yml @@ -0,0 +1,148 @@ +paths: + /xrpldex/tickers: + get: + tags: + - 'xrpldex' + summary: 'Get middle price ticker for requested market' + operationId: 'tickers' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/XRPLDEXGetTickersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/XRPLDEXGetTickersResponse' + '404': + description: 'Not found response.' + + /xrpldex/orderBooks: + get: + tags: + - 'xrpldex' + summary: 'Get Order Book Details' + operationId: 'orderBooks' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/XRPLDEXGetOrderBooksRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/XRPLDEXGetOrderBooksResponse' + '404': + description: 'Not found response.' + + /xrpldex/orders: + get: + tags: + - 'xrpldex' + summary: 'Get status details of one or more orders' + operationId: 'getOrders' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/XRPLDEXGetOrdersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/XRPLDEXGetOrdersResponse' + '404': + description: 'Not found response.' + post: + tags: + - 'xrpldex' + summary: 'Create one or more orders' + description: 'Create one or more orders.' + operationId: 'createOrders' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/XRPLDEXPostCreateOrdersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/XRPLDEXPostCreateOrdersResponse' + '400': + description: 'Bad request response.' + delete: + tags: + - 'xrpldex' + summary: 'Cancel one or more orders' + description: 'Cancel one or more orders.' + operationId: 'cancelOrders' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/XRPLDEXDeleteCancelOrdersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/XRPLDEXDeleteCancelOrdersResponse' + '400': + description: 'Bad request response.' + + /xrpldex/orders/open: + get: + tags: + - 'xrpldex' + summary: 'Get open orders from a wallet' + operationId: 'getOpenOrders' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/XRPLDEXGetOpenOrdersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/XRPLDEXGetOpenOrdersResponse' + '404': + description: 'Not found response.' \ No newline at end of file diff --git a/package.json b/package.json index 6fd0a42954..9baa971ba5 100644 --- a/package.json +++ b/package.json @@ -77,6 +77,7 @@ "express": "^4.17.1", "express-winston": "^4.1.0", "fs-extra": "^10.0.0", + "http-status-codes": "^2.2.0", "js-yaml": "^4.1.0", "level": "^8.0.0", "lodash": "^4.17.21", @@ -95,6 +96,7 @@ "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.5", "xsswap-sdk": "^1.0.1", + "xrpl": "^2.5.0", "yarn": "^1.22.17" }, "devDependencies": { diff --git a/src/app.ts b/src/app.ts index b9ef0e9da9..bb9815b929 100644 --- a/src/app.ts +++ b/src/app.ts @@ -112,14 +112,14 @@ export const startSwagger = async () => { export const startGateway = async () => { const port = ConfigManagerV2.getInstance().get('server.port'); - const gateway_version="dev-1.19.0"; // gateway version + const gateway_version = 'dev-1.19.0'; // gateway version if (!ConfigManagerV2.getInstance().get('server.id')) { ConfigManagerV2.getInstance().set( 'server.id', Math.random().toString(16).substr(2, 14) ); } - logger.info(`Gateway Version: ${gateway_version}`) // display gateway version + logger.info(`Gateway Version: ${gateway_version}`); // display gateway version logger.info(`⚡️ Starting Gateway API on port ${port}...`); if (ConfigManagerV2.getInstance().get('server.unsafeDevModeWithHTTP')) { logger.info('Running in UNSAFE HTTP! This could expose private keys.'); diff --git a/src/chains/xrpl/xrpl-middlewares.ts b/src/chains/xrpl/xrpl-middlewares.ts new file mode 100644 index 0000000000..a735999571 --- /dev/null +++ b/src/chains/xrpl/xrpl-middlewares.ts @@ -0,0 +1,24 @@ +import { HttpException } from '../../services/error-handler'; +import { XRPL } from './xrpl'; +import { NextFunction, Request, Response } from 'express'; + +export const verifyXRPLIsAvailable = async ( + req: Request, + _res: Response, + next: NextFunction +) => { + if (!req || !req.body || !req.body.network) { + throw new HttpException(404, 'No XRPL network informed.'); + } + + const xrpl = await XRPL.getInstance(req.body.network); + if (!xrpl.ready) { + await xrpl.init(); + } + + if (!xrpl.isConnected()) { + await xrpl.client.connect(); + } + + return next(); +}; diff --git a/src/chains/xrpl/xrpl.config.ts b/src/chains/xrpl/xrpl.config.ts new file mode 100644 index 0000000000..42c4f83ab9 --- /dev/null +++ b/src/chains/xrpl/xrpl.config.ts @@ -0,0 +1,48 @@ +import { ConfigManagerV2 } from '../../services/config-manager-v2'; + +export interface NetworkConfig { + name: string; + nodeUrl: string; // example: wss://xrplcluster.com/ + tokenListType: string; // default: FILE + tokenListSource: string; // default: src/chains/xrpl/xrpl_tokens.json + nativeCurrencySymbol: string; // XRP +} + +export interface Config { + // "mainnet" | "testnet" | "devnet" + network: NetworkConfig; + requestTimeout: number; // default: 20 + connectionTimeout: number; // default: 5 + feeCushion: number; // default: 1.2 + maxFeeXRP: string; // default: 2 +} + +// @todo: find out which configs are required +export function getXRPLConfig(chainName: string, networkName: string): Config { + const configManager = ConfigManagerV2.getInstance(); + return { + network: { + name: networkName, + nodeUrl: configManager.get( + chainName + '.networks.' + networkName + '.nodeURL' + ), + tokenListType: ConfigManagerV2.getInstance().get( + chainName + '.networks.' + networkName + '.tokenListType' + ), + tokenListSource: ConfigManagerV2.getInstance().get( + chainName + '.networks.' + networkName + '.tokenListSource' + ), + nativeCurrencySymbol: ConfigManagerV2.getInstance().get( + chainName + '.networks.' + networkName + '.nativeCurrencySymbol' + ), + }, + requestTimeout: ConfigManagerV2.getInstance().get( + chainName + '.requestTimeout' + ), + connectionTimeout: ConfigManagerV2.getInstance().get( + chainName + '.connectionTimeout' + ), + feeCushion: ConfigManagerV2.getInstance().get(chainName + '.feeCushion'), + maxFeeXRP: ConfigManagerV2.getInstance().get(chainName + '.maxFeeXRP'), + }; +} diff --git a/src/chains/xrpl/xrpl.constants.ts b/src/chains/xrpl/xrpl.constants.ts new file mode 100644 index 0000000000..197920242b --- /dev/null +++ b/src/chains/xrpl/xrpl.constants.ts @@ -0,0 +1,26 @@ +import { ConfigManagerV2 } from '../../services/config-manager-v2'; + +const configManager = ConfigManagerV2.getInstance(); + +export const constants = { + retry: { + all: { + maxNumberOfRetries: + configManager.get('xrpl.retry.all.maxNumberOfRetries') || 0, // 0 means no retries + delayBetweenRetries: + configManager.get('xrpl.retry.all.delayBetweenRetries') || 0, // 0 means no delay (milliseconds) + }, + }, + timeout: { + all: configManager.get('xrpl.timeout.all') || 0, // 0 means no timeout (milliseconds) + }, + parallel: { + all: { + batchSize: configManager.get('xrpl.parallel.all.batchSize') || 0, // 0 means no batching (group all) + delayBetweenBatches: + configManager.get('xrpl.parallel.all.delayBetweenBatches') || 0, // 0 means no delay (milliseconds) + }, + }, +}; + +export default constants; diff --git a/src/chains/xrpl/xrpl.controllers.ts b/src/chains/xrpl/xrpl.controllers.ts new file mode 100644 index 0000000000..7f33ad83ae --- /dev/null +++ b/src/chains/xrpl/xrpl.controllers.ts @@ -0,0 +1,65 @@ +import { Wallet, TxResponse } from 'xrpl'; +import { XRPLish } from './xrpl'; +import { latency } from '../../services/base'; +import { + HttpException, + LOAD_WALLET_ERROR_CODE, + LOAD_WALLET_ERROR_MESSAGE, +} from '../../services/error-handler'; +import { getNotNullOrThrowError } from '../../chains/xrpl/xrpl.helpers'; + +import { + XRPLBalanceRequest, + XRPLBalanceResponse, + XRPLPollRequest, + XRPLPollResponse, +} from './xrpl.requests'; + +export async function balances( + xrplish: XRPLish, + req: XRPLBalanceRequest +): Promise { + const initTime = Date.now(); + let wallet: Wallet; + + try { + wallet = await xrplish.getWallet(req.address); + } catch (err) { + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const balances = await xrplish.getAllBalance(wallet); + + return { + network: xrplish.network, + timestamp: initTime, + latency: latency(initTime, Date.now()), + balances, + }; +} + +export async function poll( + xrplish: XRPLish, + req: XRPLPollRequest +): Promise { + const initTime = Date.now(); + const currentLedgerIndex = await xrplish.getCurrentLedgerIndex(); + const txData = getNotNullOrThrowError( + await xrplish.getTransaction(req.txHash) + ); + const txStatus = await xrplish.getTransactionStatusCode(txData); + + return { + network: xrplish.network, + timestamp: initTime, + currentLedgerIndex: currentLedgerIndex, + txHash: req.txHash, + txStatus: txStatus, + txLedgerIndex: txData.result.ledger_index, + txData: getNotNullOrThrowError(txData), + }; +} diff --git a/src/chains/xrpl/xrpl.helpers.ts b/src/chains/xrpl/xrpl.helpers.ts new file mode 100644 index 0000000000..72ce429591 --- /dev/null +++ b/src/chains/xrpl/xrpl.helpers.ts @@ -0,0 +1,122 @@ +import web3 from 'web3'; +import { default as constants } from './../../chains/xrpl/xrpl.constants'; + +/** + * + * @param value + * @param errorMessage + */ +export const getNotNullOrThrowError = ( + value?: any, + errorMessage: string = 'Value is null or undefined' +): R => { + if (value === undefined || value === null) throw new Error(errorMessage); + + return value as R; +}; + +/** + * + * @param milliseconds + */ +export const sleep = (milliseconds: number) => + new Promise((callback) => setTimeout(callback, milliseconds)); + +/** + * Same as Promise.all(items.map(item => task(item))), but it waits for + * the first {batchSize} promises to finish before starting the next batch. + * + * @template A + * @template B + * @param {function(A): B} task The task to run for each item. + * @param {A[]} items Arguments to pass to the task for each call. + * @param {int} batchSize The number of items to process at a time. + * @param {int} delayBetweenBatches Delay between each batch (milliseconds). + * @returns {B[]} + */ +export const promiseAllInBatches = async ( + task: (item: I) => O, + items: any[], + batchSize: number = constants.parallel.all.batchSize, + delayBetweenBatches: number = constants.parallel.all.delayBetweenBatches +): Promise => { + let position = 0; + let results: any[] = []; + + if (!batchSize) { + batchSize = items.length; + } + + while (position < items.length) { + const itemsForBatch = items.slice(position, position + batchSize); + results = [ + ...results, + ...(await Promise.all(itemsForBatch.map((item) => task(item)))), + ]; + position += batchSize; + + if (position < items.length) { + if (delayBetweenBatches > 0) { + await sleep(delayBetweenBatches); + } + } + } + + return results; +}; + +/** + * + */ +export const getRandonBN = () => { + return web3.utils.toBN(web3.utils.randomHex(32)); +}; + +/** + * @param targetObject + * @param targetFunction + * @param targetParameters + * @param maxNumberOfRetries 0 means no retries + * @param delayBetweenRetries 0 means no delay (milliseconds) + * @param timeout 0 means no timeout (milliseconds) + * @param timeoutMessage + */ +export const runWithRetryAndTimeout = async ( + targetObject: any, + targetFunction: (...args: any[]) => R, + targetParameters: any, + maxNumberOfRetries: number = constants.retry.all.maxNumberOfRetries, + delayBetweenRetries: number = constants.retry.all.delayBetweenRetries, + timeout: number = constants.timeout.all, + timeoutMessage: string = 'Timeout exceeded.' +): Promise => { + let retryCount = 0; + let timer: any; + + if (timeout > 0) { + timer = setTimeout(() => new Error(timeoutMessage), timeout); + } + + do { + try { + const result = await targetFunction.apply(targetObject, targetParameters); + + if (timeout > 0) { + clearTimeout(timer); + } + + return result as R; + } catch (error) { + retryCount++; + if (retryCount < maxNumberOfRetries) { + if (delayBetweenRetries > 0) { + await sleep(delayBetweenRetries); + } + } else { + throw error; + } + } + } while (retryCount < maxNumberOfRetries); + + throw Error('Unknown error.'); +}; diff --git a/src/chains/xrpl/xrpl.requests.ts b/src/chains/xrpl/xrpl.requests.ts new file mode 100644 index 0000000000..c69112f56e --- /dev/null +++ b/src/chains/xrpl/xrpl.requests.ts @@ -0,0 +1,47 @@ +import { NetworkSelectionRequest } from '../../services/common-interfaces'; +import { TxResponse } from 'xrpl'; + +export interface XRPLBalanceRequest extends NetworkSelectionRequest { + address: string; + tokenSymbols: string[]; +} + +export interface XRPLBalanceResponse { + network: string; + timestamp: number; + latency: number; + balances: Record; +} + +export interface XRPLTokenRequest extends NetworkSelectionRequest { + address: string; // the user's Solana address as Base58 + token: string; // the token symbol the spender will be approved for +} + +export interface XRPLTokenResponse { + network: string; + timestamp: number; + token: string; // the token symbol the spender will be approved for + mintAddress: string; + accountAddress?: string; + amount: string | null; +} + +export interface XRPLPollRequest extends NetworkSelectionRequest { + txHash: string; +} + +export enum TransactionResponseStatusCode { + FAILED = -1, + CONFIRMED = 1, +} + +export interface XRPLPollResponse { + network: string; + timestamp: number; + currentLedgerIndex: number; + txHash: string; + txStatus: number; + txLedgerIndex?: number; + txData: TxResponse | null; +} diff --git a/src/chains/xrpl/xrpl.routes.ts b/src/chains/xrpl/xrpl.routes.ts new file mode 100644 index 0000000000..e3664847fa --- /dev/null +++ b/src/chains/xrpl/xrpl.routes.ts @@ -0,0 +1,77 @@ +import { NextFunction, Request, Response, Router } from 'express'; +import { ParamsDictionary } from 'express-serve-static-core'; +import { XRPL } from './xrpl'; +import { verifyXRPLIsAvailable } from './xrpl-middlewares'; +import { asyncHandler } from '../../services/error-handler'; +import { balances, poll } from './xrpl.controllers'; +import { + XRPLBalanceRequest, + XRPLBalanceResponse, + XRPLPollRequest, + XRPLPollResponse, +} from './xrpl.requests'; +import { + validateXRPLBalanceRequest, + validateXRPLPollRequest, +} from './xrpl.validators'; + +export namespace XRPLRoutes { + export const router = Router(); + + export const getXRPL = async (request: Request) => { + const xrpl = await XRPL.getInstance(request.body.network); + await xrpl.init(); + + return xrpl; + }; + + router.use(asyncHandler(verifyXRPLIsAvailable)); + + router.get( + '/', + asyncHandler(async (request: Request, response: Response) => { + const xrpl = await getXRPL(request); + + const rpcUrl = xrpl.rpcUrl; + + response.status(200).json({ + network: xrpl.network, + rpcUrl: rpcUrl, + connection: true, + timestamp: Date.now(), + }); + }) + ); + + router.get( + '/balances', + asyncHandler( + async ( + request: Request, + response: Response, + _next: NextFunction + ) => { + const xrpl = await getXRPL(request); + + validateXRPLBalanceRequest(request.body); + response.status(200).json(await balances(xrpl, request.body)); + } + ) + ); + + // TODO: change this to GET + router.get( + '/poll', + asyncHandler( + async ( + request: Request, + response: Response + ) => { + const xrpl = await getXRPL(request); + + validateXRPLPollRequest(request.body); + response.status(200).json(await poll(xrpl, request.body)); + } + ) + ); +} diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts new file mode 100644 index 0000000000..137442aa1b --- /dev/null +++ b/src/chains/xrpl/xrpl.ts @@ -0,0 +1,369 @@ +import { + Client, + Wallet, + LedgerStream, + ValidationStream, + TransactionStream, + PeerStatusStream, + ConsensusStream, + PathFindStream, + TxResponse, + TransactionMetadata, +} from 'xrpl'; +import axios from 'axios'; +import { promises as fs } from 'fs'; +import crypto from 'crypto'; +import fse from 'fs-extra'; +import { TokenListType, walletPath } from '../../services/base'; +import { ConfigManagerCertPassphrase } from '../../services/config-manager-cert-passphrase'; +import { getXRPLConfig } from './xrpl.config'; +import { logger } from '../../services/logger'; +import { TransactionResponseStatusCode } from './xrpl.requests'; + +export type TrustlineInfo = { + id: number; + code: string; + issuer: string; + title: string; + trustlines: number; + placeInTop: null; +}; + +export type TokenBalance = { + currency: string; + issuer?: string; + value: string; +}; + +export class XRPL implements XRPLish { + private static _instances: { [name: string]: XRPL }; + public rpcUrl; + + protected tokenList: TrustlineInfo[] = []; + private _tokenMap: Record = {}; + + private _client: Client; + private _nativeTokenSymbol: string; + private _chain: string; + private _network: string; + private _requestCount: number; + private _metricsLogInterval: number; + private _tokenListSource: string; + private _tokenListType: TokenListType; + + private _ready: boolean = false; + private initializing: boolean = false; + + private constructor(network: string) { + const config = getXRPLConfig('xrpl', network); + + this._chain = 'xrpl'; + this._network = network; + this.rpcUrl = config.network.nodeUrl; + this._nativeTokenSymbol = config.network.nativeCurrencySymbol; + this._tokenListSource = config.network.tokenListSource; + this._tokenListType = config.network.tokenListType; + + this._client = new Client(this.rpcUrl, { + timeout: config.requestTimeout, + connectionTimeout: config.connectionTimeout, + feeCushion: config.feeCushion, + maxFeeXRP: config.maxFeeXRP, + }); + + // this._client.connect(); + + this._requestCount = 0; + this._metricsLogInterval = 300000; // 5 minutes + + this.onValidationReceived(this.requestCounter.bind(this)); + setInterval(this.metricLogger.bind(this), this.metricsLogInterval); + } + + public static getInstance(network: string): XRPL { + if (XRPL._instances === undefined) { + XRPL._instances = {}; + } + if (!(network in XRPL._instances)) { + XRPL._instances[network] = new XRPL(network); + } + + return XRPL._instances[network]; + } + + public static getConnectedInstances(): { [name: string]: XRPL } { + return XRPL._instances; + } + + public get client() { + return this._client; + } + + public onConnected(callback: () => void) { + this._client.on('connected', callback); + } + + public onDisconnected(callback: (code: number) => void) { + this._client.on('disconnected', callback); + } + + public onLedgerClosed(callback: (ledger: LedgerStream) => void) { + this._client.on('ledgerClosed', callback); + } + + public onValidationReceived( + callback: (validation: ValidationStream) => void + ) { + this._client.on('validationReceived', callback); + } + + public onTransaction(callback: (tx: TransactionStream) => void) { + this._client.on('transaction', callback); + } + + public onPeerStatusChange(callback: (status: PeerStatusStream) => void) { + this._client.on('peerStatusChange', callback); + } + + public onConsensusPhase(callback: (phase: ConsensusStream) => void) { + this._client.on('consensusPhase', callback); + } + + public onPathFind(callback: (path: PathFindStream) => void) { + this._client.on('path_find', callback); + } + + public onError(callback: (...err: any[]) => void): void { + this._client.on('error', callback); + } + + async init(): Promise { + if (!this.ready() && !this.initializing) { + this.initializing = true; + await this._client.connect(); + await this.loadTokens(this._tokenListSource, this._tokenListType); + this._ready = true; + this.initializing = false; + } + } + + async loadTokens( + tokenListSource: string, + tokenListType: TokenListType + ): Promise { + this.tokenList = await this.getTokenList(tokenListSource, tokenListType); + if (this.tokenList) { + this.tokenList.forEach((token: TrustlineInfo) => + this._tokenMap[token.code].push(token) + ); + } + } + + async getTokenList( + tokenListSource: string, + tokenListType: TokenListType + ): Promise { + let tokens; + if (tokenListType === 'URL') { + ({ + data: { tokens }, + } = await axios.get(tokenListSource)); + } else { + ({ tokens } = JSON.parse(await fs.readFile(tokenListSource, 'utf8'))); + } + return tokens; + } + + public get storedTokenList(): TrustlineInfo[] { + return this.tokenList; + } + + public getTokenForSymbol(code: string): TrustlineInfo[] | null { + return this._tokenMap[code] ? this._tokenMap[code] : null; + } + + public getWalletFromSeed(seed: string): Wallet { + const wallet = Wallet.fromSeed(seed); + + return wallet; + } + + async getWallet(address: string): Promise { + const path = `${walletPath}/${this.chain}`; + + const encryptedSeed: string = await fse.readFile( + `${path}/${address}.json`, + 'utf8' + ); + + const passphrase = ConfigManagerCertPassphrase.readPassphrase(); + if (!passphrase) { + throw new Error('missing passphrase'); + } + const decrypted = await this.decrypt(encryptedSeed, passphrase); + + return Wallet.fromSeed(decrypted); + } + + async encrypt(secret: string, password: string): Promise { + const algorithm = 'aes-256-ctr'; + const iv = crypto.randomBytes(16); + const salt = crypto.randomBytes(32); + const key = crypto.pbkdf2Sync(password, salt, 5000, 32, 'sha512'); + const cipher = crypto.createCipheriv(algorithm, key, iv); + const encrypted = Buffer.concat([cipher.update(secret), cipher.final()]); + + const ivJSON = iv.toJSON(); + const saltJSON = salt.toJSON(); + const encryptedJSON = encrypted.toJSON(); + + return JSON.stringify({ + algorithm, + iv: ivJSON, + salt: saltJSON, + encrypted: encryptedJSON, + }); + } + + async decrypt(encryptedSecret: string, password: string): Promise { + const hash = JSON.parse(encryptedSecret); + const salt = Buffer.from(hash.salt, 'utf8'); + const iv = Buffer.from(hash.iv, 'utf8'); + + const key = crypto.pbkdf2Sync(password, salt, 5000, 32, 'sha512'); + + const decipher = crypto.createDecipheriv(hash.algorithm, key, iv); + + const decrpyted = Buffer.concat([ + decipher.update(Buffer.from(hash.encrypted, 'hex')), + decipher.final(), + ]); + + return decrpyted.toString(); + } + + async getNativeBalance(wallet: Wallet): Promise { + await this.ensureConnection(); + const balance = await this._client.getXrpBalance(wallet.address); + return balance; + } + + async getAllBalance(wallet: Wallet): Promise> { + await this.ensureConnection(); + const balances: Record = {}; + const respBalances = await this._client.getBalances(wallet.address); + + respBalances.forEach((token) => { + if (token.currency === 'XRP') { + balances[token.currency] = token.value; + } else { + const symbol = token.currency + '.' + token.issuer; + balances[symbol] = token.value; + } + }); + + return balances; + } + + ready(): boolean { + return this._ready; + } + + isConnected(): boolean { + return this._client.isConnected(); + } + + async ensureConnection() { + if (!this.isConnected()) { + await this._client.connect(); + } + } + + public get chain(): string { + return this._chain; + } + + public get network(): string { + return this._network; + } + + public get nativeTokenSymbol(): string { + return this._nativeTokenSymbol; + } + + public requestCounter(): void { + this._requestCount += 1; + } + + public metricLogger(): void { + logger.info( + this.requestCount + + ' request(s) sent in last ' + + this.metricsLogInterval / 1000 + + ' seconds.' + ); + this._requestCount = 0; // reset + } + + public get requestCount(): number { + return this._requestCount; + } + + public get metricsLogInterval(): number { + return this._metricsLogInterval; + } + + public async getCurrentLedgerIndex(): Promise { + await this.ensureConnection(); + const currentIndex = await this.client.getLedgerIndex(); + return currentIndex; + } + + public async getCurrentBlockNumber(): Promise { + const currentIndex = await this.getCurrentLedgerIndex(); + return currentIndex; + } + + public async getTransactionStatusCode( + txData: TxResponse | null + ): Promise { + let txStatus; + if (!txData) { + txStatus = TransactionResponseStatusCode.FAILED; + } else { + if ((txData.result.meta).TransactionResult) { + const result = (txData.result.meta) + .TransactionResult; + txStatus = + result == 'tesSUCCESS' + ? TransactionResponseStatusCode.CONFIRMED + : TransactionResponseStatusCode.FAILED; + } else { + txStatus = TransactionResponseStatusCode.FAILED; + } + } + return txStatus; + } + + async getTransaction(txHash: string): Promise { + await this.ensureConnection(); + const tx_resp = await this._client.request({ + command: 'tx', + transaction: txHash, + binary: false, + }); + + const result = tx_resp; + + return result; + } + + async close() { + if (this._network in XRPL._instances) { + delete XRPL._instances[this._network]; + } + } +} + +export type XRPLish = XRPL; +export const XRPLish = XRPL; diff --git a/src/chains/xrpl/xrpl.validators.ts b/src/chains/xrpl/xrpl.validators.ts new file mode 100644 index 0000000000..acefd6c257 --- /dev/null +++ b/src/chains/xrpl/xrpl.validators.ts @@ -0,0 +1,52 @@ +import { + validateTokenSymbols, + mkValidator, + mkRequestValidator, + RequestValidator, + Validator, + isBase58, + validateTxHash, + validateToken, +} from '../../services/validators'; + +// invalid parameter errors +export const invalidXRPLAddressError: string = + 'The spender param is not a valid XRPL address (20 bytes, base 58 encoded).'; + +export const invalidXRPLPrivateKeyError: string = + 'The privateKey param is not a valid XRPL seed key (16 bytes, base 58 encoded).'; + +// test if a string matches the shape of an XRPL address +export const isXRPLAddress = (str: string): boolean => { + return isBase58(str) && str.length <= 35 && str.charAt(0) == 'r'; +}; + +// test if a string matches the shape of an XRPL seed key +export const isXRPLSeedKey = (str: string): boolean => { + return isBase58(str) && str.charAt(0) == 's'; +}; + +// given a request, look for a key called address that is an Solana address +export const validateXRPLAddress: Validator = mkValidator( + 'address', + invalidXRPLAddressError, + (val) => typeof val === 'string' && isXRPLAddress(val) +); + +// request types and corresponding validators + +export const validateXRPLBalanceRequest: RequestValidator = mkRequestValidator([ + validateXRPLAddress, + validateTokenSymbols, +]); + +export const validateXRPLPollRequest: RequestValidator = mkRequestValidator([ + validateTxHash, +]); + +export const validateXRPLGetTokenRequest: RequestValidator = mkRequestValidator( + [validateToken, validateXRPLAddress] +); + +export const validateXRPLPostTokenRequest: RequestValidator = + mkRequestValidator([validateToken, validateXRPLAddress]); diff --git a/src/chains/xrpl/xrpl_tokens.json b/src/chains/xrpl/xrpl_tokens.json new file mode 100644 index 0000000000..54072bac2e --- /dev/null +++ b/src/chains/xrpl/xrpl_tokens.json @@ -0,0 +1,12370 @@ +[ + { + "id": 31, + "code": "SOLO", + "issuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "title": "Sologenic", + "trustlines": 288976, + "placeInTop": 1 + }, + { + "id": 16602, + "code": "CSC", + "issuer": "rCSCManTZ8ME9EoLrSHHYKW8PPwWMgkwr", + "title": "CasinoCoin", + "trustlines": 54154, + "placeInTop": 2 + }, + { + "id": 18190, + "code": "CORE", + "issuer": "rcoreNywaoz2ZCQ8Lg2EbSLnGuRBmun6D", + "title": "Coreum", + "trustlines": 65817, + "placeInTop": 3 + }, + { + "id": 248, + "code": "ELS", + "issuer": "rHXuEaRYnnJHbDeuBH5w8yPh5uwNVh5zAg", + "title": "Elysian", + "trustlines": 109452, + "placeInTop": 4 + }, + { + "id": 16605, + "code": "Equilibrium", + "issuer": "rpakCr61Q92abPXJnVboKENmpKssWyHpwu", + "title": "Equilibrium", + "trustlines": 34827, + "placeInTop": 5 + }, + { + "id": 17073, + "code": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "title": "Bitstamp", + "trustlines": 18187, + "placeInTop": 6 + }, + { + "id": 16603, + "code": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "title": "Gatehub", + "trustlines": 110980, + "placeInTop": 7 + }, + { + "id": 17074, + "code": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "title": "Bitstamp", + "trustlines": 26696, + "placeInTop": 8 + }, + { + "id": 16818, + "code": "XPUNK", + "issuer": "rHEL3bM4RFsvF8kbQj3cya8YiDvjoEmxLq", + "title": "XRPL PUNKS", + "trustlines": 12074, + "placeInTop": 9 + }, + { + "id": 103, + "code": "VGB", + "issuer": "rhcyBrowwApgNonehKBj8Po5z4gTyRknaU", + "title": "Vagabond VGB", + "trustlines": 56661, + "placeInTop": 10 + }, + { + "id": 182, + "code": "RPR", + "issuer": "r3qWgpz2ry3BhcRJ8JE6rxM8esrfhuKp4R", + "title": "The Reaper", + "trustlines": 24140, + "placeInTop": 11 + }, + { + "id": 18542, + "code": "xSPECTAR", + "issuer": "rh5jzTCdMRCVjQ7LT6zucjezC47KATkuvv", + "title": "xSPECTAR NFT", + "trustlines": 9868, + "placeInTop": 12 + }, + { + "id": 16826, + "code": "BAY", + "issuer": "r4uq8urnYrT6LnZaadPyusyKCS68HVJtRn", + "title": "Bored Apes XRP Club", + "trustlines": 8247, + "placeInTop": 13 + }, + { + "id": 17296, + "code": "OXP", + "issuer": "rrno7Nj4RkFJLzC4nRaZiLF5aHwcTVon3d", + "title": "onXRP", + "trustlines": 9851, + "placeInTop": 14 + }, + { + "id": 16726, + "code": "ADV", + "issuer": "rPneN8WPHZJaMT9pF4Ynyyq4pZZZSeTuHu", + "title": "AdvisorBid", + "trustlines": 10454, + "placeInTop": 15 + }, + { + "id": 17363, + "code": "xBIBLx", + "issuer": "rnH9o6qdym34K293Pq3FZp5Ko7SpZxEbeG", + "title": "Bibliomp", + "trustlines": 4441, + "placeInTop": 16 + }, + { + "id": 16600, + "code": "EUR", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "title": "Gatehub", + "trustlines": 85461, + "placeInTop": 17 + }, + { + "id": 225, + "code": "XRdoge", + "issuer": "rLqUC2eCPohYvJCEBJ77eCCqVL2uEiczjA", + "title": "XRdoge Labs", + "trustlines": 26611, + "placeInTop": 18 + }, + { + "id": 99, + "code": "XDX", + "issuer": "rMJAXYsbNzhwp7FfYnAsYP5ty3R9XnurPo", + "title": "D.P.MonksFinance LTD", + "trustlines": 28866, + "placeInTop": 19 + }, + { + "id": 18469, + "code": "STX", + "issuer": "rSTAYKxF2K77ZLZ8GoAwTqPGaphAqMyXV", + "title": "StaykX", + "trustlines": 12098, + "placeInTop": 20 + }, + { + "id": 369, + "code": "xSTIK", + "issuer": "rJNV9i4Q6zvRhpE2zjxgkvff3eGHQohZht", + "title": "xSTIK Official", + "trustlines": 24267, + "placeInTop": 21 + }, + { + "id": 18621, + "code": "XLIST", + "issuer": "rNy8hFXoXEaJwkiT6U6ED5CWsfZHELNcnr", + "title": "XList", + "trustlines": 4286, + "placeInTop": 22 + }, + { + "id": 374, + "code": "xCoin", + "issuer": "rXCoYSUnkpygdtfpz3Df8dKQuRZjM9UFi", + "title": "XRPLCOINS", + "trustlines": 27151, + "placeInTop": 23 + }, + { + "id": 17807, + "code": "ShibaNFT", + "issuer": "rnRXAnVZTyattZXEpKpgTyvdm17DpjrzSZ", + "title": "ShibaNFT OFFICIAL", + "trustlines": 23572, + "placeInTop": 24 + }, + { + "id": 375, + "code": "OCW", + "issuer": "rK9DrarGKnVEo2nYp5MfVRXRYf5yRX3mwD", + "title": "OnChain Whales", + "trustlines": 19078, + "placeInTop": 25 + }, + { + "id": 16660, + "code": "XBLADE", + "issuer": "rfVTbKsRgyurPddRiWaReuiK9Tvms8XGj1", + "title": "XBLADE", + "trustlines": 7449, + "placeInTop": 26 + }, + { + "id": 250, + "code": "Greyhound", + "issuer": "rJWBaKCpQw47vF4rr7XUNqr34i4CoXqhKJ", + "title": "Greyhound", + "trustlines": 10211, + "placeInTop": 27 + }, + { + "id": 18606, + "code": "BPM", + "issuer": "rDBMvpjV6DoWvr3LqMUG8JBgd4QbBoU1E2", + "title": "BPM Wallet", + "trustlines": 2910, + "placeInTop": 28 + }, + { + "id": 16723, + "code": "JUNK", + "issuer": "r4pDJ7bT1rANe9nAdFR9pyVRwtJZQUEFpj", + "title": "Junkie", + "trustlines": 6455, + "placeInTop": 29 + }, + { + "id": 378, + "code": "FKM", + "issuer": "raivZznHUty6vxDYiQD8K5KgwvPKwjpruz", + "title": "FKM", + "trustlines": 11620, + "placeInTop": 30 + }, + { + "id": 16955, + "code": "SGB", + "issuer": "rctArjqVvTHihekzDeecKo6mkTYTUSBNc", + "title": "GateHub SGB", + "trustlines": 23121, + "placeInTop": 31 + }, + { + "id": 17839, + "code": "LUC", + "issuer": "rsygE5ynt2iSasscfCCeqaGBGiFKMCAUu7", + "title": "Lucretius", + "trustlines": 31076, + "placeInTop": 32 + }, + { + "id": 85, + "code": "RDX", + "issuer": "rQa3LW1Au4GxGHzDBkCMKuPcn326w4Wcj2", + "title": "D.P.MonksFinance LTD", + "trustlines": 17418, + "placeInTop": 33 + }, + { + "id": 18740, + "code": "XRDC", + "issuer": "rcLASSiCq8LWcymCHaCgK19QMEvUspuRM", + "title": "XRdogeClassic", + "trustlines": 3319, + "placeInTop": 34 + }, + { + "id": 16724, + "code": "LOX", + "issuer": "rLLJvh6bwj2eTYwzLL484AW6EyH4rdZqWZ", + "title": "LoxNetwork", + "trustlines": 13716, + "placeInTop": 35 + }, + { + "id": 16849, + "code": "HUGETITS", + "issuer": "rEKKMW3MDVgrjPdcJLx49KEhF9ATEQwzPy", + "trustlines": 5454, + "placeInTop": 36 + }, + { + "id": 12, + "code": "CLUB", + "issuer": "r9pAKbAMx3wpMAS9XvvDzLYppokfKWTSq4", + "title": "Club589", + "trustlines": 7113, + "placeInTop": 37 + }, + { + "id": 16735, + "code": "XMEN", + "issuer": "rwc4q24X5Ui76v72WWaNFozBLoZiPj3oKV", + "title": "VerseX", + "trustlines": 10504, + "placeInTop": 38 + }, + { + "id": 16793, + "code": "IGC", + "issuer": "raP6XZypcFR1WkDzaKjv91FtYRCURvePWW", + "title": "iHunt4", + "trustlines": 5514, + "placeInTop": 39 + }, + { + "id": 16685, + "code": "Xoge", + "issuer": "rJMtvf5B3GbuFMrqybh5wYVXEH4QE8VyU1", + "title": "Xoge", + "trustlines": 17536, + "placeInTop": 40 + }, + { + "id": 212, + "code": "XRSHIB", + "issuer": "rN3EeRSxh9tLHAUDmL7Chh3vYYoUafAyyM", + "title": "XR SHIB", + "trustlines": 25681, + "placeInTop": 41 + }, + { + "id": 17058, + "code": "ETC", + "issuer": "rDAN8tzydyNfnNf2bfUQY6iR96UbpvNsze", + "title": "GateHub ETC", + "trustlines": 22783, + "placeInTop": 42 + }, + { + "id": 37, + "code": "xToadz", + "issuer": "rpRW1FumRWhhaLmoYwS1SqEXsnCccvpsAU", + "title": "xToadz & sToadz", + "trustlines": 10227, + "placeInTop": 43 + }, + { + "id": 289, + "code": "xShroom", + "issuer": "rHqLei9xJch13JioYHsDUwWJoz81QQh6LU", + "title": "xShrooms", + "trustlines": 4048, + "placeInTop": 44 + }, + { + "id": 187, + "code": "XGBL", + "issuer": "rMy6sCaDVF1C2BT3qmNG6kgjVDZqZ74uoF", + "title": "Xungible", + "trustlines": 24545, + "placeInTop": 45 + }, + { + "id": 16598, + "code": "CX1", + "issuer": "rKk7mu1dNB25fsPEJ4quoQd5B8QmaxewKi", + "title": "ChorusX", + "trustlines": 60567, + "placeInTop": 46 + }, + { + "id": 18946, + "code": "XSP", + "issuer": "rPUNKXyoE6zZB3nRSTuU7DoUKiQfi8KeK8", + "title": "Standard Punks", + "trustlines": 14368, + "placeInTop": 47 + }, + { + "id": 18789, + "code": "RLT", + "issuer": "rUetS7kbVYJZ76za5ywa1DgViNZMgT9Bvq", + "title": "Rocket Launch", + "trustlines": 5520, + "placeInTop": 48 + }, + { + "id": 292, + "code": "xAliens", + "issuer": "rDbAT7ZnkBBxKYL8myUY68c1chaKLBbNKw", + "trustlines": 4801, + "placeInTop": 49 + }, + { + "id": 18985, + "code": "CHP", + "issuer": "rhFNUEAKyXZmJHsnfJvH8hM12Ydk2icEof", + "title": "Chop Chop", + "trustlines": 10885, + "placeInTop": 50 + }, + { + "id": 16646, + "code": "MLD", + "issuer": "rhJYDuVMQxabTyiWuHQkQyDxr6uZEdpv5u", + "title": "Hurrian", + "trustlines": 28844, + "placeInTop": 51 + }, + { + "id": 16792, + "code": "XGOLD", + "issuer": "r4XSSBVGENvgUrZFijX8xvsJtp9Mi2UPz9", + "title": "XGOLD", + "trustlines": 5634, + "placeInTop": 51 + }, + { + "id": 251, + "code": "FSE", + "issuer": "rs1MKY54miDtMFEGyNuPd3BLsXauFZUSrj", + "title": "strategyengine", + "trustlines": 32019, + "placeInTop": 52 + }, + { + "id": 171, + "code": "TRSRY", + "issuer": "rLBnhMjV6ifEHYeV4gaS6jPKerZhQddFxW", + "title": "TREASURY XRPL", + "trustlines": 28380, + "placeInTop": 53 + }, + { + "id": 299, + "code": "XFLOKI", + "issuer": "rUtXeAXonpFpgKubAa7LxcLd7NFep92T1t", + "title": "XFLOKI", + "trustlines": 13100, + "placeInTop": 54 + }, + { + "id": 16662, + "code": "SwissTech", + "issuer": "raq7pGaYrLZRa88v6Py9V5oWMYEqPYr8Tz", + "trustlines": 20271, + "placeInTop": 55 + }, + { + "id": 89, + "code": "XVR", + "issuer": "rRCA6gnPkvpKmWwfcYxHQ845gFQ5ThYQe", + "title": "VerseX - $XMEN $XVR", + "trustlines": 4971, + "placeInTop": 56 + }, + { + "id": 18693, + "code": "XWAR", + "issuer": "rJAm3vMSiwCZHxLygaTdmiqCUG8YeSJFVy", + "trustlines": 4046, + "placeInTop": 57 + }, + { + "id": 16668, + "code": "Nerian", + "issuer": "rGEekk1PRyozC1ZEZCXL7EZcko4rrrETGh", + "title": "Nerian", + "trustlines": 9994, + "placeInTop": 58 + }, + { + "id": 16635, + "code": "SmartNFT", + "issuer": "rf8dxyFrYWEcUQAM7QXdbbtcRPzjvoQybK", + "title": "SmartNFT", + "trustlines": 18054, + "placeInTop": 59 + }, + { + "id": 16621, + "code": "SEC", + "issuer": "rDN4Ux1WFJJsPCdqdfZgrDZ2icxdAmg2w", + "title": "SEC Coin", + "trustlines": 31347, + "placeInTop": 60 + }, + { + "id": 16725, + "code": "SmartLOX", + "issuer": "rBdZkMKuPnzYVVkyL2DrQKV3DsYt5PPVRh", + "title": "SmartLOX", + "trustlines": 13728, + "placeInTop": 61 + }, + { + "id": 165, + "code": "XSQUAD", + "issuer": "roBYiFtZsTRpWEUw6TtpUCwZCfjcQeRBg", + "trustlines": 11470, + "placeInTop": 62 + }, + { + "id": 16609, + "code": "Schmeckles", + "issuer": "rPxw83ZP6thv7KmG5DpAW4cDW55DZRZ9wu", + "title": "Schmeckles", + "trustlines": 15829, + "placeInTop": 63 + }, + { + "id": 17, + "code": "XQK", + "issuer": "rHKrPGdpaqNRqRvmsiqQhD6azqc4npWoLC", + "title": "XQuake", + "trustlines": 25875, + "placeInTop": 64 + }, + { + "id": 17867, + "code": "$XRPLedgerETF", + "issuer": "raChAW5DVscGKimsCFLhHREpD86NsLF74Z", + "title": "XRPL ETF", + "trustlines": 8998, + "placeInTop": 65 + }, + { + "id": 269, + "code": "FCX", + "issuer": "rwSgqza9DUzr8oPDkJz8xUbPbaxAyoeLus", + "title": "FCX Focus", + "trustlines": 14769, + "placeInTop": 66 + }, + { + "id": 17062, + "code": "BCH", + "issuer": "rcyS4CeCZVYvTiKcxj6Sx32ibKwcDHLds", + "title": "GateHub BCH", + "trustlines": 15477, + "placeInTop": 66 + }, + { + "id": 18994, + "code": "Sanctum", + "issuer": "rNcqT1tds4vdroichNKuTh3Ppd8KAdFHnN", + "title": "Sanctum \u26a1\ufe0f", + "trustlines": 12800, + "placeInTop": 67 + }, + { + "id": 16729, + "code": "MONKEE", + "issuer": "rG5tVG4yoGvMTKiFEEEFpjG3qj2tGMP44o", + "title": "MONKEE MONKEE | NFT GAME", + "trustlines": 5446, + "placeInTop": 68 + }, + { + "id": 16823, + "code": "XDUDE", + "issuer": "rU5LE7X6yyu9DuHsLdHhWSiUVTgpyRK1vz", + "title": "XDUDE", + "trustlines": 5411, + "placeInTop": 69 + }, + { + "id": 18836, + "code": "Alpha", + "issuer": "rT8svWEMW3n5XTgezHEqpRdkuMnTafUfS", + "title": "Alpha Shares", + "trustlines": 5012, + "placeInTop": 70 + }, + { + "id": 18555, + "code": "XLoyalitY", + "issuer": "rfQNEfqLQc5L34rS92Xh5nVtk9NVHbv4Gj", + "title": "XLoyalitY", + "trustlines": 3228, + "placeInTop": 71 + }, + { + "id": 18880, + "code": "MetaLOX", + "issuer": "rDkjv8oQrgzHjjwZNnFAjWWrhRJgg6g56T", + "title": "MetaLOX", + "trustlines": 3224, + "placeInTop": 72 + }, + { + "id": 16631, + "code": "DFI", + "issuer": "rUY6tjGN8PJDVyVFLztRZLmPZ8uTBUfa2Z", + "title": "Denarii", + "trustlines": 6278, + "placeInTop": 73 + }, + { + "id": 16671, + "code": "XBOT", + "issuer": "rn9SkVczEzWQ3siieX7PcBVYpbRPRGbTgq", + "title": "X BOT CLUB", + "trustlines": 6532, + "placeInTop": 74 + }, + { + "id": 18406, + "code": "xTREME", + "issuer": "rwzfKxHPyzBbGidViMB9bw86WDFSFwMW9J", + "title": "XtremeXRPL", + "trustlines": 7951, + "placeInTop": 75 + }, + { + "id": 118, + "code": "NVL", + "issuer": "r458JvSEmmPwrRbEtmrHvWsGqZjq8jK6aE", + "title": "Northern VoIP NVL", + "trustlines": 13452, + "placeInTop": 76 + }, + { + "id": 181, + "code": "XParrot", + "issuer": "r3hmy4JpSHPWuomNsGtCkKrCqALakDAJiJ", + "title": "XParrots Official", + "trustlines": 9379, + "placeInTop": 77 + }, + { + "id": 16742, + "code": "XBAE", + "issuer": "rGc7CTU22AbPg8drYWTYsdGVk6nfssSPBK", + "title": "CLUBXBAE", + "trustlines": 4619, + "placeInTop": 78 + }, + { + "id": 18828, + "code": "xMAGIC", + "issuer": "rBHdammEERq7nxvHkzRzCUu872k3uQYVvg", + "title": "MAGICAL FINANCE", + "trustlines": 23411, + "placeInTop": 79 + }, + { + "id": 22, + "code": "XMETA", + "issuer": "r3XwJ1hr1PtbRvbhuUkybV6tmYzzA11WcB", + "title": "XMETA", + "trustlines": 30142, + "placeInTop": 80 + }, + { + "id": 17802, + "code": "TPR", + "issuer": "rht98AstPWmLPQMrwd9YDrcDoTjw9Tiu4B", + "title": "Tipper", + "trustlines": 17633, + "placeInTop": 81 + }, + { + "id": 18810, + "code": "XPHO", + "issuer": "rsVZrh3cvisTSHFcEZqPK1ioRzxbeG4PBk", + "title": "XRPhone", + "trustlines": 8958, + "placeInTop": 82 + }, + { + "id": 16904, + "code": "LXA", + "issuer": "rMa6n3DhTqwDGwU6ZquX1iSuaY1tCNLziY", + "title": "LamboXapes", + "trustlines": 6332, + "placeInTop": 83 + }, + { + "id": 18943, + "code": "SSM", + "issuer": "rPmrbwPKweofumw3fNBaoGdWDSc6wDKwKd", + "title": "FK\u20a5", + "trustlines": 4462, + "placeInTop": 84 + }, + { + "id": 16869, + "code": "XFLOKIs", + "issuer": "rKKDTqx8Lxw2sf2tUgNR81rvhRDhv5kFpz", + "title": "XFLOKI", + "trustlines": 6183, + "placeInTop": 85 + }, + { + "id": 277, + "code": "HADA", + "issuer": "rsR5JSisuXsbipP6sGdKdz5agjxn8BhHUC", + "title": "HADA Coin", + "trustlines": 7686, + "placeInTop": 86 + }, + { + "id": 16941, + "code": "HADALITE", + "issuer": "rHiPGSMBbzDGpoTPmk2dXaTk12ZV1pLVCZ", + "title": "HADALITE", + "trustlines": 8248, + "placeInTop": 87 + }, + { + "id": 116, + "code": "HCATS", + "issuer": "rGomRdjcf3e5zW5qjD7KU6YZmWbAk8u3hp", + "title": "XRPL HappyCats", + "trustlines": 7065, + "placeInTop": 88 + }, + { + "id": 18623, + "code": "JANGA", + "issuer": "r97C2XF4S5yzL2FzvXjdsyfYnswS4ee8TR", + "title": "Leo King\u2019s \ud83d\udc51 NFT", + "trustlines": 7120, + "placeInTop": 89 + }, + { + "id": 16739, + "code": "PARC", + "issuer": "rE42R1mbjGtMzzFTL5aqpbTrj3TDVq71jo", + "title": "Pixel Ape Rowboat Club", + "trustlines": 11880, + "placeInTop": 90 + }, + { + "id": 18139, + "code": "XRAIN", + "issuer": "rh3tLHbXwZsp7eciw2Qp8g7bN9RnyGa2pF", + "title": "XRPL RAINFOREST / $XRAIN", + "trustlines": 4529, + "placeInTop": 90 + }, + { + "id": 16636, + "code": "editions", + "issuer": "rfXwi3SqywQ2gSsvHgfdVsyZdTVM15BG7Z", + "title": "Editions", + "trustlines": 28590, + "placeInTop": 91 + }, + { + "id": 363, + "code": "GZX", + "issuer": "rNgsoCk6mjBq5jcqitBpg1gdfYhKajXsM2", + "title": "GreenZoneX", + "trustlines": 10026, + "placeInTop": 92 + }, + { + "id": 145, + "code": "TALENT", + "issuer": "r92SQCuWhYoB4w2UnKU7PKj4Mh7jSyemrH", + "title": "TalentChain", + "trustlines": 15209, + "placeInTop": 93 + }, + { + "id": 24, + "code": "XZillas", + "issuer": "rhwVLo1ckgcGSD6j7bF7BCPjuR3tshjbVM", + "title": "XZilla NFTs", + "trustlines": 11613, + "placeInTop": 93 + }, + { + "id": 16838, + "code": "Xpossum", + "issuer": "rfQr7LLaNvG93A3e2h6tjub3pi2oNTbvMA", + "title": "XRPL Awesome Possum", + "trustlines": 2704, + "placeInTop": 93 + }, + { + "id": 234, + "code": "XRPanda", + "issuer": "r9uQt7Y34SwSyKqdb5sMmAqk37rh3Y4V7", + "title": "XRPanda", + "trustlines": 10491, + "placeInTop": 94 + }, + { + "id": 16604, + "code": "Calorie", + "issuer": "rNqGa93B8ewQP9mUwpwqA19SApbf62U7PY", + "title": "Calorie Token", + "trustlines": 24080, + "placeInTop": 95 + }, + { + "id": 371, + "code": "LUSD", + "issuer": "rfL4Sci2ag5hhkpDuqtWYov6j3mshVWLgU", + "title": "Limited Currency", + "trustlines": 12638, + "placeInTop": 96 + }, + { + "id": 183, + "code": "NET", + "issuer": "rHi8oNeNe6JsKTaBbfhrQdEfDXHGhBcTXQ", + "title": "ZanyClub", + "trustlines": 7596, + "placeInTop": 96 + }, + { + "id": 18801, + "code": "OVX", + "issuer": "rDsvn6aJG4YMQdHnuJtP9NLrFp18JYTJUf", + "title": "onXRP", + "trustlines": 3056, + "placeInTop": 97 + }, + { + "id": 18897, + "code": "ArcX", + "issuer": "rHJUjSCYcgzF4CiYvi3UVdvXGbtXGJ6Fmz", + "title": "Arcade X (ARC-X)", + "trustlines": 1921, + "placeInTop": 98 + }, + { + "id": 16942, + "code": "DUCK", + "issuer": "rT5pAVAokKezWrjqnMBF3G8ah4fxVWVVx", + "title": "DuckRocket", + "trustlines": 8179, + "placeInTop": 99 + }, + { + "id": 16754, + "code": "SeagullCoin", + "issuer": "rnqiA8vuNriU9pqD1ZDGFH8ajQBL25Wkno", + "title": "Bored Seagull Club", + "trustlines": 7105, + "placeInTop": 99 + }, + { + "id": 16, + "code": "XWhales", + "issuer": "rw2LTTiDKAWMZeeNwvhxoYHMaCYMJretRR", + "trustlines": 10160, + "placeInTop": 100 + }, + { + "id": 324, + "code": "MLN", + "issuer": "rw5nJ4E54qtJYdX8WW6KeSaZjg67rGCR4K", + "title": "MLNToken", + "trustlines": 13673, + "placeInTop": 100 + }, + { + "id": 168, + "code": "xGoblin", + "issuer": "rpBCGo3e3cKqHoxjghK8AUeWYK2awGA6fB", + "title": "xGoblin", + "trustlines": 6357, + "placeInTop": 100 + }, + { + "id": 136, + "code": "XRSWAN", + "issuer": "rUHoc9nQyZzahE5rq26QHkvBmnvCEoPAhZ", + "title": "XRSwan", + "trustlines": 6414, + "placeInTop": 105 + }, + { + "id": 33, + "code": "XWWP", + "issuer": "roDdiwDhPUs8PVxq3S6buGSgNSmfVu9Xg", + "title": "XWWPlanes", + "trustlines": 6123, + "placeInTop": 108 + }, + { + "id": 241, + "code": "CCN", + "issuer": "rG1bDjT25WyvPz757YC9NqdRKyz9ywF8e8", + "title": "CollegeCoinNetwork", + "trustlines": 17205, + "placeInTop": 109 + }, + { + "id": 16752, + "code": "AFA", + "issuer": "ratAFAXeeKaVuAxuWB9W1LuXD5m7Aqf2BH", + "trustlines": 3206, + "placeInTop": 111 + }, + { + "id": 18275, + "code": "EMBRS", + "issuer": "rPbKMFvHbdEGBog98UjZXRdUx37MFKMfxB", + "title": "Quarter Onion Games", + "trustlines": 5207, + "placeInTop": 112 + }, + { + "id": 16732, + "code": "XRPitbull", + "issuer": "rfGDNXbLExX5BjktQYFgY4kfkK8mNzmuqJ", + "title": "XRPitbull", + "trustlines": 4364, + "placeInTop": 113 + }, + { + "id": 18384, + "code": "XRCS", + "issuer": "rn2aUSJ3mwt72pP4jx8JDyq9ipt9itDqcb", + "title": "XRCS", + "trustlines": 11934, + "placeInTop": 114 + }, + { + "id": 302, + "code": "FAKTURY", + "issuer": "rNwBNkHz3ZAnx77XFjGR8nRnZHw4gKgmpr", + "title": "FAKT\u00dcRY", + "trustlines": 3375, + "placeInTop": 115 + }, + { + "id": 16715, + "code": "DBX", + "issuer": "rHLJNqxCoPXdm4CnLd3w63ZFRqAUU2U4vS", + "title": "Dragonites X", + "trustlines": 19147, + "placeInTop": 116 + }, + { + "id": 261, + "code": "CNFT", + "issuer": "rUte5RZgB68nEU5QfjfM8qD6HtmKo5ebqo", + "title": "CollegeCoinNetwork / XBear NFTs", + "trustlines": 5555, + "placeInTop": 117 + }, + { + "id": 18137, + "code": "XCC", + "issuer": "rKuuRSQM2pTtv8ZrhQbU6kBgusCD79cem3", + "title": "X Charity Club", + "trustlines": 14433, + "placeInTop": 118 + }, + { + "id": 18007, + "code": "SNUB", + "issuer": "rNCRr79JC8YcA8pG4VAzhrshYxahKCodnX", + "title": "SnubNetwork", + "trustlines": 12879, + "placeInTop": 119 + }, + { + "id": 18419, + "code": "UtiliteX", + "issuer": "rKDsnVfFMzdqrU8Bqno37d29L8ZW3hvrf8", + "title": "TREASURY XRPL", + "trustlines": 7440, + "placeInTop": 120 + }, + { + "id": 95, + "code": "TGO", + "issuer": "rTGoNeK6vpu28U2oE5tiqhH3x8z2jBhxv", + "title": "ThingsGoOnline", + "trustlines": 7452, + "placeInTop": 121 + }, + { + "id": 18368, + "code": "GiezwaCoin", + "issuer": "r1taMrSAWRWJkaLhyCpPTnVj3qQmngzvN", + "title": "GiezwaCoin", + "trustlines": 9365, + "placeInTop": 122 + }, + { + "id": 17799, + "code": "xDREAMS", + "issuer": "raJt8azeqGixW8D1xSNLrELJu2m8W9EAit", + "title": "xDREAMS", + "trustlines": 4235, + "placeInTop": 123 + }, + { + "id": 16867, + "code": "XTRUMP", + "issuer": "rhvxJ9FjU1QCinoQStNkoZASbjqfBF7LN1", + "title": "XTRUMP", + "trustlines": 9761, + "placeInTop": 124 + }, + { + "id": 283, + "code": "PALEOCOIN", + "issuer": "rPfuLd1XmVyxkggAiT9fpLQU81GLb6UDZg", + "title": "Paleocoin", + "trustlines": 11851, + "placeInTop": 125 + }, + { + "id": 18590, + "code": "xBay", + "issuer": "rDVvK7xd2M6ZJr9a8suURWLqAeg7FyoDKT", + "title": "xBay", + "trustlines": 11993, + "placeInTop": 126 + }, + { + "id": 161, + "code": "xMochi", + "issuer": "rPaC5HFXToBuqHjSgjhmJaMejrF6DHRXKL", + "title": "xMochiDonuts", + "trustlines": 6718, + "placeInTop": 127 + }, + { + "id": 18935, + "code": "AEN", + "issuer": "rwuBxcFaUAEVYVDZvXvDXpHkEKoE8Zy1KX", + "trustlines": 10359, + "placeInTop": 128 + }, + { + "id": 1, + "code": "MRM", + "issuer": "rNjQ9HZYiBk1WhuscDkmJRSc3gbrBqqAaQ", + "title": "Mr. Mole", + "trustlines": 17995, + "placeInTop": 129 + }, + { + "id": 16787, + "code": "SSE", + "issuer": "rMDQTunsjE32sAkBDbwixpWr8TJdN5YLxu", + "title": "strategyengine", + "trustlines": 11438, + "placeInTop": 130 + }, + { + "id": 17297, + "code": "XRPLT", + "issuer": "rnSW2PRsGk5gX1q7xT5m3iyqrcR62yN9et", + "title": "XRPLToken", + "trustlines": 5175, + "placeInTop": 131 + }, + { + "id": 18833, + "code": "UCB", + "issuer": "rQUFEwFT1YdWbMFvCVh9CwbVndRdFEPdDf", + "title": "UCB Network", + "trustlines": 10101, + "placeInTop": 132 + }, + { + "id": 16711, + "code": "UVX", + "issuer": "r4XUTsMNJoT8Cs6rNHzbif5MpZ7sPH1nWF", + "title": "UnvaxCoin", + "trustlines": 15042, + "placeInTop": 133 + }, + { + "id": 18437, + "code": "XFAMOUS", + "issuer": "r9ZfGV6RpBNA6oewp3WLeyhE5fqvFaMoUs", + "title": "XrpFamous", + "trustlines": 8063, + "placeInTop": 134 + }, + { + "id": 16745, + "code": "xCIV", + "issuer": "rUampeA54U7Fcfwp5cxrRarS37eiaT44HB", + "title": "xCIV Pioneer", + "trustlines": 11001, + "placeInTop": 135 + }, + { + "id": 178, + "code": "XJOY", + "issuer": "rJAvx8FtrLR3RyZyM1LyVQFxxsLdT1PmdS", + "title": "SnwomanYC | Genesis Portal", + "trustlines": 5374, + "placeInTop": 136 + }, + { + "id": 16648, + "code": "xBillie", + "issuer": "rp3d8cQKMS4r68Gx12kcMxGQuyi9nT2Qm4", + "title": "xHustlers", + "trustlines": 4472, + "placeInTop": 137 + }, + { + "id": 144, + "code": "TBBOB", + "issuer": "rMxrnxXHi3aibzQ79B91AtzXBYfbPqbzZK", + "trustlines": 10064, + "placeInTop": 138 + }, + { + "id": 16672, + "code": "XRGary", + "issuer": "rCE2rxDDZtM7qkHAxorjkfLiHX71HtqTY", + "trustlines": 12664, + "placeInTop": 139 + }, + { + "id": 16651, + "code": "LOVE", + "issuer": "rDpdyF9LtYpwRdHZs8sghaPscE8rH9sgfs", + "trustlines": 16553, + "placeInTop": 140 + }, + { + "id": 18193, + "code": "LRUB", + "issuer": "rnyGDFEqnNwpyzievKCMhHUi4xs6HnUqPA", + "title": "Limited Currency RUB", + "trustlines": 9095, + "placeInTop": 141 + }, + { + "id": 17290, + "code": "LGBP", + "issuer": "rfL4Sci2ag5hhkpDuqtWYov6j3mshVWLgU", + "title": "Limited Currency", + "trustlines": 9312, + "placeInTop": 142 + }, + { + "id": 191, + "code": "1MC", + "issuer": "rsJvPP7GVdPfe5zmQtvxAJVZAmDUGfhkV1", + "title": "1 Market Coin", + "trustlines": 13027, + "placeInTop": 143 + }, + { + "id": 213, + "code": "Cheetah", + "issuer": "rfLudDNMJeu3yD6wEPj37GJ9LBpQ4u42d6", + "title": "Cheetah", + "trustlines": 9762, + "placeInTop": 144 + }, + { + "id": 18356, + "code": "AnimaCoin", + "issuer": "rGQrZvndQsJV2S5cnSdiRFMPT1Fz1Ccvuj", + "title": "Anima", + "trustlines": 12433, + "placeInTop": 145 + }, + { + "id": 16800, + "code": "XMEMEcoin", + "issuer": "rWE5SePEBuVjJUoKXA6x87hQ59YPZCVD6", + "trustlines": 4816, + "placeInTop": 146 + }, + { + "id": 18756, + "code": "XCHN", + "issuer": "rHMcxniNwG8LG4tfrmNjoAjDBqWkp2b6d7", + "trustlines": 5123, + "placeInTop": 147 + }, + { + "id": 195, + "code": "Peas", + "issuer": "rPAArd4yZAJaDCR5gs41YYmGphfj6yzh3R", + "title": "XRPeas", + "trustlines": 14167, + "placeInTop": 148 + }, + { + "id": 18218, + "code": "LPHP", + "issuer": "rnyGDFEqnNwpyzievKCMhHUi4xs6HnUqPA", + "title": "Limited Currency PHP", + "trustlines": 7448, + "placeInTop": 149 + }, + { + "id": 10, + "code": "XAVE", + "issuer": "rn2rjQnzbynPT2xNJhpBQ7e2aLxNnxLAfa", + "title": "XRP avengers", + "trustlines": 8485, + "placeInTop": 150 + }, + { + "id": 17878, + "code": "XrpVault", + "issuer": "rNJhYNbxtRj8upde5BQHRSUssNAoFwhc83", + "title": "The Vault", + "trustlines": 12902, + "placeInTop": 151 + }, + { + "id": 150, + "code": "DRT", + "issuer": "rfDhSfY5JMtCrje7hGxC8Gk6dC5PgNJh63", + "title": "DaRT Art Museum and Marketplace", + "trustlines": 23648, + "placeInTop": 152 + }, + { + "id": 18896, + "code": "XBT", + "issuer": "radcGxrrqjJb7KfJojjrN1Syn36UC5wQQ6", + "title": "XRStakeBet", + "trustlines": 2999, + "placeInTop": 153 + }, + { + "id": 38, + "code": "BumCrack", + "issuer": "rBuFBE8nx5Zpojj6EY3Lfh4sd1CHskFRC7", + "title": "B C XRP", + "trustlines": 13403, + "placeInTop": 154 + }, + { + "id": 16776, + "code": "XRPL3DAPES", + "issuer": "rLBW9d9cfEY4ZFPbgqKzEpoEHjKeLrotWZ", + "title": "3D Ape Club", + "trustlines": 16134, + "placeInTop": 155 + }, + { + "id": 18432, + "code": "XAI", + "issuer": "r9YmVNAQo9TAwDVW9WmUPdX8qRCdpeYKiE", + "title": "X-A.I. NFT", + "trustlines": 20123, + "placeInTop": 156 + }, + { + "id": 18206, + "code": "LJPY", + "issuer": "rnyGDFEqnNwpyzievKCMhHUi4xs6HnUqPA", + "title": "Limited Currency JPY", + "trustlines": 8930, + "placeInTop": 157 + }, + { + "id": 16707, + "code": "SINGLE", + "issuer": "rhtmgZUbTzfH6xQKqqzF835uRVPFMqFYRe", + "title": "Single Interest", + "trustlines": 2422, + "placeInTop": 158 + }, + { + "id": 17879, + "code": "HMN", + "issuer": "rNUJ4qxmEEU8Et79nmdypwoDzSsuk437Rz", + "title": "HMN NFT", + "trustlines": 6289, + "placeInTop": 159 + }, + { + "id": 18213, + "code": "LSVC", + "issuer": "rnyGDFEqnNwpyzievKCMhHUi4xs6HnUqPA", + "title": "Limited Currency SVC", + "trustlines": 3735, + "placeInTop": 160 + }, + { + "id": 18558, + "code": "GamerXGold", + "issuer": "rMczrvMki7DuXsuMf3zGUrqAmWvLKZNnt2", + "title": "GamerXGold", + "trustlines": 16249, + "placeInTop": 161 + }, + { + "id": 18216, + "code": "LKRW", + "issuer": "rnyGDFEqnNwpyzievKCMhHUi4xs6HnUqPA", + "title": "Limited Currency KRW", + "trustlines": 5534, + "placeInTop": 162 + }, + { + "id": 17918, + "code": "XStack", + "issuer": "rHqNZURCvyrx4DZDF6rxYTpeaQnWrNB1tv", + "title": "xStackCoin", + "trustlines": 9752, + "placeInTop": 163 + }, + { + "id": 18036, + "code": "xRaccoon", + "issuer": "rKECgn8LhVwMtHyiGZcRu2H1e5mTo6Gdw", + "title": "xRaccoon", + "trustlines": 4490, + "placeInTop": 164 + }, + { + "id": 18924, + "code": "xGBR", + "issuer": "rnBG7eQk9pPZtfD19uBDyxBUoaYD4HUFWm", + "trustlines": 9475, + "placeInTop": 165 + }, + { + "id": 18990, + "code": "LUCKY", + "issuer": "rUjUNsSxPwTcd3YDTqDtfXHdmZd7C8tFkM", + "trustlines": 8215, + "placeInTop": 166 + }, + { + "id": 18282, + "code": "XRIV", + "issuer": "rMFeo6PiEqeZad4z29ivEj5adGp2TuH2YY", + "trustlines": 7815, + "placeInTop": 167 + }, + { + "id": 18321, + "code": "LIDR", + "issuer": "rnGvMu8P6evJEYY4cPyzcy4N1m5gcYRjaH", + "title": "Limited USD (LUSD)", + "trustlines": 5060, + "placeInTop": 168 + }, + { + "id": 17594, + "code": "NICE", + "issuer": "r96uXvCJxe3Yeeo9wCtJsLSpJiFUz2hvsB", + "title": "NICEToken", + "trustlines": 23772, + "placeInTop": 169 + }, + { + "id": 16809, + "code": "SCS", + "issuer": "rHYr9XNQJf1Kury1wGkht7Hrb9d43PqSMw", + "title": "CareShareCoin", + "trustlines": 5919, + "placeInTop": 170 + }, + { + "id": 18794, + "code": "CSX", + "issuer": "rG9eYQaixAV16SWpuDaQAZnfcaJx11DtJz", + "title": "C-S-XRP \u22b9", + "trustlines": 4374, + "placeInTop": 171 + }, + { + "id": 18424, + "code": "XUH", + "issuer": "rftZzz4iroaBENgwAPEgFRk2pHb3QrEDxe", + "title": "UNI HIVE | XUH", + "trustlines": 8135, + "placeInTop": 172 + }, + { + "id": 18060, + "code": "PXLTRBE", + "issuer": "rw9h8CvTmbZbhRwR6u7NPAwjcQuf3CaDoU", + "title": "xPixelTribes NFT", + "trustlines": 7845, + "placeInTop": 173 + }, + { + "id": 18890, + "code": "Gacha", + "issuer": "rsGsuzivHfnAP2S7hNAE4morQBZPdN4en3", + "title": "GACHA Lottery Club", + "trustlines": 3708, + "placeInTop": 174 + }, + { + "id": 16666, + "code": "GorillaGold", + "issuer": "rGQtGHrgN4FK1RcEn83q4t8aK6BobzDEMK", + "title": "GORILLA$Gold XRP", + "trustlines": 2828, + "placeInTop": 175 + }, + { + "id": 18323, + "code": "LVND", + "issuer": "rnGvMu8P6evJEYY4cPyzcy4N1m5gcYRjaH", + "title": "Limited USD (LUSD)", + "trustlines": 4483, + "placeInTop": 176 + }, + { + "id": 18583, + "code": "xwest", + "issuer": "rGxTL4RgJeJcN3SySxAQMnMnWXDEELjMfk", + "title": "XrpWest", + "trustlines": 3462, + "placeInTop": 177 + }, + { + "id": 18219, + "code": "LSGD", + "issuer": "rnyGDFEqnNwpyzievKCMhHUi4xs6HnUqPA", + "title": "Limited Currency SGD", + "trustlines": 4406, + "placeInTop": 178 + }, + { + "id": 18288, + "code": "MDLR", + "issuer": "rMdLraa4jWJvpjpDpvmDEuVtjo3WwyWDKw", + "trustlines": 8329, + "placeInTop": 179 + }, + { + "id": 16794, + "code": "xianggang", + "issuer": "rMUqLuW4RpBvVAKNoaCubvbXgzuSnf6P8J", + "title": "xianggang.hk", + "trustlines": 10030, + "placeInTop": 180 + }, + { + "id": 16664, + "code": "ALGX", + "issuer": "ravdhDikgTwFsqFrJ3DuhVUYdAbxJLjdNT", + "title": "Cosmonaut NFT - Welcome to the Allegiance!", + "trustlines": 4511, + "placeInTop": 181 + }, + { + "id": 17937, + "code": "Maroo", + "issuer": "rEiqU48BP7iPDipRwU3cPQqo2EbDFi123P", + "title": "Burning Maroo", + "trustlines": 6139, + "placeInTop": 182 + }, + { + "id": 1381, + "code": "BTC", + "issuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", + "title": "GateHub BTC", + "trustlines": 115393, + "placeInTop": null + }, + { + "id": 17804, + "code": "GCB", + "issuer": "rNdwi8ain5ibXNB9A7H3zzKtSxgVzAqqAe", + "trustlines": 33404, + "placeInTop": null + }, + { + "id": 16601, + "code": "ETH", + "issuer": "rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h", + "title": "Gatehub Fifth", + "trustlines": 90505, + "placeInTop": null + }, + { + "id": 320, + "code": "PASA", + "issuer": "rBPtuMc4HBR1SuZyZv8hs7WBVxLBYrzxbY", + "title": "PASA COIN", + "trustlines": 25615, + "placeInTop": null + }, + { + "id": 16599, + "code": "KGE", + "issuer": "rNhSjAMnDJc9tDHH1R4sqggvgDGa8Bwj5T", + "title": "Kinjo Gear", + "trustlines": 21319, + "placeInTop": null + }, + { + "id": 16615, + "code": "Daric", + "issuer": "rK9AtihZZYWAwZQnJCYzZnyW833vbcPXPf", + "title": "Daric", + "trustlines": 21573, + "placeInTop": null + }, + { + "id": 17976, + "code": "XRWeb", + "issuer": "rDegPvsK5c2nzaKTn2PsuPZjs8b3neDDn", + "title": "XRWeb", + "trustlines": 21889, + "placeInTop": null + }, + { + "id": 252, + "code": "CodeCoin", + "issuer": "rGbsKNrVURRfU1WEb1aEqaoyRJDkvssyBa", + "title": "CodeCoin", + "trustlines": 21750, + "placeInTop": null + }, + { + "id": 17676, + "code": "xCBS", + "issuer": "rNvhXtgDdd4Sh3NKLXcUH9Hozs4dqu62we", + "title": "xCBS | XRPL", + "trustlines": 21483, + "placeInTop": null + }, + { + "id": 18353, + "code": "HMC", + "issuer": "raXY8RFAKixBZGw8nhDRHvVCKd2RzeoeLq", + "title": "Himalaya", + "trustlines": 24770, + "placeInTop": null + }, + { + "id": 16617, + "code": "XUM", + "issuer": "r465PJyGWUE8su1oVoatht6cXZJTg1jc2m", + "title": "XUM Universal Money", + "trustlines": 26206, + "placeInTop": null + }, + { + "id": 16644, + "code": "APXX", + "issuer": "rL2sSC2eMm6xYyx1nqZ9MW4AP185mg7N9t", + "title": "ApexSafariXRPL", + "trustlines": 19066, + "placeInTop": null + }, + { + "id": 17671, + "code": "XGF", + "issuer": "rJnn9jdwaBfuyq383hNiX2oowLuLUm2DZD", + "title": "XGF | xGreen Fund", + "trustlines": 18777, + "placeInTop": null + }, + { + "id": 17149, + "code": "PGN", + "issuer": "rPUSoeJaHQzrXATtGniVjwBQQDEtJcdwFq", + "title": "PGN", + "trustlines": 17529, + "placeInTop": null + }, + { + "id": 16611, + "code": "Gift", + "issuer": "rBXXRBZ46rwCkS9mHom3WW8u7gSytb5KcZ", + "title": "XRPLGift", + "trustlines": 18129, + "placeInTop": null + }, + { + "id": 17184, + "code": "XRTemplate", + "issuer": "rMX54z8VgtRhPefzqVkdG3LxsuGdFQcXxr", + "title": "XRTemplate", + "trustlines": 16944, + "placeInTop": null + }, + { + "id": 236, + "code": "Zinfinite", + "issuer": "rGMU2cbbMhzodpecrjLQ2A814DqL8LFxjY", + "title": "Zinfinite", + "trustlines": 16848, + "placeInTop": null + }, + { + "id": 194, + "code": "XRSoftware", + "issuer": "rJZ9Hpaeqy3fdBvjVUjx1fW1bE75HgaJbr", + "title": "XRSoftware", + "trustlines": 15507, + "placeInTop": null + }, + { + "id": 16639, + "code": "NFTL", + "issuer": "r3DCE2UVaqQaGQragAjmwL6kNicF2rw6PL", + "title": "Elliot | NFT-Loving.com", + "trustlines": 15355, + "placeInTop": null + }, + { + "id": 16622, + "code": "CNY", + "issuer": "razqQKzJRdB4UxFPWf5NEpEG3WMkmwgcXA", + "title": "RippleChina", + "trustlines": 29660, + "placeInTop": null + }, + { + "id": 201, + "code": "ELM", + "issuer": "rQB9HhhBCq2zAVpwQD3jV9ja39DmomdWj1", + "title": "Elements ELM", + "trustlines": 14957, + "placeInTop": null + }, + { + "id": 18110, + "code": "XTriviA", + "issuer": "rhLr8bGvHvBgYXAHNPyXrQAcKGrQ2X5nU4", + "title": "XTriviA", + "trustlines": 14954, + "placeInTop": null + }, + { + "id": 16713, + "code": "GOLD", + "issuer": "rGQtGHrgN4FK1RcEn83q4t8aK6BobzDEMK", + "title": "Eric \ud83c\uddfa\ud83c\uddf8 #GOLD \ud83c\uddfa\ud83c\uddf2 #XRP $10+ \ud83c\uddfa\ud83c\uddf8 #XMETA", + "trustlines": 14949, + "placeInTop": null + }, + { + "id": 16917, + "code": "xHulk", + "issuer": "r43PooeaFyp2cCfqxMkZLu47VKUDaCzQVt", + "title": "xHulk", + "trustlines": 14996, + "placeInTop": null + }, + { + "id": 9, + "code": "BBulldoge", + "issuer": "r3b8BtKC4d8r4Je7PDJhzAgNTLR64seTDu", + "title": "Bully Bulldoge - #BBULLDOGE", + "trustlines": 14549, + "placeInTop": null + }, + { + "id": 17401, + "code": "TipCoin", + "issuer": "rsUjMrcGu8ANoTwv3zUJE6MzSL6K7fMyPU", + "title": "TipCoin", + "trustlines": 15215, + "placeInTop": null + }, + { + "id": 16673, + "code": "BlackFriday", + "issuer": "raFpHssoH3rWkMy9XLjA6NDRW2y44tiFVM", + "title": "Black Friday", + "trustlines": 13377, + "placeInTop": null + }, + { + "id": 16650, + "code": "XWM", + "issuer": "rJzBh2Sktnps8CoLVJeDjj3Y2aDzXhrAFL", + "title": "XWM World Money", + "trustlines": 17655, + "placeInTop": null + }, + { + "id": 16886, + "code": "XRBear", + "issuer": "rKxqkAbT2BQUbtnknSAJon7kX89gUKpZu3", + "title": "XRBear coin", + "trustlines": 13084, + "placeInTop": null + }, + { + "id": 16663, + "code": "OCEAN", + "issuer": "rPCrPJ9Uz988tD1aQVAToioDcCGZ8nbBTn", + "title": "Ocean Assist", + "trustlines": 12827, + "placeInTop": null + }, + { + "id": 235, + "code": "PIN", + "issuer": "rhx9yNhbo7xtTy6rBY8xrUYkuYdyVs5Arb", + "title": "XrPiNFT", + "trustlines": 13570, + "placeInTop": null + }, + { + "id": 17626, + "code": "CNY", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "title": "Ripple Fox", + "trustlines": 17733, + "placeInTop": null + }, + { + "id": 16619, + "code": "POKER", + "issuer": "rfNWXEENu93dvCBnjpFY7mRpprZzBUx8hC", + "title": "POKER", + "trustlines": 14229, + "placeInTop": null + }, + { + "id": 5, + "code": "Cake", + "issuer": "ra1XmvmraMiRYarFrHEU7XDojvRyipU5Vg", + "title": "Cake Coin", + "trustlines": 11637, + "placeInTop": null + }, + { + "id": 16949, + "code": "SPREAD", + "issuer": "rwPzJd39swHT6NfxvgGFYE7q9q7EcqKuKW", + "title": "Spread Love Token", + "trustlines": 12228, + "placeInTop": null + }, + { + "id": 17657, + "code": "MONTEZUMA", + "issuer": "rNJpp2TXWrtFfNs8mbEsrj8gj6XVHfHywD", + "title": "MONTEZUMA", + "trustlines": 12153, + "placeInTop": null + }, + { + "id": 208, + "code": "XRsaitama", + "issuer": "r3nEJus5Ryoo9ckNmY8XHogoPnLfP1unFv", + "title": "XRsaitama", + "trustlines": 12179, + "placeInTop": null + }, + { + "id": 18439, + "code": "FRD", + "issuer": "rEsdnLqeFgXSTeexMAFB7ZauRoMMWvSL4e", + "title": "Ferda Network \ud83d\udc7e", + "trustlines": 12268, + "placeInTop": null + }, + { + "id": 16676, + "code": "XSD", + "issuer": "r9PwqmHiGiE7yAXmG5mk7wSJAeezLqE7Ei", + "title": "XStreetDogs", + "trustlines": 11981, + "placeInTop": null + }, + { + "id": 18259, + "code": "xFlashChain", + "issuer": "rJgcjY1MZJjw946qRqN57V3TGg9PZEA1bw", + "title": "xFlashchain Official", + "trustlines": 11626, + "placeInTop": null + }, + { + "id": 16608, + "code": "SimbaXRP", + "issuer": "rDqwjJ8fUqdyfPjJZ3h93J1XY8hz6CjEYo", + "title": "Simba XRP", + "trustlines": 12056, + "placeInTop": null + }, + { + "id": 18171, + "code": "XrPinoy", + "issuer": "rt3hn4EYMV39xd7pwqMHacJVSu2kEA18x", + "title": "XrPinoy", + "trustlines": 10791, + "placeInTop": null + }, + { + "id": 18574, + "code": "GEN", + "issuer": "r9sSz7JA6NWfPq9cPtEbg4rDBdVuLHi68g", + "title": "ProjectGenesisXrpl", + "trustlines": 11616, + "placeInTop": null + }, + { + "id": 340, + "code": "XDogelon", + "issuer": "rNFKrSUW1xKzDwHz8J9uVAs4GpxtEUoAsF", + "title": "XDogelon", + "trustlines": 11207, + "placeInTop": null + }, + { + "id": 370, + "code": "UMMO", + "issuer": "rfGqDiFegcMm8e9saj48ED74PkotwJCmJd", + "title": "Ummo", + "trustlines": 10875, + "placeInTop": null + }, + { + "id": 180, + "code": "XRMOON", + "issuer": "rBBh2z5wsxE9gcVE2yUU39UntvRMHDKPpq", + "title": "XRMOON COIN", + "trustlines": 11005, + "placeInTop": null + }, + { + "id": 18170, + "code": "XJWL", + "issuer": "rMatwcXVLoRq7yoRR7KNT4Kg8ft8osnJKi", + "title": "xJewelryNFT", + "trustlines": 10318, + "placeInTop": null + }, + { + "id": 18315, + "code": "MORTAL", + "issuer": "rHyCV84JWbmhbCAJYpcd76HXcnhJ4uY4Q7", + "title": "Mortal Kombat", + "trustlines": 9986, + "placeInTop": null + }, + { + "id": 19036, + "code": "OVO", + "issuer": "r3jQzqfGVagsWNbSxMJpQV8VK7jHHmdv5j", + "trustlines": 15978, + "placeInTop": null + }, + { + "id": 16720, + "code": "XRTEACH", + "issuer": "r42RmRk42JYCAvzSifSGAgsZuJBUm2yJSE", + "title": "XRTEACH", + "trustlines": 9477, + "placeInTop": null + }, + { + "id": 367, + "code": "Fluff", + "issuer": "rG81ZwWpJbwvkrSPMWYRNAQ4JrYVGzDZfx", + "title": "xCorgi | Fluff", + "trustlines": 10425, + "placeInTop": null + }, + { + "id": 2, + "code": "WEED", + "issuer": "raDF491dC9XF1guG5zZkWWpNQoFquwt2cp", + "trustlines": 9287, + "placeInTop": null + }, + { + "id": 17959, + "code": "Lil2", + "issuer": "rENNLZVLWMLvwM69h4fR8B43qptEUUG4QH", + "title": "LilShib", + "trustlines": 10031, + "placeInTop": null + }, + { + "id": 366, + "code": "ELVC", + "issuer": "rLb593mo6Nerw7eWvC19gR1fLggeWX6u6s", + "title": "Tuition DeFi Network", + "trustlines": 9811, + "placeInTop": null + }, + { + "id": 16801, + "code": "IRE", + "issuer": "rfTYvAG86Y1L61RQjbxHTyJmphYzHgguCd", + "title": "IRE - Blockchain in Real Estate", + "trustlines": 10438, + "placeInTop": null + }, + { + "id": 16766, + "code": "INL", + "issuer": "rsARtxd6M1RBoGKwoGh4ujCQ9A6iDYEu4s", + "title": "InNewLife", + "trustlines": 15356, + "placeInTop": null + }, + { + "id": 18125, + "code": "Blessed", + "issuer": "rQr6VLuduLeFoWBERechDs3NB2cynoujhQ", + "title": "Blessed Token", + "trustlines": 9175, + "placeInTop": null + }, + { + "id": 131, + "code": "Planet", + "issuer": "rntdU6TyFEjyf8JRkrG3ggJnsFF55zRSq3", + "title": "Planet Coin", + "trustlines": 9242, + "placeInTop": null + }, + { + "id": 123, + "code": "XReddog", + "issuer": "rUWpPmEHBQfb6xgcTtVrGUK5ppztU5GDUF", + "title": "XReddog", + "trustlines": 9265, + "placeInTop": null + }, + { + "id": 16643, + "code": "DIA", + "issuer": "rQfWiU7kRbJBFSXRyQh7GTUeEP6qJ4kp2F", + "title": "DIA_PROJECT official", + "trustlines": 12387, + "placeInTop": null + }, + { + "id": 21, + "code": "EliteX", + "issuer": "rPHqxokbdbRHFZ6RLN4TqJrYd3zF3kE1Vd", + "title": "EliteX", + "trustlines": 8659, + "placeInTop": null + }, + { + "id": 14, + "code": "xNinjas", + "issuer": "r9am4mhbWRByfAU7bYAzmN15pGKT3mDW8p", + "title": "xNinjas", + "trustlines": 12892, + "placeInTop": null + }, + { + "id": 18071, + "code": "PZA", + "issuer": "rBi1kmPw7axgkTDG31GFhtuACaveohfYnj", + "title": "XRPLPIZZA \ud83c\udf55", + "trustlines": 8890, + "placeInTop": null + }, + { + "id": 18295, + "code": "RCN", + "issuer": "rPGxCzMicNJRe1U1CD5QyNjXdLUtdgSa7B", + "title": "ToonRaccoon", + "trustlines": 8559, + "placeInTop": null + }, + { + "id": 16850, + "code": "Women", + "issuer": "rGiv7xKG4ShaRz4KPxgzXC1teMBxnaPyRU", + "title": "Women Coin", + "trustlines": 7767, + "placeInTop": null + }, + { + "id": 16894, + "code": "XRCATE", + "issuer": "rjb1JbdHruegp7vmcPmDU5EzYgTUtuLLK", + "title": "XRcate", + "trustlines": 8356, + "placeInTop": null + }, + { + "id": 86, + "code": "XRPets", + "issuer": "rESKaHTUhDD5mT2p1H99Y3KeJVc6Y7t4vx", + "title": "XRPets", + "trustlines": 7947, + "placeInTop": null + }, + { + "id": 16722, + "code": "XWSB", + "issuer": "rLpL5d9qubKjht8GnkxgnVTQPq9MKNc757", + "title": "XRPwallstreetbets", + "trustlines": 10563, + "placeInTop": null + }, + { + "id": 172, + "code": "QLX", + "issuer": "rMQhWnHuYVmjRcyptPvrueKdLvjQT2Nquc", + "title": "Aquila X", + "trustlines": 11564, + "placeInTop": null + }, + { + "id": 16706, + "code": "CBT", + "issuer": "rJbpn78QJxKpwz8daMCHxHVWauq3xdMn9M", + "title": "CannaToken", + "trustlines": 7748, + "placeInTop": null + }, + { + "id": 17568, + "code": "JPY", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 13287, + "placeInTop": null + }, + { + "id": 199, + "code": "ARUNA", + "issuer": "rfjqDHJ7FQyYFqeaUqTEdpEaxiQLv4LzKm", + "title": "ARUNA XRPL", + "trustlines": 6993, + "placeInTop": null + }, + { + "id": 17685, + "code": "CNY", + "issuer": "rPT74sUcTBTQhkHVD54WGncoqXEAMYbmH7", + "title": "RippleQK", + "trustlines": 11321, + "placeInTop": null + }, + { + "id": 17967, + "code": "XCSI", + "issuer": "rn7jqzyoMbECYPgH1j5AcsegKXNrc8JU91", + "title": "XCSI - Cat Society NFT", + "trustlines": 7310, + "placeInTop": null + }, + { + "id": 157, + "code": "X3DPUNK", + "issuer": "rKGMZbfKhVhmbQU5DwGgF6tgQMzzK5ydxr", + "title": "X3D PUNK", + "trustlines": 8992, + "placeInTop": null + }, + { + "id": 16789, + "code": "Zini", + "issuer": "rGCoUJgDA3CzdohdPr9vX7p1p2kixaASnK", + "title": "Zinfinite", + "trustlines": 6578, + "placeInTop": null + }, + { + "id": 17178, + "code": "XSharkNFT", + "issuer": "rGtBVC62X6vPQP2gpaaHNHGxhNxGx7FEfH", + "title": "XSharkNFT", + "trustlines": 6865, + "placeInTop": null + }, + { + "id": 77, + "code": "XREbook", + "issuer": "rMgfWUcBd45TXyszMb5LnopD5SDnAmDZsR", + "title": "XREbook", + "trustlines": 6950, + "placeInTop": null + }, + { + "id": 16885, + "code": "XSch", + "issuer": "rG8Ccx5i9m3mJQFreD3cyggQH1pd5WziZy", + "title": "xSchnauzer (XRPL)", + "trustlines": 6527, + "placeInTop": null + }, + { + "id": 16887, + "code": "XFLOKIVERSE", + "issuer": "rwCCrZuotr9P5XmfoSY1ibVzRecLcwtxp3", + "title": "XFLOKIVERSE", + "trustlines": 8302, + "placeInTop": null + }, + { + "id": 18613, + "code": "NEKASHI", + "issuer": "r46H9jJc6T5aTkC1J1oFHFFxHG2HXGEndc", + "trustlines": 8079, + "placeInTop": null + }, + { + "id": 16981, + "code": "XRPoo", + "issuer": "rpa7p8yeDFNkNsFEiR1ZHQqxjsLzBUmwzD", + "title": "XRPoo", + "trustlines": 6325, + "placeInTop": null + }, + { + "id": 18446, + "code": "99D", + "issuer": "rNg8LsQefsxWF2snf4BaVgg7CjAtz6BYVc", + "title": "99DAYS", + "trustlines": 14829, + "placeInTop": null + }, + { + "id": 18964, + "code": "HDT", + "issuer": "rEmLBstEaNQqgodQnTMUn9UtkRPi3ieAWu", + "title": "HoldDiamondToken", + "trustlines": 8522, + "placeInTop": null + }, + { + "id": 17684, + "code": "BTC", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "title": "BTC 2 Ripple", + "trustlines": 10166, + "placeInTop": null + }, + { + "id": 28, + "code": "XShibanu", + "issuer": "rpD9gvxp7RCKrTrYAyTdueF9ApApbP5ZnN", + "title": "XShibanu", + "trustlines": 7601, + "placeInTop": null + }, + { + "id": 26, + "code": "LogX", + "issuer": "rw1mh3E436LfF2MDrHJNm65wbRG2ZCM3kv", + "trustlines": 6262, + "placeInTop": null + }, + { + "id": 16612, + "code": "XPG", + "issuer": "rfJwWjrxZU5Vsk9sTVXKLdyrce1CDTjhDf", + "title": "XRPiggies Official", + "trustlines": 8162, + "placeInTop": null + }, + { + "id": 16836, + "code": "SKS", + "issuer": "rNspzJyaq7D2aHB8npk1pg2NuR8BrJ78L3", + "trustlines": 8073, + "placeInTop": null + }, + { + "id": 16876, + "code": "SPOOKYX", + "issuer": "r3L2Lcnm3o2tnDw2fmNiVJDKtFDYTgUksj", + "title": "SPOOKYX", + "trustlines": 6483, + "placeInTop": null + }, + { + "id": 17930, + "code": "BTC", + "issuer": "rpJZ5WyotdphojwMLxCr2prhULvG3Voe3X", + "trustlines": 5947, + "placeInTop": null + }, + { + "id": 18014, + "code": "OnlyFans", + "issuer": "rhvfUwU2qkNfeUdrDp28xF4xXDxu6xhBVz", + "title": "OnlyFansXRP", + "trustlines": 7123, + "placeInTop": null + }, + { + "id": 377, + "code": "TEEF", + "issuer": "rfcdWJmFhMVomRM5MqniSZuYfCyZyvRkkh", + "title": "teefcoin", + "trustlines": 7141, + "placeInTop": null + }, + { + "id": 16750, + "code": "XRdragon", + "issuer": "rEMzCUeRZbx6ydthbi2RVNYdRbuqqsrYof", + "title": "XRdragon", + "trustlines": 6804, + "placeInTop": null + }, + { + "id": 333, + "code": "XLE", + "issuer": "rnQPyTLGVD1exGZCBD9XcXvbedMG7Sy4iU", + "title": "XLEcoin", + "trustlines": 6077, + "placeInTop": null + }, + { + "id": 17045, + "code": "nexit", + "issuer": "r9prnHupoaKPkGkhiPVtcUJjZ2uUHymtX1", + "title": "Nexit", + "trustlines": 5874, + "placeInTop": null + }, + { + "id": 245, + "code": "BTCX", + "issuer": "rBnuiD54Mk4FmeU8WhBfstxnB5XEFt4QBQ", + "title": "Bitcoin X", + "trustlines": 8889, + "placeInTop": null + }, + { + "id": 253, + "code": "XTK", + "issuer": "rXTKdHWuppSjkbiKoEv53bfxHAn1MxmTb", + "title": "Kudos", + "trustlines": 24440, + "placeInTop": null + }, + { + "id": 16624, + "code": "FUX", + "issuer": "r9S8MujtHbaVfoLeSdGyXus9TR9UbgyD3Y", + "title": "FUX", + "trustlines": 9795, + "placeInTop": null + }, + { + "id": 217, + "code": "KAT", + "issuer": "rEmWWStdxxLUtTAzhRS5VWvtjtNUwWcfeM", + "title": "Katz Army", + "trustlines": 8796, + "placeInTop": null + }, + { + "id": 18212, + "code": "XCHANGE", + "issuer": "rwdsHNyqF3i6iEbpD5mXytNNEdHQdEMHjm", + "title": "XCHANGE", + "trustlines": 5315, + "placeInTop": null + }, + { + "id": 16734, + "code": "SPK", + "issuer": "rBGuYfE3H3AyhWANSe4fKrf8z1aF7hFznB", + "title": "SPARKER TOKEN $SPK", + "trustlines": 6048, + "placeInTop": null + }, + { + "id": 16670, + "code": "STC", + "issuer": "r4J3XtWvu869Jnk2zLp9jnzcA37VeqpPiA", + "title": "Streetcoin", + "trustlines": 5092, + "placeInTop": null + }, + { + "id": 163, + "code": "DKP", + "issuer": "rM7zpZQBfz9y2jEkDrKcXiYPitJx9YTS1J", + "title": "DragonKill", + "trustlines": 10358, + "placeInTop": null + }, + { + "id": 18430, + "code": "CRX", + "issuer": "r4RHp5hGQvi3tibM7Zpj4Hzr2DK97uSrsF", + "title": "CRX", + "trustlines": 4826, + "placeInTop": null + }, + { + "id": 270, + "code": "LuckyCharms", + "issuer": "rECNBBTFzyqdMMp44V74DAdqctvi2qDTPd", + "title": "LuckyCharmsCoin", + "trustlines": 6675, + "placeInTop": null + }, + { + "id": 109, + "code": "GRIME", + "issuer": "r3Xh1GTVBPooVkc5jWSAtzKXQPPPFJKgb9", + "title": "Grime Coin", + "trustlines": 15670, + "placeInTop": null + }, + { + "id": 27, + "code": "IRV", + "issuer": "rueUkJYAQnP9wqHrKQXrsCwXeRziVn377", + "trustlines": 4772, + "placeInTop": null + }, + { + "id": 359, + "code": "RUG", + "issuer": "rfEJ1ksD22TsCy8hdKoJuC6Xfc33VCKPUs", + "title": "TheRugPhxProject", + "trustlines": 5644, + "placeInTop": null + }, + { + "id": 17707, + "code": "USD", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "title": "SnapSwap", + "trustlines": 7848, + "placeInTop": null + }, + { + "id": 223, + "code": "Arcverse", + "issuer": "rUwA9KAe3i3W2yhqh3Lc4XTJCo4bTpdPcX", + "title": "Arcverse", + "trustlines": 4753, + "placeInTop": null + }, + { + "id": 16884, + "code": "XRS", + "issuer": "rfM28hjg87v52SVyCxHuG1VnqqDpb4Bm5Y", + "title": "XRSQUID", + "trustlines": 5681, + "placeInTop": null + }, + { + "id": 18604, + "code": "MDK", + "issuer": "r4pDW1tz1ynuqBAnaf4ReDwpZQCKGv3qdN", + "title": "MR. Desert King", + "trustlines": 8617, + "placeInTop": null + }, + { + "id": 18477, + "code": "FUEL", + "issuer": "rJ4KcB9GueMDYzYzr7XR3j4jd82gG7tbEt", + "title": "Fuel Save", + "trustlines": 4501, + "placeInTop": null + }, + { + "id": 16731, + "code": "XSAMO", + "issuer": "rMVufScdiavFvGzVBZryTTRu2DxRuEqos5", + "title": "xSamoyed", + "trustlines": 6374, + "placeInTop": null + }, + { + "id": 18850, + "code": "WWW", + "issuer": "rpzuRVqQmQeh5Pw2JYgNgLUBdinuNk4ozR", + "title": "World Wild Web on XRP \ud83c\udf10", + "trustlines": 4586, + "placeInTop": null + }, + { + "id": 16736, + "code": "XHASBULL", + "issuer": "rpMevF5zLLyFm2eNd9KUMe6bcyafRHuSnh", + "title": "XRP Hasbulla", + "trustlines": 5824, + "placeInTop": null + }, + { + "id": 17209, + "code": "ALV", + "issuer": "raEQc5krJ2rUXyi6fgmUAf63oAXmF7p6jp", + "title": "Allvor", + "trustlines": 6750, + "placeInTop": null + }, + { + "id": 18205, + "code": "XSHIO", + "issuer": "rGxSsVktuy9aCzckSbTf3yQissD3oD2va5", + "title": "Xshio NFT", + "trustlines": 9700, + "placeInTop": null + }, + { + "id": 17921, + "code": "TROPA", + "issuer": "r9BSm9VwgFKCsjksYuzHJ1QebneFyrS5bu", + "title": "CrypTropa_NFT", + "trustlines": 11884, + "placeInTop": null + }, + { + "id": 16900, + "code": "EGG", + "issuer": "rfPhEGpVC72d29oxghgA9Zjuas65pMg1Df", + "title": "EggsRP", + "trustlines": 5139, + "placeInTop": null + }, + { + "id": 294, + "code": "CCR", + "issuer": "rPAKJxHcHEkjPtpsSTGGMWLvpibZiuRJHi", + "trustlines": 4287, + "placeInTop": null + }, + { + "id": 16956, + "code": "BabyThug", + "issuer": "rHGjhK35BEH42VYQh5cSXADNHh6HeWj116", + "title": "BabyThug", + "trustlines": 4325, + "placeInTop": null + }, + { + "id": 281, + "code": "PXCS", + "issuer": "rNwgtMaqziGqLiDzeXE91B8D2cB5m2fDhc", + "trustlines": 4330, + "placeInTop": null + }, + { + "id": 16847, + "code": "ShibaInuX", + "issuer": "r4N5gak4yRXHyCvTbJggHvbYLRCbM8E9YT", + "title": "ShibaInuX ", + "trustlines": 6431, + "placeInTop": null + }, + { + "id": 18093, + "code": "MetaGEX", + "issuer": "r3zLnFU24bSsYrAo55mJxYXccnojjCHmpK", + "title": "MetaGEX", + "trustlines": 4536, + "placeInTop": null + }, + { + "id": 346, + "code": "XSaitama", + "issuer": "rwUSJdemymbvn8WRa3WutKkVMrjkLpiFNy", + "title": "XSaitama", + "trustlines": 4312, + "placeInTop": null + }, + { + "id": 17259, + "code": "NBA", + "issuer": "rfHALygLHj6EwfXNSFCSLX6Kp3yfFSpuuP", + "title": "NBA Coin || XRPL", + "trustlines": 11529, + "placeInTop": null + }, + { + "id": 16740, + "code": "SURV", + "issuer": "rHrjHawcjA2TihAqtE7nWzArpWkiFseHM4", + "title": "SURV", + "trustlines": 4520, + "placeInTop": null + }, + { + "id": 16952, + "code": "Hellbound", + "issuer": "rML7dFchDJHHMwgCbSYE26TM2qdYnBWe9r", + "title": "Hellbound", + "trustlines": 4196, + "placeInTop": null + }, + { + "id": 16848, + "code": "XFIT", + "issuer": "rwAe5VFjRhwwgCnAGmEfb33kkWYqR8mnoh", + "title": "XFitness", + "trustlines": 5497, + "placeInTop": null + }, + { + "id": 16798, + "code": "CAP", + "issuer": "rBwMPfwkB3kFJd65ui4JZmDvEzEequMLnJ", + "title": "Captain Coin", + "trustlines": 4379, + "placeInTop": null + }, + { + "id": 16899, + "code": "BabyXRdoge", + "issuer": "rH9mTEofDstHfgT83kutpT5fJgKxKBAvqv", + "title": "BabyXRdoge", + "trustlines": 5036, + "placeInTop": null + }, + { + "id": 52, + "code": "xNUTz", + "issuer": "rNutz8XfqZgVRDhtdo6Z2MeuVaqB9zfZkw", + "title": "XRPL NUTZ", + "trustlines": 5053, + "placeInTop": null + }, + { + "id": 16930, + "code": "MRG", + "issuer": "rHpwTr391FggkYS1PPkfkM4NGTgF57YuLC", + "title": "Merge MRG", + "trustlines": 5200, + "placeInTop": null + }, + { + "id": 16903, + "code": "xBullwife", + "issuer": "rHNdmrLoen999m7HJpTDVPtazcRzn9DMdH", + "title": "xBullwife", + "trustlines": 3942, + "placeInTop": null + }, + { + "id": 17999, + "code": "YOL", + "issuer": "rMJEj344HVDBVy5KH8fcnDfwQCmQ4H2HPF", + "title": "yourOwnLanguage NFT", + "trustlines": 8663, + "placeInTop": null + }, + { + "id": 16678, + "code": "BRM", + "issuer": "rBpYMFddcphoZDv5MswtyMp9hV6b49bEcV", + "title": "BerylliumNFT", + "trustlines": 4079, + "placeInTop": null + }, + { + "id": 16728, + "code": "XElon", + "issuer": "rfwbcU8RkmVaEEHhX2yqvLyw5xhaugbvSm", + "title": "XElon", + "trustlines": 5536, + "placeInTop": null + }, + { + "id": 11, + "code": "XMoon", + "issuer": "rEvV6gWZn2HgEr3nkj3xBmgCTqyWcknjMD", + "title": "XMoon", + "trustlines": 6506, + "placeInTop": null + }, + { + "id": 17974, + "code": "UFm", + "issuer": "rUNFLAKEnWicv4XsnoZrmSN1pXSWSMgZXc", + "title": "Unflake", + "trustlines": 7816, + "placeInTop": null + }, + { + "id": 18005, + "code": "KATANA", + "issuer": "r3uVTkdzg8BGvfChrpMetH5noSn5XawzMz", + "title": "xKATANA", + "trustlines": 7137, + "placeInTop": null + }, + { + "id": 16881, + "code": "XrplSquid", + "issuer": "rbgAh9aQV7ij8cNifgFgtiebU6vm9yXci", + "title": "Xrpl Squid", + "trustlines": 4071, + "placeInTop": null + }, + { + "id": 16804, + "code": "RCN", + "issuer": "r4GquJLRTAmEMLECBKaSMLB8pV4dmLWNxX", + "trustlines": 6501, + "placeInTop": null + }, + { + "id": 249, + "code": "MGS", + "issuer": "rHP4bHzghBdzskqcaPciL5WRGkHosB5zYx", + "title": "MG.Social", + "trustlines": 13074, + "placeInTop": null + }, + { + "id": 16748, + "code": "XLOTTO", + "issuer": "rHoPikA81frt2FSNaW5ZHdv6LfKZfeqguY", + "title": "XRP Lotto", + "trustlines": 3971, + "placeInTop": null + }, + { + "id": 315, + "code": "XBE", + "issuer": "rJvcZcc8BfJXvWtV7sGJPNXTgdv8AvXKRJ", + "title": "XBE | XBee Mekaverse NFT", + "trustlines": 6004, + "placeInTop": null + }, + { + "id": 16819, + "code": "EroticCoin", + "issuer": "rN7kuYm6QbuVHtcybjZcdjvHP1XNFtNjah", + "title": "EroticCoin", + "trustlines": 4465, + "placeInTop": null + }, + { + "id": 67, + "code": "ConservationCoin", + "issuer": "rU6JmvUpdxsx8gxLLgfcRhfz5ASNmGpSwm", + "title": "ConservationCoin", + "trustlines": 9868, + "placeInTop": null + }, + { + "id": 17929, + "code": "JPY", + "issuer": "r94s8px6kSw1uZ1MV98dhSRTvc6VMPoPcN", + "title": "TokyoJPY", + "trustlines": 7538, + "placeInTop": null + }, + { + "id": 18785, + "code": "xMFA", + "issuer": "rLBxKkudr4qCU3R6d3o1uKHmqrTqeyjSdr", + "title": "Mining Farm", + "trustlines": 5054, + "placeInTop": null + }, + { + "id": 314, + "code": "XCROC", + "issuer": "rpLw9SsJz52DpYWL5ohS2s71FgVeohHACQ", + "title": "XCROC", + "trustlines": 4812, + "placeInTop": null + }, + { + "id": 17342, + "code": "CNY", + "issuer": "rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK", + "title": "rippleCN", + "trustlines": 5721, + "placeInTop": null + }, + { + "id": 16755, + "code": "XSMARTFOX", + "issuer": "rHRMqfYAPc73RtVeaywbESc3Zd49Ly9jyG", + "title": "XSMARTFOX", + "trustlines": 4163, + "placeInTop": null + }, + { + "id": 17077, + "code": "BANK", + "issuer": "rN7HDdMy9uq6tKY27ZhGTamZ1RG6pMWubE", + "title": "BANK", + "trustlines": 4767, + "placeInTop": null + }, + { + "id": 140, + "code": "FYX", + "issuer": "r91QDSnUm99ty84TNsv5ai4HufjFMsHJDF", + "title": "Fyrox", + "trustlines": 5370, + "placeInTop": null + }, + { + "id": 336, + "code": "BuffKittyRewards", + "issuer": "rHingngfqfmXVL4FKaeAsyrdW9eGVkGWr8", + "title": "XKITTY", + "trustlines": 3204, + "placeInTop": null + }, + { + "id": 239, + "code": "RDG", + "issuer": "rgJsp6hH3mXopHyW8yM85rJYSVy8NYgWr", + "trustlines": 3468, + "placeInTop": null + }, + { + "id": 18385, + "code": "MEOW", + "issuer": "rh1MUWz6HJGWQgRUwsVeRdiKR2cDBkZDDj", + "title": "MeowXrplsNfts", + "trustlines": 6000, + "placeInTop": null + }, + { + "id": 63, + "code": "Franklin", + "issuer": "rMgnr9ePkQbY23ZjzCyCu977viGTjRyFBT", + "title": "Franklin's", + "trustlines": 5237, + "placeInTop": null + }, + { + "id": 16733, + "code": "GUP", + "issuer": "rPrTFNxEEk29356c7LuriRTpornftmzG2c", + "title": "Guppiez", + "trustlines": 3378, + "placeInTop": null + }, + { + "id": 93, + "code": "Xcicada", + "issuer": "rE55raRDWcy4car7fhFQTaQ1ToYTyCDzz8", + "title": "Xcicada", + "trustlines": 6437, + "placeInTop": null + }, + { + "id": 70, + "code": "XWARS", + "issuer": "rLC88EkvQUmVM3PVzDejTBzRGx1hKwBsUf", + "trustlines": 7688, + "placeInTop": null + }, + { + "id": 18414, + "code": "LUAH", + "issuer": "rnVFEE67uFP4vNKtb2fPZwCuJAek5tnPrz", + "title": "Limited USD (LUSD)", + "trustlines": 4124, + "placeInTop": null + }, + { + "id": 16761, + "code": "XBCP", + "issuer": "rsxRfhJh9GZe1dcjH7XwL9rSr6AjQmiM9A", + "title": "XBCP | BLUECHIPX", + "trustlines": 3221, + "placeInTop": null + }, + { + "id": 16682, + "code": "XRYODA", + "issuer": "r344ghnxmqQf5GsyZobTwtAEn39kUcjVV1", + "title": "XRBB YODA", + "trustlines": 5331, + "placeInTop": null + }, + { + "id": 16853, + "code": "TULDOK", + "issuer": "r9qGMJMreNBYdEqJ7mNrUjyCj44fDUEe1G", + "title": "$TULDOK COIN", + "trustlines": 3028, + "placeInTop": null + }, + { + "id": 18893, + "code": "TSX", + "issuer": "rHTC7FLrK4NWnZRduLmXUDGWVQMrXarAvB", + "title": "Teleport", + "trustlines": 6146, + "placeInTop": null + }, + { + "id": 184, + "code": "xCorgi", + "issuer": "rERY8GCz7A1AN1RkDN1CkPVh8ids6PNgPP", + "title": "xCorgi | Fluff", + "trustlines": 6363, + "placeInTop": null + }, + { + "id": 18780, + "code": "LGX", + "issuer": "rP5VrjHKXTFwp1WYwVvhAc9KU9YmbN3rLC", + "title": "Logos XRP", + "trustlines": 3789, + "placeInTop": null + }, + { + "id": 18415, + "code": "KiLLeRcOiN", + "issuer": "rJMZZfwM1s3Pgy4fKzEgmK7YHf9wpUBg6w", + "trustlines": 2965, + "placeInTop": null + }, + { + "id": 66, + "code": "XGM", + "issuer": "rseMc5T1mqfMQB4pWt6XwwMKG6YhWEGnFv", + "title": "xGm", + "trustlines": 9427, + "placeInTop": null + }, + { + "id": 16861, + "code": "XPoets", + "issuer": "raQ1XkLHnUsrYqApWzX3pVirZdArG2h7x1", + "title": "XPoets", + "trustlines": 3046, + "placeInTop": null + }, + { + "id": 16844, + "code": "XHN", + "issuer": "rD1SDBGrD5XNN6NrXQWistmzfGX22foe3H", + "trustlines": 3874, + "placeInTop": null + }, + { + "id": 16953, + "code": "TRUMP", + "issuer": "rNRh1YobQDUuFyiXnUY9NJB7b2MLDJJGHg", + "title": "TrumpCoin", + "trustlines": 2778, + "placeInTop": null + }, + { + "id": 16620, + "code": "ANBU", + "issuer": "ratHp7D5w5bhDyxz9hiJGbBhny5kzJRu1f", + "title": "AnbuLegends", + "trustlines": 9571, + "placeInTop": null + }, + { + "id": 16943, + "code": "xBull", + "issuer": "rNpNdUKp631RXzqxbjjCYsJp6g8Q5T5cGh", + "title": "xBull", + "trustlines": 4777, + "placeInTop": null + }, + { + "id": 17823, + "code": "XDR", + "issuer": "r4SQf7WwtrbEXmv7XLasLiSvpoYRq6urQs", + "title": "XRP DROID", + "trustlines": 6291, + "placeInTop": null + }, + { + "id": 18148, + "code": "FLNGL", + "issuer": "rpzHixvdL2hZ6Y1kmkW4tFnnShq4Vgu691", + "title": "TheXFallenAngel", + "trustlines": 6054, + "placeInTop": null + }, + { + "id": 321, + "code": "Ethos", + "issuer": "rwxjYdik47PBJ2UsxseeoFdsa2LdAdaSQW", + "title": "Ethos", + "trustlines": 4679, + "placeInTop": null + }, + { + "id": 16769, + "code": "DNSK", + "issuer": "rDNSKmHYj6NZfy1hvxNaT1kyUChvJFerkd", + "title": "DNSK POKERHUB", + "trustlines": 2701, + "placeInTop": null + }, + { + "id": 247, + "code": "SPORT", + "issuer": "rwxwUwWpWAQK6jFRcW12Vx97riBu91MDPi", + "trustlines": 3980, + "placeInTop": null + }, + { + "id": 306, + "code": "Cultured", + "issuer": "rpFrFgdGnaQL7KFc9SPDYMd6YS3m4smscV", + "title": "Cultured Coin", + "trustlines": 3345, + "placeInTop": null + }, + { + "id": 18378, + "code": "OMENP", + "issuer": "rNS9dmNa8wNheRD5mZ8R4YtyWt7ySsYw2V", + "title": "OMEN Ltd.", + "trustlines": 5896, + "placeInTop": null + }, + { + "id": 16828, + "code": "sachay", + "issuer": "raj1sz7iCt6ZmGPp1vhZ7DjRjgxcTA889h", + "title": "SachayCoin", + "trustlines": 2795, + "placeInTop": null + }, + { + "id": 18733, + "code": "xRiddler", + "issuer": "rMKehfMwCNTBo3KoCZvqea35KNyatus3hy", + "title": "xRiddler", + "trustlines": 4882, + "placeInTop": null + }, + { + "id": 16747, + "code": "XBuddha", + "issuer": "rJRE6wwTSsPe5A7rRC2R3v2FbPVY7rbxuN", + "title": "XBuddha", + "trustlines": 2718, + "placeInTop": null + }, + { + "id": 16606, + "code": "XCASTLE", + "issuer": "rpU1YBKBCE3rnms5vwgXHHouLapVZv7KDu", + "title": "XCastleCoin", + "trustlines": 5612, + "placeInTop": null + }, + { + "id": 18702, + "code": "SNX", + "issuer": "rUhkGuauku4yw2tAPGZCV7atBSRXkgZ6pV", + "trustlines": 2925, + "placeInTop": null + }, + { + "id": 16770, + "code": "Voodoo", + "issuer": "rPE6vTZZyu32TK6FYtSd443TR9HXvayL5", + "title": "Voodoo", + "trustlines": 2594, + "placeInTop": null + }, + { + "id": 337, + "code": "ZEN", + "issuer": "rD2C8cVUEdu1o6hiaouxzMpZELRYnVZnh4", + "title": "nowandzen", + "trustlines": 2817, + "placeInTop": null + }, + { + "id": 18748, + "code": "ASH", + "issuer": "rGETqxutoKZ6VcXTE7Yh1fyaUj5pro7PuE", + "title": "AfterShock", + "trustlines": 3101, + "placeInTop": null + }, + { + "id": 16845, + "code": "1Mill", + "issuer": "rPWsEKUdVCgrKVM8x3ZbcdWY3eKTckziVH", + "title": "1MillClubXRPL", + "trustlines": 3147, + "placeInTop": null + }, + { + "id": 18616, + "code": "GAMECOIN", + "issuer": "rGRbhMeHyi5yi1x5vkFrZD8sHzkr5HfH3g", + "title": "GAMECOIN", + "trustlines": 2926, + "placeInTop": null + }, + { + "id": 16984, + "code": "xKyouko", + "issuer": "rpyNDFjy2W2wE3o5hB9HUiDCwvz26LeuXf", + "title": "xKyouko", + "trustlines": 3797, + "placeInTop": null + }, + { + "id": 18326, + "code": "LZAR", + "issuer": "rnGvMu8P6evJEYY4cPyzcy4N1m5gcYRjaH", + "title": "Limited USD (LUSD)", + "trustlines": 2513, + "placeInTop": null + }, + { + "id": 18637, + "code": "XMF", + "issuer": "rP6pULkW5nNsWYsy1wcf4p4YfkGrKCHeRe", + "title": "XMafia", + "trustlines": 6167, + "placeInTop": null + }, + { + "id": 139, + "code": "VCOXRP", + "issuer": "rDecvvWKRtfFhSB33nHWMZ6aZfknA1ngvo", + "title": "Valor University of the Future", + "trustlines": 2341, + "placeInTop": null + }, + { + "id": 16607, + "code": "MATE", + "issuer": "rpWapSyB4dPhjMms2cYMEmTfc6BGpbpZBv", + "title": "Mates | Premium NFTs", + "trustlines": 8484, + "placeInTop": null + }, + { + "id": 16846, + "code": "xdrop", + "issuer": "rwCZMiLKFd1Nct6MAJuhcD6ALv1h4UsyKf", + "title": "XdropXrpl", + "trustlines": 2565, + "placeInTop": null + }, + { + "id": 16858, + "code": "XPoems", + "issuer": "rH8hYUS6jr9dk3W96ZCYp8fcuwk5FGQEJG", + "title": "XPoets", + "trustlines": 2393, + "placeInTop": null + }, + { + "id": 18220, + "code": "LTWD", + "issuer": "rnyGDFEqnNwpyzievKCMhHUi4xs6HnUqPA", + "title": "Limited Currency TWD", + "trustlines": 2855, + "placeInTop": null + }, + { + "id": 193, + "code": "XCRA", + "issuer": "rNFDYKcnrUCjxaoUFzBYSiFHs2NLmXT1Gp", + "title": "XCRA NFT", + "trustlines": 6237, + "placeInTop": null + }, + { + "id": 18610, + "code": "JUMBO", + "issuer": "rLAstRsF3MWQfQw11gEsPyWvmR2oe5zXjE", + "title": "FLYING JUMBO", + "trustlines": 4313, + "placeInTop": null + }, + { + "id": 23, + "code": "MWG", + "issuer": "rGfKifFcz1mpobiRyKwNL7MoVjDoiefeYT", + "title": "MotionWreck Games", + "trustlines": 7097, + "placeInTop": null + }, + { + "id": 309, + "code": "xShasta", + "issuer": "rne1owrwbP5Q4W8LvH9BM9shjWNQ5dKwqZ", + "title": "xShasta", + "trustlines": 3636, + "placeInTop": null + }, + { + "id": 16957, + "code": "XRZodiac", + "issuer": "rwuPyekh28TpWgm2BZmC8vEddEmFSf4jb", + "title": "Zodiac XRP", + "trustlines": 2115, + "placeInTop": null + }, + { + "id": 275, + "code": "XRLZ", + "issuer": "rPVaiUCm98WPCtQbLhXkSk3prFR1aTZTmx", + "title": "XRILLAZ", + "trustlines": 3845, + "placeInTop": null + }, + { + "id": 16841, + "code": "XSHIB", + "issuer": "rJ1bzYHJq8MpGpBaw4mBChuUcAUME44CVg", + "title": "XSHIB", + "trustlines": 2750, + "placeInTop": null + }, + { + "id": 16962, + "code": "BNM", + "issuer": "rHEULEU5TQwCpnMoJVkaPX9TB9UrXWrZtF", + "title": "Block News Media (BNM,DAO)", + "trustlines": 2379, + "placeInTop": null + }, + { + "id": 329, + "code": "XSPUNK", + "issuer": "rPB7vXTeWrQ5nxEpQbLvay8nfJUJfeecYL", + "title": "XSPUNK", + "trustlines": 4810, + "placeInTop": null + }, + { + "id": 271, + "code": "INVST", + "issuer": "rsoiJStU1o7PLZcoqyQRsCtfWqchdNrcBZ", + "title": "InvestorCoin", + "trustlines": 2815, + "placeInTop": null + }, + { + "id": 18584, + "code": "ORG", + "issuer": "rPq1ReXJ8uEyyRf2BTMu5bj7nKsQ4JTgBu", + "title": "Snub Network", + "trustlines": 2574, + "placeInTop": null + }, + { + "id": 18688, + "code": "XRsilver", + "issuer": "rEAYBYLaar6Bih2ZZXTNWC14XcdRGeHoVk", + "title": "XRsilver \u2739", + "trustlines": 4760, + "placeInTop": null + }, + { + "id": 16727, + "code": "BMG", + "issuer": "rpR32FXJoGv5K9Qwyu3cW8dSCWeu29cy88", + "title": "Bullish Moments", + "trustlines": 2676, + "placeInTop": null + }, + { + "id": 17055, + "code": "DSH", + "issuer": "rcXY84C4g14iFp6taFXjjQGVeHqSCh9RX", + "title": "GateHub DASH", + "trustlines": 13352, + "placeInTop": null + }, + { + "id": 18316, + "code": "RELM", + "issuer": "rKWXCzjycHKiV5c5VzR8M5NXbz5AJjB1fd", + "title": "ELEMENTUM RELMVERSE", + "trustlines": 4637, + "placeInTop": null + }, + { + "id": 16737, + "code": "Xgirls", + "issuer": "rDLfe8aoNDtrVA5BZC79j37cmhSYCHdHpm", + "title": "Xgirls", + "trustlines": 8106, + "placeInTop": null + }, + { + "id": 18489, + "code": "XAnime", + "issuer": "r9ij4uZm8tmDuWUigymNQZRkKRevGV3vv5", + "title": "XAnime Official", + "trustlines": 3725, + "placeInTop": null + }, + { + "id": 167, + "code": "BAYNANA", + "issuer": "rJ9uU9jKxNcsNQM2CLKUhPxNn8P4xmhDVq", + "title": "BAYNANA", + "trustlines": 3273, + "placeInTop": null + }, + { + "id": 18325, + "code": "LARS", + "issuer": "rnGvMu8P6evJEYY4cPyzcy4N1m5gcYRjaH", + "title": "Limited USD (LUSD)", + "trustlines": 2572, + "placeInTop": null + }, + { + "id": 16637, + "code": "COLORS", + "issuer": "r4R8yypDDRZjBBLsUmT3KNusmVPYs5YqSV", + "title": "XRPL COLORS", + "trustlines": 5148, + "placeInTop": null + }, + { + "id": 16653, + "code": "Becky", + "issuer": "rMNtmZNvBQqjd9AXyn9Gt4n2FVNt5LZiRD", + "title": "Bud Buddies", + "trustlines": 2946, + "placeInTop": null + }, + { + "id": 301, + "code": "DUSTNFT", + "issuer": "rpnZtxkk8hcNzPkaKF76wwoFVzcd9T211j", + "title": "DuStToToKeN", + "trustlines": 2095, + "placeInTop": null + }, + { + "id": 17938, + "code": "xSD", + "issuer": "rGbNLwrYNuPim39crh1bjyyauefF1VHPoj", + "title": "XrpWest", + "trustlines": 5147, + "placeInTop": null + }, + { + "id": 16812, + "code": "Bitcorn", + "issuer": "rMDtnJDp9naCLVhrUJM6t6baTcijmM8PtG", + "title": "Bitcorn", + "trustlines": 2242, + "placeInTop": null + }, + { + "id": 169, + "code": "POLAR", + "issuer": "rfdistkMFGQ7HAgu5JvsQdRHbm15EMgWmX", + "title": "xrPolarBears", + "trustlines": 8484, + "placeInTop": null + }, + { + "id": 17953, + "code": "Chamillions", + "issuer": "r3DuEtGbKxbvkJ3evEEmveCNzw5JTUaHed", + "title": "Chamillions | XRPL", + "trustlines": 2913, + "placeInTop": null + }, + { + "id": 18757, + "code": "PIT", + "issuer": "rN7NMsuSzrRJR3q969CQ2ctgLjnLcLZRer", + "title": "MR. Desert King", + "trustlines": 2562, + "placeInTop": null + }, + { + "id": 16638, + "code": "LEUR", + "issuer": "rfL4Sci2ag5hhkpDuqtWYov6j3mshVWLgU", + "title": "Limited Currency", + "trustlines": 3579, + "placeInTop": null + }, + { + "id": 104, + "code": "XRhino", + "issuer": "r4Bej4WbpCdSpYCvi1rETFyR6X2bzJYHoN", + "title": "XRhino NFT ( XRPL )", + "trustlines": 3621, + "placeInTop": null + }, + { + "id": 231, + "code": "LCNY", + "issuer": "rfL4Sci2ag5hhkpDuqtWYov6j3mshVWLgU", + "title": "Limited Currency", + "trustlines": 3000, + "placeInTop": null + }, + { + "id": 18079, + "code": "Universal", + "issuer": "r3Q5nzkGA9WDz2gCZ3ZSEy2yYseSASru3m", + "title": "universal-digital-assets", + "trustlines": 1870, + "placeInTop": null + }, + { + "id": 16859, + "code": "DarksideCoin", + "issuer": "rLL1yVgd48DX82zSSZrewqHWLvtQy2HN2X", + "trustlines": 1773, + "placeInTop": null + }, + { + "id": 18084, + "code": "Snow", + "issuer": "rBH11ewwW35V6fuyo79tYQvDn1C8MiHHo7", + "title": "xSNOW", + "trustlines": 1790, + "placeInTop": null + }, + { + "id": 17114, + "code": "LINR", + "issuer": "rfL4Sci2ag5hhkpDuqtWYov6j3mshVWLgU", + "title": "Limited Currency", + "trustlines": 6536, + "placeInTop": null + }, + { + "id": 17078, + "code": "XBIDEN", + "issuer": "rJKvGk8EEdmkrQuu24oJ6cSerMw7gT2jKz", + "title": "Joe Biden #XBIDEN #XRPL", + "trustlines": 2720, + "placeInTop": null + }, + { + "id": 17863, + "code": "XON", + "issuer": "rswdYCe1dy1LK2wA1Kcs9j8Za3UupBes3K", + "title": "XON", + "trustlines": 2086, + "placeInTop": null + }, + { + "id": 16610, + "code": "xPiggies", + "issuer": "rGH6hm9YcSog35ZuxKkbKbKftMmaTh9vXt", + "title": "XRPiggies", + "trustlines": 4104, + "placeInTop": null + }, + { + "id": 16824, + "code": "Dalgona", + "issuer": "rn88jxrNUWBfQR9hfoB2MDjiGcvbiV7M3o", + "title": "Dalgona Candy official", + "trustlines": 2413, + "placeInTop": null + }, + { + "id": 17975, + "code": "XRBytes", + "issuer": "rBYTeShhNnTGqUTXAd2dCPd6rVYVD1qeHL", + "title": "XRBytes", + "trustlines": 4377, + "placeInTop": null + }, + { + "id": 18533, + "code": "HOGX", + "issuer": "rwM9XzFHdCxnpNFjanc4Sd3N96cz8ip5pQ", + "title": "HOG X", + "trustlines": 2899, + "placeInTop": null + }, + { + "id": 16813, + "code": "AVegazCoin", + "issuer": "rGmjWPmd5oCJcvG7N45npLRaqL62whVFfJ", + "title": "AVegazCoin", + "trustlines": 1966, + "placeInTop": null + }, + { + "id": 17996, + "code": "XDRT", + "issuer": "r9Xw2WnvPBbgur6gqnevmyuRofWZuC4iNt", + "title": "XDRT_office", + "trustlines": 7389, + "placeInTop": null + }, + { + "id": 17190, + "code": "111", + "issuer": "rpwnicj25Rh3QEmdxCLRYVTf69ABHP9soy", + "title": "Angel Coin", + "trustlines": 2594, + "placeInTop": null + }, + { + "id": 16822, + "code": "AngelNFT", + "issuer": "rD6VQ6Qx95sVaYbLM2Qnqn6Fde4ijaaqsu", + "title": "Angel Coin", + "trustlines": 2126, + "placeInTop": null + }, + { + "id": 16655, + "code": "BoredPandas", + "issuer": "rMaPkHEY5zVoZ3XV482tm4fuMRnJTuoAZp", + "trustlines": 2397, + "placeInTop": null + }, + { + "id": 284, + "code": "Fractal", + "issuer": "rw9oZfkjNkaarwpyrTLjfHzfnUuoGFY8V8", + "title": "NFT Labs", + "trustlines": 2753, + "placeInTop": null + }, + { + "id": 18397, + "code": "XRSaga", + "issuer": "rnb3HAXaQX6J2RA2dZaTeNNDKMvc4N7B9k", + "title": "XRSaga", + "trustlines": 2770, + "placeInTop": null + }, + { + "id": 16661, + "code": "Xapes", + "issuer": "rB8Lrw5eY42Kk6DE6AwMiC1K4tyudg8URB", + "title": "Gorilla X Warfare", + "trustlines": 5253, + "placeInTop": null + }, + { + "id": 18675, + "code": "3DAPES", + "issuer": "rP58cvnsDBXmmGi2Cp4CZ2UV6v5muFFntZ", + "title": "3DAPES \u2122", + "trustlines": 9564, + "placeInTop": null + }, + { + "id": 18598, + "code": "XBAg", + "issuer": "rauUywaCisP1MaeZ67DHf4qKmXUBz7Traq", + "title": "B I T H E R O", + "trustlines": 2962, + "placeInTop": null + }, + { + "id": 18509, + "code": "chilledchimps", + "issuer": "rMSzPTgQVfZVQViNrG5zGA8899orcyavFL", + "title": "chilled x chimps", + "trustlines": 4209, + "placeInTop": null + }, + { + "id": 16875, + "code": "XPoet", + "issuer": "rHp991Ms5hV5f4NYoeUeCymmmAFMMt2to8", + "title": "XPoets", + "trustlines": 1561, + "placeInTop": null + }, + { + "id": 16920, + "code": "ChildSupport", + "issuer": "rU97WDGnPtrUXT1qw1Fqk5VKS41gi8UQgD", + "title": "Child Support Token", + "trustlines": 4071, + "placeInTop": null + }, + { + "id": 16630, + "code": "VCZ", + "issuer": "rJ3GrAXX821D7XnnMgndBGe6CgZnEHXr1o", + "title": "VincenzoNFT", + "trustlines": 2078, + "placeInTop": null + }, + { + "id": 4, + "code": "xCross", + "issuer": "rDZzGy4YnpjKSvWsToHRCcGvcyinjuKEv9", + "title": "XRPCross", + "trustlines": 5639, + "placeInTop": null + }, + { + "id": 17018, + "code": "PNP", + "issuer": "r98XNSpxf7fHLfdBupcjiMWMdNmhq74Pnp", + "trustlines": 1477, + "placeInTop": null + }, + { + "id": 18448, + "code": "DOG", + "issuer": "rHkqAyggqiSvhBdrvfbCbzqbD6nUyGy2CQ", + "title": "Doggy coin", + "trustlines": 3653, + "placeInTop": null + }, + { + "id": 16649, + "code": "XReefs", + "issuer": "rN1fBKQdLRcMUG8VCDihKPqmTgBfgSu4rm", + "trustlines": 4228, + "placeInTop": null + }, + { + "id": 19042, + "code": "BTC", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 4031, + "placeInTop": null + }, + { + "id": 17876, + "code": "EMOJISQUAD", + "issuer": "rpFNHu3W8g6CvvdCgvwRaQidpRGrGnpwg3", + "title": "XRemojisquad", + "trustlines": 1460, + "placeInTop": null + }, + { + "id": 18214, + "code": "LBRL", + "issuer": "rnyGDFEqnNwpyzievKCMhHUi4xs6HnUqPA", + "title": "Limited Currency BRL", + "trustlines": 2682, + "placeInTop": null + }, + { + "id": 246, + "code": "XSG", + "issuer": "rN7RrccWk5hbZQEX4f5ED3zuLuFKNiT64", + "trustlines": 1788, + "placeInTop": null + }, + { + "id": 260, + "code": "MAYC", + "issuer": "rfdjz9HVpd5ixQE6LBK2cZT9XhJEYpgBtC", + "title": "Monster Ape XRP Club", + "trustlines": 2488, + "placeInTop": null + }, + { + "id": 17536, + "code": "BRL", + "issuer": "rfNZPxoZ5Uaamdp339U9dCLWz2T73nZJZH", + "title": "Rippex", + "trustlines": 2542, + "placeInTop": null + }, + { + "id": 154, + "code": "xVerse", + "issuer": "rfQ6YtuSMVY25mJ9XhN35gHiwotiASvfyS", + "title": "xVerse", + "trustlines": 3802, + "placeInTop": null + }, + { + "id": 17012, + "code": "HOG", + "issuer": "rwwjSYw5X2YPWRZ6cebeYUFkBLyh8tT71B", + "trustlines": 2344, + "placeInTop": null + }, + { + "id": 18123, + "code": "XCHAM", + "issuer": "rKmrHQFrixTEV4z8JPhFLFyzsN8ZGtYkS5", + "title": "XCHAMELEONS / $XCHAM XRPL \ud83e\udd8e", + "trustlines": 5780, + "placeInTop": null + }, + { + "id": 17309, + "code": "XLM", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "title": "Ripple Fox", + "trustlines": 2344, + "placeInTop": null + }, + { + "id": 288, + "code": "DTT", + "issuer": "r3ygvUawCTEPZ7kosTktJ963K3KcrGXbGS", + "title": "DuStToToKeN", + "trustlines": 1762, + "placeInTop": null + }, + { + "id": 297, + "code": "XSWAP", + "issuer": "rDBWu8fWvxaY9dgNQXy2MYVtm3TRNY5FqE", + "trustlines": 2218, + "placeInTop": null + }, + { + "id": 16907, + "code": "ZULU", + "issuer": "rLcoMGVSZDWz3rWheEbPpeQMq2MNfmUoLb", + "title": "JustBull", + "trustlines": 1345, + "placeInTop": null + }, + { + "id": 18320, + "code": "LAED", + "issuer": "rnGvMu8P6evJEYY4cPyzcy4N1m5gcYRjaH", + "title": "Limited USD (LUSD)", + "trustlines": 2169, + "placeInTop": null + }, + { + "id": 300, + "code": "XKITTY", + "issuer": "rDzxZghEmGVRAvbpNSDbHGPgETkqHiZ5di", + "title": "XKITTY", + "trustlines": 2207, + "placeInTop": null + }, + { + "id": 17188, + "code": "SENIACOIN", + "issuer": "rpoHuxKPrqTfkH7L4cQwtNRKZzszWG6uyZ", + "trustlines": 1978, + "placeInTop": null + }, + { + "id": 18327, + "code": "LCAD", + "issuer": "rnGvMu8P6evJEYY4cPyzcy4N1m5gcYRjaH", + "title": "Limited USD (LUSD)", + "trustlines": 1917, + "placeInTop": null + }, + { + "id": 18301, + "code": "XDV", + "issuer": "rUd5EHPczA1dxLkc43svhfX5htRvQzFHdX", + "title": "The Vault", + "trustlines": 2148, + "placeInTop": null + }, + { + "id": 16922, + "code": "cryptopokecoin", + "issuer": "rMWEKWXeSFEM64mUfA83TNvBh8pogRQzNw", + "title": "Cryptopokecoin", + "trustlines": 1264, + "placeInTop": null + }, + { + "id": 18215, + "code": "LVEB", + "issuer": "rnyGDFEqnNwpyzievKCMhHUi4xs6HnUqPA", + "title": "Limited Currency USD", + "trustlines": 2396, + "placeInTop": null + }, + { + "id": 17637, + "code": "QAU", + "issuer": "r3ttJ41YnMrKiLqGUXJpQE8urqyMGjC8vE", + "title": "GateHub Fifth", + "trustlines": 7903, + "placeInTop": null + }, + { + "id": 15, + "code": "BisonArmy", + "issuer": "rKewBkTsHrjWiDTnsrAB2kjTg9bkCTMMyc", + "title": "Bison Army", + "trustlines": 14137, + "placeInTop": null + }, + { + "id": 18811, + "code": "XRPLTGT", + "issuer": "rspdZ6yA1VKPcA2fJxKeWUfmcrqRrF9CJ9", + "trustlines": 1289, + "placeInTop": null + }, + { + "id": 18545, + "code": "MKT", + "issuer": "rMD4eSH2doKurPNy6K3bQ6Hx1Z7EhoXnY2", + "title": "MetaKnight360 XRPL", + "trustlines": 3663, + "placeInTop": null + }, + { + "id": 16830, + "code": "LIFE", + "issuer": "rMmg2nrgRAJupwXJRAtEMqmezzHFAStE76", + "title": "LIFE COIN FUND", + "trustlines": 2189, + "placeInTop": null + }, + { + "id": 16889, + "code": "XCHIBI", + "issuer": "rKjxYk6pocyAJHD8k34tq1h6FGYCkwsoLG", + "title": "XCHIBI | NFT Collection", + "trustlines": 4322, + "placeInTop": null + }, + { + "id": 18922, + "code": "THECITYOFGIEZWA", + "issuer": "raiata7DoTJL5CMHuYC8BYGE6J4psyCMcE", + "title": "THE CITY OF GIEZWA", + "trustlines": 1424, + "placeInTop": null + }, + { + "id": 18258, + "code": "XDOWO", + "issuer": "r3RBkBa2hvfW2iZLj8yKo9PDeFCH9n9Ww1", + "trustlines": 1834, + "placeInTop": null + }, + { + "id": 16771, + "code": "FloydCoin", + "issuer": "rKF4FfwcjQK6pCJPFZ6xYmvmgynaf5DXTw", + "title": "George Floyd Coin", + "trustlines": 1204, + "placeInTop": null + }, + { + "id": 18004, + "code": "DSF", + "issuer": "rsiSiZosBx2kiz1sRd1NEi838qWumVXzqx", + "title": "DeepSpaceFlare", + "trustlines": 2338, + "placeInTop": null + }, + { + "id": 18447, + "code": "xALPACA", + "issuer": "rhjyUA6MVvx26XnRZsTfFkPGkyov7s2H4d", + "title": "Alpaca NFTs", + "trustlines": 1796, + "placeInTop": null + }, + { + "id": 106, + "code": "Xvroom", + "issuer": "rNio2YtPkiAvQMTFSCQPmPhjMdkMzWrLAS", + "title": "Xvroom", + "trustlines": 3564, + "placeInTop": null + }, + { + "id": 16642, + "code": "OSSA", + "issuer": "rEidsGjRCX8VYQdMtY9hLMzj8cNMFdqzWp", + "title": "Calvaria", + "trustlines": 5134, + "placeInTop": null + }, + { + "id": 16964, + "code": "CubanCoin", + "issuer": "rsF3pzhPeSFdMKCVWuRF9k36Xt1qXFyLsF", + "trustlines": 2519, + "placeInTop": null + }, + { + "id": 203, + "code": "LogoArt", + "issuer": "rGQLkT1U7K3S9pGiXFrQKtsVuLHc9PumKY", + "title": "LogoArt", + "trustlines": 4161, + "placeInTop": null + }, + { + "id": 18968, + "code": "DTG", + "issuer": "rqUktVQrvc7f7mMHxLk4mvqPXVut4cUzP", + "title": "DatingXRPL", + "trustlines": 2092, + "placeInTop": null + }, + { + "id": 17214, + "code": "ZERO", + "issuer": "rfH4wavPbouU5bceEuP2Y7vrwVzKLdZero", + "trustlines": 1681, + "placeInTop": null + }, + { + "id": 18596, + "code": "ATMT", + "issuer": "rPXFg78B1b4ZSisfdibXztT5kPmp5HTDXe", + "title": "ARNILLA STUDIOS", + "trustlines": 8170, + "placeInTop": null + }, + { + "id": 18778, + "code": "XJMP", + "issuer": "rB64rftMocgcJtYN1E7P1B75z1JmrVUWnW", + "title": "XJumper", + "trustlines": 3071, + "placeInTop": null + }, + { + "id": 16913, + "code": "PHP", + "issuer": "rBpQSMUo4pJGcwkDJxhxg9K9Vmq4Kt4d8H", + "title": "Xrpl Squid", + "trustlines": 1747, + "placeInTop": null + }, + { + "id": 16746, + "code": "XBUGS", + "issuer": "rLAMN7QmVfrGJdt6mb4pZsp8rSjKosTfaJ", + "title": "XRBUGS", + "trustlines": 2952, + "placeInTop": null + }, + { + "id": 16878, + "code": "XPoem", + "issuer": "rBXM5Q2GaWqt3ARThHAd9A3Q6MBPwdAJG8", + "title": "XPoets", + "trustlines": 1206, + "placeInTop": null + }, + { + "id": 244, + "code": "XLION", + "issuer": "rU6ANcasdcDmRiF9JuW2rj7KYmPGKAEUYy", + "title": "LAME LIONS XRPL / $XLION", + "trustlines": 4312, + "placeInTop": null + }, + { + "id": 16797, + "code": "GigCoin", + "issuer": "rEF5RN6VkfEvkHeK9tkTodV8Cj9bhnM1Qj", + "title": "GigCoin", + "trustlines": 4152, + "placeInTop": null + }, + { + "id": 16988, + "code": "EGL", + "issuer": "r44zdwNnFAYFW89hUhsz52m31paXnWvySg", + "trustlines": 2753, + "placeInTop": null + }, + { + "id": 18065, + "code": "KNIFES", + "issuer": "rBdhf3SADW7ZXk6VaCDM9Pzq5FkKngNVF7", + "title": "META WEAPON (XRPL)", + "trustlines": 5706, + "placeInTop": null + }, + { + "id": 16827, + "code": "NerdX", + "issuer": "rUBbS5qeACf13KtqGUigr9rUDqZL7PLAT7", + "title": "NerdX", + "trustlines": 2322, + "placeInTop": null + }, + { + "id": 16803, + "code": "KING", + "issuer": "rPxEDPLfNp18mmhnmgn8pnxdWqo8UfnhRy", + "title": "King Coin", + "trustlines": 4076, + "placeInTop": null + }, + { + "id": 330, + "code": "xLordeEdge", + "issuer": "rnQPyTLGVD1exGZCBD9XcXvbedMG7Sy4iU", + "title": "XLEcoin", + "trustlines": 3743, + "placeInTop": null + }, + { + "id": 17152, + "code": "XmemeGoldBox", + "issuer": "r9w99F78djkcfJ6X9AKuowGvk42YYs4Fz4", + "title": "XmemeGoldBox", + "trustlines": 1146, + "placeInTop": null + }, + { + "id": 16674, + "code": "XGalaxyDust", + "issuer": "rJ3SiADSaiMu5YaygY94pE4X4PCwHECg7a", + "title": "XGalaxy", + "trustlines": 1035, + "placeInTop": null + }, + { + "id": 30, + "code": "XRParmy", + "issuer": "rDFqUqByvp86TmNppRT4svFrpZwnsymnvU", + "title": "XRP Army Coin", + "trustlines": 4945, + "placeInTop": null + }, + { + "id": 18752, + "code": "XME", + "issuer": "rana9qGVUedcBGeEXjECMnTcMRQvL9GCvW", + "trustlines": 2571, + "placeInTop": null + }, + { + "id": 16768, + "code": "LFGO", + "issuer": "rBETMo1JSfigtMfU8kBem95vKcFmjG9gSw", + "trustlines": 2953, + "placeInTop": null + }, + { + "id": 263, + "code": "GUY", + "issuer": "rJmKe5N1JPa4ocst5MAbVpu3Ggzv4kdVku", + "title": "XRPL GUYS / $GUY", + "trustlines": 2344, + "placeInTop": null + }, + { + "id": 348, + "code": "HappyRacoon", + "issuer": "rBq2VLqRcthMU57n6Nw9125PF1Mxng4uyq", + "title": "HappyRacoon", + "trustlines": 4737, + "placeInTop": null + }, + { + "id": 170, + "code": "XMW", + "issuer": "ra2hRLUM28o9XYEHdyqKvFurXa5EYNqApE", + "title": "MicroWorld", + "trustlines": 3450, + "placeInTop": null + }, + { + "id": 18807, + "code": "JPY", + "issuer": "rMAz5ZnK73nyNUL4foAvaxdreczCkG3vA6", + "title": "Ripple Trade Japan", + "trustlines": 2668, + "placeInTop": null + }, + { + "id": 18976, + "code": "HDG", + "issuer": "rsKKfXJ3txRq12JSs9xxv9BMBYGFWWCQNo", + "title": "HolddiamondGold", + "trustlines": 1450, + "placeInTop": null + }, + { + "id": 310, + "code": "xSHIBOSHIS", + "issuer": "rUH4VReNsA3eQZY86TAbErBz49GdZGqHzJ", + "title": "xSHIBOSHIS", + "trustlines": 3638, + "placeInTop": null + }, + { + "id": 17848, + "code": "KRW", + "issuer": "rUkMKjQitpgAM5WTGk79xpjT38DEJY283d", + "title": "Pax Moneta", + "trustlines": 1999, + "placeInTop": null + }, + { + "id": 17107, + "code": "REP", + "issuer": "rckzVpTnKpP4TJ1puQe827bV3X4oYtdTP", + "title": "GateHub REP", + "trustlines": 18818, + "placeInTop": null + }, + { + "id": 16790, + "code": "GomiCoin", + "issuer": "r3jDb7aM3UDGSttVNcC7pxz1akGmPRsDkN", + "trustlines": 1934, + "placeInTop": null + }, + { + "id": 158, + "code": "XCL", + "issuer": "rswu4hb6GhDse1CGEisZrYhCCAPPbDDcAp", + "title": "XCLONE NFTS", + "trustlines": 4152, + "placeInTop": null + }, + { + "id": 17040, + "code": "xDave", + "issuer": "rDaVeTZrFWNz9uFxf3bqdPTpLAsNc1fDF7", + "trustlines": 1266, + "placeInTop": null + }, + { + "id": 214, + "code": "XHH", + "issuer": "rJWRqdKTRfqoeHERBDJukWWNTRrnwayDca", + "title": "HodlHippos", + "trustlines": 3583, + "placeInTop": null + }, + { + "id": 18684, + "code": "FOX", + "issuer": "rNrLLdKFEZaw1Bao6Twjes7Jm4jHg1rthU", + "trustlines": 1413, + "placeInTop": null + }, + { + "id": 113, + "code": "XMZ", + "issuer": "rfyE95hzWAE93h2sKvW92nX3Mf6eC3Vs7D", + "title": "xrplmonkeyz", + "trustlines": 2289, + "placeInTop": null + }, + { + "id": 16829, + "code": "FGARY", + "issuer": "rKYsFjADNw4ZVdN5CEvpDUBJndktRGYUrK", + "title": "F**k Gary", + "trustlines": 941, + "placeInTop": null + }, + { + "id": 16652, + "code": "xThug", + "issuer": "rULz7kXrUkXDqPvW5t3PrBn8XJ3GJytqUi", + "title": "xThug", + "trustlines": 4342, + "placeInTop": null + }, + { + "id": 82, + "code": "JSC", + "issuer": "rJ726mi7cXLfsnuehL84nmjjK14Rmx2ZQG", + "title": "Junkies | The Junkiverse | Junction", + "trustlines": 3686, + "placeInTop": null + }, + { + "id": 18453, + "code": "V3SafeMoon", + "issuer": "rENCYqb6HKcCRbRWBuufG1vwZp7JFe6pBE", + "title": "SafeMoonV3XRPL", + "trustlines": 3115, + "placeInTop": null + }, + { + "id": 16831, + "code": "BADxTruckzNFT", + "issuer": "rKas8SuSUBs7qQ7TaC1fQw3sviXBethJ2r", + "title": "BADxTruckz", + "trustlines": 1564, + "placeInTop": null + }, + { + "id": 18846, + "code": "nftwest", + "issuer": "rGxTL4RgJeJcN3SySxAQMnMnWXDEELjMfk", + "trustlines": 2279, + "placeInTop": null + }, + { + "id": 16893, + "code": "xLetsGoBrandon", + "issuer": "rpXQdkj19vvcEdoF6vqkbEkkFkyn4QN2sq", + "title": "XTRUMP", + "trustlines": 2081, + "placeInTop": null + }, + { + "id": 17153, + "code": "XmemeGoldenSmile", + "issuer": "rKNfnXcioJdKikc5hcwSrcxaqjdHwYRqMU", + "title": "XmemeGoldenSmile", + "trustlines": 942, + "placeInTop": null + }, + { + "id": 17087, + "code": "FEST", + "issuer": "rGXQdR5z5ykUjAUnyxJBT66ZpLnCua31q5", + "trustlines": 929, + "placeInTop": null + }, + { + "id": 17590, + "code": "XAG", + "issuer": "rpG9E7B3ocgaKqG7vmrsu3jmGwex8W4xAG", + "title": "Xrpalike Gene", + "trustlines": 1547, + "placeInTop": null + }, + { + "id": 79, + "code": "SLX", + "issuer": "rpzM9uVZ8NqQA1pcamhtd9afKaWLLG5rke", + "title": "Skullaxa", + "trustlines": 4279, + "placeInTop": null + }, + { + "id": 17710, + "code": "EUR", + "issuer": "rMwjYedjc7qqtKYVLiAccJSmCwih4LnE2q", + "title": "SnapSwap", + "trustlines": 1833, + "placeInTop": null + }, + { + "id": 16699, + "code": "Xmonk", + "issuer": "rKuFp7TsTtQk7EXQthSAqiz7rwiFsaVtzG", + "trustlines": 5330, + "placeInTop": null + }, + { + "id": 209, + "code": "PENG", + "issuer": "rf668i9G2d6Xd39tZF19uKGLV3XsvrxFw7", + "title": "TheXRPenguins", + "trustlines": 3898, + "placeInTop": null + }, + { + "id": 17695, + "code": "ADA", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 1318, + "placeInTop": null + }, + { + "id": 285, + "code": "XSplash", + "issuer": "rw3Xyya7wcGvJsbuF2oSVY5BcR9pvbtRAR", + "title": "Xsplash", + "trustlines": 2369, + "placeInTop": null + }, + { + "id": 16961, + "code": "BANANA", + "issuer": "r3KSyXmYTYd6wd6ZwtrbEhQMjnJW3xpK4j", + "title": "Club X NFT - Bearable Bulls coming soon", + "trustlines": 1576, + "placeInTop": null + }, + { + "id": 16786, + "code": "XRPayNet", + "issuer": "r9rRLst96Ue4YTDQkWWkX1ePB6p6Ye4FkA", + "title": "XRPayNet", + "trustlines": 2510, + "placeInTop": null + }, + { + "id": 17024, + "code": "XMEMEXquisiteGcoin", + "issuer": "rDCCBV7riXcnQ3r345sqGJfqXFLpCfMUqd", + "title": "XMEMEXquisiteGcoin", + "trustlines": 856, + "placeInTop": null + }, + { + "id": 17708, + "code": "RJP", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 1844, + "placeInTop": null + }, + { + "id": 18561, + "code": "CAD", + "issuer": "r3ADD8kXSUKHd6zTCKfnKT3zV9EZHjzp1S", + "title": "RippleUnion", + "trustlines": 992, + "placeInTop": null + }, + { + "id": 18296, + "code": "SeagullMansions", + "issuer": "rHr4mUQjRusoNNYnzCp5BFumyWjycgVHJS", + "trustlines": 1808, + "placeInTop": null + }, + { + "id": 18465, + "code": "USDC", + "issuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "title": "GateHub USDC", + "trustlines": 3407, + "placeInTop": null + }, + { + "id": 16999, + "code": "RIBBITS", + "issuer": "rPmb5BPBAbE9jmNaFXNPH5kZEPDpRxaY77", + "trustlines": 1749, + "placeInTop": null + }, + { + "id": 16796, + "code": "MGT", + "issuer": "rwpQQdPJZmnGFNrPfbtCjtStdBxZK8qs3W", + "trustlines": 2857, + "placeInTop": null + }, + { + "id": 17533, + "code": "XNF", + "issuer": "rPKSvQ1qFAksr7hzk2wC2xtqSqFbxP3wvg", + "title": "NoFiatCoin", + "trustlines": 1495, + "placeInTop": null + }, + { + "id": 17189, + "code": "EmojiCoin", + "issuer": "rP7RsraS3viv9kGb4XNCY1N7JyaniDJB2z", + "title": "EmojiCoin", + "trustlines": 746, + "placeInTop": null + }, + { + "id": 155, + "code": "XALANA", + "issuer": "r8zkzkjvHxTFDkHJrqpssCd5HDUjCgxck", + "title": "Xalana", + "trustlines": 7170, + "placeInTop": null + }, + { + "id": 16704, + "code": "EGG", + "issuer": "rfwgeFU65NdYN5xDmogu9gB3hroYFhAqnL", + "title": "$BUN/$EGG", + "trustlines": 1098, + "placeInTop": null + }, + { + "id": 18692, + "code": "BTFD", + "issuer": "rERyZhzaBHjMcm3Cm1Gh8c4Vw1gPusFuLf", + "title": "Buythedip", + "trustlines": 842, + "placeInTop": null + }, + { + "id": 176, + "code": "BMA", + "issuer": "rVosg6X2B873FwaVZPM44CMjccSG5Ha6E", + "title": "BMAC - Blind Mummy Apes Club", + "trustlines": 3044, + "placeInTop": null + }, + { + "id": 18918, + "code": "CQR", + "issuer": "rpuEFKFoKESeoTMusx73znFGjbPqxiTPyg", + "title": "CQRFinance", + "trustlines": 1115, + "placeInTop": null + }, + { + "id": 138, + "code": "CCB", + "issuer": "rBxoALcypxTDYbkJr8MWLeUPYq64vAQpT4", + "title": "CucumberBrothers", + "trustlines": 6945, + "placeInTop": null + }, + { + "id": 19076, + "code": "ETH", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 2407, + "placeInTop": null + }, + { + "id": 17359, + "code": "NUDES", + "issuer": "rUckw1CEPF2vacf2o53kLDk4oLZd7Ha4LT", + "title": "Nudes Token", + "trustlines": 701, + "placeInTop": null + }, + { + "id": 18535, + "code": "XGBALLZ", + "issuer": "rPa8cmndFgf5sexbYDGaU3zx83qAWrBKrc", + "title": "XungiBallz", + "trustlines": 2411, + "placeInTop": null + }, + { + "id": 17588, + "code": "JCB", + "issuer": "rBfVgTnsdh8ckC19RM8aVGNuMZnpwrMP6n", + "trustlines": 5952, + "placeInTop": null + }, + { + "id": 17159, + "code": "xToadzXXL", + "issuer": "rhiagNCMcF342muHW6oMgdsf9uutCWv5Vw", + "title": "xToadz & sToadz", + "trustlines": 1540, + "placeInTop": null + }, + { + "id": 317, + "code": "SigmaFinance", + "issuer": "rpU72WXz1b9bnq4ZePgMvddovTwFXxY2Ar", + "title": "Sigma Finance", + "trustlines": 3227, + "placeInTop": null + }, + { + "id": 355, + "code": "xPEPE", + "issuer": "rw5e5krAvv1DrWyzmEr1NtNzg5jR26u5Gj", + "title": "xPEPE", + "trustlines": 1473, + "placeInTop": null + }, + { + "id": 17922, + "code": "CNY", + "issuer": "rM8199qFwspxiWNZRChZdZbGN5WrCepVP1", + "title": "DotPayco", + "trustlines": 1231, + "placeInTop": null + }, + { + "id": 293, + "code": "xKangaMK1", + "issuer": "rPwdrA6YFGR6k5rPyT6QPx7MrQAavUtyz5", + "title": "Combat Kanga", + "trustlines": 3022, + "placeInTop": null + }, + { + "id": 19106, + "code": "WTC", + "issuer": "rHZP1pA3THovFqvwgtM2tnJWrS54hSrDiG", + "trustlines": 801, + "placeInTop": null + }, + { + "id": 16721, + "code": "SRCIC", + "issuer": "rPnUe2Weo2JhMaXzkLHVkvdLxvVppEdkcr", + "title": "Sinceresponse", + "trustlines": 1683, + "placeInTop": null + }, + { + "id": 16679, + "code": "Xdinominers", + "issuer": "rH35xqtkhQPzYr8jyzp1rHbiG17KpuXa1s", + "title": "Xislanders_XDNT_Xdinos", + "trustlines": 3394, + "placeInTop": null + }, + { + "id": 18458, + "code": "MINT", + "issuer": "rwCsCz93A1svS6Yv8hFqUeKLdTLhBpvqGD", + "title": "\ud83e\ude84 MagicMint \ud83c\udf43", + "trustlines": 1736, + "placeInTop": null + }, + { + "id": 16692, + "code": "BZS", + "issuer": "rwNRkFw1zkELgiaGDEAYVhtZo9ogxSAXPD", + "title": "BALL ZACK SYNDICATE", + "trustlines": 2178, + "placeInTop": null + }, + { + "id": 17028, + "code": "IWC", + "issuer": "rPjWvuHydeXvkbXnjEX6gutkzxuN23Wuh4", + "title": "Islamic World Coin Community", + "trustlines": 896, + "placeInTop": null + }, + { + "id": 17761, + "code": "DOG", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 1630, + "placeInTop": null + }, + { + "id": 17321, + "code": "JKY", + "issuer": "rMi5Xw5Wi99SAqFfuWNAJZXwEMhBk4syHG", + "trustlines": 596, + "placeInTop": null + }, + { + "id": 17023, + "code": "AZHT", + "issuer": "rpNFcwPV9STzW8jaa2Hqt3MhbSRnkbkAof", + "title": "Joe(XRP)Cool", + "trustlines": 1712, + "placeInTop": null + }, + { + "id": 18723, + "code": "XRPhone", + "issuer": "rGzzsoiXsM3RmHU9Fu9eDQ6hoNoouyQiNT", + "title": "XRPhone", + "trustlines": 16299, + "placeInTop": null + }, + { + "id": 17587, + "code": "CNY", + "issuer": "rBfVgTnsdh8ckC19RM8aVGNuMZnpwrMP6n", + "trustlines": 2925, + "placeInTop": null + }, + { + "id": 18195, + "code": "Modulr", + "issuer": "rzxFbGjPaW6jE2WyzqmEHKhbSQmMkkJdr", + "trustlines": 571, + "placeInTop": null + }, + { + "id": 17674, + "code": "X20", + "issuer": "rNmdY5wPVTx9awvX6WyDfJwbdgLzc8AY8c", + "title": "XLS-20.art", + "trustlines": 8838, + "placeInTop": null + }, + { + "id": 16842, + "code": "icoin", + "issuer": "rJSTh1VLk52tFC3VRXkNWu7Q4nYmfZv7BZ", + "title": "Icoin", + "trustlines": 7614, + "placeInTop": null + }, + { + "id": 358, + "code": "xLoveMonster", + "issuer": "rsQRCHYZzsSjMpAs63TtPFkittdJzY3gET", + "title": "Love Monster", + "trustlines": 12418, + "placeInTop": null + }, + { + "id": 19104, + "code": "JPY", + "issuer": "rDKcJtUW5b8URJB5AVb41jkTeETfXWwahe", + "trustlines": 2469, + "placeInTop": null + }, + { + "id": 295, + "code": "PPT", + "issuer": "rpdRSNVE5UU26ewDzJZs4afEwkTvCHXwVA", + "title": "Pretty Pandas SGB", + "trustlines": 1947, + "placeInTop": null + }, + { + "id": 17877, + "code": "XZOMBIE", + "issuer": "rpwJD6xNmDTq28jcBmAem8KMGLSYChZRpR", + "title": "XZOMBIE", + "trustlines": 3217, + "placeInTop": null + }, + { + "id": 18638, + "code": "PCSH", + "issuer": "rEQqDLHYBA5cLuVpm3by6kaThvZQJL8q68", + "title": "xPEPE", + "trustlines": 855, + "placeInTop": null + }, + { + "id": 326, + "code": "HIGH", + "issuer": "raDF491dC9XF1guG5zZkWWpNQoFquwt2cp", + "trustlines": 2828, + "placeInTop": null + }, + { + "id": 18224, + "code": "GCB", + "issuer": "rUXUGrsSgqya9CxiA4oxzSgNmDhsb6qZ6c", + "trustlines": 601, + "placeInTop": null + }, + { + "id": 17355, + "code": "XZV", + "issuer": "r4JgusJLQt1sMsUEnXSFAXPNnbCocs6Fxf", + "title": "Officialexcluzeev", + "trustlines": 6604, + "placeInTop": null + }, + { + "id": 177, + "code": "KegsRP", + "issuer": "rJzCA6r1UXKLxVpLf31XVb5Na57hYYZ6n2", + "title": "KegsRPIssuer", + "trustlines": 1971, + "placeInTop": null + }, + { + "id": 318, + "code": "Munchies", + "issuer": "raDF491dC9XF1guG5zZkWWpNQoFquwt2cp", + "trustlines": 2825, + "placeInTop": null + }, + { + "id": 18512, + "code": "HAV", + "issuer": "rPjKLDFj3jXMTBFFw8ZUZbjrTWm63DEPYN", + "trustlines": 895, + "placeInTop": null + }, + { + "id": 16834, + "code": "Yonix", + "issuer": "rHXqJwSnD21pFY7NyRuZ1AUX7WYaK7V7sJ", + "title": "Yoniverse", + "trustlines": 1606, + "placeInTop": null + }, + { + "id": 18913, + "code": "ALBA", + "issuer": "rPzvaUJzQ7EVxuPYXPfwLtSRXGpfxDGt9h", + "title": "ALBA", + "trustlines": 521, + "placeInTop": null + }, + { + "id": 18459, + "code": "USDT", + "issuer": "rcvxE9PS9YBwxtGg1qNeewV6ZB3wGubZq", + "title": "GateHub USDT", + "trustlines": 1737, + "placeInTop": null + }, + { + "id": 17052, + "code": "LTC", + "issuer": "rcRzGWq6Ng3jeYhqnmM4zcWcUh69hrQ8V", + "title": "GateHub LTC", + "trustlines": 2216, + "placeInTop": null + }, + { + "id": 110, + "code": "XRSharPei", + "issuer": "rQHp4ipKWh4M53omvbkhwZXYjwQVXXycPb", + "title": "Linsey Bracken", + "trustlines": 539, + "placeInTop": null + }, + { + "id": 6, + "code": "TAC", + "issuer": "rE2EBYiPVALWzHob18YK47P8HgkEv6T1pV", + "title": "Trippy Apes Club", + "trustlines": 3000, + "placeInTop": null + }, + { + "id": 137, + "code": "Arnies", + "issuer": "rfzRVCV35aXN2xNRf2hhq3o8DFDpUt8DEa", + "title": "ARNIE'S NFT (XRPL)", + "trustlines": 3071, + "placeInTop": null + }, + { + "id": 16710, + "code": "XSTX", + "issuer": "r9KanwHSeSYB9DXfgc3sDuoE3sRsnQv4wo", + "title": "XSTX", + "trustlines": 3818, + "placeInTop": null + }, + { + "id": 16898, + "code": "XPoesy", + "issuer": "rMoDRBbLkYBRvagYZZakCtydEzMVwvrcqL", + "title": "XPoets", + "trustlines": 1478, + "placeInTop": null + }, + { + "id": 16778, + "code": "XDNT", + "issuer": "rnijBVqpT1RpMkLS9BsUZBneFeFrjz2h94", + "trustlines": 1210, + "placeInTop": null + }, + { + "id": 16616, + "code": "CFC", + "issuer": "rsxUkmjnAn8PRDz8RYrPusb9mTDYn5NqG8", + "trustlines": 10496, + "placeInTop": null + }, + { + "id": 16762, + "code": "xLabor", + "issuer": "rP4DR419Lafe6RPyS1vbFXW7DPpUHw2iR", + "title": "Xlabor", + "trustlines": 2306, + "placeInTop": null + }, + { + "id": 16960, + "code": "BAPE", + "issuer": "r3KSyXmYTYd6wd6ZwtrbEhQMjnJW3xpK4j", + "title": "Club X NFT - Bearable Bulls coming soon", + "trustlines": 1401, + "placeInTop": null + }, + { + "id": 17970, + "code": "FNGRS", + "issuer": "rwJfQcN7EzaDcpcmCQYef8mxpsHZceeWAC", + "title": "xFingeRs NFT", + "trustlines": 1899, + "placeInTop": null + }, + { + "id": 17051, + "code": "XAU", + "issuer": "rcoef87SYMJ58NAFx7fNM5frVknmvHsvJ", + "title": "BPG Kovine", + "trustlines": 5381, + "placeInTop": null + }, + { + "id": 17956, + "code": "XPixelPanties", + "issuer": "rMuPmDnooeqcjf28ZxsTF5Z1i2wa81Bw6z", + "title": "Xpixelpanties", + "trustlines": 1109, + "placeInTop": null + }, + { + "id": 19044, + "code": "BTC", + "issuer": "rfYv1TXnwgDDK4WQNbFALykYuEBnrR4pDX", + "title": "Dividend Rippler", + "trustlines": 1119, + "placeInTop": null + }, + { + "id": 18163, + "code": "Krill", + "issuer": "r9FGdbCdjjRAWkn37kKgCQDsdm3NzgHieD", + "title": "XWhales Official", + "trustlines": 1690, + "placeInTop": null + }, + { + "id": 17943, + "code": "STR", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "title": "Ripple Fox", + "trustlines": 869, + "placeInTop": null + }, + { + "id": 17691, + "code": "GKO", + "issuer": "ruazs5h1qEsqpke88pcqnaseXdm6od2xc", + "title": "Geckocoin", + "trustlines": 985, + "placeInTop": null + }, + { + "id": 18481, + "code": "BAFC", + "issuer": "r1qbiB6ib51kqNuipc3Asja4itGv2hUeY", + "title": "Bored Ape Football Club", + "trustlines": 2139, + "placeInTop": null + }, + { + "id": 19054, + "code": "JPY", + "issuer": "rJRi8WW24gt9X85PHAxfWNPCizMMhqUQwg", + "title": "Digital Gate Japan", + "trustlines": 843, + "placeInTop": null + }, + { + "id": 185, + "code": "FatCat", + "issuer": "rQ9oCoSZx72ztd1rpifUnGfwCwUdnr4Rds", + "title": "Fat Cats", + "trustlines": 2102, + "placeInTop": null + }, + { + "id": 16780, + "code": "SEAGULLAPARTMENTS", + "issuer": "rKjevbXgCs6sP8XTLz6SgcE5RKCLuiS1r3", + "title": "Bored Seagull Club", + "trustlines": 950, + "placeInTop": null + }, + { + "id": 17410, + "code": "CUTE", + "issuer": "rMyLn261pBVKtgMbzFpbAsFFBL7ksbFvvM", + "title": "CUTE Token XRPL", + "trustlines": 894, + "placeInTop": null + }, + { + "id": 132, + "code": "xCuisine", + "issuer": "rQKMxxEjhZcH1dXcReQdPGWWtf8zkiwukK", + "title": "Master Chef_Cuisine NFT", + "trustlines": 3783, + "placeInTop": null + }, + { + "id": 18492, + "code": "XLUX", + "issuer": "rsA8pK4EbEHLBv6HPpk1r1ND8RchPabTHC", + "title": "Lux Lions NFT | Bringing the Lux to Luxury", + "trustlines": 711, + "placeInTop": null + }, + { + "id": 18676, + "code": "AAX", + "issuer": "r4xyzqvcJFk9Vghfvmp9dX1LUdesN43F5H", + "title": "Anonymous Astronauts", + "trustlines": 1479, + "placeInTop": null + }, + { + "id": 17655, + "code": "ULT", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "title": "Ripple Fox", + "trustlines": 690, + "placeInTop": null + }, + { + "id": 17402, + "code": "XRPHOENIX", + "issuer": "rMDxGz8kg1TKBNBC8C9n3pYGEQ9MsQFJHG", + "title": "XRPHOENIX", + "trustlines": 1473, + "placeInTop": null + }, + { + "id": 18585, + "code": "KODOKU", + "issuer": "rJa1mYRd57AGqoZfWK2kD9UhemQDE4osHE", + "title": "XRPL KODOKU", + "trustlines": 1110, + "placeInTop": null + }, + { + "id": 19011, + "code": "XAUR", + "issuer": "rpHNkyZpZTpW9w8zpxUcwAbgLNCGyLHPFm", + "trustlines": 8676, + "placeInTop": null + }, + { + "id": 18873, + "code": "PHOENIX", + "issuer": "rEpsJ5NaJpQisqmggsCL3TA2YeevgbAFGu", + "title": "PhoenixSwap", + "trustlines": 941, + "placeInTop": null + }, + { + "id": 17542, + "code": "JED", + "issuer": "rMUVZiUKrcZNqfpgNJRqQjpatGCPZSdrB8", + "title": "Got Jed?", + "trustlines": 593, + "placeInTop": null + }, + { + "id": 141, + "code": "INDI", + "issuer": "r3Uqw95RzBpcFCSVNphAgWWhjsQTxG5xvV", + "title": "Indigena", + "trustlines": 1938, + "placeInTop": null + }, + { + "id": 16985, + "code": "XLLAMAS", + "issuer": "rM7eceNskZB43X7aCDe22moJBEw9u42aN8", + "title": "Llamapalooza", + "trustlines": 1778, + "placeInTop": null + }, + { + "id": 17392, + "code": "xrplapps", + "issuer": "rBMPRPhbJPYER9k4HDwJY9PwrFQoB5wu89", + "trustlines": 378, + "placeInTop": null + }, + { + "id": 17762, + "code": "RBJ", + "issuer": "rEYD5k6kZPARQbKfB9GpiNPDY93kRQgPKj", + "title": "Ripple-Bank-Japan", + "trustlines": 339, + "placeInTop": null + }, + { + "id": 18191, + "code": "Greenfuel", + "issuer": "rEbZTML6KCMwRMqD6hRTw6K8kqKgLRnEH1", + "title": "GreenFuel", + "trustlines": 2490, + "placeInTop": null + }, + { + "id": 18741, + "code": "StakeXR", + "issuer": "rL5777XtQsBcwwRFWFuvcp5R8xNhTyRJrM", + "title": "StakeXR", + "trustlines": 1874, + "placeInTop": null + }, + { + "id": 18895, + "code": "EUR", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "title": "Bitstamp", + "trustlines": 953, + "placeInTop": null + }, + { + "id": 18534, + "code": "Xcrusader", + "issuer": "rhXa7avJF65iC27j6KRDRrWo2mVqrfVUmZ", + "title": "Xcrusader", + "trustlines": 2793, + "placeInTop": null + }, + { + "id": 18033, + "code": "DEBRIS", + "issuer": "r3FajLvMRbDCJ2n1NH3F6P1ZtpsfL7h9tm", + "title": "Debris", + "trustlines": 2757, + "placeInTop": null + }, + { + "id": 17388, + "code": "SGB", + "issuer": "rhrFfvzZAytd8UHPH87UHMgHQ18nnLbpgN", + "title": "GateHub SGB", + "trustlines": 2720, + "placeInTop": null + }, + { + "id": 18818, + "code": "PAW", + "issuer": "rD9V13zAF1RoLUDiCqyi6BwVQe4oWVaNgH", + "trustlines": 822, + "placeInTop": null + }, + { + "id": 112, + "code": "MZT", + "issuer": "r3657An8zaoTVae8mkyamKp4ddELSFKmcn", + "title": "MZT", + "trustlines": 9196, + "placeInTop": null + }, + { + "id": 47, + "code": "Galaxy", + "issuer": "r3Si5cWtHZZuKXQERoaTKc7Vhw53RdGi2A", + "title": "GALAXY", + "trustlines": 3650, + "placeInTop": null + }, + { + "id": 18539, + "code": "GOTV", + "issuer": "r9DS9LyzgvBhBm5WPsgW6kGzUpddyszkUV", + "title": "Guardians Of The Vault", + "trustlines": 1077, + "placeInTop": null + }, + { + "id": 16681, + "code": "TeddyBoys", + "issuer": "rUQp5C29SacMCbUrhrQYHGkqSQNsHULARQ", + "title": "TEDDY BOYS NFT | XRPL", + "trustlines": 6963, + "placeInTop": null + }, + { + "id": 18921, + "code": "XPD", + "issuer": "rfMc2D2GpZiHiXbq44xQHAC2bGK1qbtMA3", + "trustlines": 565, + "placeInTop": null + }, + { + "id": 17389, + "code": "ImmortalXKX", + "issuer": "rpAx21eFgJA6n8UWZfPjmkvaFzHzuvS8t6", + "title": "Crypto Prince", + "trustlines": 401, + "placeInTop": null + }, + { + "id": 18965, + "code": "XGO!", + "issuer": "rnucXjMr92b229V2KHgjG6V1Hz3JjsgqQN", + "title": "XGameOn", + "trustlines": 3198, + "placeInTop": null + }, + { + "id": 276, + "code": "PAY", + "issuer": "rMH8M1a1vWi6EwySMVwrnPLg6R6PzDpBVT", + "title": "XRPL Pay", + "trustlines": 2631, + "placeInTop": null + }, + { + "id": 18602, + "code": "AlienJump", + "issuer": "rajXWmVmQrFF8Bj1nzkT9JaWhPFXu1EoDw", + "title": "AlienJumpXrpl", + "trustlines": 1281, + "placeInTop": null + }, + { + "id": 18203, + "code": "MEMORY", + "issuer": "rfTsfrviaNgJ1URQf4FVWjsr59ULr1FNgu", + "trustlines": 722, + "placeInTop": null + }, + { + "id": 222, + "code": "xPug", + "issuer": "rNxNMb7h5ZT86EXy6nHtxSpf4W8ZMLNy6b", + "title": "xPug", + "trustlines": 3856, + "placeInTop": null + }, + { + "id": 16959, + "code": "UnionCoin", + "issuer": "rMYeffeDZeJtMWDM7StFj3hQxpB5KL6hfa", + "title": "UNION COIN", + "trustlines": 2968, + "placeInTop": null + }, + { + "id": 19045, + "code": "BTC", + "issuer": "rJHygWcTLVpSXkowott6kzgZU6viQSVYM1", + "title": "Justcoin", + "trustlines": 670, + "placeInTop": null + }, + { + "id": 18340, + "code": "GALA", + "issuer": "rf5YPb9y9P3fTjhxNaZqmrwaj5ar8PG1gM", + "title": "GateHub GALA", + "trustlines": 1193, + "placeInTop": null + }, + { + "id": 19105, + "code": "USD", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 663, + "placeInTop": null + }, + { + "id": 17283, + "code": "Boss", + "issuer": "r9bBb26SkJDW9dEXKFHkZdJvQVXE5pTwTM", + "title": "Bostonkrypto", + "trustlines": 267, + "placeInTop": null + }, + { + "id": 18157, + "code": "2CD", + "issuer": "rDxLqyy7UEAbbz1kC9HqnjLXae3KZLPNPM", + "title": "2Cold", + "trustlines": 696, + "placeInTop": null + }, + { + "id": 18562, + "code": "KRW", + "issuer": "rwdRX4jgRB5rZkbbbG7ezVTBKdBNKVrtpR", + "title": "Digital Gate Korea", + "trustlines": 646, + "placeInTop": null + }, + { + "id": 16779, + "code": "XRbitcoincash", + "issuer": "rEjwniYhYR5QDZzK1a1x2359j8j8N43Ypw", + "title": "XRbitcoincash", + "trustlines": 2447, + "placeInTop": null + }, + { + "id": 18537, + "code": "WEN", + "issuer": "rp2Em1RYo9sxJPJAMe9bDCkdDhirqUYQZC", + "title": "Club X NFT - Bearable Bulls coming soon", + "trustlines": 336, + "placeInTop": null + }, + { + "id": 17532, + "code": "XEC", + "issuer": "rNx3ty1w48iAa4JDfqhZk6bphwXxvCEtZP", + "title": "El-coin", + "trustlines": 1661, + "placeInTop": null + }, + { + "id": 18798, + "code": "XMG", + "issuer": "rQnMyMX5abtQrrsMm2rjws3agapxyKiPGZ", + "title": "XMG - XRPL Gaming Ecosystem", + "trustlines": 824, + "placeInTop": null + }, + { + "id": 16703, + "code": "DRIPPED", + "issuer": "rKtfM2S7EVkp3vF5WVM44L8RyGjrmE4ZG5", + "title": "DRIPPED", + "trustlines": 2345, + "placeInTop": null + }, + { + "id": 16781, + "code": "punkdninjas", + "issuer": "r95N6Va2n2EdKGnDCGNKLgtXBxpd1Xy3MH", + "title": "PunkdNinjas", + "trustlines": 2020, + "placeInTop": null + }, + { + "id": 19058, + "code": "USD", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "title": "Payroutes", + "trustlines": 756, + "placeInTop": null + }, + { + "id": 17592, + "code": "JUD", + "issuer": "r9qouqdcygAWyoFGPxwMN3LoJkpHJHoCBd", + "trustlines": 359, + "placeInTop": null + }, + { + "id": 19053, + "code": "JPY", + "issuer": "r9ZFPSb1TFdnJwbTMYHvVwFK1bQPUCVNfJ", + "title": "Ripple Exchange Tokyo", + "trustlines": 552, + "placeInTop": null + }, + { + "id": 18283, + "code": "Animabox", + "issuer": "rHxrNp8ruthrrrmhBdcQosNQNRQ1QTzi1o", + "title": "\ud835\udc00\ud835\udc27\ud835\udc22\ud835\udc26\ud835\udc1a\ud835\udc01\ud835\udc28\ud835\udc31 \ud835\udc0d\ud835\udc05\ud835\udc13 on XRPL \ud83d\udc0d", + "trustlines": 2095, + "placeInTop": null + }, + { + "id": 313, + "code": "xPizza", + "issuer": "rUMwLWFzwcD2topAKsg5NBbhq7dtu4gRCU", + "title": "XRPizzaParty", + "trustlines": 2776, + "placeInTop": null + }, + { + "id": 16948, + "code": "Diamond", + "issuer": "rfSTRox25KWznAtKCLqJ29zPxwErkhbX49", + "title": "Diamond", + "trustlines": 2175, + "placeInTop": null + }, + { + "id": 18536, + "code": "ZANIMAL", + "issuer": "rLacyEG9x5q3VXtoS3AnobnfedKmU89f6Q", + "trustlines": 582, + "placeInTop": null + }, + { + "id": 17558, + "code": "ICE", + "issuer": "r4H3F9dDaYPFwbrUsusvNAHLz2sEZk4wE5", + "trustlines": 578, + "placeInTop": null + }, + { + "id": 17405, + "code": "VRB", + "issuer": "rBfVgTnsdh8ckC19RM8aVGNuMZnpwrMP6n", + "trustlines": 3737, + "placeInTop": null + }, + { + "id": 17740, + "code": "BCC", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 596, + "placeInTop": null + }, + { + "id": 100, + "code": "XKINGAPES", + "issuer": "rK6H71AGq5ndQ3ChRL3rKABB14qmj68GwW", + "title": "XKING APES", + "trustlines": 3875, + "placeInTop": null + }, + { + "id": 17485, + "code": "SCZ", + "issuer": "rScheetz28HPqwAo3sxCtqKxU5TPWbLEf", + "title": "Scheetz", + "trustlines": 326, + "placeInTop": null + }, + { + "id": 17412, + "code": "xGaf", + "issuer": "rGidCc3AXaFzHLJrZSd1R9u7nM2YKKtUFK", + "title": "xGAF", + "trustlines": 3864, + "placeInTop": null + }, + { + "id": 18947, + "code": "ALPHA", + "issuer": "rwSqY5LuiU6nZutikF2Ubnm47MwDnaKGUz", + "title": "3DAPES\u2122", + "trustlines": 897, + "placeInTop": null + }, + { + "id": 162, + "code": "DONKY", + "issuer": "rMZnj5DdExmoUmm9QnEgmiKw3QEA9oRdjL", + "title": "XRDonkey", + "trustlines": 3150, + "placeInTop": null + }, + { + "id": 228, + "code": "DOG", + "issuer": "rbUNsWhC4vqUwcsaWeLH9FBnMNBkxAka4", + "title": "XRP DOG", + "trustlines": 1127, + "placeInTop": null + }, + { + "id": 18716, + "code": "NIO", + "issuer": "rawT5z6bFKigVRHqu29TdZ6aBejvMEqxxT", + "title": "Nitro", + "trustlines": 384, + "placeInTop": null + }, + { + "id": 18802, + "code": "xRYO", + "issuer": "rLPZJ6xQkq36DurkpqsQkggMpMktPVUrVD", + "trustlines": 396, + "placeInTop": null + }, + { + "id": 18934, + "code": "LTC", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 1566, + "placeInTop": null + }, + { + "id": 19041, + "code": "BTC", + "issuer": "rKxKhXZCeSDsbkyB8DVgxpjy5AHubFkMFe", + "title": "Rippex", + "trustlines": 1177, + "placeInTop": null + }, + { + "id": 18796, + "code": "BabyXRP", + "issuer": "rHMNE7vcmAQQqdkuKzTTEg9SJY7nZVvgUV", + "trustlines": 562, + "placeInTop": null + }, + { + "id": 233, + "code": "XCEL", + "issuer": "rDZU6y1wDuZPLxkUkr6GFwE6EdJtJu3Lk3", + "trustlines": 1321, + "placeInTop": null + }, + { + "id": 17851, + "code": "FLEA", + "issuer": "r3G2QxjkCJCqDub6z3SSrAVoJQVEsJ2NtU", + "trustlines": 596, + "placeInTop": null + }, + { + "id": 17931, + "code": "USD", + "issuer": "rBfVgTnsdh8ckC19RM8aVGNuMZnpwrMP6n", + "trustlines": 3897, + "placeInTop": null + }, + { + "id": 18617, + "code": "Bits", + "issuer": "rnYtXosnrsbtVTRkMNfBX2CHzjPQom1WJv", + "title": "X-A.I. NFT", + "trustlines": 759, + "placeInTop": null + }, + { + "id": 18359, + "code": "XCLOWN", + "issuer": "rEg5q7fmkF387T85T1b3dzViEfspMzcccJ", + "title": "xrpl clown", + "trustlines": 1605, + "placeInTop": null + }, + { + "id": 18843, + "code": "XCC", + "issuer": "r3fJbmdnFhQwHKxD1QDwMfmras9jLoh4RW", + "title": "XCleanCoin (XCC)", + "trustlines": 2201, + "placeInTop": null + }, + { + "id": 17819, + "code": "FMM", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "title": "Ripple Fox", + "trustlines": 438, + "placeInTop": null + }, + { + "id": 18054, + "code": "ILS", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "title": "Payroutes", + "trustlines": 380, + "placeInTop": null + }, + { + "id": 17548, + "code": "RIP", + "issuer": "rEYD5k6kZPARQbKfB9GpiNPDY93kRQgPKj", + "title": "Ripple-Bank-Japan", + "trustlines": 202, + "placeInTop": null + }, + { + "id": 17665, + "code": "CCK", + "issuer": "rp2PaYDxVwDvaZVLEQv7bHhoFQEyX1mEx7", + "title": "P2pay-Cold", + "trustlines": 228, + "placeInTop": null + }, + { + "id": 361, + "code": "Tribe", + "issuer": "rh6MHdcZDRwfcqFyAQP4bvZvKTyArnTR2W", + "title": "Tribe XRPL", + "trustlines": 9750, + "placeInTop": null + }, + { + "id": 16659, + "code": "XLINDEN", + "issuer": "rNjHfrvYTbCXMkkPDfLF6RtFcr4YbK3UL5", + "title": "XLINDEN", + "trustlines": 1700, + "placeInTop": null + }, + { + "id": 17796, + "code": "589", + "issuer": "rstHc6J8zLvrK8HdoNX4Mj66FQRVkUSTfb", + "title": "589", + "trustlines": 660, + "placeInTop": null + }, + { + "id": 16856, + "code": "BSC", + "issuer": "rsdK4XBXoG5JUHwR56Deq2ncTqjr4TxSi7", + "title": "Bored Seagull Club", + "trustlines": 2363, + "placeInTop": null + }, + { + "id": 94, + "code": "Cannabis", + "issuer": "rDdVN3HqhJb36XXLHpbeVmHxuUCfx7ryRm", + "title": "XCANNABIS", + "trustlines": 4678, + "placeInTop": null + }, + { + "id": 120, + "code": "CCC", + "issuer": "r433dvTW1cM1JGWTeRXTPTbCA87BcUoScj", + "title": "Content Connections Coin (CCC)", + "trustlines": 7023, + "placeInTop": null + }, + { + "id": 16839, + "code": "GodBit", + "issuer": "rKzPmuWL2pExMTqudrsHDySWY6y6nNVKxT", + "title": "GodBit", + "trustlines": 1766, + "placeInTop": null + }, + { + "id": 17914, + "code": "YZK", + "issuer": "rJr2Jy71Mb6kqv4iux79wvadq2LtqLSsdz", + "title": "Yozok", + "trustlines": 4238, + "placeInTop": null + }, + { + "id": 17847, + "code": "STR", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 1385, + "placeInTop": null + }, + { + "id": 19047, + "code": "BTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "title": "Payroutes", + "trustlines": 550, + "placeInTop": null + }, + { + "id": 81, + "code": "koi", + "issuer": "rBzhSC1vWsMXgMSWoiE2m6bHmXynyDxkUN", + "title": "IXRPWORLD", + "trustlines": 3544, + "placeInTop": null + }, + { + "id": 18643, + "code": "XPIRATES", + "issuer": "rKZNq2QU6TcHnBDEpEhnikMfmuUQedKg51", + "title": "xPirates", + "trustlines": 876, + "placeInTop": null + }, + { + "id": 259, + "code": "CWC", + "issuer": "rHm8VBgtAwKAWyueyhrDxDfwQ5k2M6Tz3W", + "title": "ClownWorldCoin", + "trustlines": 1502, + "placeInTop": null + }, + { + "id": 17269, + "code": "PHX", + "issuer": "rfEJ1ksD22TsCy8hdKoJuC6Xfc33VCKPUs", + "title": "TheRugPhxProject", + "trustlines": 633, + "placeInTop": null + }, + { + "id": 17463, + "code": "RPS", + "issuer": "r9wx4BoPPDtNYMkEY7Xj5bJK25JfyNwSZ", + "title": "Ripplerps", + "trustlines": 201, + "placeInTop": null + }, + { + "id": 18838, + "code": "WAKEx", + "issuer": "rpxVbcAHxZPPPJJF9NE3e9FN4eSJLTs6NL", + "title": "WAKEx", + "trustlines": 511, + "placeInTop": null + }, + { + "id": 18827, + "code": "XDEX", + "issuer": "rPXRmaPf4PDXikmXF1nAyxxVpyyVhyx1We", + "trustlines": 3743, + "placeInTop": null + }, + { + "id": 19015, + "code": "USD", + "issuer": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "title": "The Rock Trading", + "trustlines": 554, + "placeInTop": null + }, + { + "id": 354, + "code": "XREX", + "issuer": "rPasXvMsRmrqmK9HMT5MQp8ie8ZVoFBwtG", + "title": "XREX", + "trustlines": 4051, + "placeInTop": null + }, + { + "id": 17032, + "code": "SOF", + "issuer": "rGwNpLfBtJ9t1q8G1e3pgKa1n1ibgjqRph", + "title": "SoFCenter", + "trustlines": 1470, + "placeInTop": null + }, + { + "id": 18162, + "code": "MTM", + "issuer": "rMtMPTwyU6jWTS18sJFnii2kCoBioUEure", + "trustlines": 528, + "placeInTop": null + }, + { + "id": 18687, + "code": "PXP", + "issuer": "rPXPpTDcGL2zhNS2DFCbsep97H6sraTT7s", + "trustlines": 364, + "placeInTop": null + }, + { + "id": 18894, + "code": "EUR", + "issuer": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "title": "The Rock Trading", + "trustlines": 441, + "placeInTop": null + }, + { + "id": 16688, + "code": "DBDXR", + "issuer": "rH3jeL5UgE8KKJYSN8LoQX2mgh2kZoja4x", + "title": "Digital Black Dollar 1.0", + "trustlines": 1055, + "placeInTop": null + }, + { + "id": 17554, + "code": "NXT", + "issuer": "ra9eZxMbJrUcgV8ui7aPc161FgrqWScQxV", + "title": "Peercover", + "trustlines": 413, + "placeInTop": null + }, + { + "id": 64, + "code": "ELF", + "issuer": "rKhkLTgZrAaHXY5NzquXfJmXX3TRpV1Dmv", + "trustlines": 5065, + "placeInTop": null + }, + { + "id": 16795, + "code": "CentralReserve", + "issuer": "rfAPdqD3W33CHAGMb4P7tpJVyNE1AGuZHg", + "trustlines": 1942, + "placeInTop": null + }, + { + "id": 16843, + "code": "Xalienware", + "issuer": "r9T7w5KuVhb9B5Ddj6ps5AhnZNikAY2caK", + "title": "Xalienware", + "trustlines": 3885, + "placeInTop": null + }, + { + "id": 16986, + "code": "STREAM", + "issuer": "rE3BGaHdGfMYF5kXsWkkiV7DUyr7aRXKGF", + "title": "STREAM", + "trustlines": 3989, + "placeInTop": null + }, + { + "id": 17015, + "code": "QUX", + "issuer": "rfEG1uxjAqeLv8joDqeUqomssVWSpoX6h4", + "trustlines": 1328, + "placeInTop": null + }, + { + "id": 16799, + "code": "XNC", + "issuer": "rfoD7GTb7UNt8dkC6PVrx234N4ivRqf6LF", + "title": "XrpNurse", + "trustlines": 2556, + "placeInTop": null + }, + { + "id": 17535, + "code": "XPY", + "issuer": "rEVxaqydnDTqiLC6ivwEAAG4j21zS2LuLe", + "trustlines": 185, + "placeInTop": null + }, + { + "id": 16837, + "code": "XSL", + "issuer": "rLA1aoxTqUx7RYPLBZ4XmzjWNNUZcQkL95", + "trustlines": 734, + "placeInTop": null + }, + { + "id": 16882, + "code": "BMZ", + "issuer": "rsH7ktoKiuXx1zefgFreuaNGjUAt7ZWRPY", + "title": "xrplmonkeyz", + "trustlines": 2306, + "placeInTop": null + }, + { + "id": 18189, + "code": "ApesPunk", + "issuer": "rD7JGkzLtHUuKiyhiWuKvwU23mkD8kmQ5Z", + "title": "ApesPunk - XRPL", + "trustlines": 2200, + "placeInTop": null + }, + { + "id": 18252, + "code": "XMKAT", + "issuer": "r38btybd7kRqPctNJmcsf9SrCC3uzjPccf", + "title": "LAME LIONS XRPL \ud83d\udc51", + "trustlines": 1119, + "placeInTop": null + }, + { + "id": 17082, + "code": "XKF", + "issuer": "rG6RZ93xFrgCcXhWdh2hAWDeDwydMvS19J", + "title": "CombatKangaFuel", + "trustlines": 1329, + "placeInTop": null + }, + { + "id": 19043, + "code": "BTC", + "issuer": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "title": "The Rock Trading", + "trustlines": 536, + "placeInTop": null + }, + { + "id": 373, + "code": "UsaveMe", + "issuer": "rLL124XfvHPNJGMkrScm2HMACA2hkzKsL7", + "title": "Usaveme", + "trustlines": 4821, + "placeInTop": null + }, + { + "id": 17700, + "code": "MXN", + "issuer": "rG6FZ31hDHN1K5Dkbma3PSB5uVCuVVRzfn", + "title": "Bitso", + "trustlines": 471, + "placeInTop": null + }, + { + "id": 16906, + "code": "XRGold", + "issuer": "rGMjJsTD6LgQo2usixuox16PSwm4m9X5Ym", + "trustlines": 1837, + "placeInTop": null + }, + { + "id": 124, + "code": "TESLA", + "issuer": "r91SCjzULbyv3Y4o1Czem5pcYYxjNJuaNo", + "title": "$TESLA", + "trustlines": 5120, + "placeInTop": null + }, + { + "id": 18856, + "code": "xAds", + "issuer": "rsMQEnuvEqzeNPu7ZNpGctGBrWLv4x2mb2", + "title": "xAds - XRPL", + "trustlines": 612, + "placeInTop": null + }, + { + "id": 16775, + "code": "XRbitcoin", + "issuer": "rGQaHbQHCsTLQtboQPwUBasXjLvk8uDbpT", + "title": "XRbitcoin", + "trustlines": 704, + "placeInTop": null + }, + { + "id": 17849, + "code": "NZD", + "issuer": "rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc", + "title": "Coinex", + "trustlines": 1318, + "placeInTop": null + }, + { + "id": 18625, + "code": "CTC", + "issuer": "rHZP1pA3THovFqvwgtM2tnJWrS54hSrDiG", + "trustlines": 213, + "placeInTop": null + }, + { + "id": 19075, + "code": "KRW", + "issuer": "rPxU6acYni7FcXzPCMeaPSwKcuS2GTtNVN", + "title": "EXRP", + "trustlines": 500, + "placeInTop": null + }, + { + "id": 17557, + "code": "DOG", + "issuer": "ra9eZxMbJrUcgV8ui7aPc161FgrqWScQxV", + "title": "Peercover", + "trustlines": 290, + "placeInTop": null + }, + { + "id": 16744, + "code": "MooM", + "issuer": "rDWgjsCDx93gscZ99MXZAcymiNaBHrzk9H", + "title": "XRP MooM", + "trustlines": 1160, + "placeInTop": null + }, + { + "id": 18460, + "code": "WXRP", + "issuer": "rEa5QY8tdbjgitLyfKF1E5Qx3VGgvbUhB3", + "title": "GateHub WXRP", + "trustlines": 836, + "placeInTop": null + }, + { + "id": 174, + "code": "xHAM", + "issuer": "rQ9BmiUbMus85EiPQKYnMxMA8KBagawbQy", + "title": "xHustlers", + "trustlines": 985, + "placeInTop": null + }, + { + "id": 18001, + "code": "XMasons", + "issuer": "rfS2WUDbrMn25MbnD9XHivbQ5oYsdpvqLm", + "title": "Xmasons", + "trustlines": 8763, + "placeInTop": null + }, + { + "id": 319, + "code": "XLGBTQ", + "issuer": "r4cXkPESi5UsWuqC3yaHczitiH4oXAExh", + "title": "XLGBTQCOIN", + "trustlines": 1590, + "placeInTop": null + }, + { + "id": 17005, + "code": "XRP2", + "issuer": "r9rRLst96Ue4YTDQkWWkX1ePB6p6Ye4FkA", + "title": "XRPayNet", + "trustlines": 2351, + "placeInTop": null + }, + { + "id": 18338, + "code": "TUSK", + "issuer": "raMsKbJcRYLF1nwhWPntqXuwBdtftfi234", + "title": "Sturdy Hogs Society", + "trustlines": 1480, + "placeInTop": null + }, + { + "id": 198, + "code": "Xwizard", + "issuer": "rUifimbEkHzyQYM88iJzhUnFSYPvAkiFtZ", + "title": "CbotLabsInc.", + "trustlines": 2368, + "placeInTop": null + }, + { + "id": 16945, + "code": "SNG", + "issuer": "rBuoRCgafUXHamjGwB8wRBZFqPAbdLiUni", + "title": "ShopNGo", + "trustlines": 2046, + "placeInTop": null + }, + { + "id": 18057, + "code": "DIGI", + "issuer": "rnWyNGvkj2ZewctN3HNNbY5dLibFQPX3C1", + "title": "digifish", + "trustlines": 2110, + "placeInTop": null + }, + { + "id": 18541, + "code": "ApeX", + "issuer": "rG7RzbDAnaNW2fVrpjQtqmtcdArdQJoUxK", + "title": "ApeX", + "trustlines": 1386, + "placeInTop": null + }, + { + "id": 18840, + "code": "xOracleDNA", + "issuer": "rhTNWsKKaQwDvVZPXE9QtLPyreZmDZ99gN", + "trustlines": 157, + "placeInTop": null + }, + { + "id": 17534, + "code": "YOU", + "issuer": "rGvWKKaVboTqY6GwP7afhDkYZ5qQMTvora", + "title": "Youcoin", + "trustlines": 229, + "placeInTop": null + }, + { + "id": 72, + "code": "XAnime", + "issuer": "rHjnXe9uqesd1jKbcTsekG1Jp5ZYHPCWWR", + "trustlines": 3990, + "placeInTop": null + }, + { + "id": 19021, + "code": "xDood", + "issuer": "rBWSH3LmPtEfUrAF3QwWUWegvJyfEPjVkX", + "trustlines": 895, + "placeInTop": null + }, + { + "id": 3, + "code": "XXXRP", + "issuer": "rJiBnVT8dxj2QrGu84MH3qWtDzXMTR7QUJ", + "title": "XXXRP Token", + "trustlines": 3020, + "placeInTop": null + }, + { + "id": 18749, + "code": "IWC", + "issuer": "rNiFYEzNcwYnQ9cbt1fagK5gmVMXEcxGNy", + "title": "IWC", + "trustlines": 146, + "placeInTop": null + }, + { + "id": 17556, + "code": "XMF", + "issuer": "rHKTzLQjXo7JM7JrKEZo2jyDtC7iqS6NJp", + "title": "Mastersfg2", + "trustlines": 274, + "placeInTop": null + }, + { + "id": 18842, + "code": "xOracleLAND", + "issuer": "rhTNWsKKaQwDvVZPXE9QtLPyreZmDZ99gN", + "trustlines": 146, + "placeInTop": null + }, + { + "id": 17547, + "code": "HLD", + "issuer": "rP9SFQTj7FY3KXGw3e9EvgrPYGpq1pd4yy", + "trustlines": 284, + "placeInTop": null + }, + { + "id": 364, + "code": "Keanu", + "issuer": "rPFfFbAjVMjTKGzHnJQkpfLUNBwor7RQJY", + "title": "Keanu crypto", + "trustlines": 5478, + "placeInTop": null + }, + { + "id": 16684, + "code": "XRPMASKZ", + "issuer": "rPB7bqp3wHBHhVrpfjZfGXotegxfrYcQCW", + "title": "XRPMaskz", + "trustlines": 3154, + "placeInTop": null + }, + { + "id": 16852, + "code": "META", + "issuer": "r9fTXcvbkgJ9ggEgjV3UmzM7sqs9Phb177", + "title": "META", + "trustlines": 2954, + "placeInTop": null + }, + { + "id": 17279, + "code": "JNG", + "issuer": "rhbQYNVTzBzrv75igTeePyHxGzJ8L8P532", + "trustlines": 2209, + "placeInTop": null + }, + { + "id": 17709, + "code": "MFS", + "issuer": "razccN2G1Q3UcGSiRjGNM8xqgowMxDiGhv", + "title": "MFS", + "trustlines": 138, + "placeInTop": null + }, + { + "id": 17538, + "code": "BIG", + "issuer": "rHoUTGMxWKbrTTF8tpAjysjpu8PWrbt1Wx", + "title": "Smartys", + "trustlines": 202, + "placeInTop": null + }, + { + "id": 18487, + "code": "APE", + "issuer": "rHXHbdcVjHHcmyX7X76VZzmMvBkF4wehsU", + "title": "\ud83e\uddea\ud83e\uddea BMAC - Blind Mummy Apes Club\ud83d\udc99\ud83d\udc9b", + "trustlines": 480, + "placeInTop": null + }, + { + "id": 18694, + "code": "XCOIN", + "issuer": "rBw4swPcXBAgZUcYBYqcpSrCf25cu34nc8", + "trustlines": 1817, + "placeInTop": null + }, + { + "id": 18845, + "code": "xOracleRECR", + "issuer": "rhTNWsKKaQwDvVZPXE9QtLPyreZmDZ99gN", + "trustlines": 140, + "placeInTop": null + }, + { + "id": 17540, + "code": "FRX", + "issuer": "rPA73XSVQ3UEz7gSixREhMzBMtF4RGZPie", + "title": "Frinkcoin", + "trustlines": 130, + "placeInTop": null + }, + { + "id": 16714, + "code": "INT", + "issuer": "rwLMRFbMgihwDKAn7dnLdsNztXGbFafS9u", + "title": "InTroitStudio", + "trustlines": 1955, + "placeInTop": null + }, + { + "id": 18210, + "code": "BisonG", + "issuer": "rn3Gd6hQqc5ZK1VvfyWyrzhad3aTdPaFLs", + "title": "BisonGrass", + "trustlines": 1556, + "placeInTop": null + }, + { + "id": 18257, + "code": "AURORA", + "issuer": "rPnac2Qunw9ofqiY5ur4jd83dNMbk5THYh", + "title": "AstralsOnX", + "trustlines": 4563, + "placeInTop": null + }, + { + "id": 18402, + "code": "xDoCash", + "issuer": "rNsUnCdoFL2498VFc3aH84dSyrotP2mzLD", + "trustlines": 351, + "placeInTop": null + }, + { + "id": 19089, + "code": "XLE", + "issuer": "rwCkSpBEyhhMjB1Yz17dpTJZ1UPg7ppsgU", + "trustlines": 13857, + "placeInTop": null + }, + { + "id": 90, + "code": "XTIM", + "issuer": "rsr4t5kg3gUZwEwMMcymWeus5hfpDSMQbG", + "title": "XTIMfund", + "trustlines": 4913, + "placeInTop": null + }, + { + "id": 18844, + "code": "xOracleNEO", + "issuer": "rhTNWsKKaQwDvVZPXE9QtLPyreZmDZ99gN", + "trustlines": 128, + "placeInTop": null + }, + { + "id": 19100, + "code": "xMalaya", + "issuer": "rLYcBjVF5vXhBVdWQELcv7FyRfRuakPnzr", + "title": "Malaya Infinity", + "trustlines": 2740, + "placeInTop": null + }, + { + "id": 338, + "code": "XRXumm", + "issuer": "rKdCXSihHYED8Ree8HwKBgE9GPWJ8nduqb", + "title": "XRXumm", + "trustlines": 1849, + "placeInTop": null + }, + { + "id": 16718, + "code": "LoveLand", + "issuer": "r325Com8CdPAmEuYABTz3djfP4KEHurU2z", + "title": "Love Monster \uea00", + "trustlines": 1185, + "placeInTop": null + }, + { + "id": 16686, + "code": "DNINE", + "issuer": "rhrKhg5XkwA4ttHrGsnizXXmZUe2TpnRFs", + "title": "Divine Nine NFT", + "trustlines": 1855, + "placeInTop": null + }, + { + "id": 18284, + "code": "ROK", + "issuer": "rn4f4cpyDSriqdohMTRkwSKt1ga7D1q25H", + "trustlines": 137, + "placeInTop": null + }, + { + "id": 18953, + "code": "xr77", + "issuer": "rcLASSiCq8LWcymCHaCgK19QMEvUspuRM", + "title": "XR77", + "trustlines": 898, + "placeInTop": null + }, + { + "id": 18957, + "code": "XGOLD", + "issuer": "rDHZhSSatHAG4ubxsDedRUgTXCJAWRvpo2", + "title": "Xgoldxrpl", + "trustlines": 2834, + "placeInTop": null + }, + { + "id": 17551, + "code": "XAU", + "issuer": "r9Dr5xwkeLegBeXq6ujinjSBLQzQ1zQGjH", + "title": "Ripple Singapore", + "trustlines": 303, + "placeInTop": null + }, + { + "id": 18266, + "code": "xOPS", + "issuer": "rGY49448umDTQtAjMLBA6t7HHZZSJoC26m", + "trustlines": 595, + "placeInTop": null + }, + { + "id": 18841, + "code": "xOracleGG", + "issuer": "rhTNWsKKaQwDvVZPXE9QtLPyreZmDZ99gN", + "trustlines": 133, + "placeInTop": null + }, + { + "id": 18274, + "code": "NFTR", + "issuer": "rBGi34LU3FFd5dnVD2bWbdMxJEkSVfwWpe", + "title": "Bitcoin X", + "trustlines": 1119, + "placeInTop": null + }, + { + "id": 19016, + "code": "USD", + "issuer": "ra9eZxMbJrUcgV8ui7aPc161FgrqWScQxV", + "title": "Peercover", + "trustlines": 309, + "placeInTop": null + }, + { + "id": 119, + "code": "House", + "issuer": "rJ9XgtypsnSJt3x6R1crbs7qFRqa6YvcRi", + "title": "Meta House", + "trustlines": 2029, + "placeInTop": null + }, + { + "id": 17337, + "code": "VGO", + "issuer": "rPYJU7Un1ayZ9uHe3QQm8fRiGKZnGYNzhv", + "title": "Vagabond VGO", + "trustlines": 1180, + "placeInTop": null + }, + { + "id": 18634, + "code": "GXWCoin", + "issuer": "rBaQ4z5kpEwH84cz1Gkve4wCpz5g9xrvpz", + "trustlines": 341, + "placeInTop": null + }, + { + "id": 18917, + "code": "XWC", + "issuer": "rwdpB514zQMLx4Uy5feJBJUtx6LJZMaZLm", + "title": "XRPL WORLD CUP", + "trustlines": 609, + "placeInTop": null + }, + { + "id": 18834, + "code": "WSTH", + "issuer": "rnwTawWCLjXKroP7CBLFLxpidSCR3UoHKG", + "trustlines": 704, + "placeInTop": null + }, + { + "id": 18891, + "code": "JEN", + "issuer": "rntNAksJQhpyxvPWoAVtgS8ML1SsrpZuuw", + "trustlines": 783, + "placeInTop": null + }, + { + "id": 16968, + "code": "BMS", + "issuer": "rpR32FXJoGv5K9Qwyu3cW8dSCWeu29cy88", + "title": "Bullish Moments", + "trustlines": 926, + "placeInTop": null + }, + { + "id": 18931, + "code": "MOB", + "issuer": "rBqn27sZcfjR8LvcgESPBjgrMybRkk11da", + "title": "M.O.B", + "trustlines": 537, + "placeInTop": null + }, + { + "id": 18933, + "code": "XrAkita", + "issuer": "rJzgPGTrjLV1JHivpu7428WMti6pACz44V", + "trustlines": 438, + "placeInTop": null + }, + { + "id": 127, + "code": "GBL", + "issuer": "rfQvbpZvihhRULL7mJhaSYgK3TUcZq3NAp", + "title": "GBL", + "trustlines": 5766, + "placeInTop": null + }, + { + "id": 18978, + "code": "USD", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "title": "Ripple Fox", + "trustlines": 836, + "placeInTop": null + }, + { + "id": 16773, + "code": "META$", + "issuer": "rNtqjpucnCuxhKVtMy2iefRofPFVXFD5PR", + "title": "META$", + "trustlines": 3380, + "placeInTop": null + }, + { + "id": 17784, + "code": "USD", + "issuer": "r9Dr5xwkeLegBeXq6ujinjSBLQzQ1zQGjH", + "title": "Ripple Singapore", + "trustlines": 341, + "placeInTop": null + }, + { + "id": 18987, + "code": "BTC", + "issuer": "rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc", + "title": "Coinex", + "trustlines": 1172, + "placeInTop": null + }, + { + "id": 16808, + "code": "Drip", + "issuer": "rhWbFN1Q3owPfYY3FjMmKTzTXs6A3uKVtm", + "title": "XCoinDropper", + "trustlines": 1589, + "placeInTop": null + }, + { + "id": 18721, + "code": "Greenpower", + "issuer": "rhNv8T5waDTyxbSVfiFGn7E1b45CUj5Ae6", + "title": "Greenpower", + "trustlines": 873, + "placeInTop": null + }, + { + "id": 18849, + "code": "ASX", + "issuer": "r3RqTN9tso5TB9HuB4aeiDmrWZEuMSnP8Q", + "trustlines": 12400, + "placeInTop": null + }, + { + "id": 19056, + "code": "USD", + "issuer": "rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc", + "title": "Coinex", + "trustlines": 1218, + "placeInTop": null + }, + { + "id": 18911, + "code": "EmiC", + "issuer": "rBAtoMmpDbyQytkonpuz1fzcf4htdMXzqK", + "title": "Emirate Club", + "trustlines": 7741, + "placeInTop": null + }, + { + "id": 19008, + "code": "XRD3", + "issuer": "rD3hZoj626diqEA5S8FpJymz8R6X8ffVqS", + "title": "xRonin Labs | SOLD OUT!", + "trustlines": 298, + "placeInTop": null + }, + { + "id": 16791, + "code": "TGC", + "issuer": "r4ZPfDiqxQRvcwXoriEHjR9a9DkuboYyZ8", + "trustlines": 795, + "placeInTop": null + }, + { + "id": 16905, + "code": "XRPugs", + "issuer": "rsfPbNNHWz5262XgaYtrWvTgfX34seaNgh", + "title": "XRPugs", + "trustlines": 3203, + "placeInTop": null + }, + { + "id": 219, + "code": "PEENZ", + "issuer": "rLDEELKZST8eRYpNPS1hr6LWZbQnZ9NkYy", + "title": "XRPeenz", + "trustlines": 1852, + "placeInTop": null + }, + { + "id": 16669, + "code": "EMB", + "issuer": "rfQYLw1szMWWCob7VtAGtZtYtmLtCCPLLs", + "title": "EMOTION BOX TOKEN", + "trustlines": 3035, + "placeInTop": null + }, + { + "id": 18551, + "code": "InfantXapes", + "issuer": "rsz5MtMPLfrT5ZHFP4TUigMwMzugACRKhs", + "title": "Gorilla X Warfare", + "trustlines": 332, + "placeInTop": null + }, + { + "id": 298, + "code": "OPI", + "issuer": "rLekuNt7xSRBJKBtxr4nqa3obGmUa9nmYZ", + "trustlines": 885, + "placeInTop": null + }, + { + "id": 19077, + "code": "ETC", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 407, + "placeInTop": null + }, + { + "id": 130, + "code": "DBD", + "issuer": "rMuUAyEwGpQAKKHWjEjJdMWqDQp9mbDrVU", + "title": "Digital Black Dollar 1.0", + "trustlines": 3660, + "placeInTop": null + }, + { + "id": 17560, + "code": "XMG", + "issuer": "rHKTzLQjXo7JM7JrKEZo2jyDtC7iqS6NJp", + "title": "Mastersfg2", + "trustlines": 277, + "placeInTop": null + }, + { + "id": 18209, + "code": "XASTRAL", + "issuer": "rwCNcLU7Q2pSz9tkLVQaAg5dN4NhXfKXKX", + "title": "AstralsOnX", + "trustlines": 3738, + "placeInTop": null + }, + { + "id": 18755, + "code": "MTBX", + "issuer": "rJJfuHfwrYLkbzWeoiuQZbzv7Ffi9GEgn7", + "title": "Metabox | $MTBX", + "trustlines": 7166, + "placeInTop": null + }, + { + "id": 40, + "code": "FireFly", + "issuer": "rPo2RQ7JsCSd3WeSKm75XFNZE3oNFPDAbu", + "trustlines": 3951, + "placeInTop": null + }, + { + "id": 360, + "code": "KOLS", + "issuer": "rUThGrdjD3q227DtSAKtviXqpicWjKG9xK", + "title": "KOLS", + "trustlines": 5669, + "placeInTop": null + }, + { + "id": 16976, + "code": "Xange", + "issuer": "r3V7BTuupF5mACHg2vpDRotDqGbMPh5GMv", + "trustlines": 937, + "placeInTop": null + }, + { + "id": 17129, + "code": "VERIFYTEST", + "issuer": "rrhsaymUStZEyGpLP1FBPxkpfNoroAQHtV", + "trustlines": 352, + "placeInTop": null + }, + { + "id": 17841, + "code": "Xrock", + "issuer": "rockUQqYKy3vpCtVnF7yigDiZw887rhN7", + "title": "XRock", + "trustlines": 1816, + "placeInTop": null + }, + { + "id": 16811, + "code": "MAYA", + "issuer": "rGk8tKECA9fxh38ikDAJYn1NSdDcYdY6XF", + "title": "MAYABLUE.X", + "trustlines": 1300, + "placeInTop": null + }, + { + "id": 17591, + "code": "STR", + "issuer": "rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc", + "title": "Coinex", + "trustlines": 1108, + "placeInTop": null + }, + { + "id": 17791, + "code": "USD", + "issuer": "rPDXxSZcuVL3ZWoyU82bcde3zwvmShkRyF", + "title": "WisePass", + "trustlines": 195, + "placeInTop": null + }, + { + "id": 16820, + "code": "MSNGR2", + "issuer": "rHAhxoWNM8vNt5VENuTtS2UAF6BHpDfM7", + "title": "Center for Collaborative Economics", + "trustlines": 651, + "placeInTop": null + }, + { + "id": 17095, + "code": "Earnie", + "issuer": "rsK7bK78azgdi1hD9ZWNXQwmYQ5xrSVE25", + "title": "Earnie", + "trustlines": 3030, + "placeInTop": null + }, + { + "id": 18865, + "code": "JPY", + "issuer": "rUFcQnmGYEuvJVJnZy8QBc9ouKJbpvK7QU", + "title": "DigitalCurrency-ALL", + "trustlines": 228, + "placeInTop": null + }, + { + "id": 339, + "code": "XGalaxy", + "issuer": "rh61FBhuEwAMQ9yArSaEFd8g4dZpJoj6AW", + "title": "XGalaxy", + "trustlines": 3277, + "placeInTop": null + }, + { + "id": 17256, + "code": "Churchcoin", + "issuer": "rKLKvCbtDhNzVzJCvfts6yrzvNUTxYjAi1", + "title": "ChristJesus", + "trustlines": 203, + "placeInTop": null + }, + { + "id": 18503, + "code": "XAU", + "issuer": "rrh7rf1gV2pXAoqA8oYbpHd8TKv5ZQeo67", + "title": "GBI", + "trustlines": 411, + "placeInTop": null + }, + { + "id": 18594, + "code": "LCC", + "issuer": "rG9Fo4mgx5DEZp7zKUEchs3R3jSMbx3NhR", + "trustlines": 1009, + "placeInTop": null + }, + { + "id": 29, + "code": "XRPZclan", + "issuer": "rHuJFGGuN47uzehRxt9GXXsrSaJpVV1zTD", + "title": "Marko Kucic", + "trustlines": 2295, + "placeInTop": null + }, + { + "id": 17223, + "code": "CreatureNFT", + "issuer": "rGWUGk9BUnknFeyPHSxmkv6UPnt4Zs4c92", + "title": "CreatureNFT", + "trustlines": 1215, + "placeInTop": null + }, + { + "id": 18420, + "code": "Loot", + "issuer": "rwJacRXodYJbmJgtjkPrq3zJ2WznCUNHB8", + "title": "xPixelTribes NFT", + "trustlines": 2796, + "placeInTop": null + }, + { + "id": 18633, + "code": "BIOX", + "issuer": "rELctAeDJweX171c359zo8V6zbmgosskkL", + "title": "BIOX\u20223DNFT 2\u00d7\u00d7\u00d7\u2022", + "trustlines": 1427, + "placeInTop": null + }, + { + "id": 18977, + "code": "CNY", + "issuer": "rJ1adrpGS3xsnQMb9Cw54tWJVFPuSdZHK", + "title": "Iripplepay", + "trustlines": 147, + "placeInTop": null + }, + { + "id": 16656, + "code": "ZAC", + "issuer": "rnFkVZytG6YZEGihGeGud9QPqjg4VgSXQg", + "title": "ZAC - NFT | Metaverse", + "trustlines": 1424, + "placeInTop": null + }, + { + "id": 18405, + "code": "SaveUkraine", + "issuer": "rERVWdcnYcWX66c3jH8BBTig47BUkF4bhN", + "title": "Save Ukraine! \ud83c\uddfa\ud83c\udde6", + "trustlines": 483, + "placeInTop": null + }, + { + "id": 17692, + "code": "RDD", + "issuer": "ra9eZxMbJrUcgV8ui7aPc161FgrqWScQxV", + "title": "Peercover", + "trustlines": 133, + "placeInTop": null + }, + { + "id": 19049, + "code": "BTC", + "issuer": "rnuF96W4SZoCJmbHYBFoJZpR8eCaxNvekK", + "title": "rippleCN", + "trustlines": 295, + "placeInTop": null + }, + { + "id": 18854, + "code": "XBeards", + "issuer": "rPdNJ8vZtneXFnmpxfe6bN3pSiwdXKsz6t", + "trustlines": 12598, + "placeInTop": null + }, + { + "id": 17085, + "code": "AURA", + "issuer": "rN2FLTp3TY3skA5axWFDBZJ1PFQMjaQ6V8", + "title": "MAYABLUE.X", + "trustlines": 910, + "placeInTop": null + }, + { + "id": 17693, + "code": "SGD", + "issuer": "r9Dr5xwkeLegBeXq6ujinjSBLQzQ1zQGjH", + "title": "Ripple Singapore", + "trustlines": 319, + "placeInTop": null + }, + { + "id": 18600, + "code": "xBTS", + "issuer": "rap2LWtavwsczeUVeWrXBQvizkTnhxWvLU", + "title": "BTSSTUDIOS", + "trustlines": 1289, + "placeInTop": null + }, + { + "id": 147, + "code": "Kraken", + "issuer": "rDrMVcBp81Zu2PsRXUSLnhojDJ3ARKmFa5", + "title": "KrakenNFT", + "trustlines": 4596, + "placeInTop": null + }, + { + "id": 17913, + "code": "XGOLF", + "issuer": "raJkCbedyFbLEETxAsGdEhVmdFe2BNJguT", + "title": "ApeX GOLF CLUB", + "trustlines": 3801, + "placeInTop": null + }, + { + "id": 18937, + "code": "JPY", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "title": "Bitstamp", + "trustlines": 219, + "placeInTop": null + }, + { + "id": 186, + "code": "XRPETE", + "issuer": "rwNMJ7S9cLMUeBG391eEk9psw4KcPpANKC", + "title": "Digital Black Dollar 1.0", + "trustlines": 3388, + "placeInTop": null + }, + { + "id": 16805, + "code": "DKS", + "issuer": "rpPEq83L7m5uVQ8sQ39eDSqwuWKnq9BHWF", + "trustlines": 1176, + "placeInTop": null + }, + { + "id": 97, + "code": "XrplEstate", + "issuer": "rfHXsDASoEphWsH6V2fmHyEbytkDscDZSA", + "title": "XRPL.ESTATE", + "trustlines": 3854, + "placeInTop": null + }, + { + "id": 17221, + "code": "XRPoodle", + "issuer": "rp1EfhEfouAZpvrLEGxWymLmPcEgJgUoCL", + "title": "XRPoodle", + "trustlines": 1389, + "placeInTop": null + }, + { + "id": 17550, + "code": "XAG", + "issuer": "r9Dr5xwkeLegBeXq6ujinjSBLQzQ1zQGjH", + "title": "Ripple Singapore", + "trustlines": 208, + "placeInTop": null + }, + { + "id": 17689, + "code": "FLC", + "issuer": "rKUxrnNCpXCXAz49Vhtoo6VLfsV7yxU7x3", + "title": "FLCFree", + "trustlines": 194, + "placeInTop": null + }, + { + "id": 17690, + "code": "BTC", + "issuer": "rPDXxSZcuVL3ZWoyU82bcde3zwvmShkRyF", + "title": "WisePass", + "trustlines": 129, + "placeInTop": null + }, + { + "id": 17743, + "code": "AGC", + "issuer": "rfqspG4S6H3NLYGecx3FHHYjPeYSNCdApf", + "trustlines": 131, + "placeInTop": null + }, + { + "id": 18360, + "code": "L3X", + "issuer": "rJUcFtzXGGnNfvsxYp9wVUmwmZikr8gS9G", + "trustlines": 677, + "placeInTop": null + }, + { + "id": 18691, + "code": "MAYUNG", + "issuer": "rMUWw9gAAA3tPcsE16EXxQfepa4Bz7uqjr", + "trustlines": 935, + "placeInTop": null + }, + { + "id": 204, + "code": "XRV", + "issuer": "rMav3Zzkoy4xBnowXkfJ4VGqCWowRvo91q", + "trustlines": 2289, + "placeInTop": null + }, + { + "id": 17318, + "code": "MinerCoin", + "issuer": "rJcDBGuShjinAbX2RU9uh1fkjhaSsBnA2Y", + "trustlines": 532, + "placeInTop": null + }, + { + "id": 17697, + "code": "ZPR", + "issuer": "rUSrgqXVFEw5ZaruTqiDrXDecRuGnhFqu8", + "title": "Z-payment", + "trustlines": 183, + "placeInTop": null + }, + { + "id": 18983, + "code": "BTRAX", + "issuer": "r9K7XjYJ1gYbiYMUpFH1kZMWRpXHjg62EN", + "title": "BTRAX", + "trustlines": 123, + "placeInTop": null + }, + { + "id": 17837, + "code": "RMB", + "issuer": "rLbppnUciWQ2AfLkcdTfBwb1yh97Kc9cfx", + "trustlines": 143, + "placeInTop": null + }, + { + "id": 18483, + "code": "xDoKids", + "issuer": "rPXAnR6jGjhLKDkULLTYxHTLJD6YaB8LRg", + "trustlines": 208, + "placeInTop": null + }, + { + "id": 19038, + "code": "GBP", + "issuer": "rBycsjqxD8RVZP5zrrndiVtJwht7Z457A8", + "title": "Ripula", + "trustlines": 154, + "placeInTop": null + }, + { + "id": 19060, + "code": "LTC", + "issuer": "rJHygWcTLVpSXkowott6kzgZU6viQSVYM1", + "title": "Justcoin", + "trustlines": 199, + "placeInTop": null + }, + { + "id": 17822, + "code": "WormiesPixel", + "issuer": "rUAB829ttzH55qJWEoTFTyyoFCCk3ffFLL", + "title": "WormiesPixel NFT", + "trustlines": 2484, + "placeInTop": null + }, + { + "id": 18926, + "code": "TPD", + "issuer": "rahwRP4um493Vj1AbNwXauNhq9NKaBGEGw", + "trustlines": 498, + "placeInTop": null + }, + { + "id": 16675, + "code": "Sports", + "issuer": "rUG5J5tUSXba4qEhQCQYAZuQuoGHbLyoSb", + "trustlines": 1799, + "placeInTop": null + }, + { + "id": 18022, + "code": "GBP", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "title": "Bitstamp", + "trustlines": 220, + "placeInTop": null + }, + { + "id": 18830, + "code": "BTC", + "issuer": "ra9eZxMbJrUcgV8ui7aPc161FgrqWScQxV", + "title": "Peercover", + "trustlines": 193, + "placeInTop": null + }, + { + "id": 17284, + "code": "WXWARS", + "issuer": "rpuxwHsnZzAd9GiX1kdkgmxgxmGEiH8bmS", + "trustlines": 510, + "placeInTop": null + }, + { + "id": 18421, + "code": "Bitcoin", + "issuer": "rDwXoFKfXEd1cvobSKbfziJ6MZXCgeeSGd", + "trustlines": 117, + "placeInTop": null + }, + { + "id": 18905, + "code": "XDUDEZ", + "issuer": "r39XAsDCCeTm9xSMHXbJVGQ9xGpSgBrHmb", + "trustlines": 279, + "placeInTop": null + }, + { + "id": 17022, + "code": "CoinShares", + "issuer": "rG8656fyrmQVvDfnA5FCYkRpGNUDWXqkQ2", + "title": "CoinShares", + "trustlines": 1148, + "placeInTop": null + }, + { + "id": 17053, + "code": "UMKM", + "issuer": "rLBiwuD6frqK7kZoHeCxRip5m11VZAtgAE", + "title": "UMKM", + "trustlines": 1900, + "placeInTop": null + }, + { + "id": 75, + "code": "UFO", + "issuer": "rD8eKQc7nwVDPspWn87oP8SVaio2kYvuGe", + "trustlines": 2964, + "placeInTop": null + }, + { + "id": 17466, + "code": "JerryCoin", + "issuer": "rHMSpKBiqJgStVrRWXp2m7yXouEGKZaDsW", + "title": "JerryCoin (XRPL)", + "trustlines": 119, + "placeInTop": null + }, + { + "id": 17756, + "code": "BTC", + "issuer": "rMLtFZE6ZvLkiRet8Bncs8EZEWQYXyXixN", + "title": "Christian", + "trustlines": 226, + "placeInTop": null + }, + { + "id": 265, + "code": "XFLAM", + "issuer": "rHNVwZbDdYG5v6LwTGLkxHfqkbahp82C2K", + "title": "XFLAM NFT", + "trustlines": 1417, + "placeInTop": null + }, + { + "id": 243, + "code": "SAP", + "issuer": "r3eSGpqe6TQViqWPusD9EUZCZRAp48SNRz", + "title": "Sapling", + "trustlines": 2673, + "placeInTop": null + }, + { + "id": 16810, + "code": "DIamondsAreForever", + "issuer": "rtFGbpDE4aG5RgpweVao4439BoPoCmzai", + "trustlines": 428, + "placeInTop": null + }, + { + "id": 18317, + "code": "TBG", + "issuer": "rLmEVaa5r6pAr41UjYu2MveQYdnAhB9qnV", + "title": "The Bird Gang 3D (on XRPL)", + "trustlines": 1598, + "placeInTop": null + }, + { + "id": 19078, + "code": "REP", + "issuer": "rB3gZey7VWHYRqJHLoHDEJXJ2pEPNieKiS", + "title": "Mr. Exchange", + "trustlines": 316, + "placeInTop": null + }, + { + "id": 17932, + "code": "BTS", + "issuer": "rKiCet8SdvWxPXnAgYarFUXMh1zCPz432Y", + "title": "Ripple Fox", + "trustlines": 106, + "placeInTop": null + }, + { + "id": 18085, + "code": "VIOLITY", + "issuer": "rahh5M9CqSH8GU7iN2yWVD8SmLqvjqb72q", + "title": "VIOLITY COIN", + "trustlines": 6210, + "placeInTop": null + }, + { + "id": 18445, + "code": "SER", + "issuer": "rq7vZn33BtRippR8Nv63ho5dDcwuXhKfm", + "title": "\ud83e\uddea\ud83e\uddea BMAC - Blind Mummy Apes Club\ud83d\udc99\ud83d\udc9b", + "trustlines": 187, + "placeInTop": null + }, + { + "id": 19063, + "code": "LTC", + "issuer": "rLEsXccBGNR3UPuPu2hUXPjziKC3qKSBun", + "title": "The Rock Trading", + "trustlines": 254, + "placeInTop": null + }, + { + "id": 17919, + "code": "ShinaInu", + "issuer": "rNRZeJgJrkrMp5VLxrB1yMvZC8jswddqoG", + "title": "Shina Inu XRP", + "trustlines": 1298, + "placeInTop": null + }, + { + "id": 18068, + "code": "xSOLDIER", + "issuer": "rNvEKeW4YidGSgV35swkkzFXeUCKRAHZrv", + "title": "xSOLDIER", + "trustlines": 1988, + "placeInTop": null + }, + { + "id": 257, + "code": "BDH", + "issuer": "r4MEoGepHyv1ZeBNM7R7k4GdmBiXnTDE9t", + "trustlines": 1451, + "placeInTop": null + }, + { + "id": 19107, + "code": "JPY", + "issuer": "rUT8s655PfCmd6GLek6LDefVsEHFnSW8Tg", + "title": "El-live", + "trustlines": 1495, + "placeInTop": null + }, + { + "id": 379, + "code": "MMX", + "issuer": "rEYnYboUF5z8QWQ8SsJTkARNkKGrA6Zgpc", + "trustlines": 4357, + "placeInTop": null + }, + { + "id": 16816, + "code": "DuckCoin", + "issuer": "rPM611tLXe65iT22sX4SdmgjiFq5Je9ubm", + "title": "Duck Art NFT@Japanese Creator", + "trustlines": 438, + "placeInTop": null + }, + { + "id": 17360, + "code": "PIKACHU", + "issuer": "rGk8tKECA9fxh38ikDAJYn1NSdDcYdY6XF", + "title": "MAYABLUE.X", + "trustlines": 210, + "placeInTop": null + }, + { + "id": 17470, + "code": "HULK", + "issuer": "rGk8tKECA9fxh38ikDAJYn1NSdDcYdY6XF", + "title": "MAYABLUE.X", + "trustlines": 144, + "placeInTop": null + }, + { + "id": 18045, + "code": "JCS", + "issuer": "rPU6sXCNzsjcTUEmgJQ5SxDUzY2y1RyYKd", + "title": "Jesus Christ Saves token (JCS)", + "trustlines": 755, + "placeInTop": null + }, + { + "id": 18683, + "code": "CPUNK", + "issuer": "rBEm7MdHwVpg9yhW5ygZCsFRDteL7qDhkL", + "trustlines": 310, + "placeInTop": null + }, + { + "id": 44, + "code": "Multiverse", + "issuer": "rwSL2dcMrF3Qgt6NzEmctEy8XdQBMbM7nG", + "title": "Multiverse", + "trustlines": 3454, + "placeInTop": null + }, + { + "id": 273, + "code": "xGIL", + "issuer": "rBTGEj2yAxMz6VLCd97wB6sG1htNmFuNLX", + "title": "The Xennials", + "trustlines": 654, + "placeInTop": null + }, + { + "id": 18454, + "code": "XRAPTOR", + "issuer": "r4kfpQUbs716GpcE8peKmDHaSGQwXZHBqb", + "title": "XRaptor", + "trustlines": 4053, + "placeInTop": null + }, + { + "id": 18652, + "code": "MAGIC", + "issuer": "rwCsCz93A1svS6Yv8hFqUeKLdTLhBpvqGD", + "trustlines": 202, + "placeInTop": null + }, + { + "id": 18764, + "code": "XSF", + "issuer": "rnZJrGXURD4VubtB5aDRBCsfphmbWBBokT", + "trustlines": 331, + "placeInTop": null + }, + { + "id": 17286, + "code": "XRMETA", + "issuer": "rwnNN6rQSi65U3agEB1jSaD5xc2sWRrNhA", + "title": "XR Meta Worlds", + "trustlines": 3026, + "placeInTop": null + }, + { + "id": 17291, + "code": "CAT", + "issuer": "rnY5qZei5KYoGV1FKv5mPEfC1CAR3aGk38", + "title": "XCATGIRL", + "trustlines": 478, + "placeInTop": null + }, + { + "id": 17758, + "code": "CAD", + "issuer": "raBDVR7JFq3Yho2jf7mcx36sjTwpRJJrGU", + "title": "Bluzelle", + "trustlines": 164, + "placeInTop": null + }, + { + "id": 18142, + "code": "BIRDIEBUCKZ", + "issuer": "rLazWTdfkhFsAscNyr1zCZDM7nxW17AALK", + "title": "BIRDIEBUCKZ", + "trustlines": 1737, + "placeInTop": null + }, + { + "id": 18063, + "code": "SANtoken", + "issuer": "rhZVq1wrgGqWTxoP217H6WxLEGmh3U1Tie", + "title": "Satoshi San", + "trustlines": 8919, + "placeInTop": null + }, + { + "id": 19061, + "code": "LTC", + "issuer": "rNPRNzBB92BVpAhhZr4iXDTveCgV5Pofm9", + "title": "Payroutes", + "trustlines": 189, + "placeInTop": null + }, + { + "id": 16890, + "code": "XRI", + "issuer": "rBhGj6Hn2MMDe3Jf9toPmqGRxgYbq6RHTR", + "trustlines": 1600, + "placeInTop": null + }, + { + "id": 18019, + "code": "BTC", + "issuer": "rBfVgTnsdh8ckC19RM8aVGNuMZnpwrMP6n", + "trustlines": 2428, + "placeInTop": null + }, + { + "id": 18579, + "code": "DFG", + "issuer": "rUfSfEZVyAJDZaRciWYGRAFfB61Wri7LQJ", + "title": "xDeepGifs", + "trustlines": 10137, + "placeInTop": null + }, + { + "id": 18832, + "code": "XPBK", + "issuer": "rDKWKyBQ1pRjLk4v21MZDd2TeZcsGMfQLR", + "trustlines": 433, + "placeInTop": null + }, + { + "id": 18988, + "code": "USD", + "issuer": "r9vbV3EHvXWjSkeQ6CAcYVPGeq7TuiXY2X", + "title": "WeExchange", + "trustlines": 124, + "placeInTop": null + }, + { + "id": 114, + "code": "UtopiaCoin", + "issuer": "rBfJyugMXyLuE42CM8fVcMBvGt7EhYK9Yh", + "title": "world Utopia", + "trustlines": 2566, + "placeInTop": null + }, + { + "id": 153, + "code": "FUNG", + "issuer": "rHJZySo32ni2VFcnAbevhkEBRBn42wmW6b", + "title": "The Fungal Foundation", + "trustlines": 4386, + "placeInTop": null + }, + { + "id": 264, + "code": "Xmas", + "issuer": "r3KSsS21XwJQgNz4k7MnrHDXgueFYRfn3g", + "title": "Xmas", + "trustlines": 2359, + "placeInTop": null + }, + { + "id": 18318, + "code": "RVRSE", + "issuer": "rHfxbz1LayuEv6GiS46PHmQiW61wDnmCZy", + "title": "ELEMENTUM RELMVERSE", + "trustlines": 1658, + "placeInTop": null + }, + { + "id": 18839, + "code": "XPCH", + "issuer": "rUAWSkedYnTK42QRZeUzNDqZFJZBTPCHrk", + "title": "XPCHANGER", + "trustlines": 1090, + "placeInTop": null + }, + { + "id": 17352, + "code": "VENOM", + "issuer": "rN2FLTp3TY3skA5axWFDBZJ1PFQMjaQ6V8", + "title": "MAYABLUE.X", + "trustlines": 248, + "placeInTop": null + }, + { + "id": 19039, + "code": "AUD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "title": "Bitstamp", + "trustlines": 129, + "placeInTop": null + }, + { + "id": 121, + "code": "XCHEESEMOON", + "issuer": "rE6F5x9SCyMouBBBRKyoxvpdUkxiTb5wtq", + "title": "XCHEESEMOON", + "trustlines": 3568, + "placeInTop": null + }, + { + "id": 211, + "code": "PIXELS", + "issuer": "rJs4bB6dTHY7GBva5TfT4usBk8wnGdZ4CA", + "title": "PixelsNFT", + "trustlines": 2465, + "placeInTop": null + }, + { + "id": 16817, + "code": "MSNGR1", + "issuer": "rHAhxoWNM8vNt5VENuTtS2UAF6BHpDfM7", + "title": "Center for Collaborative Economics", + "trustlines": 284, + "placeInTop": null + }, + { + "id": 58, + "code": "NSM", + "issuer": "rhtR4fZnbCBpEMk6mqdYrXpy1vNUbAcgYM", + "trustlines": 1757, + "placeInTop": null + }, + { + "id": 71, + "code": "NGoat", + "issuer": "rEs1552ZJS5N9g5L612XSYd7KTuawa8Gtq", + "title": "NGoat", + "trustlines": 3065, + "placeInTop": null + }, + { + "id": 16954, + "code": "TWETTY", + "issuer": "raVFV5cMjZYxHxQ4c67YYffyzjSQCXKUDZ", + "title": "TWETTY TOKEN", + "trustlines": 3211, + "placeInTop": null + }, + { + "id": 17334, + "code": "Iqc", + "issuer": "rBfhKxjwEhmnU7jXgAwdvjB3qjW7RhFkGk", + "title": "IQ cutie", + "trustlines": 256, + "placeInTop": null + }, + { + "id": 18021, + "code": "CHF", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "title": "Bitstamp", + "trustlines": 102, + "placeInTop": null + }, + { + "id": 18605, + "code": "INT", + "issuer": "rh3c9m4unJ2HUpeCoMT5UZ3EDRzd7uBaG2", + "title": "INFINITUM", + "trustlines": 15985, + "placeInTop": null + }, + { + "id": 18885, + "code": "ASS", + "issuer": "rNfPfYv4Ysmrcwz7VTBs6GMhh5GSXexNA8", + "trustlines": 141, + "placeInTop": null + }, + { + "id": 17205, + "code": "FDG", + "issuer": "r9ajH627G23Ex8AAxYkdGaK8eXJ8EapRJE", + "trustlines": 583, + "placeInTop": null + }, + { + "id": 17864, + "code": "MOOD", + "issuer": "rGQtGHrgN4FK1RcEn83q4t8aK6BobzDEMK", + "title": "MOOD", + "trustlines": 999, + "placeInTop": null + }, + { + "id": 18248, + "code": "XRSHINJA", + "issuer": "rsGXGiNsvpCXCm3oybsWqXgrw5BEhY6rRu", + "title": "XRshinja", + "trustlines": 1359, + "placeInTop": null + }, + { + "id": 18456, + "code": "BON", + "issuer": "rHkqAyggqiSvhBdrvfbCbzqbD6nUyGy2CQ", + "title": "Doggy coin", + "trustlines": 257, + "placeInTop": null + }, + { + "id": 18910, + "code": "xHOPE", + "issuer": "rsNrejFNpzZeup75gchNotWeJZDCU1cXKz", + "title": "xHOPE", + "trustlines": 622, + "placeInTop": null + }, + { + "id": 237, + "code": "XrDragonFly", + "issuer": "rKMqegsS5uQbEDU8aDAq2NDtjmDvw465dS", + "trustlines": 1989, + "placeInTop": null + }, + { + "id": 376, + "code": "CodeFuel", + "issuer": "rsF5u4uqCQeRCUkdcBqdabbWTdytw9HxWW", + "title": "CodeCoin", + "trustlines": 617, + "placeInTop": null + }, + { + "id": 17479, + "code": "GALACTUS", + "issuer": "rGk8tKECA9fxh38ikDAJYn1NSdDcYdY6XF", + "title": "MAYABLUE.X", + "trustlines": 104, + "placeInTop": null + }, + { + "id": 17486, + "code": "CHARIZARD", + "issuer": "rGk8tKECA9fxh38ikDAJYn1NSdDcYdY6XF", + "title": "MAYABLUE.X", + "trustlines": 144, + "placeInTop": null + }, + { + "id": 19057, + "code": "USD", + "issuer": "rpDMez6pm6dBve2TJsmDpv7Yae6V5Pyvy2", + "title": "Lake BTC", + "trustlines": 178, + "placeInTop": null + }, + { + "id": 232, + "code": "xDef", + "issuer": "r41kez71qtoNGjMGU8bAFHKt7LCTPdupHi", + "title": "def", + "trustlines": 722, + "placeInTop": null + }, + { + "id": 17183, + "code": "Q17", + "issuer": "rBfhKxjwEhmnU7jXgAwdvjB3qjW7RhFkGk", + "title": "IQ cutie", + "trustlines": 501, + "placeInTop": null + }, + { + "id": 18286, + "code": "XREnergy", + "issuer": "rhc5KqhFNvqwcEYzLqN1V7ypZjQdM7FSXi", + "title": "XrEnergy", + "trustlines": 4788, + "placeInTop": null + }, + { + "id": 18423, + "code": "XWARS", + "issuer": "r9WCKRUG6Cp4tTTLNs3jEFKBUvrbikZ2yr", + "title": "XWars NFT | XRPL", + "trustlines": 313, + "placeInTop": null + }, + { + "id": 83, + "code": "Drizakeo", + "issuer": "rMrCjb6kBtXSFKx8ABMAtCo9H9ChDZE7WK", + "title": "XRP_Drizakeo", + "trustlines": 2512, + "placeInTop": null + }, + { + "id": 92, + "code": "xGBTC", + "issuer": "r4ZXk448HRwZN57H4X8GXXkr93hJQojgWQ", + "title": "RKIDZ_official (Former xGBTC)", + "trustlines": 5915, + "placeInTop": null + }, + { + "id": 282, + "code": "GOD", + "issuer": "rsBd5xoQN4GEpdqtCf4CUHycQYvPF31Fvn", + "trustlines": 431, + "placeInTop": null + }, + { + "id": 16977, + "code": "Xmicron", + "issuer": "rHULkU1xNzhaycHcHeNWFJQ2Jgpamuy4zQ", + "title": "Xmicron", + "trustlines": 556, + "placeInTop": null + }, + { + "id": 17013, + "code": "RSS", + "issuer": "rBKMemZWVwfwm3TfeD3Nt7FpwRTrDzvhh8", + "title": "RSS token / Captivatoken", + "trustlines": 1750, + "placeInTop": null + }, + { + "id": 18806, + "code": "YUM", + "issuer": "rMg4ZumKpM2BekKrFDUCRULBSvuiMqbYUM", + "trustlines": 7192, + "placeInTop": null + }, + { + "id": 133, + "code": "THCoin", + "issuer": "rs1x5ZqpE6SUMfpnvjZhQyQCbLhtYu2sKx", + "title": "$THCoin", + "trustlines": 1450, + "placeInTop": null + }, + { + "id": 287, + "code": "XStorm", + "issuer": "rGe6YD14SMJXSasbTw6fNHnK9ZdLh2PMUw", + "trustlines": 830, + "placeInTop": null + }, + { + "id": 18566, + "code": "AUD", + "issuer": "rsP3mgGb2tcYUrxiLFiHJiQXhsziegtwBc", + "title": "Coinex", + "trustlines": 1226, + "placeInTop": null + }, + { + "id": 17017, + "code": "xQuotient", + "issuer": "rpjYnDqU3sFrA8R4AeYqXtJiDEHmy9a33A", + "trustlines": 1536, + "placeInTop": null + }, + { + "id": 17292, + "code": "MOON", + "issuer": "rGQtGHrgN4FK1RcEn83q4t8aK6BobzDEMK", + "title": "GORILLA$Gold XRP", + "trustlines": 1304, + "placeInTop": null + }, + { + "id": 18196, + "code": "APPOLIS", + "issuer": "rpw7nNCNQWj9hjV1fonjgox7q4Mb2TkqtU", + "title": "CRYPTAPPOLIS", + "trustlines": 5477, + "placeInTop": null + }, + { + "id": 18681, + "code": "XDistrict", + "issuer": "rwtPQV4gu83aLagD74rM8mjYNknigXAKL4", + "title": "XDistrict", + "trustlines": 699, + "placeInTop": null + }, + { + "id": 56, + "code": "XRDogeGF", + "issuer": "rEMhjbzTbtGN451Ckw39m82PJg2kM7n23b", + "title": "xdogegf", + "trustlines": 2208, + "placeInTop": null + }, + { + "id": 88, + "code": "HTL", + "issuer": "rhH3hVt8kbbqLVNwT52AhfJYBN7aRXsSgX", + "title": "Hotel Coin", + "trustlines": 5835, + "placeInTop": null + }, + { + "id": 108, + "code": "XNARWHAL", + "issuer": "rwav87wr2c3DPNXneidEm3dGUgY6EBf8mo", + "title": "XNARWHAL XRPL NFT", + "trustlines": 2948, + "placeInTop": null + }, + { + "id": 17475, + "code": "RONIN", + "issuer": "rGk8tKECA9fxh38ikDAJYn1NSdDcYdY6XF", + "title": "MAYABLUE.X", + "trustlines": 132, + "placeInTop": null + }, + { + "id": 18367, + "code": "FOREST", + "issuer": "rE9zfbno2FE9hJNfpuBzWL4AtEyRNtNJLX", + "title": "Love Monster \uea00", + "trustlines": 544, + "placeInTop": null + }, + { + "id": 18872, + "code": "XDPC", + "issuer": "rByyTXWjLnYxKRVD39XbvV6YZjDYRGLbyW", + "title": "Dripped Tech", + "trustlines": 7990, + "placeInTop": null + }, + { + "id": 122, + "code": "Robot", + "issuer": "rEiYPtVB19fgasmonT9WUjX4cmC8YjSDqv", + "title": "RoboCoin", + "trustlines": 2982, + "placeInTop": null + }, + { + "id": 17000, + "code": "DRIFTTOKEN", + "issuer": "r3LMUktBCGYteqri1b35ifcRdkZ9uFiEWE", + "title": "DRIFTTOKEN", + "trustlines": 2191, + "placeInTop": null + }, + { + "id": 17195, + "code": "ANOYA", + "issuer": "rHzp9zuLb9b7pRwskKN259NsyzTRmMVJBR", + "title": "ANOYA", + "trustlines": 567, + "placeInTop": null + }, + { + "id": 19086, + "code": "BambooSwap", + "issuer": "rnptNDiFdEZoM67XpR8WQu7zQLSwsuXwjv", + "title": "BambooSwap", + "trustlines": 206, + "placeInTop": null + }, + { + "id": 17544, + "code": "XCC", + "issuer": "rUFcQnmGYEuvJVJnZy8QBc9ouKJbpvK7QU", + "title": "DigitalCurrency-ALL", + "trustlines": 129, + "placeInTop": null + }, + { + "id": 17844, + "code": "XRTIGER", + "issuer": "r4bLPg11nvq23XcGamtdDUWQ29chA5UhYo", + "title": "xrTiger", + "trustlines": 1139, + "placeInTop": null + }, + { + "id": 17845, + "code": "XWGL", + "issuer": "rhMz9DtWqjvG7L3MGqFo46UiYnACQoExXq", + "title": "XWiggle", + "trustlines": 1971, + "placeInTop": null + }, + { + "id": 18097, + "code": "METAVERSE", + "issuer": "rGeGwsRy6mqcgJ7cUN39tmWwzCMhJE91VL", + "title": "METAVERSE", + "trustlines": 903, + "placeInTop": null + }, + { + "id": 18951, + "code": "COCONUTS", + "issuer": "rU5mbWvY2ZuUHnX9kv4TMVR8ctns32DXwR", + "trustlines": 181, + "placeInTop": null + }, + { + "id": 101, + "code": "xTulips", + "issuer": "rUZNppbpNCvvsaBt2XxRhsV3TEtotir4Ps", + "title": "XRPL - xTulips", + "trustlines": 2045, + "placeInTop": null + }, + { + "id": 17168, + "code": "MYBALLS", + "issuer": "rf6R7t11MubRLUcR17ngkLvoQbuRbmHvHV", + "trustlines": 868, + "placeInTop": null + }, + { + "id": 18745, + "code": "GBB", + "issuer": "rNy5WCqUGi3qWiQumYrcCqz4zyBVfKv1Sz", + "trustlines": 210, + "placeInTop": null + }, + { + "id": 107, + "code": "CRYSTAL", + "issuer": "rJ9QRoE5tmuwwpX5LJwefAxao2odPhKUkC", + "title": "CRYSTAL", + "trustlines": 2271, + "placeInTop": null + }, + { + "id": 279, + "code": "Squid", + "issuer": "rJQZQyG8JbxdDFzWR7iKjWfq68rTd9bRY7", + "trustlines": 438, + "placeInTop": null + }, + { + "id": 18593, + "code": "CHIWEENIE", + "issuer": "rpkKss6Dndbs17xkPgAMob4mzQURshh3Rd", + "title": "Chiweenie Gang \ud83d\udc36 XRPL NFT", + "trustlines": 1799, + "placeInTop": null + }, + { + "id": 206, + "code": "Xowl", + "issuer": "rPUJshc2EqJkAw3Yj8NDXHVg3gsuS25ywD", + "title": "Xowl", + "trustlines": 2857, + "placeInTop": null + }, + { + "id": 224, + "code": "XSlime", + "issuer": "rNiPyJBQRpnGTzXtX9NCHUxK89wAPtYXg4", + "title": "XSlime", + "trustlines": 2430, + "placeInTop": null + }, + { + "id": 17264, + "code": "Sand", + "issuer": "r3V7BTuupF5mACHg2vpDRotDqGbMPh5GMv", + "trustlines": 934, + "placeInTop": null + }, + { + "id": 32, + "code": "Bears", + "issuer": "rEiX8SjACtfq1Hhyjb6RGywuqpJx5S7ivT", + "title": "Brave Bears", + "trustlines": 1637, + "placeInTop": null + }, + { + "id": 43, + "code": "MOIN", + "issuer": "rwQUNK99CsdQGv1D159YbcCFde9SvfZ5Lc", + "title": "MOIN", + "trustlines": 2289, + "placeInTop": null + }, + { + "id": 53, + "code": "hellz", + "issuer": "rK6AXD3rh1PZviVNUvYVtagjGn1W5Y9qwv", + "title": "Rocketfella DeMoon", + "trustlines": 2248, + "placeInTop": null + }, + { + "id": 17555, + "code": "XID", + "issuer": "rHNcPKr7kyKc2YMgC77wX9QBGZZJmPX3Sq", + "title": "Garaxia", + "trustlines": 508, + "placeInTop": null + }, + { + "id": 8, + "code": "BabyXRP", + "issuer": "rB4uA81SR2pTtdPRX1A67jD8kxya6cmTnj", + "title": "BabyXRP", + "trustlines": 1871, + "placeInTop": null + }, + { + "id": 17154, + "code": "XMEME*PROPERTY*Pool", + "issuer": "rwrARYbfw3XBQfM19qyJBWupMGvxFyfKpE", + "trustlines": 716, + "placeInTop": null + }, + { + "id": 16753, + "code": "ASTRO", + "issuer": "r3ntcD5rB42dhJRKb3bKKbkci9vCKMSGe4", + "title": "ASTRO", + "trustlines": 3431, + "placeInTop": null + }, + { + "id": 16873, + "code": "FLY", + "issuer": "rRv7cJEoKwQpBC3RoJBjy5LpbpKYDJq2n", + "trustlines": 1829, + "placeInTop": null + }, + { + "id": 16877, + "code": "LGB", + "issuer": "rPxpxtvnettNyuD7daQd36mURiLRC5kX1k", + "trustlines": 1747, + "placeInTop": null + }, + { + "id": 16950, + "code": "SHIT", + "issuer": "rsWMZk95Y116pRDdgowiCskA9k2gsNDWvC", + "title": "xShit", + "trustlines": 919, + "placeInTop": null + }, + { + "id": 18744, + "code": "DQS", + "issuer": "rNy5WCqUGi3qWiQumYrcCqz4zyBVfKv1Sz", + "trustlines": 361, + "placeInTop": null + }, + { + "id": 19085, + "code": "CaRRots", + "issuer": "rafgLy8LPU3mqMGCRbkJcaGWuDwoUCAuwQ", + "title": "XRDonkey", + "trustlines": 229, + "placeInTop": null + }, + { + "id": 19, + "code": "MetaMind", + "issuer": "rsXreKYGtmSzJi8ZnSdBTMgQnqaQ5V8H7S", + "title": "MetaMind", + "trustlines": 2124, + "placeInTop": null + }, + { + "id": 17850, + "code": "DuskCity", + "issuer": "rLHrC9UbWkEPKscwTzXGZVvZsQmfZst3fq", + "title": "DuskCity", + "trustlines": 1862, + "placeInTop": null + }, + { + "id": 18121, + "code": "LTC", + "issuer": "rBfVgTnsdh8ckC19RM8aVGNuMZnpwrMP6n", + "trustlines": 1370, + "placeInTop": null + }, + { + "id": 18377, + "code": "XMetaShiba", + "issuer": "rHze1SoTdFsfzEEoBRktSfBfbvBuWYTcVX", + "title": "XMetaShiba", + "trustlines": 4557, + "placeInTop": null + }, + { + "id": 18736, + "code": "ALT", + "issuer": "rabAY9tuU3T5zbYbyo7JcTevtwpjS83Ypc", + "title": "ALTseason", + "trustlines": 894, + "placeInTop": null + }, + { + "id": 111, + "code": "Aquaverse", + "issuer": "rLHB5uY44TyrMiY6jss35GC5uqFq1aZvL3", + "title": "Aquaverse", + "trustlines": 2492, + "placeInTop": null + }, + { + "id": 192, + "code": "GOONS", + "issuer": "r9qzEdXC2haAkCqE61rBwLW9VnWnCxSmFE", + "title": "XRP GOONS NFT / XRP DOODLE PUNKS NFT", + "trustlines": 3273, + "placeInTop": null + }, + { + "id": 210, + "code": "RUBY", + "issuer": "rQhCaHR3FHwAFSibHAzZCRBMtfLMczUhMK", + "title": "Ruby Play Network", + "trustlines": 1966, + "placeInTop": null + }, + { + "id": 16764, + "code": "STAR", + "issuer": "ratQpkkji1EwuX3b71xAnvssVTdDQkdeCv", + "trustlines": 509, + "placeInTop": null + }, + { + "id": 16872, + "code": "XIB", + "issuer": "rhoqaYdqnjEp4RmZuUCpLiYRsMTTMoJ37r", + "trustlines": 1047, + "placeInTop": null + }, + { + "id": 18826, + "code": "LOW", + "issuer": "rrzQdKukvET4tE7ZmUSxJrAmXAquQnMFG", + "title": "Legends of Warriors", + "trustlines": 823, + "placeInTop": null + }, + { + "id": 18915, + "code": "YXRP", + "issuer": "rEzPNsT6RzKj6ocQw3TjMBjBP2w5M2RiAS", + "trustlines": 106, + "placeInTop": null + }, + { + "id": 20, + "code": "MAA", + "issuer": "rHVCcQYcEuQ7z5bDZXFXe8devDK7Qs2ZAW", + "title": "Xmonkeyz", + "trustlines": 1825, + "placeInTop": null + }, + { + "id": 16680, + "code": "Spidey", + "issuer": "rsK5Hq8eGCkjmjPjYo8vSzfDwYnrqH3yC5", + "title": "Spidey", + "trustlines": 1548, + "placeInTop": null + }, + { + "id": 16683, + "code": "MAB", + "issuer": "rHVCcQYcEuQ7z5bDZXFXe8devDK7Qs2ZAW", + "title": "Xmonkeyz", + "trustlines": 1584, + "placeInTop": null + }, + { + "id": 17169, + "code": "ElonCumV2", + "issuer": "rsJ2rPXQhomvas42UKqDUWKXtMj3JoYLom", + "trustlines": 1138, + "placeInTop": null + }, + { + "id": 17972, + "code": "XRR", + "issuer": "rbkkBEKbToXLdqC8vPdCRgh4wf3kVD9zd", + "trustlines": 140, + "placeInTop": null + }, + { + "id": 296, + "code": "VOTE", + "issuer": "rsHukuxaGdUPUQgAc5568Avb9V6sk15R2w", + "title": "VOTE", + "trustlines": 757, + "placeInTop": null + }, + { + "id": 17044, + "code": "hellzANGELS", + "issuer": "rfya4QvfJEM7rUKUp9BLTGnUoUYaKDRUTa", + "title": "Rocketfella DeMoon", + "trustlines": 1388, + "placeInTop": null + }, + { + "id": 18417, + "code": "VCT", + "issuer": "rUwbSpFZeiJ5fNb1PjhFwyMrcQdj5URtNE", + "title": "VIRTUAL CITY TOKEN", + "trustlines": 1861, + "placeInTop": null + }, + { + "id": 152, + "code": "XAnimalier", + "issuer": "rJmuQJGXSkaoru4SeoCTUiYFf5wwaqARoc", + "title": "XAnimalier_NFT_Token", + "trustlines": 2302, + "placeInTop": null + }, + { + "id": 16743, + "code": "PoopyGary", + "issuer": "rp8XtYFuqneAztu9rue9L6EF774oLFD7YB", + "title": "GTFO GARY", + "trustlines": 692, + "placeInTop": null + }, + { + "id": 17104, + "code": "XRPLGOLD", + "issuer": "rJpjxzativvm31tEh9frBBBvuqhCssom4D", + "title": "XRPL.Gold", + "trustlines": 704, + "placeInTop": null + }, + { + "id": 17157, + "code": "CO2", + "issuer": "rQas7oYeAPR1tN7dzPq9xrYqE4yfrmvHky", + "title": "CO2ious", + "trustlines": 1473, + "placeInTop": null + }, + { + "id": 17177, + "code": "XRPORSHA", + "issuer": "r9WUWJrCJ87MRGmNhVNDd1XwLXm9A6dH6c", + "title": "X.R.PETE", + "trustlines": 753, + "placeInTop": null + }, + { + "id": 17369, + "code": "VVIIIIXDIAMONDHANDS", + "issuer": "rNmrNAmQwzKWUTcoW69s6fZ23iUpKJZEnK", + "title": "Diamond", + "trustlines": 147, + "placeInTop": null + }, + { + "id": 17881, + "code": "BEER", + "issuer": "rMyLn261pBVKtgMbzFpbAsFFBL7ksbFvvM", + "title": "CUTE Token XRPL", + "trustlines": 823, + "placeInTop": null + }, + { + "id": 18277, + "code": "OWL", + "issuer": "rKE5db4MR3Y6Hf7rMFMW8s8PvUQkqmJoy8", + "title": "CryptoOwl", + "trustlines": 1617, + "placeInTop": null + }, + { + "id": 16625, + "code": "MAC", + "issuer": "rHVCcQYcEuQ7z5bDZXFXe8devDK7Qs2ZAW", + "title": "Xmonkeyz", + "trustlines": 422, + "placeInTop": null + }, + { + "id": 16939, + "code": "BUN", + "issuer": "rG7YrUpRQUq7wsr9m44aZTvXUrMe9zjTG5", + "title": "$BUN/$EGG", + "trustlines": 2695, + "placeInTop": null + }, + { + "id": 17118, + "code": "XPIMPIN", + "issuer": "rUmwhpkg6L9yENtY8ovrVekBhAfkEdnwPr", + "trustlines": 330, + "placeInTop": null + }, + { + "id": 18418, + "code": "XCFN", + "issuer": "rnGBXMR8qeEfcjZAbM9cu7xXPBcBXMiJBv", + "title": "xCFN | Crypto Financial Network", + "trustlines": 1065, + "placeInTop": null + }, + { + "id": 18526, + "code": "Xcrb", + "issuer": "rG6dVRn7dNkyFgJX3RvNkUoTqrVLMe5i1i", + "title": "XMetacribz", + "trustlines": 636, + "placeInTop": null + }, + { + "id": 13, + "code": "TBE", + "issuer": "rP9szzcmZp2PrJEhrCskiRT3ESM1kcmYLL", + "title": "TerraMammal", + "trustlines": 802, + "placeInTop": null + }, + { + "id": 78, + "code": "xRabbit", + "issuer": "rKXHVEekLubmBZQj6fTSGwk9yfaoC7nPGk", + "title": "xRabbit", + "trustlines": 3525, + "placeInTop": null + }, + { + "id": 115, + "code": "EVA", + "issuer": "rf1xyzhgedeJUegPfVP69fEjqpzGusLP9Q", + "title": "EVA", + "trustlines": 1964, + "placeInTop": null + }, + { + "id": 17371, + "code": "KRYPTON", + "issuer": "rN2FLTp3TY3skA5axWFDBZJ1PFQMjaQ6V8", + "title": "MAYABLUE.X", + "trustlines": 110, + "placeInTop": null + }, + { + "id": 17442, + "code": "COFFEE", + "issuer": "rLwxtcVyuU3EVJZQhN9h3ZtbMBVNm9sh9r", + "trustlines": 131, + "placeInTop": null + }, + { + "id": 18369, + "code": "JNKZ", + "issuer": "rhc6NxfCW74z4zJKTPPc2kNg1sh8EoX3H5", + "title": "Whitelist Junkiez", + "trustlines": 1649, + "placeInTop": null + }, + { + "id": 18403, + "code": "BRBR", + "issuer": "rEzHW6nqgU6fquF3jeV37H8jS9jnGJwwAu", + "title": "Barber Coin", + "trustlines": 615, + "placeInTop": null + }, + { + "id": 18407, + "code": "XMonke", + "issuer": "rUzHZZ74Yain1Pu7ZsLH4VsF6WaQ1fUkL6", + "title": "xMonke | XRPL - Pre Sale live now!", + "trustlines": 803, + "placeInTop": null + }, + { + "id": 18552, + "code": "xrAPE", + "issuer": "rnxUn5EosoE9BhWHvCkFHWrwAEgmx5ogJq", + "title": "xrAPE", + "trustlines": 681, + "placeInTop": null + }, + { + "id": 18992, + "code": "xWing", + "issuer": "r4VyMvq1FyPJ8h27hVQYgKZxD3jTDmE4C1", + "title": "xWINGS", + "trustlines": 11409, + "placeInTop": null + }, + { + "id": 61, + "code": "RFL", + "issuer": "ra34sTcYZAEScDwp7zKug43yL4XwDtg6qH", + "title": "Rufalo", + "trustlines": 2999, + "placeInTop": null + }, + { + "id": 102, + "code": "MonkeyBucks", + "issuer": "rwK7r9CcfCXRLWxM2Sfc4DN2M9NnekYG22", + "trustlines": 2160, + "placeInTop": null + }, + { + "id": 17171, + "code": "Aqua", + "issuer": "r36n9PBrv7vNuok4Bok3dj1Hn87CuzMeTY", + "title": "Aqua", + "trustlines": 370, + "placeInTop": null + }, + { + "id": 18399, + "code": "XSUP", + "issuer": "rJQt4a313p5W32W2UY2BEBTDBgyikd3PGS", + "title": "X- SUP", + "trustlines": 2690, + "placeInTop": null + }, + { + "id": 18449, + "code": "XMND", + "issuer": "rEMAJB3rVeufmZuTqA9oAafwcp3HrXJTS5", + "title": "M\u2200NDRILL", + "trustlines": 1462, + "placeInTop": null + }, + { + "id": 16940, + "code": "CATCOIN", + "issuer": "rKxReH5riwRFzhJdZULT4SyybTZ8EffW4p", + "title": "CAT COIN", + "trustlines": 1392, + "placeInTop": null + }, + { + "id": 17382, + "code": "Concepts", + "issuer": "rKBWxeTF2TsURqYdgMCDv1s5fhogUp9XdG", + "title": "Digital Concepts", + "trustlines": 672, + "placeInTop": null + }, + { + "id": 17677, + "code": "SYS", + "issuer": "rJr7aKTWthoXgMS65W86fzC5Ccu38ShhXv", + "title": "SYSTEMAXRPL", + "trustlines": 4187, + "placeInTop": null + }, + { + "id": 18510, + "code": "SSTEAM", + "issuer": "rMkxC2pFKCfBdjF9LAJyzneHAhDssaafri", + "title": "Shiba Spaceship Team", + "trustlines": 4517, + "placeInTop": null + }, + { + "id": 16880, + "code": "Kiss", + "issuer": "rnHQqnwWGJ4RXs515LTvdGTNXhWtpYseY3", + "title": "SendMeKiss", + "trustlines": 1777, + "placeInTop": null + }, + { + "id": 17860, + "code": "Zerolimits", + "issuer": "rnES5iow3n1PzUa24fi61DYusxWPDNkD2P", + "title": "ZeroLimits", + "trustlines": 2620, + "placeInTop": null + }, + { + "id": 18525, + "code": "xVIP", + "issuer": "rE152quC47yC128sGJKYfJYN7vjx7of4Mq", + "trustlines": 136, + "placeInTop": null + }, + { + "id": 18923, + "code": "SPR", + "issuer": "rNqTJRgWeWaf75qaTQKg2TNXVpysuR1N9M", + "trustlines": 351, + "placeInTop": null + }, + { + "id": 18991, + "code": "XL2", + "issuer": "rBKtqxDNFdPavMPTnWAdoiokF5mJ3dGMYZ", + "title": "Lineage II XRP", + "trustlines": 670, + "placeInTop": null + }, + { + "id": 16851, + "code": "MOLE", + "issuer": "rEPU1qNvPkYC9hJtrD3rVuCJt8NV8DyEck", + "trustlines": 1405, + "placeInTop": null + }, + { + "id": 16888, + "code": "LUV", + "issuer": "r3nCM71dq1fS2tUNXoJfJgqkXUV2tsE4S4", + "title": "1111Love", + "trustlines": 765, + "placeInTop": null + }, + { + "id": 16911, + "code": "MoonParty", + "issuer": "rf4yfV3MmKKhsEUVAvoVeg6kGS5fR9vvuH", + "trustlines": 1654, + "placeInTop": null + }, + { + "id": 17308, + "code": "HBX", + "issuer": "rpTUkUBRXzc9qxSemyRGFn1igGgb22Mpgm", + "trustlines": 448, + "placeInTop": null + }, + { + "id": 17370, + "code": "XMEME*StabilityPool1", + "issuer": "rLu5fHv3Fqf6c9DBAv1LJufokVRVFhjBaW", + "title": "NFT Private Bank (Matic V2 hybrid NFTs)", + "trustlines": 134, + "placeInTop": null + }, + { + "id": 18366, + "code": "BEER", + "issuer": "rJSPpLt2tjxaVTaKVBrCPn3Lj8TWZ4y6CY", + "title": "BEER Token", + "trustlines": 945, + "placeInTop": null + }, + { + "id": 18969, + "code": "BROTHEL", + "issuer": "rfA5gMg37fKLq9wL3hsiPxi5MtoCK3ENfn", + "trustlines": 163, + "placeInTop": null + }, + { + "id": 36, + "code": "Beez", + "issuer": "rsUZwB2sgFZiHY8XooW2cVzMmCZfcwiWxJ", + "trustlines": 2340, + "placeInTop": null + }, + { + "id": 175, + "code": "TWITCHCOIN", + "issuer": "raYeuXagc8j7NfzRJRLCqyXqzPpKFLWbJU", + "title": "$Ripple\\TWITCHCOIN", + "trustlines": 1220, + "placeInTop": null + }, + { + "id": 17009, + "code": "XRPC", + "issuer": "rJXQCqcjjmBouu7x2pYF6PKKBt7waVAR9D", + "title": "x", + "trustlines": 2497, + "placeInTop": null + }, + { + "id": 17011, + "code": "XLeMi", + "issuer": "rEgLd5rcZ9CUdpDhNZ6vnkpznXQBnwTUna", + "title": "XLeMi", + "trustlines": 1008, + "placeInTop": null + }, + { + "id": 17037, + "code": "BZO", + "issuer": "rHyB8fpHCTB4NhwayEtNH9DsjLue33n1ph", + "trustlines": 973, + "placeInTop": null + }, + { + "id": 17239, + "code": "SAA", + "issuer": "rEN3MR4XsJCTNTVzYAMq82RDSdNhRU2ejb", + "title": "XSkeleton", + "trustlines": 433, + "placeInTop": null + }, + { + "id": 18383, + "code": "QUARRY", + "issuer": "rnNsTa5w5hw3KbTVF7rDQd7RWUEje5Ak5C", + "title": "Love Monster \uea00", + "trustlines": 575, + "placeInTop": null + }, + { + "id": 18476, + "code": "AYNIR", + "issuer": "rhK7Ci1QvXTBJwRVBt7qFSAPQaCjq5zonR", + "title": "AYNIR : All You Need Is Reward$$$$$", + "trustlines": 1012, + "placeInTop": null + }, + { + "id": 18782, + "code": "XZVO", + "issuer": "rQfXMb8ASNWVtpKjJYsQbANeR3WS4QWeZq", + "trustlines": 111, + "placeInTop": null + }, + { + "id": 142, + "code": "CNF", + "issuer": "raTqPZNVpWUQWWRtoG6kUMqnzLdDcfVXqJ", + "title": "ChickensNFT (XRPL)", + "trustlines": 1933, + "placeInTop": null + }, + { + "id": 156, + "code": "Xrplogistic", + "issuer": "rBmZ49VHoGKmDYVGuYsFn448FZcU8JfkGk", + "title": "XRP_Logistic", + "trustlines": 1253, + "placeInTop": null + }, + { + "id": 325, + "code": "XFRUIT", + "issuer": "rQ3HF6YLbB95K5hZRAAMG7X32a1rHE9Yc2", + "trustlines": 1693, + "placeInTop": null + }, + { + "id": 332, + "code": "FRESH", + "issuer": "rw4v5ByH4ew8FZ58NSHxv3ARbetN2TYZF5", + "trustlines": 1576, + "placeInTop": null + }, + { + "id": 16978, + "code": "BURN", + "issuer": "rBb4mVtbtxtEELncFiFULNjaZrBiNJFi3f", + "trustlines": 452, + "placeInTop": null + }, + { + "id": 17202, + "code": "XMP", + "issuer": "rKcmW712NbLw2h29BMr47cwX2HAUNEbwrt", + "title": "XMP", + "trustlines": 101, + "placeInTop": null + }, + { + "id": 17212, + "code": "MICE", + "issuer": "r4M5rrfTSbfh61SH5VANcBGqZgkworfaHQ", + "title": "Biker Mice From Moon - NFT", + "trustlines": 1325, + "placeInTop": null + }, + { + "id": 17225, + "code": "RealMadridfancoin", + "issuer": "rK4saUHTVTpbX7cqzX2zEnZovbDpXxUmk9", + "title": "RealMadridCoinXRP", + "trustlines": 1077, + "placeInTop": null + }, + { + "id": 17299, + "code": "XSwans", + "issuer": "rJYMx2ZHgjocAP3aiK1STbP3CTZASN5Sy8", + "title": "xSwans", + "trustlines": 831, + "placeInTop": null + }, + { + "id": 17411, + "code": "TAROT", + "issuer": "rMyLn261pBVKtgMbzFpbAsFFBL7ksbFvvM", + "title": "CUTE Token XRPL", + "trustlines": 186, + "placeInTop": null + }, + { + "id": 17682, + "code": "XBEAR", + "issuer": "rKXoBbYN5ZKj2Y7Tmhh5xquLMQegqpgNVA", + "trustlines": 392, + "placeInTop": null + }, + { + "id": 18720, + "code": "MTA", + "issuer": "r95bSz69js5MrCoMdhejdGHvHyPRXumLTm", + "trustlines": 664, + "placeInTop": null + }, + { + "id": 18971, + "code": "Meet", + "issuer": "raiuzYGdqxXHG5gQqWZsLdPmuFWXS6oGRF", + "title": "Meet", + "trustlines": 408, + "placeInTop": null + }, + { + "id": 160, + "code": "XAPECLUB", + "issuer": "rHLsj6TzL3jqNVjLaZQkqHissV9FSfMdH5", + "title": "X APE CLUB", + "trustlines": 1739, + "placeInTop": null + }, + { + "id": 16921, + "code": "XrGuru", + "issuer": "rU2RMypDRDod46wpyGqAKo4oHdBKmVctGw", + "title": "XrGuru", + "trustlines": 1904, + "placeInTop": null + }, + { + "id": 16998, + "code": "ProCrypto", + "issuer": "rNcnGzKCtKp6mqrMDS3Ss1T7P1XfDcNXJF", + "title": "ProCrypto Coin", + "trustlines": 458, + "placeInTop": null + }, + { + "id": 17142, + "code": "GEODIS", + "issuer": "rhqnPosMaQvXf3uX84NWbgdRi9yeE7BX8d", + "trustlines": 449, + "placeInTop": null + }, + { + "id": 17476, + "code": "NFTminer", + "issuer": "rnW1yosT7YpR7c9dxSNXNRJe7wYaj2xUzV", + "trustlines": 171, + "placeInTop": null + }, + { + "id": 17694, + "code": "BSD", + "issuer": "r9qouqdcygAWyoFGPxwMN3LoJkpHJHoCBd", + "trustlines": 295, + "placeInTop": null + }, + { + "id": 17862, + "code": "xMinecraft", + "issuer": "rwBrXocEipnM1nc4Kwaq3DQwh8tmBdRCg9", + "title": "xMinecraft", + "trustlines": 1191, + "placeInTop": null + }, + { + "id": 18256, + "code": "Metacasinocoin", + "issuer": "rMBVH1skxjcC1PguikTkx9XP9ydVNpCued", + "title": "MetaCasinoCoin", + "trustlines": 1637, + "placeInTop": null + }, + { + "id": 18493, + "code": "XARMY", + "issuer": "r9kT7eetFtMTZNG6tCaPVQ7Gsc5FaWJTkK", + "title": "XRP Army", + "trustlines": 255, + "placeInTop": null + }, + { + "id": 18620, + "code": "Earn", + "issuer": "rQB3o5oCHPCeGoFGnd9us97N6RsFmTj735", + "trustlines": 1612, + "placeInTop": null + }, + { + "id": 18989, + "code": "Btrax", + "issuer": "rzxFbGjPaW6jE2WyzqmEHKhbSQmMkkJdr", + "trustlines": 430, + "placeInTop": null + }, + { + "id": 151, + "code": "Popcorn", + "issuer": "rPYFeHg6zzD4cxyyfgToX9zAtrDwyeJwUA", + "title": "Pop Corn", + "trustlines": 1882, + "placeInTop": null + }, + { + "id": 16613, + "code": "AXOL", + "issuer": "rGkvzG2RLhCYCtdgtDxaejjaQn4BSJYoy8", + "title": "Axolotl $AXOL XRPL", + "trustlines": 4961, + "placeInTop": null + }, + { + "id": 16857, + "code": "DOP", + "issuer": "rH24cKuAFByzvHDbSx1gvghBDZNb1hb1QD", + "trustlines": 505, + "placeInTop": null + }, + { + "id": 17050, + "code": "MONKS", + "issuer": "rGQtGHrgN4FK1RcEn83q4t8aK6BobzDEMK", + "title": "GORILLA$Gold XRP", + "trustlines": 726, + "placeInTop": null + }, + { + "id": 17800, + "code": "SPUD", + "issuer": "rfzMhyP9EnSgCJ18BZGwj4uH2dLF1YtTzv", + "title": "Sinister Spuds on XRPL", + "trustlines": 930, + "placeInTop": null + }, + { + "id": 18126, + "code": "METAVISION", + "issuer": "rKuuGaBjzt3CV1sX9VgbJUGTDQ6iUSQ2Rr", + "title": "METAVISION", + "trustlines": 801, + "placeInTop": null + }, + { + "id": 18357, + "code": "XdinoKings", + "issuer": "rMxxPovLbYHdcVTpYRiQRoXe1hrke5X6wr", + "title": "Xislanders_XDNT_Xdinos", + "trustlines": 1254, + "placeInTop": null + }, + { + "id": 18619, + "code": "XLEGO", + "issuer": "rsa4uUHzFotQn3gYrW5WjPKibUtSEGXhNi", + "title": "XLEGO", + "trustlines": 355, + "placeInTop": null + }, + { + "id": 18737, + "code": "TZE", + "issuer": "r3ta6EfJVWc7W3cHsnr9srw8amPpWFWiyx", + "trustlines": 109, + "placeInTop": null + }, + { + "id": 18795, + "code": "XRPanther", + "issuer": "rJqN2Bh4e3VwRxj7c8ejVYqhJUbYscQFv1", + "trustlines": 4956, + "placeInTop": null + }, + { + "id": 18817, + "code": "AURAM", + "issuer": "rswTVUVg2kXcvUhfsHSY7a6Yt3aWbyrD9y", + "trustlines": 1077, + "placeInTop": null + }, + { + "id": 19131, + "code": "DAC", + "issuer": "rpmkKzAkJHccD4WxPA5wWimnqocDb4mYzf", + "title": "The Dirty Ape Club", + "trustlines": 432, + "placeInTop": null + }, + { + "id": 74, + "code": "XBadge", + "issuer": "rUrcmbmUADwdkXwtcKiLiFXPNmqQp3EnSE", + "title": "XBadge", + "trustlines": 3459, + "placeInTop": null + }, + { + "id": 220, + "code": "XST", + "issuer": "r9KanwHSeSYB9DXfgc3sDuoE3sRsnQv4wo", + "title": "XSTX", + "trustlines": 2594, + "placeInTop": null + }, + { + "id": 16708, + "code": "JTK", + "issuer": "rESV9W43vQoYNpFf4zJJH7AWgUzNFnHBhN", + "title": "JTK_Coin", + "trustlines": 795, + "placeInTop": null + }, + { + "id": 16860, + "code": "eBets", + "issuer": "rwjTUshHMCGzDkH7S2LPkGcsGx72GgnR2q", + "title": "eBets.crypto", + "trustlines": 1284, + "placeInTop": null + }, + { + "id": 16910, + "code": "PAV", + "issuer": "r4FJh3RK7LpW7UA5u3BJqdFpavQM3Lkwdh", + "trustlines": 1546, + "placeInTop": null + }, + { + "id": 16918, + "code": "xLottery", + "issuer": "rm1avCK5oSVe52N4iEteoFKY27owuBvny", + "trustlines": 1624, + "placeInTop": null + }, + { + "id": 16958, + "code": "XMONSTERs", + "issuer": "rNRc22evysPxh7LhefqFaYtg39YpNfinnN", + "title": "XRPL.Monster", + "trustlines": 1192, + "placeInTop": null + }, + { + "id": 17119, + "code": "Ethereum", + "issuer": "rf6FbkVyYPa9nqrSrRpMDPhBEoAL8bw9GL", + "trustlines": 146, + "placeInTop": null + }, + { + "id": 17121, + "code": "KPK", + "issuer": "rpvQdrkjcnJcimiVazstciB593xhFfxVVG", + "trustlines": 1462, + "placeInTop": null + }, + { + "id": 17218, + "code": "CoinBankShards", + "issuer": "rUhbURn9gPQWcjfqTip5YsMSstBfX8UV9h", + "trustlines": 200, + "placeInTop": null + }, + { + "id": 17373, + "code": "Amazon", + "issuer": "rf4DcrzpBMy2fU2Jdc4RtENTXzrifbdPh7", + "trustlines": 363, + "placeInTop": null + }, + { + "id": 17537, + "code": "XIA", + "issuer": "rsbgrRPMTykHoStSYst8jbqkscAnHCPWY8", + "title": "Digger", + "trustlines": 183, + "placeInTop": null + }, + { + "id": 17629, + "code": "GXZV", + "issuer": "r3u8KaU7ubXQmLMrc3jhEE7vfFpMTMLTWb", + "trustlines": 4079, + "placeInTop": null + }, + { + "id": 18000, + "code": "xWolf", + "issuer": "rKoeHxZcfcoCPsDeEnDSxypcSF5gifH9eM", + "title": "xWolves Pack", + "trustlines": 2262, + "placeInTop": null + }, + { + "id": 18012, + "code": "Scrap", + "issuer": "r3Q5nzkGA9WDz2gCZ3ZSEy2yYseSASru3m", + "title": "universal-digital-assets", + "trustlines": 182, + "placeInTop": null + }, + { + "id": 18280, + "code": "BLKN", + "issuer": "r4acpp9fdgFLcFWfBQSn7fzmXrvCTSW95v", + "trustlines": 351, + "placeInTop": null + }, + { + "id": 18297, + "code": "XDRAW", + "issuer": "rQnpjsUA9SQyPHzSm7aMo6UVQmq1RSKAqn", + "title": "XDRAW", + "trustlines": 1216, + "placeInTop": null + }, + { + "id": 18451, + "code": "MLK", + "issuer": "rHkqAyggqiSvhBdrvfbCbzqbD6nUyGy2CQ", + "title": "Doggy coin", + "trustlines": 3222, + "placeInTop": null + }, + { + "id": 18609, + "code": "Chibs", + "issuer": "rBp3bumejqA1x5uVJRJbx7Ue1viCWpf3cU", + "title": "CrossChainChibs NFT", + "trustlines": 1491, + "placeInTop": null + }, + { + "id": 18631, + "code": "HWT", + "issuer": "rGXPVoPPk8d2cSKFzvugzgTRfyro96z937", + "trustlines": 751, + "placeInTop": null + }, + { + "id": 18655, + "code": "XNFT", + "issuer": "raPmRsVDTnLibYLPSYDjCtFdQh2kNjFrNZ", + "title": "NFTSXRPL", + "trustlines": 781, + "placeInTop": null + }, + { + "id": 18889, + "code": "XLTC", + "issuer": "rLMcg5dXz4x62mTiyb8xuA3kxAKsqzpB9j", + "trustlines": 148, + "placeInTop": null + }, + { + "id": 148, + "code": "SSP", + "issuer": "rN1fgXFQsDnaqL4fpr1Ktthz2yooKkF1Pf", + "title": "SSP", + "trustlines": 1806, + "placeInTop": null + }, + { + "id": 291, + "code": "RCO", + "issuer": "rErVND2kovUvNeZEt1AY9QirN3W2TJqFdi", + "trustlines": 621, + "placeInTop": null + }, + { + "id": 341, + "code": "Multiversexrpl", + "issuer": "ra3tUVitg1Uhv2XHJNQBxP2o5SbApTVQsp", + "trustlines": 577, + "placeInTop": null + }, + { + "id": 16687, + "code": "NFG", + "issuer": "rLzhZeAWFJ8RWS7yZfF7fMZ8sv5EzP8XF9", + "title": "NFG.NFT", + "trustlines": 1511, + "placeInTop": null + }, + { + "id": 16705, + "code": "GVC", + "issuer": "rN5nHQYbpwbabamejBYELSxVbKd95g5UFQ", + "title": "XRPL Bats/Grumpy Vampire Club NFT", + "trustlines": 1057, + "placeInTop": null + }, + { + "id": 16784, + "code": "INSTAGRAM", + "issuer": "raQCAsCVEh3Ysqr5fj4MNHsp46MBjEGJhU", + "title": "INSTAGRAM COIN", + "trustlines": 454, + "placeInTop": null + }, + { + "id": 16865, + "code": "NDI", + "issuer": "rKhDUSLzPY7H7VhPLeYKrsS4tnvZxW7A9t", + "title": "XSwords", + "trustlines": 447, + "placeInTop": null + }, + { + "id": 16892, + "code": "XRPFN", + "issuer": "rLQ4tws9SJWRLuqorq7468gMuygWF3i9YN", + "trustlines": 1560, + "placeInTop": null + }, + { + "id": 17021, + "code": "MCM", + "issuer": "rLpXBZrtyHYtN5rXVYUVZvBBx5aiECQbbx", + "title": "MetaMCM", + "trustlines": 895, + "placeInTop": null + }, + { + "id": 17047, + "code": "MAD", + "issuer": "rHVCcQYcEuQ7z5bDZXFXe8devDK7Qs2ZAW", + "title": "Xmonkeyz", + "trustlines": 714, + "placeInTop": null + }, + { + "id": 17267, + "code": "xMetaCube", + "issuer": "rN3AbAi3DN7fGjR4yA6k84RbhpNEUiLCVj", + "title": "Creative xMetaCube World_XRPLtoken", + "trustlines": 930, + "placeInTop": null + }, + { + "id": 17439, + "code": "KCK", + "issuer": "ra13xSGX6pv1dos7bXi7oMKvRavaJgT3kT", + "trustlines": 216, + "placeInTop": null + }, + { + "id": 17577, + "code": "GUY", + "issuer": "rw1rvdHuTE5gFmv6Sqy7rAYVmBQuXk3Ewh", + "trustlines": 197, + "placeInTop": null + }, + { + "id": 17598, + "code": "Lil", + "issuer": "raZ87rZoVjgg8oc5LijSigyN8rbutXGdbw", + "title": "LilShib", + "trustlines": 4147, + "placeInTop": null + }, + { + "id": 18053, + "code": "USD", + "issuer": "rbwE6wsxzYat1YyGGxzAwq6wBSF5MdoAg", + "title": "R9coin", + "trustlines": 179, + "placeInTop": null + }, + { + "id": 18059, + "code": "LAV", + "issuer": "rPbghDDBotsY2V2gmxCeCddooAY97UStTM", + "title": "Lavender", + "trustlines": 390, + "placeInTop": null + }, + { + "id": 18165, + "code": "EAT", + "issuer": "rBExFc4xruwQbcDgyuVYMADf2MXoHsUZ7L", + "title": "eatozee", + "trustlines": 1237, + "placeInTop": null + }, + { + "id": 18302, + "code": "mXm", + "issuer": "rfXHsMTsLKQPrrTYWtX3fgRPtGCF2drtA2", + "title": "metaXmon", + "trustlines": 6061, + "placeInTop": null + }, + { + "id": 18486, + "code": "HHDaimondHand", + "issuer": "rQrJZnVYhqJ2DjBwQzmMLdpZb5Do8zDcpV", + "title": "HH Diamond Hand Token", + "trustlines": 3390, + "placeInTop": null + }, + { + "id": 18529, + "code": "SMR", + "issuer": "rM96qPVWy16Z5inZyP4JRPeentt63x6yiG", + "trustlines": 120, + "placeInTop": null + }, + { + "id": 18784, + "code": "EXO", + "issuer": "raUFQ3JkVvEREHpbLHmupa5aweJJvtr88v", + "trustlines": 757, + "placeInTop": null + }, + { + "id": 17070, + "code": "ZEN", + "issuer": "rE8Zn9dScGmycaYXCmNSebwwdjZxxvCxcY", + "trustlines": 1690, + "placeInTop": null + }, + { + "id": 17122, + "code": "AIR", + "issuer": "rKhrjrteasANkNRFku535yXfSwijmLLsVK", + "title": "Airdrop Master", + "trustlines": 848, + "placeInTop": null + }, + { + "id": 17201, + "code": "TRL", + "issuer": "rP9szzcmZp2PrJEhrCskiRT3ESM1kcmYLL", + "title": "TerraMammal", + "trustlines": 363, + "placeInTop": null + }, + { + "id": 17287, + "code": "Sainte", + "issuer": "rGS37CXmscR8S9eYuqAHVw9837FTx1snuw", + "trustlines": 202, + "placeInTop": null + }, + { + "id": 17843, + "code": "Three", + "issuer": "rPpXBAzmc99baYbuhSuQCwb6YuNxyTBdYV", + "title": "Three Token", + "trustlines": 960, + "placeInTop": null + }, + { + "id": 18547, + "code": "xJxS", + "issuer": "rJ18qDqXrLKLKagh2bLHLGwVu7AnHZVou7", + "trustlines": 130, + "placeInTop": null + }, + { + "id": 18601, + "code": "OXC", + "issuer": "rJK9noFthmEptcCXDGSMqkHJFwsyYf6PzT", + "title": "OnlyXPunks", + "trustlines": 1187, + "placeInTop": null + }, + { + "id": 19101, + "code": "BabyTan", + "issuer": "r3dXMYohmJxZVHryGucu7XbcwTV44euPe7", + "trustlines": 202, + "placeInTop": null + }, + { + "id": 57, + "code": "X69", + "issuer": "raWsXY8tVytuoZf9kfXXpqYHropz6kEA91", + "title": "$X69 (6,9)", + "trustlines": 2559, + "placeInTop": null + }, + { + "id": 334, + "code": "XARMY", + "issuer": "rD7exzMoMx5mTpock7Fg3kCPcMWFX8ZgPm", + "title": "xARMY", + "trustlines": 3288, + "placeInTop": null + }, + { + "id": 16717, + "code": "XWG", + "issuer": "rMJdH3KdxytqB7ibsvqK8ufCTtPDeT2GQA", + "title": "Wooden Gorilla", + "trustlines": 2150, + "placeInTop": null + }, + { + "id": 16965, + "code": "DDD", + "issuer": "rBixCrcCsbSf3ZeF9zxsLym9KMp2dQde34", + "title": "DDD Token", + "trustlines": 1133, + "placeInTop": null + }, + { + "id": 17089, + "code": "ISO20022", + "issuer": "rfoPuEFfxdskQu8nkJwyGb7HEjFHM5ijvH", + "trustlines": 102, + "placeInTop": null + }, + { + "id": 17120, + "code": "XRDraco", + "issuer": "rwH9BJ8sSVYuQjaTmuabGJLXS9B6Eo7MpT", + "trustlines": 380, + "placeInTop": null + }, + { + "id": 17268, + "code": "GEN", + "issuer": "rG9XbrVXUaBKVE2hxgUBqBNXhFtvo6XTas", + "title": "Genosix", + "trustlines": 2005, + "placeInTop": null + }, + { + "id": 18143, + "code": "Bullish", + "issuer": "rpQrqLasrD2uMUj2NRHJ9jc8d8rcT9q4oA", + "title": "The Bullish Club", + "trustlines": 841, + "placeInTop": null + }, + { + "id": 18230, + "code": "BCH", + "issuer": "rJDrynNXYLnENUSJkUoyepkq9QtAWmhWxM", + "title": "B-Ch Checker", + "trustlines": 3013, + "placeInTop": null + }, + { + "id": 18236, + "code": "XANC", + "issuer": "rHMd5mbLQafuZbN4q6tahY23kxPBnDEhYw", + "trustlines": 255, + "placeInTop": null + }, + { + "id": 18253, + "code": "WarpedAliensGame", + "issuer": "rUKxcRrVWYgCSCrMabkAD3rGBDh9LKLX3N", + "title": "\ud835\udd4e\ud835\udd52\ud835\udd63\ud835\udd61\ud835\udd56\ud835\udd55 \ud835\udd38\ud835\udd5d\ud835\udd5a\ud835\udd56\ud835\udd5f\ud835\udd64 \ud835\udd3e\ud835\udd52\ud835\udd5e\ud835\udd56 \ud835\udd60\ud835\udd5f \ud835\udd4f\u211d\u2119\ud835\udd43", + "trustlines": 1114, + "placeInTop": null + }, + { + "id": 18291, + "code": "HIW", + "issuer": "rh1db2S5sJwzWbqehfK2UXEfP3wu5svXbj", + "title": "HighIQWorld", + "trustlines": 1564, + "placeInTop": null + }, + { + "id": 18343, + "code": "Xombie", + "issuer": "rEPT3uPk7Zu2x4FdqGukrDJwtRP5tgYdw2", + "title": "Xombieverse", + "trustlines": 1004, + "placeInTop": null + }, + { + "id": 18365, + "code": "ETNL", + "issuer": "rfYcf2iZiLRuLxK94VReVPk4WaxGpRB6Fn", + "title": "Eternal Citizens", + "trustlines": 1621, + "placeInTop": null + }, + { + "id": 18381, + "code": "MYACRON", + "issuer": "rP8Fc1THdhSRRf4AYdWTxAx3UooKNsWhSz", + "title": "Love Monster \uea00", + "trustlines": 617, + "placeInTop": null + }, + { + "id": 18513, + "code": "ITEMX", + "issuer": "rfF83CBpuBwX2NkSPcTsnbn3iqwH1uPCbU", + "title": "ITEMX PROPERTIES", + "trustlines": 2558, + "placeInTop": null + }, + { + "id": 18963, + "code": "LYL", + "issuer": "rLoyaLty93xeM35DhizSQdJd8AqLXA39W5", + "trustlines": 360, + "placeInTop": null + }, + { + "id": 18995, + "code": "LOP", + "issuer": "rLoPH2gfKN63jA6AB5smFKdUHywi89s96g", + "trustlines": 2185, + "placeInTop": null + }, + { + "id": 19009, + "code": "AFRICA", + "issuer": "rfef9Ft3FagH947ggDDeNc4sbxKD9nWhPH", + "trustlines": 428, + "placeInTop": null + }, + { + "id": 87, + "code": "AGT", + "issuer": "rDPKnRGk1ceea1h2iNbxCyzVp4MQn3jdtF", + "trustlines": 2138, + "placeInTop": null + }, + { + "id": 91, + "code": "RAIN", + "issuer": "r3cBTiMpEzRdmCgPoBNV7z73CUEPmtZQsC", + "trustlines": 1970, + "placeInTop": null + }, + { + "id": 16658, + "code": "XSteam", + "issuer": "rMPEa5WFjqTtrLnBgzJJPXgyRXtVzSgZb6", + "trustlines": 1415, + "placeInTop": null + }, + { + "id": 16667, + "code": "XWITCH", + "issuer": "rDz3DMjckHrNvpbrQMkpg9uWUf56Q7fzXr", + "title": "The Witch Chibi Official", + "trustlines": 1848, + "placeInTop": null + }, + { + "id": 16902, + "code": "TYO", + "issuer": "rnFiZ5KbTxNmAd6XzvDGxtwvaSQfgwSSG6", + "title": "Tokyo", + "trustlines": 1456, + "placeInTop": null + }, + { + "id": 16927, + "code": "UNC", + "issuer": "rMwmwEFNe9Ao7DEcu4DuRWcFQiXVaCTnYh", + "trustlines": 1517, + "placeInTop": null + }, + { + "id": 16929, + "code": "TRI", + "issuer": "rGrxS9nHnExHCRyH61K8bg51dMmP4nH5hC", + "trustlines": 1156, + "placeInTop": null + }, + { + "id": 17215, + "code": "ServicesOnCall", + "issuer": "raq36mQ26mziAmucxY4tb9dPtzCWnZT7YH", + "trustlines": 1441, + "placeInTop": null + }, + { + "id": 17246, + "code": "XRBitcoin", + "issuer": "rnkUKwv2PJZrem1DecEzCHtnHUwDsEoZYi", + "title": "XRBitcoin", + "trustlines": 210, + "placeInTop": null + }, + { + "id": 17805, + "code": "FQT", + "issuer": "rHUXRWp8DqH2vZSaq9b8qUzrBXDtAwBcwr", + "title": "FooCuties", + "trustlines": 2707, + "placeInTop": null + }, + { + "id": 18066, + "code": "xETH", + "issuer": "rsBC7azvcV3BDzSsJxPeg1z8T4FRzMTAPt", + "trustlines": 657, + "placeInTop": null + }, + { + "id": 18070, + "code": "BonesNFT", + "issuer": "rwc5Uwwo8h4ByfBZ31sM5sxizQmf3FGzY1", + "title": "BonesNFT", + "trustlines": 452, + "placeInTop": null + }, + { + "id": 18128, + "code": "METADEX", + "issuer": "rPgJC4uGuM5j7vLWDwz3Sgkbs5pzP9dba7", + "title": "METADEX", + "trustlines": 456, + "placeInTop": null + }, + { + "id": 18164, + "code": "WEB3", + "issuer": "rwdbu6JD98vzkazZhA8bJi5vGk6XC31Aqq", + "title": "WEB3", + "trustlines": 422, + "placeInTop": null + }, + { + "id": 18267, + "code": "XRMeta", + "issuer": "rwHPGXBVXez6yFiqCtUogoax1TCzCDmLmu", + "trustlines": 163, + "placeInTop": null + }, + { + "id": 18413, + "code": "888", + "issuer": "rLkLGhmomU9RrYrAqaY459w8de3VcEBUG", + "trustlines": 378, + "placeInTop": null + }, + { + "id": 18416, + "code": "WBN", + "issuer": "rfCdVNjLdrGvTisnCmVNd4noP8yfZKoCBp", + "title": "Wild Bee Network", + "trustlines": 3995, + "placeInTop": null + }, + { + "id": 18467, + "code": "FRN", + "issuer": "rna7iiis1Ji6KXPRzvavwVrTNDXpxM1cTF", + "trustlines": 136, + "placeInTop": null + }, + { + "id": 18511, + "code": "FIG", + "issuer": "r4UGsoSSCG3Xfq191N3SDEfBLBzyuAo4Vx", + "trustlines": 113, + "placeInTop": null + }, + { + "id": 18712, + "code": "VFVT", + "issuer": "rnN8H9hxCBntJrJULsveK62eUdkftGP73r", + "trustlines": 236, + "placeInTop": null + }, + { + "id": 18724, + "code": "Shibaluna", + "issuer": "rs4BLVqLDujsuJST6NTZ4rpPv6NnYYjyTF", + "trustlines": 297, + "placeInTop": null + }, + { + "id": 18881, + "code": "POO", + "issuer": "rshitKoinuxBNACMhL6QLwAsfWCUDxYobm", + "trustlines": 110, + "placeInTop": null + }, + { + "id": 18948, + "code": "xBAFC", + "issuer": "rnwgiTTyapeXTD7srnFQzoQFn6P64bVETi", + "trustlines": 490, + "placeInTop": null + }, + { + "id": 18984, + "code": "FacelessWarrior", + "issuer": "r4J9VFFTqYCsdNtTUV1isqHnEsMsDYC6rJ", + "trustlines": 108, + "placeInTop": null + }, + { + "id": 19014, + "code": "Eliz", + "issuer": "rUUuaVpMwtZrD3xT1SbYH1tQVPndthxgrB", + "trustlines": 8873, + "placeInTop": null + }, + { + "id": 343, + "code": "PGS", + "issuer": "rBzmXKofJoDQuPS2bcMtNboGiz1i6EHPm8", + "trustlines": 1491, + "placeInTop": null + }, + { + "id": 344, + "code": "XRKishaInu", + "issuer": "rP5nLxe6XpNDwS9rxZWaJgv14Hbt27E32o", + "title": "XRKishaInu", + "trustlines": 742, + "placeInTop": null + }, + { + "id": 16756, + "code": "XFORTUNE", + "issuer": "rMe6YEJPaPAbRkgub1qD9nFUVJhfCmsMq", + "title": "xFortune", + "trustlines": 529, + "placeInTop": null + }, + { + "id": 16757, + "code": "MEDBED", + "issuer": "rKoJxciEmcejEaCg1gjrxHRXD4vzMg87qP", + "title": "MED BED", + "trustlines": 910, + "placeInTop": null + }, + { + "id": 16765, + "code": "Supreme", + "issuer": "rJUnK2UtHS4xrHtetEBWYTpajQzxrGKjbV", + "title": "Supreme Coin", + "trustlines": 843, + "placeInTop": null + }, + { + "id": 16788, + "code": "JEW", + "issuer": "rHd5as6pt2DJeyx7oZJjkTCZQHGY4f7yxQ", + "title": "XRPL JEWEL", + "trustlines": 893, + "placeInTop": null + }, + { + "id": 16909, + "code": "GSO", + "issuer": "rEqgJ6AyGRBpSk4vmiPUMaJD3zs9WMyKAh", + "trustlines": 1595, + "placeInTop": null + }, + { + "id": 16979, + "code": "$GM", + "issuer": "rhcMVnUV3ZUozysgbgs2Vtsco9zkzqNCMD", + "trustlines": 181, + "placeInTop": null + }, + { + "id": 17002, + "code": "XRL", + "issuer": "rsFJqThf8hZgw1VUEQK3HRpu77kKmPnYB9", + "title": "XRLunaNFT", + "trustlines": 2215, + "placeInTop": null + }, + { + "id": 17003, + "code": "Illuvium", + "issuer": "rMwmindr4En3k4UzhXDa814QXtzqd5nErc", + "trustlines": 542, + "placeInTop": null + }, + { + "id": 17064, + "code": "Xrpinu", + "issuer": "rasXLV2Qi8tc97nywVhQvHHfhHgZHvgYwf", + "trustlines": 1017, + "placeInTop": null + }, + { + "id": 17115, + "code": "GOMD", + "issuer": "rasLGGWLbSEgqm1JWycjvc2sAxUugRo8gt", + "trustlines": 296, + "placeInTop": null + }, + { + "id": 17117, + "code": "Lookey", + "issuer": "rwoVSDUwCVdCpwnkH2Ahh5o7KHfWXLQXmb", + "title": "Lookey", + "trustlines": 823, + "placeInTop": null + }, + { + "id": 17135, + "code": "XLOAN", + "issuer": "r37ueqMppLw8tL9xmu5vRouiAcqwgbtqug", + "trustlines": 1307, + "placeInTop": null + }, + { + "id": 18043, + "code": "ANGELA", + "issuer": "rHcGz1DpZ3XvVCyk6MbXvUuVSVJHqDAKVM", + "title": "Angela - The Little Girl", + "trustlines": 3225, + "placeInTop": null + }, + { + "id": 18044, + "code": "XBEATGIRL", + "issuer": "rs2gfQxFDHE73v7TqBbhqZyKLKiaFppNch", + "title": "Beatrix Girl Project", + "trustlines": 802, + "placeInTop": null + }, + { + "id": 18083, + "code": "ZNT", + "issuer": "rZntokeNtr8m9DYfyLnr2nfTzAxJDnhV9", + "trustlines": 285, + "placeInTop": null + }, + { + "id": 18468, + "code": "XRJapan", + "issuer": "rs4Rz7EiNnWXyVTbm11y3qpj94VVZPxHqm", + "title": "XRJapan", + "trustlines": 601, + "placeInTop": null + }, + { + "id": 18941, + "code": "XRPU", + "issuer": "rEjDDNL1opuSBEBs4eF3ToM4MWj1dd5M8M", + "trustlines": 120, + "placeInTop": null + }, + { + "id": 19137, + "code": "XMusic", + "issuer": "rnSmVZ9z2E9jJ3ac7PJXvobSE7XcYxGmzt", + "trustlines": 272, + "placeInTop": null + }, + { + "id": 41, + "code": "XAMMO", + "issuer": "rGoPVzsJUU4Y6NNfn1Q6tq5TKRVC5yAA44", + "trustlines": 1847, + "placeInTop": null + }, + { + "id": 54, + "code": "CRIME", + "issuer": "rfd79jYCtevdGuu1sq55pf36z6pyYioNXm", + "title": "Rocketfella DeMoon", + "trustlines": 1632, + "placeInTop": null + }, + { + "id": 229, + "code": "MAE", + "issuer": "rHVCcQYcEuQ7z5bDZXFXe8devDK7Qs2ZAW", + "title": "Xmonkeyz", + "trustlines": 159, + "placeInTop": null + }, + { + "id": 286, + "code": "RCO", + "issuer": "rLr45PV5dECH4NhNgzhG3mbDAYxuyj4u5q", + "title": "Reconcile", + "trustlines": 865, + "placeInTop": null + }, + { + "id": 16677, + "code": "XGalaxyStone", + "issuer": "rDE5vYYXxJnfLZTHbzBFo4gjAr9FhAyqqC", + "title": "XGalaxy", + "trustlines": 450, + "placeInTop": null + }, + { + "id": 16923, + "code": "Lightyear", + "issuer": "rLo5NSbWw28LvS5F81BXdYSSnv5hiBA6ES", + "trustlines": 1598, + "placeInTop": null + }, + { + "id": 16924, + "code": "NEC", + "issuer": "rNEhdhji1ByXNMMGp28oZHnwv5bHzUz9mv", + "title": "META", + "trustlines": 2882, + "placeInTop": null + }, + { + "id": 16933, + "code": "PRH", + "issuer": "rMwmwEFNe9Ao7DEcu4DuRWcFQiXVaCTnYh", + "trustlines": 1218, + "placeInTop": null + }, + { + "id": 17016, + "code": "XDO", + "issuer": "rwLLijjmG4jto3sUVPCAifKLggid5feBAZ", + "trustlines": 494, + "placeInTop": null + }, + { + "id": 17048, + "code": "XRIC", + "issuer": "radgfhTRPvEA9jM3GmYXj7gXetg6kSi26G", + "trustlines": 562, + "placeInTop": null + }, + { + "id": 17111, + "code": "ECON", + "issuer": "rpCXAqJaHaRqf4rHMjNrCpsKi1Dc2mJS8F", + "trustlines": 128, + "placeInTop": null + }, + { + "id": 17213, + "code": "EXP", + "issuer": "r9MawWuzyeeSj6GrqWbuT3BNbr6N6GPCYy", + "trustlines": 105, + "placeInTop": null + }, + { + "id": 17295, + "code": "Seby", + "issuer": "rLSG5R79BYecTmvkt5P5qxiJvxCa8p7KHA", + "trustlines": 321, + "placeInTop": null + }, + { + "id": 17315, + "code": "RogueBotNFT", + "issuer": "rDdR9FkkV61sNZZi6miRBDnQvXaNYJdiSc", + "trustlines": 224, + "placeInTop": null + }, + { + "id": 17408, + "code": "MOWGLI", + "issuer": "rfRdAtFRGCBan1E5ALXd7Hkcmdg3Xu48gF", + "title": "MOWGLI", + "trustlines": 520, + "placeInTop": null + }, + { + "id": 17951, + "code": "SNUB", + "issuer": "r9xBBqi5phd8R23omHQVHeBNjhDSrTmrMm", + "trustlines": 875, + "placeInTop": null + }, + { + "id": 18217, + "code": "XMS", + "issuer": "rasAaG4DTg1uCRJTLMAMNfdpTQgVnpM46g", + "title": "xrp multisender", + "trustlines": 1863, + "placeInTop": null + }, + { + "id": 18279, + "code": "STC", + "issuer": "rKL6wV9fP3drGHcu9eh443Q4xVERyWwWAQ", + "title": "XrpFoundationSaveTheChildren", + "trustlines": 1039, + "placeInTop": null + }, + { + "id": 18292, + "code": "Deity", + "issuer": "rGziqYkxHk2LyrUFmo4qkLmpJmK2jhk1KT", + "trustlines": 114, + "placeInTop": null + }, + { + "id": 18322, + "code": "OVEGG", + "issuer": "r9MdSTXZpykBgasdGFDjJT5p93vxuennAG", + "title": "Oviparous Collectables", + "trustlines": 670, + "placeInTop": null + }, + { + "id": 18330, + "code": "MFX", + "issuer": "r4nvnPfHr797Q6zipQKPkh8RZ3cHHLxc5D", + "trustlines": 421, + "placeInTop": null + }, + { + "id": 18341, + "code": "BRZ", + "issuer": "r4i4KNPm26RJqvqtx7HkG9Tc4u2uDBL9gg", + "trustlines": 143, + "placeInTop": null + }, + { + "id": 18380, + "code": "NEKATEST", + "issuer": "rh52WX72oNdwJj6rePE9qCpGjFReBXHoHk", + "trustlines": 133, + "placeInTop": null + }, + { + "id": 18450, + "code": "FUD", + "issuer": "rHkqAyggqiSvhBdrvfbCbzqbD6nUyGy2CQ", + "title": "Doggy coin", + "trustlines": 1584, + "placeInTop": null + }, + { + "id": 18479, + "code": "XFrogman", + "issuer": "rDmBDjjRCiMjHjHzC6m7nd11gGnz2k3Dm9", + "title": "XFrog-man", + "trustlines": 1207, + "placeInTop": null + }, + { + "id": 18568, + "code": "Maharlika", + "issuer": "rDqZqBahgSD73Pi2EwXG6ukcVmcSFtM1tT", + "title": "Maharlikan Guild", + "trustlines": 372, + "placeInTop": null + }, + { + "id": 18803, + "code": "Kidscoin", + "issuer": "rBXYEbSkQaGF3H87bjMz5s6QXAjZKwDGvd", + "trustlines": 118, + "placeInTop": null + }, + { + "id": 18903, + "code": "XPUNKFC", + "issuer": "rJH2ucwzEFcfVyrYCiLHAVwL1VkFHnA96h", + "trustlines": 328, + "placeInTop": null + }, + { + "id": 18949, + "code": "XVPWT", + "issuer": "rXvoteCZbhqMXVx11URCbJpTbkP7Jm1jd", + "trustlines": 187, + "placeInTop": null + }, + { + "id": 18996, + "code": "MUFT", + "issuer": "rw8YAeA3NvxC8usv17mY9FkmS1ei2PqKFm", + "trustlines": 6359, + "placeInTop": null + }, + { + "id": 19012, + "code": "FOOTBALL WORLD CUP", + "issuer": "rUcxXj42XfvtEgz7cXxn4LGcuDzfm7AHTm", + "trustlines": 7543, + "placeInTop": null + }, + { + "id": 129, + "code": "CROM", + "issuer": "rszWfxUVGNAM3Z5YCDQDKpndMKd8WcwK3p", + "trustlines": 643, + "placeInTop": null + }, + { + "id": 143, + "code": "Davavi", + "issuer": "raQeA6mQ5uQDEKd8YagzBQk1LgpHWzKnhD", + "trustlines": 439, + "placeInTop": null + }, + { + "id": 278, + "code": "WMP", + "issuer": "rJMdV26oyxrgZDsPKX8WUVJ55rNbSq3ynX", + "trustlines": 729, + "placeInTop": null + }, + { + "id": 16700, + "code": "KALA", + "issuer": "rfCVwJsq6L8hpsutJ1TSobfuwDJhVtGgmW", + "trustlines": 532, + "placeInTop": null + }, + { + "id": 16749, + "code": "EDUC", + "issuer": "rhRTEyx3Lq4c3RpLo5f5Xibt8YB8XtCxfv", + "title": "Education Token (EDUC on XRPL)", + "trustlines": 1744, + "placeInTop": null + }, + { + "id": 16908, + "code": "XVI", + "issuer": "rMHaa4WrVkpzyJcq9ES3kAe82ofx72DshZ", + "title": "LiveLikeKingz", + "trustlines": 1594, + "placeInTop": null + }, + { + "id": 16970, + "code": "MFC", + "issuer": "ra13xSGX6pv1dos7bXi7oMKvRavaJgT3kT", + "trustlines": 480, + "placeInTop": null + }, + { + "id": 16971, + "code": "MBT", + "issuer": "rwXySmQxaUQn7UAnBv4QpvWv5sJTB2isE1", + "trustlines": 347, + "placeInTop": null + }, + { + "id": 16995, + "code": "ChristmasCoin", + "issuer": "rP9N1D5TicAXC6qAPBJn27bprhSTJ4MEsi", + "trustlines": 1105, + "placeInTop": null + }, + { + "id": 17106, + "code": "DOBE", + "issuer": "rJyME8DgwdnJVtkUPyiEAJhA9XQHsENn9Z", + "trustlines": 539, + "placeInTop": null + }, + { + "id": 17112, + "code": "BullCuck", + "issuer": "rwGfgbLRVrDV3x2Fcu95ADDqtZMtaT4X1T", + "trustlines": 218, + "placeInTop": null + }, + { + "id": 17124, + "code": "ASSHAWK", + "issuer": "r3hCP115jHm2a6CyeXPxfBaJsWrxHMTKvV", + "trustlines": 721, + "placeInTop": null + }, + { + "id": 17145, + "code": "LAVS", + "issuer": "r42Jgmfh9vg7rkX6uyyNyMwhByBMiVuprU", + "trustlines": 269, + "placeInTop": null + }, + { + "id": 17179, + "code": "MGK", + "issuer": "r9G3u3YeVbNhNHHsKYRTsra4tApKkuxuSQ", + "trustlines": 577, + "placeInTop": null + }, + { + "id": 17217, + "code": "XRPDoggy", + "issuer": "rBR9kEXdwwDdGksDto4VaaqsgeA15qDG3q", + "title": "XRPDoggy", + "trustlines": 218, + "placeInTop": null + }, + { + "id": 17222, + "code": "GIVE", + "issuer": "rBvjBZF2qRd1o9fwWT3wbjyCMQ5GQ8KK1k", + "trustlines": 245, + "placeInTop": null + }, + { + "id": 17248, + "code": "Bitcoin", + "issuer": "r388N5HgmPCunXhM5QULAW4KMpeg7HVWkP", + "title": "Meme", + "trustlines": 244, + "placeInTop": null + }, + { + "id": 17249, + "code": "XRSaitama", + "issuer": "r9KmfUKBVVKJAJbrnQXoMUg36f9ztk74dd", + "title": "XRSaitama", + "trustlines": 122, + "placeInTop": null + }, + { + "id": 17252, + "code": "XBG", + "issuer": "r4X9JkeMrQMCW2N6dGc3XK9PFoirpW3NbS", + "trustlines": 158, + "placeInTop": null + }, + { + "id": 17276, + "code": "UFC", + "issuer": "rgfTzdr7TJVmdXBmUYyjjm2RHACAXf53c", + "trustlines": 265, + "placeInTop": null + }, + { + "id": 17281, + "code": "LGBTQ", + "issuer": "rJcDBGuShjinAbX2RU9uh1fkjhaSsBnA2Y", + "trustlines": 228, + "placeInTop": null + }, + { + "id": 17567, + "code": "XRPArmy", + "issuer": "rN8Pat8HPwshmySmwre2uKGrdiJXjSzKK7", + "trustlines": 134, + "placeInTop": null + }, + { + "id": 17681, + "code": "CONTRACTOR", + "issuer": "rKdQVsJBFdAvBrugdEEqa1MnnP7u8u4cQJ", + "title": "ContractorCoin", + "trustlines": 995, + "placeInTop": null + }, + { + "id": 17861, + "code": "XRBet", + "issuer": "rUbKCXsCsrvRyFJYUMbbWsTmnuiYtuJrdS", + "trustlines": 851, + "placeInTop": null + }, + { + "id": 17866, + "code": "Orphanage", + "issuer": "rBg9cmGA5bBnbnCxCgvcHhwypvVAwxNH7x", + "trustlines": 464, + "placeInTop": null + }, + { + "id": 17995, + "code": "Xrew", + "issuer": "r4mneNcxKRSpVGn7GZi1BdngAkSqMAeQmz", + "trustlines": 637, + "placeInTop": null + }, + { + "id": 18255, + "code": "CANNACOIN", + "issuer": "rnheY8yPSVhqWZ9XfSsyRjdUmzmeMqrUD2", + "trustlines": 186, + "placeInTop": null + }, + { + "id": 18276, + "code": "BabyShibainu", + "issuer": "rEKwMCi1hBdoy8MZ1nz963Gec4Tw1YbCgR", + "title": "BabyShibainu", + "trustlines": 108, + "placeInTop": null + }, + { + "id": 18355, + "code": "DIDIT", + "issuer": "rfRxsnwWSUAL6HPb8d9JZHVQWGrLqoAeUc", + "trustlines": 147, + "placeInTop": null + }, + { + "id": 18438, + "code": "CREDITS", + "issuer": "rL1UgNF8TcHw6YCSfbG1ricGArwiqReUNm", + "trustlines": 189, + "placeInTop": null + }, + { + "id": 18484, + "code": "PITx", + "issuer": "rsAHS3agHAyo671V8EFcERoEcEgTeeTW6G", + "trustlines": 208, + "placeInTop": null + }, + { + "id": 18501, + "code": "DBC", + "issuer": "rJpcfNjUXTx5RFEYeyzSerKCKuLk9FZPt", + "trustlines": 191, + "placeInTop": null + }, + { + "id": 18528, + "code": "PARA", + "issuer": "rft1ngEhJwNxTeQDmaqDy7Sg6bQG9YrQYQ", + "trustlines": 115, + "placeInTop": null + }, + { + "id": 18573, + "code": "RugPull", + "issuer": "rpiQEQA1i8LFvdgSZbeHBnNUWETppKPWC7", + "title": "Project Rug Pull", + "trustlines": 186, + "placeInTop": null + }, + { + "id": 18591, + "code": "KTY", + "issuer": "rLYHx7r6uhRaot5UFcRN3arVDMWjfCrodu", + "trustlines": 106, + "placeInTop": null + }, + { + "id": 18697, + "code": "VEND", + "issuer": "rpo8Yt5R5UeTXsxXih7qPeKwXHQj7yj8iL", + "title": "VEND", + "trustlines": 103, + "placeInTop": null + }, + { + "id": 18711, + "code": "TURD", + "issuer": "rH4yQVPK4W3MhJ7gTxotA3BatrdnZQ7YMB", + "trustlines": 114, + "placeInTop": null + }, + { + "id": 18743, + "code": "AstroXRPL", + "issuer": "rhv815JJApsRygvDrKq1t9iDgxmK4xDnPq", + "title": "Astro XRPL", + "trustlines": 654, + "placeInTop": null + }, + { + "id": 18758, + "code": "NCX", + "issuer": "rNAnrcZRxQ2PFYkT78wKTjNHzE7EFqA1E3", + "trustlines": 245, + "placeInTop": null + }, + { + "id": 18816, + "code": "PMC", + "issuer": "rfrmCTJe3zekYFbJfD8QtnTrRrsXvnPyBT", + "title": "PMCissuer", + "trustlines": 643, + "placeInTop": null + }, + { + "id": 18829, + "code": "PRN", + "issuer": "rDsvn6aJG4YMQdHnuJtP9NLrFp18JYTJUf", + "trustlines": 622, + "placeInTop": null + }, + { + "id": 18888, + "code": "Metropolis", + "issuer": "rawczbKvJYwY8TkYhLwAP9mmUhhJMWqwBk", + "trustlines": 157, + "placeInTop": null + }, + { + "id": 18925, + "code": "TDAC", + "issuer": "rpWpPUfN27A8dTz8fJZw4b4HiRX6igsKPZ", + "trustlines": 417, + "placeInTop": null + }, + { + "id": 39, + "code": "JUK", + "issuer": "rN7nWFdRLLiAp33FkQsnPvP7rB2ZMEQ5TF", + "title": "Jukebox", + "trustlines": 2033, + "placeInTop": null + }, + { + "id": 51, + "code": "POP", + "issuer": "rsWg7DAsQmpMDdawUjB95yPwsxXFRxj47H", + "trustlines": 1794, + "placeInTop": null + }, + { + "id": 256, + "code": "CriptoSaurioToken", + "issuer": "rsXdt9Sr9AwZbQtFxSLN9yYVsJ8XidJEVK", + "title": "CriptoSaurios", + "trustlines": 429, + "placeInTop": null + }, + { + "id": 16641, + "code": "WQZ", + "issuer": "r9FbhqdSKTtPhdpCF8pFzzCkHFHUpXLTLG", + "trustlines": 710, + "placeInTop": null + }, + { + "id": 16693, + "code": "Guidance", + "issuer": "r3NEThqCUvgLjA7zdrKfvxDANwsmviLMik", + "title": "Guidance", + "trustlines": 929, + "placeInTop": null + }, + { + "id": 16712, + "code": "XPLNT", + "issuer": "rUtPYqtPBzUpP88PhxN5knDEXcBQpUQbPd", + "trustlines": 410, + "placeInTop": null + }, + { + "id": 16741, + "code": "IGWT", + "issuer": "rPT5ZhM1UUzTg1kfYBJfo3WGxetM66C3pD", + "title": "IGWTrustline", + "trustlines": 1186, + "placeInTop": null + }, + { + "id": 16774, + "code": "XSILVER", + "issuer": "rUpm9huRVf4WoyDc4r18AjfuufZjT3KiTD", + "title": "DSK", + "trustlines": 1332, + "placeInTop": null + }, + { + "id": 16783, + "code": "KadushiXR", + "issuer": "rMx6J6daq9jj6Bq7YN7CGZZNQF2LYrP2y1", + "title": "KadushiXR", + "trustlines": 675, + "placeInTop": null + }, + { + "id": 16912, + "code": "ATH", + "issuer": "rr7GXFTucu3EYKprApnhin4pFDT6WdCRH", + "trustlines": 9014, + "placeInTop": null + }, + { + "id": 16916, + "code": "Axcoin", + "issuer": "ravaGccetHsptXRYojsa142yfW8TpnJAAq", + "trustlines": 1593, + "placeInTop": null + }, + { + "id": 16926, + "code": "RTS", + "issuer": "rMwmwEFNe9Ao7DEcu4DuRWcFQiXVaCTnYh", + "trustlines": 1095, + "placeInTop": null + }, + { + "id": 16935, + "code": "AHCX", + "issuer": "rLLiLAdbwvcDYNDr5gLowiu7DVS3mCaTLz", + "trustlines": 1780, + "placeInTop": null + }, + { + "id": 16993, + "code": "YWY", + "issuer": "rKioikK11rirQCUKySNsxoJHGHuiCD2ixK", + "trustlines": 1656, + "placeInTop": null + }, + { + "id": 17029, + "code": "XSB4", + "issuer": "rwf1QDbXehT5WuQ9E6hvdS5QoYyk6kgby6", + "trustlines": 645, + "placeInTop": null + }, + { + "id": 17039, + "code": "ASSCHEEKS", + "issuer": "rsAUydzTsZijrqXdmSapSQJ5cYyvxuP8f8", + "trustlines": 835, + "placeInTop": null + }, + { + "id": 17056, + "code": "CrucifixCoin", + "issuer": "rGx4j3jaG4RbqG6UabiwvznmEv7cgvkHCG", + "trustlines": 486, + "placeInTop": null + }, + { + "id": 17067, + "code": "Bluetongue", + "issuer": "rGDRWQtEhx8NWk59zQrShdv2eEizrZezNe", + "trustlines": 420, + "placeInTop": null + }, + { + "id": 17132, + "code": "LIT", + "issuer": "rKa3U3n3Zdcz2sy43iiimihYZXrfXk6aY8", + "trustlines": 284, + "placeInTop": null + }, + { + "id": 17140, + "code": "XRHasbulla", + "issuer": "r96QK5tcjNgCWjsccMMY1rhramhqYqBQhj", + "title": "XRHasbulla", + "trustlines": 181, + "placeInTop": null + }, + { + "id": 17216, + "code": "NATN", + "issuer": "rLnU3fo18hhpJG2sZvSkuyooLeB4crHRCy", + "trustlines": 390, + "placeInTop": null + }, + { + "id": 17219, + "code": "FoFF", + "issuer": "rG2mAZ5A2YH1UeXVjsQqh6UaZXBnpiLi9Y", + "title": "FoFF", + "trustlines": 329, + "placeInTop": null + }, + { + "id": 17227, + "code": "TravisScott", + "issuer": "rMwkHmHCjS9qYHUb7zzADZ2yhmmuh4Nhor", + "trustlines": 261, + "placeInTop": null + }, + { + "id": 17243, + "code": "BSG", + "issuer": "rLcoMGVSZDWz3rWheEbPpeQMq2MNfmUoLb", + "title": "JustBull", + "trustlines": 101, + "placeInTop": null + }, + { + "id": 17254, + "code": "MARVEL", + "issuer": "rhcJCDrptNXDyRip9TsPEvydEwfeHHcG1y", + "trustlines": 180, + "placeInTop": null + }, + { + "id": 17257, + "code": "TEXRP", + "issuer": "rwsbKbvqZZs8QbMfkfk5QL6f2MtfgubYud", + "trustlines": 556, + "placeInTop": null + }, + { + "id": 17282, + "code": "META", + "issuer": "rNEhdhji1ByXNMMGp28oZHnwv5bHzUz9mv", + "title": "META", + "trustlines": 866, + "placeInTop": null + }, + { + "id": 17289, + "code": "BRAVE", + "issuer": "rLWDjNnrFvm45uSASGnB9tZoJCnZc2jpMt", + "trustlines": 140, + "placeInTop": null + }, + { + "id": 17322, + "code": "APE", + "issuer": "rJ9b5v7UoW3HbprCU7ZwXfmuuGFN7DJfbf", + "trustlines": 230, + "placeInTop": null + }, + { + "id": 17367, + "code": "HEAL", + "issuer": "rUnkAepqGa9r6mGzpR3p2C1CYYsPurb8wj", + "trustlines": 150, + "placeInTop": null + }, + { + "id": 17398, + "code": "CNY", + "issuer": "rMTqE8ExnkRDuAVrrD7QJubz6JUmkr1P47", + "trustlines": 161, + "placeInTop": null + }, + { + "id": 17447, + "code": "Tree", + "issuer": "rHAhxoWNM8vNt5VENuTtS2UAF6BHpDfM7", + "title": "Center for Collaborative Economics", + "trustlines": 166, + "placeInTop": null + }, + { + "id": 17574, + "code": "MissionRicher", + "issuer": "rKDTfkQ81nRrUCmQriFtfeNAcB4penRzD5", + "trustlines": 201, + "placeInTop": null + }, + { + "id": 17597, + "code": "JJJ", + "issuer": "rwumuHoumJp4YpVzVDMRStnGfLjb89gnvp", + "trustlines": 301, + "placeInTop": null + }, + { + "id": 17622, + "code": "COVID", + "issuer": "rGniT8LXLhgCdwRzyErbKXKoEKyhKfxeur", + "trustlines": 138, + "placeInTop": null + }, + { + "id": 17660, + "code": "XSaitama", + "issuer": "rPDhUfhMLV5ZKGwRBY7oWeQfv1tqzEAcdk", + "title": "XSaitama", + "trustlines": 185, + "placeInTop": null + }, + { + "id": 17663, + "code": "CarbonKiss", + "issuer": "rfuCSriA4SxjA1Mi1aEYsftCQXyjTtq96i", + "trustlines": 153, + "placeInTop": null + }, + { + "id": 17838, + "code": "Xphunk", + "issuer": "rspymsbKNiMdvuoQsvvc2rFDDxm9a27wbq", + "trustlines": 189, + "placeInTop": null + }, + { + "id": 17916, + "code": "XCT", + "issuer": "rwrhYVch6n8Ljvh4EsUvypByCHPQQNKmT8", + "trustlines": 658, + "placeInTop": null + }, + { + "id": 18011, + "code": "JesusCoin", + "issuer": "rNTJyUiXZWDGAUYZxDJtj3k4FLsjyJeSUs", + "trustlines": 159, + "placeInTop": null + }, + { + "id": 18154, + "code": "HornyHorsy", + "issuer": "rfE2kuFdc9W89ZLiXFed4AX29eesH3t1kQ", + "title": "Horny Horsy NFT", + "trustlines": 820, + "placeInTop": null + }, + { + "id": 18158, + "code": "SHOP", + "issuer": "rH4hB2ufbMQWkPbwoZ27mAGtKaPeGdtv71", + "title": "SHOPSPOT", + "trustlines": 258, + "placeInTop": null + }, + { + "id": 18176, + "code": "SourGrapes", + "issuer": "rfS3BN2KpaC6h1jt8RJvZ74M8r5NdZAhHp", + "title": "SourGrapes", + "trustlines": 493, + "placeInTop": null + }, + { + "id": 18228, + "code": "Veteran", + "issuer": "r3Q5nzkGA9WDz2gCZ3ZSEy2yYseSASru3m", + "title": "Universal Digital Assets", + "trustlines": 193, + "placeInTop": null + }, + { + "id": 18254, + "code": "XQUEENS", + "issuer": "rE8VLqoUNiHFzCYaHiWP7KbfmvszNbQ23o", + "trustlines": 278, + "placeInTop": null + }, + { + "id": 18382, + "code": "XRPellet", + "issuer": "rw7WTwbVaxzjPdFw2SkHY3nr97DHwaAD5g", + "title": "XRPellet Official", + "trustlines": 609, + "placeInTop": null + }, + { + "id": 18396, + "code": "MFX", + "issuer": "rLHfNhaVAHXjPFvB7HxtZzY6JuuUKn9dDR", + "trustlines": 103, + "placeInTop": null + }, + { + "id": 18472, + "code": "CGC", + "issuer": "ra2wxKYJ834PVipcwboRQdx8XQ5iFiDyDY", + "trustlines": 101, + "placeInTop": null + }, + { + "id": 18559, + "code": "XDR", + "issuer": "rHkuWrDPcCX6EmZZi6YN5m6go7iDpoEdyN", + "trustlines": 109, + "placeInTop": null + }, + { + "id": 18682, + "code": "Divitiae", + "issuer": "rn6Ehu3VADTf9dK7spjfztKS4QaJg8ef7n", + "trustlines": 125, + "placeInTop": null + }, + { + "id": 18703, + "code": "XrtTrucker", + "issuer": "rpo5fZyJ3L3i5bLdjZTdWkKnPxrAgB2STk", + "trustlines": 458, + "placeInTop": null + }, + { + "id": 18814, + "code": "Kakaw", + "issuer": "rLfDcXdbcySa1L3RnvZvaX2sL111z64DkB", + "trustlines": 112, + "placeInTop": null + }, + { + "id": 18938, + "code": "DedAss", + "issuer": "rHYvhab6JEFcoipghVYjUz5LwMCB7sZmVm", + "title": "DedAss", + "trustlines": 451, + "placeInTop": null + }, + { + "id": 18954, + "code": "FANs", + "issuer": "rGQmh24opk1H44xhH4mGZczbYc7cWuwq3B", + "trustlines": 154, + "placeInTop": null + }, + { + "id": 18955, + "code": "XLunx", + "issuer": "r9Jtt239HADKXGJf61f4WEVAR76c3xoVCa", + "trustlines": 533, + "placeInTop": null + }, + { + "id": 18998, + "code": "CygnetX", + "issuer": "rJYMx2ZHgjocAP3aiK1STbP3CTZASN5Sy8", + "trustlines": 2579, + "placeInTop": null + }, + { + "id": 19136, + "code": "XKZN", + "issuer": "r9adfTxcTeTp1BJQXqtvTvsoK2kr8xYQzR", + "title": "XKaizen", + "trustlines": 18238, + "placeInTop": null + }, + { + "id": 18, + "code": "SDOGI", + "issuer": "rLdNVRKiVM4kvMbLzkZr97BtXcYeeoA19R", + "trustlines": 9090, + "placeInTop": null + }, + { + "id": 35, + "code": "ROOTS", + "issuer": "r3BvncNn56fptaXNXi3xxYZY6owrv4snpx", + "trustlines": 2013, + "placeInTop": null + }, + { + "id": 49, + "code": "SPCLUB", + "issuer": "r4Hoe49khvxSmoWZjQM2jBE8BENHXYpW7k", + "trustlines": 2101, + "placeInTop": null + }, + { + "id": 55, + "code": "COWPUNKS", + "issuer": "rJQs456Y5bhukH14zfFjfzCUoTHtgtamPp", + "trustlines": 1918, + "placeInTop": null + }, + { + "id": 62, + "code": "XSamurai", + "issuer": "raxgWzLpqyiCZbAqYDidy9uB92HU8xHm9M", + "title": "BullishMomentsNFTs", + "trustlines": 2259, + "placeInTop": null + }, + { + "id": 65, + "code": "ANIMA", + "issuer": "r3zbjkCSB4vbBmzFhkWudKhJG7J9fc2Q83", + "title": "Anima", + "trustlines": 4850, + "placeInTop": null + }, + { + "id": 68, + "code": "CLOUD3", + "issuer": "rD7ouXraLQj74kxrHy1aXfjHyMprYf4TCs", + "title": "CLOUD3", + "trustlines": 1813, + "placeInTop": null + }, + { + "id": 73, + "code": "crimeGAME", + "issuer": "rPHS3C24Zmdqn7cf2iKm9XYE4JuJwzmqKr", + "title": "Rocketfella DeMoon", + "trustlines": 1925, + "placeInTop": null + }, + { + "id": 76, + "code": "EXT", + "issuer": "rDL5AvJAQMP9ZvzUjfySoFzNoRM5ctWafD", + "title": "LegacyNFT", + "trustlines": 1517, + "placeInTop": null + }, + { + "id": 128, + "code": "STEM", + "issuer": "rMqnqCtwLfsgmHXi4wUmJd2ad1SK7S6KhE", + "title": "STEM", + "trustlines": 3865, + "placeInTop": null + }, + { + "id": 159, + "code": "XROBOCROT", + "issuer": "rhagSQvDqPsD1nTN4CjKX1KfnzK3h8wEEa", + "title": "xrobocrot", + "trustlines": 1088, + "placeInTop": null + }, + { + "id": 164, + "code": "589XRP", + "issuer": "rhzvvrBSJh8BMpMGzy4us3VkUKGjzD34cb", + "trustlines": 439, + "placeInTop": null + }, + { + "id": 188, + "code": "XShaolin", + "issuer": "raxgWzLpqyiCZbAqYDidy9uB92HU8xHm9M", + "title": "BullishMomentsNFTs", + "trustlines": 458, + "placeInTop": null + }, + { + "id": 189, + "code": "XWomen", + "issuer": "rEK6feXWGNwD34xjXfetggyrdxyr78YaYY", + "trustlines": 489, + "placeInTop": null + }, + { + "id": 190, + "code": "Xpotion", + "issuer": "rJDWouEkBDUncQAYjfNb34Q6fSmy6QVjAm", + "trustlines": 948, + "placeInTop": null + }, + { + "id": 200, + "code": "XMaori", + "issuer": "raxgWzLpqyiCZbAqYDidy9uB92HU8xHm9M", + "title": "BullishMomentsNFTs", + "trustlines": 934, + "placeInTop": null + }, + { + "id": 202, + "code": "XFighter", + "issuer": "raxgWzLpqyiCZbAqYDidy9uB92HU8xHm9M", + "title": "BullishMomentsNFTs", + "trustlines": 482, + "placeInTop": null + }, + { + "id": 205, + "code": "XBRAIN", + "issuer": "rEYz7xucLcUQYLdFzakHodSbuFwTV95f3T", + "title": "OFFICIAL XBRAINS XRPL ", + "trustlines": 3093, + "placeInTop": null + }, + { + "id": 207, + "code": "JennaX", + "issuer": "rHYTL5dyJFGFNCXoLBo4Yhuw2o4HAhRUiP", + "title": "#xPUNK Queen", + "trustlines": 3264, + "placeInTop": null + }, + { + "id": 226, + "code": "Redu", + "issuer": "r4hgK937DndYtxAKTT3pFQDebssMxyR3rJ", + "title": "ReducedLunch", + "trustlines": 1181, + "placeInTop": null + }, + { + "id": 262, + "code": "MSNGR3", + "issuer": "rHAhxoWNM8vNt5VENuTtS2UAF6BHpDfM7", + "title": "Center for Collaborative Economics", + "trustlines": 1122, + "placeInTop": null + }, + { + "id": 268, + "code": "Jaguar", + "issuer": "rURPhsxs1E38R2nmZkbfQtATgm955Apbwh", + "trustlines": 509, + "placeInTop": null + }, + { + "id": 272, + "code": "XFI", + "issuer": "rf38TgVezFfowhzAbmyT6etXUyg8UpjA4g", + "title": "xFinance", + "trustlines": 849, + "placeInTop": null + }, + { + "id": 274, + "code": "XRPBee", + "issuer": "rfvAg9pyBt2DzqRMLtTAfJtGEmWV4bWSAH", + "trustlines": 520, + "placeInTop": null + }, + { + "id": 280, + "code": "BSM", + "issuer": "rM8kLDwknWLBqGfiEHfqkR7QPVJMQn2Fn3", + "trustlines": 765, + "placeInTop": null + }, + { + "id": 303, + "code": "MIRI", + "issuer": "rnnGyUPdxurQL8zrNNaimZ1xA8y1yyNTCT", + "trustlines": 599, + "placeInTop": null + }, + { + "id": 304, + "code": "GuildCoin", + "issuer": "rG5CupSkB3RS8FPqZm2f38DwgGVyweMfYb", + "title": "GuildTower", + "trustlines": 1238, + "placeInTop": null + }, + { + "id": 305, + "code": "XSIC", + "issuer": "rncTRYJNaaYsCVdLYvReQsMgkigjpNuHA6", + "trustlines": 897, + "placeInTop": null + }, + { + "id": 307, + "code": "Opossum", + "issuer": "rsGJhb6aGZ86AAwJj3z45XcYs1MsRL5cDH", + "trustlines": 549, + "placeInTop": null + }, + { + "id": 308, + "code": "CryptoLand", + "issuer": "rBdz9ovrGstn3oToQawBSgVdo1TuuiNqEz", + "trustlines": 3286, + "placeInTop": null + }, + { + "id": 311, + "code": "CREATE", + "issuer": "rP6Df42wRkct2BJBNTgTSVEpjzVqCrTXBM", + "trustlines": 1735, + "placeInTop": null + }, + { + "id": 312, + "code": "ART", + "issuer": "rENp871DKiJjJrswC5Mz4fRXdEnqHj4Qny", + "trustlines": 1823, + "placeInTop": null + }, + { + "id": 316, + "code": "EDCOLLECT", + "issuer": "rJdeSa9Z8hp4YPBSu4EPRszZKAyY3MWFUS", + "trustlines": 1447, + "placeInTop": null + }, + { + "id": 322, + "code": "XBK", + "issuer": "rw2C1dawoWgJhDf3TxrT4GpLrq1NXmzfRb", + "trustlines": 593, + "placeInTop": null + }, + { + "id": 323, + "code": "RHAD", + "issuer": "rhkQRnmE9L6JgSjGGApJ6mntZCuVsfshHT", + "title": "D.P.MonksFinance LTD", + "trustlines": 3302, + "placeInTop": null + }, + { + "id": 327, + "code": "COLLECT", + "issuer": "rwNM54zKJDC8sTfcFYAmNLAoPVGEJkE2iA", + "trustlines": 1300, + "placeInTop": null + }, + { + "id": 331, + "code": "SMART", + "issuer": "r3JhTE5sSShKg84Z5ZW6WEGtEQSuXuMXqv", + "trustlines": 1723, + "placeInTop": null + }, + { + "id": 352, + "code": "FCXVoteYES", + "issuer": "rfF5kbub1f87oSdc9Bi26z9chZJhJMpEXJ", + "trustlines": 197, + "placeInTop": null + }, + { + "id": 362, + "code": "2Cents", + "issuer": "rErA5dLpi3dgHwCD8DJGeeCNs896cnsJQz", + "title": "2CentsCoin", + "trustlines": 424, + "placeInTop": null + }, + { + "id": 16626, + "code": "XUSD", + "issuer": "rfxkJ3eN9oT21thV8MxqFRG71x5xqvzywR", + "trustlines": 1374, + "placeInTop": null + }, + { + "id": 16629, + "code": "XMONSTER", + "issuer": "rPvTZzYC8uJiDsjahWqAuGKBY3TrQKCTYH", + "trustlines": 632, + "placeInTop": null + }, + { + "id": 16634, + "code": "FLR", + "issuer": "rcxJwVnftZzXqyH9YheB8TgeiZUhNo1Eu", + "title": "GateHub FLR", + "trustlines": 22643, + "placeInTop": null + }, + { + "id": 16647, + "code": "XPcoin", + "issuer": "rfpzfcK67GNnptw9Z8P7cjx5B7zhu1zv1e", + "title": "xpmarket", + "trustlines": 12447, + "placeInTop": null + }, + { + "id": 16689, + "code": "RST", + "issuer": "rBLbjkrenS6x369ifpxxj3bMvgWNp7kUCv", + "trustlines": 232, + "placeInTop": null + }, + { + "id": 16690, + "code": "QST", + "issuer": "rKTCrDyfH5dwbndZcvBRqG5UVQgD6mbTHT", + "trustlines": 374, + "placeInTop": null + }, + { + "id": 16691, + "code": "XURB", + "issuer": "rUszxyeKQhqr3KMYYgmpY2vinJB6hZbpTz", + "trustlines": 571, + "placeInTop": null + }, + { + "id": 16694, + "code": "LiFi", + "issuer": "rLWnYnn1hcr8mX113oMD87iv4ugJ6unnJB", + "trustlines": 428, + "placeInTop": null + }, + { + "id": 16696, + "code": "RKIDZ", + "issuer": "rMqyDimznTdwE1DY1V7TrwXvR7iUQZGLF5", + "title": "RKIDZ_official (Former xGBTC)", + "trustlines": 1446, + "placeInTop": null + }, + { + "id": 16697, + "code": "BACT", + "issuer": "rGrUmXd7R8BUqgNFvGqF3JXudh8YuXBFVR", + "trustlines": 534, + "placeInTop": null + }, + { + "id": 16701, + "code": "MHR", + "issuer": "rw1a6Ey51sasTgug64yN9owSjBV8JuZQeH", + "trustlines": 624, + "placeInTop": null + }, + { + "id": 16702, + "code": "XSumo", + "issuer": "raxgWzLpqyiCZbAqYDidy9uB92HU8xHm9M", + "title": "BullishMomentsNFTs", + "trustlines": 922, + "placeInTop": null + }, + { + "id": 16719, + "code": "LWTNFT", + "issuer": "rNyS4GdVJXyZV1sWufsKSAaLZwfnuJSBnf", + "trustlines": 688, + "placeInTop": null + }, + { + "id": 16738, + "code": "XLU", + "issuer": "rGa5AVLKXmn2o1XpEzswXrcMvYzjqEPHKt", + "trustlines": 635, + "placeInTop": null + }, + { + "id": 16758, + "code": "iPictorial", + "issuer": "r3CqqV1oChF4S6fsRhqZe93Ycn1ujgsJpZ", + "trustlines": 303, + "placeInTop": null + }, + { + "id": 16759, + "code": "MPT", + "issuer": "rUaNggdMiSwbytLUMecVxXKutsT3VDRV1g", + "title": "MONEY PRINTER TOKEN", + "trustlines": 1750, + "placeInTop": null + }, + { + "id": 16767, + "code": "XrpMoonParty", + "issuer": "rBx5m4QEFbGeBCRpNcT2P8YdXZNeTJsa4A", + "title": "XRP MoonParty", + "trustlines": 1507, + "placeInTop": null + }, + { + "id": 16772, + "code": "MHX", + "issuer": "rMGgjBz8BLvqNdrWtQKtsCe9ssdWn8KA5A", + "title": "Mhxproject", + "trustlines": 2930, + "placeInTop": null + }, + { + "id": 16777, + "code": "Xgen", + "issuer": "rKw6No7RYJJPRYTqnfcexG2B2Ng4jiivCJ", + "title": "GrowYourOwnNFT", + "trustlines": 979, + "placeInTop": null + }, + { + "id": 16782, + "code": "XRInjuredPunks", + "issuer": "rB9894majqFpciVNcN7HFZ5uTpukDfjfcp", + "title": "XR_InjuredPunks", + "trustlines": 1181, + "placeInTop": null + }, + { + "id": 16806, + "code": "WYM", + "issuer": "rGh6VWMaLEkY8zTTNgT1gXbBY7CEEwhQLH", + "title": "Sonar Muse", + "trustlines": 8076, + "placeInTop": null + }, + { + "id": 16854, + "code": "AGUILA", + "issuer": "rEL1KXDjqmPSXX9DFHcegsF9M3du9vFskK", + "trustlines": 1325, + "placeInTop": null + }, + { + "id": 16855, + "code": "CRYPTO", + "issuer": "rRbiKwcueo6MchUpMFDce9XpDwHhRLPFo", + "trustlines": 1448, + "placeInTop": null + }, + { + "id": 16862, + "code": "XCOLLAB", + "issuer": "ranTVywEvZEJnMqUxifTydbXZDNWx2zM7i", + "trustlines": 1593, + "placeInTop": null + }, + { + "id": 16863, + "code": "XLEARN", + "issuer": "rMofCVmt7Raz4RAPn9uE5jxxN4mFnFHG5g", + "trustlines": 681, + "placeInTop": null + }, + { + "id": 16866, + "code": "XPORN", + "issuer": "raee1iBjzvC43ntPwLkR2G7cLZn1yont3d", + "trustlines": 624, + "placeInTop": null + }, + { + "id": 16870, + "code": "XNAUT", + "issuer": "rnWgBhdddyEw8VURoXLPXWhvuqZzCLdcES", + "trustlines": 1009, + "placeInTop": null + }, + { + "id": 16871, + "code": "XChess", + "issuer": "rhrme3Dt99E8Zpzf6xqy9mV8ntfrioo1Cw", + "trustlines": 1301, + "placeInTop": null + }, + { + "id": 16874, + "code": "GVBK", + "issuer": "r3LATMBogx3Y1r4FcWC1p7MEKPMUzQmpSj", + "trustlines": 2062, + "placeInTop": null + }, + { + "id": 16883, + "code": "XFR", + "issuer": "ra7tqyvUjEeqeZ1DASguxPaz2A5trVyh9g", + "trustlines": 2144, + "placeInTop": null + }, + { + "id": 16895, + "code": "XWhale", + "issuer": "rLNkSRESSC7eihdWYysGLPY77WkmWnwk3s", + "title": "XWhales Official", + "trustlines": 1602, + "placeInTop": null + }, + { + "id": 16896, + "code": "XMC", + "issuer": "rKXXAvKSDV5SgGCc41XfdKcFTFgpsY5jKz", + "trustlines": 790, + "placeInTop": null + }, + { + "id": 16897, + "code": "PNP", + "issuer": "rhZrzqDBvRBTbUYwz1bQcGgZE3PNoMh938", + "trustlines": 1354, + "placeInTop": null + }, + { + "id": 16901, + "code": "XRV", + "issuer": "rBQKSqCmW63fcyvxSthPqvQrgiw3zn9keP", + "title": "HRM AVATAR-TIC CLUB ", + "trustlines": 829, + "placeInTop": null + }, + { + "id": 16914, + "code": "NIXY", + "issuer": "rp3pUDg84qArgBU9mwGUph6NoQeKzeBtbo", + "trustlines": 1578, + "placeInTop": null + }, + { + "id": 16915, + "code": "BCHX", + "issuer": "r4L9Q861brng8jTDhk73VCDUgPfKxPcXwT", + "title": "BCHX", + "trustlines": 1246, + "placeInTop": null + }, + { + "id": 16919, + "code": "BeerToken", + "issuer": "r9RuvgPQPDndJDtLBrf6pAxKSmYxkbsgjd", + "trustlines": 347, + "placeInTop": null + }, + { + "id": 16932, + "code": "ALTv", + "issuer": "rUTG9Xb4Zo38rXNxRffKBjZ3Tw7nu3XJKs", + "trustlines": 1148, + "placeInTop": null + }, + { + "id": 16934, + "code": "RSA", + "issuer": "rMwmwEFNe9Ao7DEcu4DuRWcFQiXVaCTnYh", + "trustlines": 1531, + "placeInTop": null + }, + { + "id": 16936, + "code": "POM", + "issuer": "r9q2WGafALdAGXS2ercbjsB8Fs93z5khWB", + "trustlines": 1926, + "placeInTop": null + }, + { + "id": 16937, + "code": "DONG", + "issuer": "rfL4Sci2ag5hhkpDuqtWYov6j3mshVWLgU", + "title": "Limited Currency", + "trustlines": 1805, + "placeInTop": null + }, + { + "id": 16938, + "code": "XSPACE", + "issuer": "rDGCeU9CjeM2KGdjqtrUPYeku7ByvHycUP", + "title": "XspaceNft", + "trustlines": 3204, + "placeInTop": null + }, + { + "id": 16944, + "code": "EliteXash", + "issuer": "rBxgRFM6SAeZN2FuvvQEpsPdFewoj2AesG", + "title": "EliteXash", + "trustlines": 1279, + "placeInTop": null + }, + { + "id": 16946, + "code": "SPC", + "issuer": "rfxkJ3eN9oT21thV8MxqFRG71x5xqvzywR", + "trustlines": 1501, + "placeInTop": null + }, + { + "id": 16947, + "code": "SSS", + "issuer": "rUDk3xTdHoVruu41mr9Jh5NyRg4svHpbnT", + "trustlines": 1759, + "placeInTop": null + }, + { + "id": 16951, + "code": "XBHT", + "issuer": "rQGwFj7F1C5G2xLpM5D9cRPf79dR4hutpc", + "title": "XBE | XBee Mekaverse NFT", + "trustlines": 2845, + "placeInTop": null + }, + { + "id": 16967, + "code": "Reciprocity", + "issuer": "rw5f98uNdDgu9uR6zhCRrku84b34aiJ3tj", + "trustlines": 202, + "placeInTop": null + }, + { + "id": 16969, + "code": "VacationCoin", + "issuer": "rDNf5DaPfVQfRNJhCYozgNtTUYSBwjqJMo", + "title": "VacationCoin", + "trustlines": 1157, + "placeInTop": null + }, + { + "id": 16972, + "code": "CONSCIENCE", + "issuer": "r9xA4QFhBrK96f7bgpEaT7hACY1Eynt9RL", + "trustlines": 387, + "placeInTop": null + }, + { + "id": 16973, + "code": "UnitOne", + "issuer": "r4dfajeq79mzxusPtvQXvEgt8uPJL7NKuD", + "trustlines": 458, + "placeInTop": null + }, + { + "id": 16974, + "code": "ARC", + "issuer": "rHXyFWcZDMcic25fQvAomQhZiu71sHroom", + "trustlines": 951, + "placeInTop": null + }, + { + "id": 16980, + "code": "LANDX", + "issuer": "rwsf7M8HuPLvozQhKHn4wSwLMtezVCS6sF", + "trustlines": 1063, + "placeInTop": null + }, + { + "id": 16990, + "code": "TOX", + "issuer": "r3EqmKHKr2VrdCsQcMxbPcCzMXjzdCd67P", + "trustlines": 2361, + "placeInTop": null + }, + { + "id": 16996, + "code": "Checkone", + "issuer": "rHZbWwtDYtvv47o2J1m9er8iM3FBRQfm6n", + "trustlines": 1846, + "placeInTop": null + }, + { + "id": 16997, + "code": "PokemonTCG", + "issuer": "rQUqp1zizdKLLMQZLBZtDDXvGDZqvCUMiy", + "title": "Gotta Catch\u2019em All! Nft Master!", + "trustlines": 1963, + "placeInTop": null + }, + { + "id": 17010, + "code": "BikiniBotton", + "issuer": "rEEzEsszXMM69ZmXpEboich1b5BJJAymoz", + "title": "BikiniBotton", + "trustlines": 560, + "placeInTop": null + }, + { + "id": 17014, + "code": "INFTM", + "issuer": "rGzaBTzsYjp7xahHQoqbE1tvKeRoNzeY6n", + "trustlines": 575, + "placeInTop": null + }, + { + "id": 17025, + "code": "XCE", + "issuer": "r9UEc2Xf2Y2TWrvBM5m7H9d7AyfZLc8wtB", + "trustlines": 336, + "placeInTop": null + }, + { + "id": 17027, + "code": "XDev", + "issuer": "rn45ynjsuP5NMefYQBYMHqbF5CSjxG2y9n", + "trustlines": 338, + "placeInTop": null + }, + { + "id": 17030, + "code": "GOLDEGG", + "issuer": "rBmUo4jaGtXm63QRCKA2RvSkXavrqsjuiH", + "trustlines": 1177, + "placeInTop": null + }, + { + "id": 17031, + "code": "GCX", + "issuer": "rNuW7ohW2iztvASjftFnBqEbdkz1xge2Bk", + "title": "GCX", + "trustlines": 414, + "placeInTop": null + }, + { + "id": 17033, + "code": "SHIA", + "issuer": "rKyiVTgYvcyorY1VzSLVmQWNZbFQGVwn1D", + "trustlines": 1092, + "placeInTop": null + }, + { + "id": 17036, + "code": "OREX", + "issuer": "rLcB1vwd9ANrkXcznNfrHF3ohJi2dB4Dka", + "trustlines": 1242, + "placeInTop": null + }, + { + "id": 17038, + "code": "KAA", + "issuer": "rECnFHk4WLGS9AmFUGYnkmmn5SNrBFp6o4", + "trustlines": 792, + "placeInTop": null + }, + { + "id": 17042, + "code": "UNC", + "issuer": "rwo1fD9XWRt6sswqTomC96sENkEG7wn1jS", + "trustlines": 1177, + "placeInTop": null + }, + { + "id": 17059, + "code": "Aether", + "issuer": "rHAhxoWNM8vNt5VENuTtS2UAF6BHpDfM7", + "title": "Center for Collaborative Economics", + "trustlines": 833, + "placeInTop": null + }, + { + "id": 17068, + "code": "PROJECT", + "issuer": "rJkMidTCfjFgp345EmwS4NWuZjjvAoWvyx", + "trustlines": 1476, + "placeInTop": null + }, + { + "id": 17075, + "code": "XRBIGPP", + "issuer": "rMKbvDuJK9gviR1z4LQMqF6VjEvhJMNvci", + "trustlines": 1828, + "placeInTop": null + }, + { + "id": 17079, + "code": "SOLOC", + "issuer": "r3JjKDmVpeWBMNu9kUMrPR2Vr26bAYDr14", + "trustlines": 1778, + "placeInTop": null + }, + { + "id": 17083, + "code": "XRPLDOGE", + "issuer": "rwCnxiJaGhsQTrCPNcZ7VoLEc6ZYfC1wVC", + "title": "XRPLDOGE", + "trustlines": 2245, + "placeInTop": null + }, + { + "id": 17105, + "code": "COBB", + "issuer": "rfKibygzNr84tfFTV8A4fU11kSyA53Pt7s", + "trustlines": 604, + "placeInTop": null + }, + { + "id": 17113, + "code": "TMC", + "issuer": "rJ212MuKJ2uvh1vTqqEkJK1V11FPob7Zrk", + "trustlines": 270, + "placeInTop": null + }, + { + "id": 17116, + "code": "MM2", + "issuer": "rrap7mxsSDGCAzKmtR6ttQmJEMUsMBrFC5", + "trustlines": 217, + "placeInTop": null + }, + { + "id": 17123, + "code": "KMBT", + "issuer": "ratNgPXEX4kASLZ3cwpU7uSMLDYFBJFCU9", + "trustlines": 184, + "placeInTop": null + }, + { + "id": 17125, + "code": "AuCoin", + "issuer": "rDAePhvSKX4gKSrjEAw8kA8xmPNhyx9Fiu", + "trustlines": 439, + "placeInTop": null + }, + { + "id": 17126, + "code": "CHAD", + "issuer": "r9nPB99QH8nNEjTtN5xfqnbDUpiduBZjdG", + "trustlines": 1026, + "placeInTop": null + }, + { + "id": 17127, + "code": "SDOGE", + "issuer": "rhCLRdLc2MCxvtoumcKZFNfxMEhQLfxdTq", + "trustlines": 1731, + "placeInTop": null + }, + { + "id": 17130, + "code": "XVikings", + "issuer": "raxgWzLpqyiCZbAqYDidy9uB92HU8xHm9M", + "title": "BullishMomentsNFTs", + "trustlines": 287, + "placeInTop": null + }, + { + "id": 17133, + "code": "xMAGA", + "issuer": "rQfCaTEkahVPNfKYbu2Bw3KT6fTFepf2kw", + "trustlines": 1275, + "placeInTop": null + }, + { + "id": 17138, + "code": "CX3", + "issuer": "rDxdjF5bECFfM4TgnnNue9o5ovNDNR2hec", + "trustlines": 1872, + "placeInTop": null + }, + { + "id": 17143, + "code": "EXQ", + "issuer": "raL4mET7PsaEj7bYujSNH1i1CzpuJ9Fw4W", + "trustlines": 471, + "placeInTop": null + }, + { + "id": 17144, + "code": "Xbud", + "issuer": "rKw6No7RYJJPRYTqnfcexG2B2Ng4jiivCJ", + "title": "GrowYourOwnNFT", + "trustlines": 494, + "placeInTop": null + }, + { + "id": 17147, + "code": "BRLZ", + "issuer": "rEghiMbiboaWGJi7gaYPM6tFGt4xKGQhgm", + "trustlines": 483, + "placeInTop": null + }, + { + "id": 17161, + "code": "XAP", + "issuer": "rwBiSxAQx7KC1WV6Zua1YVvcfJQdLPkG33", + "trustlines": 683, + "placeInTop": null + }, + { + "id": 17163, + "code": "LGT", + "issuer": "rBnXtGYjH28RHkcUkuv2R21hHuKWHmnieC", + "trustlines": 799, + "placeInTop": null + }, + { + "id": 17164, + "code": "Xgrow", + "issuer": "rKw6No7RYJJPRYTqnfcexG2B2Ng4jiivCJ", + "title": "GrowYourOwnNFT", + "trustlines": 303, + "placeInTop": null + }, + { + "id": 17167, + "code": "KYC", + "issuer": "rKTCrDyfH5dwbndZcvBRqG5UVQgD6mbTHT", + "trustlines": 249, + "placeInTop": null + }, + { + "id": 17173, + "code": "AXS", + "issuer": "rKU59Uaj3HVzSFAbSMXcdvrRsDR5CMC9Ez", + "trustlines": 105, + "placeInTop": null + }, + { + "id": 17176, + "code": "MOSS", + "issuer": "rNvoCBsP2HcFhBh2r1JncHEs3YtYGdiZoy", + "trustlines": 180, + "placeInTop": null + }, + { + "id": 17198, + "code": "XRI", + "issuer": "rPaAiDAo5uWeqhaAWZw6Sgbv1RBZzkeKmw", + "trustlines": 832, + "placeInTop": null + }, + { + "id": 17203, + "code": "SCAMx", + "issuer": "rU1KpfQhCprYH6rGBVVPie4faUb9E2vZQB", + "title": "SCAMx", + "trustlines": 395, + "placeInTop": null + }, + { + "id": 17204, + "code": "VRP", + "issuer": "rJk9sq1a3jhBr7mqx9SXmkLgpNNXwV7SDj", + "trustlines": 338, + "placeInTop": null + }, + { + "id": 17206, + "code": "XCOLLECT", + "issuer": "r314X1hJQRPWHMx7exD2xonYR8owWRYYEm", + "trustlines": 645, + "placeInTop": null + }, + { + "id": 17220, + "code": "CRYPTOPIUM", + "issuer": "rMNcmHJ2FnSze3wMZAuacESE4G2Y5G78dV", + "trustlines": 224, + "placeInTop": null + }, + { + "id": 17224, + "code": "VIAL", + "issuer": "r9VgcESgJeT7E5c7ENkhEQ2t3Y97a7i7Kh", + "trustlines": 517, + "placeInTop": null + }, + { + "id": 17233, + "code": "LAND", + "issuer": "rHAhxoWNM8vNt5VENuTtS2UAF6BHpDfM7", + "title": "Center for Collaborative Economics", + "trustlines": 262, + "placeInTop": null + }, + { + "id": 17241, + "code": "XRPP", + "issuer": "rnTAZgihNyG12FeNwXBtHQz7sfULraxRPP", + "trustlines": 432, + "placeInTop": null + }, + { + "id": 17244, + "code": "XCumRocket", + "issuer": "r4PG82JC4ApzSB9cmu1bbfVnJrkUY8j9yB", + "title": "XCumRocket", + "trustlines": 334, + "placeInTop": null + }, + { + "id": 17253, + "code": "GOLD", + "issuer": "raqT4Q5sz4t66bbooaCRLMPoiKyLRDNX8Y", + "trustlines": 168, + "placeInTop": null + }, + { + "id": 17258, + "code": "EXPC", + "issuer": "rLb593mo6Nerw7eWvC19gR1fLggeWX6u6s", + "title": "Tuition DeFi Network", + "trustlines": 228, + "placeInTop": null + }, + { + "id": 17260, + "code": "UnvaxxedSperm", + "issuer": "rLZn9qH5ivDCpMrSiW6EPutxwDZinXuYK7", + "trustlines": 150, + "placeInTop": null + }, + { + "id": 17262, + "code": "FRLZ", + "issuer": "rLT9fAFcChvKVkZpiV3H2NYabfnZzsLkii", + "trustlines": 335, + "placeInTop": null + }, + { + "id": 17275, + "code": "BINANCE", + "issuer": "rU2VgeFkmYKxiUdizrc6KC9ru72892UgFc", + "trustlines": 402, + "placeInTop": null + }, + { + "id": 17303, + "code": "EPWC", + "issuer": "rLb593mo6Nerw7eWvC19gR1fLggeWX6u6s", + "title": "Tuition DeFi Network", + "trustlines": 199, + "placeInTop": null + }, + { + "id": 17310, + "code": "DEF", + "issuer": "rBXoMDvgeWB12djrk2ye87qLZaxvtRzRP", + "trustlines": 164, + "placeInTop": null + }, + { + "id": 17313, + "code": "NKY", + "issuer": "rhZrzqDBvRBTbUYwz1bQcGgZE3PNoMh938", + "trustlines": 177, + "placeInTop": null + }, + { + "id": 17320, + "code": "Check", + "issuer": "rHZbWwtDYtvv47o2J1m9er8iM3FBRQfm6n", + "trustlines": 169, + "placeInTop": null + }, + { + "id": 17323, + "code": "Fegx", + "issuer": "rsiNNJppE3WjQVHALGZtVP9efHLVTUmdnS", + "trustlines": 203, + "placeInTop": null + }, + { + "id": 17324, + "code": "LimitedCoin", + "issuer": "rQpFGJfvyZBJFG9tq2rf6x7vuVgLdEURzY", + "trustlines": 182, + "placeInTop": null + }, + { + "id": 17325, + "code": "AzteX", + "issuer": "raxgWzLpqyiCZbAqYDidy9uB92HU8xHm9M", + "title": "BullishMomentsNFTs", + "trustlines": 179, + "placeInTop": null + }, + { + "id": 17326, + "code": "BALLS", + "issuer": "rKHpPgZwQ8EwQzsdrA6b4kavQNvWgkawj1", + "trustlines": 140, + "placeInTop": null + }, + { + "id": 17335, + "code": "XRPARMY", + "issuer": "rwTUoSbmTFoaJhQops4RzQ9vBDq5DKggc6", + "trustlines": 689, + "placeInTop": null + }, + { + "id": 17343, + "code": "618X", + "issuer": "r9ubsFeHjxfDuSMCKyPP6RBajctTTKU7zR", + "trustlines": 272, + "placeInTop": null + }, + { + "id": 17347, + "code": "Mikey", + "issuer": "rHZbWwtDYtvv47o2J1m9er8iM3FBRQfm6n", + "trustlines": 232, + "placeInTop": null + }, + { + "id": 17348, + "code": "SNX", + "issuer": "rNaKJ8p83WqNqGqpxP5E2yvPxqa122Jtfw", + "title": "Sk8Nation", + "trustlines": 178, + "placeInTop": null + }, + { + "id": 17366, + "code": "CRYPTOPIANS", + "issuer": "rR7zH1VECwtBWapGwrKWWwYTrjohyXRid", + "trustlines": 727, + "placeInTop": null + }, + { + "id": 17386, + "code": "HNT", + "issuer": "raP6XZypcFR1WkDzaKjv91FtYRCURvePWW", + "title": "InGameCredit", + "trustlines": 165, + "placeInTop": null + }, + { + "id": 17397, + "code": "USD", + "issuer": "rMTqE8ExnkRDuAVrrD7QJubz6JUmkr1P47", + "trustlines": 180, + "placeInTop": null + }, + { + "id": 17399, + "code": "KUR", + "issuer": "rG5tu1u5CZMMho6gXPivwe37qxd6H8r5gm", + "trustlines": 195, + "placeInTop": null + }, + { + "id": 17420, + "code": "GENXRPVNKS", + "issuer": "rawUvd4DMGrqnB1vfrMF9RFQ79m3b8tCDz", + "trustlines": 163, + "placeInTop": null + }, + { + "id": 17424, + "code": "VIIIIXDIAMONDHANDS", + "issuer": "r3LMqrZrBmzruZwz6CVJWkKZVo1u3nF9xK", + "trustlines": 339, + "placeInTop": null + }, + { + "id": 17437, + "code": "PDT", + "issuer": "rhd96ShDBo73iNTKb4Q57T9RUwryvM7oFB", + "title": "Physical Digital", + "trustlines": 1998, + "placeInTop": null + }, + { + "id": 17438, + "code": "ALI", + "issuer": "rppZmZ1iyXZicAqesDjsxP8rSg29H78auh", + "trustlines": 156, + "placeInTop": null + }, + { + "id": 17440, + "code": "Airborne", + "issuer": "rfYxu5QSjvhV3ZF1xokR9ka6dhoBhCCuwf", + "trustlines": 143, + "placeInTop": null + }, + { + "id": 17450, + "code": "GNT", + "issuer": "rfPUTMdYiWTMzfNaHwJNtTyZLAM4S65emU", + "trustlines": 153, + "placeInTop": null + }, + { + "id": 17469, + "code": "ABC", + "issuer": "r3dudPWiCWiT7rnwocRMSS1LWftzvzLFgN", + "trustlines": 131, + "placeInTop": null + }, + { + "id": 17589, + "code": "HKD", + "issuer": "rPT74sUcTBTQhkHVD54WGncoqXEAMYbmH7", + "title": "RippleQK", + "trustlines": 2612, + "placeInTop": null + }, + { + "id": 17630, + "code": "Loviocoin", + "issuer": "rDQgnkSVndqgWHW2ETERfcWKpLJyxCua9X", + "trustlines": 164, + "placeInTop": null + }, + { + "id": 17912, + "code": "AmericaFirstCoin", + "issuer": "rL2R4f9wJY1aaKZncrW7wiDdqncze9N22w", + "trustlines": 758, + "placeInTop": null + }, + { + "id": 17915, + "code": "Xvex", + "issuer": "r3f7jVpnLa7YrQw5yPfMnjjAcUtAbeL4xU", + "trustlines": 876, + "placeInTop": null + }, + { + "id": 17917, + "code": "NPK", + "issuer": "rV64miFA53xbWS3x9A6nRnzxMqLHN1t2h", + "title": "NATIONAL PRESTO INDUSTRIES INCs", + "trustlines": 1508, + "placeInTop": null + }, + { + "id": 17958, + "code": "BET", + "issuer": "rUeKohnBUioHMPV3Xptem3Sfi6XFjXWCHx", + "trustlines": 291, + "placeInTop": null + }, + { + "id": 17965, + "code": "GLF", + "issuer": "rLcj6P5tWAxQo7hqKtvqH7BCh6BpSu4fGj", + "trustlines": 423, + "placeInTop": null + }, + { + "id": 17971, + "code": "MonedaX", + "issuer": "rsLx8UkM9rC5aPF9xYY53TJrUbXHBLBeoq", + "trustlines": 952, + "placeInTop": null + }, + { + "id": 17979, + "code": "Nolacoinz", + "issuer": "raoYTMEoNJuL4MNDAN8Gf9C1W6wXQgvvNq", + "trustlines": 736, + "placeInTop": null + }, + { + "id": 17998, + "code": "XFLEX", + "issuer": "rwMYX4MC2PRffAxa7opuGCS899kZNYcwQV", + "trustlines": 319, + "placeInTop": null + }, + { + "id": 18003, + "code": "xWolfpack", + "issuer": "rpizJeQexuFTEbKP6fHSAVyHLBS9gNQ7H2", + "title": "xWolves Pack", + "trustlines": 648, + "placeInTop": null + }, + { + "id": 18006, + "code": "TBone", + "issuer": "rHMfdnZ65NsYpih5EmLSUTkD2tKVjE8Kne", + "trustlines": 240, + "placeInTop": null + }, + { + "id": 18062, + "code": "XrHero", + "issuer": "rwy4a3sbk9myeE1yKjghLKWceP33TRkVEg", + "title": "XrHero", + "trustlines": 1757, + "placeInTop": null + }, + { + "id": 18064, + "code": "KAWAII", + "issuer": "rKAWAaScBH7S865y1sw8ME78prx8T9jRxd", + "trustlines": 191, + "placeInTop": null + }, + { + "id": 18069, + "code": "XTLM", + "issuer": "r9TEnt2kANJGjVaGQ16iQXQ6DkUD6vWeUJ", + "trustlines": 487, + "placeInTop": null + }, + { + "id": 18087, + "code": "Coincoction", + "issuer": "rNZ4MP4mjFefyDEg6riBv6dwZqnB8RHsqh", + "trustlines": 232, + "placeInTop": null + }, + { + "id": 18094, + "code": "LedgerPunks", + "issuer": "rLpunkscgfzS8so59bUCJBVqZ3eHZue64r", + "title": "Ledger Punks", + "trustlines": 1926, + "placeInTop": null + }, + { + "id": 18112, + "code": "OMUA", + "issuer": "rfxCJNw1U4QGxChPN26jSyQA1pCzWBXgHG", + "trustlines": 364, + "placeInTop": null + }, + { + "id": 18124, + "code": "REMetaNFT", + "issuer": "r3iijjcY2qFoSWX1XerumKTkA6VYDhKSmF", + "trustlines": 203, + "placeInTop": null + }, + { + "id": 18131, + "code": "ENV", + "issuer": "rKpu9NjEmwk5USt1A2FBDoVQGajeqgM8na", + "title": "Project ENV", + "trustlines": 5364, + "placeInTop": null + }, + { + "id": 18140, + "code": "BYO", + "issuer": "rhrJEWRUmbUj4vtrCyrXzRRLLiNL5N3Jcg", + "trustlines": 419, + "placeInTop": null + }, + { + "id": 18155, + "code": "VISION", + "issuer": "rJHDa7TbSdfEZBht5JiauCBUCeFmAGREsL", + "title": "VISION", + "trustlines": 233, + "placeInTop": null + }, + { + "id": 18167, + "code": "JEONG", + "issuer": "rL2aPkRMabXiZ9kyhu9hJG6JvqnvLiooCM", + "title": "JEONGx", + "trustlines": 506, + "placeInTop": null + }, + { + "id": 18174, + "code": "MONSTERS", + "issuer": "rUhkwGEEZDSXxvUWDtSChcbNa83m7tUeP7", + "title": "MONSTERS", + "trustlines": 366, + "placeInTop": null + }, + { + "id": 18180, + "code": "BEAST", + "issuer": "r4S7yMBM4gr172BqQbwLwg9yCPeuke5nxt", + "title": "LIQUIDBEAST", + "trustlines": 186, + "placeInTop": null + }, + { + "id": 18194, + "code": "METAFURY", + "issuer": "rwTHewW7HoFdWPwSrV8gqEbQ8SSaUcdU9x", + "trustlines": 466, + "placeInTop": null + }, + { + "id": 18197, + "code": "XRPortals", + "issuer": "rpok532CPqiHzfz38Bg1rE3j5UURaRUMbE", + "title": "XRPortals", + "trustlines": 2019, + "placeInTop": null + }, + { + "id": 18198, + "code": "JeepLifeCoin", + "issuer": "r9aZ1iWLPK8KX9HnNpwnXCVqfumPnyrd8f", + "trustlines": 408, + "placeInTop": null + }, + { + "id": 18204, + "code": "RZ1", + "issuer": "rsg27AT1bfzuZnpRdk9xjJqUvhHsGDFBQm", + "trustlines": 204, + "placeInTop": null + }, + { + "id": 18222, + "code": "XLegendz", + "issuer": "rrUJjso8ZouDQ9gwE1BhaAcL7kfzDxukF", + "trustlines": 267, + "placeInTop": null + }, + { + "id": 18229, + "code": "REALX", + "issuer": "rsuK9Qk7T21Mp2STr3VV2kCwMqydS4ARXU", + "trustlines": 342, + "placeInTop": null + }, + { + "id": 18242, + "code": "KRYPTONITE", + "issuer": "rHJRMuxGiEBAxfwwwpuhSx8FLXqdZmpmQ2", + "title": "KRYPTONITE", + "trustlines": 202, + "placeInTop": null + }, + { + "id": 18243, + "code": "XPAND", + "issuer": "rMHoU2HGVuobGb9EiW7XZrcyXmKTPqYqG8", + "trustlines": 545, + "placeInTop": null + }, + { + "id": 18244, + "code": "Xfight", + "issuer": "rnffCSePCGuGhFA7wHTHHQLGv356ktTTbs", + "trustlines": 251, + "placeInTop": null + }, + { + "id": 18265, + "code": "Holoatomos", + "issuer": "rhoLoAtom8J9hrGFWdkm7PrGRB5qv9D8SN", + "trustlines": 179, + "placeInTop": null + }, + { + "id": 18285, + "code": "ShivaX", + "issuer": "rE1RjM1nthauTbbYurioK4BrSViECHyDdG", + "title": "ShivaX", + "trustlines": 612, + "placeInTop": null + }, + { + "id": 18287, + "code": "WHALE", + "issuer": "rsArLYPERuJmpN3Nc64K3hQgQdPw1ftHRc", + "title": "Whalealert", + "trustlines": 126, + "placeInTop": null + }, + { + "id": 18289, + "code": "Playcoin", + "issuer": "rPLAYcoiNxikbojBES2k48WvpzNCy6DdvL", + "trustlines": 158, + "placeInTop": null + }, + { + "id": 18290, + "code": "XCO", + "issuer": "raHTCKfgrtvSZthnUAVctDj87McDAmKkY2", + "title": "TheOfficialCryptoOpinionsXRPL", + "trustlines": 973, + "placeInTop": null + }, + { + "id": 18319, + "code": "LTRY", + "issuer": "rnGvMu8P6evJEYY4cPyzcy4N1m5gcYRjaH", + "title": "Limited USD (LUSD)", + "trustlines": 304, + "placeInTop": null + }, + { + "id": 18324, + "code": "LAUD", + "issuer": "rnGvMu8P6evJEYY4cPyzcy4N1m5gcYRjaH", + "title": "Limited USD (LUSD)", + "trustlines": 222, + "placeInTop": null + }, + { + "id": 18328, + "code": "LNGN", + "issuer": "rnGvMu8P6evJEYY4cPyzcy4N1m5gcYRjaH", + "title": "Limited USD (LUSD)", + "trustlines": 196, + "placeInTop": null + }, + { + "id": 18329, + "code": "Shinsekai", + "issuer": "rftChNukekxjRqXhKXEie3ArMUXvGvuS1R", + "trustlines": 359, + "placeInTop": null + }, + { + "id": 18354, + "code": "XMART", + "issuer": "r3wfBuKopdM37gsHvCwhJBDaw4avnxTJCV", + "title": "Xmart", + "trustlines": 948, + "placeInTop": null + }, + { + "id": 18376, + "code": "BRIX", + "issuer": "rUi3o9XGQqVrXQtQftGx5CrJsbQ4ezu2PP", + "trustlines": 261, + "placeInTop": null + }, + { + "id": 18379, + "code": "NutritionalPoints", + "issuer": "rBtqm3b3wHoA2De5JGCHrvZoZfo5ZaWQvz", + "trustlines": 168, + "placeInTop": null + }, + { + "id": 18386, + "code": "XAF", + "issuer": "rBZ6uZVjvjYQSdMcXVjkDTYExYLz3g2JGZ", + "trustlines": 132, + "placeInTop": null + }, + { + "id": 18387, + "code": "VREP", + "issuer": "rEQ3rAEUerdR1wvsdM3ZiLchsWrFqrD3mp", + "trustlines": 174, + "placeInTop": null + }, + { + "id": 18388, + "code": "VERDICT", + "issuer": "rDSq68YvnMhGqcPdGEkwvfACidcgVb729b", + "trustlines": 167, + "placeInTop": null + }, + { + "id": 18404, + "code": "N8token", + "issuer": "rDPsTswPnub3WKgB2Gk3YVF4Enb3YKSSNK", + "trustlines": 161, + "placeInTop": null + }, + { + "id": 18409, + "code": "EKO", + "issuer": "rELGFk3TqoPZpFSn7jX8mjhryX7ghB36Nn", + "trustlines": 110, + "placeInTop": null + }, + { + "id": 18410, + "code": "ECO", + "issuer": "rMeLaNib2qQzALSCKbRMPYid9VerBeQf93", + "title": "Eyes Charity", + "trustlines": 1740, + "placeInTop": null + }, + { + "id": 18412, + "code": "SMC", + "issuer": "rMaZAY3Wvi2gvKWrK8sMFRKzMwqC6jvmJU", + "title": "Smart casino 77", + "trustlines": 1345, + "placeInTop": null + }, + { + "id": 18426, + "code": "CLC", + "issuer": "rBLrMbqmMq9zD8X5LF1veDYEFuDXco8wLZ", + "trustlines": 168, + "placeInTop": null + }, + { + "id": 18435, + "code": "HackleToken", + "issuer": "r7VbtrZGPa1MVwNSascBqYRDxSWWb4TkX", + "trustlines": 150, + "placeInTop": null + }, + { + "id": 18436, + "code": "SQUIRT", + "issuer": "r3rXHvHwxzG9kEmZPpxJWTSS9gX9Ph6zqz", + "title": "Squirt NFT", + "trustlines": 294, + "placeInTop": null + }, + { + "id": 18440, + "code": "Hog", + "issuer": "rwM9XzFHdCxnpNFjanc4Sd3N96cz8ip5pQ", + "title": "HOG X", + "trustlines": 4618, + "placeInTop": null + }, + { + "id": 18442, + "code": "CANNA", + "issuer": "rs7xQ3XUadLvsqE441qDRkmKVVc2Uk6dJ6", + "title": "CANNA", + "trustlines": 139, + "placeInTop": null + }, + { + "id": 18443, + "code": "THCC", + "issuer": "rKJ7N8BJ7QboaoR5Esdp87xjcdJyQ5gFmD", + "trustlines": 198, + "placeInTop": null + }, + { + "id": 18444, + "code": "LCC", + "issuer": "rhFGZnmDBFJ3zdFKnUcpJhXUZzRP2qdEWd", + "trustlines": 1783, + "placeInTop": null + }, + { + "id": 18461, + "code": "Zarm", + "issuer": "raRpmZorhdF7okc8VGSBL29MgJKZmhB6pt", + "trustlines": 171, + "placeInTop": null + }, + { + "id": 18462, + "code": "MNFTC", + "issuer": "rwJZA6eZDxPtgzhG2BCPYe7hdDEDH5wXKc", + "title": "NFT sport cards XRP", + "trustlines": 1417, + "placeInTop": null + }, + { + "id": 18463, + "code": "GRT", + "issuer": "rEYYEdggF5yuNRMrVfCYSVjxYYhyA4NJLs", + "trustlines": 153, + "placeInTop": null + }, + { + "id": 18466, + "code": "PureX", + "issuer": "rD4xUGE8KJG78erSEZrAERT1LPLdHn4UUF", + "trustlines": 124, + "placeInTop": null + }, + { + "id": 18473, + "code": "DogeCh", + "issuer": "r4QVHaB8xz626d6uXm7BNdnoqyYHL82mJ2", + "title": "Doge Chief", + "trustlines": 742, + "placeInTop": null + }, + { + "id": 18482, + "code": "XRPBOTS", + "issuer": "rBRUZL91cJdnDwLHrQvutfHcJqNo1mtuQk", + "trustlines": 193, + "placeInTop": null + }, + { + "id": 18495, + "code": "Bolt", + "issuer": "rEWW6c7dqdr2sbAj9YMkZedoxeADdYTLry", + "trustlines": 119, + "placeInTop": null + }, + { + "id": 18500, + "code": "XBOT", + "issuer": "rfQ2G4gjbR2zAtq6xPppwJsAdsEX8Pc3Rd", + "trustlines": 244, + "placeInTop": null + }, + { + "id": 18502, + "code": "SIPS", + "issuer": "rUJxe8tyLgz6yLXLG8hggUqEnhPG3rtZzF", + "trustlines": 125, + "placeInTop": null + }, + { + "id": 18508, + "code": "CGT", + "issuer": "rp4KDV51A5dW6aySXgQkRUKnHVjFF2PQwr", + "title": "PwntNub", + "trustlines": 175, + "placeInTop": null + }, + { + "id": 18514, + "code": "xRATIONS", + "issuer": "rPArqPnUr39t8uui6THzj7VZSbDXgTNEVp", + "trustlines": 148, + "placeInTop": null + }, + { + "id": 18515, + "code": "xSOLDIERZ", + "issuer": "rwZXCQryUWczJPHrQzx5paK24yRC3J27HA", + "trustlines": 577, + "placeInTop": null + }, + { + "id": 18530, + "code": "CryptoLand1", + "issuer": "rPUTfxRRQx6bA1JVPDyjVyo4p1QvwTBiAi", + "trustlines": 187, + "placeInTop": null + }, + { + "id": 18531, + "code": "Animal", + "issuer": "r4VgKR5eeiERTrWP7wJ1QWXAJkFtCkbZa8", + "title": "Animal XRPL", + "trustlines": 612, + "placeInTop": null + }, + { + "id": 18557, + "code": "XRPACK", + "issuer": "rnzddNSJjunBR6D1hCK4pXb5nHAc6g7v2q", + "trustlines": 235, + "placeInTop": null + }, + { + "id": 18565, + "code": "UACoin", + "issuer": "rGwLmsvsDw7Q24cykGg4GjiX2fEorL9RBf", + "title": "UACoin", + "trustlines": 862, + "placeInTop": null + }, + { + "id": 18647, + "code": "Xsnowman", + "issuer": "rMFUMfjPp9tpBCCbNiYQouF8rL7Se7DTcA", + "trustlines": 694, + "placeInTop": null + }, + { + "id": 18674, + "code": "EBC", + "issuer": "rPwTbNH5P7u7yKiJcCCCaMqaBc5K9B3VQ1", + "trustlines": 120, + "placeInTop": null + }, + { + "id": 18677, + "code": "EBCGLD", + "issuer": "rUpMe5mhxjRkcGMDoH1gCx5ZNGaupiouTP", + "trustlines": 168, + "placeInTop": null + }, + { + "id": 18689, + "code": "FHS", + "issuer": "rNjTh2qW9YT4TdjrwRWYg9qvFBn1PxfZbR", + "trustlines": 1335, + "placeInTop": null + }, + { + "id": 18739, + "code": "xRStake", + "issuer": "r33VJfqaEJScqTEfzgcyRyMezU3kbeqkPF", + "trustlines": 161, + "placeInTop": null + }, + { + "id": 18746, + "code": "ECMM", + "issuer": "rUgQc7xDJJXKhgNW2UjtPkmS2bJro61Fw6", + "trustlines": 117, + "placeInTop": null + }, + { + "id": 18779, + "code": "xMF", + "issuer": "rU4RTVw3ZnqfgAeZtgLPb8prMEdX7VKFmw", + "trustlines": 393, + "placeInTop": null + }, + { + "id": 18812, + "code": "SBT", + "issuer": "rhdHkYbFfB4CoXmStFGmue9G86U5JvPUyS", + "trustlines": 105, + "placeInTop": null + }, + { + "id": 18813, + "code": "xKai", + "issuer": "rDuyXNdzmuPRJd1PoscMDFosEAGccV3Utf", + "trustlines": 549, + "placeInTop": null + }, + { + "id": 18831, + "code": "PCT", + "issuer": "rUbmmkH6VV4ZuWMNynCasKRKViZDP94VDD", + "trustlines": 117, + "placeInTop": null + }, + { + "id": 18884, + "code": "CSE", + "issuer": "rURjz2DgcnZnJitnrZTWp3BDP2VSUcnoCm", + "title": "CSE", + "trustlines": 1465, + "placeInTop": null + }, + { + "id": 18892, + "code": "SAPLING", + "issuer": "rDh9fTkJRCDn6fwDYfogcTsbLmn24hoxMr", + "trustlines": 107, + "placeInTop": null + }, + { + "id": 18899, + "code": "RUN", + "issuer": "rBAtmcnMpVc9tRwzEZgEoZ4wCJCHphSZQ3", + "title": "V-Runners", + "trustlines": 895, + "placeInTop": null + }, + { + "id": 18929, + "code": "UNI", + "issuer": "rw7L8CVYMYD7bFSRCUYTtaaLdneGzi7o9i", + "trustlines": 116, + "placeInTop": null + }, + { + "id": 18940, + "code": "LCT", + "issuer": "r3FSvMsMnMAXXJ9KwN3p6rNrTnKQGDaSiE", + "trustlines": 488, + "placeInTop": null + }, + { + "id": 18966, + "code": "TG$", + "issuer": "rsYKuosdXNfL2J93vaRasddqWVbKHkFzWq", + "trustlines": 1596, + "placeInTop": null + }, + { + "id": 18967, + "code": "MOSHI", + "issuer": "rDgk9RorPEsJLcuGwMBeo3NTQP4AmkGR3j", + "trustlines": 141, + "placeInTop": null + }, + { + "id": 18986, + "code": "INUPOX", + "issuer": "rpRStNPrA8Gm47v1HpD8wdePXb1EFhmTrv", + "trustlines": 127, + "placeInTop": null + }, + { + "id": 18993, + "code": "XNS", + "issuer": "rKbJX2GNtz2j14ESjWzwWj3QPC2oinyjff", + "trustlines": 103, + "placeInTop": null + }, + { + "id": 19020, + "code": "CROWN", + "issuer": "rNcqizvdrT1YRF19eLGUHQUyejNzkJKMBh", + "trustlines": 115, + "placeInTop": null + }, + { + "id": 19035, + "code": "666", + "issuer": "rJefvWQpP2tXVbND6xQRDg4fJNiMDsaoWH", + "trustlines": 107, + "placeInTop": null + }, + { + "id": 19037, + "code": "EVC", + "issuer": "rwz3y9C2q9XQmJDmBqjRU1Fn2xdkR7o59H", + "trustlines": 115, + "placeInTop": null + }, + { + "id": 19082, + "code": "CAD", + "issuer": "rL7CF4YGNBRk6a4U6f851yQDSddJJopu6v", + "trustlines": 151, + "placeInTop": null + }, + { + "id": 19088, + "code": "XKZ", + "issuer": "rDLFMcRrBJkEcRuXBSbWKYDtHum3EqDBGD", + "trustlines": 123, + "placeInTop": null + }, + { + "id": 19102, + "code": "xNVL", + "issuer": "rUKq3udJjjqfnirVCyCrTmK3kK21rfuChn", + "trustlines": 1154, + "placeInTop": null + }, + { + "id": 19114, + "code": "DAK", + "issuer": "rGTudhV2JHUegPmaozAR5F4US6o3skNxe8", + "title": "ONLINE CASINO SINGAPORE", + "trustlines": 1614, + "placeInTop": null + }, + { + "id": 19135, + "code": "SOUND", + "issuer": "rPazDXf3XHGqftSUKa7tStN33VWNHp6Nns", + "trustlines": 16530, + "placeInTop": null + }, + { + "id": 19139, + "code": "CHUB", + "issuer": "rU3DQ71saRwTuknZimDH1uJW7YFS1wocUY", + "trustlines": 4185, + "placeInTop": null + }, + { + "id": 48, + "code": "DIX", + "issuer": "rEiAdjhb552sX6q1tAZ2jHE5hQRMiCTGfy", + "title": "DIX", + "trustlines": 2578, + "placeInTop": null + }, + { + "id": 242, + "code": "IQC", + "issuer": "rGieogBAoXZGq6acVCs9xbMMZaARtGqyyK", + "title": "IQ_Network", + "trustlines": 1077, + "placeInTop": null + }, + { + "id": 17274, + "code": "GZX", + "issuer": "rPK6DvvoF8CVHGURSGNccCxKDXMnRAchHD", + "trustlines": 443, + "placeInTop": null + } +] diff --git a/src/chains/xrpl/xrpl_tokens_devnet.json b/src/chains/xrpl/xrpl_tokens_devnet.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/src/chains/xrpl/xrpl_tokens_devnet.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/chains/xrpl/xrpl_tokens_small.json b/src/chains/xrpl/xrpl_tokens_small.json new file mode 100644 index 0000000000..4d7460fd2a --- /dev/null +++ b/src/chains/xrpl/xrpl_tokens_small.json @@ -0,0 +1,162 @@ +[ + { + "id": 31, + "code": "SOLO", + "issuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "title": "Sologenic", + "trustlines": 288976, + "placeInTop": 1 + }, + { + "id": 16602, + "code": "CSC", + "issuer": "rCSCManTZ8ME9EoLrSHHYKW8PPwWMgkwr", + "title": "CasinoCoin", + "trustlines": 54154, + "placeInTop": 2 + }, + { + "id": 18190, + "code": "CORE", + "issuer": "rcoreNywaoz2ZCQ8Lg2EbSLnGuRBmun6D", + "title": "Coreum", + "trustlines": 65817, + "placeInTop": 3 + }, + { + "id": 248, + "code": "ELS", + "issuer": "rHXuEaRYnnJHbDeuBH5w8yPh5uwNVh5zAg", + "title": "Elysian", + "trustlines": 109452, + "placeInTop": 4 + }, + { + "id": 16605, + "code": "Equilibrium", + "issuer": "rpakCr61Q92abPXJnVboKENmpKssWyHpwu", + "title": "Equilibrium", + "trustlines": 34827, + "placeInTop": 5 + }, + { + "id": 17073, + "code": "BTC", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "title": "Bitstamp", + "trustlines": 18187, + "placeInTop": 6 + }, + { + "id": 16603, + "code": "USD", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "title": "Gatehub", + "trustlines": 110980, + "placeInTop": 7 + }, + { + "id": 17074, + "code": "USD", + "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", + "title": "Bitstamp", + "trustlines": 26696, + "placeInTop": 8 + }, + { + "id": 16818, + "code": "XPUNK", + "issuer": "rHEL3bM4RFsvF8kbQj3cya8YiDvjoEmxLq", + "title": "XRPL PUNKS", + "trustlines": 12074, + "placeInTop": 9 + }, + { + "id": 103, + "code": "VGB", + "issuer": "rhcyBrowwApgNonehKBj8Po5z4gTyRknaU", + "title": "Vagabond VGB", + "trustlines": 56661, + "placeInTop": 10 + }, + { + "id": 182, + "code": "RPR", + "issuer": "r3qWgpz2ry3BhcRJ8JE6rxM8esrfhuKp4R", + "title": "The Reaper", + "trustlines": 24140, + "placeInTop": 11 + }, + { + "id": 18542, + "code": "xSPECTAR", + "issuer": "rh5jzTCdMRCVjQ7LT6zucjezC47KATkuvv", + "title": "xSPECTAR NFT", + "trustlines": 9868, + "placeInTop": 12 + }, + { + "id": 16826, + "code": "BAY", + "issuer": "r4uq8urnYrT6LnZaadPyusyKCS68HVJtRn", + "title": "Bored Apes XRP Club", + "trustlines": 8247, + "placeInTop": 13 + }, + { + "id": 17296, + "code": "OXP", + "issuer": "rrno7Nj4RkFJLzC4nRaZiLF5aHwcTVon3d", + "title": "onXRP", + "trustlines": 9851, + "placeInTop": 14 + }, + { + "id": 16726, + "code": "ADV", + "issuer": "rPneN8WPHZJaMT9pF4Ynyyq4pZZZSeTuHu", + "title": "AdvisorBid", + "trustlines": 10454, + "placeInTop": 15 + }, + { + "id": 17363, + "code": "xBIBLx", + "issuer": "rnH9o6qdym34K293Pq3FZp5Ko7SpZxEbeG", + "title": "Bibliomp", + "trustlines": 4441, + "placeInTop": 16 + }, + { + "id": 16600, + "code": "EUR", + "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "title": "Gatehub", + "trustlines": 85461, + "placeInTop": 17 + }, + { + "id": 225, + "code": "XRdoge", + "issuer": "rLqUC2eCPohYvJCEBJ77eCCqVL2uEiczjA", + "title": "XRdoge Labs", + "trustlines": 26611, + "placeInTop": 18 + }, + { + "id": 99, + "code": "XDX", + "issuer": "rMJAXYsbNzhwp7FfYnAsYP5ty3R9XnurPo", + "title": "D.P.MonksFinance LTD", + "trustlines": 28866, + "placeInTop": 19 + }, + { + "id": 18469, + "code": "STX", + "issuer": "rSTAYKxF2K77ZLZ8GoAwTqPGaphAqMyXV", + "title": "StaykX", + "trustlines": 12098, + "placeInTop": 20 + } +] diff --git a/src/chains/xrpl/xrpl_tokens_testnet.json b/src/chains/xrpl/xrpl_tokens_testnet.json new file mode 100644 index 0000000000..9e26dfeeb6 --- /dev/null +++ b/src/chains/xrpl/xrpl_tokens_testnet.json @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/src/connectors/connectors.routes.ts b/src/connectors/connectors.routes.ts index 178792e01e..4af4a25d0d 100644 --- a/src/connectors/connectors.routes.ts +++ b/src/connectors/connectors.routes.ts @@ -20,6 +20,7 @@ import { ConnectorsResponse } from './connectors.request'; import { DexalotCLOBConfig } from './dexalot/dexalot.clob.config'; import { TinymanConfig } from './tinyman/tinyman.config'; import { PlentyConfig } from './plenty/plenty.config'; +import { XRPLDEXConfig } from './xrpldex/xrpldex.config'; export namespace ConnectorsRoutes { export const router = Router(); @@ -157,7 +158,17 @@ export namespace ConnectorsRoutes { trading_type: PlentyConfig.config.tradingTypes, chain_type: PlentyConfig.config.chainType, available_networks: PlentyConfig.config.availableNetworks, - } + }, + { + name: 'xrpldex', + trading_type: XRPLDEXConfig.config.tradingTypes, + chain_type: XRPLDEXConfig.config.chainType, + available_networks: XRPLDEXConfig.config.availableNetworks, + additional_add_wallet_prompts: { + api_key: + 'Enter a XRPL Secret Key if you have one, otherwise hit return >>> ', + }, + }, ], }); }) diff --git a/src/connectors/xrpldex/xrpldex.config.ts b/src/connectors/xrpldex/xrpldex.config.ts new file mode 100644 index 0000000000..21db94132b --- /dev/null +++ b/src/connectors/xrpldex/xrpldex.config.ts @@ -0,0 +1,45 @@ +// import { ConfigManagerV2 } from '../../services/config-manager-v2'; +import { AvailableNetworks } from '../../services/config-manager-types'; + +export namespace XRPLDEXConfig { + export interface Config { + availableNetworks: Array; + tradingTypes: Array; + // markets: MarketsConfig; + // tickers: TickersConfig; + } + + export interface MarketsConfig { + url: string; + blacklist: string[]; + whiteList: string[]; + } + + export interface TickersConfig { + source: string; + url: string; + } + + export const config: Config = { + tradingTypes: ['XRPLDEX_CLOB'], + // markets: { + // url: ConfigManagerV2.getInstance().get(`rippledex.markets.url`), + // blacklist: ConfigManagerV2.getInstance().get( + // `rippledex.markets.blacklist` + // ), + // whiteList: ConfigManagerV2.getInstance().get( + // `rippledex.markets.whitelist` + // ), + // }, + // tickers: { + // source: ConfigManagerV2.getInstance().get(`rippledex.tickers.source`), + // url: ConfigManagerV2.getInstance().get(`rippledex.tickers.url`), + // }, + availableNetworks: [ + { + chain: 'xrpl', + networks: ['mainnet', 'testnet'], + }, + ], + }; +} diff --git a/src/connectors/xrpldex/xrpldex.controllers.ts b/src/connectors/xrpldex/xrpldex.controllers.ts new file mode 100644 index 0000000000..05f1aab434 --- /dev/null +++ b/src/connectors/xrpldex/xrpldex.controllers.ts @@ -0,0 +1,347 @@ +import { StatusCodes } from 'http-status-codes'; +import { XRPLish } from '../../chains/xrpl/xrpl'; +import { ResponseWrapper } from '../../services/common-interfaces'; +import { HttpException } from '../../services/error-handler'; +import { XRPLDEXish } from './xrpldex'; +import { + XRPLCancelOrdersRequest, + XRPLCancelOrdersResponse, + XRPLCreateOrdersRequest, + XRPLCreateOrdersResponse, + XRPLGetMarketsRequest, + XRPLGetMarketsResponse, + XRPLGetOpenOrdersRequest, + XRPLGetOpenOrdersResponse, + XRPLGetOrderBooksRequest, + XRPLGetOrderBooksResponse, + XRPLGetTickersRequest, + XRPLGetTickersResponse, + XRPLGetOrdersRequest, + XRPLGetOrdersResponse, +} from './xrpldex.requests'; + +import { + validateGetMarketRequest, + validateGetMarketsRequest, + validateGetTickerRequest, + validateGetTickersRequest, + validateGetOrderBookRequest, + validateGetOrderBooksRequest, +} from './xrpldex.validators'; + +import { MarketNotFoundError } from './xrpldex.types'; + +/** + * Get the mid price of a token pair + * + * @param _xrpl + * @param xrpldex + * @param request + */ +export async function getMarkets( + _xrpl: XRPLish, + xrpldex: XRPLDEXish, + request: XRPLGetMarketsRequest +): Promise> { + const response = new ResponseWrapper(); + + if ('name' in request) { + validateGetMarketRequest(request); + + try { + response.body = await xrpldex.getMarket(request.name); + response.status = StatusCodes.OK; + + return response; + } catch (exception) { + if (exception instanceof MarketNotFoundError) { + throw new HttpException(StatusCodes.NOT_FOUND, exception.message); + } else { + throw exception; + } + } + } + + if ('names' in request) { + validateGetMarketsRequest(request); + + try { + response.body = await xrpldex.getMarkets(request.names); + + response.status = StatusCodes.OK; + + return response; + } catch (exception: any) { + if (exception instanceof MarketNotFoundError) { + throw new HttpException(StatusCodes.NOT_FOUND, exception.message); + } else { + throw exception; + } + } + } + + throw new HttpException(StatusCodes.NOT_FOUND, 'No market specified.'); +} + +/** + * Get the mid price of a token pair + * + * @param _xrpl + * @param xrpldex + * @param request + */ +export async function getTickers( + _xrpl: XRPLish, + xrpldex: XRPLDEXish, + request: XRPLGetTickersRequest +): Promise> { + const response = new ResponseWrapper(); + + if ('marketName' in request) { + validateGetTickerRequest(request); + + try { + response.body = await xrpldex.getTicker(request.marketName); + response.status = StatusCodes.OK; + + return response; + } catch (exception) { + if (exception instanceof MarketNotFoundError) { + throw new HttpException(StatusCodes.NOT_FOUND, exception.message); + } else { + throw exception; + } + } + } + + if ('marketNames' in request) { + validateGetTickersRequest(request); + + try { + response.body = await xrpldex.getTickers(request.marketNames); + + response.status = StatusCodes.OK; + + return response; + } catch (exception: any) { + if (exception instanceof MarketNotFoundError) { + throw new HttpException(StatusCodes.NOT_FOUND, exception.message); + } else { + throw exception; + } + } + } + + throw new HttpException(StatusCodes.NOT_FOUND, 'No market specified.'); +} + +/** + * Get the order book of a token pair + * + * @param _xrpl + * @param xrpldex + * @param request + */ +export async function getOrderBooks( + _xrpl: XRPLish, + xrpldex: XRPLDEXish, + request: XRPLGetOrderBooksRequest +): Promise> { + const response = new ResponseWrapper(); + + if ('marketName' in request) { + validateGetOrderBookRequest(request); + + try { + response.body = await xrpldex.getOrderBook( + request.marketName, + request.limit + ); + response.status = StatusCodes.OK; + + return response; + } catch (exception) { + if (exception instanceof MarketNotFoundError) { + throw new HttpException(StatusCodes.NOT_FOUND, exception.message); + } else { + throw exception; + } + } + } + + if ('marketNames' in request) { + validateGetOrderBooksRequest(request); + + try { + response.body = await xrpldex.getOrderBooks( + request.marketNames, + request.limit + ); + + response.status = StatusCodes.OK; + + return response; + } catch (exception: any) { + if (exception instanceof MarketNotFoundError) { + throw new HttpException(StatusCodes.NOT_FOUND, exception.message); + } else { + throw exception; + } + } + } + + throw new HttpException(StatusCodes.NOT_FOUND, 'No market specified.'); +} + +/** + * Get the detail on the created order + * + * @param _xrpl + * @param xrpldex + * @param request + */ +export async function getOrders( + _xrpl: XRPLish, + xrpldex: XRPLDEXish, + request: XRPLGetOrdersRequest +): Promise> { + const response = new ResponseWrapper(); + + response.body = await xrpldex.getOrders(request.orders); + + response.status = StatusCodes.OK; + + return response; +} + +/** + * Create an order on order book + * + * @param _xrpl + * @param xrpldex + * @param request + */ +export async function createOrders( + _xrpl: XRPLish, + xrpldex: XRPLDEXish, + request: XRPLCreateOrdersRequest +): Promise> { + const response = new ResponseWrapper(); + + if ('order' in request) { + // validateCreateOrderRequest(request.order); TODO: add createOrder validator + + response.body = await xrpldex.createOrders( + [request.order], + request.waitUntilIncludedInBlock + ); + + response.status = StatusCodes.OK; + + return response; + } + + if ('orders' in request) { + // validateCreateOrdersRequest(request.orders); TODO: add createOrders validator + + response.body = await xrpldex.createOrders( + request.orders, + request.waitUntilIncludedInBlock + ); + + response.status = StatusCodes.OK; + + return response; + } + + throw new HttpException( + StatusCodes.BAD_REQUEST, + `No order(s) was/were informed.` + ); +} + +/** + * Cancel an order on order book + * + * @param _xrpl + * @param xrpldex + * @param request + */ +export async function cancelOrders( + _xrpl: XRPLish, + xrpldex: XRPLDEXish, + request: XRPLCancelOrdersRequest +): Promise> { + const response = new ResponseWrapper(); + + if ('order' in request) { + // validateCancelOrderRequest(request.order); TODO: add createOrder validator + + response.body = await xrpldex.cancelOrders( + [request.order], + request.waitUntilIncludedInBlock + ); + + response.status = StatusCodes.OK; + + return response; + } + + if ('orders' in request) { + // validateCancelOrdersRequest(request.orders); TODO: add createOrders validator + + response.body = await xrpldex.cancelOrders( + request.orders, + request.waitUntilIncludedInBlock + ); + + response.status = StatusCodes.OK; + + return response; + } + + throw new HttpException( + StatusCodes.BAD_REQUEST, + `No order(s) was/were informed.` + ); +} + +/** + * Get open orders of a token pair + * + * @param _xrpl + * @param xrpldex + * @param request + */ +export async function getOpenOrders( + _xrpl: XRPLish, + xrpldex: XRPLDEXish, + request: XRPLGetOpenOrdersRequest +): Promise> { + const response = new ResponseWrapper(); + + if ('order' in request) { + // validateOpenOrderRequest(request.order); TODO: add createOrder validator + + response.body = await xrpldex.getOpenOrders({ market: request.order }); + + response.status = StatusCodes.OK; + + return response; + } + + if ('orders' in request) { + // validateOpenOrdersRequest(request.orders); TODO: add createOrders validator + + response.body = await xrpldex.getOpenOrders({ markets: request.orders }); + + response.status = StatusCodes.OK; + + return response; + } + + throw new HttpException( + StatusCodes.BAD_REQUEST, + `No order(s) was/were informed.` + ); +} diff --git a/src/connectors/xrpldex/xrpldex.middlewares.ts b/src/connectors/xrpldex/xrpldex.middlewares.ts new file mode 100644 index 0000000000..3ae00d466a --- /dev/null +++ b/src/connectors/xrpldex/xrpldex.middlewares.ts @@ -0,0 +1,21 @@ +import { NextFunction, Request, Response } from 'express'; +import { XRPLDEX } from './xrpldex'; +import { HttpException } from '../../services/error-handler'; + +export const verifyXRPLDEXIsAvailable = async ( + req: Request, + _res: Response, + next: NextFunction +) => { + if (!req || !req.body || !req.body.network) { + throw new HttpException(404, 'No XRPL network informed.'); + } + + const xrplDEX = XRPLDEX.getInstance(req.body.chain, req.body.network); + + if (!xrplDEX.isConnected()) { + await xrplDEX.client.connect(); + } + + return next(); +}; diff --git a/src/connectors/xrpldex/xrpldex.requests.ts b/src/connectors/xrpldex/xrpldex.requests.ts new file mode 100644 index 0000000000..e249010dfc --- /dev/null +++ b/src/connectors/xrpldex/xrpldex.requests.ts @@ -0,0 +1,92 @@ +import { NetworkSelectionRequest } from '../../services/common-interfaces'; +import { + GetOrderBooksRequest, + GetOrderBooksResponse, + GetMarketsRequest, + GetMarketsResponse, + GetTickersRequest, + GetTickersResponse, + CreateOrdersResponse, + CancelOrderRequest, + CreateOrderRequest, + CancelOrdersResponse, + GetOpenOrderRequest, + GetOpenOrdersResponse, + GetOrdersRequest, + GetOrdersResponse, +} from './xrpldex.types'; + +// +// GET /xrpldex/markets +// +export type XRPLGetMarketsRequest = NetworkSelectionRequest & GetMarketsRequest; + +export type XRPLGetMarketsResponse = GetMarketsResponse; + +// +// GET /xrpldex/tickers +// +export type XRPLGetTickersRequest = NetworkSelectionRequest & GetTickersRequest; + +export type XRPLGetTickersResponse = GetTickersResponse; + +// +// GET /xrpldex/orders +// + +export type XRPLGetOrdersRequest = NetworkSelectionRequest & GetOrdersRequest; + +export type XRPLGetOrdersResponse = GetOrdersResponse; + +// +// GET /xrpldex/orderBooks +// + +export type XRPLGetOrderBooksRequest = NetworkSelectionRequest & + GetOrderBooksRequest; + +export type XRPLGetOrderBooksResponse = GetOrderBooksResponse; + +// +// POST /xrpldex/orders +// + +export type XRPLCreateOrdersRequest = NetworkSelectionRequest & + ( + | { order: CreateOrderRequest; waitUntilIncludedInBlock: boolean } + | { + orders: CreateOrderRequest[]; + waitUntilIncludedInBlock: boolean; + } + ); + +export type XRPLCreateOrdersResponse = CreateOrdersResponse; + +// +// DELETE /xrpldex/orders +// + +export type XRPLCancelOrdersRequest = NetworkSelectionRequest & + ( + | { order: CancelOrderRequest; waitUntilIncludedInBlock: boolean } + | { + orders: CancelOrderRequest[]; + waitUntilIncludedInBlock: boolean; + } + ); + +export type XRPLCancelOrdersResponse = CancelOrdersResponse; + +// +// GET /xrpldex/orders/open +// + +export type XRPLGetOpenOrdersRequest = NetworkSelectionRequest & + ( + | { order: GetOpenOrderRequest } + | { + orders: GetOpenOrderRequest[]; + } + ); + +export type XRPLGetOpenOrdersResponse = GetOpenOrdersResponse; diff --git a/src/connectors/xrpldex/xrpldex.routes.ts b/src/connectors/xrpldex/xrpldex.routes.ts new file mode 100644 index 0000000000..ad3289fa18 --- /dev/null +++ b/src/connectors/xrpldex/xrpldex.routes.ts @@ -0,0 +1,193 @@ +import { Request, Response, Router } from 'express'; +import { StatusCodes } from 'http-status-codes'; +import { XRPL } from '../../chains/xrpl/xrpl'; +import { verifyXRPLIsAvailable } from '../../chains/xrpl/xrpl-middlewares'; +import { validateXRPLAddress } from '../../chains/xrpl/xrpl.validators'; +import { asyncHandler } from '../../services/error-handler'; +import { XRPLDEX } from './xrpldex'; +import { verifyXRPLDEXIsAvailable } from './xrpldex.middlewares'; +import { + cancelOrders, + createOrders, + // getFilledOrders, + getMarkets, + getOpenOrders, + getOrderBooks, + getOrders, + getTickers, +} from './xrpldex.controllers'; +import { + XRPLGetMarketsRequest, + XRPLGetMarketsResponse, + XRPLGetOrderBooksRequest, + XRPLGetOrderBooksResponse, + XRPLGetTickersRequest, + XRPLGetTickersResponse, + XRPLCreateOrdersRequest, + XRPLCreateOrdersResponse, + XRPLCancelOrdersRequest, + XRPLCancelOrdersResponse, + XRPLGetOpenOrdersRequest, + XRPLGetOpenOrdersResponse, + XRPLGetOrdersRequest, + XRPLGetOrdersResponse, +} from './xrpldex.requests'; + +export namespace XRPLDEXRoutes { + export const router = Router(); + + export const getXRPL = async (request: Request) => + await XRPL.getInstance(request.body.network); + + export const getXRPLDEX = async (request: Request) => + await XRPLDEX.getInstance(request.body.chain, request.body.network); + + router.use( + asyncHandler(verifyXRPLIsAvailable), + asyncHandler(verifyXRPLDEXIsAvailable) + ); + + router.get( + '/', + asyncHandler( + async (request: Request, response: Response) => { + const xrplDEX = await getXRPLDEX(request); + + response.status(StatusCodes.OK).json({ + chain: xrplDEX.chain, + network: xrplDEX.network, + connector: xrplDEX.connector, + connection: xrplDEX.ready(), + timestamp: Date.now(), + }); + } + ) + ); + + router.get( + '/markets', + asyncHandler( + async ( + request: Request, + response: Response + ) => { + const xrpl = await getXRPL(request); + const xrplDEX = await getXRPLDEX(request); + + const result = await getMarkets(xrpl, xrplDEX, request.body); + + response.status(result.status).json(result.body); + } + ) + ); + + router.get( + '/tickers', + asyncHandler( + async ( + request: Request, + response: Response + ) => { + const xrpl = await getXRPL(request); + const xrplDEX = await getXRPLDEX(request); + + const result = await getTickers(xrpl, xrplDEX, request.body); + + response.status(result.status).json(result.body); + } + ) + ); + + router.get( + '/orderBooks', + asyncHandler( + async ( + request: Request, + response: Response + ) => { + const xrpl = await getXRPL(request); + const xrplDEX = await getXRPLDEX(request); + + const result = await getOrderBooks(xrpl, xrplDEX, request.body); + + response.status(result.status).json(result.body); + } + ) + ); + + router.get( + '/orders', + asyncHandler( + async ( + request: Request, + response: Response + ) => { + const xrpl = await getXRPL(request); + const xrplDEX = await getXRPLDEX(request); + + validateXRPLAddress(request.body); + + const result = await getOrders(xrpl, xrplDEX, request.body); + + response.status(result.status).json(result.body); + } + ) + ); + + router.post( + '/orders', + asyncHandler( + async ( + request: Request, + response: Response + ) => { + const xrpl = await getXRPL(request); + const xrplDEX = await getXRPLDEX(request); + + validateXRPLAddress(request.body); + + const result = await createOrders(xrpl, xrplDEX, request.body); + + response.status(result.status).json(result.body); + } + ) + ); + + router.delete( + '/orders', + asyncHandler( + async ( + request: Request, + response: Response + ) => { + const xrpl = await getXRPL(request); + const xrplDEX = await getXRPLDEX(request); + + validateXRPLAddress(request.body); + + const result = await cancelOrders(xrpl, xrplDEX, request.body); + + response.status(result.status).json(result.body); + } + ) + ); + + router.get( + '/orders/open', + asyncHandler( + async ( + request: Request, + response: Response + ) => { + const xrpl = await getXRPL(request); + const xrplDEX = await getXRPLDEX(request); + + validateXRPLAddress(request.body); + + const result = await getOpenOrders(xrpl, xrplDEX, request.body); + + response.status(result.status).json(result.body); + } + ) + ); +} diff --git a/src/connectors/xrpldex/xrpldex.ts b/src/connectors/xrpldex/xrpldex.ts new file mode 100644 index 0000000000..ccf2bb7bef --- /dev/null +++ b/src/connectors/xrpldex/xrpldex.ts @@ -0,0 +1,841 @@ +import { XRPL } from '../../chains/xrpl/xrpl'; +import { + Client, + OfferCancel, + Transaction, + xrpToDrops, + AccountInfoResponse, + BookOffersResponse, + TxResponse, + TransactionMetadata, +} from 'xrpl'; +import { + Market, + MarketNotFoundError, + IMap, + GetTickerResponse, + Ticker, + GetOrderBookResponse, + Token, + CreateOrderResponse, + OrderStatus, + CreateOrderRequest, + CancelOrderRequest, + CancelOrderResponse, + GetOpenOrderRequest, + GetOpenOrdersResponse, + OrderSide, + GetOrdersResponse, + GetOrderRequest, +} from './xrpldex.types'; +import { promiseAllInBatches } from '../../chains/xrpl/xrpl.helpers'; +import { isIssuedCurrency } from 'xrpl/dist/npm/models/transactions/common'; + +export type XRPLDEXish = XRPLDEX; + +export class XRPLDEX { + private static _instances: { [name: string]: XRPLDEX }; + private readonly _client: Client; + private readonly _xrpl: XRPL; + private _ready: boolean = false; + + initializing: boolean = false; + chain: string; + network: string; + readonly connector: string = 'xrpldex'; + + /** + * Creates a new instance of xrplDEX. + * + * @param chain + * @param network + * @private + */ + private constructor(chain: string, network: string) { + this.chain = chain; + this.network = network; + + this._xrpl = XRPL.getInstance(network); + this._client = this._xrpl.client; + } + + /** + * Initialize the xrplDEX instance. + * + */ + async init() { + if (!this._ready && !this.initializing) { + this.initializing = true; + + if (!this._xrpl.ready()) { + await this._xrpl.init(); + } + + if (!this._client.isConnected()) { + await this._client.connect(); + } + + this._ready = true; + this.initializing = false; + } + } + + public static getInstance(chain: string, network: string): XRPLDEX { + if (XRPLDEX._instances === undefined) { + XRPLDEX._instances = {}; + } + if (!(network in XRPLDEX._instances)) { + XRPLDEX._instances[network] = new XRPLDEX(chain, network); + } + + return XRPLDEX._instances[network]; + } + + /** + * @param name + */ + async getMarket(name?: string): Promise { + if (!name) throw new MarketNotFoundError(`No market informed.`); + // Market name format: + // 1: "ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/USD.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" + // 2: "XRP/ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" + // 3: "ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/XRP" + let baseTickSize: number; + let baseTransferRate: number; + let quoteTickSize: number; + let quoteTransferRate: number; + const zeroTransferRate = 1000000000; + + const [base, quote] = name.split('/'); + + const [baseCurrency, baseIssuer] = base.split('.'); + const [quoteCurrency, quoteIssuer] = quote.split('.'); + + if (baseCurrency != 'XRP') { + const baseMarketResp: AccountInfoResponse = await this._client.request({ + command: 'account_info', + ledger_index: 'validated', + account: baseIssuer, + }); + + if (!baseMarketResp) + throw new MarketNotFoundError(`Market "${base}" not found.`); + + baseTickSize = baseMarketResp.result.account_data.TickSize ?? 15; + const rawTransferRate = + baseMarketResp.result.account_data.TransferRate ?? zeroTransferRate; + baseTransferRate = rawTransferRate / zeroTransferRate - 1; + } else { + baseTickSize = 6; + baseTransferRate = 0; + } + + if (quoteCurrency != 'XRP') { + const quoteMarketResp: AccountInfoResponse = await this._client.request({ + command: 'account_info', + ledger_index: 'validated', + account: quoteIssuer, + }); + + if (!quoteMarketResp) + throw new MarketNotFoundError(`Market "${quote}" not found.`); + + quoteTickSize = quoteMarketResp.result.account_data.TickSize ?? 15; + const rawTransferRate = + quoteMarketResp.result.account_data.TransferRate ?? zeroTransferRate; + quoteTransferRate = rawTransferRate / zeroTransferRate - 1; + } else { + quoteTickSize = 6; + quoteTransferRate = 0; + } + + const smallestTickSize = Math.min(baseTickSize, quoteTickSize); + const minimumOrderSize = smallestTickSize; + + const result = { + name: name, + minimumOrderSize: minimumOrderSize, + tickSize: smallestTickSize, + baseTransferRate: baseTransferRate, + quoteTransferRate: quoteTransferRate, + }; + + return result; + } + + /** + * @param names + */ + async getMarkets(names: string[]): Promise> { + const markets = IMap().asMutable(); + + const getMarket = async (name: string): Promise => { + const market = await this.getMarket(name); + + markets.set(name, market); + }; + + await promiseAllInBatches(getMarket, names, 1, 1); + + return markets; + } + + /** + * Returns the last traded prices. + */ + async getTicker(marketName: string): Promise { + const [base, quote] = marketName.split('/'); + const [baseCurrency, baseIssuer] = base.split('.'); + const [quoteCurrency, quoteIssuer] = quote.split('.'); + + const baseRequest: any = { + currency: baseCurrency, + }; + + const quoteRequest: any = { + currency: quoteCurrency, + }; + + if (baseIssuer) { + baseRequest['issuer'] = baseIssuer; + } + if (quoteIssuer) { + quoteRequest['issuer'] = quoteIssuer; + } + + const orderbook_resp_ask: any = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker_gets: baseRequest, + taker_pays: quoteRequest, + limit: 1, + }); + + const orderbook_resp_bid: any = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker_gets: quoteRequest, + taker_pays: baseRequest, + limit: 1, + }); + + const asks = orderbook_resp_ask.result.offers; + const bids = orderbook_resp_bid.result.offers; + + let topAsk = 0; + let topBid = 0; + + const askQuality = asks.length > 0 ? asks[0].quality : undefined; + const bidQuality = bids.length > 0 ? bids[0].quality : undefined; + + if (baseCurrency === 'XRP' || quoteCurrency === 'XRP') { + if (baseCurrency === 'XRP') { + topAsk = askQuality ? Number(askQuality) * 1000000 : 0; + topBid = bidQuality ? (1 / Number(bidQuality)) * 1000000 : 0; + } else { + topAsk = askQuality ? Number(askQuality) / 1000000 : 0; + topBid = bidQuality ? 1 / Number(bidQuality) / 1000000 : 0; + } + } else { + topAsk = askQuality ? Number(askQuality) : 0; + topBid = bidQuality ? 1 / Number(bidQuality) : 0; + } + + const midPrice = (topAsk + topBid) / 2; + + return { + price: midPrice, + timestamp: Date.now(), + }; + } + + async getTickers(marketNames: string[]): Promise> { + const tickers = IMap().asMutable(); + + const getTicker = async (marketName: string): Promise => { + const ticker = await this.getTicker(marketName); + + tickers.set(marketName, ticker); + }; + + await promiseAllInBatches(getTicker, marketNames, 1, 1); + + return tickers; + } + + async getOrderBook( + marketName: string, + limit: number + ): Promise { + const market = await this.getMarket(marketName); + + const [base, quote] = marketName.split('/'); + + const [baseCurrency, baseIssuer] = base.split('.'); + const [quoteCurrency, quoteIssuer] = quote.split('.'); + + const baseRequest: any = { + currency: baseCurrency, + }; + + const quoteRequest: any = { + currency: quoteCurrency, + }; + + if (baseIssuer) { + baseRequest['issuer'] = baseIssuer; + } + if (quoteIssuer) { + quoteRequest['issuer'] = quoteIssuer; + } + + const orderbook_resp_ask: BookOffersResponse = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker_gets: baseRequest, + taker_pays: quoteRequest, + limit: limit, + }); + + const orderbook_resp_bid: BookOffersResponse = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker_gets: quoteRequest, + taker_pays: baseRequest, + limit: limit, + }); + + const asks = orderbook_resp_ask.result.offers; + const bids = orderbook_resp_bid.result.offers; + + let topAsk = 0; + let topBid = 0; + + const askQuality = asks.length > 0 ? asks[0].quality : undefined; + const bidQuality = bids.length > 0 ? bids[0].quality : undefined; + + if (baseCurrency === 'XRP' || quoteCurrency === 'XRP') { + if (baseCurrency === 'XRP') { + topAsk = askQuality ? Number(askQuality) * 1000000 : 0; + topBid = bidQuality ? (1 / Number(bidQuality)) * 1000000 : 0; + } else { + topAsk = askQuality ? Number(askQuality) / 1000000 : 0; + topBid = bidQuality ? 1 / Number(bidQuality) / 1000000 : 0; + } + } else { + topAsk = askQuality ? Number(askQuality) : 0; + topBid = bidQuality ? 1 / Number(bidQuality) : 0; + } + + const midPrice = (topAsk + topBid) / 2; + + return { + market, + asks, + bids, + topAsk, + topBid, + midPrice, + timestamp: Date.now(), + }; + } + + async getOrderBooks( + marketNames: string[], + limit: number + ): Promise> { + const orderBooks = IMap().asMutable(); + + const getOrderBook = async (marketName: string): Promise => { + const orderBook = await this.getOrderBook(marketName, limit); + + orderBooks.set(marketName, orderBook); + }; + + await promiseAllInBatches(getOrderBook, marketNames, 1, 1); + + return orderBooks; + } + + async getOrders(orders: GetOrderRequest[]): Promise { + const queriedOrders: GetOrdersResponse = {}; + + for (const order of orders) { + const tx_resp: TxResponse = await this._client.request({ + command: 'tx', + transaction: order.signature, + binary: false, + }); + + const type = tx_resp.result.TransactionType; + if (tx_resp.result.meta) { + const meta: TransactionMetadata = tx_resp.result + .meta as TransactionMetadata; + const result = meta.TransactionResult; + const prefix = result.slice(0, 3); + + switch (prefix) { + case 'tec': + case 'tef': + case 'tel': + case 'tem': + queriedOrders[order.sequence] = { + sequence: order.sequence, + status: OrderStatus.FAILED, + signature: order.signature, + transactionResult: result, + }; + continue; + } + + if (type == 'OfferCreate') { + if (result == 'tesSUCCESS') { + queriedOrders[order.sequence] = { + sequence: order.sequence, + status: OrderStatus.OPEN, + signature: order.signature, + transactionResult: result, + }; + } else { + queriedOrders[order.sequence] = { + sequence: order.sequence, + status: OrderStatus.PENDING, + signature: order.signature, + transactionResult: result, + }; + } + } else if (type == 'OfferCancel') { + if (result == 'tesSUCCESS') { + queriedOrders[order.sequence] = { + sequence: order.sequence, + status: OrderStatus.CANCELED, + signature: order.signature, + transactionResult: result, + }; + } else { + queriedOrders[order.sequence] = { + sequence: order.sequence, + status: OrderStatus.PENDING, + signature: order.signature, + transactionResult: result, + }; + } + } else { + queriedOrders[order.sequence] = { + sequence: order.sequence, + status: OrderStatus.UNKNOWN, + signature: order.signature, + transactionResult: result, + }; + } + } else { + queriedOrders[order.sequence] = { + sequence: order.sequence, + status: OrderStatus.PENDING, + signature: order.signature, + transactionResult: 'pending', + }; + } + } + + const result = queriedOrders; + return result; + } + + async createOrder(order: CreateOrderRequest): Promise { + const [base, quote] = order.marketName.split('/'); + const [baseCurrency, baseIssuer] = base.split('.'); + const [quoteCurrency, quoteIssuer] = quote.split('.'); + + const market = await this.getMarket(order.marketName); + + const xrpl = XRPL.getInstance(this.network); + const wallet = await xrpl.getWallet(order.walletAddress); + const total = order.price * order.amount; + let fee = 0; + + let we_pay: Token = { + currency: '', + issuer: '', + value: '', + }; + let we_get: Token = { currency: '', issuer: '', value: '' }; + + if (order.side == 'BUY') { + we_pay = { + currency: quoteCurrency, + issuer: quoteIssuer, + value: Number(total.toPrecision(market.tickSize)).toString(), + }; + we_get = { + currency: baseCurrency, + issuer: baseIssuer, + value: Number(order.amount.toPrecision(market.tickSize)).toString(), + }; + + fee = market.baseTransferRate; + } else { + we_pay = { + currency: baseCurrency, + issuer: baseIssuer, + value: Number(order.amount.toPrecision(market.tickSize)).toString(), + }; + we_get = { + currency: quoteCurrency, + issuer: quoteIssuer, + value: Number(total.toPrecision(market.tickSize)).toString(), + }; + + fee = market.quoteTransferRate; + } + + if (we_pay.currency == 'XRP') { + we_pay.value = xrpToDrops(we_pay.value); + } + + if (we_get.currency == 'XRP') { + we_get.value = xrpToDrops(we_get.value); + } + + const offer: Transaction = { + TransactionType: 'OfferCreate', + Account: wallet.classicAddress, + TakerGets: we_pay.currency == 'XRP' ? we_pay.value : we_pay, + TakerPays: we_get.currency == 'XRP' ? we_get.value : we_get, + }; + + if (order.sequence != undefined) { + offer.OfferSequence = order.sequence; + } + + const prepared = await this._client.autofill(offer); + const signed = wallet.sign(prepared); + const response = await this._client.submit(signed.tx_blob); + + const orderStatus = OrderStatus.PENDING; + // const orderSequence = -1; + // const orderLedgerIndex = ''; + + // if (response.result) { + // const meta = response.result.meta; + // if (meta) { + // const affectedNodes = (meta as TransactionMetadata).AffectedNodes; + + // for (const affnode of affectedNodes) { + // if ('ModifiedNode' in affnode) { + // if (affnode.ModifiedNode.LedgerEntryType == 'Offer') { + // // Usually a ModifiedNode of type Offer indicates a previous Offer that + // // was partially consumed by this one. + // orderStatus = OrderStatus.PARTIALLY_FILLED; + // } + // } else if ('DeletedNode' in affnode) { + // if (affnode.DeletedNode.LedgerEntryType == 'Offer') { + // // The removed Offer may have been fully consumed, or it may have been + // // found to be expired or unfunded. + // // TODO: Make a seperate method for cancelling orders + // if (offer.OfferSequence == undefined) { + // orderStatus = OrderStatus.FILLED; + // } + // } + // } else if ('CreatedNode' in affnode) { + // if (affnode.CreatedNode.LedgerEntryType == 'Offer') { + // // Created an Offer object on the Ledger + // orderStatus = OrderStatus.OPEN; + // orderSequence = response.result.Sequence ?? -1; + // orderLedgerIndex = affnode.CreatedNode.LedgerIndex; + // } + // } + // } + // } + // } + + const returnResponse: CreateOrderResponse = { + walletAddress: order.walletAddress, + marketName: order.marketName, + price: order.price, + amount: order.amount, + side: order.side, + type: order.type, + fee, + orderLedgerIndex: response.result.validated_ledger_index.toString(), + status: orderStatus, + sequence: response.result.tx_json.Sequence ?? -1, + signature: response.result.tx_json.hash, + }; + + return returnResponse; + } + + async createOrders( + orders: CreateOrderRequest[], + waitUntilIncludedInBlock: boolean + ): Promise> { + const createdOrders: Record = {}; + + if (orders.length <= 0) { + return createdOrders; + } + + const getCreatedOrders = async ( + order: CreateOrderRequest + ): Promise => { + const createdOrder = await this.createOrder(order); + + createdOrders[createdOrder.sequence] = createdOrder; + }; + + await promiseAllInBatches(getCreatedOrders, orders, 1, 1); + + if (waitUntilIncludedInBlock) { + const queriedOrders: GetOrderRequest[] = []; + let pooling = true; + let transactionStatuses: GetOrdersResponse; + + for (const key in createdOrders) { + const sequence = parseInt(key); + const signature = createdOrders[key].signature; + + if (signature != undefined) { + queriedOrders.push({ + sequence, + signature, + }); + } + } + + while (pooling) { + transactionStatuses = await this.getOrders(queriedOrders); + + for (const key in transactionStatuses) { + if (transactionStatuses[key]['status'] == OrderStatus.PENDING) { + pooling = true; + await new Promise((resolve) => setTimeout(resolve, 5000)); + break; + } + + createdOrders[key]['status'] = transactionStatuses[key]['status']; + createdOrders[key]['transactionResult'] = + transactionStatuses[key]['transactionResult']; + + pooling = false; + } + } + } + + return createdOrders; + } + + async cancelOrder(order: CancelOrderRequest): Promise { + const xrpl = XRPL.getInstance(this.network); + const wallet = await xrpl.getWallet(order.walletAddress); + const request: OfferCancel = { + TransactionType: 'OfferCancel', + Account: wallet.classicAddress, + OfferSequence: order.offerSequence, + }; + + const prepared = await this._client.autofill(request); + const signed = wallet.sign(prepared); + const response = await this._client.submit(signed.tx_blob); + + const orderStatus = OrderStatus.PENDING; + + // if (response.result) { + // const meta = response.result.meta; + // if (meta) { + // const affectedNodes = (meta as TransactionMetadata).AffectedNodes; + + // for (const affnode of affectedNodes) { + // if ('DeletedNode' in affnode) { + // if (affnode.DeletedNode.LedgerEntryType == 'Offer') { + // orderStatus = OrderStatus.CANCELED; + // } + // } + // } + // } + // } + + const returnResponse: CancelOrderResponse = { + walletAddress: order.walletAddress, + status: orderStatus, + signature: response.result.tx_json.hash, + }; + + return returnResponse; + } + + async cancelOrders( + orders: CancelOrderRequest[], + waitUntilIncludedInBlock: boolean + ): Promise> { + const cancelledOrders: Record = {}; + + if (orders.length <= 0) { + return cancelledOrders; + } + + const getCancelledOrders = async ( + order: CancelOrderRequest + ): Promise => { + const cancelledOrder = await this.cancelOrder(order); + + cancelledOrders[order.offerSequence] = cancelledOrder; + }; + + await promiseAllInBatches(getCancelledOrders, orders, 1, 1); + + if (waitUntilIncludedInBlock) { + const queriedOrders: GetOrderRequest[] = []; + let pooling = true; + let transactionStatuses: GetOrdersResponse; + + for (const key in cancelledOrders) { + const sequence = parseInt(key); + const signature = cancelledOrders[key].signature; + + if (signature != undefined) { + queriedOrders.push({ + sequence, + signature, + }); + } + } + + while (pooling) { + transactionStatuses = await this.getOrders(queriedOrders); + + for (const key in transactionStatuses) { + if (transactionStatuses[key]['status'] == OrderStatus.PENDING) { + pooling = true; + await new Promise((resolve) => setTimeout(resolve, 5000)); + break; + } + + cancelledOrders[key]['status'] = transactionStatuses[key]['status']; + cancelledOrders[key]['transactionResult'] = + transactionStatuses[key]['transactionResult']; + + pooling = false; + } + } + } + + return cancelledOrders; + } + + async getOpenOrders(params: { + market?: GetOpenOrderRequest; + markets?: GetOpenOrderRequest[]; + }): Promise { + const openOrders: any = {}; + + let marketArray: GetOpenOrderRequest[] = []; + if (params.market) marketArray.push(params.market); + if (params.markets) { + marketArray = marketArray.concat(params.markets); + } + + for (const market of marketArray) { + const [base, quote] = market.marketName.split('/'); + + const [baseCurrency, baseIssuer] = base.split('.'); + const [quoteCurrency, quoteIssuer] = quote.split('.'); + + const openOrdersInMarket: any = {}; + + const baseRequest: any = { + currency: baseCurrency, + }; + + const quoteRequest: any = { + currency: quoteCurrency, + }; + + if (baseIssuer) { + baseRequest['issuer'] = baseIssuer; + } + if (quoteIssuer) { + quoteRequest['issuer'] = quoteIssuer; + } + + const orderbook_resp_ask: BookOffersResponse = await this._client.request( + { + command: 'book_offers', + ledger_index: 'validated', + taker: market.walletAddress, + taker_gets: baseRequest, + taker_pays: quoteRequest, + } + ); + + const orderbook_resp_bid: BookOffersResponse = await this._client.request( + { + command: 'book_offers', + ledger_index: 'validated', + taker: market.walletAddress, + taker_gets: quoteRequest, + taker_pays: baseRequest, + } + ); + + let asks = orderbook_resp_ask.result.offers; + let bids = orderbook_resp_bid.result.offers; + + asks = asks.filter((ask) => ask.Account == market.walletAddress); + bids = bids.filter((bid) => bid.Account == market.walletAddress); + + for (const ask of asks) { + const price = ask.quality ?? '-1'; + let amount: string = ''; + + if (isIssuedCurrency(ask.TakerGets)) { + amount = ask.TakerGets.value; + } else { + amount = ask.TakerGets; + } + + openOrdersInMarket[String(ask.Sequence)] = { + sequence: ask.Sequence, + marketName: market.marketName, + price: price, + amount: amount, + side: OrderSide.SELL, + }; + } + + for (const bid of bids) { + const price = Math.pow(Number(bid.quality), -1).toString() ?? '-1'; + let amount: string = ''; + + if (isIssuedCurrency(bid.TakerGets)) { + amount = bid.TakerGets.value; + } else { + amount = bid.TakerGets; + } + + openOrdersInMarket[String(bid.Sequence)] = { + sequence: bid.Sequence, + marketName: market.marketName, + price: price, + amount: amount, + side: OrderSide.BUY, + }; + } + + openOrders[market.marketName] = openOrdersInMarket; + } + return openOrders; + } + + ready(): boolean { + return this._ready; + } + + isConnected(): boolean { + return this._client.isConnected(); + } + + public get client() { + return this._client; + } +} diff --git a/src/connectors/xrpldex/xrpldex.types.ts b/src/connectors/xrpldex/xrpldex.types.ts new file mode 100644 index 0000000000..de69b77fdc --- /dev/null +++ b/src/connectors/xrpldex/xrpldex.types.ts @@ -0,0 +1,192 @@ +import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable'; +import { BookOffer } from 'xrpl'; + +export type IMap = ImmutableMap; +export const IMap = ImmutableMap; +export type ISet = ImmutableSet; +export const ISet = ImmutableSet; + +export enum OrderSide { + BUY = 'BUY', + SELL = 'SELL', +} + +export enum OrderStatus { + OPEN = 'OPEN', + CANCELED = 'CANCELED', + FILLED = 'FILLED', + PARTIALLY_FILLED = 'PARTIALLY_FILLED', + PENDING = 'PENDING', + FAILED = 'FAILED', + UNKNOWN = 'UNKNOWN', +} + +export enum OrderType { + LIMIT = 'LIMIT', + PASSIVE = 'PASSIVE', + IOC = 'IOC', // Immediate or Cancel + FOK = 'FOK', // Fill or Kill + SELL = 'SELL', // Sell +} + +export interface Token { + currency: string; + issuer: string; + value: string; +} + +export type GetMarketsRequest = + | Record + | { name: string } + | { names: string[] }; + +export interface GetMarketResponse { + name: string; + minimumOrderSize: number; + tickSize: number; + baseTransferRate: number; + quoteTransferRate: number; +} + +export interface Market { + name: string; + minimumOrderSize: number; + tickSize: number; + baseTransferRate: number; + quoteTransferRate: number; +} + +export type GetMarketsResponse = + | IMap + | GetMarketResponse; + +export type GetTickersRequest = + | Record + | { marketName: string } + | { marketNames: string[] }; + +export interface GetTickerResponse { + price: number; + timestamp: number; +} + +export type GetTickersResponse = + | IMap + | GetTickerResponse; + +export interface Ticker { + price: number; + timestamp: number; +} + +export interface GetOrderRequest { + sequence: number; + signature: string; +} + +export type GetOrdersRequest = + | Record + | { orders: GetOrderRequest[] }; + +export interface GetOrderResponse { + sequence: number; + status: OrderStatus; + signature: string; + transactionResult: string; +} + +export type GetOrdersResponse = Record; + +export type GetOrderBooksRequest = + | Record + | { marketName: string; limit: number } + | { marketNames: string[]; limit: number }; + +export interface GetOrderBookResponse { + market: GetMarketResponse; + topAsk: number; + topBid: number; + midPrice: number; + bids: BookOffer[]; + asks: BookOffer[]; + timestamp: number; +} + +export type GetOrderBooksResponse = + | IMap + | GetOrderBookResponse; + +export interface CreateOrderRequest { + walletAddress: string; + marketName: string; + side: OrderSide; + price: number; + amount: number; + type?: OrderType; + sequence?: number; +} + +export interface CreateOrderResponse { + walletAddress: string; + marketName: string; + price: number; + amount: number; + side: OrderSide; + status?: OrderStatus; + type?: OrderType; + fee?: number; + sequence: number; + orderLedgerIndex?: string; + signature?: string; + transactionResult?: string; +} + +export type CreateOrdersResponse = + | IMap + | CreateOrderResponse + | Record; + +export interface CancelOrderRequest { + walletAddress: string; + offerSequence: number; +} + +export type CancelOrdersRequest = + | Record + | { order: CancelOrderRequest } + | { orders: CancelOrderRequest[] }; + +export interface CancelOrderResponse { + walletAddress: string; + status?: OrderStatus; + signature?: string; + transactionResult?: string; +} + +export type CancelOrdersResponse = + | IMap + | CancelOrderResponse + | Record; + +export interface GetOpenOrderRequest { + marketName: string; + walletAddress: string; +} + +export interface GetOpenOrderResponse { + sequence: number; + marketName: string; + price: string; + amount: string; + side: OrderSide; +} + +export type GetOpenOrdersResponse = + | any + | IMap> + | IMap + | GetOpenOrderResponse; + +export class XRPLDEXishError extends Error {} + +export class MarketNotFoundError extends XRPLDEXishError {} diff --git a/src/connectors/xrpldex/xrpldex.validators.ts b/src/connectors/xrpldex/xrpldex.validators.ts new file mode 100644 index 0000000000..0ddb9b7c68 --- /dev/null +++ b/src/connectors/xrpldex/xrpldex.validators.ts @@ -0,0 +1,202 @@ +import { StatusCodes } from 'http-status-codes'; +import { HttpException } from '../../services/error-handler'; +// import { +// isBase58, +// isFloatString, +// isNaturalNumberString, +// } from '../../services/validators'; + +type Validator = ( + item: undefined | null | any | Item, + index?: number +) => { warnings: Array; errors: Array }; + +const createValidator = ( + accessor: undefined | null | string | ((target: any | Item) => any | Value), + validation: ( + item: undefined | null | any | Item, + value: undefined | null | any | Value + ) => boolean, + error: + | string + | (( + item: undefined | null | any | Item, + value: undefined | null | any | Value, + accessor: + | undefined + | null + | string + | ((target: any | Item) => any | Value), + index?: number + ) => string), + optional: boolean = false +): Validator => { + return (item: undefined | null | any | Item, index?: number) => { + const warnings: Array = []; + const errors: Array = []; + + let target: any | Value; + if (item === undefined && accessor) { + errors.push(`Request with undefined value informed when it shouldn't.`); + } else if (item === null && accessor) { + errors.push(`Request with null value informed when it shouldn't.`); + } else if (!accessor) { + target = item; + } else if (typeof accessor === 'string') { + if (!(`${accessor}` in item) && !optional) { + errors.push(`The request is missing the key/property "${accessor}".`); + } else { + target = item[accessor]; + } + } else { + target = accessor(item); + } + + if (!validation(item, target)) { + if (typeof error === 'string') { + if (optional) { + warnings.push(error); + } else { + errors.push(error); + } + } else { + if (optional) { + warnings.push(error(item, target, accessor, index)); + } else { + errors.push(error(item, target, accessor, index)); + } + } + } + + return { + warnings, + errors, + }; + }; +}; + +/** + Throw an error because the request parameter is malformed, collect all the + errors related to the request to give the most information possible + */ +export const throwIfErrorsExist = ( + errors: Array, + statusCode: number = StatusCodes.NOT_FOUND, + request: any, + headerMessage?: (request: any, errorNumber?: number) => string, + errorNumber?: number +): void => { + if (errors.length > 0) { + let message = headerMessage + ? `${headerMessage(request, errorNumber)}\n` + : ''; + message += errors.join('\n'); + + throw new HttpException(statusCode, message); + } +}; + +type RequestValidator = (item: undefined | null | any | Item) => { + warnings: Array; + errors: Array; +}; + +export const createRequestValidator = ( + validators: Array, + statusCode?: StatusCodes, + headerMessage?: (request: any) => string, + errorNumber?: number +): RequestValidator => { + return (request: undefined | null | any | Item) => { + let warnings: Array = []; + let errors: Array = []; + + for (const validator of validators) { + const result = validator(request); + warnings = [...warnings, ...result.warnings]; + errors = [...errors, ...result.errors]; + } + + throwIfErrorsExist(errors, statusCode, request, headerMessage, errorNumber); + + return { warnings, errors }; + }; +}; + +export const validateGetMarketRequest: RequestValidator = + createRequestValidator( + [ + createValidator( + null, + (request) => request.name, + `No market was informed. If you want to get a market, please inform the parameter "name".`, + false + ), + ], + StatusCodes.BAD_REQUEST + ); + +export const validateGetMarketsRequest: RequestValidator = + createRequestValidator( + [ + createValidator( + null, + (request) => request.names && request.names.length, + `No markets were informed. If you want to get all markets, please do not inform the parameter "names".`, + false + ), + ], + StatusCodes.BAD_REQUEST + ); + +export const validateGetOrderBookRequest: RequestValidator = + createRequestValidator( + [ + createValidator( + null, + (request) => request.marketName, + `No market name was informed. If you want to get an order book, please inform the parameter "marketName".`, + false + ), + ], + StatusCodes.BAD_REQUEST + ); + +export const validateGetOrderBooksRequest: RequestValidator = + createRequestValidator( + [ + createValidator( + null, + (request) => request.marketNames && request.marketNames.length, + `No market names were informed. If you want to get all order books, please do not inform the parameter "marketNames".`, + false + ), + ], + StatusCodes.BAD_REQUEST + ); + +export const validateGetTickerRequest: RequestValidator = + createRequestValidator( + [ + createValidator( + null, + (request) => request.marketName, + `No market name was informed. If you want to get a ticker, please inform the parameter "marketName".`, + false + ), + ], + StatusCodes.BAD_REQUEST + ); + +export const validateGetTickersRequest: RequestValidator = + createRequestValidator( + [ + createValidator( + null, + (request) => request.marketNames && request.marketNames.length, + `No market names were informed. If you want to get all tickers, please do not inform the parameter "marketNames".`, + false + ), + ], + StatusCodes.BAD_REQUEST + ); diff --git a/src/network/network.controllers.ts b/src/network/network.controllers.ts index 0f35a0d62b..76c269a3ee 100644 --- a/src/network/network.controllers.ts +++ b/src/network/network.controllers.ts @@ -19,6 +19,7 @@ import { getInitializedChain, UnsupportedChainException, } from '../services/connection-manager'; +import { XRPL } from '../chains/xrpl/xrpl'; export async function getStatus( req: StatusRequest @@ -102,6 +103,11 @@ export async function getStatus( connections = connections.concat( tezosConnections ? Object.values(tezosConnections) : [] ); + + const xrplConnections = XRPL.getConnectedInstances(); + connections = connections.concat( + xrplConnections ? Object.values(xrplConnections) : [] + ); } for (const connection of connections) { diff --git a/src/network/network.routes.ts b/src/network/network.routes.ts new file mode 100644 index 0000000000..b69c9234d4 --- /dev/null +++ b/src/network/network.routes.ts @@ -0,0 +1,123 @@ +/* eslint-disable @typescript-eslint/ban-types */ +import { NextFunction, Request, Response, Router } from 'express'; +import * as ethereumControllers from '../chains/ethereum/ethereum.controllers'; +// import * as xrplControllers from '../chains/xrpl/xrpl.controllers'; +import { Ethereumish } from '../services/common-interfaces'; +import { ConfigManagerV2 } from '../services/config-manager-v2'; +import { getInitializedChain } from '../services/connection-manager'; +import { asyncHandler } from '../services/error-handler'; +import { + mkRequestValidator, + RequestValidator, + validateTxHash, +} from '../services/validators'; +import { getStatus, getTokens } from './network.controllers'; +import { + BalanceRequest, + BalanceResponse, + PollRequest, + PollResponse, + StatusRequest, + StatusResponse, + TokensRequest, + TokensResponse, +} from './network.requests'; +import { + validateBalanceRequest as validateEthereumBalanceRequest, + validateChain as validateEthereumChain, + validateNetwork as validateEthereumNetwork, +} from '../chains/ethereum/ethereum.validators'; +// import { XRPLish } from '../chains/xrpl/xrpl'; +// import { +// validateXRPLBalanceRequest, +// validateXRPLPollRequest, +// } from '../chains/xrpl/xrpl.validators'; +// import { +// XRPLBalanceResponse, +// XRPLPollRequest, +// XRPLPollResponse, +// } from '../chains/xrpl/xrpl.requests'; + +export const validatePollRequest: RequestValidator = mkRequestValidator([ + validateTxHash, +]); + +export const validateTokensRequest: RequestValidator = mkRequestValidator([ + validateEthereumChain, + validateEthereumNetwork, +]); + +export namespace NetworkRoutes { + export const router = Router(); + + router.get( + '/status', + asyncHandler( + async ( + req: Request<{}, {}, {}, StatusRequest>, + res: Response + ) => { + res.status(200).json(await getStatus(req.query)); + } + ) + ); + + router.get('/config', (_req: Request, res: Response) => { + res.status(200).json(ConfigManagerV2.getInstance().allConfigurations); + }); + + router.post( + '/balances', + asyncHandler( + async ( + req: Request<{}, {}, BalanceRequest>, + res: Response, + _next: NextFunction + ) => { + validateEthereumBalanceRequest(req.body); + const chain = await getInitializedChain( + req.body.chain, + req.body.network + ); + + // TODO: Add get xrpl balances + + res + .status(200) + .json(await ethereumControllers.balances(chain, req.body)); + } + ) + ); + + router.post( + '/poll', + asyncHandler( + async ( + req: Request<{}, {}, PollRequest>, + res: Response + ) => { + validatePollRequest(req.body); + + const chain = await getInitializedChain( + req.body.chain, + req.body.network + ); + + res.status(200).json(await ethereumControllers.poll(chain, req.body)); + } + ) + ); + + router.get( + '/tokens', + asyncHandler( + async ( + req: Request<{}, {}, {}, TokensRequest>, + res: Response + ) => { + validateTokensRequest(req.query); + res.status(200).json(await getTokens(req.query)); + } + ) + ); +} diff --git a/src/services/connection-manager.ts b/src/services/connection-manager.ts index 803f8c7c98..2d241878ee 100644 --- a/src/services/connection-manager.ts +++ b/src/services/connection-manager.ts @@ -6,6 +6,7 @@ import { Harmony } from '../chains/harmony/harmony'; import { Polygon } from '../chains/polygon/polygon'; import { Xdc } from '../chains/xdc/xdc'; import { Tezos } from '../chains/tezos/tezos'; +import { XRPL, XRPLish } from '../chains/xrpl/xrpl'; import { MadMeerkat } from '../connectors/mad_meerkat/mad_meerkat'; import { Openocean } from '../connectors/openocean/openocean'; import { Pangolin } from '../connectors/pangolin/pangolin'; @@ -18,6 +19,7 @@ import { VVSConnector } from '../connectors/vvs/vvs'; import { InjectiveCLOB } from '../connectors/injective/injective'; import { InjectiveClobPerp } from '../connectors/injective_perpetual/injective.perp'; import { Injective } from '../chains/injective/injective'; +import { XRPLDEX } from '../connectors/xrpldex/xrpldex'; import { CLOBish, Ethereumish, @@ -48,7 +50,8 @@ export type ChainUnion = | Nearish | Injective | Xdcish - | Tezosish; + | Tezosish + | XRPLish; export type Chain = T extends Algorand ? Algorand @@ -64,6 +67,8 @@ export type Chain = T extends Algorand ? Injective : T extends Tezosish ? Tezosish + : T extends XRPLish + ? XRPLish : never; export class UnsupportedChainException extends Error { @@ -125,6 +130,8 @@ export function getChainInstance( connection = Injective.getInstance(network); } else if (chain === 'tezos') { connection = Tezos.getInstance(network); + } else if (chain === 'xrpl') { + connection = XRPL.getInstance(network); } else { connection = undefined; } @@ -140,7 +147,8 @@ export type ConnectorUnion = | CLOBish | InjectiveClobPerp | Tinyman - | Plenty; + | Plenty + | XRPLDEX; export type Connector = T extends Uniswapish ? Uniswapish @@ -212,6 +220,8 @@ export async function getConnector( connectorInstance = Tinyman.getInstance(network); } else if (chain === 'tezos' && connector === 'plenty') { connectorInstance = Plenty.getInstance(network); + } else if (chain === 'xrpl' && connector === 'xrpldex') { + connectorInstance = XRPLDEX.getInstance(chain, network); } else { throw new Error('unsupported chain or connector'); } diff --git a/src/services/schema/xrpl-schema.json b/src/services/schema/xrpl-schema.json new file mode 100644 index 0000000000..6c7a9bf454 --- /dev/null +++ b/src/services/schema/xrpl-schema.json @@ -0,0 +1,73 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "networks": { + "type": "object", + "patternProperties": { + "^\\w+$": { + "type": "object", + "properties": { + "nodeURL": { "type": "string" }, + "tokenListType": { "type": "string" }, + "tokenListSource": { "type": "string" }, + "nativeCurrencySymbol": { "type": "string" } + }, + "required": [ + "nodeURL", + "tokenListType", + "tokenListSource", + "nativeCurrencySymbol" + ], + "additionalProperties": false + } + }, + "additionalProperties": false + }, + "network": { "type": "string" }, + "requestTimeout": { "type": "integer" }, + "connectionTimeout": { "type": "integer" }, + "feeCushion": { "type": "number" }, + "maxFeeXRP": { "type": "string" }, + "retry": { + "type": "object", + "required": ["all"], + "properties": { + "all": { + "type": "object", + "required": ["maxNumberOfRetries", "delayBetweenRetries"], + "properties": { + "maxNumberOfRetries": { "type": "integer" }, + "delayBetweenRetries": { + "type": "integer" + } + } + } + } + }, + "timeout": { + "type": "object", + "required": ["all"], + "properties": { + "all": { "type": "integer" } + } + }, + "parallel": { + "type": "object", + "required": ["all"], + "properties": { + "all": { + "type": "object", + "required": ["batchSize", "delayBetweenBatches"], + "properties": { + "batchSize": { "type": "integer" }, + "delayBetweenBatches": { + "type": "integer" + } + } + } + } + } + }, + "additionalProperties": false +} diff --git a/src/services/wallet/wallet.controllers.ts b/src/services/wallet/wallet.controllers.ts index b82443cc56..d4dce61a1c 100644 --- a/src/services/wallet/wallet.controllers.ts +++ b/src/services/wallet/wallet.controllers.ts @@ -3,6 +3,7 @@ import { Xdc } from '../../chains/xdc/xdc'; import { Cosmos } from '../../chains/cosmos/cosmos'; import { Injective } from '../../chains/injective/injective'; import { Tezos } from '../../chains/tezos/tezos'; +import { XRPL } from '../../chains/xrpl/xrpl'; import { AddWalletRequest, @@ -135,9 +136,14 @@ export async function addWallet( throw new Error('Injective wallet requires a subaccount id'); } } else if (connection instanceof Tezos) { - const tezosWallet = await connection.getWalletFromPrivateKey(req.privateKey); + const tezosWallet = await connection.getWalletFromPrivateKey( + req.privateKey + ); address = await tezosWallet.signer.publicKeyHash(); - encryptedPrivateKey = connection.encrypt( + encryptedPrivateKey = connection.encrypt(req.privateKey, passphrase); + } else if (connection instanceof XRPL) { + address = connection.getWalletFromSeed(req.privateKey).classicAddress; + encryptedPrivateKey = await connection.encrypt( req.privateKey, passphrase ); @@ -170,9 +176,16 @@ export async function signMessage( if (req.chain === 'tezos') { const chain: Tezosish = await getInitializedChain(req.chain, req.network); const wallet = await chain.getWallet(req.address); - return { signature: (await wallet.signer.sign("0x03" + req.message)).sbytes.slice(4) }; + return { + signature: (await wallet.signer.sign('0x03' + req.message)).sbytes.slice( + 4 + ), + }; } else { - const chain: Ethereumish = await getInitializedChain(req.chain, req.network); + const chain: Ethereumish = await getInitializedChain( + req.chain, + req.network + ); const wallet = await chain.getWallet(req.address); return { signature: await wallet.signMessage(req.message) }; } diff --git a/src/services/wallet/wallet.validators.ts b/src/services/wallet/wallet.validators.ts index 1866191348..343b86098e 100644 --- a/src/services/wallet/wallet.validators.ts +++ b/src/services/wallet/wallet.validators.ts @@ -7,6 +7,10 @@ import { } from '../validators'; const { fromBase64 } = require('@cosmjs/encoding'); +import { + invalidXRPLPrivateKeyError, + isXRPLSeedKey, +} from '../../chains/xrpl/xrpl.validators'; export const invalidAlgorandPrivateKeyOrMnemonicError: string = 'The privateKey param is not a valid Algorand private key or mnemonic.'; @@ -59,7 +63,7 @@ export const isTezosPrivateKey = (str: string): boolean => { } catch { return false; } -} +}; // given a request, look for a key called privateKey that is an Ethereum private key export const validatePrivateKey: Validator = mkSelectingValidator( @@ -111,7 +115,6 @@ export const validatePrivateKey: Validator = mkSelectingValidator( invalidEthPrivateKeyError, (val) => typeof val === 'string' && isEthPrivateKey(val) ), - injective: mkValidator( 'privateKey', invalidEthPrivateKeyError, @@ -126,7 +129,12 @@ export const validatePrivateKey: Validator = mkSelectingValidator( 'privateKey', invalidTezosPrivateKeyError, (val) => typeof val === 'string' && isTezosPrivateKey(val) - ) + ), + xrpl: mkValidator( + 'privateKey', + invalidXRPLPrivateKeyError, + (val) => typeof val === 'string' && isXRPLSeedKey(val) + ), } ); @@ -159,8 +167,8 @@ export const validateChain: Validator = mkValidator( val === 'cosmos' || val === 'binance-smart-chain' || val === 'injective' || - val === 'tezos' - ) + val === 'tezos' || + val === 'xrpl') ); export const validateNetwork: Validator = mkValidator( diff --git a/src/templates/root.yml b/src/templates/root.yml index 6b79269053..86f6810e40 100644 --- a/src/templates/root.yml +++ b/src/templates/root.yml @@ -115,3 +115,7 @@ configurations: $namespace plenty: configurationPath: plenty.yml schemaPath: plenty-schema.json + + $namespace xrpl: + configurationPath: xrpl.yml + schemaPath: xrpl-schema.json diff --git a/src/templates/xrpl.yml b/src/templates/xrpl.yml new file mode 100644 index 0000000000..504f888b0e --- /dev/null +++ b/src/templates/xrpl.yml @@ -0,0 +1,31 @@ +networks: + mainnet: + nodeURL: wss://xrplcluster.com/ + tokenListType: 'FILE' + tokenListSource: 'src/chains/xrpl/xrpl_tokens_small.json' + nativeCurrencySymbol: 'XRP' + testnet: + nodeURL: wss://s.altnet.rippletest.net/ + tokenListType: 'FILE' + tokenListSource: 'src/chains/xrpl/xrpl_tokens_testnet.json' + nativeCurrencySymbol: 'XRP' + devnet: + nodeURL: wss://s.devnet.rippletest.net/ + tokenListType: 'FILE' + tokenListSource: 'src/chains/xrpl/xrpl_tokens_devnet.json' + nativeCurrencySymbol: 'XRP' +network: 'xrpl' +requestTimeout: 2000 +connectionTimeout: 2000 +feeCushion: 1.2 +maxFeeXRP: '2' +retry: + all: + maxNumberOfRetries: 3 # 0 means no retries + delayBetweenRetries: 1 # in milliseconds, 0 means no delay +timeout: + all: 0 # in milliseconds, 0 means no timeout. +parallel: + all: + batchSize: 1 # 0 means no batching, group all + delayBetweenBatches: 1 # in milliseconds, 0 means no delay \ No newline at end of file diff --git a/yarn.lock b/yarn.lock index d4b8424135..f1bb96ea7c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6199,11 +6199,6 @@ assert@^2.0.0: object-is "^1.0.1" util "^0.12.0" -assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -6463,16 +6458,6 @@ bech32@1.1.4, bech32@^1.1.4: resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== -bech32@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" - integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== - -big-integer@1.6.36: - version "1.6.36" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.36.tgz#78631076265d4ae3555c04f85e7d9d2f3a071a36" - integrity sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg== - big-integer@^1.6.48: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" @@ -6563,12 +6548,15 @@ bip39@^2.5.0: safe-buffer "^5.0.1" unorm "^1.3.3" -bip39@^3.0.2, bip39@^3.0.3, bip39@^3.0.4: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" - integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== +bip39@^3.0.4: + version "3.0.4" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" + integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== dependencies: - "@noble/hashes" "^1.2.0" + "@types/node" "11.11.6" + create-hash "^1.1.0" + pbkdf2 "^3.0.9" + randombytes "^2.0.1" bip66@^1.1.5: version "1.1.5" @@ -6839,14 +6827,7 @@ bs58@^4.0.0, bs58@^4.0.1: dependencies: base-x "^3.0.2" -bs58@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" - integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== - dependencies: - base-x "^4.0.0" - -bs58check@2.1.2, bs58check@<3.0.0, bs58check@^2.1.1, bs58check@^2.1.2: +bs58check@<3.0.0, bs58check@^2.1.1, bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== @@ -6916,7 +6897,15 @@ buffer@6.0.1: base64-js "^1.3.1" ieee754 "^1.2.1" -buffer@^5.0.5, buffer@^5.1.0, buffer@^5.2.1, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: +buffer@5.6.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" + integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== + dependencies: + base64-js "^1.0.2" + ieee754 "^1.1.4" + +buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -7791,11 +7780,16 @@ decimal.js-light@^2.5.0, decimal.js-light@^2.5.1: resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== -decimal.js@^10.2.0, decimal.js@^10.2.1, decimal.js@^10.3.1, decimal.js@^10.4.3: +decimal.js@^10.2.0: version "10.4.3" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== +decimal.js@^10.2.1, decimal.js@^10.3.1: + version "10.3.1" + resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" + integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== + decode-uri-component@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" @@ -8411,7 +8405,7 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw== -es6-promise@4.2.8, es6-promise@^4.0.3, es6-promise@^4.2.8: +es6-promise@^4.2.8: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== @@ -10281,14 +10275,6 @@ http-status-codes@^2.2.0: resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.2.0.tgz#bb2efe63d941dfc2be18e15f703da525169622be" integrity sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng== -http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - http2-wrapper@^2.1.10: version "2.2.0" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.0.tgz#b80ad199d216b7d3680195077bd7b9060fa9d7f3" @@ -12701,6 +12687,11 @@ nan@^2.13.2, nan@^2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== +nan@^2.14.0: + version "2.16.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.16.0.tgz#664f43e45460fb98faf00edca0bb0d7b8dce7916" + integrity sha512-UdAqHyFngu7TfQKsCBgAA6pWDkT8MAO7d0jyOecVhN5354xbLqdn8mV9Tat9gepAupm0bt2DbeaSC8vS52MuFA== + nano-json-stream-parser@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" @@ -13007,6 +12998,14 @@ object-is@^1.0.1: call-bind "^1.0.2" define-properties "^1.1.3" +object-is@^1.0.1: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -14462,18 +14461,18 @@ ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: hash-base "^3.0.0" inherits "^2.0.1" -ripple-address-codec@^4.1.1, ripple-address-codec@^4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.2.5.tgz#9d31b2066abd4cf1a135cd865b4e8e63269701e7" - integrity sha512-SZ96zZH+0REeyEcYVFl0vqcsGRXiFXS2RUgHupHhtVkOEk6men53vngVjJwBrSnY+oa6Cri15q1zSni3DEoxNw== +ripple-address-codec@^4.2.4: + version "4.2.4" + resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.2.4.tgz#a56c2168c8bb81269ea4d15ed96d6824c5a866f8" + integrity sha512-roAOjKz94+FboTItey1XRh5qynwt4xvfBLvbbcx+FiR94Yw2x3LrKLF2GVCMCSAh5I6PkcpADg6AbYsUbGN3nA== dependencies: base-x "^3.0.9" create-hash "^1.1.2" -ripple-binary-codec@^1.1.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.4.3.tgz#4737044f2aa5da496c1d57619339f26df01cd494" - integrity sha512-P4ALjAJWBJpRApTQO+dJCrHE6mZxm7ypZot9OS0a3RCKOWTReNw0pDWfdhCGh1qXh71TeQnAk4CHdMLwR/76oQ== +ripple-binary-codec@^1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.4.2.tgz#cdc35353e4bc7c3a704719247c82b4c4d0b57dd3" + integrity sha512-EDKIyZMa/6Ay/oNgCwjD9b9CJv0zmBreeHVQeG4BYwy+9GPnIQjNeT5e/aB6OjAnhcmpgbPeBmzwmNVwzxlt0w== dependencies: assert "^2.0.0" big-integer "^1.6.48" @@ -14482,10 +14481,10 @@ ripple-binary-codec@^1.1.3: decimal.js "^10.2.0" ripple-address-codec "^4.2.5" -ripple-keypairs@^1.0.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.1.5.tgz#eabfc371f2ef293fdc462664e18cbba32c4f5c7e" - integrity sha512-wLJXIBsMVazn2Yp/7oP4PvgA4Gd1HtuZLftdEJFNOLgraf82phqa2AnNK3t9f3XeQnApW1jAe/FcFFOY6QUn5w== +ripple-keypairs@^1.1.4: + version "1.1.4" + resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.1.4.tgz#4486fca703b8a2fc4f30cfd568478f3d12c1a911" + integrity sha512-PMMjTOxZmCSBOvHPj6bA+V/HGx7oFgDtGGI8VcZYuaFO2H87UX0X0jhfHy+LA2Xy31WYlD7GaDIDDt2QO+AMtw== dependencies: bn.js "^5.1.1" brorand "^1.0.5" @@ -14493,32 +14492,7 @@ ripple-keypairs@^1.0.3: hash.js "^1.0.3" ripple-address-codec "^4.2.5" -ripple-lib-transactionparser@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/ripple-lib-transactionparser/-/ripple-lib-transactionparser-0.8.2.tgz#7aaad3ba1e1aeee1d5bcff32334a7a838f834dce" - integrity sha512-1teosQLjYHLyOQrKUQfYyMjDR3MAq/Ga+MJuLUfpBMypl4LZB4bEoMcmG99/+WVTEiZOezJmH9iCSvm/MyxD+g== - dependencies: - bignumber.js "^9.0.0" - lodash "^4.17.15" - -ripple-lib@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/ripple-lib/-/ripple-lib-1.10.1.tgz#9c353702792b25465cdb269265d6f5bb27b1471b" - integrity sha512-OQk+Syl2JfxKxV2KuF/kBMtnh012I5tNnziP3G4WDGCGSIAgeqkOgkR59IQ0YDNrs1YW8GbApxrdMSRi/QClcA== - dependencies: - "@types/lodash" "^4.14.136" - "@types/ws" "^7.2.0" - bignumber.js "^9.0.0" - https-proxy-agent "^5.0.0" - jsonschema "1.2.2" - lodash "^4.17.4" - ripple-address-codec "^4.1.1" - ripple-binary-codec "^1.1.3" - ripple-keypairs "^1.0.3" - ripple-lib-transactionparser "0.8.2" - ws "^7.2.0" - -rlp@^2.0.0, rlp@^2.2.3, rlp@^2.2.4: +rlp@^2.2.3, rlp@^2.2.4: version "2.2.7" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== @@ -15735,6 +15709,17 @@ tiny-secp256k1@^1.1.3, tiny-secp256k1@^1.1.6: elliptic "^6.4.0" nan "^2.13.2" +tiny-secp256k1@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz#7e224d2bee8ab8283f284e40e6b4acb74ffe047c" + integrity sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA== + dependencies: + bindings "^1.3.0" + bn.js "^4.11.8" + create-hmac "^1.1.7" + elliptic "^6.4.0" + nan "^2.13.2" + tiny-typed-emitter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz#b3b027fdd389ff81a152c8e847ee2f5be9fad7b5" @@ -17064,6 +17049,13 @@ wif@^2.0.6: dependencies: bs58check "<3.0.0" +wif@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" + integrity sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ== + dependencies: + bs58check "<3.0.0" + winston-daily-rotate-file@^4.5.5: version "4.7.1" resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-4.7.1.tgz#f60a643af87f8867f23170d8cd87dbe3603a625f" @@ -17192,6 +17184,16 @@ ws@~8.11.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== +ws@^8.2.2: + version "8.12.1" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f" + integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew== + +xdg-basedir@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" + integrity sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ== + xhr-request-promise@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" @@ -17275,6 +17277,21 @@ xmlhttprequest@1.8.0: resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== +xrpl@^2.5.0: + version "2.6.0" + resolved "https://registry.yarnpkg.com/xrpl/-/xrpl-2.6.0.tgz#cfe9bc012e85721213f7f0e373ce5ff1d27e38c4" + integrity sha512-++rKtgO1j65TMm//mird3aGFGFYUn7VP9TjxwJkTUQZOdWkMUfiG2cd2o3tZ/zE07Ev8YVD09KgMZ9HzynJN9Q== + dependencies: + bignumber.js "^9.0.0" + bip32 "^2.0.6" + bip39 "^3.0.4" + https-proxy-agent "^5.0.0" + lodash "^4.17.4" + ripple-address-codec "^4.2.4" + ripple-binary-codec "^1.4.2" + ripple-keypairs "^1.1.4" + ws "^8.2.2" + xss@^1.0.8: version "1.0.14" resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" From 8ed27ad4c65e0df46edef715d52d377e0872228f Mon Sep 17 00:00:00 2001 From: La Hoang Date: Tue, 28 Feb 2023 01:17:00 +0700 Subject: [PATCH 03/67] add unified clob swagger schema --- docs/swagger/clob-beta.yml | 1410 ++++++++++++++++++++++++++++++++++++ 1 file changed, 1410 insertions(+) create mode 100644 docs/swagger/clob-beta.yml diff --git a/docs/swagger/clob-beta.yml b/docs/swagger/clob-beta.yml new file mode 100644 index 0000000000..c9f9861767 --- /dev/null +++ b/docs/swagger/clob-beta.yml @@ -0,0 +1,1410 @@ +swagger: '2.0' +# TODO: Please verify if all clob-beta routes are compatible with Serum, if not please mark them and propose new changes +# TODO: Once the schema is final, move paths to clob-routes.yml and Merge definitions to definitions.yml + +info: + description: 'Gateway allows clients to interoperate with blockchains and DeFi protocols via a REST API. This allows for a language agnostic way to use official SDKs for blockchains.' + version: '1.0.0' + title: 'gateway' + contact: + email: 'dev@hummingbot.io' + license: + name: 'Apache 2.0' + url: 'http://www.apache.org/licenses/LICENSE-2.0.html' + +host: 'localhost:15888' + +tags: + - name: 'clob-beta' + description: 'Interact with CLOB decentralized exchanges (BETA)' + +schemes: + - 'http' + +externalDocs: + description: 'Find out more about gateway' + url: 'https://github.com/hummingbot/hummingbot' + + +paths: + /clob-beta: + get: + tags: + - 'clob-beta' + summary: 'Verify Clob Routes Status' + description: 'Verify if the Clob routes are ready to use and show some other useful information. ' + operationId: 'clob.root' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBRootRequest' + + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBRootResponse' + + /clob-beta/markets: + get: + tags: + - 'clob-beta' + summary: 'Get One or More Markets' + description: 'Get the information of one, several or all available markets. Depending on the connector kind, response body might be different.' + operationId: 'clob.markets' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBGetMarketsRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBGetMarketsResponse' + '404': + description: 'Not found response.' + + /clob-beta/orderBooks: + get: + tags: + - 'clob-beta' + summary: 'Get One or More Order Books' + description: 'Get the information of one, several or all available order books. Depending on the connector kind, response body might be different.' + operationId: 'clob.orderBooks' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBGetOrderBooksRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBGetOrderBooksResponse' + '404': + description: 'Not found response.' + + /clob-beta/tickers: + get: + tags: + - 'clob-beta' + summary: 'Get middle price ticker for requested market' + operationId: 'tickers' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBGetTickersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBGetTickersResponse' + '404': + description: 'Not found response.' + + /clob-beta/orders: + get: + tags: + - 'clob-beta' + summary: 'Get status details of one or more orders' + operationId: 'getOrders' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBGetOrdersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBGetOrdersResponse' + '404': + description: 'Not found response.' + post: + tags: + - 'clob-beta' + summary: 'Create one or more orders' + description: 'Create one or more orders.' + operationId: 'createOrders' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBPostCreateOrdersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBPostCreateOrdersResponse' + '400': + description: 'Bad request response.' + delete: + tags: + - 'clob-beta' + summary: 'Cancel one or more orders' + description: 'Cancel one or more orders.' + operationId: 'cancelOrders' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBDeleteOrdersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBDeleteOrdersResponse' + '400': + description: 'Bad request response.' + + /clob-beta/orders/open: + get: + tags: + - 'clob-beta' + summary: 'Get One Or More Open Orders' + description: 'Get the information of one, several or all open orders.' + operationId: 'clob.getOpenOrders' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBGetOpenOrdersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBGetOpenOrdersResponse' + '400': + description: 'Bad request response.' + '404': + description: 'Not found response.' + + /clob-beta/orders/filled: + get: + tags: + - 'clob-beta' + summary: 'Get One Or More Filled Orders' + description: 'Get the information of one, several or all filled orders.' + operationId: 'clob.getFilledOrders' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBGetFilledOrdersRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBGetFilledOrdersResponse' + '400': + description: 'Bad request response.' + '404': + description: 'Not found response.' + + /clob-beta/settleFunds: + get: + tags: + - 'clob-beta' + summary: 'Settle Funds of One or More Markets' + description: 'Settle funds of one, several or all markets.' + operationId: 'clob.settleFunds' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + description: 'Request body.' + required: true + schema: + $ref: '#/definitions/CLOBPostSettleFundsRequest' + responses: + '200': + description: 'Successful response.' + schema: + $ref: '#/definitions/CLOBPostSettleFundsResponse' + '400': + description: 'Bad request response.' + '404': + description: 'Not found response.' + + +definitions: + CLOBRootRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + CLOBRootResponse: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'connection' + - 'timestamp' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + connection: + type: boolean + example: true + timestamp: + type: number + example: 1652304454740 + + CLOBGetMarketsRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + name: + type: string + example: 'SOL/USDT' + names: + type: array + items: + type: string + example: + - 'SOL/USDT' + - 'SOL/USDC' + CLOBGetMarketsResponseItemCommon: + type: object + properties: + name: + type: string + example: SOL/USDT + deprecated: + type: boolean + example: false + minimumOrderSize: + type: number + example: 0.1 + tickSize: + type: number + example: 0.001 + minimumBaseIncrement: + type: string + example: 100000000 + CLOBGetMarketsResponseItemSerum: + type: object + allOf: + - type: object + - $ref: '#/definitions/CLOBGetMarketsResponseItemCommon' + properties: + address: + type: string + example: HWHvQhFmJB3NUcu1aihKmrKegfVxBEHzwVX6yZCKEsi1 + programId: + type: string + example: 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin + CLOBGetMarketrResponseItemXRPLDEX: + type: object + allOf: + - type: object + - $ref: '#/definitions/CLOBGetMarketsResponseItemCommon' + properties: + name: + type: string + example: USD.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx/VND.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx + baseTransferRate: + type: number + example: 0.1 + quoteTransferRate: + type: number + example: 0.1 + CLOBGetMarketsResponse: + type: object + properties: + SOL/USDC: + $ref: '#/definitions/CLOBGetMarketsResponseItemSerum' + "USD.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx/VND.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx": + $ref: '#/definitions/CLOBGetMarketrResponseItemXRPLDEX' + + CLOBGetOrderBooksRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + marketName: + type: string + example: 'SOL/USDT' + marketNames: + type: array + items: + type: string + example: + - 'SOL/USDT' + - 'SOL/USDC' + CLOBGetOrderBooksResponseItemCommon: + type: object + properties: + market: + type: object + asks: + type: array + bids: + type: array + CLOBGetOrderBooksResponseItemSerum: + type: object + allOf: + - type: object + - $ref: '#/definitions/CLOBGetOrderBooksResponseItemCommon' + properties: + market: + type: object + $ref: '#/definitions/CLOBGetMarketsResponseItemSerum' + bids: + type: array + items: + type: object + $ref: '#/definitions/CLOBGetOrderBooksResponseOrderBidItemCommon' + asks: + type: array + items: + type: object + $ref: '#/definitions/CLOBGetOrderBooksResponseOrderAskItemCommon' + CLOBGetOrderBooksResponseItemXRPLDEX: + type: object + allOf: + - type: object + - $ref: '#/definitions/CLOBGetOrderBooksResponseItemCommon' + properties: + market: + type: object + $ref: '#/definitions/CLOBGetMarketrResponseItemXRPLDEX' + bids: + type: array + items: + type: object + $ref: '#/definitions/CLOBGetOrderBooksResponseOrderBidItemCommon' + asks: + type: array + items: + type: object + $ref: '#/definitions/CLOBGetOrderBooksResponseOrderAskItemCommon' + topAsk: + type: number + example: 25000 + topBid: + type: number + example: 24000 + midPrice: + type: number + example: 24500 + timestamp: + type: number + example: 1676296168012 + CLOBGetOrderBooksResponseOrderBidItemCommon: + type: object + properties: + id: + type: string + example: 35332426 + marketName: + type: string + example: SOL/USDT + ownerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + price: + type: number + example: 250 + amount: + type: number + example: 0.1 + side: + type: string + example: BUY + status: + type: string + example: OPEN + 'type': + type: string + example: LIMIT + CLOBGetOrderBooksResponseOrderAskItemCommon: + type: object + properties: + id: + type: string + example: 35332426 + marketName: + type: string + example: SOL/USDT + ownerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + price: + type: number + example: 250 + amount: + type: number + example: 0.1 + side: + type: string + example: SELL + status: + type: string + example: OPEN + 'type': + type: string + example: LIMIT + CLOBGetOrderBooksResponse: + type: object + properties: + SOL/USDC: + $ref: '#/definitions/CLOBGetOrderBooksResponseItemSerum' + "USD.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx/VND.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx": + $ref: '#/definitions/CLOBGetOrderBooksResponseItemXRPLDEX' + + CLOBGetTickersRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + marketName: + type: string + example: 'SOL/USDT' + marketNames: + type: array + items: + type: string + example: + - 'SOL/USDT' + - 'SOL/USDC' + CLOBGetTickersResponseItem: + type: object + properties: + price: + type: number + example: 43.37523838 + timestamp: + type: number + example: 1652363040000 + CLOBGetTickersResponse: + type: object + properties: + SOL/USDT: + $ref: '#/definitions/CLOBGetTickersResponseItem' + SOL/USDC: + $ref: '#/definitions/CLOBGetTickersResponseItem' + + CLOBGetOrdersRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + order: + type: object + required: + - 'ownerAddress' + properties: + id: + type: string + example: 123456789 + exchangeId: + type: string + example: 184467256269654779094895731 + marketName: + type: string + example: SOL/USDT + ownerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + orders: + type: array + items: + type: object + required: + - 'ownerAddress' + properties: + ids: + type: array + items: + type: string + exchangeIds: + type: array + items: + type: string + marketName: + type: string + ownerAddress: + type: string + example: + - ids: ["123456789"] + exchangeIds: ["184467256269654779094895731"] + marketName: SOL/USDT + ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + - ids: ["123456789"] + exchangeIds: ["184467256269654779094895731"] + marketName: SOL/USDC + ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + - ids: ["1112234"] + exchangeIds: ["33485803"] + marketName: XRP/USDT + ownerAddress: r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV + CLOBGetOrdersResponseItemCommon: + type: 'object' + properties: + id: + type: string + exchangeId: + type: string + marketName: + type: string + ownderAddress: + type: string + side: + type: string + price: + type: number + amount: + type: number + type: + type: string + status: + type: string + fee: + type: number + example: + id: "123456789" + exchangeId: "184467256269654779094895731" + marketName: "SOL/USDT" + ownderAddress: "2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa" + side: "BUY" + price: 999.99 + amount: 0.1 + type: "LIMIT" + status: "OPEN" + fee: 0.1 + CLOBGetOrdersResponseItemXRPLDEX: + type: 'object' + allOf: + - type: object + - $ref: '#/definitions/CLOBGetOrdersResponseItemCommon' + properties: + signature: + type: string + transactionResult: + type: string + orderLedgerIndex: + type: string + example: + id: "1112234" + exchangeId: "33485803" + marketName: "XRP/USDT" + ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" + side: "BUY" + price: 999.99 + amount: 0.1 + type: "LIMIT" + status: "OPEN" + signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" + transactionResult: "tesSUCCESS" + orderLedgerIndex: "35357471" + CLOBGetOrdersResponse: + type: object + properties: + SOL/USDC: + type: object + properties: + "123456789": + $ref: '#/definitions/CLOBGetOrdersResponseItemCommon' + + SOL/USDT: + type: object + properties: + "123456789": + $ref: '#/definitions/CLOBGetOrdersResponseItemCommon' + + XRP/USDT: + type: object + properties: + "1112234": + $ref: '#/definitions/CLOBGetOrdersResponseItemXRPLDEX' + + CLOBPostCreateOrdersRequestCommon: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + order: + type: object + required: + - 'id' + - 'ownerAddress' + - 'marketName' + - 'side' + - 'price' + - 'amount' + - 'type' + properties: + id: + type: string + example: 123456789 + marketName: + type: string + example: SOL/USDT + ownerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + side: + type: string + example: BUY + price: + type: number + example: 9999.9 + amount: + type: number + example: 0.1 + type: + type: string + example: LIMIT + orders: + type: array + items: + type: object + required: + - 'id' + - 'ownerAddress' + - 'marketName' + - 'side' + - 'price' + - 'amount' + - 'type' + properties: + id: + type: string + example: 123456789 + marketName: + type: string + example: SOL/USDT + ownerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + side: + type: string + example: BUY + price: + type: number + example: 9999.9 + amount: + type: number + example: 0.1 + type: + type: string + example: LIMIT + CLOBPostCreateOrdersRequestSerum: + type: object + allOf: + - type: object + - $ref: '#/definitions/CLOBPostCreateOrdersRequestCommon' + properties: + order: + type: object + properties: + payerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + orders: + type: array + items: + type: object + properties: + payerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + CLOBPostCreateOrdersRequestXRPLDEX: + type: object + allOf: + - type: object + - $ref: '#/definitions/CLOBPostCreateOrdersRequestCommon' + properties: + waitUntilIncludedInBlock: + type: boolean + example: true + CLOBPostCreateOrdersRequest: + type: object + allOf: + - type: object + - $ref: '#/definitions/CLOBPostCreateOrdersRequestSerum' + - $ref: '#/definitions/CLOBPostCreateOrdersRequestXRPLDEX' + CLOBPostCreateOrdersResponseItemCommon: + type: object + properties: + id: + type: string + example: 123456789 + exchangeId: + type: string + example: 184467256269654779094895731 + marketName: + type: string + example: SOL/USDT + ownerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + price: + type: number + example: 250 + amount: + type: number + example: 0.1 + side: + type: string + example: BUY + status: + type: string + example: OPEN + type: + type: string + example: LIMIT + fee: + type: number + example: 0.1 + CLOBPostCreateOrdersResponseItemXRPLDEX: + type: object + allOf: + - type: object + - $ref: '#/definitions/CLOBPostCreateOrdersResponseItemCommon' + properties: + signature: + type: string + example: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" + transactionResult: + type: string + example: "tesSUCCESS" + orderLedgerIndex: + type: string + example: "35357471" + CLOBPostCreateOrdersResponse: + type: object + properties: + "123456789": + $ref: '#/definitions/CLOBPostCreateOrdersResponseItemCommon' + "1112234": + type: object + allOf: + - $ref: '#/definitions/CLOBPostCreateOrdersResponseItemXRPLDEX' + example: + id: "1112234" + exchangeId: "33485803" + marketName: "XRP/USDT" + ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" + side: "BUY" + price: 999.99 + amount: 0.1 + type: "LIMIT" + status: "OPEN" + signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" + transactionResult: "tesSUCCESS" + orderLedgerIndex: "35357471" + + CLOBDeleteOrdersRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + order: + type: object + required: + - 'ownerAddress' + properties: + id: + type: string + example: 123456789 + exchangeId: + type: string + example: 184467256269654779094895731 + marketName: + type: string + example: SOL/USDT + ownerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + orders: + type: array + items: + type: object + required: + - 'ownerAddress' + properties: + ids: + type: array + items: + type: string + exchangeIds: + type: array + items: + type: string + marketName: + type: string + ownerAddress: + type: string + example: + - ids: ["123456789", "123456789"] + exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] + marketName: SOL/USDT + ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + - ids: ["123456789", "123456789"] + exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] + marketName: SOL/USDC + ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + - ids: ["1112234"] + exchangeIds: ["33485803"] + marketName: XRP/USDT + ownerAddress: r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV + CLOBDeleteOrdersResponseItemCommon: + type: 'object' + properties: + id: + type: string + exchangeId: + type: string + marketName: + type: string + ownderAddress: + type: string + side: + type: string + price: + type: number + amount: + type: number + type: + type: string + status: + type: string + fee: + type: number + example: + id: "123456789" + exchangeId: "184467256269654779094895731" + marketName: "SOL/USDT" + ownderAddress: "2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa" + side: "BUY" + price: 999.99 + amount: 0.1 + type: "LIMIT" + status: "CANCELED" + fee: 0.1 + CLOBDeleteOrdersResponseItemXRPLDEX: + type: 'object' + allOf: + - type: object + - $ref: '#/definitions/CLOBDeleteOrdersResponseItemCommon' + properties: + signature: + type: string + transactionResult: + type: string + orderLedgerIndex: + type: string + example: + id: "1112234" + exchangeId: "33485803" + marketName: "XRP/USDT" + ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" + side: "BUY" + price: 999.99 + amount: 0.1 + type: "LIMIT" + status: "CANCELED" + signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" + transactionResult: "tesSUCCESS" + orderLedgerIndex: "35357471" + CLOBDeleteOrdersResponse: + type: object + properties: + SOL/USDC: + type: object + properties: + "123456789": + $ref: '#/definitions/CLOBDeleteOrdersResponseItemCommon' + + SOL/USDT: + type: object + properties: + "123456789": + $ref: '#/definitions/CLOBDeleteOrdersResponseItemCommon' + + XRP/USDT: + type: object + properties: + "33485803": + $ref: '#/definitions/CLOBDeleteOrdersResponseItemXRPLDEX' + + CLOBGetOpenOrdersRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + order: + type: object + required: + - 'ownerAddress' + properties: + id: + type: string + example: 123456789 + exchangeId: + type: string + example: 184467256269654779094895731 + marketName: + type: string + example: SOL/USDT + ownerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + orders: + type: array + items: + type: object + required: + - 'ownerAddress' + properties: + ids: + type: array + items: + type: string + exchangeIds: + type: array + items: + type: string + marketName: + type: string + ownerAddress: + type: string + example: + - ids: ["123456789", "987654321"] + exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] + marketName: SOL/USDT + ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + - ids: ["123456789", "987654321"] + exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] + marketName: SOL/USDC + ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + - ids: ["1112234", "6783991"] + exchangeIds: ["33485803", "33485000"] + marketName: XRP/USDT + ownerAddress: r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV + CLOBGetOpenOrdersResponseItemCommon: + type: 'object' + properties: + id: + type: string + exchangeId: + type: string + marketName: + type: string + ownderAddress: + type: string + side: + type: string + price: + type: number + amount: + type: number + type: + type: string + status: + type: string + fee: + type: number + example: + id: "123456789" + exchangeId: "184467256269654779094895731" + marketName: "SOL/USDT" + ownderAddress: "2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa" + side: "BUY" + price: 999.99 + amount: 0.1 + type: "LIMIT" + status: "OPEN" + fee: 0.1 + CLOBGetOpenOrdersResponseItemXRPLDEX: + type: 'object' + allOf: + - type: object + - $ref: '#/definitions/CLOBGetOpenOrdersResponseItemCommon' + properties: + signature: + type: string + transactionResult: + type: string + orderLedgerIndex: + type: string + example: + id: "1112234" + exchangeId: "33485803" + marketName: "XRP/USDT" + ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" + side: "BUY" + price: 999.99 + amount: 0.1 + type: "LIMIT" + status: "OPEN" + signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" + transactionResult: "tesSUCCESS" + orderLedgerIndex: "35357471" + CLOBGetOpenOrdersResponse: + type: object + properties: + SOL/USDC: + type: object + properties: + "123456789": + $ref: '#/definitions/CLOBGetOpenOrdersResponseItemCommon' + + SOL/USDT: + type: object + properties: + "123456789": + $ref: '#/definitions/CLOBGetOpenOrdersResponseItemCommon' + + XRP/USDT: + type: object + properties: + "1112234": + $ref: '#/definitions/CLOBGetOpenOrdersResponseItemXRPLDEX' + + CLOBGetFilledOrdersRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + order: + type: object + required: + - 'ownerAddress' + properties: + id: + type: string + example: 123456789 + exchangeId: + type: string + example: 184467256269654779094895731 + marketName: + type: string + example: SOL/USDT + ownerAddress: + type: string + example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + orders: + type: array + items: + type: object + required: + - 'ownerAddress' + properties: + ids: + type: array + items: + type: string + exchangeIds: + type: array + items: + type: string + marketName: + type: string + ownerAddress: + type: string + example: + - ids: ["123456789", "987654321"] + exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] + marketName: SOL/USDT + ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + - ids: ["123456789", "987654321"] + exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] + marketName: SOL/USDC + ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa + - ids: ["1112234", "6783991"] + exchangeIds: ["33485803", "33485000"] + marketName: XRP/USDT + ownerAddress: r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV + CLOBGetFilledOrdersResponseItemCommon: + type: 'object' + properties: + id: + type: string + exchangeId: + type: string + marketName: + type: string + ownderAddress: + type: string + side: + type: string + price: + type: number + amount: + type: number + type: + type: string + status: + type: string + fee: + type: number + example: + id: "123456789" + exchangeId: "184467256269654779094895731" + marketName: "SOL/USDT" + ownderAddress: "2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa" + side: "BUY" + price: 999.99 + amount: 0.1 + type: "LIMIT" + status: "FILLED" + fee: 0.1 + CLOBGetFilledOrdersResponseItemXRPLDEX: + type: 'object' + allOf: + - type: object + - $ref: '#/definitions/CLOBGetFilledOrdersResponseItemCommon' + properties: + signature: + type: string + transactionResult: + type: string + orderLedgerIndex: + type: string + example: + id: "1112234" + exchangeId: "33485803" + marketName: "XRP/USDT" + ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" + side: "BUY" + price: 999.99 + amount: 0.1 + type: "LIMIT" + status: "FILLED" + signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" + transactionResult: "tesSUCCESS" + orderLedgerIndex: "35357471" + CLOBGetFilledOrdersResponse: + type: object + properties: + SOL/USDC: + type: object + properties: + "123456789": + $ref: '#/definitions/CLOBGetFilledOrdersResponseItemCommon' + + SOL/USDT: + type: object + properties: + "123456789": + $ref: '#/definitions/CLOBGetFilledOrdersResponseItemCommon' + + XRP/USDT: + type: object + properties: + "1112234": + $ref: '#/definitions/CLOBGetFilledOrdersResponseItemXRPLDEX' + + CLOBPostSettleFundsRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'ownerAddress' + properties: + chain: + type: string + example: solana + network: + type: string + example: mainnet-beta + connector: + type: string + example: serum + marketName: + type: string + example: SOL/USDT + marketNames: + type: array + items: + type: string + example: + - SOL/USDT + - BTC/USDT + CLOBPostSettleFundsResponse: + type: object + properties: + SOL/USDT: + type: array + items: + type: string + example: + - 4vAstoT7dgJ3LaexYRQbJ4HwbV8vPaMEUWVP3o89oq4vJcn9E11LJHyEpoc3sZ4dxmAtZGU7YyRS1uR36wuUEQMK + BTC/USDT: + type: array + items: + type: string + example: + - 4vAstoT7dgJ3LaexYRQbJ4HwbV8vPaMEUWVP3o89oq4vJcn9E11LJHyEpoc3sZ4dxmAtZGU7YyRS1uR36wuUEQMK From f01cf296eaa934c95b9fd3c5d3ee1209f7e4bc10 Mon Sep 17 00:00:00 2001 From: La Hoang Date: Wed, 1 Mar 2023 22:44:31 +0700 Subject: [PATCH 04/67] Fix swagger missing field error for get orderbook --- docs/swagger/clob-beta.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/docs/swagger/clob-beta.yml b/docs/swagger/clob-beta.yml index c9f9861767..ded2ed7a35 100644 --- a/docs/swagger/clob-beta.yml +++ b/docs/swagger/clob-beta.yml @@ -441,8 +441,14 @@ definitions: type: object asks: type: array + items: + type: object + $ref: '#/definitions/CLOBGetOrderBooksResponseOrderAskItemCommon' bids: type: array + items: + type: object + $ref: '#/definitions/CLOBGetOrderBooksResponseOrderBidItemCommon' CLOBGetOrderBooksResponseItemSerum: type: object allOf: From 14d0e874938ab48d58dd33dafe3ce07cd984fc17 Mon Sep 17 00:00:00 2001 From: mlguys Date: Fri, 24 Mar 2023 19:30:58 +0700 Subject: [PATCH 05/67] update yarn lock --- yarn.lock | 131 ++++++++++++++++++++++++++++++++++++------------------ 1 file changed, 87 insertions(+), 44 deletions(-) diff --git a/yarn.lock b/yarn.lock index f1bb96ea7c..403f81e100 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6199,6 +6199,11 @@ assert@^2.0.0: object-is "^1.0.1" util "^0.12.0" +assertion-error@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" + integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== + assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -6458,6 +6463,16 @@ bech32@1.1.4, bech32@^1.1.4: resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== +bech32@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" + integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== + +big-integer@1.6.36: + version "1.6.36" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.36.tgz#78631076265d4ae3555c04f85e7d9d2f3a071a36" + integrity sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg== + big-integer@^1.6.48: version "1.6.51" resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" @@ -6548,6 +6563,13 @@ bip39@^2.5.0: safe-buffer "^5.0.1" unorm "^1.3.3" +bip39@^3.0.2, bip39@^3.0.3: + version "3.1.0" + resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" + integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== + dependencies: + "@noble/hashes" "^1.2.0" + bip39@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" @@ -6827,7 +6849,14 @@ bs58@^4.0.0, bs58@^4.0.1: dependencies: base-x "^3.0.2" -bs58check@<3.0.0, bs58check@^2.1.1, bs58check@^2.1.2: +bs58@^5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" + integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== + dependencies: + base-x "^4.0.0" + +bs58check@2.1.2, bs58check@<3.0.0, bs58check@^2.1.1, bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== @@ -6897,15 +6926,7 @@ buffer@6.0.1: base64-js "^1.3.1" ieee754 "^1.2.1" -buffer@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - -buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: +buffer@^5.0.5, buffer@^5.1.0, buffer@^5.2.1, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== @@ -7780,7 +7801,7 @@ decimal.js-light@^2.5.0, decimal.js-light@^2.5.1: resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== -decimal.js@^10.2.0: +decimal.js@^10.2.0, decimal.js@^10.4.3: version "10.4.3" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== @@ -8405,7 +8426,7 @@ es6-object-assign@^1.1.0: resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw== -es6-promise@^4.2.8: +es6-promise@4.2.8, es6-promise@^4.0.3, es6-promise@^4.2.8: version "4.2.8" resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== @@ -10275,6 +10296,14 @@ http-status-codes@^2.2.0: resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.2.0.tgz#bb2efe63d941dfc2be18e15f703da525169622be" integrity sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng== +http2-wrapper@^1.0.0-beta.5.2: + version "1.0.3" + resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" + integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== + dependencies: + quick-lru "^5.1.1" + resolve-alpn "^1.0.0" + http2-wrapper@^2.1.10: version "2.2.0" resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.0.tgz#b80ad199d216b7d3680195077bd7b9060fa9d7f3" @@ -12998,14 +13027,6 @@ object-is@^1.0.1: call-bind "^1.0.2" define-properties "^1.1.3" -object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -14461,6 +14482,14 @@ ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: hash-base "^3.0.0" inherits "^2.0.1" +ripple-address-codec@^4.1.1, ripple-address-codec@^4.2.5: + version "4.2.5" + resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.2.5.tgz#9d31b2066abd4cf1a135cd865b4e8e63269701e7" + integrity sha512-SZ96zZH+0REeyEcYVFl0vqcsGRXiFXS2RUgHupHhtVkOEk6men53vngVjJwBrSnY+oa6Cri15q1zSni3DEoxNw== + dependencies: + base-x "^3.0.9" + create-hash "^1.1.2" + ripple-address-codec@^4.2.4: version "4.2.4" resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.2.4.tgz#a56c2168c8bb81269ea4d15ed96d6824c5a866f8" @@ -14469,6 +14498,18 @@ ripple-address-codec@^4.2.4: base-x "^3.0.9" create-hash "^1.1.2" +ripple-binary-codec@^1.1.3: + version "1.4.3" + resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.4.3.tgz#4737044f2aa5da496c1d57619339f26df01cd494" + integrity sha512-P4ALjAJWBJpRApTQO+dJCrHE6mZxm7ypZot9OS0a3RCKOWTReNw0pDWfdhCGh1qXh71TeQnAk4CHdMLwR/76oQ== + dependencies: + assert "^2.0.0" + big-integer "^1.6.48" + buffer "5.6.0" + create-hash "^1.2.0" + decimal.js "^10.2.0" + ripple-address-codec "^4.2.5" + ripple-binary-codec@^1.4.2: version "1.4.2" resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.4.2.tgz#cdc35353e4bc7c3a704719247c82b4c4d0b57dd3" @@ -14492,7 +14533,32 @@ ripple-keypairs@^1.1.4: hash.js "^1.0.3" ripple-address-codec "^4.2.5" -rlp@^2.2.3, rlp@^2.2.4: +ripple-lib-transactionparser@0.8.2: + version "0.8.2" + resolved "https://registry.yarnpkg.com/ripple-lib-transactionparser/-/ripple-lib-transactionparser-0.8.2.tgz#7aaad3ba1e1aeee1d5bcff32334a7a838f834dce" + integrity sha512-1teosQLjYHLyOQrKUQfYyMjDR3MAq/Ga+MJuLUfpBMypl4LZB4bEoMcmG99/+WVTEiZOezJmH9iCSvm/MyxD+g== + dependencies: + bignumber.js "^9.0.0" + lodash "^4.17.15" + +ripple-lib@^1.10.1: + version "1.10.1" + resolved "https://registry.yarnpkg.com/ripple-lib/-/ripple-lib-1.10.1.tgz#9c353702792b25465cdb269265d6f5bb27b1471b" + integrity sha512-OQk+Syl2JfxKxV2KuF/kBMtnh012I5tNnziP3G4WDGCGSIAgeqkOgkR59IQ0YDNrs1YW8GbApxrdMSRi/QClcA== + dependencies: + "@types/lodash" "^4.14.136" + "@types/ws" "^7.2.0" + bignumber.js "^9.0.0" + https-proxy-agent "^5.0.0" + jsonschema "1.2.2" + lodash "^4.17.4" + ripple-address-codec "^4.1.1" + ripple-binary-codec "^1.1.3" + ripple-keypairs "^1.0.3" + ripple-lib-transactionparser "0.8.2" + ws "^7.2.0" + +rlp@^2.0.0, rlp@^2.2.3, rlp@^2.2.4: version "2.2.7" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== @@ -15709,17 +15775,6 @@ tiny-secp256k1@^1.1.3, tiny-secp256k1@^1.1.6: elliptic "^6.4.0" nan "^2.13.2" -tiny-secp256k1@^1.1.3: - version "1.1.6" - resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz#7e224d2bee8ab8283f284e40e6b4acb74ffe047c" - integrity sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA== - dependencies: - bindings "^1.3.0" - bn.js "^4.11.8" - create-hmac "^1.1.7" - elliptic "^6.4.0" - nan "^2.13.2" - tiny-typed-emitter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz#b3b027fdd389ff81a152c8e847ee2f5be9fad7b5" @@ -17049,13 +17104,6 @@ wif@^2.0.6: dependencies: bs58check "<3.0.0" -wif@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" - integrity sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ== - dependencies: - bs58check "<3.0.0" - winston-daily-rotate-file@^4.5.5: version "4.7.1" resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-4.7.1.tgz#f60a643af87f8867f23170d8cd87dbe3603a625f" @@ -17184,11 +17232,6 @@ ws@~8.11.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== -ws@^8.2.2: - version "8.12.1" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.1.tgz#c51e583d79140b5e42e39be48c934131942d4a8f" - integrity sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew== - xdg-basedir@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" From b0a0bc105be0bff0faa33f13dc39fb5f151bf8b9 Mon Sep 17 00:00:00 2001 From: mlguys Date: Thu, 1 Jun 2023 16:46:50 +0700 Subject: [PATCH 06/67] wip --- src/chains/xrpl/xrpl.config.ts | 6 + src/chains/xrpl/xrpl.order-storage.ts | 84 ++++ src/chains/xrpl/xrpl.ts | 57 +++ src/connectors/xrpl/xrpl.clob.config.ts | 0 src/connectors/xrpl/xrpl.order-tracker.ts | 91 ++++ src/connectors/xrpl/xrpl.ts | 537 ++++++++++++++++++++++ src/connectors/xrpl/xrpl.types.ts | 219 +++++++++ 7 files changed, 994 insertions(+) create mode 100644 src/chains/xrpl/xrpl.order-storage.ts create mode 100644 src/connectors/xrpl/xrpl.clob.config.ts create mode 100644 src/connectors/xrpl/xrpl.order-tracker.ts create mode 100644 src/connectors/xrpl/xrpl.ts create mode 100644 src/connectors/xrpl/xrpl.types.ts diff --git a/src/chains/xrpl/xrpl.config.ts b/src/chains/xrpl/xrpl.config.ts index 42c4f83ab9..0ef86b030e 100644 --- a/src/chains/xrpl/xrpl.config.ts +++ b/src/chains/xrpl/xrpl.config.ts @@ -6,6 +6,7 @@ export interface NetworkConfig { tokenListType: string; // default: FILE tokenListSource: string; // default: src/chains/xrpl/xrpl_tokens.json nativeCurrencySymbol: string; // XRP + maxLRUCacheInstances: number; } export interface Config { @@ -15,6 +16,7 @@ export interface Config { connectionTimeout: number; // default: 5 feeCushion: number; // default: 1.2 maxFeeXRP: string; // default: 2 + orderDbPath: string; } // @todo: find out which configs are required @@ -35,6 +37,9 @@ export function getXRPLConfig(chainName: string, networkName: string): Config { nativeCurrencySymbol: ConfigManagerV2.getInstance().get( chainName + '.networks.' + networkName + '.nativeCurrencySymbol' ), + maxLRUCacheInstances: ConfigManagerV2.getInstance().get( + chainName + '.maxLRUCacheInstances' + ), }, requestTimeout: ConfigManagerV2.getInstance().get( chainName + '.requestTimeout' @@ -44,5 +49,6 @@ export function getXRPLConfig(chainName: string, networkName: string): Config { ), feeCushion: ConfigManagerV2.getInstance().get(chainName + '.feeCushion'), maxFeeXRP: ConfigManagerV2.getInstance().get(chainName + '.maxFeeXRP'), + orderDbPath: ConfigManagerV2.getInstance().get(chainName + '.orderDbPath'), }; } diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts new file mode 100644 index 0000000000..a1eadec795 --- /dev/null +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -0,0 +1,84 @@ +import { LocalStorage } from '../../services/local-storage'; +import { ReferenceCountingCloseable } from '../../services/refcounting-closeable'; +import { Order } from '../../connectors/xrpl/xrpl.types'; +import { OrderStatus } from '../../connectors/xrpl/xrpl.types'; + +// store the order for when a transaction was initiated +// this will be used to monitor the order status when +// the order is included in the orderbook on XRP Ledger +export class XRPLOrderStorage extends ReferenceCountingCloseable { + readonly localStorage: LocalStorage; + + protected constructor(dbPath: string) { + super(dbPath); + this.localStorage = LocalStorage.getInstance(dbPath, this.handle); + } + + public async init(): Promise { + await this.localStorage.init(); + } + + public async saveOrder( + chain: string, + chainId: string, + order: Order + ): Promise { + return this.localStorage.save( + chain + '/' + chainId + '/' + order.hash, + JSON.stringify(order) + ); + } + + public async deleteOrder( + chain: string, + chainId: string, + order: Order + ): Promise { + return this.localStorage.del(chain + '/' + chainId + '/' + order.hash); + } + + public async getOrders( + chain: string, + chainId: string + ): Promise> { + return this.localStorage.get((key: string, value: string) => { + const splitKey = key.split('/'); + if ( + splitKey.length === 3 && + splitKey[0] === chain && + splitKey[1] === chainId + ) { + return [splitKey[2], JSON.parse(value)]; + } + return; + }); + } + + public async getOrdersByState( + chain: string, + chainId: string, + state: OrderStatus + ): Promise> { + return this.localStorage.get((key: string, value: string) => { + const splitKey = key.split('/'); + if ( + splitKey.length === 3 && + splitKey[0] === chain && + splitKey[1] === chainId + ) { + const order: Order = JSON.parse(value); + if (order.state === state) { + return [splitKey[2], order]; + } + } + return; + }); + } + + public async close(handle: string): Promise { + await super.close(handle); + if (this.refCount < 1) { + await this.localStorage.close(this.handle); + } + } +} diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index 137442aa1b..ed520a142c 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -14,11 +14,15 @@ import axios from 'axios'; import { promises as fs } from 'fs'; import crypto from 'crypto'; import fse from 'fs-extra'; +import path from 'path'; +import { rootPath } from '../../paths'; import { TokenListType, walletPath } from '../../services/base'; import { ConfigManagerCertPassphrase } from '../../services/config-manager-cert-passphrase'; import { getXRPLConfig } from './xrpl.config'; import { logger } from '../../services/logger'; import { TransactionResponseStatusCode } from './xrpl.requests'; +import { XRPLOrderStorage } from './xrpl.order-storage'; +import { ReferenceCountingCloseable } from '../../services/refcounting-closeable'; export type TrustlineInfo = { id: number; @@ -35,9 +39,17 @@ export type TokenBalance = { value: string; }; +export type Fee = { + base: string; + median: string; + minimum: string; + openLedger: string; +}; + export class XRPL implements XRPLish { private static _instances: { [name: string]: XRPL }; public rpcUrl; + public fee: Fee; protected tokenList: TrustlineInfo[] = []; private _tokenMap: Record = {}; @@ -54,6 +66,9 @@ export class XRPL implements XRPLish { private _ready: boolean = false; private initializing: boolean = false; + private readonly _refCountingHandle: string; + private readonly _orderStorage: XRPLOrderStorage; + private constructor(network: string) { const config = getXRPLConfig('xrpl', network); @@ -71,6 +86,12 @@ export class XRPL implements XRPLish { maxFeeXRP: config.maxFeeXRP, }); + this.fee = { + base: '0', + median: '0', + minimum: '0', + openLedger: '0', + }; // this._client.connect(); this._requestCount = 0; @@ -78,6 +99,13 @@ export class XRPL implements XRPLish { this.onValidationReceived(this.requestCounter.bind(this)); setInterval(this.metricLogger.bind(this), this.metricsLogInterval); + + this._refCountingHandle = ReferenceCountingCloseable.createHandle(); + this._orderStorage = XRPLOrderStorage.getInstance( + this.resolveDBPath(config.orderDbPath), + this._refCountingHandle + ); + this._orderStorage.declareOwnership(this._refCountingHandle); } public static getInstance(network: string): XRPL { @@ -95,6 +123,13 @@ export class XRPL implements XRPLish { return XRPL._instances; } + public resolveDBPath(oldPath: string): string { + if (oldPath.charAt(0) === '/') return oldPath; + const dbDir: string = path.join(rootPath(), 'db/'); + fse.mkdirSync(dbDir, { recursive: true }); + return path.join(dbDir, oldPath); + } + public get client() { return this._client; } @@ -142,6 +177,7 @@ export class XRPL implements XRPLish { this.initializing = true; await this._client.connect(); await this.loadTokens(this._tokenListSource, this._tokenListType); + await this.getFee(); this._ready = true; this.initializing = false; } @@ -360,9 +396,30 @@ export class XRPL implements XRPLish { async close() { if (this._network in XRPL._instances) { + await this._orderStorage.close(this._refCountingHandle); delete XRPL._instances[this._network]; } } + + async getFee() { + await this.ensureConnection(); + const tx_resp = await this._client.request({ + command: 'fee', + }); + + this.fee = { + base: tx_resp.result.drops.base_fee, + median: tx_resp.result.drops.median_fee, + minimum: tx_resp.result.drops.minimum_fee, + openLedger: tx_resp.result.drops.open_ledger_fee, + }; + + return this.fee; + } + + public get orderStorage(): XRPLOrderStorage { + return this._orderStorage; + } } export type XRPLish = XRPL; diff --git a/src/connectors/xrpl/xrpl.clob.config.ts b/src/connectors/xrpl/xrpl.clob.config.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/connectors/xrpl/xrpl.order-tracker.ts b/src/connectors/xrpl/xrpl.order-tracker.ts new file mode 100644 index 0000000000..db9cf85760 --- /dev/null +++ b/src/connectors/xrpl/xrpl.order-tracker.ts @@ -0,0 +1,91 @@ +import { Client } from 'xrpl'; +import { XRPL } from '../../chains/xrpl/xrpl'; +import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; +import { OrderStatus, TradeType, Order } from './xrpl.types'; +import LRUCache from 'lru-cache'; +import { XRPLOrderStorage } from '../../chains/xrpl/xrpl.order-storage'; + +// This class should: +// 1. Track orders that are created by xrpl.postOrder +// 2. Track orders that are deleted by xrpl.deleteOrder +// 3. Pool the XRP Ledger to update the inflight orders status +// 4. Provide interface to get order by states + +export class OrderTracker { + private static _instances: LRUCache; + private readonly _xrpl: XRPL; + private readonly _orderStorage: XRPLOrderStorage; + private _trackingId: any; + + public chain: string; + public network: string; + + private constructor(chain: string, network: string) { + this.chain = chain; + this.network = network; + + this._xrpl = XRPL.getInstance(network); + this._orderStorage = this._xrpl.orderStorage; + this._trackingId = undefined; + } + + public static getInstance(chain: string, network: string): OrderTracker { + if (OrderTracker._instances === undefined) { + const config = getXRPLConfig(chain, network); + OrderTracker._instances = new LRUCache({ + max: config.network.maxLRUCacheInstances, + }); + } + const instanceKey = chain + network; + if (!OrderTracker._instances.has(instanceKey)) { + OrderTracker._instances.set( + instanceKey, + new OrderTracker(chain, network) + ); + } + + return OrderTracker._instances.get(instanceKey) as OrderTracker; + } + + public async saveOrder(order: Order): Promise { + this._orderStorage.saveOrder(this.chain, this.network, order); + } + + public async deleteOrder(order: Order): Promise { + this._orderStorage.deleteOrder(this.chain, this.network, order); + } + + public async getOrdersByState( + state: OrderStatus + ): Promise> { + return this._orderStorage.getOrdersByState(this.chain, this.network, state); + } + + startTracking(): void { + if (this._trackingId) { + return; + } + + this._trackingId = setInterval(() => { + this._trackOrders(); + }, 1000); + } + + stopTracking(): void { + clearInterval(this._trackingId); + } + + private async _trackOrders(): Promise { + return; + } + + private isInflightOrder(order: Order): boolean { + return ( + order.state === OrderStatus.OPEN || + order.state === OrderStatus.PARTIALLY_FILLED || + order.state === OrderStatus.PENDING_OPEN || + order.state === OrderStatus.PENDING_CANCEL + ); + } + +} diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts new file mode 100644 index 0000000000..f2473abb1d --- /dev/null +++ b/src/connectors/xrpl/xrpl.ts @@ -0,0 +1,537 @@ +import { XRPL } from '../../chains/xrpl/xrpl'; +import { + Client, + OfferCancel, + Transaction, + xrpToDrops, + AccountInfoResponse, + BookOffersResponse, +} from 'xrpl'; +import { + Market, + MarketNotFoundError, + Token, + OrderStatus, + TradeType, + Orderbook, + PriceLevel, + Order, +} from './xrpl.types'; +import { + ClobMarketsRequest, + ClobOrderbookRequest, + ClobTickerRequest, + ClobGetOrderRequest, + ClobPostOrderRequest, + ClobDeleteOrderRequest, + CLOBMarkets, + ClobGetOrderResponse, +} from '../../clob/clob.requests'; +import { promiseAllInBatches } from '../../chains/xrpl/xrpl.helpers'; +import { isIssuedCurrency } from 'xrpl/dist/npm/models/transactions/common'; +import { + CLOBish, + NetworkSelectionRequest, +} from '../../services/common-interfaces'; +import LRUCache from 'lru-cache'; +import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; +import { isUndefined } from 'mathjs'; +import { OrderType } from './xrpl.types'; + +const XRP_FACTOR = 1000000; +const ORDERBOOK_LIMIT = 10; + +export class XRPLCLOB implements CLOBish { + private static _instances: LRUCache; + private readonly _client: Client; + private readonly _xrpl: XRPL; + + private _ready: boolean = false; + + public parsedMarkets: CLOBMarkets = {}; + public chain: string; + public network: string; + + private constructor(chain: string, network: string) { + this.chain = chain; + this.network = network; + + this._xrpl = XRPL.getInstance(network); + this._client = this._xrpl.client; + } + + public static getInstance(chain: string, network: string): XRPLCLOB { + if (XRPLCLOB._instances === undefined) { + const config = getXRPLConfig(chain, network); + XRPLCLOB._instances = new LRUCache({ + max: config.network.maxLRUCacheInstances, + }); + } + const instanceKey = chain + network; + if (!XRPLCLOB._instances.has(instanceKey)) { + XRPLCLOB._instances.set(instanceKey, new XRPLCLOB(chain, network)); + } + + return XRPLCLOB._instances.get(instanceKey) as XRPLCLOB; + } + + public async loadMarkets() { + const rawMarkets = await this.fetchMarkets(); + for (const market of rawMarkets) { + this.parsedMarkets[market.marketId.replace('/', '-')] = market; + } + } + + public async init() { + if (!this._xrpl.ready() || Object.keys(this.parsedMarkets).length === 0) { + await this._xrpl.init(); + await this.loadMarkets(); + this._ready = true; + } + } + + public ready(): boolean { + return this._ready; + } + + // CLOB methods: + // TODO: Find and correct the required market info in client + public async markets( + req: ClobMarketsRequest + ): Promise<{ markets: CLOBMarkets }> { + if (req.market && req.market.split('-').length === 2) { + const resp: CLOBMarkets = {}; + resp[req.market] = this.parsedMarkets[req.market]; + return { markets: resp }; + } + return { markets: this.parsedMarkets }; + } + + public async orderBook(req: ClobOrderbookRequest): Promise { + return await this.getOrderBook(this.parsedMarkets[req.market].marketId); + } + + // Utility methods: + async fetchMarkets(): Promise { + const loadedMarkets: Market[] = []; + // TODO: Move marketsToLoad to config file + const marketsToLoad = [ + 'ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/USD.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h', + 'XRP/ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h', + 'ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/XRP', + ]; + + const getMarket = async (marketId: string): Promise => { + const market = await this.getMarket(marketId); + + loadedMarkets.concat(market); + }; + + await promiseAllInBatches(getMarket, marketsToLoad, 1, 1); + + return loadedMarkets; + } + + async getMarket(marketId?: string): Promise { + if (!marketId) throw new MarketNotFoundError(`No market informed.`); + // Market marketId format: + // 1: "ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/USD.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" + // 2: "XRP/ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" + // 3: "ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/XRP" + let baseTickSize: number; + let baseTransferRate: number; + let quoteTickSize: number; + let quoteTransferRate: number; + const zeroTransferRate = 1000000000; + + const [base, quote] = marketId.split('/'); + + const [baseCurrency, baseIssuer] = base.split('.'); + const [quoteCurrency, quoteIssuer] = quote.split('.'); + + if (baseCurrency != 'XRP') { + const baseMarketResp: AccountInfoResponse = await this._client.request({ + command: 'account_info', + ledger_index: 'validated', + account: baseIssuer, + }); + + if (!baseMarketResp) + throw new MarketNotFoundError(`Market "${base}" not found.`); + + baseTickSize = baseMarketResp.result.account_data.TickSize ?? 15; + const rawTransferRate = + baseMarketResp.result.account_data.TransferRate ?? zeroTransferRate; + baseTransferRate = rawTransferRate / zeroTransferRate - 1; + } else { + baseTickSize = 6; + baseTransferRate = 0; + } + + if (quoteCurrency != 'XRP') { + const quoteMarketResp: AccountInfoResponse = await this._client.request({ + command: 'account_info', + ledger_index: 'validated', + account: quoteIssuer, + }); + + if (!quoteMarketResp) + throw new MarketNotFoundError(`Market "${quote}" not found.`); + + quoteTickSize = quoteMarketResp.result.account_data.TickSize ?? 15; + const rawTransferRate = + quoteMarketResp.result.account_data.TransferRate ?? zeroTransferRate; + quoteTransferRate = rawTransferRate / zeroTransferRate - 1; + } else { + quoteTickSize = 6; + quoteTransferRate = 0; + } + + const smallestTickSize = Math.min(baseTickSize, quoteTickSize); + const minimumOrderSize = smallestTickSize; + + // TODO: conform to this type: + // export interface ClobMarketResponse { + // network: string; + // timestamp: number; + // latency: number; + // markets: CLOBMarkets; + // } + + const result = { + marketId: marketId, + minimumOrderSize: minimumOrderSize, + tickSize: smallestTickSize, + baseTransferRate: baseTransferRate, + quoteTransferRate: quoteTransferRate, + }; + + return result; + } + + async getOrderBook(marketId: string): Promise { + const [base, quote] = marketId.split('/'); + + const [baseCurrency, baseIssuer] = base.split('.'); + const [quoteCurrency, quoteIssuer] = quote.split('.'); + + const baseRequest: any = { + currency: baseCurrency, + }; + + const quoteRequest: any = { + currency: quoteCurrency, + }; + + if (baseIssuer) { + baseRequest['issuer'] = baseIssuer; + } + if (quoteIssuer) { + quoteRequest['issuer'] = quoteIssuer; + } + + const orderbook_resp_ask: BookOffersResponse = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker_gets: baseRequest, + taker_pays: quoteRequest, + limit: ORDERBOOK_LIMIT, + }); + + const orderbook_resp_bid: BookOffersResponse = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker_gets: quoteRequest, + taker_pays: baseRequest, + limit: ORDERBOOK_LIMIT, + }); + + const asks = orderbook_resp_ask.result.offers; + const bids = orderbook_resp_bid.result.offers; + + const buys: PriceLevel[] = []; + const sells: PriceLevel[] = []; + + bids.forEach((bid) => { + if (isUndefined(bid.quality)) return; + + let price, quantity: string; + + if (typeof bid.taker_gets_funded === 'string') { + price = (Math.pow(parseFloat(bid.quality), -1) / XRP_FACTOR).toString(); + quantity = (parseFloat(bid.taker_gets_funded) * XRP_FACTOR).toString(); + } else if (typeof bid.taker_pays_funded === 'string') { + if (isUndefined(bid.taker_gets_funded)) return; + if (isUndefined(bid.taker_gets_funded?.value)) return; + + price = (Math.pow(parseFloat(bid.quality), -1) * XRP_FACTOR).toString(); + quantity = bid.taker_gets_funded.value; + } else { + if (isUndefined(bid.taker_gets_funded)) return; + if (isUndefined(bid.taker_gets_funded?.value)) return; + + price = Math.pow(parseFloat(bid.quality), -1).toString(); + quantity = bid.taker_gets_funded.value; + } + + buys.concat({ + price, + quantity, + timestamp: Date.now(), + }); + }); + + asks.forEach((ask) => { + if (isUndefined(ask.quality)) return; + + let price, quantity: string; + + if (typeof ask.taker_gets_funded === 'string') { + price = (parseFloat(ask.quality) * XRP_FACTOR).toString(); + quantity = (parseFloat(ask.taker_gets_funded) * XRP_FACTOR).toString(); + } else if (typeof ask.taker_pays_funded === 'string') { + if (isUndefined(ask.taker_gets_funded)) return; + if (isUndefined(ask.taker_gets_funded?.value)) return; + + price = (parseFloat(ask.quality) / XRP_FACTOR).toString(); + quantity = ask.taker_gets_funded.value; + } else { + if (isUndefined(ask.taker_gets_funded)) return; + if (isUndefined(ask.taker_gets_funded?.value)) return; + + price = ask.quality; + quantity = ask.taker_gets_funded.value; + } + + sells.concat({ + price, + quantity, + timestamp: Date.now(), + }); + }); + + return { + buys, + sells, + }; + } + + public async ticker( + req: ClobTickerRequest + ): Promise<{ markets: CLOBMarkets }> { + return await this.markets(req); + } + + public async orders( + req: ClobGetOrderRequest + ): Promise<{ orders: ClobGetOrderResponse['orders'] }> { + if (!req.market) return { orders: [] }; + const marketId: string = this.parsedMarkets[req.market].marketId; + + const [base, quote] = marketId.split('/'); + + const [baseCurrency, baseIssuer] = base.split('.'); + const [quoteCurrency, quoteIssuer] = quote.split('.'); + + const orders: Order[] = []; + + const baseRequest: any = { + currency: baseCurrency, + }; + + const quoteRequest: any = { + currency: quoteCurrency, + }; + + if (baseIssuer) { + baseRequest['issuer'] = baseIssuer; + } + if (quoteIssuer) { + quoteRequest['issuer'] = quoteIssuer; + } + + const orderbook_resp_ask: BookOffersResponse = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker: req.address, + taker_gets: baseRequest, + taker_pays: quoteRequest, + }); + + const orderbook_resp_bid: BookOffersResponse = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker: req.address, + taker_gets: quoteRequest, + taker_pays: baseRequest, + }); + + let asks = orderbook_resp_ask.result.offers; + let bids = orderbook_resp_bid.result.offers; + + asks = asks.filter((ask) => ask.Account == req.address); + bids = bids.filter((bid) => bid.Account == req.address); + + for (const ask of asks) { + const price = ask.quality ?? '-1'; + let amount: string = ''; + + if (isIssuedCurrency(ask.TakerGets)) { + amount = ask.TakerGets.value; + } else { + amount = ask.TakerGets; + } + + orders.push({ + hash: ask.Sequence, + marketId: marketId, + price: price, + amount: amount, + state: OrderStatus.OPEN, // TODO: create middle class to track this property + tradeType: TradeType.SELL, + orderType: OrderType.LIMIT, + createdAt: Date.now(), // TODO: create middle class to track this property + updatedAt: Date.now(), // TODO: create middle class to track this property + }); + } + + for (const bid of bids) { + const price = Math.pow(Number(bid.quality), -1).toString() ?? '-1'; + let amount: string = ''; + + if (isIssuedCurrency(bid.TakerGets)) { + amount = bid.TakerGets.value; + } else { + amount = bid.TakerGets; + } + + orders.push({ + hash: bid.Sequence, + marketId: marketId, + price: price, + amount: amount, + state: OrderStatus.OPEN, // TODO: create middle class to track this property + tradeType: TradeType.BUY, + orderType: OrderType.LIMIT, + createdAt: Date.now(), // TODO: create middle class to track this property + updatedAt: Date.now(), // TODO: create middle class to track this property + }); + } + + return { orders } as ClobGetOrderResponse; + } + + public async postOrder( + req: ClobPostOrderRequest + ): Promise<{ txHash: string }> { + const marketId: string = this.parsedMarkets[req.market].marketId; + + const [base, quote] = marketId.split('/'); + const [baseCurrency, baseIssuer] = base.split('.'); + const [quoteCurrency, quoteIssuer] = quote.split('.'); + + const market = await this.getMarket(marketId); + + const xrpl = this._xrpl; + const wallet = await xrpl.getWallet(req.address); + const total = parseFloat(req.price) * parseFloat(req.amount); + + let we_pay: Token = { + currency: '', + issuer: '', + value: '', + }; + let we_get: Token = { currency: '', issuer: '', value: '' }; + + if (req.side == TradeType.SELL) { + we_pay = { + currency: quoteCurrency, + issuer: quoteIssuer, + value: Number(total.toPrecision(market.tickSize)).toString(), + }; + we_get = { + currency: baseCurrency, + issuer: baseIssuer, + value: Number( + parseFloat(req.amount).toPrecision(market.tickSize) + ).toString(), + }; + } else { + we_pay = { + currency: baseCurrency, + issuer: baseIssuer, + value: Number( + parseFloat(req.amount).toPrecision(market.tickSize) + ).toString(), + }; + we_get = { + currency: quoteCurrency, + issuer: quoteIssuer, + value: Number(total.toPrecision(market.tickSize)).toString(), + }; + } + + if (we_pay.currency == 'XRP') { + we_pay.value = xrpToDrops(we_pay.value); + } + + if (we_get.currency == 'XRP') { + we_get.value = xrpToDrops(we_get.value); + } + + const offer: Transaction = { + TransactionType: 'OfferCreate', + Account: wallet.classicAddress, + TakerGets: we_pay.currency == 'XRP' ? we_pay.value : we_pay, + TakerPays: we_get.currency == 'XRP' ? we_get.value : we_get, + }; + + const prepared = await this._client.autofill(offer); + const signed = wallet.sign(prepared); + const response = await this._client.submit(signed.tx_blob); + + const txHash = response.result.tx_json.hash + ? response.result.tx_json.hash + : ''; + + return { txHash }; + } + + public async deleteOrder( + req: ClobDeleteOrderRequest + ): Promise<{ txHash: string }> { + const xrpl = this._xrpl; + const wallet = await xrpl.getWallet(req.address); + const request: OfferCancel = { + TransactionType: 'OfferCancel', + Account: wallet.classicAddress, + OfferSequence: parseInt(req.orderId), + }; + + const prepared = await this._client.autofill(request); + const signed = wallet.sign(prepared); + const response = await this._client.submit(signed.tx_blob); + + const txHash = response.result.tx_json.hash + ? response.result.tx_json.hash + : ''; + + return { txHash }; + } + + public estimateGas(_req: NetworkSelectionRequest): { + gasPrice: number; + gasPriceToken: string; + gasLimit: number; + gasCost: number; + } { + const fee_estimate = this._xrpl.fee; + + return { + gasPrice: parseFloat(fee_estimate.median), + gasPriceToken: this._xrpl.nativeTokenSymbol, + gasLimit: parseFloat(this._client.maxFeeXRP), + gasCost: parseFloat(fee_estimate.median) * this._client.feeCushion, + }; + } +} diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts new file mode 100644 index 0000000000..420af04154 --- /dev/null +++ b/src/connectors/xrpl/xrpl.types.ts @@ -0,0 +1,219 @@ +import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable'; +import { BookOffer } from 'xrpl'; + +export type IMap = ImmutableMap; +export const IMap = ImmutableMap; +export type ISet = ImmutableSet; +export const ISet = ImmutableSet; + +export enum TradeType { + BUY = 'BUY', + SELL = 'SELL', +} + +export enum OrderStatus { + OPEN = 'OPEN', + CANCELED = 'CANCELED', + FILLED = 'FILLED', + PARTIALLY_FILLED = 'PARTIALLY_FILLED', + PENDING_OPEN = 'PENDING_OPEN', + PENDING_CANCEL = 'PENDING_CANCEL', + FAILED = 'FAILED', + UNKNOWN = 'UNKNOWN', +} + +export enum OrderType { + LIMIT = 'LIMIT', + PASSIVE = 'PASSIVE', + IOC = 'IOC', // Immediate or Cancel + FOK = 'FOK', // Fill or Kill + SELL = 'SELL', // Sell +} + +export interface Token { + currency: string; + issuer: string; + value: string; +} + +export type GetMarketsRequest = + | Record + | { name: string } + | { names: string[] }; + +export interface GetMarketResponse { + name: string; + minimumOrderSize: number; + tickSize: number; + baseTransferRate: number; + quoteTransferRate: number; +} + +export interface Market { + marketId: string; + minimumOrderSize: number; + tickSize: number; + baseTransferRate: number; + quoteTransferRate: number; +} + +export type GetMarketsResponse = + | IMap + | GetMarketResponse; + +export type GetTickersRequest = + | Record + | { marketName: string } + | { marketNames: string[] }; + +export interface GetTickerResponse { + price: number; + timestamp: number; +} + +export type GetTickersResponse = + | IMap + | GetTickerResponse; + +export interface Ticker { + price: number; + timestamp: number; +} + +export interface GetOrderRequest { + sequence: number; + signature: string; +} + +export type GetOrdersRequest = + | Record + | { orders: GetOrderRequest[] }; + +export interface GetOrderResponse { + sequence: number; + status: OrderStatus; + signature: string; + transactionResult: string; +} + +export type GetOrdersResponse = Record; + +export type GetOrderBooksRequest = + | Record + | { marketName: string; limit: number } + | { marketNames: string[]; limit: number }; + +export interface GetOrderBookResponse { + market: GetMarketResponse; + topAsk: number; + topBid: number; + midPrice: number; + bids: BookOffer[]; + asks: BookOffer[]; + timestamp: number; +} + +export type GetOrderBooksResponse = + | IMap + | GetOrderBookResponse; + +export interface CreateOrderRequest { + walletAddress: string; + marketName: string; + side: TradeType; + price: number; + amount: number; + type?: OrderType; + sequence?: number; +} + +export interface CreateOrderResponse { + walletAddress: string; + marketName: string; + price: number; + amount: number; + side: TradeType; + status?: OrderStatus; + type?: OrderType; + fee?: number; + sequence: number; + orderLedgerIndex?: string; + signature?: string; + transactionResult?: string; +} + +export type CreateOrdersResponse = + | IMap + | CreateOrderResponse + | Record; + +export interface CancelOrderRequest { + walletAddress: string; + offerSequence: number; +} + +export type CancelOrdersRequest = + | Record + | { order: CancelOrderRequest } + | { orders: CancelOrderRequest[] }; + +export interface CancelOrderResponse { + walletAddress: string; + status?: OrderStatus; + signature?: string; + transactionResult?: string; +} + +export type CancelOrdersResponse = + | IMap + | CancelOrderResponse + | Record; + +export interface GetOpenOrderRequest { + marketName: string; + walletAddress: string; +} + +export interface GetOpenOrderResponse { + sequence: number; + marketName: string; + price: string; + amount: string; + side: TradeType; +} + +export type GetOpenOrdersResponse = + | any + | IMap> + | IMap + | GetOpenOrderResponse; + +export class XRPLDEXishError extends Error {} + +export class MarketNotFoundError extends XRPLDEXishError {} + +export interface PriceLevel { + price: string; + quantity: string; + timestamp: number; +} +export interface Orderbook { + buys: PriceLevel[]; + sells: PriceLevel[]; +} + +export interface Order { + hash: number; + marketId: string; + price: string; + amount: string; + filledAmount: string; + state: string; + tradeType: string; + orderType: string; + createdAt: number; + createdAtLedgerIndex: number; + updatedAt: number; + updatedAtLedgerIndex: number; + associatedTxns: string[]; +} From 22b585c74414a66039c55d338303f6ff622caa11 Mon Sep 17 00:00:00 2001 From: mlguys Date: Mon, 5 Jun 2023 00:08:05 +0700 Subject: [PATCH 07/67] WIP --- src/chains/xrpl/xrpl.config.ts | 8 ++ src/chains/xrpl/xrpl.order-storage.ts | 30 +++++--- src/chains/xrpl/xrpl.ts | 66 ++++++++++++++-- src/chains/xrpl/xrpl_markets.json | 50 ++++++++++++ src/chains/xrpl/xrpl_markets_devnet.json | 50 ++++++++++++ src/chains/xrpl/xrpl_markets_testnet.json | 50 ++++++++++++ src/chains/xrpl/xrpl_tokens.json | 8 ++ src/chains/xrpl/xrpl_tokens_small.json | 8 ++ src/connectors/xrpl/xrpl.clob.config.ts | 21 +++++ src/connectors/xrpl/xrpl.ts | 94 +++++++++++------------ src/connectors/xrpl/xrpl.types.ts | 4 + src/services/base.ts | 3 + src/templates/xrpl.yml | 8 +- 13 files changed, 330 insertions(+), 70 deletions(-) create mode 100644 src/chains/xrpl/xrpl_markets.json create mode 100644 src/chains/xrpl/xrpl_markets_devnet.json create mode 100644 src/chains/xrpl/xrpl_markets_testnet.json diff --git a/src/chains/xrpl/xrpl.config.ts b/src/chains/xrpl/xrpl.config.ts index 0ef86b030e..f08d3b18f1 100644 --- a/src/chains/xrpl/xrpl.config.ts +++ b/src/chains/xrpl/xrpl.config.ts @@ -5,6 +5,8 @@ export interface NetworkConfig { nodeUrl: string; // example: wss://xrplcluster.com/ tokenListType: string; // default: FILE tokenListSource: string; // default: src/chains/xrpl/xrpl_tokens.json + marketListType: string; // default: FILE + marketListSource: string; // default: src/chains/xrpl/xrpl_markets.json nativeCurrencySymbol: string; // XRP maxLRUCacheInstances: number; } @@ -34,6 +36,12 @@ export function getXRPLConfig(chainName: string, networkName: string): Config { tokenListSource: ConfigManagerV2.getInstance().get( chainName + '.networks.' + networkName + '.tokenListSource' ), + marketListType: ConfigManagerV2.getInstance().get( + chainName + '.networks.' + networkName + '.marketListType' + ), + marketListSource: ConfigManagerV2.getInstance().get( + chainName + '.networks.' + networkName + '.marketListSource' + ), nativeCurrencySymbol: ConfigManagerV2.getInstance().get( chainName + '.networks.' + networkName + '.nativeCurrencySymbol' ), diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts index a1eadec795..e033a3607d 100644 --- a/src/chains/xrpl/xrpl.order-storage.ts +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -21,10 +21,11 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { public async saveOrder( chain: string, chainId: string, - order: Order + order: Order, + walletAddress: string ): Promise { return this.localStorage.save( - chain + '/' + chainId + '/' + order.hash, + chain + '/' + chainId + '/' + walletAddress + '/' + order.hash, JSON.stringify(order) ); } @@ -32,23 +33,28 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { public async deleteOrder( chain: string, chainId: string, - order: Order + order: Order, + walletAddress: string ): Promise { - return this.localStorage.del(chain + '/' + chainId + '/' + order.hash); + return this.localStorage.del( + chain + '/' + chainId + '/' + walletAddress + '/' + order.hash + ); } public async getOrders( chain: string, - chainId: string + chainId: string, + walletAddress: string ): Promise> { return this.localStorage.get((key: string, value: string) => { const splitKey = key.split('/'); if ( - splitKey.length === 3 && + splitKey.length === 4 && splitKey[0] === chain && - splitKey[1] === chainId + splitKey[1] === chainId && + splitKey[2] === walletAddress ) { - return [splitKey[2], JSON.parse(value)]; + return [splitKey[3], JSON.parse(value)]; } return; }); @@ -57,18 +63,20 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { public async getOrdersByState( chain: string, chainId: string, + walletAddress: string, state: OrderStatus ): Promise> { return this.localStorage.get((key: string, value: string) => { const splitKey = key.split('/'); if ( - splitKey.length === 3 && + splitKey.length === 4 && splitKey[0] === chain && - splitKey[1] === chainId + splitKey[1] === chainId && + splitKey[2] === walletAddress ) { const order: Order = JSON.parse(value); if (order.state === state) { - return [splitKey[2], order]; + return [splitKey[3], order]; } } return; diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index ed520a142c..d8e6c1041a 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -16,7 +16,7 @@ import crypto from 'crypto'; import fse from 'fs-extra'; import path from 'path'; import { rootPath } from '../../paths'; -import { TokenListType, walletPath } from '../../services/base'; +import { TokenListType, walletPath, MarketListType } from '../../services/base'; import { ConfigManagerCertPassphrase } from '../../services/config-manager-cert-passphrase'; import { getXRPLConfig } from './xrpl.config'; import { logger } from '../../services/logger'; @@ -24,7 +24,7 @@ import { TransactionResponseStatusCode } from './xrpl.requests'; import { XRPLOrderStorage } from './xrpl.order-storage'; import { ReferenceCountingCloseable } from '../../services/refcounting-closeable'; -export type TrustlineInfo = { +export type TokenInfo = { id: number; code: string; issuer: string; @@ -33,6 +33,15 @@ export type TrustlineInfo = { placeInTop: null; }; +export type MarketInfo = { + id: number; + code: string; + baseIssuer: string; + quoteIssuer: string; + baseTokenID: number; + quoteTokenID: number; +}; + export type TokenBalance = { currency: string; issuer?: string; @@ -51,8 +60,10 @@ export class XRPL implements XRPLish { public rpcUrl; public fee: Fee; - protected tokenList: TrustlineInfo[] = []; - private _tokenMap: Record = {}; + protected tokenList: TokenInfo[] = []; + protected marketList: MarketInfo[] = []; + private _tokenMap: Record = {}; + private _marketMap: Record = {}; private _client: Client; private _nativeTokenSymbol: string; @@ -61,7 +72,9 @@ export class XRPL implements XRPLish { private _requestCount: number; private _metricsLogInterval: number; private _tokenListSource: string; + private _marketListSource: string; private _tokenListType: TokenListType; + private _marketListType: MarketListType; private _ready: boolean = false; private initializing: boolean = false; @@ -78,6 +91,8 @@ export class XRPL implements XRPLish { this._nativeTokenSymbol = config.network.nativeCurrencySymbol; this._tokenListSource = config.network.tokenListSource; this._tokenListType = config.network.tokenListType; + this._marketListSource = config.network.marketListSource; + this._marketListType = config.network.marketListType; this._client = new Client(this.rpcUrl, { timeout: config.requestTimeout, @@ -177,6 +192,7 @@ export class XRPL implements XRPLish { this.initializing = true; await this._client.connect(); await this.loadTokens(this._tokenListSource, this._tokenListType); + await this.loadMarkets(this._marketListSource, this._marketListType); await this.getFee(); this._ready = true; this.initializing = false; @@ -189,16 +205,31 @@ export class XRPL implements XRPLish { ): Promise { this.tokenList = await this.getTokenList(tokenListSource, tokenListType); if (this.tokenList) { - this.tokenList.forEach((token: TrustlineInfo) => + this.tokenList.forEach((token: TokenInfo) => this._tokenMap[token.code].push(token) ); } } + async loadMarkets( + marketListSource: string, + marketListType: MarketListType + ): Promise { + this.marketList = await this.getMarketList( + marketListSource, + marketListType + ); + if (this.marketList) { + this.marketList.forEach((market: MarketInfo) => + this._marketMap[market.code].push(market) + ); + } + } + async getTokenList( tokenListSource: string, tokenListType: TokenListType - ): Promise { + ): Promise { let tokens; if (tokenListType === 'URL') { ({ @@ -210,11 +241,30 @@ export class XRPL implements XRPLish { return tokens; } - public get storedTokenList(): TrustlineInfo[] { + async getMarketList( + marketListSource: string, + marketListType: TokenListType + ): Promise { + let tokens; + if (marketListType === 'URL') { + ({ + data: { tokens }, + } = await axios.get(marketListSource)); + } else { + ({ tokens } = JSON.parse(await fs.readFile(marketListSource, 'utf8'))); + } + return tokens; + } + + public get storedTokenList(): TokenInfo[] { return this.tokenList; } - public getTokenForSymbol(code: string): TrustlineInfo[] | null { + public get storedMarketList(): MarketInfo[] { + return this.marketList; + } + + public getTokenForSymbol(code: string): TokenInfo[] | null { return this._tokenMap[code] ? this._tokenMap[code] : null; } diff --git a/src/chains/xrpl/xrpl_markets.json b/src/chains/xrpl/xrpl_markets.json new file mode 100644 index 0000000000..20e065106d --- /dev/null +++ b/src/chains/xrpl/xrpl_markets.json @@ -0,0 +1,50 @@ +[ + { + "id": 1, + "code": "SOLO/XRP", + "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "quoteIssuer": "XRP", + "baseTokenID": 31, + "quoteTokenID": 0 + }, + { + "id": 2, + "code": "SOLO/USDC", + "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "quoteIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "baseTokenID": 31, + "quoteTokenID": 18465 + }, + { + "id": 3, + "code": "USDC/XRP", + "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "quoteIssuer": "XRP", + "baseTokenID": 18465, + "quoteTokenID": 0 + }, + { + "id": 4, + "code": "USDC/USD", + "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "baseTokenID": 18465, + "quoteTokenID": 16603 + }, + { + "id": 5, + "code": "BTC/XRP", + "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", + "quoteIssuer": "XRP", + "baseTokenID": 1381, + "quoteTokenID": 0 + }, + { + "id": 6, + "code": "BTC/USD", + "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", + "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "baseTokenID": 1381, + "quoteTokenID": 16603 + } +] \ No newline at end of file diff --git a/src/chains/xrpl/xrpl_markets_devnet.json b/src/chains/xrpl/xrpl_markets_devnet.json new file mode 100644 index 0000000000..20e065106d --- /dev/null +++ b/src/chains/xrpl/xrpl_markets_devnet.json @@ -0,0 +1,50 @@ +[ + { + "id": 1, + "code": "SOLO/XRP", + "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "quoteIssuer": "XRP", + "baseTokenID": 31, + "quoteTokenID": 0 + }, + { + "id": 2, + "code": "SOLO/USDC", + "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "quoteIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "baseTokenID": 31, + "quoteTokenID": 18465 + }, + { + "id": 3, + "code": "USDC/XRP", + "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "quoteIssuer": "XRP", + "baseTokenID": 18465, + "quoteTokenID": 0 + }, + { + "id": 4, + "code": "USDC/USD", + "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "baseTokenID": 18465, + "quoteTokenID": 16603 + }, + { + "id": 5, + "code": "BTC/XRP", + "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", + "quoteIssuer": "XRP", + "baseTokenID": 1381, + "quoteTokenID": 0 + }, + { + "id": 6, + "code": "BTC/USD", + "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", + "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "baseTokenID": 1381, + "quoteTokenID": 16603 + } +] \ No newline at end of file diff --git a/src/chains/xrpl/xrpl_markets_testnet.json b/src/chains/xrpl/xrpl_markets_testnet.json new file mode 100644 index 0000000000..20e065106d --- /dev/null +++ b/src/chains/xrpl/xrpl_markets_testnet.json @@ -0,0 +1,50 @@ +[ + { + "id": 1, + "code": "SOLO/XRP", + "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "quoteIssuer": "XRP", + "baseTokenID": 31, + "quoteTokenID": 0 + }, + { + "id": 2, + "code": "SOLO/USDC", + "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "quoteIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "baseTokenID": 31, + "quoteTokenID": 18465 + }, + { + "id": 3, + "code": "USDC/XRP", + "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "quoteIssuer": "XRP", + "baseTokenID": 18465, + "quoteTokenID": 0 + }, + { + "id": 4, + "code": "USDC/USD", + "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "baseTokenID": 18465, + "quoteTokenID": 16603 + }, + { + "id": 5, + "code": "BTC/XRP", + "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", + "quoteIssuer": "XRP", + "baseTokenID": 1381, + "quoteTokenID": 0 + }, + { + "id": 6, + "code": "BTC/USD", + "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", + "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "baseTokenID": 1381, + "quoteTokenID": 16603 + } +] \ No newline at end of file diff --git a/src/chains/xrpl/xrpl_tokens.json b/src/chains/xrpl/xrpl_tokens.json index 54072bac2e..2cf5cadba0 100644 --- a/src/chains/xrpl/xrpl_tokens.json +++ b/src/chains/xrpl/xrpl_tokens.json @@ -1,4 +1,12 @@ [ + { + "id": 0, + "code": "XRP", + "issuer": "", + "title": "XRP", + "trustlines": -1, + "placeInTop": 0 + }, { "id": 31, "code": "SOLO", diff --git a/src/chains/xrpl/xrpl_tokens_small.json b/src/chains/xrpl/xrpl_tokens_small.json index 4d7460fd2a..0ad91ad7ac 100644 --- a/src/chains/xrpl/xrpl_tokens_small.json +++ b/src/chains/xrpl/xrpl_tokens_small.json @@ -1,4 +1,12 @@ [ + { + "id": 0, + "code": "XRP", + "issuer": "", + "title": "XRP", + "trustlines": -1, + "placeInTop": 0 + }, { "id": 31, "code": "SOLO", diff --git a/src/connectors/xrpl/xrpl.clob.config.ts b/src/connectors/xrpl/xrpl.clob.config.ts index e69de29bb2..786c0ddd66 100644 --- a/src/connectors/xrpl/xrpl.clob.config.ts +++ b/src/connectors/xrpl/xrpl.clob.config.ts @@ -0,0 +1,21 @@ +import { AvailableNetworks } from '../../services/config-manager-types'; +// import { ConfigManagerV2 } from '../../services/config-manager-v2'; + +export namespace XRPLCLOBConfig { + export interface NetworkConfig { + tradingTypes: Array; + chainType: string; + availableNetworks: Array; + } + + export const config: NetworkConfig = { + tradingTypes: ['CLOB_SPOT'], + chainType: 'XRPL', + availableNetworks: [ + { + chain: 'xrpl', + networks: ['mainnet', 'testnet'], + }, + ], + }; +} diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index f2473abb1d..da441dbb1b 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -1,4 +1,4 @@ -import { XRPL } from '../../chains/xrpl/xrpl'; +import { MarketInfo, XRPL } from '../../chains/xrpl/xrpl'; import { Client, OfferCancel, @@ -114,26 +114,21 @@ export class XRPLCLOB implements CLOBish { // Utility methods: async fetchMarkets(): Promise { const loadedMarkets: Market[] = []; - // TODO: Move marketsToLoad to config file - const marketsToLoad = [ - 'ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/USD.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h', - 'XRP/ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h', - 'ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/XRP', - ]; + const markets = this._xrpl.storedMarketList; - const getMarket = async (marketId: string): Promise => { - const market = await this.getMarket(marketId); + const getMarket = async (market: MarketInfo): Promise => { + const processedMarket = await this.getMarket(market); - loadedMarkets.concat(market); + loadedMarkets.push(processedMarket); }; - await promiseAllInBatches(getMarket, marketsToLoad, 1, 1); + await promiseAllInBatches(getMarket, markets, 1, 1); return loadedMarkets; } - async getMarket(marketId?: string): Promise { - if (!marketId) throw new MarketNotFoundError(`No market informed.`); + async getMarket(market: MarketInfo): Promise { + if (!market) throw new MarketNotFoundError(`No market informed.`); // Market marketId format: // 1: "ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/USD.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" // 2: "XRP/ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" @@ -144,10 +139,9 @@ export class XRPLCLOB implements CLOBish { let quoteTransferRate: number; const zeroTransferRate = 1000000000; - const [base, quote] = marketId.split('/'); - - const [baseCurrency, baseIssuer] = base.split('.'); - const [quoteCurrency, quoteIssuer] = quote.split('.'); + const [baseCurrency, quoteCurrency] = market.code.split('/'); + const baseIssuer = market.baseIssuer; + const quoteIssuer = market.quoteIssuer; if (baseCurrency != 'XRP') { const baseMarketResp: AccountInfoResponse = await this._client.request({ @@ -157,7 +151,9 @@ export class XRPLCLOB implements CLOBish { }); if (!baseMarketResp) - throw new MarketNotFoundError(`Market "${base}" not found.`); + throw new MarketNotFoundError( + `Market "${baseCurrency}.${baseIssuer}" not found.` + ); baseTickSize = baseMarketResp.result.account_data.TickSize ?? 15; const rawTransferRate = @@ -176,7 +172,9 @@ export class XRPLCLOB implements CLOBish { }); if (!quoteMarketResp) - throw new MarketNotFoundError(`Market "${quote}" not found.`); + throw new MarketNotFoundError( + `Market "${quoteCurrency}.${quoteIssuer}" not found.` + ); quoteTickSize = quoteMarketResp.result.account_data.TickSize ?? 15; const rawTransferRate = @@ -190,20 +188,16 @@ export class XRPLCLOB implements CLOBish { const smallestTickSize = Math.min(baseTickSize, quoteTickSize); const minimumOrderSize = smallestTickSize; - // TODO: conform to this type: - // export interface ClobMarketResponse { - // network: string; - // timestamp: number; - // latency: number; - // markets: CLOBMarkets; - // } - const result = { - marketId: marketId, + marketId: market.code, minimumOrderSize: minimumOrderSize, tickSize: smallestTickSize, baseTransferRate: baseTransferRate, quoteTransferRate: quoteTransferRate, + baseIssuer: baseIssuer, + quoteIssuer: quoteIssuer, + baseCurrency: baseCurrency, + quoteCurrency: quoteCurrency, }; return result; @@ -382,17 +376,17 @@ export class XRPLCLOB implements CLOBish { amount = ask.TakerGets; } - orders.push({ - hash: ask.Sequence, - marketId: marketId, - price: price, - amount: amount, - state: OrderStatus.OPEN, // TODO: create middle class to track this property - tradeType: TradeType.SELL, - orderType: OrderType.LIMIT, - createdAt: Date.now(), // TODO: create middle class to track this property - updatedAt: Date.now(), // TODO: create middle class to track this property - }); + // orders.push({ + // hash: ask.Sequence, + // marketId: marketId, + // price: price, + // amount: amount, + // state: OrderStatus.OPEN, // TODO: create middle class to track this property + // tradeType: TradeType.SELL, + // orderType: OrderType.LIMIT, + // createdAt: Date.now(), // TODO: create middle class to track this property + // updatedAt: Date.now(), // TODO: create middle class to track this property + // }); } for (const bid of bids) { @@ -405,17 +399,17 @@ export class XRPLCLOB implements CLOBish { amount = bid.TakerGets; } - orders.push({ - hash: bid.Sequence, - marketId: marketId, - price: price, - amount: amount, - state: OrderStatus.OPEN, // TODO: create middle class to track this property - tradeType: TradeType.BUY, - orderType: OrderType.LIMIT, - createdAt: Date.now(), // TODO: create middle class to track this property - updatedAt: Date.now(), // TODO: create middle class to track this property - }); + // orders.push({ + // hash: bid.Sequence, + // marketId: marketId, + // price: price, + // amount: amount, + // state: OrderStatus.OPEN, // TODO: create middle class to track this property + // tradeType: TradeType.BUY, + // orderType: OrderType.LIMIT, + // createdAt: Date.now(), // TODO: create middle class to track this property + // updatedAt: Date.now(), // TODO: create middle class to track this property + // }); } return { orders } as ClobGetOrderResponse; diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts index 420af04154..e388d701c2 100644 --- a/src/connectors/xrpl/xrpl.types.ts +++ b/src/connectors/xrpl/xrpl.types.ts @@ -55,6 +55,10 @@ export interface Market { tickSize: number; baseTransferRate: number; quoteTransferRate: number; + baseIssuer: string; + quoteIssuer: string; + baseCurrency: string; + quoteCurrency: string; } export type GetMarketsResponse = diff --git a/src/services/base.ts b/src/services/base.ts index 7d152a7b50..b2049651c3 100644 --- a/src/services/base.ts +++ b/src/services/base.ts @@ -5,6 +5,9 @@ import { isFractionString, isFloatString } from './validators'; // the type of information source for tokens export type TokenListType = 'FILE' | 'URL'; +// the type of information source for markets +export type MarketListType = 'FILE' | 'URL'; + // represent a token any chain, it may require some work arounds export interface TokenInfo { address: string; diff --git a/src/templates/xrpl.yml b/src/templates/xrpl.yml index 504f888b0e..9532909d32 100644 --- a/src/templates/xrpl.yml +++ b/src/templates/xrpl.yml @@ -2,17 +2,23 @@ networks: mainnet: nodeURL: wss://xrplcluster.com/ tokenListType: 'FILE' - tokenListSource: 'src/chains/xrpl/xrpl_tokens_small.json' + tokenListSource: 'src/chains/xrpl/xrpl_tokens.json' + marketListType: 'FILE' + marketListSource: 'src/chains/xrpl/xrpl_markets.json' nativeCurrencySymbol: 'XRP' testnet: nodeURL: wss://s.altnet.rippletest.net/ tokenListType: 'FILE' tokenListSource: 'src/chains/xrpl/xrpl_tokens_testnet.json' + marketListType: 'FILE' + marketListSource: 'src/chains/xrpl/xrpl_markets_testnet.json' nativeCurrencySymbol: 'XRP' devnet: nodeURL: wss://s.devnet.rippletest.net/ tokenListType: 'FILE' tokenListSource: 'src/chains/xrpl/xrpl_tokens_devnet.json' + marketListType: 'FILE' + marketListSource: 'src/chains/xrpl/xrpl_markets_devnet.json' nativeCurrencySymbol: 'XRP' network: 'xrpl' requestTimeout: 2000 From a820ae3338b89eec0ba48013902aa2c7a0e2ea36 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 6 Jun 2023 14:38:28 +0700 Subject: [PATCH 08/67] WIP --- src/chains/xrpl/xrpl.order-storage.ts | 8 +- src/chains/xrpl/xrpl_markets.json | 2 +- src/connectors/xrpl/xrpl.order-tracker.ts | 42 ++-- src/connectors/xrpl/xrpl.ts | 223 ++++++++++------------ src/connectors/xrpl/xrpl.types.ts | 4 + src/connectors/xrpldex/xrpldex.config.ts | 2 + src/services/connection-manager.ts | 2 + yarn.lock | 19 +- 8 files changed, 165 insertions(+), 137 deletions(-) diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts index e033a3607d..298ebda956 100644 --- a/src/chains/xrpl/xrpl.order-storage.ts +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -21,8 +21,8 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { public async saveOrder( chain: string, chainId: string, - order: Order, - walletAddress: string + walletAddress: string, + order: Order ): Promise { return this.localStorage.save( chain + '/' + chainId + '/' + walletAddress + '/' + order.hash, @@ -33,8 +33,8 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { public async deleteOrder( chain: string, chainId: string, - order: Order, - walletAddress: string + walletAddress: string, + order: Order ): Promise { return this.localStorage.del( chain + '/' + chainId + '/' + walletAddress + '/' + order.hash diff --git a/src/chains/xrpl/xrpl_markets.json b/src/chains/xrpl/xrpl_markets.json index 20e065106d..648a9e189b 100644 --- a/src/chains/xrpl/xrpl_markets.json +++ b/src/chains/xrpl/xrpl_markets.json @@ -47,4 +47,4 @@ "baseTokenID": 1381, "quoteTokenID": 16603 } -] \ No newline at end of file +] diff --git a/src/connectors/xrpl/xrpl.order-tracker.ts b/src/connectors/xrpl/xrpl.order-tracker.ts index db9cf85760..e238b550c6 100644 --- a/src/connectors/xrpl/xrpl.order-tracker.ts +++ b/src/connectors/xrpl/xrpl.order-tracker.ts @@ -1,4 +1,4 @@ -import { Client } from 'xrpl'; +import { Client, Wallet } from 'xrpl'; import { XRPL } from '../../chains/xrpl/xrpl'; import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; import { OrderStatus, TradeType, Order } from './xrpl.types'; @@ -15,32 +15,36 @@ export class OrderTracker { private static _instances: LRUCache; private readonly _xrpl: XRPL; private readonly _orderStorage: XRPLOrderStorage; - private _trackingId: any; + private _wallet: Wallet; public chain: string; public network: string; - private constructor(chain: string, network: string) { + private constructor(chain: string, network: string, wallet: Wallet) { this.chain = chain; this.network = network; this._xrpl = XRPL.getInstance(network); this._orderStorage = this._xrpl.orderStorage; - this._trackingId = undefined; + this._wallet = wallet; } - public static getInstance(chain: string, network: string): OrderTracker { + public static getInstance( + chain: string, + network: string, + wallet: Wallet + ): OrderTracker { if (OrderTracker._instances === undefined) { const config = getXRPLConfig(chain, network); OrderTracker._instances = new LRUCache({ max: config.network.maxLRUCacheInstances, }); } - const instanceKey = chain + network; + const instanceKey = chain + network + wallet.classicAddress; if (!OrderTracker._instances.has(instanceKey)) { OrderTracker._instances.set( instanceKey, - new OrderTracker(chain, network) + new OrderTracker(chain, network, wallet) ); } @@ -48,19 +52,36 @@ export class OrderTracker { } public async saveOrder(order: Order): Promise { - this._orderStorage.saveOrder(this.chain, this.network, order); + this._orderStorage.saveOrder( + this.chain, + this.network, + this._wallet.classicAddress, + order + ); } public async deleteOrder(order: Order): Promise { - this._orderStorage.deleteOrder(this.chain, this.network, order); + this._orderStorage.deleteOrder( + this.chain, + this.network, + this._wallet.classicAddress, + order + ); } public async getOrdersByState( state: OrderStatus ): Promise> { - return this._orderStorage.getOrdersByState(this.chain, this.network, state); + return this._orderStorage.getOrdersByState( + this.chain, + this.network, + this._wallet.classicAddress, + state + ); } + // TODO: Start implementing order tracker! + startTracking(): void { if (this._trackingId) { return; @@ -87,5 +108,4 @@ export class OrderTracker { order.state === OrderStatus.PENDING_CANCEL ); } - } diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index da441dbb1b..dc357915bf 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -11,11 +11,11 @@ import { Market, MarketNotFoundError, Token, - OrderStatus, + // OrderStatus, TradeType, Orderbook, PriceLevel, - Order, + // Order, } from './xrpl.types'; import { ClobMarketsRequest, @@ -28,7 +28,7 @@ import { ClobGetOrderResponse, } from '../../clob/clob.requests'; import { promiseAllInBatches } from '../../chains/xrpl/xrpl.helpers'; -import { isIssuedCurrency } from 'xrpl/dist/npm/models/transactions/common'; +// import { isIssuedCurrency } from 'xrpl/dist/npm/models/transactions/common'; import { CLOBish, NetworkSelectionRequest, @@ -36,7 +36,7 @@ import { import LRUCache from 'lru-cache'; import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; import { isUndefined } from 'mathjs'; -import { OrderType } from './xrpl.types'; +// import { OrderType } from './xrpl.types'; const XRP_FACTOR = 1000000; const ORDERBOOK_LIMIT = 10; @@ -129,14 +129,10 @@ export class XRPLCLOB implements CLOBish { async getMarket(market: MarketInfo): Promise { if (!market) throw new MarketNotFoundError(`No market informed.`); - // Market marketId format: - // 1: "ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/USD.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" - // 2: "XRP/ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" - // 3: "ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/XRP" - let baseTickSize: number; - let baseTransferRate: number; - let quoteTickSize: number; - let quoteTransferRate: number; + let baseTickSize, + baseTransferRate, + quoteTickSize, + quoteTransferRate: number; const zeroTransferRate = 1000000000; const [baseCurrency, quoteCurrency] = market.code.split('/'); @@ -203,11 +199,10 @@ export class XRPLCLOB implements CLOBish { return result; } - async getOrderBook(marketId: string): Promise { - const [base, quote] = marketId.split('/'); - - const [baseCurrency, baseIssuer] = base.split('.'); - const [quoteCurrency, quoteIssuer] = quote.split('.'); + async getOrderBook(market: MarketInfo): Promise { + const [baseCurrency, quoteCurrency] = market.code.split('/'); + const baseIssuer = market.baseIssuer; + const quoteIssuer = market.quoteIssuer; const baseRequest: any = { currency: baseCurrency, @@ -320,111 +315,105 @@ export class XRPLCLOB implements CLOBish { req: ClobGetOrderRequest ): Promise<{ orders: ClobGetOrderResponse['orders'] }> { if (!req.market) return { orders: [] }; - const marketId: string = this.parsedMarkets[req.market].marketId; - - const [base, quote] = marketId.split('/'); - - const [baseCurrency, baseIssuer] = base.split('.'); - const [quoteCurrency, quoteIssuer] = quote.split('.'); - - const orders: Order[] = []; - - const baseRequest: any = { - currency: baseCurrency, - }; - - const quoteRequest: any = { - currency: quoteCurrency, - }; - - if (baseIssuer) { - baseRequest['issuer'] = baseIssuer; - } - if (quoteIssuer) { - quoteRequest['issuer'] = quoteIssuer; - } - - const orderbook_resp_ask: BookOffersResponse = await this._client.request({ - command: 'book_offers', - ledger_index: 'validated', - taker: req.address, - taker_gets: baseRequest, - taker_pays: quoteRequest, - }); - - const orderbook_resp_bid: BookOffersResponse = await this._client.request({ - command: 'book_offers', - ledger_index: 'validated', - taker: req.address, - taker_gets: quoteRequest, - taker_pays: baseRequest, - }); - - let asks = orderbook_resp_ask.result.offers; - let bids = orderbook_resp_bid.result.offers; - - asks = asks.filter((ask) => ask.Account == req.address); - bids = bids.filter((bid) => bid.Account == req.address); - - for (const ask of asks) { - const price = ask.quality ?? '-1'; - let amount: string = ''; - - if (isIssuedCurrency(ask.TakerGets)) { - amount = ask.TakerGets.value; - } else { - amount = ask.TakerGets; - } - - // orders.push({ - // hash: ask.Sequence, - // marketId: marketId, - // price: price, - // amount: amount, - // state: OrderStatus.OPEN, // TODO: create middle class to track this property - // tradeType: TradeType.SELL, - // orderType: OrderType.LIMIT, - // createdAt: Date.now(), // TODO: create middle class to track this property - // updatedAt: Date.now(), // TODO: create middle class to track this property - // }); - } - - for (const bid of bids) { - const price = Math.pow(Number(bid.quality), -1).toString() ?? '-1'; - let amount: string = ''; - - if (isIssuedCurrency(bid.TakerGets)) { - amount = bid.TakerGets.value; - } else { - amount = bid.TakerGets; - } - - // orders.push({ - // hash: bid.Sequence, - // marketId: marketId, - // price: price, - // amount: amount, - // state: OrderStatus.OPEN, // TODO: create middle class to track this property - // tradeType: TradeType.BUY, - // orderType: OrderType.LIMIT, - // createdAt: Date.now(), // TODO: create middle class to track this property - // updatedAt: Date.now(), // TODO: create middle class to track this property - // }); - } - - return { orders } as ClobGetOrderResponse; + // const market = this.parsedMarkets[req.market] as Market; + // const [baseCurrency, quoteCurrency] = market.marketId.split('/'); + // const baseIssuer = market.baseIssuer; + // const quoteIssuer = market.quoteIssuer; + // const orders: Order[] = []; + + // const baseRequest: any = { + // currency: baseCurrency, + // }; + + // const quoteRequest: any = { + // currency: quoteCurrency, + // }; + + // if (baseIssuer) { + // baseRequest['issuer'] = baseIssuer; + // } + // if (quoteIssuer) { + // quoteRequest['issuer'] = quoteIssuer; + // } + + // const orderbook_resp_ask: BookOffersResponse = await this._client.request({ + // command: 'book_offers', + // ledger_index: 'validated', + // taker: req.address, + // taker_gets: baseRequest, + // taker_pays: quoteRequest, + // }); + + // const orderbook_resp_bid: BookOffersResponse = await this._client.request({ + // command: 'book_offers', + // ledger_index: 'validated', + // taker: req.address, + // taker_gets: quoteRequest, + // taker_pays: baseRequest, + // }); + + // let asks = orderbook_resp_ask.result.offers; + // let bids = orderbook_resp_bid.result.offers; + + // asks = asks.filter((ask) => ask.Account == req.address); + // bids = bids.filter((bid) => bid.Account == req.address); + + // for (const ask of asks) { + // const price = ask.quality ?? '-1'; + // let amount: string = ''; + + // if (isIssuedCurrency(ask.TakerGets)) { + // amount = ask.TakerGets.value; + // } else { + // amount = ask.TakerGets; + // } + + // // orders.push({ + // // hash: ask.Sequence, + // // marketId: marketId, + // // price: price, + // // amount: amount, + // // state: OrderStatus.OPEN, // TODO: create middle class to track this property + // // tradeType: TradeType.SELL, + // // orderType: OrderType.LIMIT, + // // createdAt: Date.now(), // TODO: create middle class to track this property + // // updatedAt: Date.now(), // TODO: create middle class to track this property + // // }); + // } + + // for (const bid of bids) { + // const price = Math.pow(Number(bid.quality), -1).toString() ?? '-1'; + // let amount: string = ''; + + // if (isIssuedCurrency(bid.TakerGets)) { + // amount = bid.TakerGets.value; + // } else { + // amount = bid.TakerGets; + // } + + // // orders.push({ + // // hash: bid.Sequence, + // // marketId: marketId, + // // price: price, + // // amount: amount, + // // state: OrderStatus.OPEN, // TODO: create middle class to track this property + // // tradeType: TradeType.BUY, + // // orderType: OrderType.LIMIT, + // // createdAt: Date.now(), // TODO: create middle class to track this property + // // updatedAt: Date.now(), // TODO: create middle class to track this property + // // }); + // } + + return { orders: [] } as ClobGetOrderResponse; } public async postOrder( req: ClobPostOrderRequest ): Promise<{ txHash: string }> { - const marketId: string = this.parsedMarkets[req.market].marketId; - - const [base, quote] = marketId.split('/'); - const [baseCurrency, baseIssuer] = base.split('.'); - const [quoteCurrency, quoteIssuer] = quote.split('.'); - - const market = await this.getMarket(marketId); + const market = this.parsedMarkets[req.market] as Market; + const [baseCurrency, quoteCurrency] = market.marketId.split('/'); + const baseIssuer = market.baseIssuer; + const quoteIssuer = market.quoteIssuer; const xrpl = this._xrpl; const wallet = await xrpl.getWallet(req.address); diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts index e388d701c2..c81a74def6 100644 --- a/src/connectors/xrpl/xrpl.types.ts +++ b/src/connectors/xrpl/xrpl.types.ts @@ -221,3 +221,7 @@ export interface Order { updatedAtLedgerIndex: number; associatedTxns: string[]; } + +export interface InflightOrders { + [hash: number]: Order; +} diff --git a/src/connectors/xrpldex/xrpldex.config.ts b/src/connectors/xrpldex/xrpldex.config.ts index 21db94132b..f1726174e5 100644 --- a/src/connectors/xrpldex/xrpldex.config.ts +++ b/src/connectors/xrpldex/xrpldex.config.ts @@ -4,6 +4,7 @@ import { AvailableNetworks } from '../../services/config-manager-types'; export namespace XRPLDEXConfig { export interface Config { availableNetworks: Array; + chainType: string; tradingTypes: Array; // markets: MarketsConfig; // tickers: TickersConfig; @@ -35,6 +36,7 @@ export namespace XRPLDEXConfig { // source: ConfigManagerV2.getInstance().get(`rippledex.tickers.source`), // url: ConfigManagerV2.getInstance().get(`rippledex.tickers.url`), // }, + chainType: 'XRPL', availableNetworks: [ { chain: 'xrpl', diff --git a/src/services/connection-manager.ts b/src/services/connection-manager.ts index 2d241878ee..2a2e256e25 100644 --- a/src/services/connection-manager.ts +++ b/src/services/connection-manager.ts @@ -166,6 +166,8 @@ export type Connector = T extends Uniswapish ? Tinyman : T extends Plenty ? Plenty + : T extends XRPLish + ? XRPLDEX : never; export async function getConnector( diff --git a/yarn.lock b/yarn.lock index 403f81e100..9d59e7c7d8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12711,7 +12711,7 @@ nan@2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== -nan@^2.13.2, nan@^2.14.0: +nan@^2.13.2: version "2.17.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== @@ -14495,7 +14495,7 @@ ripple-address-codec@^4.2.4: resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.2.4.tgz#a56c2168c8bb81269ea4d15ed96d6824c5a866f8" integrity sha512-roAOjKz94+FboTItey1XRh5qynwt4xvfBLvbbcx+FiR94Yw2x3LrKLF2GVCMCSAh5I6PkcpADg6AbYsUbGN3nA== dependencies: - base-x "^3.0.9" + base-x "3.0.9" create-hash "^1.1.2" ripple-binary-codec@^1.1.3: @@ -14520,6 +14520,17 @@ ripple-binary-codec@^1.4.2: buffer "5.6.0" create-hash "^1.2.0" decimal.js "^10.2.0" + ripple-address-codec "^4.2.4" + +ripple-keypairs@^1.0.3: + version "1.1.5" + resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.1.5.tgz#eabfc371f2ef293fdc462664e18cbba32c4f5c7e" + integrity sha512-wLJXIBsMVazn2Yp/7oP4PvgA4Gd1HtuZLftdEJFNOLgraf82phqa2AnNK3t9f3XeQnApW1jAe/FcFFOY6QUn5w== + dependencies: + bn.js "^5.1.1" + brorand "^1.0.5" + elliptic "^6.5.4" + hash.js "^1.0.3" ripple-address-codec "^4.2.5" ripple-keypairs@^1.1.4: @@ -14531,7 +14542,7 @@ ripple-keypairs@^1.1.4: brorand "^1.0.5" elliptic "^6.5.4" hash.js "^1.0.3" - ripple-address-codec "^4.2.5" + ripple-address-codec "^4.2.4" ripple-lib-transactionparser@0.8.2: version "0.8.2" @@ -17222,7 +17233,7 @@ ws@^3.0.0: safe-buffer "~5.1.0" ultron "~1.1.0" -ws@^8.5.0: +ws@^8.2.2, ws@^8.5.0: version "8.13.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== From f2a2bbc6a97f8703b62db2c70d818d63d291fb95 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 6 Jun 2023 19:05:35 +0700 Subject: [PATCH 09/67] Add order tracker logic wip --- package.json | 2 +- src/connectors/xrpl/xrpl.order-tracker.ts | 509 +++++++++++++++++++++- src/connectors/xrpl/xrpl.types.ts | 41 ++ src/connectors/xrpl/xrpl.util.ts | 0 yarn.lock | 49 +-- 5 files changed, 541 insertions(+), 60 deletions(-) create mode 100644 src/connectors/xrpl/xrpl.util.ts diff --git a/package.json b/package.json index 9baa971ba5..f6752f1766 100644 --- a/package.json +++ b/package.json @@ -96,7 +96,7 @@ "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.5", "xsswap-sdk": "^1.0.1", - "xrpl": "^2.5.0", + "xrpl": "^2.7.0", "yarn": "^1.22.17" }, "devDependencies": { diff --git a/src/connectors/xrpl/xrpl.order-tracker.ts b/src/connectors/xrpl/xrpl.order-tracker.ts index e238b550c6..9f8ec2ac4e 100644 --- a/src/connectors/xrpl/xrpl.order-tracker.ts +++ b/src/connectors/xrpl/xrpl.order-tracker.ts @@ -1,7 +1,32 @@ -import { Client, Wallet } from 'xrpl'; +import { + Client, + Wallet, + TxResponse, + AccountTxResponse, + rippleTimeToUnixTime, + TransactionStream, + TransactionMetadata, + Transaction, +} from 'xrpl'; import { XRPL } from '../../chains/xrpl/xrpl'; import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; -import { OrderStatus, TradeType, Order } from './xrpl.types'; +import { + OrderStatus, + // TradeType, + Order, + InflightOrders, + OrderLocks, + TransaformedAccountTransaction, + TransactionIntentType, + TransactionIntent, + AccountTransaction, + ResponseOnlyTxInfo, +} from './xrpl.types'; +import { + isModifiedNode, + isDeletedNode, +} from 'xrpl/dist/npm/models/transactions/metadata'; + import LRUCache from 'lru-cache'; import { XRPLOrderStorage } from '../../chains/xrpl/xrpl.order-storage'; @@ -82,30 +107,476 @@ export class OrderTracker { // TODO: Start implementing order tracker! - startTracking(): void { - if (this._trackingId) { - return; + // startTracking(): void { + // if (this._trackingId) { + // return; + // } + + // this._trackingId = setInterval(() => { + // this._trackOrders(); + // }, 1000); + // } + + // stopTracking(): void { + // clearInterval(this._trackingId); + // } + + // private async _trackOrders(): Promise { + // return; + // } + + async checkPendingOrder( + client: Client, + order: Order, + omm: OrderMutexManager + ): Promise { + // Check if order is canceled + // Check if order is open + let result: Order = order; + const currentLedgerIndex = await client.getLedgerIndex(); + + // If order state is not pending open or pending cancel, then return + if ( + order.state !== OrderStatus.PENDING_OPEN && + order.state !== OrderStatus.PENDING_CANCEL + ) { + return order; } - this._trackingId = setInterval(() => { - this._trackOrders(); - }, 1000); - } + // If order currentLedgerIndex is less than or equal than order createdAtLedgerIndex, then return + if (currentLedgerIndex <= order.updatedAtLedgerIndex) { + return order; + } + + // Wait until the order is not locked + while (omm.isLocked(order.hash)) { + console.log('Order is locked! Wait for 300ms'); + await new Promise((resolve) => setTimeout(resolve, 300)); + } + + // Lock the order + omm.lock(order.hash); + + // If order state is pending open, check if order is open + if (order.state === OrderStatus.PENDING_OPEN) { + const latestTxnResp = await this.getTransaction( + client, + order.associatedTxns[0] || '' + ); + if (typeof latestTxnResp?.result.meta === 'string') { + result = order; + } else if ( + latestTxnResp?.result.meta?.TransactionResult === 'tesSUCCESS' + ) { + result = { + ...order, + state: OrderStatus.OPEN, + updatedAt: latestTxnResp?.result.date + ? rippleTimeToUnixTime(latestTxnResp?.result.date) + : 0, + updatedAtLedgerIndex: latestTxnResp?.result.ledger_index ?? 0, + }; + console.log('Order opened!'); + } else { + // Handle other cases here + // https://xrpl.org/transaction-results.html + result = order; + } + } - stopTracking(): void { - clearInterval(this._trackingId); + // If order state is pending cancel, check if order is canceled + if (order.state === OrderStatus.PENDING_CANCEL) { + const latestTxnResp = await this.getTransaction( + client, + order.associatedTxns[order.associatedTxns.length - 1] || '' + ); + if (typeof latestTxnResp?.result.meta === 'string') { + result = order; + } else if ( + latestTxnResp?.result.meta?.TransactionResult === 'tesSUCCESS' + ) { + result = { + ...order, + state: OrderStatus.CANCELED, + updatedAt: latestTxnResp?.result.date + ? rippleTimeToUnixTime(latestTxnResp?.result.date) + : 0, + updatedAtLedgerIndex: latestTxnResp?.result.ledger_index ?? 0, + }; + console.log('Order canceled!'); + } else { + // Handle other cases here + // https://xrpl.org/transaction-results.html + result = order; + } + } + + // Release the lock + omm.release(order.hash); + + return result; } - private async _trackOrders(): Promise { - return; + async checkOpenOrder( + inflightOrders: InflightOrders, + account: string, + client: Client, + omm: OrderMutexManager + ) { + // TODO + // 1. Get the minLedgerIndex from the inflightOrders + // 2. Get the transactions stack based on minLedgerIndex and account id + // 3. Process the transactions stack + // 4. Update the inflightOrders + + // 1. Get the minLedgerIndex from the inflightOrders + const hashes = Object.keys(inflightOrders); + let minLedgerIndex = 0; + for (const hash of hashes) { + if ( + inflightOrders[parseInt(hash)].updatedAtLedgerIndex > minLedgerIndex + ) { + minLedgerIndex = inflightOrders[parseInt(hash)].updatedAtLedgerIndex; + } + } + + // 2. Get the transactions stack based on minLedgerIndex and account id + const txStack = await this.getTransactionsStack( + client, + account, + minLedgerIndex + ); + + // 3. Process the transactions stack + if (txStack === null) { + return inflightOrders; + } + + if (txStack.result?.transactions === undefined) { + return inflightOrders; + } + + for (const tx of txStack.result.transactions) { + const transformedTx = this.transformAccountTransaction(tx); + + if (transformedTx === null) { + continue; + } + + const updatedOrders = await this.processTransactionStream( + inflightOrders, + transformedTx, + omm + ); + + // merge updateOrders with inflightOrders + Object.keys(updatedOrders).forEach((hash) => { + inflightOrders[parseInt(hash)] = updatedOrders[parseInt(hash)]; + }); + } } - private isInflightOrder(order: Order): boolean { - return ( - order.state === OrderStatus.OPEN || - order.state === OrderStatus.PARTIALLY_FILLED || - order.state === OrderStatus.PENDING_OPEN || - order.state === OrderStatus.PENDING_CANCEL + async processTransactionStream( + inflightOrders: InflightOrders, + transaction: TransactionStream | TransaformedAccountTransaction, + omm: OrderMutexManager + ): Promise { + const transactionIntent = await this.getTransactionIntentFromStream( + transaction ); + // console.log('Transaction intent: '); + // console.log(inspect(transactionIntent, { colors: true, depth: null })); + + if (transactionIntent.sequence === undefined) { + console.log('No sequence found!'); + return inflightOrders; + } + + const matchOrder = inflightOrders[transactionIntent.sequence]; + + if (matchOrder === undefined) { + console.log('No match order found!'); + return inflightOrders; + } + + // Wait until the order is not locked + while (omm.isLocked(matchOrder.hash)) { + console.log('Order is locked! Wait for 300ms'); + await new Promise((resolve) => setTimeout(resolve, 300)); + } + + // Lock the order + omm.lock(matchOrder.hash); + + matchOrder.updatedAt = transaction.transaction.date + ? rippleTimeToUnixTime(transaction.transaction.date) + : 0; + matchOrder.updatedAtLedgerIndex = transaction.ledger_index ?? 0; + + // Find if transaction.transaction.hash already in associatedTxns, if not, then push it + const foundIndex = matchOrder.associatedTxns.findIndex((hash) => { + return hash === transaction.transaction.hash; + }); + + if (foundIndex === -1) { + matchOrder.associatedTxns.push(transaction.transaction.hash ?? 'UNKNOWN'); + } else { + console.log('Transaction already found!'); + } + + switch (transactionIntent.type) { + case TransactionIntentType.OFFER_CREATE_FINALIZED: + console.log('Offer create finalized!'); + matchOrder.state = OrderStatus.OPEN; + break; + + case TransactionIntentType.OFFER_CANCEL_FINALIZED: + console.log('Offer cancel finalized!'); + matchOrder.state = OrderStatus.CANCELED; + break; + + case TransactionIntentType.OFFER_PARTIAL_FILL: + console.log('Offer partial fill!'); + matchOrder.state = OrderStatus.PARTIALLY_FILLED; + + if (transaction.meta === undefined) { + console.log('No meta found!'); + break; + } + + for (const affnode of transaction.meta.AffectedNodes) { + if (isModifiedNode(affnode)) { + console.log('Modified node found!'); + if (affnode.ModifiedNode.LedgerEntryType == 'Offer') { + // Usually a ModifiedNode of type Offer indicates a previous Offer that + // was partially consumed by this one. + if (affnode.ModifiedNode.FinalFields === undefined) { + console.log('No final fields found!'); + break; + } + + const finalFields = affnode.ModifiedNode.FinalFields as any; + let filledAmount = 0.0; + + // Update filled amount + if (matchOrder.tradeType === 'SELL') { + if (typeof finalFields.TakerGets === 'string') { + filledAmount = + parseFloat(matchOrder.amount) - + parseFloat(finalFields.TakerGets as string); + } else { + filledAmount = + parseFloat(matchOrder.amount) - + parseFloat(finalFields.TakerGets.value as string); + } + } + + if (matchOrder.tradeType === 'BUY') { + if (typeof finalFields.TakerPays === 'string') { + filledAmount = + parseFloat(matchOrder.amount) - + parseFloat(finalFields.TakerPays as string); + } else { + filledAmount = + parseFloat(matchOrder.amount) - + parseFloat(finalFields.TakerPays.value as string); + } + } + + console.log('Filled amount: ', filledAmount); + matchOrder.filledAmount = filledAmount.toString(); + break; + } + } + } + break; + + case TransactionIntentType.OFFER_FILL: + matchOrder.state = OrderStatus.FILLED; + matchOrder.filledAmount = matchOrder.amount; + break; + + case TransactionIntentType.UNKNOWN: + matchOrder.state = OrderStatus.UNKNOWN; + break; + } + + // Check matchOrder value + // console.log('Updated matchOrder: '); + // console.log(inspect(matchOrder, { colors: true, depth: null })); + + // Update inflightOrders + inflightOrders[matchOrder.hash] = matchOrder; + + // Release the lock + omm.release(matchOrder.hash); + + return inflightOrders; + } + + // Utility methods + async getTransactionIntentFromStream( + transaction: TransactionStream | TransaformedAccountTransaction + ): Promise { + const transactionType = transaction.transaction.TransactionType; + + if (transaction.transaction.Sequence === undefined) { + return { type: TransactionIntentType.UNKNOWN }; + } + + if (transaction.meta === undefined) { + return { type: TransactionIntentType.UNKNOWN }; + } + + switch (transactionType) { + case 'OfferCreate': + // return { type: TransactionIntentType.OFFER_CREATE_FINALIZED, hash: transaction.transaction.Sequence }; + for (const affnode of transaction.meta.AffectedNodes) { + if (isModifiedNode(affnode)) { + if (affnode.ModifiedNode.LedgerEntryType == 'Offer') { + // Usually a ModifiedNode of type Offer indicates a previous Offer that + // was partially consumed by this one. + if (affnode.ModifiedNode.FinalFields === undefined) { + return { type: TransactionIntentType.UNKNOWN }; + } + + return { + type: TransactionIntentType.OFFER_PARTIAL_FILL, + sequence: affnode.ModifiedNode.FinalFields.Sequence as number, + }; + } + } else if (isDeletedNode(affnode)) { + if (affnode.DeletedNode.LedgerEntryType == 'Offer') { + // The removed Offer may have been fully consumed, or it may have been + // found to be expired or unfunded. + if (affnode.DeletedNode.FinalFields === undefined) { + return { type: TransactionIntentType.UNKNOWN }; + } + + return { + type: TransactionIntentType.OFFER_FILL, + sequence: affnode.DeletedNode.FinalFields.Sequence as number, + }; + } + } else { + return { + type: TransactionIntentType.OFFER_CREATE_FINALIZED, + sequence: transaction.transaction.Sequence, + }; + } + } + break; + + case 'OfferCancel': + return { + type: TransactionIntentType.OFFER_CANCEL_FINALIZED, + sequence: transaction.transaction.OfferSequence, + }; + } + + return { type: TransactionIntentType.UNKNOWN }; + } + + async getTransaction( + client: Client, + txHash: string + ): Promise { + if (txHash === '') { + return null; + } + + const tx_resp = await client.request({ + command: 'tx', + transaction: txHash, + binary: false, + }); + + const result = tx_resp; + + return result; + } + + async getTransactionsStack( + client: Client, + account: string, + minLedgerIndex: number + ): Promise { + if (account === '') { + return null; + } + + const tx_resp: AccountTxResponse = await client.request({ + command: 'account_tx', + account: account, + ledger_index_min: minLedgerIndex, + binary: false, + }); + + const result = tx_resp; + + return result; + } + + transformAccountTransaction( + transaction: AccountTransaction + ): TransaformedAccountTransaction | null { + if (typeof transaction.meta === 'string') { + return null; + } + + if (transaction.tx === undefined) { + return null; + } + + const transformedTx: TransaformedAccountTransaction = { + ledger_index: transaction.ledger_index, + meta: transaction.meta as TransactionMetadata, + transaction: transaction.tx as Transaction & ResponseOnlyTxInfo, + tx_blob: transaction.tx_blob, + validated: transaction.validated, + }; + + return transformedTx; + } +} + +class OrderMutexManager { + private locks: OrderLocks = {}; + private orders: InflightOrders = {}; // orders to manage + + constructor(ordersToManage: InflightOrders) { + this.orders = ordersToManage; + + Object.keys(this.orders).forEach((hash) => { + this.locks[parseInt(hash)] = false; + }); + } + + // lock an order by hash + lock(hash: number) { + this.locks[hash] = true; + } + + // release an order by hash + release(hash: number) { + this.locks[hash] = false; + } + + // reset all locks + reset() { + Object.keys(this.orders).forEach((hash) => { + this.locks[parseInt(hash)] = false; + }); + } + + // update orders list and locks + updateOrders(orders: InflightOrders) { + this.orders = orders; + this.reset(); + } + + // get lock satus of an order by hash + isLocked(hash: number) { + return this.locks[hash]; } } diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts index c81a74def6..3d65f99342 100644 --- a/src/connectors/xrpl/xrpl.types.ts +++ b/src/connectors/xrpl/xrpl.types.ts @@ -1,5 +1,6 @@ import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable'; import { BookOffer } from 'xrpl'; +import { TransactionMetadata, Transaction } from 'xrpl'; export type IMap = ImmutableMap; export const IMap = ImmutableMap; @@ -30,6 +31,14 @@ export enum OrderType { SELL = 'SELL', // Sell } +export enum TransactionIntentType { + OFFER_CREATE_FINALIZED = 'OfferCreateFinalized', + OFFER_CANCEL_FINALIZED = 'OfferCancelFinalized', + OFFER_PARTIAL_FILL = 'OfferPartialFill', + OFFER_FILL = 'OfferFill', + UNKNOWN = 'UNKNOWN', +} + export interface Token { currency: string; issuer: string; @@ -225,3 +234,35 @@ export interface Order { export interface InflightOrders { [hash: number]: Order; } + +export interface OrderLocks { + [key: number]: boolean; +} + +export interface AccountTransaction { + ledger_index: number; + meta: string | TransactionMetadata; + tx?: Transaction & ResponseOnlyTxInfo; + tx_blob?: string; + validated: boolean; +} + +export interface TransaformedAccountTransaction { + ledger_index: number; + meta: TransactionMetadata; + transaction: Transaction & ResponseOnlyTxInfo; + tx_blob?: string; + validated: boolean; +} + +export interface ResponseOnlyTxInfo { + date?: number; + hash?: string; + ledger_index?: number; + inLedger?: number; +} + +export interface TransactionIntent { + type: TransactionIntentType; + sequence?: number; +} diff --git a/src/connectors/xrpl/xrpl.util.ts b/src/connectors/xrpl/xrpl.util.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/yarn.lock b/yarn.lock index 9d59e7c7d8..6b5fa422b9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -14490,15 +14490,7 @@ ripple-address-codec@^4.1.1, ripple-address-codec@^4.2.5: base-x "^3.0.9" create-hash "^1.1.2" -ripple-address-codec@^4.2.4: - version "4.2.4" - resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.2.4.tgz#a56c2168c8bb81269ea4d15ed96d6824c5a866f8" - integrity sha512-roAOjKz94+FboTItey1XRh5qynwt4xvfBLvbbcx+FiR94Yw2x3LrKLF2GVCMCSAh5I6PkcpADg6AbYsUbGN3nA== - dependencies: - base-x "3.0.9" - create-hash "^1.1.2" - -ripple-binary-codec@^1.1.3: +ripple-binary-codec@^1.1.3, ripple-binary-codec@^1.4.3: version "1.4.3" resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.4.3.tgz#4737044f2aa5da496c1d57619339f26df01cd494" integrity sha512-P4ALjAJWBJpRApTQO+dJCrHE6mZxm7ypZot9OS0a3RCKOWTReNw0pDWfdhCGh1qXh71TeQnAk4CHdMLwR/76oQ== @@ -14510,19 +14502,7 @@ ripple-binary-codec@^1.1.3: decimal.js "^10.2.0" ripple-address-codec "^4.2.5" -ripple-binary-codec@^1.4.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.4.2.tgz#cdc35353e4bc7c3a704719247c82b4c4d0b57dd3" - integrity sha512-EDKIyZMa/6Ay/oNgCwjD9b9CJv0zmBreeHVQeG4BYwy+9GPnIQjNeT5e/aB6OjAnhcmpgbPeBmzwmNVwzxlt0w== - dependencies: - assert "^2.0.0" - big-integer "^1.6.48" - buffer "5.6.0" - create-hash "^1.2.0" - decimal.js "^10.2.0" - ripple-address-codec "^4.2.4" - -ripple-keypairs@^1.0.3: +ripple-keypairs@^1.0.3, ripple-keypairs@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.1.5.tgz#eabfc371f2ef293fdc462664e18cbba32c4f5c7e" integrity sha512-wLJXIBsMVazn2Yp/7oP4PvgA4Gd1HtuZLftdEJFNOLgraf82phqa2AnNK3t9f3XeQnApW1jAe/FcFFOY6QUn5w== @@ -14533,17 +14513,6 @@ ripple-keypairs@^1.0.3: hash.js "^1.0.3" ripple-address-codec "^4.2.5" -ripple-keypairs@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.1.4.tgz#4486fca703b8a2fc4f30cfd568478f3d12c1a911" - integrity sha512-PMMjTOxZmCSBOvHPj6bA+V/HGx7oFgDtGGI8VcZYuaFO2H87UX0X0jhfHy+LA2Xy31WYlD7GaDIDDt2QO+AMtw== - dependencies: - bn.js "^5.1.1" - brorand "^1.0.5" - elliptic "^6.5.4" - hash.js "^1.0.3" - ripple-address-codec "^4.2.4" - ripple-lib-transactionparser@0.8.2: version "0.8.2" resolved "https://registry.yarnpkg.com/ripple-lib-transactionparser/-/ripple-lib-transactionparser-0.8.2.tgz#7aaad3ba1e1aeee1d5bcff32334a7a838f834dce" @@ -17331,19 +17300,19 @@ xmlhttprequest@1.8.0: resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== -xrpl@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/xrpl/-/xrpl-2.6.0.tgz#cfe9bc012e85721213f7f0e373ce5ff1d27e38c4" - integrity sha512-++rKtgO1j65TMm//mird3aGFGFYUn7VP9TjxwJkTUQZOdWkMUfiG2cd2o3tZ/zE07Ev8YVD09KgMZ9HzynJN9Q== +xrpl@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/xrpl/-/xrpl-2.7.0.tgz#3f0d04f1bf79cce34e711b666a6172bd5fd19348" + integrity sha512-P4M/Myxn2U7wl1avAG2Y/JuJMlKw2boLNx0f9woYQJLrS68sICmAfGOYKqPSzwRPc9P7kmydNrk+737nmFW5Vw== dependencies: bignumber.js "^9.0.0" bip32 "^2.0.6" bip39 "^3.0.4" https-proxy-agent "^5.0.0" lodash "^4.17.4" - ripple-address-codec "^4.2.4" - ripple-binary-codec "^1.4.2" - ripple-keypairs "^1.1.4" + ripple-address-codec "^4.2.5" + ripple-binary-codec "^1.4.3" + ripple-keypairs "^1.1.5" ws "^8.2.2" xss@^1.0.8: From b1411d7a7df772edc2b119343fff17534e6948dc Mon Sep 17 00:00:00 2001 From: mlguys Date: Thu, 8 Jun 2023 20:55:33 +0700 Subject: [PATCH 10/67] Finish connecter and add routes test --- src/chains/xrpl/xrpl.order-storage.ts | 112 +++- src/chains/xrpl/xrpl.ts | 31 +- src/chains/xrpl/xrpl_markets.json | 12 +- src/chains/xrpl/xrpl_markets_devnet.json | 51 +- src/chains/xrpl/xrpl_markets_testnet.json | 51 +- src/clob/clob.validators.ts | 7 +- src/connectors/xrpl/xrpl.order-tracker.ts | 267 ++++++---- src/connectors/xrpl/xrpl.ts | 420 ++++++++------- src/connectors/xrpl/xrpl.types.ts | 1 + src/connectors/xrpl/xrpl.util.ts | 0 src/connectors/xrpl/xrpl.utils.ts | 58 +++ src/services/connection-manager.ts | 12 +- src/services/schema/xrpl-schema.json | 4 + src/templates/xrpl.yml | 38 +- test/connectors/xrpl/xrpl.routes.test.ts | 593 ++++++++++++++++++++++ 15 files changed, 1234 insertions(+), 423 deletions(-) delete mode 100644 src/connectors/xrpl/xrpl.util.ts create mode 100644 src/connectors/xrpl/xrpl.utils.ts create mode 100644 test/connectors/xrpl/xrpl.routes.test.ts diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts index 298ebda956..9a011ec133 100644 --- a/src/chains/xrpl/xrpl.order-storage.ts +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -20,30 +20,30 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { public async saveOrder( chain: string, - chainId: string, + network: string, walletAddress: string, order: Order ): Promise { return this.localStorage.save( - chain + '/' + chainId + '/' + walletAddress + '/' + order.hash, + chain + '/' + network + '/' + walletAddress + '/' + order.hash, JSON.stringify(order) ); } public async deleteOrder( chain: string, - chainId: string, + network: string, walletAddress: string, order: Order ): Promise { return this.localStorage.del( - chain + '/' + chainId + '/' + walletAddress + '/' + order.hash + chain + '/' + network + '/' + walletAddress + '/' + order.hash ); } public async getOrders( chain: string, - chainId: string, + network: string, walletAddress: string ): Promise> { return this.localStorage.get((key: string, value: string) => { @@ -51,7 +51,7 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { if ( splitKey.length === 4 && splitKey[0] === chain && - splitKey[1] === chainId && + splitKey[1] === network && splitKey[2] === walletAddress ) { return [splitKey[3], JSON.parse(value)]; @@ -62,7 +62,7 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { public async getOrdersByState( chain: string, - chainId: string, + network: string, walletAddress: string, state: OrderStatus ): Promise> { @@ -71,7 +71,7 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { if ( splitKey.length === 4 && splitKey[0] === chain && - splitKey[1] === chainId && + splitKey[1] === network && splitKey[2] === walletAddress ) { const order: Order = JSON.parse(value); @@ -83,6 +83,102 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { }); } + public async getOrdersByMarket( + chain: string, + network: string, + walletAddress: string, + marketId: string + ): Promise> { + return this.localStorage.get((key: string, value: string) => { + const splitKey = key.split('/'); + if ( + splitKey.length === 4 && + splitKey[0] === chain && + splitKey[1] === network && + splitKey[2] === walletAddress + ) { + const order: Order = JSON.parse(value); + if (order.marketId === marketId) { + return [splitKey[3], order]; + } + } + return; + }); + } + + public async getOrderByMarketAndHash( + chain: string, + network: string, + walletAddress: string, + marketId: string, + hash: string + ): Promise> { + return this.localStorage.get((key: string, value: string) => { + const splitKey = key.split('/'); + if ( + splitKey.length === 4 && + splitKey[0] === chain && + splitKey[1] === network && + splitKey[2] === walletAddress + ) { + const order: Order = JSON.parse(value); + if (order.marketId === marketId && order.hash === parseInt(hash)) { + return [splitKey[3], order]; + } + } + return; + }); + } + + public async getOrdersByHash( + chain: string, + network: string, + walletAddress: string, + hash: string + ): Promise> { + return this.localStorage.get((key: string, value: string) => { + const splitKey = key.split('/'); + if ( + splitKey.length === 4 && + splitKey[0] === chain && + splitKey[1] === network && + splitKey[2] === walletAddress && + splitKey[3] === hash + ) { + const order: Order = JSON.parse(value); + return [splitKey[3], order]; + } + return; + }); + } + + public async getInflightOrders( + chain: string, + network: string, + walletAddress: string + ): Promise> { + return this.localStorage.get((key: string, value: string) => { + const splitKey = key.split('/'); + if ( + splitKey.length === 4 && + splitKey[0] === chain && + splitKey[1] === network && + splitKey[2] === walletAddress + ) { + const order: Order = JSON.parse(value); + if ( + order.state === OrderStatus.OPEN || + order.state === OrderStatus.PENDING_OPEN || + order.state === OrderStatus.PENDING_CANCEL || + order.state === OrderStatus.PARTIALLY_FILLED + ) { + return [splitKey[3], order]; + } + } + return; + }); + } + public async close(handle: string): Promise { await super.close(handle); if (this.refCount < 1) { diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index d8e6c1041a..4126119985 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -19,9 +19,10 @@ import { rootPath } from '../../paths'; import { TokenListType, walletPath, MarketListType } from '../../services/base'; import { ConfigManagerCertPassphrase } from '../../services/config-manager-cert-passphrase'; import { getXRPLConfig } from './xrpl.config'; -import { logger } from '../../services/logger'; +// import { logger } from '../../services/logger'; import { TransactionResponseStatusCode } from './xrpl.requests'; import { XRPLOrderStorage } from './xrpl.order-storage'; +import { OrderTracker } from '../../connectors/xrpl/xrpl.order-tracker'; import { ReferenceCountingCloseable } from '../../services/refcounting-closeable'; export type TokenInfo = { @@ -35,7 +36,7 @@ export type TokenInfo = { export type MarketInfo = { id: number; - code: string; + marketId: string; baseIssuer: string; quoteIssuer: string; baseTokenID: number; @@ -107,13 +108,12 @@ export class XRPL implements XRPLish { minimum: '0', openLedger: '0', }; - // this._client.connect(); this._requestCount = 0; this._metricsLogInterval = 300000; // 5 minutes this.onValidationReceived(this.requestCounter.bind(this)); - setInterval(this.metricLogger.bind(this), this.metricsLogInterval); + // setInterval(this.metricLogger.bind(this), this.metricsLogInterval); this._refCountingHandle = ReferenceCountingCloseable.createHandle(); this._orderStorage = XRPLOrderStorage.getInstance( @@ -190,7 +190,7 @@ export class XRPL implements XRPLish { async init(): Promise { if (!this.ready() && !this.initializing) { this.initializing = true; - await this._client.connect(); + await this.ensureConnection(); await this.loadTokens(this._tokenListSource, this._tokenListType); await this.loadMarkets(this._marketListSource, this._marketListType); await this.getFee(); @@ -221,7 +221,7 @@ export class XRPL implements XRPLish { ); if (this.marketList) { this.marketList.forEach((market: MarketInfo) => - this._marketMap[market.code].push(market) + this._marketMap[market.marketId].push(market) ); } } @@ -381,15 +381,15 @@ export class XRPL implements XRPLish { this._requestCount += 1; } - public metricLogger(): void { - logger.info( - this.requestCount + - ' request(s) sent in last ' + - this.metricsLogInterval / 1000 + - ' seconds.' - ); - this._requestCount = 0; // reset - } + // public metricLogger(): void { + // logger.info( + // this.requestCount + + // ' request(s) sent in last ' + + // this.metricsLogInterval / 1000 + + // ' seconds.' + // ); + // this._requestCount = 0; // reset + // } public get requestCount(): number { return this._requestCount; @@ -446,6 +446,7 @@ export class XRPL implements XRPLish { async close() { if (this._network in XRPL._instances) { + await OrderTracker.stopTrackingOnAllInstancesForNetwork(this._network); await this._orderStorage.close(this._refCountingHandle); delete XRPL._instances[this._network]; } diff --git a/src/chains/xrpl/xrpl_markets.json b/src/chains/xrpl/xrpl_markets.json index 648a9e189b..7cb44f0a81 100644 --- a/src/chains/xrpl/xrpl_markets.json +++ b/src/chains/xrpl/xrpl_markets.json @@ -1,7 +1,7 @@ [ { "id": 1, - "code": "SOLO/XRP", + "marketId": "SOLO-XRP", "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", "quoteIssuer": "XRP", "baseTokenID": 31, @@ -9,7 +9,7 @@ }, { "id": 2, - "code": "SOLO/USDC", + "marketId": "SOLO-USDC", "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", "quoteIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", "baseTokenID": 31, @@ -17,7 +17,7 @@ }, { "id": 3, - "code": "USDC/XRP", + "marketId": "USDC-XRP", "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", "quoteIssuer": "XRP", "baseTokenID": 18465, @@ -25,7 +25,7 @@ }, { "id": 4, - "code": "USDC/USD", + "marketId": "USDC-USD", "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", "baseTokenID": 18465, @@ -33,7 +33,7 @@ }, { "id": 5, - "code": "BTC/XRP", + "marketId": "BTC-XRP", "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", "quoteIssuer": "XRP", "baseTokenID": 1381, @@ -41,7 +41,7 @@ }, { "id": 6, - "code": "BTC/USD", + "marketId": "BTC-USD", "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", "baseTokenID": 1381, diff --git a/src/chains/xrpl/xrpl_markets_devnet.json b/src/chains/xrpl/xrpl_markets_devnet.json index 20e065106d..0637a088a0 100644 --- a/src/chains/xrpl/xrpl_markets_devnet.json +++ b/src/chains/xrpl/xrpl_markets_devnet.json @@ -1,50 +1 @@ -[ - { - "id": 1, - "code": "SOLO/XRP", - "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", - "quoteIssuer": "XRP", - "baseTokenID": 31, - "quoteTokenID": 0 - }, - { - "id": 2, - "code": "SOLO/USDC", - "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", - "quoteIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", - "baseTokenID": 31, - "quoteTokenID": 18465 - }, - { - "id": 3, - "code": "USDC/XRP", - "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", - "quoteIssuer": "XRP", - "baseTokenID": 18465, - "quoteTokenID": 0 - }, - { - "id": 4, - "code": "USDC/USD", - "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", - "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", - "baseTokenID": 18465, - "quoteTokenID": 16603 - }, - { - "id": 5, - "code": "BTC/XRP", - "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", - "quoteIssuer": "XRP", - "baseTokenID": 1381, - "quoteTokenID": 0 - }, - { - "id": 6, - "code": "BTC/USD", - "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", - "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", - "baseTokenID": 1381, - "quoteTokenID": 16603 - } -] \ No newline at end of file +[] \ No newline at end of file diff --git a/src/chains/xrpl/xrpl_markets_testnet.json b/src/chains/xrpl/xrpl_markets_testnet.json index 20e065106d..fe51488c70 100644 --- a/src/chains/xrpl/xrpl_markets_testnet.json +++ b/src/chains/xrpl/xrpl_markets_testnet.json @@ -1,50 +1 @@ -[ - { - "id": 1, - "code": "SOLO/XRP", - "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", - "quoteIssuer": "XRP", - "baseTokenID": 31, - "quoteTokenID": 0 - }, - { - "id": 2, - "code": "SOLO/USDC", - "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", - "quoteIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", - "baseTokenID": 31, - "quoteTokenID": 18465 - }, - { - "id": 3, - "code": "USDC/XRP", - "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", - "quoteIssuer": "XRP", - "baseTokenID": 18465, - "quoteTokenID": 0 - }, - { - "id": 4, - "code": "USDC/USD", - "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", - "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", - "baseTokenID": 18465, - "quoteTokenID": 16603 - }, - { - "id": 5, - "code": "BTC/XRP", - "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", - "quoteIssuer": "XRP", - "baseTokenID": 1381, - "quoteTokenID": 0 - }, - { - "id": 6, - "code": "BTC/USD", - "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", - "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", - "baseTokenID": 1381, - "quoteTokenID": 16603 - } -] \ No newline at end of file +[] diff --git a/src/clob/clob.validators.ts b/src/clob/clob.validators.ts index 84d60b5158..bca44e6d00 100644 --- a/src/clob/clob.validators.ts +++ b/src/clob/clob.validators.ts @@ -12,6 +12,8 @@ import { validateNetwork, } from '../chains/ethereum/ethereum.validators'; +import { isXRPLAddress } from '../chains/xrpl/xrpl.validators'; + import { validateConnector, validateAmount, @@ -95,7 +97,10 @@ export const validateWallet: Validator = mkValidator( 'address', invalidWalletError, (val) => { - return typeof val === 'string' && isAddress(val.slice(0, 42)); + return ( + typeof val === 'string' && + (isAddress(val.slice(0, 42)) || isXRPLAddress(val)) + ); } ); diff --git a/src/connectors/xrpl/xrpl.order-tracker.ts b/src/connectors/xrpl/xrpl.order-tracker.ts index 9f8ec2ac4e..2e2e4a3611 100644 --- a/src/connectors/xrpl/xrpl.order-tracker.ts +++ b/src/connectors/xrpl/xrpl.order-tracker.ts @@ -12,16 +12,15 @@ import { XRPL } from '../../chains/xrpl/xrpl'; import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; import { OrderStatus, - // TradeType, Order, InflightOrders, - OrderLocks, TransaformedAccountTransaction, TransactionIntentType, TransactionIntent, AccountTransaction, ResponseOnlyTxInfo, } from './xrpl.types'; +import { OrderMutexManager } from './xrpl.utils'; import { isModifiedNode, isDeletedNode, @@ -41,6 +40,10 @@ export class OrderTracker { private readonly _xrpl: XRPL; private readonly _orderStorage: XRPLOrderStorage; private _wallet: Wallet; + private _orderMutexManager: OrderMutexManager; + private _inflightOrders: InflightOrders; + private _isTracking: boolean; + private _orderTrackingInterval: number; public chain: string; public network: string; @@ -52,6 +55,11 @@ export class OrderTracker { this._xrpl = XRPL.getInstance(network); this._orderStorage = this._xrpl.orderStorage; this._wallet = wallet; + this._inflightOrders = {}; + this._orderMutexManager = new OrderMutexManager(this._inflightOrders); + this._isTracking = false; + // set tracking interval to 10 seconds + this._orderTrackingInterval = 10000; } public static getInstance( @@ -76,54 +84,162 @@ export class OrderTracker { return OrderTracker._instances.get(instanceKey) as OrderTracker; } - public async saveOrder(order: Order): Promise { - this._orderStorage.saveOrder( - this.chain, - this.network, - this._wallet.classicAddress, - order - ); + public get wallet(): Wallet { + return this._wallet; } - public async deleteOrder(order: Order): Promise { - this._orderStorage.deleteOrder( - this.chain, - this.network, - this._wallet.classicAddress, - order + public get isTracking(): boolean { + return this._isTracking; + } + + public addOrder(order: Order): void { + this._inflightOrders[order.hash] = order; + } + + public getOrder(hash: number): Order | undefined { + return this._inflightOrders[hash]; + } + + async saveInflightOrdersToDB(): Promise { + await Promise.all( + Object.keys(this._inflightOrders).map(async (hash) => { + await this._orderStorage.saveOrder( + this.chain, + this.network, + this._wallet.classicAddress, + this._inflightOrders[parseInt(hash)] + ); + }) ); } - public async getOrdersByState( - state: OrderStatus - ): Promise> { - return this._orderStorage.getOrdersByState( + public async loadInflightOrders(): Promise { + const orders = await this._orderStorage.getInflightOrders( this.chain, this.network, - this._wallet.classicAddress, - state + this._wallet.classicAddress ); + + Object.keys(orders).forEach((hash) => { + this._inflightOrders[parseInt(hash)] = orders[parseInt(hash)]; + }); + this._orderMutexManager.updateOrders(this._inflightOrders); + } + + public async startTracking(): Promise { + if (this._isTracking) { + return; + } + + this._isTracking = true; + + await this._xrpl.ensureConnection(); + await this.loadInflightOrders(); + + const client = this._xrpl.client; + + client.on('transaction', async (event) => { + const updatedOrders = await this.processTransactionStream( + this._inflightOrders, + event, + this._orderMutexManager + ); + + // merge updateOrders with inflightOrders + Object.keys(updatedOrders).forEach((hash) => { + this._inflightOrders[parseInt(hash)] = updatedOrders[parseInt(hash)]; + }); + + this._orderMutexManager.updateOrders(this._inflightOrders); + }); + + await client.request({ + command: 'subscribe', + accounts: [this._wallet.classicAddress], + }); + + while (this._isTracking) { + // Make sure connection is good + await this._xrpl.ensureConnection(); + + // Check pending inflightOrders + const hashes = Object.keys(this._inflightOrders); + for (const hash of hashes) { + this._inflightOrders[parseInt(hash)] = await this.checkPendingOrder( + client, + this._inflightOrders[parseInt(hash)], + this._orderMutexManager + ); + } + + // Check open inflightOrders + const updatedOrders = await this.checkOpenOrders( + this._inflightOrders, + this._wallet.classicAddress, + client, + this._orderMutexManager + ); + + // merge updateOrders with inflightOrders + Object.keys(updatedOrders).forEach((hash) => { + this._inflightOrders[parseInt(hash)] = updatedOrders[parseInt(hash)]; + }); + + // Update mutex manager + this._orderMutexManager.updateOrders(this._inflightOrders); + + // Save inflightOrders to DB + await this.saveInflightOrdersToDB(); + + // Wait for next interval + await new Promise((resolve) => + setTimeout(resolve, this._orderTrackingInterval) + ); + } } - // TODO: Start implementing order tracker! + public async stopTracking(): Promise { + this._isTracking = false; + const client = this._xrpl.client; + client.removeAllListeners('transaction'); - // startTracking(): void { - // if (this._trackingId) { - // return; - // } + if (client.isConnected()) { + await client.request({ + command: 'unsubscribe', + accounts: [this._wallet.classicAddress], + }); + } + } - // this._trackingId = setInterval(() => { - // this._trackOrders(); - // }, 1000); - // } + public static async stopTrackingOnAllInstances(): Promise { + const instances = OrderTracker._instances; + if (instances === undefined) { + return; + } - // stopTracking(): void { - // clearInterval(this._trackingId); - // } + await Promise.all( + Array.from(instances.values()).map(async (instance) => { + await instance.stopTracking(); + }) + ); + } - // private async _trackOrders(): Promise { - // return; - // } + public static async stopTrackingOnAllInstancesForNetwork( + network: string + ): Promise { + const instances = OrderTracker._instances; + if (instances === undefined) { + return; + } + + await Promise.all( + Array.from(instances.values()).map(async (instance) => { + if (instance.network === network) { + await instance.stopTracking(); + } + }) + ); + } async checkPendingOrder( client: Client, @@ -217,8 +333,8 @@ export class OrderTracker { return result; } - async checkOpenOrder( - inflightOrders: InflightOrders, + async checkOpenOrders( + openOrders: InflightOrders, account: string, client: Client, omm: OrderMutexManager @@ -228,15 +344,14 @@ export class OrderTracker { // 2. Get the transactions stack based on minLedgerIndex and account id // 3. Process the transactions stack // 4. Update the inflightOrders + const ordersToCheck: InflightOrders = openOrders; // 1. Get the minLedgerIndex from the inflightOrders - const hashes = Object.keys(inflightOrders); + const hashes = Object.keys(ordersToCheck); let minLedgerIndex = 0; for (const hash of hashes) { - if ( - inflightOrders[parseInt(hash)].updatedAtLedgerIndex > minLedgerIndex - ) { - minLedgerIndex = inflightOrders[parseInt(hash)].updatedAtLedgerIndex; + if (ordersToCheck[parseInt(hash)].updatedAtLedgerIndex > minLedgerIndex) { + minLedgerIndex = ordersToCheck[parseInt(hash)].updatedAtLedgerIndex; } } @@ -249,11 +364,11 @@ export class OrderTracker { // 3. Process the transactions stack if (txStack === null) { - return inflightOrders; + return ordersToCheck; } if (txStack.result?.transactions === undefined) { - return inflightOrders; + return ordersToCheck; } for (const tx of txStack.result.transactions) { @@ -264,16 +379,18 @@ export class OrderTracker { } const updatedOrders = await this.processTransactionStream( - inflightOrders, + ordersToCheck, transformedTx, omm ); - // merge updateOrders with inflightOrders + // merge updateOrders to ordersToCheck Object.keys(updatedOrders).forEach((hash) => { - inflightOrders[parseInt(hash)] = updatedOrders[parseInt(hash)]; + ordersToCheck[parseInt(hash)] = updatedOrders[parseInt(hash)]; }); } + + return ordersToCheck; } async processTransactionStream( @@ -284,19 +401,20 @@ export class OrderTracker { const transactionIntent = await this.getTransactionIntentFromStream( transaction ); + const ordersToCheck = inflightOrders; // console.log('Transaction intent: '); // console.log(inspect(transactionIntent, { colors: true, depth: null })); if (transactionIntent.sequence === undefined) { console.log('No sequence found!'); - return inflightOrders; + return ordersToCheck; } - const matchOrder = inflightOrders[transactionIntent.sequence]; + const matchOrder = ordersToCheck[transactionIntent.sequence]; if (matchOrder === undefined) { console.log('No match order found!'); - return inflightOrders; + return ordersToCheck; } // Wait until the order is not locked @@ -405,13 +523,13 @@ export class OrderTracker { // console.log('Updated matchOrder: '); // console.log(inspect(matchOrder, { colors: true, depth: null })); - // Update inflightOrders - inflightOrders[matchOrder.hash] = matchOrder; + // Update ordersToCheck + ordersToCheck[matchOrder.hash] = matchOrder; // Release the lock omm.release(matchOrder.hash); - return inflightOrders; + return ordersToCheck; } // Utility methods @@ -539,44 +657,3 @@ export class OrderTracker { return transformedTx; } } - -class OrderMutexManager { - private locks: OrderLocks = {}; - private orders: InflightOrders = {}; // orders to manage - - constructor(ordersToManage: InflightOrders) { - this.orders = ordersToManage; - - Object.keys(this.orders).forEach((hash) => { - this.locks[parseInt(hash)] = false; - }); - } - - // lock an order by hash - lock(hash: number) { - this.locks[hash] = true; - } - - // release an order by hash - release(hash: number) { - this.locks[hash] = false; - } - - // reset all locks - reset() { - Object.keys(this.orders).forEach((hash) => { - this.locks[parseInt(hash)] = false; - }); - } - - // update orders list and locks - updateOrders(orders: InflightOrders) { - this.orders = orders; - this.reset(); - } - - // get lock satus of an order by hash - isLocked(hash: number) { - return this.locks[hash]; - } -} diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index dc357915bf..e1e7dc1ffc 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -1,21 +1,22 @@ import { MarketInfo, XRPL } from '../../chains/xrpl/xrpl'; +import { XRPLOrderStorage } from '../../chains/xrpl/xrpl.order-storage'; import { Client, - OfferCancel, + Wallet, Transaction, xrpToDrops, AccountInfoResponse, BookOffersResponse, } from 'xrpl'; +import { OrderTracker } from './xrpl.order-tracker'; import { Market, MarketNotFoundError, Token, - // OrderStatus, TradeType, Orderbook, PriceLevel, - // Order, + Order, } from './xrpl.types'; import { ClobMarketsRequest, @@ -28,7 +29,6 @@ import { ClobGetOrderResponse, } from '../../clob/clob.requests'; import { promiseAllInBatches } from '../../chains/xrpl/xrpl.helpers'; -// import { isIssuedCurrency } from 'xrpl/dist/npm/models/transactions/common'; import { CLOBish, NetworkSelectionRequest, @@ -36,7 +36,6 @@ import { import LRUCache from 'lru-cache'; import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; import { isUndefined } from 'mathjs'; -// import { OrderType } from './xrpl.types'; const XRP_FACTOR = 1000000; const ORDERBOOK_LIMIT = 10; @@ -45,6 +44,7 @@ export class XRPLCLOB implements CLOBish { private static _instances: LRUCache; private readonly _client: Client; private readonly _xrpl: XRPL; + private readonly _orderStorage: XRPLOrderStorage; private _ready: boolean = false; @@ -58,6 +58,7 @@ export class XRPLCLOB implements CLOBish { this._xrpl = XRPL.getInstance(network); this._client = this._xrpl.client; + this._orderStorage = this._xrpl.orderStorage; } public static getInstance(chain: string, network: string): XRPLCLOB { @@ -78,7 +79,7 @@ export class XRPLCLOB implements CLOBish { public async loadMarkets() { const rawMarkets = await this.fetchMarkets(); for (const market of rawMarkets) { - this.parsedMarkets[market.marketId.replace('/', '-')] = market; + this.parsedMarkets[market.marketId] = market; } } @@ -99,16 +100,13 @@ export class XRPLCLOB implements CLOBish { public async markets( req: ClobMarketsRequest ): Promise<{ markets: CLOBMarkets }> { - if (req.market && req.market.split('-').length === 2) { - const resp: CLOBMarkets = {}; - resp[req.market] = this.parsedMarkets[req.market]; - return { markets: resp }; - } - return { markets: this.parsedMarkets }; + if (req.market && req.market in this.parsedMarkets) + return { markets: this.parsedMarkets[req.market] }; + return { markets: Object.values(this.parsedMarkets) }; } public async orderBook(req: ClobOrderbookRequest): Promise { - return await this.getOrderBook(this.parsedMarkets[req.market].marketId); + return await this.getOrderBook(this.parsedMarkets[req.market]); } // Utility methods: @@ -135,7 +133,7 @@ export class XRPLCLOB implements CLOBish { quoteTransferRate: number; const zeroTransferRate = 1000000000; - const [baseCurrency, quoteCurrency] = market.code.split('/'); + const [baseCurrency, quoteCurrency] = market.marketId.split('-'); const baseIssuer = market.baseIssuer; const quoteIssuer = market.quoteIssuer; @@ -185,7 +183,7 @@ export class XRPLCLOB implements CLOBish { const minimumOrderSize = smallestTickSize; const result = { - marketId: market.code, + marketId: market.marketId, minimumOrderSize: minimumOrderSize, tickSize: smallestTickSize, baseTransferRate: baseTransferRate, @@ -200,7 +198,7 @@ export class XRPLCLOB implements CLOBish { } async getOrderBook(market: MarketInfo): Promise { - const [baseCurrency, quoteCurrency] = market.code.split('/'); + const [baseCurrency, quoteCurrency] = market.marketId.split('-'); const baseIssuer = market.baseIssuer; const quoteIssuer = market.quoteIssuer; @@ -219,24 +217,10 @@ export class XRPLCLOB implements CLOBish { quoteRequest['issuer'] = quoteIssuer; } - const orderbook_resp_ask: BookOffersResponse = await this._client.request({ - command: 'book_offers', - ledger_index: 'validated', - taker_gets: baseRequest, - taker_pays: quoteRequest, - limit: ORDERBOOK_LIMIT, - }); - - const orderbook_resp_bid: BookOffersResponse = await this._client.request({ - command: 'book_offers', - ledger_index: 'validated', - taker_gets: quoteRequest, - taker_pays: baseRequest, - limit: ORDERBOOK_LIMIT, - }); - - const asks = orderbook_resp_ask.result.offers; - const bids = orderbook_resp_bid.result.offers; + const { bids, asks } = await this.getOrderBookFromXRPL( + baseRequest, + quoteRequest + ); const buys: PriceLevel[] = []; const sells: PriceLevel[] = []; @@ -246,24 +230,56 @@ export class XRPLCLOB implements CLOBish { let price, quantity: string; - if (typeof bid.taker_gets_funded === 'string') { - price = (Math.pow(parseFloat(bid.quality), -1) / XRP_FACTOR).toString(); - quantity = (parseFloat(bid.taker_gets_funded) * XRP_FACTOR).toString(); - } else if (typeof bid.taker_pays_funded === 'string') { - if (isUndefined(bid.taker_gets_funded)) return; - if (isUndefined(bid.taker_gets_funded?.value)) return; - - price = (Math.pow(parseFloat(bid.quality), -1) * XRP_FACTOR).toString(); - quantity = bid.taker_gets_funded.value; + if ( + isUndefined(bid.taker_gets_funded) && + isUndefined(bid.taker_pays_funded) + ) { + if (typeof bid.TakerGets === 'string') { + price = ( + Math.pow(parseFloat(bid.quality), -1) / XRP_FACTOR + ).toString(); + quantity = (parseFloat(bid.TakerGets) * XRP_FACTOR).toString(); + } else if (typeof bid.TakerPays === 'string') { + if (isUndefined(bid.TakerGets)) return; + if (isUndefined(bid.TakerGets?.value)) return; + + price = ( + Math.pow(parseFloat(bid.quality), -1) * XRP_FACTOR + ).toString(); + quantity = bid.TakerGets.value; + } else { + if (isUndefined(bid.TakerGets)) return; + if (isUndefined(bid.TakerGets?.value)) return; + + price = Math.pow(parseFloat(bid.quality), -1).toString(); + quantity = bid.TakerGets.value; + } } else { - if (isUndefined(bid.taker_gets_funded)) return; - if (isUndefined(bid.taker_gets_funded?.value)) return; - - price = Math.pow(parseFloat(bid.quality), -1).toString(); - quantity = bid.taker_gets_funded.value; + if (typeof bid.taker_gets_funded === 'string') { + price = ( + Math.pow(parseFloat(bid.quality), -1) / XRP_FACTOR + ).toString(); + quantity = ( + parseFloat(bid.taker_gets_funded) * XRP_FACTOR + ).toString(); + } else if (typeof bid.taker_pays_funded === 'string') { + if (isUndefined(bid.taker_gets_funded)) return; + if (isUndefined(bid.taker_gets_funded?.value)) return; + + price = ( + Math.pow(parseFloat(bid.quality), -1) * XRP_FACTOR + ).toString(); + quantity = bid.taker_gets_funded.value; + } else { + if (isUndefined(bid.taker_gets_funded)) return; + if (isUndefined(bid.taker_gets_funded?.value)) return; + + price = Math.pow(parseFloat(bid.quality), -1).toString(); + quantity = bid.taker_gets_funded.value; + } } - buys.concat({ + buys.push({ price, quantity, timestamp: Date.now(), @@ -275,24 +291,48 @@ export class XRPLCLOB implements CLOBish { let price, quantity: string; - if (typeof ask.taker_gets_funded === 'string') { - price = (parseFloat(ask.quality) * XRP_FACTOR).toString(); - quantity = (parseFloat(ask.taker_gets_funded) * XRP_FACTOR).toString(); - } else if (typeof ask.taker_pays_funded === 'string') { - if (isUndefined(ask.taker_gets_funded)) return; - if (isUndefined(ask.taker_gets_funded?.value)) return; - - price = (parseFloat(ask.quality) / XRP_FACTOR).toString(); - quantity = ask.taker_gets_funded.value; + if ( + isUndefined(ask.taker_gets_funded) && + isUndefined(ask.taker_pays_funded) + ) { + if (typeof ask.TakerGets === 'string') { + price = (parseFloat(ask.quality) * XRP_FACTOR).toString(); + quantity = (parseFloat(ask.TakerGets) / XRP_FACTOR).toString(); + } else if (typeof ask.TakerPays === 'string') { + if (isUndefined(ask.TakerGets)) return; + if (isUndefined(ask.TakerGets?.value)) return; + + price = (parseFloat(ask.quality) / XRP_FACTOR).toString(); + quantity = ask.TakerGets.value; + } else { + if (isUndefined(ask.TakerPays)) return; + if (isUndefined(ask.TakerPays?.value)) return; + + price = ask.quality; + quantity = ask.TakerGets.value; + } } else { - if (isUndefined(ask.taker_gets_funded)) return; - if (isUndefined(ask.taker_gets_funded?.value)) return; - - price = ask.quality; - quantity = ask.taker_gets_funded.value; + if (typeof ask.taker_gets_funded === 'string') { + price = (parseFloat(ask.quality) * XRP_FACTOR).toString(); + quantity = ( + parseFloat(ask.taker_gets_funded) / XRP_FACTOR + ).toString(); + } else if (typeof ask.taker_pays_funded === 'string') { + if (isUndefined(ask.taker_gets_funded)) return; + if (isUndefined(ask.taker_gets_funded?.value)) return; + + price = (parseFloat(ask.quality) / XRP_FACTOR).toString(); + quantity = ask.taker_gets_funded.value; + } else { + if (isUndefined(ask.taker_gets_funded)) return; + if (isUndefined(ask.taker_gets_funded?.value)) return; + + price = ask.quality; + quantity = ask.taker_gets_funded.value; + } } - sells.concat({ + sells.push({ price, quantity, timestamp: Date.now(), @@ -315,108 +355,47 @@ export class XRPLCLOB implements CLOBish { req: ClobGetOrderRequest ): Promise<{ orders: ClobGetOrderResponse['orders'] }> { if (!req.market) return { orders: [] }; - // const market = this.parsedMarkets[req.market] as Market; - // const [baseCurrency, quoteCurrency] = market.marketId.split('/'); - // const baseIssuer = market.baseIssuer; - // const quoteIssuer = market.quoteIssuer; - // const orders: Order[] = []; - - // const baseRequest: any = { - // currency: baseCurrency, - // }; - - // const quoteRequest: any = { - // currency: quoteCurrency, - // }; - - // if (baseIssuer) { - // baseRequest['issuer'] = baseIssuer; - // } - // if (quoteIssuer) { - // quoteRequest['issuer'] = quoteIssuer; - // } - - // const orderbook_resp_ask: BookOffersResponse = await this._client.request({ - // command: 'book_offers', - // ledger_index: 'validated', - // taker: req.address, - // taker_gets: baseRequest, - // taker_pays: quoteRequest, - // }); - - // const orderbook_resp_bid: BookOffersResponse = await this._client.request({ - // command: 'book_offers', - // ledger_index: 'validated', - // taker: req.address, - // taker_gets: quoteRequest, - // taker_pays: baseRequest, - // }); - - // let asks = orderbook_resp_ask.result.offers; - // let bids = orderbook_resp_bid.result.offers; - - // asks = asks.filter((ask) => ask.Account == req.address); - // bids = bids.filter((bid) => bid.Account == req.address); - - // for (const ask of asks) { - // const price = ask.quality ?? '-1'; - // let amount: string = ''; - - // if (isIssuedCurrency(ask.TakerGets)) { - // amount = ask.TakerGets.value; - // } else { - // amount = ask.TakerGets; - // } - - // // orders.push({ - // // hash: ask.Sequence, - // // marketId: marketId, - // // price: price, - // // amount: amount, - // // state: OrderStatus.OPEN, // TODO: create middle class to track this property - // // tradeType: TradeType.SELL, - // // orderType: OrderType.LIMIT, - // // createdAt: Date.now(), // TODO: create middle class to track this property - // // updatedAt: Date.now(), // TODO: create middle class to track this property - // // }); - // } - - // for (const bid of bids) { - // const price = Math.pow(Number(bid.quality), -1).toString() ?? '-1'; - // let amount: string = ''; - - // if (isIssuedCurrency(bid.TakerGets)) { - // amount = bid.TakerGets.value; - // } else { - // amount = bid.TakerGets; - // } - - // // orders.push({ - // // hash: bid.Sequence, - // // marketId: marketId, - // // price: price, - // // amount: amount, - // // state: OrderStatus.OPEN, // TODO: create middle class to track this property - // // tradeType: TradeType.BUY, - // // orderType: OrderType.LIMIT, - // // createdAt: Date.now(), // TODO: create middle class to track this property - // // updatedAt: Date.now(), // TODO: create middle class to track this property - // // }); - // } - - return { orders: [] } as ClobGetOrderResponse; + if (!req.address) return { orders: [] }; + + if (!req.orderId) { + const marketId = this.parsedMarkets[req.market].marketId; + const orders = await this._orderStorage.getOrdersByMarket( + this.chain, + this.network, + req.address, + marketId + ); + + const keys = Object.keys(orders); + const ordersArray = keys.map((key) => orders[key]); + + return { orders: ordersArray } as ClobGetOrderResponse; + } else { + const marketId = this.parsedMarkets[req.market].marketId; + const orders = await this._orderStorage.getOrderByMarketAndHash( + this.chain, + this.network, + req.address, + marketId, + req.orderId + ); + + const keys = Object.keys(orders); + const ordersArray = keys.map((key) => orders[key]); + + return { orders: ordersArray } as ClobGetOrderResponse; + } } public async postOrder( req: ClobPostOrderRequest ): Promise<{ txHash: string }> { const market = this.parsedMarkets[req.market] as Market; - const [baseCurrency, quoteCurrency] = market.marketId.split('/'); + const [baseCurrency, quoteCurrency] = market.marketId.split('-'); const baseIssuer = market.baseIssuer; const quoteIssuer = market.quoteIssuer; - const xrpl = this._xrpl; - const wallet = await xrpl.getWallet(req.address); + const wallet = await this.getWallet(req.address); const total = parseFloat(req.price) * parseFloat(req.amount); let we_pay: Token = { @@ -469,37 +448,88 @@ export class XRPLCLOB implements CLOBish { TakerPays: we_get.currency == 'XRP' ? we_get.value : we_get, }; - const prepared = await this._client.autofill(offer); - const signed = wallet.sign(prepared); - const response = await this._client.submit(signed.tx_blob); + const { prepared, signed } = await this.submitTxn(offer, wallet); + + const currentTime = Date.now(); + const currentLedgerIndex = await this.getCurrentBlockNumber(); + + const order: Order = { + hash: prepared.Sequence ? prepared.Sequence : 0, + marketId: baseCurrency + '-' + quoteCurrency, + price: req.price, + amount: req.amount, + filledAmount: '0', + state: 'PENDING_OPEN', + tradeType: req.side, + orderType: 'LIMIT', + createdAt: currentTime, + createdAtLedgerIndex: currentLedgerIndex, + updatedAt: currentTime, + updatedAtLedgerIndex: currentLedgerIndex, + associatedTxns: [signed.hash], + }; + + const orderTracker = OrderTracker.getInstance( + this.chain, + this.network, + wallet + ); - const txHash = response.result.tx_json.hash - ? response.result.tx_json.hash - : ''; + orderTracker.addOrder(order); - return { txHash }; + if (orderTracker.isTracking) { + orderTracker.startTracking(); + } + + return { txHash: signed.hash }; } public async deleteOrder( req: ClobDeleteOrderRequest ): Promise<{ txHash: string }> { - const xrpl = this._xrpl; - const wallet = await xrpl.getWallet(req.address); - const request: OfferCancel = { + const wallet = await this.getWallet(req.address); + const offer: Transaction = { TransactionType: 'OfferCancel', Account: wallet.classicAddress, OfferSequence: parseInt(req.orderId), }; - const prepared = await this._client.autofill(request); - const signed = wallet.sign(prepared); - const response = await this._client.submit(signed.tx_blob); + const { signed } = await this.submitTxn(offer, wallet); - const txHash = response.result.tx_json.hash - ? response.result.tx_json.hash - : ''; + const orderTracker = OrderTracker.getInstance( + this.chain, + this.network, + wallet + ); - return { txHash }; + let order = orderTracker.getOrder(parseInt(req.orderId)); + + if (order) { + order.state = 'PENDING_CANCEL'; + order.updatedAt = Date.now(); + order.updatedAtLedgerIndex = await this.getCurrentBlockNumber(); + order.associatedTxns.push(signed.hash); + } else { + order = { + hash: parseInt(req.orderId), + marketId: '', + price: '', + amount: '', + filledAmount: '', + state: 'PENDING_CANCEL', + tradeType: TradeType.UNKNOWN, + orderType: 'LIMIT', + createdAt: Date.now(), + createdAtLedgerIndex: await this.getCurrentBlockNumber(), + updatedAt: Date.now(), + updatedAtLedgerIndex: await this.getCurrentBlockNumber(), + associatedTxns: [signed.hash], + }; + } + + orderTracker.addOrder(order); + + return { txHash: signed.hash }; } public estimateGas(_req: NetworkSelectionRequest): { @@ -508,6 +538,48 @@ export class XRPLCLOB implements CLOBish { gasLimit: number; gasCost: number; } { + return this.getFeeEstimate(); + } + + private async submitTxn(offer: Transaction, wallet: Wallet) { + const prepared = await this._client.autofill(offer); + const signed = wallet.sign(prepared); + await this._client.submit(signed.tx_blob); + return { prepared, signed }; + } + + private async getWallet(address: string) { + const wallet = await this._xrpl.getWallet(address); + return wallet; + } + + private async getOrderBookFromXRPL(baseRequest: any, quoteRequest: any) { + const orderbook_resp_ask: BookOffersResponse = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker_gets: baseRequest, + taker_pays: quoteRequest, + limit: ORDERBOOK_LIMIT, + }); + + const orderbook_resp_bid: BookOffersResponse = await this._client.request({ + command: 'book_offers', + ledger_index: 'validated', + taker_gets: quoteRequest, + taker_pays: baseRequest, + limit: ORDERBOOK_LIMIT, + }); + + const asks = orderbook_resp_ask.result.offers; + const bids = orderbook_resp_bid.result.offers; + return { bids, asks }; + } + + private async getCurrentBlockNumber() { + return await this._client.getLedgerIndex(); + } + + private getFeeEstimate() { const fee_estimate = this._xrpl.fee; return { diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts index 3d65f99342..2eeb2f08f7 100644 --- a/src/connectors/xrpl/xrpl.types.ts +++ b/src/connectors/xrpl/xrpl.types.ts @@ -10,6 +10,7 @@ export const ISet = ImmutableSet; export enum TradeType { BUY = 'BUY', SELL = 'SELL', + UNKNOWN = 'UNKNOWN', } export enum OrderStatus { diff --git a/src/connectors/xrpl/xrpl.util.ts b/src/connectors/xrpl/xrpl.util.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/connectors/xrpl/xrpl.utils.ts b/src/connectors/xrpl/xrpl.utils.ts new file mode 100644 index 0000000000..70f33ec657 --- /dev/null +++ b/src/connectors/xrpl/xrpl.utils.ts @@ -0,0 +1,58 @@ +import { InflightOrders, OrderLocks } from './xrpl.types'; + +export class OrderMutexManager { + private locks: OrderLocks = {}; + private orders: InflightOrders = {}; // orders to manage + + constructor(ordersToManage: InflightOrders) { + this.orders = ordersToManage; + + Object.keys(this.orders).forEach((hash) => { + this.locks[parseInt(hash)] = false; + }); + } + + // lock an order by hash + lock(hash: number) { + this.locks[hash] = true; + } + + // release an order by hash + release(hash: number) { + this.locks[hash] = false; + } + + // reset all locks + reset() { + Object.keys(this.orders).forEach((hash) => { + this.locks[parseInt(hash)] = false; + }); + } + + // add new orders to manage + addOrders(orders: InflightOrders) { + Object.keys(orders).forEach((hash) => { + this.orders[parseInt(hash)] = orders[parseInt(hash)]; + this.locks[parseInt(hash)] = false; + }); + } + + // remove orders from manage + removeOrders(orders: InflightOrders) { + Object.keys(orders).forEach((hash) => { + delete this.orders[parseInt(hash)]; + delete this.locks[parseInt(hash)]; + }); + } + + // update orders list and locks + updateOrders(orders: InflightOrders) { + this.orders = orders; + this.reset(); + } + + // get lock satus of an order by hash + isLocked(hash: number) { + return this.locks[hash]; + } +} \ No newline at end of file diff --git a/src/services/connection-manager.ts b/src/services/connection-manager.ts index 2a2e256e25..f4c3171bbd 100644 --- a/src/services/connection-manager.ts +++ b/src/services/connection-manager.ts @@ -19,7 +19,7 @@ import { VVSConnector } from '../connectors/vvs/vvs'; import { InjectiveCLOB } from '../connectors/injective/injective'; import { InjectiveClobPerp } from '../connectors/injective_perpetual/injective.perp'; import { Injective } from '../chains/injective/injective'; -import { XRPLDEX } from '../connectors/xrpldex/xrpldex'; +import { XRPLCLOB } from '../connectors/xrpl/xrpl'; import { CLOBish, Ethereumish, @@ -29,7 +29,7 @@ import { Uniswapish, UniswapLPish, Xdcish, - Tezosish + Tezosish, } from './common-interfaces'; import { Traderjoe } from '../connectors/traderjoe/traderjoe'; import { Sushiswap } from '../connectors/sushiswap/sushiswap'; @@ -148,7 +148,7 @@ export type ConnectorUnion = | InjectiveClobPerp | Tinyman | Plenty - | XRPLDEX; + | XRPLCLOB; export type Connector = T extends Uniswapish ? Uniswapish @@ -167,7 +167,7 @@ export type Connector = T extends Uniswapish : T extends Plenty ? Plenty : T extends XRPLish - ? XRPLDEX + ? XRPLCLOB : never; export async function getConnector( @@ -222,8 +222,8 @@ export async function getConnector( connectorInstance = Tinyman.getInstance(network); } else if (chain === 'tezos' && connector === 'plenty') { connectorInstance = Plenty.getInstance(network); - } else if (chain === 'xrpl' && connector === 'xrpldex') { - connectorInstance = XRPLDEX.getInstance(chain, network); + } else if (chain === 'xrpl' && connector === 'xrpl') { + connectorInstance = XRPLCLOB.getInstance(chain, network); } else { throw new Error('unsupported chain or connector'); } diff --git a/src/services/schema/xrpl-schema.json b/src/services/schema/xrpl-schema.json index 6c7a9bf454..5c9b88d2cc 100644 --- a/src/services/schema/xrpl-schema.json +++ b/src/services/schema/xrpl-schema.json @@ -11,6 +11,8 @@ "nodeURL": { "type": "string" }, "tokenListType": { "type": "string" }, "tokenListSource": { "type": "string" }, + "marketListType": { "type": "string" }, + "marketListSource": { "type": "string" }, "nativeCurrencySymbol": { "type": "string" } }, "required": [ @@ -29,6 +31,8 @@ "connectionTimeout": { "type": "integer" }, "feeCushion": { "type": "number" }, "maxFeeXRP": { "type": "string" }, + "orderDbPath": { "type": "string" }, + "maxLRUCacheInstances": { "type": "number" }, "retry": { "type": "object", "required": ["all"], diff --git a/src/templates/xrpl.yml b/src/templates/xrpl.yml index 9532909d32..a9cd319b78 100644 --- a/src/templates/xrpl.yml +++ b/src/templates/xrpl.yml @@ -1,30 +1,32 @@ networks: mainnet: nodeURL: wss://xrplcluster.com/ - tokenListType: 'FILE' - tokenListSource: 'src/chains/xrpl/xrpl_tokens.json' - marketListType: 'FILE' - marketListSource: 'src/chains/xrpl/xrpl_markets.json' - nativeCurrencySymbol: 'XRP' + tokenListType: "FILE" + tokenListSource: "src/chains/xrpl/xrpl_tokens.json" + marketListType: "FILE" + marketListSource: "src/chains/xrpl/xrpl_markets.json" + nativeCurrencySymbol: "XRP" testnet: nodeURL: wss://s.altnet.rippletest.net/ - tokenListType: 'FILE' - tokenListSource: 'src/chains/xrpl/xrpl_tokens_testnet.json' - marketListType: 'FILE' - marketListSource: 'src/chains/xrpl/xrpl_markets_testnet.json' - nativeCurrencySymbol: 'XRP' + tokenListType: "FILE" + tokenListSource: "src/chains/xrpl/xrpl_tokens_testnet.json" + marketListType: "FILE" + marketListSource: "src/chains/xrpl/xrpl_markets_testnet.json" + nativeCurrencySymbol: "XRP" devnet: nodeURL: wss://s.devnet.rippletest.net/ - tokenListType: 'FILE' - tokenListSource: 'src/chains/xrpl/xrpl_tokens_devnet.json' - marketListType: 'FILE' - marketListSource: 'src/chains/xrpl/xrpl_markets_devnet.json' - nativeCurrencySymbol: 'XRP' -network: 'xrpl' + tokenListType: "FILE" + tokenListSource: "src/chains/xrpl/xrpl_tokens_devnet.json" + marketListType: "FILE" + marketListSource: "src/chains/xrpl/xrpl_markets_devnet.json" + nativeCurrencySymbol: "XRP" +network: "xrpl" requestTimeout: 2000 connectionTimeout: 2000 feeCushion: 1.2 -maxFeeXRP: '2' +maxFeeXRP: "2" +orderDbPath: "/db/xrpl.level" +maxLRUCacheInstances: 10 retry: all: maxNumberOfRetries: 3 # 0 means no retries @@ -34,4 +36,4 @@ timeout: parallel: all: batchSize: 1 # 0 means no batching, group all - delayBetweenBatches: 1 # in milliseconds, 0 means no delay \ No newline at end of file + delayBetweenBatches: 1 # in milliseconds, 0 means no delay diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts new file mode 100644 index 0000000000..9127a2d0f0 --- /dev/null +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -0,0 +1,593 @@ +import request from 'supertest'; +import { gatewayApp } from '../../../src/app'; +import { XRPL } from '../../../src/chains/xrpl/xrpl'; +import { XRPLCLOB } from '../../../src/connectors/xrpl/xrpl'; +import { Order } from '../../../src/connectors/xrpl/xrpl.types'; +import { patch, unpatch } from '../../services/patch'; + +let xrpl: XRPL; +let xrplCLOB: XRPLCLOB; + +const TX_HASH = + 'ADEC6FF35C49B9FF5D06741B5D219D194568919A57876E29296AC530EB25F1CB'; // noqa: mock +const MARKET = 'USD-XRP'; + +const MARKETS = { + 'USD-XRP': { + marketId: 'USD-XRP', + minimumOrderSize: 1, + tickSize: 1, + baseTransferRate: 1, + quoteTransferRate: 1, + baseIssuer: 'r999', + quoteIssuer: '', + baseCurrency: 'USD', + quoteCurrency: 'XRP', + }, + 'BTC-XRP': { + marketId: 'BTC-XRP', + minimumOrderSize: 1, + tickSize: 1, + baseTransferRate: 1, + quoteTransferRate: 1, + baseIssuer: 'r888', + quoteIssuer: '', + baseCurrency: 'BTC', + quoteCurrency: 'XRP', + }, +}; + +const ORDER = { + hash: 1234567, + marketId: 'USD-XRP', + price: '1', + amount: '1', + filledAmount: '0', + state: 'OPEN', + tradeType: 'BUY', + orderType: 'LIMIT', + createdAt: 1234567, + createdAtLedgerIndex: 1234567, + updatedAt: 1234567, + updatedAtLedgerIndex: 1234567, + associatedTxns: [TX_HASH], +}; + +const ORDER_BOOK_1 = { + asks: [ + { + Account: 'rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E1282583CD33780', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + '5F8F23607A58A936A5F1D355A7A7491474AABB115C70F5773F3510082EE9B9CB', + PreviousTxnLgrSeq: 80327788, + Sequence: 95908936, + TakerGets: '60133000000', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '31328.481625431', + }, + index: 'BBA5F7052917489072A98DDBE46D3258C5A58BB00771FB784A315F6F9C27A9F2', + owner_funds: '60199074323', + quality: '0.000000520986507', + }, + { + Account: 'rBndiPPKs9k5rjBb7HsEiqXKrz8AfUnqWq', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E12826062F5399E', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + 'AEA372417F1BEA783D317ADA70ECE577424F186F663AD621C2B26350784611AC', + PreviousTxnLgrSeq: 80327786, + Sequence: 2591399, + TakerGets: '2618294750', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '1364.1054', + }, + index: '6F758711E36E2DBDD6806F123B0266FF7C2556D6918F068573E9B8B6F0FA44B0', + owner_funds: '2648294730', + quality: '0.0000005209900069501342', + }, + { + Account: 'r39rBggWHTUN95x31mAdxPCC7XnhuHRHor', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E12843D2E482F0A', + BookNode: '0', + Flags: 131072, + LedgerEntryType: 'Offer', + OwnerNode: '1024a', + PreviousTxnID: + '4C9178098581A43C88E8C42760D9CF86CCDC9B18B99DDA20E91CEA63BC156559', + PreviousTxnLgrSeq: 80327776, + Sequence: 3289832, + TakerGets: '404927402', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '211.046051649151', + }, + index: '41E60EC5FE55577CC6B9DDE07EF0A6659D2B069E25F12F75BCEDCF94E2007B7B', + owner_funds: '23953272168', + quality: '0.0000005211947885145866', + }, + ], + bids: [ + { + Account: 'rhG9NsvuiG9q3acfR8YbuQd5MabMVDocpc', + BookDirectory: + '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5B06E2259ADB6200', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '3', + PreviousTxnID: + 'F4D2C5D67C38C30E611815222D1402ECD438DE167252BF434E2CFA58BF69E804', + PreviousTxnLgrSeq: 80326053, + Sequence: 79612812, + TakerGets: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '5', + }, + TakerPays: '9687505', + index: '379709FE07C7209BF66F31255822049087E1B4977B556462E46D5F26183C2CC7', + owner_funds: '67.76153742499045', + quality: '1937501', + }, + { + Account: 'rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah', + BookDirectory: + '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5B06E72B1C323523', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + '79759B2B346BADF16A3E0A7CC52F7EE77AAE356FAB04178F097329CAEBD25FB5', + PreviousTxnLgrSeq: 80327788, + Sequence: 95908935, + TakerGets: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '102932.4316', + }, + TakerPays: '200000000000', + index: '2C61AF858D251FE41FDF7768B42C412C39A49FC562B063A1A40A4C175AD8C6A6', + owner_funds: '192823.71422378', + quality: '1943022.202926371', + }, + { + Account: 'r39rBggWHTUN95x31mAdxPCC7XnhuHRHor', + BookDirectory: + '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5B06E72BAB10809A', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '1024a', + PreviousTxnID: + 'A5F18BB1F514F879E6B896F2353E84E5AD67D537B494D5C3237B7AA7B93CA9EC', + PreviousTxnLgrSeq: 80327776, + Sequence: 3289831, + TakerGets: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '14.1299883707017', + }, + TakerPays: '27454915', + index: '65D89D4C9EE529A927E4C831EE873F94BEBCDF29D3CCADD676AE77F7B1283A60', + owner_funds: '537.8134698861974', + quality: '1943024.599859354', + }, + ], +}; + +const ORDER_BOOK_2 = { + asks: [ + { + Account: 'rhWVeCa6aL7U5argwYiUpMD9Gxtd6kxkNw', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE491CC6E836AE4000', + BookNode: '0', + Flags: 131072, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + '44A811F5EE120D2215A7F482BDC4C0AF048C82C895C69E7E0FEC6163FCA5A48E', + PreviousTxnLgrSeq: 33839380, + Sequence: 33834963, + TakerGets: '2000000', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '0.0000162', + }, + index: '772B28EBC0CB840329A49BF6B696EC454444560C1EA343EB1C29C9421889C45F', + owner_funds: '1383999940', + quality: '8100000000000000e-27', + }, + { + Account: 'rJHjA2WqqYWSh4ttCPW1b9aSyFkisfz93j', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE491CDAE1056DB731', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + '5AA8D0E7FAB6E1C854F8E69C3C84A095FC9FEFF3BF29072D2D435758CA52DB9E', + PreviousTxnLgrSeq: 17154522, + Sequence: 17130191, + TakerGets: '123123000000', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '1', + }, + index: 'BC91DD45090AC3C2955A1877706BB8E637E1AE9D4A5731A942A06C2887839DB0', + owner_funds: '967999808', + quality: '8121959341471537e-27', + taker_gets_funded: '967999808', + taker_pays_funded: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '0.007862055083128254', + }, + }, + { + Account: 'rMFwQW3F5EvvJ4mu9dBZ3kWnEwj9SHjoGd', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4D1D9B1F5D20D555', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + 'CF1FDE17372D00219401EB4847B3281A2AF76485BEB0EDF7DF7A6D5DC387C6C6', + PreviousTxnLgrSeq: 16948251, + Sequence: 16801746, + TakerGets: '12000000', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '1', + }, + index: '52F6B9F706D7324BBC6DC35EAFBE54E213930C99BD2432261D452E937C2817B8', + owner_funds: '175107078', + quality: '0.00000008333333333333333', + }, + ], + bids: [], +}; + +const GAS_PRICES = { + gasPrice: '500000000', + gasPriceToken: 'Token', + gasLimit: '1000', + gasCost: '100', +}; + +const INVALID_REQUEST = { + chain: 'unknown', + network: 'testnet', +}; + +beforeAll(async () => { + xrpl = XRPL.getInstance('testnet'); + patchConnect(); + xrpl.init(); + xrplCLOB = XRPLCLOB.getInstance('xrpl', 'testnet'); + await xrplCLOB.init(); +}); + +// eslint-disable-next-line @typescript-eslint/no-empty-function +beforeEach(() => { + patchConnect(); + patchFee(); + patchCurrentBlockNumber(); +}); + +afterEach(() => { + unpatch(); +}); + +afterAll(async () => { + await xrpl.close(); +}); + +const patchConnect = () => { + patch(xrpl, 'ensureConnection', () => { + return Promise.resolve(); + }); +}; + +const patchFee = () => { + patch(xrpl, 'getFee', () => { + return { + base: '1', + median: '1', + minimum: '1', + openLedger: '1', + }; + }); +}; + +const patchCurrentBlockNumber = (withError: boolean = false) => { + patch(xrplCLOB, 'getCurrentBlockNumber', () => { + return withError ? -1 : 100; + }); +}; + +const patchMarkets = () => { + patch(xrplCLOB, 'parsedMarkets', MARKETS); +}; + +const patchGetOrderBookFromXRPL = (orderbook: any) => { + patch(xrplCLOB, 'getOrderBookFromXRPL', () => { + return orderbook; + }); +}; + +const patchOrders = () => { + patch(xrplCLOB, '_orderStorage', { + async getOrderByMarketAndHash() { + const orders: Record = { [ORDER.hash]: ORDER }; + return orders; + }, + async getOrdersByMarket() { + const orders: Record = { [ORDER.hash]: ORDER }; + return orders; + }, + }); +}; + +const patchSubmitTxn = () => { + patch(xrplCLOB, 'submitTxn', () => { + return { + prepared: { + Sequence: 1234567, + }, + signed: { + hash: TX_HASH, + }, + }; + }); +}; + +const patchGetWallet = () => { + patch(xrplCLOB, 'getWallet', () => { + return { + classicAddress: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', + }; + }); +}; + +const patchGasPrices = () => { + patch(xrplCLOB, 'getFeeEstimate', () => { + return GAS_PRICES; + }); +}; + +describe('GET /clob/markets', () => { + it('should return 200 with proper request', async () => { + patchMarkets(); + await request(gatewayApp) + .get(`/clob/markets`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.markets.length).toEqual(2); + }); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/markets`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('GET /clob/orderBook', () => { + it('should return 200 with proper request with ORDER_BOOK_1', async () => { + patchMarkets(); + patchGetOrderBookFromXRPL(ORDER_BOOK_1); + await request(gatewayApp) + .get(`/clob/orderBook`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => + expect(res.body.buys[0].price).toEqual('0.5161287658690241') + ) + .expect((res) => expect(res.body.buys[0].quantity).toEqual('5')) + .expect((res) => expect(res.body.sells[0].price).toEqual('0.520986507')) + .expect((res) => expect(res.body.sells[0].quantity).toEqual('60133')); + }); + + it('should return 200 with proper request with ORDER_BOOK_2', async () => { + patchMarkets(); + patchGetOrderBookFromXRPL(ORDER_BOOK_2); + await request(gatewayApp) + .get(`/clob/orderBook`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.buys[0]).toBeUndefined()) + .expect((res) => expect(res.body.sells[0].price).toEqual('0.0000081')) + .expect((res) => expect(res.body.sells[0].quantity).toEqual('2')); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/orderBook`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('GET /clob/ticker', () => { + it('should return 200 with proper request', async () => { + patchMarkets(); + await request(gatewayApp) + .get(`/clob/ticker`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.markets.baseCurrency).toEqual('USD')) + .expect((res) => expect(res.body.markets.quoteCurrency).toEqual('XRP')); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/ticker`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('GET /clob/orders', () => { + it('should return 200 with proper request', async () => { + patchMarkets(); + patchOrders(); + await request(gatewayApp) + .get(`/clob/orders`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock + market: MARKET, + orderId: 1234567, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.orders.length).toEqual(1)); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/orders`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('POST /clob/orders', () => { + it('should return 200 with proper request', async () => { + patchMarkets(); + patchSubmitTxn(); + patchGetWallet(); + await request(gatewayApp) + .post(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock + market: MARKET, + price: '1', + amount: '1', + side: 'BUY', + orderType: 'LIMIT', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.txHash).toEqual(TX_HASH)); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .post(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('DELETE /clob/orders', () => { + it('should return 200 with proper request', async () => { + patchSubmitTxn(); + patchGetWallet(); + await request(gatewayApp) + .delete(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock + market: MARKET, + orderId: '1234567', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.txHash).toEqual(TX_HASH)); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .delete(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('GET /clob/estimateGas', () => { + it('should return 200 with proper request', async () => { + patchGasPrices(); + await request(gatewayApp) + .get(`/clob/estimateGas`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.gasPrice).toEqual(GAS_PRICES.gasPrice)); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/estimateGas`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); From ad5704aac6522ec1964c4f3636b2ba54d7ac8cc9 Mon Sep 17 00:00:00 2001 From: mlguys Date: Thu, 8 Jun 2023 23:31:26 +0700 Subject: [PATCH 11/67] Remove old implementation and disable comments --- src/connectors/xrpl/xrpl.order-tracker.ts | 28 +- src/connectors/xrpldex/xrpldex.config.ts | 47 - src/connectors/xrpldex/xrpldex.controllers.ts | 347 -------- src/connectors/xrpldex/xrpldex.middlewares.ts | 21 - src/connectors/xrpldex/xrpldex.requests.ts | 92 -- src/connectors/xrpldex/xrpldex.routes.ts | 193 ---- src/connectors/xrpldex/xrpldex.ts | 841 ------------------ src/connectors/xrpldex/xrpldex.types.ts | 192 ---- src/connectors/xrpldex/xrpldex.validators.ts | 202 ----- 9 files changed, 14 insertions(+), 1949 deletions(-) delete mode 100644 src/connectors/xrpldex/xrpldex.config.ts delete mode 100644 src/connectors/xrpldex/xrpldex.controllers.ts delete mode 100644 src/connectors/xrpldex/xrpldex.middlewares.ts delete mode 100644 src/connectors/xrpldex/xrpldex.requests.ts delete mode 100644 src/connectors/xrpldex/xrpldex.routes.ts delete mode 100644 src/connectors/xrpldex/xrpldex.ts delete mode 100644 src/connectors/xrpldex/xrpldex.types.ts delete mode 100644 src/connectors/xrpldex/xrpldex.validators.ts diff --git a/src/connectors/xrpl/xrpl.order-tracker.ts b/src/connectors/xrpl/xrpl.order-tracker.ts index 2e2e4a3611..4cf9da7b10 100644 --- a/src/connectors/xrpl/xrpl.order-tracker.ts +++ b/src/connectors/xrpl/xrpl.order-tracker.ts @@ -266,7 +266,7 @@ export class OrderTracker { // Wait until the order is not locked while (omm.isLocked(order.hash)) { - console.log('Order is locked! Wait for 300ms'); + // console.log('Order is locked! Wait for 300ms'); await new Promise((resolve) => setTimeout(resolve, 300)); } @@ -292,7 +292,7 @@ export class OrderTracker { : 0, updatedAtLedgerIndex: latestTxnResp?.result.ledger_index ?? 0, }; - console.log('Order opened!'); + // console.log('Order opened!'); } else { // Handle other cases here // https://xrpl.org/transaction-results.html @@ -319,7 +319,7 @@ export class OrderTracker { : 0, updatedAtLedgerIndex: latestTxnResp?.result.ledger_index ?? 0, }; - console.log('Order canceled!'); + // console.log('Order canceled!'); } else { // Handle other cases here // https://xrpl.org/transaction-results.html @@ -406,20 +406,20 @@ export class OrderTracker { // console.log(inspect(transactionIntent, { colors: true, depth: null })); if (transactionIntent.sequence === undefined) { - console.log('No sequence found!'); + // console.log('No sequence found!'); return ordersToCheck; } const matchOrder = ordersToCheck[transactionIntent.sequence]; if (matchOrder === undefined) { - console.log('No match order found!'); + // console.log('No match order found!'); return ordersToCheck; } // Wait until the order is not locked while (omm.isLocked(matchOrder.hash)) { - console.log('Order is locked! Wait for 300ms'); + // console.log('Order is locked! Wait for 300ms'); await new Promise((resolve) => setTimeout(resolve, 300)); } @@ -439,37 +439,37 @@ export class OrderTracker { if (foundIndex === -1) { matchOrder.associatedTxns.push(transaction.transaction.hash ?? 'UNKNOWN'); } else { - console.log('Transaction already found!'); + // console.log('Transaction already found!'); } switch (transactionIntent.type) { case TransactionIntentType.OFFER_CREATE_FINALIZED: - console.log('Offer create finalized!'); + // console.log('Offer create finalized!'); matchOrder.state = OrderStatus.OPEN; break; case TransactionIntentType.OFFER_CANCEL_FINALIZED: - console.log('Offer cancel finalized!'); + // console.log('Offer cancel finalized!'); matchOrder.state = OrderStatus.CANCELED; break; case TransactionIntentType.OFFER_PARTIAL_FILL: - console.log('Offer partial fill!'); + // console.log('Offer partial fill!'); matchOrder.state = OrderStatus.PARTIALLY_FILLED; if (transaction.meta === undefined) { - console.log('No meta found!'); + // console.log('No meta found!'); break; } for (const affnode of transaction.meta.AffectedNodes) { if (isModifiedNode(affnode)) { - console.log('Modified node found!'); + // console.log('Modified node found!'); if (affnode.ModifiedNode.LedgerEntryType == 'Offer') { // Usually a ModifiedNode of type Offer indicates a previous Offer that // was partially consumed by this one. if (affnode.ModifiedNode.FinalFields === undefined) { - console.log('No final fields found!'); + // console.log('No final fields found!'); break; } @@ -501,7 +501,7 @@ export class OrderTracker { } } - console.log('Filled amount: ', filledAmount); + // console.log('Filled amount: ', filledAmount); matchOrder.filledAmount = filledAmount.toString(); break; } diff --git a/src/connectors/xrpldex/xrpldex.config.ts b/src/connectors/xrpldex/xrpldex.config.ts deleted file mode 100644 index f1726174e5..0000000000 --- a/src/connectors/xrpldex/xrpldex.config.ts +++ /dev/null @@ -1,47 +0,0 @@ -// import { ConfigManagerV2 } from '../../services/config-manager-v2'; -import { AvailableNetworks } from '../../services/config-manager-types'; - -export namespace XRPLDEXConfig { - export interface Config { - availableNetworks: Array; - chainType: string; - tradingTypes: Array; - // markets: MarketsConfig; - // tickers: TickersConfig; - } - - export interface MarketsConfig { - url: string; - blacklist: string[]; - whiteList: string[]; - } - - export interface TickersConfig { - source: string; - url: string; - } - - export const config: Config = { - tradingTypes: ['XRPLDEX_CLOB'], - // markets: { - // url: ConfigManagerV2.getInstance().get(`rippledex.markets.url`), - // blacklist: ConfigManagerV2.getInstance().get( - // `rippledex.markets.blacklist` - // ), - // whiteList: ConfigManagerV2.getInstance().get( - // `rippledex.markets.whitelist` - // ), - // }, - // tickers: { - // source: ConfigManagerV2.getInstance().get(`rippledex.tickers.source`), - // url: ConfigManagerV2.getInstance().get(`rippledex.tickers.url`), - // }, - chainType: 'XRPL', - availableNetworks: [ - { - chain: 'xrpl', - networks: ['mainnet', 'testnet'], - }, - ], - }; -} diff --git a/src/connectors/xrpldex/xrpldex.controllers.ts b/src/connectors/xrpldex/xrpldex.controllers.ts deleted file mode 100644 index 05f1aab434..0000000000 --- a/src/connectors/xrpldex/xrpldex.controllers.ts +++ /dev/null @@ -1,347 +0,0 @@ -import { StatusCodes } from 'http-status-codes'; -import { XRPLish } from '../../chains/xrpl/xrpl'; -import { ResponseWrapper } from '../../services/common-interfaces'; -import { HttpException } from '../../services/error-handler'; -import { XRPLDEXish } from './xrpldex'; -import { - XRPLCancelOrdersRequest, - XRPLCancelOrdersResponse, - XRPLCreateOrdersRequest, - XRPLCreateOrdersResponse, - XRPLGetMarketsRequest, - XRPLGetMarketsResponse, - XRPLGetOpenOrdersRequest, - XRPLGetOpenOrdersResponse, - XRPLGetOrderBooksRequest, - XRPLGetOrderBooksResponse, - XRPLGetTickersRequest, - XRPLGetTickersResponse, - XRPLGetOrdersRequest, - XRPLGetOrdersResponse, -} from './xrpldex.requests'; - -import { - validateGetMarketRequest, - validateGetMarketsRequest, - validateGetTickerRequest, - validateGetTickersRequest, - validateGetOrderBookRequest, - validateGetOrderBooksRequest, -} from './xrpldex.validators'; - -import { MarketNotFoundError } from './xrpldex.types'; - -/** - * Get the mid price of a token pair - * - * @param _xrpl - * @param xrpldex - * @param request - */ -export async function getMarkets( - _xrpl: XRPLish, - xrpldex: XRPLDEXish, - request: XRPLGetMarketsRequest -): Promise> { - const response = new ResponseWrapper(); - - if ('name' in request) { - validateGetMarketRequest(request); - - try { - response.body = await xrpldex.getMarket(request.name); - response.status = StatusCodes.OK; - - return response; - } catch (exception) { - if (exception instanceof MarketNotFoundError) { - throw new HttpException(StatusCodes.NOT_FOUND, exception.message); - } else { - throw exception; - } - } - } - - if ('names' in request) { - validateGetMarketsRequest(request); - - try { - response.body = await xrpldex.getMarkets(request.names); - - response.status = StatusCodes.OK; - - return response; - } catch (exception: any) { - if (exception instanceof MarketNotFoundError) { - throw new HttpException(StatusCodes.NOT_FOUND, exception.message); - } else { - throw exception; - } - } - } - - throw new HttpException(StatusCodes.NOT_FOUND, 'No market specified.'); -} - -/** - * Get the mid price of a token pair - * - * @param _xrpl - * @param xrpldex - * @param request - */ -export async function getTickers( - _xrpl: XRPLish, - xrpldex: XRPLDEXish, - request: XRPLGetTickersRequest -): Promise> { - const response = new ResponseWrapper(); - - if ('marketName' in request) { - validateGetTickerRequest(request); - - try { - response.body = await xrpldex.getTicker(request.marketName); - response.status = StatusCodes.OK; - - return response; - } catch (exception) { - if (exception instanceof MarketNotFoundError) { - throw new HttpException(StatusCodes.NOT_FOUND, exception.message); - } else { - throw exception; - } - } - } - - if ('marketNames' in request) { - validateGetTickersRequest(request); - - try { - response.body = await xrpldex.getTickers(request.marketNames); - - response.status = StatusCodes.OK; - - return response; - } catch (exception: any) { - if (exception instanceof MarketNotFoundError) { - throw new HttpException(StatusCodes.NOT_FOUND, exception.message); - } else { - throw exception; - } - } - } - - throw new HttpException(StatusCodes.NOT_FOUND, 'No market specified.'); -} - -/** - * Get the order book of a token pair - * - * @param _xrpl - * @param xrpldex - * @param request - */ -export async function getOrderBooks( - _xrpl: XRPLish, - xrpldex: XRPLDEXish, - request: XRPLGetOrderBooksRequest -): Promise> { - const response = new ResponseWrapper(); - - if ('marketName' in request) { - validateGetOrderBookRequest(request); - - try { - response.body = await xrpldex.getOrderBook( - request.marketName, - request.limit - ); - response.status = StatusCodes.OK; - - return response; - } catch (exception) { - if (exception instanceof MarketNotFoundError) { - throw new HttpException(StatusCodes.NOT_FOUND, exception.message); - } else { - throw exception; - } - } - } - - if ('marketNames' in request) { - validateGetOrderBooksRequest(request); - - try { - response.body = await xrpldex.getOrderBooks( - request.marketNames, - request.limit - ); - - response.status = StatusCodes.OK; - - return response; - } catch (exception: any) { - if (exception instanceof MarketNotFoundError) { - throw new HttpException(StatusCodes.NOT_FOUND, exception.message); - } else { - throw exception; - } - } - } - - throw new HttpException(StatusCodes.NOT_FOUND, 'No market specified.'); -} - -/** - * Get the detail on the created order - * - * @param _xrpl - * @param xrpldex - * @param request - */ -export async function getOrders( - _xrpl: XRPLish, - xrpldex: XRPLDEXish, - request: XRPLGetOrdersRequest -): Promise> { - const response = new ResponseWrapper(); - - response.body = await xrpldex.getOrders(request.orders); - - response.status = StatusCodes.OK; - - return response; -} - -/** - * Create an order on order book - * - * @param _xrpl - * @param xrpldex - * @param request - */ -export async function createOrders( - _xrpl: XRPLish, - xrpldex: XRPLDEXish, - request: XRPLCreateOrdersRequest -): Promise> { - const response = new ResponseWrapper(); - - if ('order' in request) { - // validateCreateOrderRequest(request.order); TODO: add createOrder validator - - response.body = await xrpldex.createOrders( - [request.order], - request.waitUntilIncludedInBlock - ); - - response.status = StatusCodes.OK; - - return response; - } - - if ('orders' in request) { - // validateCreateOrdersRequest(request.orders); TODO: add createOrders validator - - response.body = await xrpldex.createOrders( - request.orders, - request.waitUntilIncludedInBlock - ); - - response.status = StatusCodes.OK; - - return response; - } - - throw new HttpException( - StatusCodes.BAD_REQUEST, - `No order(s) was/were informed.` - ); -} - -/** - * Cancel an order on order book - * - * @param _xrpl - * @param xrpldex - * @param request - */ -export async function cancelOrders( - _xrpl: XRPLish, - xrpldex: XRPLDEXish, - request: XRPLCancelOrdersRequest -): Promise> { - const response = new ResponseWrapper(); - - if ('order' in request) { - // validateCancelOrderRequest(request.order); TODO: add createOrder validator - - response.body = await xrpldex.cancelOrders( - [request.order], - request.waitUntilIncludedInBlock - ); - - response.status = StatusCodes.OK; - - return response; - } - - if ('orders' in request) { - // validateCancelOrdersRequest(request.orders); TODO: add createOrders validator - - response.body = await xrpldex.cancelOrders( - request.orders, - request.waitUntilIncludedInBlock - ); - - response.status = StatusCodes.OK; - - return response; - } - - throw new HttpException( - StatusCodes.BAD_REQUEST, - `No order(s) was/were informed.` - ); -} - -/** - * Get open orders of a token pair - * - * @param _xrpl - * @param xrpldex - * @param request - */ -export async function getOpenOrders( - _xrpl: XRPLish, - xrpldex: XRPLDEXish, - request: XRPLGetOpenOrdersRequest -): Promise> { - const response = new ResponseWrapper(); - - if ('order' in request) { - // validateOpenOrderRequest(request.order); TODO: add createOrder validator - - response.body = await xrpldex.getOpenOrders({ market: request.order }); - - response.status = StatusCodes.OK; - - return response; - } - - if ('orders' in request) { - // validateOpenOrdersRequest(request.orders); TODO: add createOrders validator - - response.body = await xrpldex.getOpenOrders({ markets: request.orders }); - - response.status = StatusCodes.OK; - - return response; - } - - throw new HttpException( - StatusCodes.BAD_REQUEST, - `No order(s) was/were informed.` - ); -} diff --git a/src/connectors/xrpldex/xrpldex.middlewares.ts b/src/connectors/xrpldex/xrpldex.middlewares.ts deleted file mode 100644 index 3ae00d466a..0000000000 --- a/src/connectors/xrpldex/xrpldex.middlewares.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { NextFunction, Request, Response } from 'express'; -import { XRPLDEX } from './xrpldex'; -import { HttpException } from '../../services/error-handler'; - -export const verifyXRPLDEXIsAvailable = async ( - req: Request, - _res: Response, - next: NextFunction -) => { - if (!req || !req.body || !req.body.network) { - throw new HttpException(404, 'No XRPL network informed.'); - } - - const xrplDEX = XRPLDEX.getInstance(req.body.chain, req.body.network); - - if (!xrplDEX.isConnected()) { - await xrplDEX.client.connect(); - } - - return next(); -}; diff --git a/src/connectors/xrpldex/xrpldex.requests.ts b/src/connectors/xrpldex/xrpldex.requests.ts deleted file mode 100644 index e249010dfc..0000000000 --- a/src/connectors/xrpldex/xrpldex.requests.ts +++ /dev/null @@ -1,92 +0,0 @@ -import { NetworkSelectionRequest } from '../../services/common-interfaces'; -import { - GetOrderBooksRequest, - GetOrderBooksResponse, - GetMarketsRequest, - GetMarketsResponse, - GetTickersRequest, - GetTickersResponse, - CreateOrdersResponse, - CancelOrderRequest, - CreateOrderRequest, - CancelOrdersResponse, - GetOpenOrderRequest, - GetOpenOrdersResponse, - GetOrdersRequest, - GetOrdersResponse, -} from './xrpldex.types'; - -// -// GET /xrpldex/markets -// -export type XRPLGetMarketsRequest = NetworkSelectionRequest & GetMarketsRequest; - -export type XRPLGetMarketsResponse = GetMarketsResponse; - -// -// GET /xrpldex/tickers -// -export type XRPLGetTickersRequest = NetworkSelectionRequest & GetTickersRequest; - -export type XRPLGetTickersResponse = GetTickersResponse; - -// -// GET /xrpldex/orders -// - -export type XRPLGetOrdersRequest = NetworkSelectionRequest & GetOrdersRequest; - -export type XRPLGetOrdersResponse = GetOrdersResponse; - -// -// GET /xrpldex/orderBooks -// - -export type XRPLGetOrderBooksRequest = NetworkSelectionRequest & - GetOrderBooksRequest; - -export type XRPLGetOrderBooksResponse = GetOrderBooksResponse; - -// -// POST /xrpldex/orders -// - -export type XRPLCreateOrdersRequest = NetworkSelectionRequest & - ( - | { order: CreateOrderRequest; waitUntilIncludedInBlock: boolean } - | { - orders: CreateOrderRequest[]; - waitUntilIncludedInBlock: boolean; - } - ); - -export type XRPLCreateOrdersResponse = CreateOrdersResponse; - -// -// DELETE /xrpldex/orders -// - -export type XRPLCancelOrdersRequest = NetworkSelectionRequest & - ( - | { order: CancelOrderRequest; waitUntilIncludedInBlock: boolean } - | { - orders: CancelOrderRequest[]; - waitUntilIncludedInBlock: boolean; - } - ); - -export type XRPLCancelOrdersResponse = CancelOrdersResponse; - -// -// GET /xrpldex/orders/open -// - -export type XRPLGetOpenOrdersRequest = NetworkSelectionRequest & - ( - | { order: GetOpenOrderRequest } - | { - orders: GetOpenOrderRequest[]; - } - ); - -export type XRPLGetOpenOrdersResponse = GetOpenOrdersResponse; diff --git a/src/connectors/xrpldex/xrpldex.routes.ts b/src/connectors/xrpldex/xrpldex.routes.ts deleted file mode 100644 index ad3289fa18..0000000000 --- a/src/connectors/xrpldex/xrpldex.routes.ts +++ /dev/null @@ -1,193 +0,0 @@ -import { Request, Response, Router } from 'express'; -import { StatusCodes } from 'http-status-codes'; -import { XRPL } from '../../chains/xrpl/xrpl'; -import { verifyXRPLIsAvailable } from '../../chains/xrpl/xrpl-middlewares'; -import { validateXRPLAddress } from '../../chains/xrpl/xrpl.validators'; -import { asyncHandler } from '../../services/error-handler'; -import { XRPLDEX } from './xrpldex'; -import { verifyXRPLDEXIsAvailable } from './xrpldex.middlewares'; -import { - cancelOrders, - createOrders, - // getFilledOrders, - getMarkets, - getOpenOrders, - getOrderBooks, - getOrders, - getTickers, -} from './xrpldex.controllers'; -import { - XRPLGetMarketsRequest, - XRPLGetMarketsResponse, - XRPLGetOrderBooksRequest, - XRPLGetOrderBooksResponse, - XRPLGetTickersRequest, - XRPLGetTickersResponse, - XRPLCreateOrdersRequest, - XRPLCreateOrdersResponse, - XRPLCancelOrdersRequest, - XRPLCancelOrdersResponse, - XRPLGetOpenOrdersRequest, - XRPLGetOpenOrdersResponse, - XRPLGetOrdersRequest, - XRPLGetOrdersResponse, -} from './xrpldex.requests'; - -export namespace XRPLDEXRoutes { - export const router = Router(); - - export const getXRPL = async (request: Request) => - await XRPL.getInstance(request.body.network); - - export const getXRPLDEX = async (request: Request) => - await XRPLDEX.getInstance(request.body.chain, request.body.network); - - router.use( - asyncHandler(verifyXRPLIsAvailable), - asyncHandler(verifyXRPLDEXIsAvailable) - ); - - router.get( - '/', - asyncHandler( - async (request: Request, response: Response) => { - const xrplDEX = await getXRPLDEX(request); - - response.status(StatusCodes.OK).json({ - chain: xrplDEX.chain, - network: xrplDEX.network, - connector: xrplDEX.connector, - connection: xrplDEX.ready(), - timestamp: Date.now(), - }); - } - ) - ); - - router.get( - '/markets', - asyncHandler( - async ( - request: Request, - response: Response - ) => { - const xrpl = await getXRPL(request); - const xrplDEX = await getXRPLDEX(request); - - const result = await getMarkets(xrpl, xrplDEX, request.body); - - response.status(result.status).json(result.body); - } - ) - ); - - router.get( - '/tickers', - asyncHandler( - async ( - request: Request, - response: Response - ) => { - const xrpl = await getXRPL(request); - const xrplDEX = await getXRPLDEX(request); - - const result = await getTickers(xrpl, xrplDEX, request.body); - - response.status(result.status).json(result.body); - } - ) - ); - - router.get( - '/orderBooks', - asyncHandler( - async ( - request: Request, - response: Response - ) => { - const xrpl = await getXRPL(request); - const xrplDEX = await getXRPLDEX(request); - - const result = await getOrderBooks(xrpl, xrplDEX, request.body); - - response.status(result.status).json(result.body); - } - ) - ); - - router.get( - '/orders', - asyncHandler( - async ( - request: Request, - response: Response - ) => { - const xrpl = await getXRPL(request); - const xrplDEX = await getXRPLDEX(request); - - validateXRPLAddress(request.body); - - const result = await getOrders(xrpl, xrplDEX, request.body); - - response.status(result.status).json(result.body); - } - ) - ); - - router.post( - '/orders', - asyncHandler( - async ( - request: Request, - response: Response - ) => { - const xrpl = await getXRPL(request); - const xrplDEX = await getXRPLDEX(request); - - validateXRPLAddress(request.body); - - const result = await createOrders(xrpl, xrplDEX, request.body); - - response.status(result.status).json(result.body); - } - ) - ); - - router.delete( - '/orders', - asyncHandler( - async ( - request: Request, - response: Response - ) => { - const xrpl = await getXRPL(request); - const xrplDEX = await getXRPLDEX(request); - - validateXRPLAddress(request.body); - - const result = await cancelOrders(xrpl, xrplDEX, request.body); - - response.status(result.status).json(result.body); - } - ) - ); - - router.get( - '/orders/open', - asyncHandler( - async ( - request: Request, - response: Response - ) => { - const xrpl = await getXRPL(request); - const xrplDEX = await getXRPLDEX(request); - - validateXRPLAddress(request.body); - - const result = await getOpenOrders(xrpl, xrplDEX, request.body); - - response.status(result.status).json(result.body); - } - ) - ); -} diff --git a/src/connectors/xrpldex/xrpldex.ts b/src/connectors/xrpldex/xrpldex.ts deleted file mode 100644 index ccf2bb7bef..0000000000 --- a/src/connectors/xrpldex/xrpldex.ts +++ /dev/null @@ -1,841 +0,0 @@ -import { XRPL } from '../../chains/xrpl/xrpl'; -import { - Client, - OfferCancel, - Transaction, - xrpToDrops, - AccountInfoResponse, - BookOffersResponse, - TxResponse, - TransactionMetadata, -} from 'xrpl'; -import { - Market, - MarketNotFoundError, - IMap, - GetTickerResponse, - Ticker, - GetOrderBookResponse, - Token, - CreateOrderResponse, - OrderStatus, - CreateOrderRequest, - CancelOrderRequest, - CancelOrderResponse, - GetOpenOrderRequest, - GetOpenOrdersResponse, - OrderSide, - GetOrdersResponse, - GetOrderRequest, -} from './xrpldex.types'; -import { promiseAllInBatches } from '../../chains/xrpl/xrpl.helpers'; -import { isIssuedCurrency } from 'xrpl/dist/npm/models/transactions/common'; - -export type XRPLDEXish = XRPLDEX; - -export class XRPLDEX { - private static _instances: { [name: string]: XRPLDEX }; - private readonly _client: Client; - private readonly _xrpl: XRPL; - private _ready: boolean = false; - - initializing: boolean = false; - chain: string; - network: string; - readonly connector: string = 'xrpldex'; - - /** - * Creates a new instance of xrplDEX. - * - * @param chain - * @param network - * @private - */ - private constructor(chain: string, network: string) { - this.chain = chain; - this.network = network; - - this._xrpl = XRPL.getInstance(network); - this._client = this._xrpl.client; - } - - /** - * Initialize the xrplDEX instance. - * - */ - async init() { - if (!this._ready && !this.initializing) { - this.initializing = true; - - if (!this._xrpl.ready()) { - await this._xrpl.init(); - } - - if (!this._client.isConnected()) { - await this._client.connect(); - } - - this._ready = true; - this.initializing = false; - } - } - - public static getInstance(chain: string, network: string): XRPLDEX { - if (XRPLDEX._instances === undefined) { - XRPLDEX._instances = {}; - } - if (!(network in XRPLDEX._instances)) { - XRPLDEX._instances[network] = new XRPLDEX(chain, network); - } - - return XRPLDEX._instances[network]; - } - - /** - * @param name - */ - async getMarket(name?: string): Promise { - if (!name) throw new MarketNotFoundError(`No market informed.`); - // Market name format: - // 1: "ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/USD.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" - // 2: "XRP/ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h" - // 3: "ETH.rcA8X3TVMST1n3CJeAdGk1RdRCHii7N2h/XRP" - let baseTickSize: number; - let baseTransferRate: number; - let quoteTickSize: number; - let quoteTransferRate: number; - const zeroTransferRate = 1000000000; - - const [base, quote] = name.split('/'); - - const [baseCurrency, baseIssuer] = base.split('.'); - const [quoteCurrency, quoteIssuer] = quote.split('.'); - - if (baseCurrency != 'XRP') { - const baseMarketResp: AccountInfoResponse = await this._client.request({ - command: 'account_info', - ledger_index: 'validated', - account: baseIssuer, - }); - - if (!baseMarketResp) - throw new MarketNotFoundError(`Market "${base}" not found.`); - - baseTickSize = baseMarketResp.result.account_data.TickSize ?? 15; - const rawTransferRate = - baseMarketResp.result.account_data.TransferRate ?? zeroTransferRate; - baseTransferRate = rawTransferRate / zeroTransferRate - 1; - } else { - baseTickSize = 6; - baseTransferRate = 0; - } - - if (quoteCurrency != 'XRP') { - const quoteMarketResp: AccountInfoResponse = await this._client.request({ - command: 'account_info', - ledger_index: 'validated', - account: quoteIssuer, - }); - - if (!quoteMarketResp) - throw new MarketNotFoundError(`Market "${quote}" not found.`); - - quoteTickSize = quoteMarketResp.result.account_data.TickSize ?? 15; - const rawTransferRate = - quoteMarketResp.result.account_data.TransferRate ?? zeroTransferRate; - quoteTransferRate = rawTransferRate / zeroTransferRate - 1; - } else { - quoteTickSize = 6; - quoteTransferRate = 0; - } - - const smallestTickSize = Math.min(baseTickSize, quoteTickSize); - const minimumOrderSize = smallestTickSize; - - const result = { - name: name, - minimumOrderSize: minimumOrderSize, - tickSize: smallestTickSize, - baseTransferRate: baseTransferRate, - quoteTransferRate: quoteTransferRate, - }; - - return result; - } - - /** - * @param names - */ - async getMarkets(names: string[]): Promise> { - const markets = IMap().asMutable(); - - const getMarket = async (name: string): Promise => { - const market = await this.getMarket(name); - - markets.set(name, market); - }; - - await promiseAllInBatches(getMarket, names, 1, 1); - - return markets; - } - - /** - * Returns the last traded prices. - */ - async getTicker(marketName: string): Promise { - const [base, quote] = marketName.split('/'); - const [baseCurrency, baseIssuer] = base.split('.'); - const [quoteCurrency, quoteIssuer] = quote.split('.'); - - const baseRequest: any = { - currency: baseCurrency, - }; - - const quoteRequest: any = { - currency: quoteCurrency, - }; - - if (baseIssuer) { - baseRequest['issuer'] = baseIssuer; - } - if (quoteIssuer) { - quoteRequest['issuer'] = quoteIssuer; - } - - const orderbook_resp_ask: any = await this._client.request({ - command: 'book_offers', - ledger_index: 'validated', - taker_gets: baseRequest, - taker_pays: quoteRequest, - limit: 1, - }); - - const orderbook_resp_bid: any = await this._client.request({ - command: 'book_offers', - ledger_index: 'validated', - taker_gets: quoteRequest, - taker_pays: baseRequest, - limit: 1, - }); - - const asks = orderbook_resp_ask.result.offers; - const bids = orderbook_resp_bid.result.offers; - - let topAsk = 0; - let topBid = 0; - - const askQuality = asks.length > 0 ? asks[0].quality : undefined; - const bidQuality = bids.length > 0 ? bids[0].quality : undefined; - - if (baseCurrency === 'XRP' || quoteCurrency === 'XRP') { - if (baseCurrency === 'XRP') { - topAsk = askQuality ? Number(askQuality) * 1000000 : 0; - topBid = bidQuality ? (1 / Number(bidQuality)) * 1000000 : 0; - } else { - topAsk = askQuality ? Number(askQuality) / 1000000 : 0; - topBid = bidQuality ? 1 / Number(bidQuality) / 1000000 : 0; - } - } else { - topAsk = askQuality ? Number(askQuality) : 0; - topBid = bidQuality ? 1 / Number(bidQuality) : 0; - } - - const midPrice = (topAsk + topBid) / 2; - - return { - price: midPrice, - timestamp: Date.now(), - }; - } - - async getTickers(marketNames: string[]): Promise> { - const tickers = IMap().asMutable(); - - const getTicker = async (marketName: string): Promise => { - const ticker = await this.getTicker(marketName); - - tickers.set(marketName, ticker); - }; - - await promiseAllInBatches(getTicker, marketNames, 1, 1); - - return tickers; - } - - async getOrderBook( - marketName: string, - limit: number - ): Promise { - const market = await this.getMarket(marketName); - - const [base, quote] = marketName.split('/'); - - const [baseCurrency, baseIssuer] = base.split('.'); - const [quoteCurrency, quoteIssuer] = quote.split('.'); - - const baseRequest: any = { - currency: baseCurrency, - }; - - const quoteRequest: any = { - currency: quoteCurrency, - }; - - if (baseIssuer) { - baseRequest['issuer'] = baseIssuer; - } - if (quoteIssuer) { - quoteRequest['issuer'] = quoteIssuer; - } - - const orderbook_resp_ask: BookOffersResponse = await this._client.request({ - command: 'book_offers', - ledger_index: 'validated', - taker_gets: baseRequest, - taker_pays: quoteRequest, - limit: limit, - }); - - const orderbook_resp_bid: BookOffersResponse = await this._client.request({ - command: 'book_offers', - ledger_index: 'validated', - taker_gets: quoteRequest, - taker_pays: baseRequest, - limit: limit, - }); - - const asks = orderbook_resp_ask.result.offers; - const bids = orderbook_resp_bid.result.offers; - - let topAsk = 0; - let topBid = 0; - - const askQuality = asks.length > 0 ? asks[0].quality : undefined; - const bidQuality = bids.length > 0 ? bids[0].quality : undefined; - - if (baseCurrency === 'XRP' || quoteCurrency === 'XRP') { - if (baseCurrency === 'XRP') { - topAsk = askQuality ? Number(askQuality) * 1000000 : 0; - topBid = bidQuality ? (1 / Number(bidQuality)) * 1000000 : 0; - } else { - topAsk = askQuality ? Number(askQuality) / 1000000 : 0; - topBid = bidQuality ? 1 / Number(bidQuality) / 1000000 : 0; - } - } else { - topAsk = askQuality ? Number(askQuality) : 0; - topBid = bidQuality ? 1 / Number(bidQuality) : 0; - } - - const midPrice = (topAsk + topBid) / 2; - - return { - market, - asks, - bids, - topAsk, - topBid, - midPrice, - timestamp: Date.now(), - }; - } - - async getOrderBooks( - marketNames: string[], - limit: number - ): Promise> { - const orderBooks = IMap().asMutable(); - - const getOrderBook = async (marketName: string): Promise => { - const orderBook = await this.getOrderBook(marketName, limit); - - orderBooks.set(marketName, orderBook); - }; - - await promiseAllInBatches(getOrderBook, marketNames, 1, 1); - - return orderBooks; - } - - async getOrders(orders: GetOrderRequest[]): Promise { - const queriedOrders: GetOrdersResponse = {}; - - for (const order of orders) { - const tx_resp: TxResponse = await this._client.request({ - command: 'tx', - transaction: order.signature, - binary: false, - }); - - const type = tx_resp.result.TransactionType; - if (tx_resp.result.meta) { - const meta: TransactionMetadata = tx_resp.result - .meta as TransactionMetadata; - const result = meta.TransactionResult; - const prefix = result.slice(0, 3); - - switch (prefix) { - case 'tec': - case 'tef': - case 'tel': - case 'tem': - queriedOrders[order.sequence] = { - sequence: order.sequence, - status: OrderStatus.FAILED, - signature: order.signature, - transactionResult: result, - }; - continue; - } - - if (type == 'OfferCreate') { - if (result == 'tesSUCCESS') { - queriedOrders[order.sequence] = { - sequence: order.sequence, - status: OrderStatus.OPEN, - signature: order.signature, - transactionResult: result, - }; - } else { - queriedOrders[order.sequence] = { - sequence: order.sequence, - status: OrderStatus.PENDING, - signature: order.signature, - transactionResult: result, - }; - } - } else if (type == 'OfferCancel') { - if (result == 'tesSUCCESS') { - queriedOrders[order.sequence] = { - sequence: order.sequence, - status: OrderStatus.CANCELED, - signature: order.signature, - transactionResult: result, - }; - } else { - queriedOrders[order.sequence] = { - sequence: order.sequence, - status: OrderStatus.PENDING, - signature: order.signature, - transactionResult: result, - }; - } - } else { - queriedOrders[order.sequence] = { - sequence: order.sequence, - status: OrderStatus.UNKNOWN, - signature: order.signature, - transactionResult: result, - }; - } - } else { - queriedOrders[order.sequence] = { - sequence: order.sequence, - status: OrderStatus.PENDING, - signature: order.signature, - transactionResult: 'pending', - }; - } - } - - const result = queriedOrders; - return result; - } - - async createOrder(order: CreateOrderRequest): Promise { - const [base, quote] = order.marketName.split('/'); - const [baseCurrency, baseIssuer] = base.split('.'); - const [quoteCurrency, quoteIssuer] = quote.split('.'); - - const market = await this.getMarket(order.marketName); - - const xrpl = XRPL.getInstance(this.network); - const wallet = await xrpl.getWallet(order.walletAddress); - const total = order.price * order.amount; - let fee = 0; - - let we_pay: Token = { - currency: '', - issuer: '', - value: '', - }; - let we_get: Token = { currency: '', issuer: '', value: '' }; - - if (order.side == 'BUY') { - we_pay = { - currency: quoteCurrency, - issuer: quoteIssuer, - value: Number(total.toPrecision(market.tickSize)).toString(), - }; - we_get = { - currency: baseCurrency, - issuer: baseIssuer, - value: Number(order.amount.toPrecision(market.tickSize)).toString(), - }; - - fee = market.baseTransferRate; - } else { - we_pay = { - currency: baseCurrency, - issuer: baseIssuer, - value: Number(order.amount.toPrecision(market.tickSize)).toString(), - }; - we_get = { - currency: quoteCurrency, - issuer: quoteIssuer, - value: Number(total.toPrecision(market.tickSize)).toString(), - }; - - fee = market.quoteTransferRate; - } - - if (we_pay.currency == 'XRP') { - we_pay.value = xrpToDrops(we_pay.value); - } - - if (we_get.currency == 'XRP') { - we_get.value = xrpToDrops(we_get.value); - } - - const offer: Transaction = { - TransactionType: 'OfferCreate', - Account: wallet.classicAddress, - TakerGets: we_pay.currency == 'XRP' ? we_pay.value : we_pay, - TakerPays: we_get.currency == 'XRP' ? we_get.value : we_get, - }; - - if (order.sequence != undefined) { - offer.OfferSequence = order.sequence; - } - - const prepared = await this._client.autofill(offer); - const signed = wallet.sign(prepared); - const response = await this._client.submit(signed.tx_blob); - - const orderStatus = OrderStatus.PENDING; - // const orderSequence = -1; - // const orderLedgerIndex = ''; - - // if (response.result) { - // const meta = response.result.meta; - // if (meta) { - // const affectedNodes = (meta as TransactionMetadata).AffectedNodes; - - // for (const affnode of affectedNodes) { - // if ('ModifiedNode' in affnode) { - // if (affnode.ModifiedNode.LedgerEntryType == 'Offer') { - // // Usually a ModifiedNode of type Offer indicates a previous Offer that - // // was partially consumed by this one. - // orderStatus = OrderStatus.PARTIALLY_FILLED; - // } - // } else if ('DeletedNode' in affnode) { - // if (affnode.DeletedNode.LedgerEntryType == 'Offer') { - // // The removed Offer may have been fully consumed, or it may have been - // // found to be expired or unfunded. - // // TODO: Make a seperate method for cancelling orders - // if (offer.OfferSequence == undefined) { - // orderStatus = OrderStatus.FILLED; - // } - // } - // } else if ('CreatedNode' in affnode) { - // if (affnode.CreatedNode.LedgerEntryType == 'Offer') { - // // Created an Offer object on the Ledger - // orderStatus = OrderStatus.OPEN; - // orderSequence = response.result.Sequence ?? -1; - // orderLedgerIndex = affnode.CreatedNode.LedgerIndex; - // } - // } - // } - // } - // } - - const returnResponse: CreateOrderResponse = { - walletAddress: order.walletAddress, - marketName: order.marketName, - price: order.price, - amount: order.amount, - side: order.side, - type: order.type, - fee, - orderLedgerIndex: response.result.validated_ledger_index.toString(), - status: orderStatus, - sequence: response.result.tx_json.Sequence ?? -1, - signature: response.result.tx_json.hash, - }; - - return returnResponse; - } - - async createOrders( - orders: CreateOrderRequest[], - waitUntilIncludedInBlock: boolean - ): Promise> { - const createdOrders: Record = {}; - - if (orders.length <= 0) { - return createdOrders; - } - - const getCreatedOrders = async ( - order: CreateOrderRequest - ): Promise => { - const createdOrder = await this.createOrder(order); - - createdOrders[createdOrder.sequence] = createdOrder; - }; - - await promiseAllInBatches(getCreatedOrders, orders, 1, 1); - - if (waitUntilIncludedInBlock) { - const queriedOrders: GetOrderRequest[] = []; - let pooling = true; - let transactionStatuses: GetOrdersResponse; - - for (const key in createdOrders) { - const sequence = parseInt(key); - const signature = createdOrders[key].signature; - - if (signature != undefined) { - queriedOrders.push({ - sequence, - signature, - }); - } - } - - while (pooling) { - transactionStatuses = await this.getOrders(queriedOrders); - - for (const key in transactionStatuses) { - if (transactionStatuses[key]['status'] == OrderStatus.PENDING) { - pooling = true; - await new Promise((resolve) => setTimeout(resolve, 5000)); - break; - } - - createdOrders[key]['status'] = transactionStatuses[key]['status']; - createdOrders[key]['transactionResult'] = - transactionStatuses[key]['transactionResult']; - - pooling = false; - } - } - } - - return createdOrders; - } - - async cancelOrder(order: CancelOrderRequest): Promise { - const xrpl = XRPL.getInstance(this.network); - const wallet = await xrpl.getWallet(order.walletAddress); - const request: OfferCancel = { - TransactionType: 'OfferCancel', - Account: wallet.classicAddress, - OfferSequence: order.offerSequence, - }; - - const prepared = await this._client.autofill(request); - const signed = wallet.sign(prepared); - const response = await this._client.submit(signed.tx_blob); - - const orderStatus = OrderStatus.PENDING; - - // if (response.result) { - // const meta = response.result.meta; - // if (meta) { - // const affectedNodes = (meta as TransactionMetadata).AffectedNodes; - - // for (const affnode of affectedNodes) { - // if ('DeletedNode' in affnode) { - // if (affnode.DeletedNode.LedgerEntryType == 'Offer') { - // orderStatus = OrderStatus.CANCELED; - // } - // } - // } - // } - // } - - const returnResponse: CancelOrderResponse = { - walletAddress: order.walletAddress, - status: orderStatus, - signature: response.result.tx_json.hash, - }; - - return returnResponse; - } - - async cancelOrders( - orders: CancelOrderRequest[], - waitUntilIncludedInBlock: boolean - ): Promise> { - const cancelledOrders: Record = {}; - - if (orders.length <= 0) { - return cancelledOrders; - } - - const getCancelledOrders = async ( - order: CancelOrderRequest - ): Promise => { - const cancelledOrder = await this.cancelOrder(order); - - cancelledOrders[order.offerSequence] = cancelledOrder; - }; - - await promiseAllInBatches(getCancelledOrders, orders, 1, 1); - - if (waitUntilIncludedInBlock) { - const queriedOrders: GetOrderRequest[] = []; - let pooling = true; - let transactionStatuses: GetOrdersResponse; - - for (const key in cancelledOrders) { - const sequence = parseInt(key); - const signature = cancelledOrders[key].signature; - - if (signature != undefined) { - queriedOrders.push({ - sequence, - signature, - }); - } - } - - while (pooling) { - transactionStatuses = await this.getOrders(queriedOrders); - - for (const key in transactionStatuses) { - if (transactionStatuses[key]['status'] == OrderStatus.PENDING) { - pooling = true; - await new Promise((resolve) => setTimeout(resolve, 5000)); - break; - } - - cancelledOrders[key]['status'] = transactionStatuses[key]['status']; - cancelledOrders[key]['transactionResult'] = - transactionStatuses[key]['transactionResult']; - - pooling = false; - } - } - } - - return cancelledOrders; - } - - async getOpenOrders(params: { - market?: GetOpenOrderRequest; - markets?: GetOpenOrderRequest[]; - }): Promise { - const openOrders: any = {}; - - let marketArray: GetOpenOrderRequest[] = []; - if (params.market) marketArray.push(params.market); - if (params.markets) { - marketArray = marketArray.concat(params.markets); - } - - for (const market of marketArray) { - const [base, quote] = market.marketName.split('/'); - - const [baseCurrency, baseIssuer] = base.split('.'); - const [quoteCurrency, quoteIssuer] = quote.split('.'); - - const openOrdersInMarket: any = {}; - - const baseRequest: any = { - currency: baseCurrency, - }; - - const quoteRequest: any = { - currency: quoteCurrency, - }; - - if (baseIssuer) { - baseRequest['issuer'] = baseIssuer; - } - if (quoteIssuer) { - quoteRequest['issuer'] = quoteIssuer; - } - - const orderbook_resp_ask: BookOffersResponse = await this._client.request( - { - command: 'book_offers', - ledger_index: 'validated', - taker: market.walletAddress, - taker_gets: baseRequest, - taker_pays: quoteRequest, - } - ); - - const orderbook_resp_bid: BookOffersResponse = await this._client.request( - { - command: 'book_offers', - ledger_index: 'validated', - taker: market.walletAddress, - taker_gets: quoteRequest, - taker_pays: baseRequest, - } - ); - - let asks = orderbook_resp_ask.result.offers; - let bids = orderbook_resp_bid.result.offers; - - asks = asks.filter((ask) => ask.Account == market.walletAddress); - bids = bids.filter((bid) => bid.Account == market.walletAddress); - - for (const ask of asks) { - const price = ask.quality ?? '-1'; - let amount: string = ''; - - if (isIssuedCurrency(ask.TakerGets)) { - amount = ask.TakerGets.value; - } else { - amount = ask.TakerGets; - } - - openOrdersInMarket[String(ask.Sequence)] = { - sequence: ask.Sequence, - marketName: market.marketName, - price: price, - amount: amount, - side: OrderSide.SELL, - }; - } - - for (const bid of bids) { - const price = Math.pow(Number(bid.quality), -1).toString() ?? '-1'; - let amount: string = ''; - - if (isIssuedCurrency(bid.TakerGets)) { - amount = bid.TakerGets.value; - } else { - amount = bid.TakerGets; - } - - openOrdersInMarket[String(bid.Sequence)] = { - sequence: bid.Sequence, - marketName: market.marketName, - price: price, - amount: amount, - side: OrderSide.BUY, - }; - } - - openOrders[market.marketName] = openOrdersInMarket; - } - return openOrders; - } - - ready(): boolean { - return this._ready; - } - - isConnected(): boolean { - return this._client.isConnected(); - } - - public get client() { - return this._client; - } -} diff --git a/src/connectors/xrpldex/xrpldex.types.ts b/src/connectors/xrpldex/xrpldex.types.ts deleted file mode 100644 index de69b77fdc..0000000000 --- a/src/connectors/xrpldex/xrpldex.types.ts +++ /dev/null @@ -1,192 +0,0 @@ -import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable'; -import { BookOffer } from 'xrpl'; - -export type IMap = ImmutableMap; -export const IMap = ImmutableMap; -export type ISet = ImmutableSet; -export const ISet = ImmutableSet; - -export enum OrderSide { - BUY = 'BUY', - SELL = 'SELL', -} - -export enum OrderStatus { - OPEN = 'OPEN', - CANCELED = 'CANCELED', - FILLED = 'FILLED', - PARTIALLY_FILLED = 'PARTIALLY_FILLED', - PENDING = 'PENDING', - FAILED = 'FAILED', - UNKNOWN = 'UNKNOWN', -} - -export enum OrderType { - LIMIT = 'LIMIT', - PASSIVE = 'PASSIVE', - IOC = 'IOC', // Immediate or Cancel - FOK = 'FOK', // Fill or Kill - SELL = 'SELL', // Sell -} - -export interface Token { - currency: string; - issuer: string; - value: string; -} - -export type GetMarketsRequest = - | Record - | { name: string } - | { names: string[] }; - -export interface GetMarketResponse { - name: string; - minimumOrderSize: number; - tickSize: number; - baseTransferRate: number; - quoteTransferRate: number; -} - -export interface Market { - name: string; - minimumOrderSize: number; - tickSize: number; - baseTransferRate: number; - quoteTransferRate: number; -} - -export type GetMarketsResponse = - | IMap - | GetMarketResponse; - -export type GetTickersRequest = - | Record - | { marketName: string } - | { marketNames: string[] }; - -export interface GetTickerResponse { - price: number; - timestamp: number; -} - -export type GetTickersResponse = - | IMap - | GetTickerResponse; - -export interface Ticker { - price: number; - timestamp: number; -} - -export interface GetOrderRequest { - sequence: number; - signature: string; -} - -export type GetOrdersRequest = - | Record - | { orders: GetOrderRequest[] }; - -export interface GetOrderResponse { - sequence: number; - status: OrderStatus; - signature: string; - transactionResult: string; -} - -export type GetOrdersResponse = Record; - -export type GetOrderBooksRequest = - | Record - | { marketName: string; limit: number } - | { marketNames: string[]; limit: number }; - -export interface GetOrderBookResponse { - market: GetMarketResponse; - topAsk: number; - topBid: number; - midPrice: number; - bids: BookOffer[]; - asks: BookOffer[]; - timestamp: number; -} - -export type GetOrderBooksResponse = - | IMap - | GetOrderBookResponse; - -export interface CreateOrderRequest { - walletAddress: string; - marketName: string; - side: OrderSide; - price: number; - amount: number; - type?: OrderType; - sequence?: number; -} - -export interface CreateOrderResponse { - walletAddress: string; - marketName: string; - price: number; - amount: number; - side: OrderSide; - status?: OrderStatus; - type?: OrderType; - fee?: number; - sequence: number; - orderLedgerIndex?: string; - signature?: string; - transactionResult?: string; -} - -export type CreateOrdersResponse = - | IMap - | CreateOrderResponse - | Record; - -export interface CancelOrderRequest { - walletAddress: string; - offerSequence: number; -} - -export type CancelOrdersRequest = - | Record - | { order: CancelOrderRequest } - | { orders: CancelOrderRequest[] }; - -export interface CancelOrderResponse { - walletAddress: string; - status?: OrderStatus; - signature?: string; - transactionResult?: string; -} - -export type CancelOrdersResponse = - | IMap - | CancelOrderResponse - | Record; - -export interface GetOpenOrderRequest { - marketName: string; - walletAddress: string; -} - -export interface GetOpenOrderResponse { - sequence: number; - marketName: string; - price: string; - amount: string; - side: OrderSide; -} - -export type GetOpenOrdersResponse = - | any - | IMap> - | IMap - | GetOpenOrderResponse; - -export class XRPLDEXishError extends Error {} - -export class MarketNotFoundError extends XRPLDEXishError {} diff --git a/src/connectors/xrpldex/xrpldex.validators.ts b/src/connectors/xrpldex/xrpldex.validators.ts deleted file mode 100644 index 0ddb9b7c68..0000000000 --- a/src/connectors/xrpldex/xrpldex.validators.ts +++ /dev/null @@ -1,202 +0,0 @@ -import { StatusCodes } from 'http-status-codes'; -import { HttpException } from '../../services/error-handler'; -// import { -// isBase58, -// isFloatString, -// isNaturalNumberString, -// } from '../../services/validators'; - -type Validator = ( - item: undefined | null | any | Item, - index?: number -) => { warnings: Array; errors: Array }; - -const createValidator = ( - accessor: undefined | null | string | ((target: any | Item) => any | Value), - validation: ( - item: undefined | null | any | Item, - value: undefined | null | any | Value - ) => boolean, - error: - | string - | (( - item: undefined | null | any | Item, - value: undefined | null | any | Value, - accessor: - | undefined - | null - | string - | ((target: any | Item) => any | Value), - index?: number - ) => string), - optional: boolean = false -): Validator => { - return (item: undefined | null | any | Item, index?: number) => { - const warnings: Array = []; - const errors: Array = []; - - let target: any | Value; - if (item === undefined && accessor) { - errors.push(`Request with undefined value informed when it shouldn't.`); - } else if (item === null && accessor) { - errors.push(`Request with null value informed when it shouldn't.`); - } else if (!accessor) { - target = item; - } else if (typeof accessor === 'string') { - if (!(`${accessor}` in item) && !optional) { - errors.push(`The request is missing the key/property "${accessor}".`); - } else { - target = item[accessor]; - } - } else { - target = accessor(item); - } - - if (!validation(item, target)) { - if (typeof error === 'string') { - if (optional) { - warnings.push(error); - } else { - errors.push(error); - } - } else { - if (optional) { - warnings.push(error(item, target, accessor, index)); - } else { - errors.push(error(item, target, accessor, index)); - } - } - } - - return { - warnings, - errors, - }; - }; -}; - -/** - Throw an error because the request parameter is malformed, collect all the - errors related to the request to give the most information possible - */ -export const throwIfErrorsExist = ( - errors: Array, - statusCode: number = StatusCodes.NOT_FOUND, - request: any, - headerMessage?: (request: any, errorNumber?: number) => string, - errorNumber?: number -): void => { - if (errors.length > 0) { - let message = headerMessage - ? `${headerMessage(request, errorNumber)}\n` - : ''; - message += errors.join('\n'); - - throw new HttpException(statusCode, message); - } -}; - -type RequestValidator = (item: undefined | null | any | Item) => { - warnings: Array; - errors: Array; -}; - -export const createRequestValidator = ( - validators: Array, - statusCode?: StatusCodes, - headerMessage?: (request: any) => string, - errorNumber?: number -): RequestValidator => { - return (request: undefined | null | any | Item) => { - let warnings: Array = []; - let errors: Array = []; - - for (const validator of validators) { - const result = validator(request); - warnings = [...warnings, ...result.warnings]; - errors = [...errors, ...result.errors]; - } - - throwIfErrorsExist(errors, statusCode, request, headerMessage, errorNumber); - - return { warnings, errors }; - }; -}; - -export const validateGetMarketRequest: RequestValidator = - createRequestValidator( - [ - createValidator( - null, - (request) => request.name, - `No market was informed. If you want to get a market, please inform the parameter "name".`, - false - ), - ], - StatusCodes.BAD_REQUEST - ); - -export const validateGetMarketsRequest: RequestValidator = - createRequestValidator( - [ - createValidator( - null, - (request) => request.names && request.names.length, - `No markets were informed. If you want to get all markets, please do not inform the parameter "names".`, - false - ), - ], - StatusCodes.BAD_REQUEST - ); - -export const validateGetOrderBookRequest: RequestValidator = - createRequestValidator( - [ - createValidator( - null, - (request) => request.marketName, - `No market name was informed. If you want to get an order book, please inform the parameter "marketName".`, - false - ), - ], - StatusCodes.BAD_REQUEST - ); - -export const validateGetOrderBooksRequest: RequestValidator = - createRequestValidator( - [ - createValidator( - null, - (request) => request.marketNames && request.marketNames.length, - `No market names were informed. If you want to get all order books, please do not inform the parameter "marketNames".`, - false - ), - ], - StatusCodes.BAD_REQUEST - ); - -export const validateGetTickerRequest: RequestValidator = - createRequestValidator( - [ - createValidator( - null, - (request) => request.marketName, - `No market name was informed. If you want to get a ticker, please inform the parameter "marketName".`, - false - ), - ], - StatusCodes.BAD_REQUEST - ); - -export const validateGetTickersRequest: RequestValidator = - createRequestValidator( - [ - createValidator( - null, - (request) => request.marketNames && request.marketNames.length, - `No market names were informed. If you want to get all tickers, please do not inform the parameter "marketNames".`, - false - ), - ], - StatusCodes.BAD_REQUEST - ); From 8ba3776f0e35780bcf1c741fb1ff6fe35e1940f3 Mon Sep 17 00:00:00 2001 From: mlguys Date: Thu, 8 Jun 2023 23:46:32 +0700 Subject: [PATCH 12/67] Remove artifacts --- docs/swagger/clob-beta.yml | 1416 --------------------------- docs/swagger/xrpldex-routes.yml | 148 --- src/connectors/connectors.routes.ts | 14 +- src/connectors/xrpl/xrpl.types.ts | 4 +- 4 files changed, 7 insertions(+), 1575 deletions(-) delete mode 100644 docs/swagger/clob-beta.yml delete mode 100644 docs/swagger/xrpldex-routes.yml diff --git a/docs/swagger/clob-beta.yml b/docs/swagger/clob-beta.yml deleted file mode 100644 index ded2ed7a35..0000000000 --- a/docs/swagger/clob-beta.yml +++ /dev/null @@ -1,1416 +0,0 @@ -swagger: '2.0' -# TODO: Please verify if all clob-beta routes are compatible with Serum, if not please mark them and propose new changes -# TODO: Once the schema is final, move paths to clob-routes.yml and Merge definitions to definitions.yml - -info: - description: 'Gateway allows clients to interoperate with blockchains and DeFi protocols via a REST API. This allows for a language agnostic way to use official SDKs for blockchains.' - version: '1.0.0' - title: 'gateway' - contact: - email: 'dev@hummingbot.io' - license: - name: 'Apache 2.0' - url: 'http://www.apache.org/licenses/LICENSE-2.0.html' - -host: 'localhost:15888' - -tags: - - name: 'clob-beta' - description: 'Interact with CLOB decentralized exchanges (BETA)' - -schemes: - - 'http' - -externalDocs: - description: 'Find out more about gateway' - url: 'https://github.com/hummingbot/hummingbot' - - -paths: - /clob-beta: - get: - tags: - - 'clob-beta' - summary: 'Verify Clob Routes Status' - description: 'Verify if the Clob routes are ready to use and show some other useful information. ' - operationId: 'clob.root' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBRootRequest' - - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBRootResponse' - - /clob-beta/markets: - get: - tags: - - 'clob-beta' - summary: 'Get One or More Markets' - description: 'Get the information of one, several or all available markets. Depending on the connector kind, response body might be different.' - operationId: 'clob.markets' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBGetMarketsRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBGetMarketsResponse' - '404': - description: 'Not found response.' - - /clob-beta/orderBooks: - get: - tags: - - 'clob-beta' - summary: 'Get One or More Order Books' - description: 'Get the information of one, several or all available order books. Depending on the connector kind, response body might be different.' - operationId: 'clob.orderBooks' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBGetOrderBooksRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBGetOrderBooksResponse' - '404': - description: 'Not found response.' - - /clob-beta/tickers: - get: - tags: - - 'clob-beta' - summary: 'Get middle price ticker for requested market' - operationId: 'tickers' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBGetTickersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBGetTickersResponse' - '404': - description: 'Not found response.' - - /clob-beta/orders: - get: - tags: - - 'clob-beta' - summary: 'Get status details of one or more orders' - operationId: 'getOrders' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBGetOrdersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBGetOrdersResponse' - '404': - description: 'Not found response.' - post: - tags: - - 'clob-beta' - summary: 'Create one or more orders' - description: 'Create one or more orders.' - operationId: 'createOrders' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBPostCreateOrdersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBPostCreateOrdersResponse' - '400': - description: 'Bad request response.' - delete: - tags: - - 'clob-beta' - summary: 'Cancel one or more orders' - description: 'Cancel one or more orders.' - operationId: 'cancelOrders' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBDeleteOrdersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBDeleteOrdersResponse' - '400': - description: 'Bad request response.' - - /clob-beta/orders/open: - get: - tags: - - 'clob-beta' - summary: 'Get One Or More Open Orders' - description: 'Get the information of one, several or all open orders.' - operationId: 'clob.getOpenOrders' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBGetOpenOrdersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBGetOpenOrdersResponse' - '400': - description: 'Bad request response.' - '404': - description: 'Not found response.' - - /clob-beta/orders/filled: - get: - tags: - - 'clob-beta' - summary: 'Get One Or More Filled Orders' - description: 'Get the information of one, several or all filled orders.' - operationId: 'clob.getFilledOrders' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBGetFilledOrdersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBGetFilledOrdersResponse' - '400': - description: 'Bad request response.' - '404': - description: 'Not found response.' - - /clob-beta/settleFunds: - get: - tags: - - 'clob-beta' - summary: 'Settle Funds of One or More Markets' - description: 'Settle funds of one, several or all markets.' - operationId: 'clob.settleFunds' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/CLOBPostSettleFundsRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/CLOBPostSettleFundsResponse' - '400': - description: 'Bad request response.' - '404': - description: 'Not found response.' - - -definitions: - CLOBRootRequest: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - CLOBRootResponse: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - - 'connection' - - 'timestamp' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - connection: - type: boolean - example: true - timestamp: - type: number - example: 1652304454740 - - CLOBGetMarketsRequest: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - name: - type: string - example: 'SOL/USDT' - names: - type: array - items: - type: string - example: - - 'SOL/USDT' - - 'SOL/USDC' - CLOBGetMarketsResponseItemCommon: - type: object - properties: - name: - type: string - example: SOL/USDT - deprecated: - type: boolean - example: false - minimumOrderSize: - type: number - example: 0.1 - tickSize: - type: number - example: 0.001 - minimumBaseIncrement: - type: string - example: 100000000 - CLOBGetMarketsResponseItemSerum: - type: object - allOf: - - type: object - - $ref: '#/definitions/CLOBGetMarketsResponseItemCommon' - properties: - address: - type: string - example: HWHvQhFmJB3NUcu1aihKmrKegfVxBEHzwVX6yZCKEsi1 - programId: - type: string - example: 9xQeWvG816bUx9EPjHmaT23yvVM2ZWbrrpZb9PusVFin - CLOBGetMarketrResponseItemXRPLDEX: - type: object - allOf: - - type: object - - $ref: '#/definitions/CLOBGetMarketsResponseItemCommon' - properties: - name: - type: string - example: USD.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx/VND.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx - baseTransferRate: - type: number - example: 0.1 - quoteTransferRate: - type: number - example: 0.1 - CLOBGetMarketsResponse: - type: object - properties: - SOL/USDC: - $ref: '#/definitions/CLOBGetMarketsResponseItemSerum' - "USD.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx/VND.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx": - $ref: '#/definitions/CLOBGetMarketrResponseItemXRPLDEX' - - CLOBGetOrderBooksRequest: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - marketName: - type: string - example: 'SOL/USDT' - marketNames: - type: array - items: - type: string - example: - - 'SOL/USDT' - - 'SOL/USDC' - CLOBGetOrderBooksResponseItemCommon: - type: object - properties: - market: - type: object - asks: - type: array - items: - type: object - $ref: '#/definitions/CLOBGetOrderBooksResponseOrderAskItemCommon' - bids: - type: array - items: - type: object - $ref: '#/definitions/CLOBGetOrderBooksResponseOrderBidItemCommon' - CLOBGetOrderBooksResponseItemSerum: - type: object - allOf: - - type: object - - $ref: '#/definitions/CLOBGetOrderBooksResponseItemCommon' - properties: - market: - type: object - $ref: '#/definitions/CLOBGetMarketsResponseItemSerum' - bids: - type: array - items: - type: object - $ref: '#/definitions/CLOBGetOrderBooksResponseOrderBidItemCommon' - asks: - type: array - items: - type: object - $ref: '#/definitions/CLOBGetOrderBooksResponseOrderAskItemCommon' - CLOBGetOrderBooksResponseItemXRPLDEX: - type: object - allOf: - - type: object - - $ref: '#/definitions/CLOBGetOrderBooksResponseItemCommon' - properties: - market: - type: object - $ref: '#/definitions/CLOBGetMarketrResponseItemXRPLDEX' - bids: - type: array - items: - type: object - $ref: '#/definitions/CLOBGetOrderBooksResponseOrderBidItemCommon' - asks: - type: array - items: - type: object - $ref: '#/definitions/CLOBGetOrderBooksResponseOrderAskItemCommon' - topAsk: - type: number - example: 25000 - topBid: - type: number - example: 24000 - midPrice: - type: number - example: 24500 - timestamp: - type: number - example: 1676296168012 - CLOBGetOrderBooksResponseOrderBidItemCommon: - type: object - properties: - id: - type: string - example: 35332426 - marketName: - type: string - example: SOL/USDT - ownerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - price: - type: number - example: 250 - amount: - type: number - example: 0.1 - side: - type: string - example: BUY - status: - type: string - example: OPEN - 'type': - type: string - example: LIMIT - CLOBGetOrderBooksResponseOrderAskItemCommon: - type: object - properties: - id: - type: string - example: 35332426 - marketName: - type: string - example: SOL/USDT - ownerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - price: - type: number - example: 250 - amount: - type: number - example: 0.1 - side: - type: string - example: SELL - status: - type: string - example: OPEN - 'type': - type: string - example: LIMIT - CLOBGetOrderBooksResponse: - type: object - properties: - SOL/USDC: - $ref: '#/definitions/CLOBGetOrderBooksResponseItemSerum' - "USD.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx/VND.rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx": - $ref: '#/definitions/CLOBGetOrderBooksResponseItemXRPLDEX' - - CLOBGetTickersRequest: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - marketName: - type: string - example: 'SOL/USDT' - marketNames: - type: array - items: - type: string - example: - - 'SOL/USDT' - - 'SOL/USDC' - CLOBGetTickersResponseItem: - type: object - properties: - price: - type: number - example: 43.37523838 - timestamp: - type: number - example: 1652363040000 - CLOBGetTickersResponse: - type: object - properties: - SOL/USDT: - $ref: '#/definitions/CLOBGetTickersResponseItem' - SOL/USDC: - $ref: '#/definitions/CLOBGetTickersResponseItem' - - CLOBGetOrdersRequest: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - order: - type: object - required: - - 'ownerAddress' - properties: - id: - type: string - example: 123456789 - exchangeId: - type: string - example: 184467256269654779094895731 - marketName: - type: string - example: SOL/USDT - ownerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - orders: - type: array - items: - type: object - required: - - 'ownerAddress' - properties: - ids: - type: array - items: - type: string - exchangeIds: - type: array - items: - type: string - marketName: - type: string - ownerAddress: - type: string - example: - - ids: ["123456789"] - exchangeIds: ["184467256269654779094895731"] - marketName: SOL/USDT - ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - - ids: ["123456789"] - exchangeIds: ["184467256269654779094895731"] - marketName: SOL/USDC - ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - - ids: ["1112234"] - exchangeIds: ["33485803"] - marketName: XRP/USDT - ownerAddress: r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV - CLOBGetOrdersResponseItemCommon: - type: 'object' - properties: - id: - type: string - exchangeId: - type: string - marketName: - type: string - ownderAddress: - type: string - side: - type: string - price: - type: number - amount: - type: number - type: - type: string - status: - type: string - fee: - type: number - example: - id: "123456789" - exchangeId: "184467256269654779094895731" - marketName: "SOL/USDT" - ownderAddress: "2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa" - side: "BUY" - price: 999.99 - amount: 0.1 - type: "LIMIT" - status: "OPEN" - fee: 0.1 - CLOBGetOrdersResponseItemXRPLDEX: - type: 'object' - allOf: - - type: object - - $ref: '#/definitions/CLOBGetOrdersResponseItemCommon' - properties: - signature: - type: string - transactionResult: - type: string - orderLedgerIndex: - type: string - example: - id: "1112234" - exchangeId: "33485803" - marketName: "XRP/USDT" - ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" - side: "BUY" - price: 999.99 - amount: 0.1 - type: "LIMIT" - status: "OPEN" - signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" - transactionResult: "tesSUCCESS" - orderLedgerIndex: "35357471" - CLOBGetOrdersResponse: - type: object - properties: - SOL/USDC: - type: object - properties: - "123456789": - $ref: '#/definitions/CLOBGetOrdersResponseItemCommon' - - SOL/USDT: - type: object - properties: - "123456789": - $ref: '#/definitions/CLOBGetOrdersResponseItemCommon' - - XRP/USDT: - type: object - properties: - "1112234": - $ref: '#/definitions/CLOBGetOrdersResponseItemXRPLDEX' - - CLOBPostCreateOrdersRequestCommon: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - order: - type: object - required: - - 'id' - - 'ownerAddress' - - 'marketName' - - 'side' - - 'price' - - 'amount' - - 'type' - properties: - id: - type: string - example: 123456789 - marketName: - type: string - example: SOL/USDT - ownerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - side: - type: string - example: BUY - price: - type: number - example: 9999.9 - amount: - type: number - example: 0.1 - type: - type: string - example: LIMIT - orders: - type: array - items: - type: object - required: - - 'id' - - 'ownerAddress' - - 'marketName' - - 'side' - - 'price' - - 'amount' - - 'type' - properties: - id: - type: string - example: 123456789 - marketName: - type: string - example: SOL/USDT - ownerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - side: - type: string - example: BUY - price: - type: number - example: 9999.9 - amount: - type: number - example: 0.1 - type: - type: string - example: LIMIT - CLOBPostCreateOrdersRequestSerum: - type: object - allOf: - - type: object - - $ref: '#/definitions/CLOBPostCreateOrdersRequestCommon' - properties: - order: - type: object - properties: - payerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - orders: - type: array - items: - type: object - properties: - payerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - CLOBPostCreateOrdersRequestXRPLDEX: - type: object - allOf: - - type: object - - $ref: '#/definitions/CLOBPostCreateOrdersRequestCommon' - properties: - waitUntilIncludedInBlock: - type: boolean - example: true - CLOBPostCreateOrdersRequest: - type: object - allOf: - - type: object - - $ref: '#/definitions/CLOBPostCreateOrdersRequestSerum' - - $ref: '#/definitions/CLOBPostCreateOrdersRequestXRPLDEX' - CLOBPostCreateOrdersResponseItemCommon: - type: object - properties: - id: - type: string - example: 123456789 - exchangeId: - type: string - example: 184467256269654779094895731 - marketName: - type: string - example: SOL/USDT - ownerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - price: - type: number - example: 250 - amount: - type: number - example: 0.1 - side: - type: string - example: BUY - status: - type: string - example: OPEN - type: - type: string - example: LIMIT - fee: - type: number - example: 0.1 - CLOBPostCreateOrdersResponseItemXRPLDEX: - type: object - allOf: - - type: object - - $ref: '#/definitions/CLOBPostCreateOrdersResponseItemCommon' - properties: - signature: - type: string - example: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" - transactionResult: - type: string - example: "tesSUCCESS" - orderLedgerIndex: - type: string - example: "35357471" - CLOBPostCreateOrdersResponse: - type: object - properties: - "123456789": - $ref: '#/definitions/CLOBPostCreateOrdersResponseItemCommon' - "1112234": - type: object - allOf: - - $ref: '#/definitions/CLOBPostCreateOrdersResponseItemXRPLDEX' - example: - id: "1112234" - exchangeId: "33485803" - marketName: "XRP/USDT" - ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" - side: "BUY" - price: 999.99 - amount: 0.1 - type: "LIMIT" - status: "OPEN" - signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" - transactionResult: "tesSUCCESS" - orderLedgerIndex: "35357471" - - CLOBDeleteOrdersRequest: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - order: - type: object - required: - - 'ownerAddress' - properties: - id: - type: string - example: 123456789 - exchangeId: - type: string - example: 184467256269654779094895731 - marketName: - type: string - example: SOL/USDT - ownerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - orders: - type: array - items: - type: object - required: - - 'ownerAddress' - properties: - ids: - type: array - items: - type: string - exchangeIds: - type: array - items: - type: string - marketName: - type: string - ownerAddress: - type: string - example: - - ids: ["123456789", "123456789"] - exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] - marketName: SOL/USDT - ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - - ids: ["123456789", "123456789"] - exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] - marketName: SOL/USDC - ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - - ids: ["1112234"] - exchangeIds: ["33485803"] - marketName: XRP/USDT - ownerAddress: r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV - CLOBDeleteOrdersResponseItemCommon: - type: 'object' - properties: - id: - type: string - exchangeId: - type: string - marketName: - type: string - ownderAddress: - type: string - side: - type: string - price: - type: number - amount: - type: number - type: - type: string - status: - type: string - fee: - type: number - example: - id: "123456789" - exchangeId: "184467256269654779094895731" - marketName: "SOL/USDT" - ownderAddress: "2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa" - side: "BUY" - price: 999.99 - amount: 0.1 - type: "LIMIT" - status: "CANCELED" - fee: 0.1 - CLOBDeleteOrdersResponseItemXRPLDEX: - type: 'object' - allOf: - - type: object - - $ref: '#/definitions/CLOBDeleteOrdersResponseItemCommon' - properties: - signature: - type: string - transactionResult: - type: string - orderLedgerIndex: - type: string - example: - id: "1112234" - exchangeId: "33485803" - marketName: "XRP/USDT" - ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" - side: "BUY" - price: 999.99 - amount: 0.1 - type: "LIMIT" - status: "CANCELED" - signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" - transactionResult: "tesSUCCESS" - orderLedgerIndex: "35357471" - CLOBDeleteOrdersResponse: - type: object - properties: - SOL/USDC: - type: object - properties: - "123456789": - $ref: '#/definitions/CLOBDeleteOrdersResponseItemCommon' - - SOL/USDT: - type: object - properties: - "123456789": - $ref: '#/definitions/CLOBDeleteOrdersResponseItemCommon' - - XRP/USDT: - type: object - properties: - "33485803": - $ref: '#/definitions/CLOBDeleteOrdersResponseItemXRPLDEX' - - CLOBGetOpenOrdersRequest: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - order: - type: object - required: - - 'ownerAddress' - properties: - id: - type: string - example: 123456789 - exchangeId: - type: string - example: 184467256269654779094895731 - marketName: - type: string - example: SOL/USDT - ownerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - orders: - type: array - items: - type: object - required: - - 'ownerAddress' - properties: - ids: - type: array - items: - type: string - exchangeIds: - type: array - items: - type: string - marketName: - type: string - ownerAddress: - type: string - example: - - ids: ["123456789", "987654321"] - exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] - marketName: SOL/USDT - ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - - ids: ["123456789", "987654321"] - exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] - marketName: SOL/USDC - ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - - ids: ["1112234", "6783991"] - exchangeIds: ["33485803", "33485000"] - marketName: XRP/USDT - ownerAddress: r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV - CLOBGetOpenOrdersResponseItemCommon: - type: 'object' - properties: - id: - type: string - exchangeId: - type: string - marketName: - type: string - ownderAddress: - type: string - side: - type: string - price: - type: number - amount: - type: number - type: - type: string - status: - type: string - fee: - type: number - example: - id: "123456789" - exchangeId: "184467256269654779094895731" - marketName: "SOL/USDT" - ownderAddress: "2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa" - side: "BUY" - price: 999.99 - amount: 0.1 - type: "LIMIT" - status: "OPEN" - fee: 0.1 - CLOBGetOpenOrdersResponseItemXRPLDEX: - type: 'object' - allOf: - - type: object - - $ref: '#/definitions/CLOBGetOpenOrdersResponseItemCommon' - properties: - signature: - type: string - transactionResult: - type: string - orderLedgerIndex: - type: string - example: - id: "1112234" - exchangeId: "33485803" - marketName: "XRP/USDT" - ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" - side: "BUY" - price: 999.99 - amount: 0.1 - type: "LIMIT" - status: "OPEN" - signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" - transactionResult: "tesSUCCESS" - orderLedgerIndex: "35357471" - CLOBGetOpenOrdersResponse: - type: object - properties: - SOL/USDC: - type: object - properties: - "123456789": - $ref: '#/definitions/CLOBGetOpenOrdersResponseItemCommon' - - SOL/USDT: - type: object - properties: - "123456789": - $ref: '#/definitions/CLOBGetOpenOrdersResponseItemCommon' - - XRP/USDT: - type: object - properties: - "1112234": - $ref: '#/definitions/CLOBGetOpenOrdersResponseItemXRPLDEX' - - CLOBGetFilledOrdersRequest: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - order: - type: object - required: - - 'ownerAddress' - properties: - id: - type: string - example: 123456789 - exchangeId: - type: string - example: 184467256269654779094895731 - marketName: - type: string - example: SOL/USDT - ownerAddress: - type: string - example: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - orders: - type: array - items: - type: object - required: - - 'ownerAddress' - properties: - ids: - type: array - items: - type: string - exchangeIds: - type: array - items: - type: string - marketName: - type: string - ownerAddress: - type: string - example: - - ids: ["123456789", "987654321"] - exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] - marketName: SOL/USDT - ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - - ids: ["123456789", "987654321"] - exchangeIds: ["184467256269654779094895731", "284467256269654779094895723"] - marketName: SOL/USDC - ownerAddress: 2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa - - ids: ["1112234", "6783991"] - exchangeIds: ["33485803", "33485000"] - marketName: XRP/USDT - ownerAddress: r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV - CLOBGetFilledOrdersResponseItemCommon: - type: 'object' - properties: - id: - type: string - exchangeId: - type: string - marketName: - type: string - ownderAddress: - type: string - side: - type: string - price: - type: number - amount: - type: number - type: - type: string - status: - type: string - fee: - type: number - example: - id: "123456789" - exchangeId: "184467256269654779094895731" - marketName: "SOL/USDT" - ownderAddress: "2wvayrdTmrJFUAdg0yHoBtPu1eE41t0fxruxTh7ufnJa" - side: "BUY" - price: 999.99 - amount: 0.1 - type: "LIMIT" - status: "FILLED" - fee: 0.1 - CLOBGetFilledOrdersResponseItemXRPLDEX: - type: 'object' - allOf: - - type: object - - $ref: '#/definitions/CLOBGetFilledOrdersResponseItemCommon' - properties: - signature: - type: string - transactionResult: - type: string - orderLedgerIndex: - type: string - example: - id: "1112234" - exchangeId: "33485803" - marketName: "XRP/USDT" - ownderAddress: "r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV" - side: "BUY" - price: 999.99 - amount: 0.1 - type: "LIMIT" - status: "FILLED" - signature: "53CCABA69887B92D91AE27B083D11262B4393D95D9A0AEFF4B07A731FA1F74E8" - transactionResult: "tesSUCCESS" - orderLedgerIndex: "35357471" - CLOBGetFilledOrdersResponse: - type: object - properties: - SOL/USDC: - type: object - properties: - "123456789": - $ref: '#/definitions/CLOBGetFilledOrdersResponseItemCommon' - - SOL/USDT: - type: object - properties: - "123456789": - $ref: '#/definitions/CLOBGetFilledOrdersResponseItemCommon' - - XRP/USDT: - type: object - properties: - "1112234": - $ref: '#/definitions/CLOBGetFilledOrdersResponseItemXRPLDEX' - - CLOBPostSettleFundsRequest: - type: 'object' - required: - - 'chain' - - 'network' - - 'connector' - - 'ownerAddress' - properties: - chain: - type: string - example: solana - network: - type: string - example: mainnet-beta - connector: - type: string - example: serum - marketName: - type: string - example: SOL/USDT - marketNames: - type: array - items: - type: string - example: - - SOL/USDT - - BTC/USDT - CLOBPostSettleFundsResponse: - type: object - properties: - SOL/USDT: - type: array - items: - type: string - example: - - 4vAstoT7dgJ3LaexYRQbJ4HwbV8vPaMEUWVP3o89oq4vJcn9E11LJHyEpoc3sZ4dxmAtZGU7YyRS1uR36wuUEQMK - BTC/USDT: - type: array - items: - type: string - example: - - 4vAstoT7dgJ3LaexYRQbJ4HwbV8vPaMEUWVP3o89oq4vJcn9E11LJHyEpoc3sZ4dxmAtZGU7YyRS1uR36wuUEQMK diff --git a/docs/swagger/xrpldex-routes.yml b/docs/swagger/xrpldex-routes.yml deleted file mode 100644 index 97a5278a4d..0000000000 --- a/docs/swagger/xrpldex-routes.yml +++ /dev/null @@ -1,148 +0,0 @@ -paths: - /xrpldex/tickers: - get: - tags: - - 'xrpldex' - summary: 'Get middle price ticker for requested market' - operationId: 'tickers' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/XRPLDEXGetTickersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/XRPLDEXGetTickersResponse' - '404': - description: 'Not found response.' - - /xrpldex/orderBooks: - get: - tags: - - 'xrpldex' - summary: 'Get Order Book Details' - operationId: 'orderBooks' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/XRPLDEXGetOrderBooksRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/XRPLDEXGetOrderBooksResponse' - '404': - description: 'Not found response.' - - /xrpldex/orders: - get: - tags: - - 'xrpldex' - summary: 'Get status details of one or more orders' - operationId: 'getOrders' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/XRPLDEXGetOrdersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/XRPLDEXGetOrdersResponse' - '404': - description: 'Not found response.' - post: - tags: - - 'xrpldex' - summary: 'Create one or more orders' - description: 'Create one or more orders.' - operationId: 'createOrders' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/XRPLDEXPostCreateOrdersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/XRPLDEXPostCreateOrdersResponse' - '400': - description: 'Bad request response.' - delete: - tags: - - 'xrpldex' - summary: 'Cancel one or more orders' - description: 'Cancel one or more orders.' - operationId: 'cancelOrders' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/XRPLDEXDeleteCancelOrdersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/XRPLDEXDeleteCancelOrdersResponse' - '400': - description: 'Bad request response.' - - /xrpldex/orders/open: - get: - tags: - - 'xrpldex' - summary: 'Get open orders from a wallet' - operationId: 'getOpenOrders' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - description: 'Request body.' - required: true - schema: - $ref: '#/definitions/XRPLDEXGetOpenOrdersRequest' - responses: - '200': - description: 'Successful response.' - schema: - $ref: '#/definitions/XRPLDEXGetOpenOrdersResponse' - '404': - description: 'Not found response.' \ No newline at end of file diff --git a/src/connectors/connectors.routes.ts b/src/connectors/connectors.routes.ts index 4af4a25d0d..62fc3e4d9f 100644 --- a/src/connectors/connectors.routes.ts +++ b/src/connectors/connectors.routes.ts @@ -20,7 +20,7 @@ import { ConnectorsResponse } from './connectors.request'; import { DexalotCLOBConfig } from './dexalot/dexalot.clob.config'; import { TinymanConfig } from './tinyman/tinyman.config'; import { PlentyConfig } from './plenty/plenty.config'; -import { XRPLDEXConfig } from './xrpldex/xrpldex.config'; +import { XRPLCLOBConfig } from './xrpl/xrpl.clob.config'; export namespace ConnectorsRoutes { export const router = Router(); @@ -160,14 +160,10 @@ export namespace ConnectorsRoutes { available_networks: PlentyConfig.config.availableNetworks, }, { - name: 'xrpldex', - trading_type: XRPLDEXConfig.config.tradingTypes, - chain_type: XRPLDEXConfig.config.chainType, - available_networks: XRPLDEXConfig.config.availableNetworks, - additional_add_wallet_prompts: { - api_key: - 'Enter a XRPL Secret Key if you have one, otherwise hit return >>> ', - }, + name: 'xrpl', + trading_type: XRPLCLOBConfig.config.tradingTypes, + chain_type: XRPLCLOBConfig.config.chainType, + available_networks: XRPLCLOBConfig.config.availableNetworks, }, ], }); diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts index 2eeb2f08f7..9b0aa67b20 100644 --- a/src/connectors/xrpl/xrpl.types.ts +++ b/src/connectors/xrpl/xrpl.types.ts @@ -202,9 +202,9 @@ export type GetOpenOrdersResponse = | IMap | GetOpenOrderResponse; -export class XRPLDEXishError extends Error {} +export class XRPLishError extends Error {} -export class MarketNotFoundError extends XRPLDEXishError {} +export class MarketNotFoundError extends XRPLishError {} export interface PriceLevel { price: string; From 3f49fba1aa341577a80aa47395fc5f51e7635b70 Mon Sep 17 00:00:00 2001 From: mlguys Date: Fri, 9 Jun 2023 00:16:06 +0700 Subject: [PATCH 13/67] Move order tracker to chain directory --- src/{connectors => chains}/xrpl/xrpl.order-tracker.ts | 10 +++++----- src/chains/xrpl/xrpl.ts | 2 +- src/connectors/xrpl/xrpl.ts | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) rename src/{connectors => chains}/xrpl/xrpl.order-tracker.ts (98%) diff --git a/src/connectors/xrpl/xrpl.order-tracker.ts b/src/chains/xrpl/xrpl.order-tracker.ts similarity index 98% rename from src/connectors/xrpl/xrpl.order-tracker.ts rename to src/chains/xrpl/xrpl.order-tracker.ts index 4cf9da7b10..2a991f4b0c 100644 --- a/src/connectors/xrpl/xrpl.order-tracker.ts +++ b/src/chains/xrpl/xrpl.order-tracker.ts @@ -8,8 +8,8 @@ import { TransactionMetadata, Transaction, } from 'xrpl'; -import { XRPL } from '../../chains/xrpl/xrpl'; -import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; +import { XRPL } from './xrpl'; +import { getXRPLConfig } from './xrpl.config'; import { OrderStatus, Order, @@ -19,15 +19,15 @@ import { TransactionIntent, AccountTransaction, ResponseOnlyTxInfo, -} from './xrpl.types'; -import { OrderMutexManager } from './xrpl.utils'; +} from '../../connectors/xrpl/xrpl.types'; +import { OrderMutexManager } from '../../connectors/xrpl/xrpl.utils'; import { isModifiedNode, isDeletedNode, } from 'xrpl/dist/npm/models/transactions/metadata'; import LRUCache from 'lru-cache'; -import { XRPLOrderStorage } from '../../chains/xrpl/xrpl.order-storage'; +import { XRPLOrderStorage } from './xrpl.order-storage'; // This class should: // 1. Track orders that are created by xrpl.postOrder diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index 4126119985..91b832864b 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -22,7 +22,7 @@ import { getXRPLConfig } from './xrpl.config'; // import { logger } from '../../services/logger'; import { TransactionResponseStatusCode } from './xrpl.requests'; import { XRPLOrderStorage } from './xrpl.order-storage'; -import { OrderTracker } from '../../connectors/xrpl/xrpl.order-tracker'; +import { OrderTracker } from './xrpl.order-tracker'; import { ReferenceCountingCloseable } from '../../services/refcounting-closeable'; export type TokenInfo = { diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index e1e7dc1ffc..0814c573d8 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -8,7 +8,7 @@ import { AccountInfoResponse, BookOffersResponse, } from 'xrpl'; -import { OrderTracker } from './xrpl.order-tracker'; +import { OrderTracker } from '../../chains/xrpl/xrpl.order-tracker'; import { Market, MarketNotFoundError, From b2b589e1513b786799585cd2b103371684b9c4b9 Mon Sep 17 00:00:00 2001 From: mlguys Date: Fri, 9 Jun 2023 00:18:15 +0700 Subject: [PATCH 14/67] add space --- src/connectors/xrpl/xrpl.utils.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/connectors/xrpl/xrpl.utils.ts b/src/connectors/xrpl/xrpl.utils.ts index 70f33ec657..4356928e4a 100644 --- a/src/connectors/xrpl/xrpl.utils.ts +++ b/src/connectors/xrpl/xrpl.utils.ts @@ -1,4 +1,4 @@ -import { InflightOrders, OrderLocks } from './xrpl.types'; +import { InflightOrders, OrderLocks } from './xrpl.types'; export class OrderMutexManager { private locks: OrderLocks = {}; @@ -55,4 +55,4 @@ export class OrderMutexManager { isLocked(hash: number) { return this.locks[hash]; } -} \ No newline at end of file +} From 056e212b173d51831ca4d1debaa9910759c9d211 Mon Sep 17 00:00:00 2001 From: mlguys Date: Fri, 9 Jun 2023 10:52:42 +0700 Subject: [PATCH 15/67] WIP --- package.json | 4 +++- test/connectors/xrpl/xrpl.integration.test.ts | 0 2 files changed, 3 insertions(+), 1 deletion(-) create mode 100644 test/connectors/xrpl/xrpl.integration.test.ts diff --git a/package.json b/package.json index f6752f1766..08c4d1ad7e 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,9 @@ "test:debug": "node --inspect node_modules/.bin/jest --watch --runInBand", "test:unit": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --verbose ./test/", "test:cov": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/", - "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts" + "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts", + "test:xrpl": "jest -i --verbose test/connectors/xrpl/*.test.ts", + "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/connectors/xrpl/*.test.ts" }, "dependencies": { "@cosmjs/proto-signing": "^0.28.10", diff --git a/test/connectors/xrpl/xrpl.integration.test.ts b/test/connectors/xrpl/xrpl.integration.test.ts new file mode 100644 index 0000000000..e69de29bb2 From 0af5945c043ec8ba944d1835eaec70c843d7bc8f Mon Sep 17 00:00:00 2001 From: mlguys Date: Mon, 26 Jun 2023 17:30:48 +0700 Subject: [PATCH 16/67] Add basic e2e test scripts + fix bugs --- package.json | 1 + src/chains/xrpl/xrpl.order-storage.ts | 21 +- src/chains/xrpl/xrpl.ts | 32 ++- src/chains/xrpl/xrpl_markets.json | 6 +- src/chains/xrpl/xrpl_markets_testnet.json | 35 ++- src/chains/xrpl/xrpl_tokens_testnet.json | 35 ++- src/connectors/xrpl/xrpl.ts | 195 ++++++-------- src/connectors/xrpl/xrpl.utils.ts | 56 ++++ test/connectors/xrpl/xrpl.e2e.test.ts | 251 ++++++++++++++++++ test/connectors/xrpl/xrpl.integration.test.ts | 0 test/connectors/xrpl/xrpl.routes.test.ts | 26 +- 11 files changed, 523 insertions(+), 135 deletions(-) create mode 100644 test/connectors/xrpl/xrpl.e2e.test.ts delete mode 100644 test/connectors/xrpl/xrpl.integration.test.ts diff --git a/package.json b/package.json index 08c4d1ad7e..deea219090 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "test:cov": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/", "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts", "test:xrpl": "jest -i --verbose test/connectors/xrpl/*.test.ts", + "test:e2e:xrpl": "jest -i --verbose test/connectors/xrpl/xrpl.e2e.test.ts", "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/connectors/xrpl/*.test.ts" }, "dependencies": { diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts index 9a011ec133..ab153cb4d7 100644 --- a/src/chains/xrpl/xrpl.order-storage.ts +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -15,7 +15,18 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { } public async init(): Promise { - await this.localStorage.init(); + try { + await this.localStorage.init(); + } catch (error) { + console.log( + '🪧 -> file: xrpl.order-storage.ts:22 -> XRPLOrderStorage -> init -> error:', + error + ); + } + } + + public storageStatus(): string { + return this.localStorage.dbStatus; } public async saveOrder( @@ -46,8 +57,16 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { network: string, walletAddress: string ): Promise> { + console.log( + '🪧 -> file: xrpl.order-storage.ts:60 -> XRPLOrderStorage -> walletAddress:', + walletAddress + ); return this.localStorage.get((key: string, value: string) => { const splitKey = key.split('/'); + console.log( + '🪧 -> file: xrpl.order-storage.ts:62 -> XRPLOrderStorage -> returnthis.localStorage.get -> splitKey:', + splitKey + ); if ( splitKey.length === 4 && splitKey[0] === chain && diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index 91b832864b..78802efc2b 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -194,6 +194,7 @@ export class XRPL implements XRPLish { await this.loadTokens(this._tokenListSource, this._tokenListType); await this.loadMarkets(this._marketListSource, this._marketListType); await this.getFee(); + await this._orderStorage.init(); this._ready = true; this.initializing = false; } @@ -205,9 +206,13 @@ export class XRPL implements XRPLish { ): Promise { this.tokenList = await this.getTokenList(tokenListSource, tokenListType); if (this.tokenList) { - this.tokenList.forEach((token: TokenInfo) => - this._tokenMap[token.code].push(token) - ); + this.tokenList.forEach((token: TokenInfo) => { + if (!this._tokenMap[token.code]) { + this._tokenMap[token.code] = []; + } + + this._tokenMap[token.code].push(token); + }); } } @@ -220,9 +225,13 @@ export class XRPL implements XRPLish { marketListType ); if (this.marketList) { - this.marketList.forEach((market: MarketInfo) => - this._marketMap[market.marketId].push(market) - ); + this.marketList.forEach((market: MarketInfo) => { + if (!this._marketMap[market.marketId]) { + this._marketMap[market.marketId] = []; + } + + this._marketMap[market.marketId].push(market); + }); } } @@ -247,11 +256,10 @@ export class XRPL implements XRPLish { ): Promise { let tokens; if (marketListType === 'URL') { - ({ - data: { tokens }, - } = await axios.get(marketListSource)); + const resp = await axios.get(marketListSource); + tokens = resp.data.tokens; } else { - ({ tokens } = JSON.parse(await fs.readFile(marketListSource, 'utf8'))); + tokens = JSON.parse(await fs.readFile(marketListSource, 'utf8')); } return tokens; } @@ -360,6 +368,10 @@ export class XRPL implements XRPLish { } async ensureConnection() { + console.log( + '🪧 -> file: xrpl.ts:372 -> XRPL -> ensureConnection -> isConnected:', + this.isConnected() + ); if (!this.isConnected()) { await this._client.connect(); } diff --git a/src/chains/xrpl/xrpl_markets.json b/src/chains/xrpl/xrpl_markets.json index 7cb44f0a81..b385debb72 100644 --- a/src/chains/xrpl/xrpl_markets.json +++ b/src/chains/xrpl/xrpl_markets.json @@ -3,7 +3,7 @@ "id": 1, "marketId": "SOLO-XRP", "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", - "quoteIssuer": "XRP", + "quoteIssuer": "", "baseTokenID": 31, "quoteTokenID": 0 }, @@ -19,7 +19,7 @@ "id": 3, "marketId": "USDC-XRP", "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", - "quoteIssuer": "XRP", + "quoteIssuer": "", "baseTokenID": 18465, "quoteTokenID": 0 }, @@ -35,7 +35,7 @@ "id": 5, "marketId": "BTC-XRP", "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", - "quoteIssuer": "XRP", + "quoteIssuer": "", "baseTokenID": 1381, "quoteTokenID": 0 }, diff --git a/src/chains/xrpl/xrpl_markets_testnet.json b/src/chains/xrpl/xrpl_markets_testnet.json index fe51488c70..806f37894e 100644 --- a/src/chains/xrpl/xrpl_markets_testnet.json +++ b/src/chains/xrpl/xrpl_markets_testnet.json @@ -1 +1,34 @@ -[] +[ + { + "id": 1, + "marketId": "SOLO-XRP", + "baseIssuer": "rHZwvHEs56GCmHupwjA4RY7oPA3EoAJWuN", + "quoteIssuer": "", + "baseTokenID": 3, + "quoteTokenID": 0 + }, + { + "id": 2, + "marketId": "SOLO-USD", + "baseIssuer": "rHZwvHEs56GCmHupwjA4RY7oPA3EoAJWuN", + "quoteIssuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "baseTokenID": 3, + "quoteTokenID": 2 + }, + { + "id": 3, + "marketId": "USD-XRP", + "baseIssuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "quoteIssuer": "", + "baseTokenID": 2, + "quoteTokenID": 0 + }, + { + "id": 4, + "marketId": "USD-VND", + "baseIssuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "quoteIssuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "baseTokenID": 2, + "quoteTokenID": 1 + } +] diff --git a/src/chains/xrpl/xrpl_tokens_testnet.json b/src/chains/xrpl/xrpl_tokens_testnet.json index 9e26dfeeb6..20eda9535b 100644 --- a/src/chains/xrpl/xrpl_tokens_testnet.json +++ b/src/chains/xrpl/xrpl_tokens_testnet.json @@ -1 +1,34 @@ -{} \ No newline at end of file +[ + { + "id": 0, + "code": "XRP", + "issuer": "", + "title": "XRP", + "trustlines": -1, + "placeInTop": 0 + }, + { + "id": 1, + "code": "VND", + "issuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "title": "Vietnam Dong", + "trustlines": 999, + "placeInTop": 1 + }, + { + "id": 2, + "code": "USD", + "issuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "title": "United States Dollar", + "trustlines": 999, + "placeInTop": 1 + }, + { + "id": 3, + "code": "SOLO", + "issuer": "rHZwvHEs56GCmHupwjA4RY7oPA3EoAJWuN", + "title": "Sologenic", + "trustlines": 999, + "placeInTop": 1 + } +] diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index 0814c573d8..73aee60b9d 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -18,6 +18,12 @@ import { PriceLevel, Order, } from './xrpl.types'; +import { + getTakerGetsAmount, + getTakerPaysAmount, + getTakerGetsFundedAmount, + getTakerPaysFundedAmount, +} from './xrpl.utils'; import { ClobMarketsRequest, ClobOrderbookRequest, @@ -37,7 +43,7 @@ import LRUCache from 'lru-cache'; import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; import { isUndefined } from 'mathjs'; -const XRP_FACTOR = 1000000; +// const XRP_FACTOR = 1000000; const ORDERBOOK_LIMIT = 10; export class XRPLCLOB implements CLOBish { @@ -95,6 +101,12 @@ export class XRPLCLOB implements CLOBish { return this._ready; } + public getInfo(): string { + const info = `XRPLCLOB: ${this.chain} ${this.network} | RCP URL: ${this._xrpl.rpcUrl} | XRPLCLOB ready: ${this._ready}`; + + return info; + } + // CLOB methods: // TODO: Find and correct the required market info in client public async markets( @@ -113,10 +125,8 @@ export class XRPLCLOB implements CLOBish { async fetchMarkets(): Promise { const loadedMarkets: Market[] = []; const markets = this._xrpl.storedMarketList; - const getMarket = async (market: MarketInfo): Promise => { const processedMarket = await this.getMarket(market); - loadedMarkets.push(processedMarket); }; @@ -226,57 +236,29 @@ export class XRPLCLOB implements CLOBish { const sells: PriceLevel[] = []; bids.forEach((bid) => { - if (isUndefined(bid.quality)) return; - let price, quantity: string; if ( isUndefined(bid.taker_gets_funded) && isUndefined(bid.taker_pays_funded) ) { - if (typeof bid.TakerGets === 'string') { - price = ( - Math.pow(parseFloat(bid.quality), -1) / XRP_FACTOR - ).toString(); - quantity = (parseFloat(bid.TakerGets) * XRP_FACTOR).toString(); - } else if (typeof bid.TakerPays === 'string') { - if (isUndefined(bid.TakerGets)) return; - if (isUndefined(bid.TakerGets?.value)) return; - - price = ( - Math.pow(parseFloat(bid.quality), -1) * XRP_FACTOR - ).toString(); - quantity = bid.TakerGets.value; - } else { - if (isUndefined(bid.TakerGets)) return; - if (isUndefined(bid.TakerGets?.value)) return; - - price = Math.pow(parseFloat(bid.quality), -1).toString(); - quantity = bid.TakerGets.value; - } + if (isUndefined(bid.TakerGets)) return; + if (isUndefined(bid.TakerPays)) return; + + price = ( + parseFloat(getTakerGetsAmount(bid)) / + parseFloat(getTakerPaysAmount(bid)) + ).toString(); + quantity = getTakerPaysAmount(bid); } else { - if (typeof bid.taker_gets_funded === 'string') { - price = ( - Math.pow(parseFloat(bid.quality), -1) / XRP_FACTOR - ).toString(); - quantity = ( - parseFloat(bid.taker_gets_funded) * XRP_FACTOR - ).toString(); - } else if (typeof bid.taker_pays_funded === 'string') { - if (isUndefined(bid.taker_gets_funded)) return; - if (isUndefined(bid.taker_gets_funded?.value)) return; - - price = ( - Math.pow(parseFloat(bid.quality), -1) * XRP_FACTOR - ).toString(); - quantity = bid.taker_gets_funded.value; - } else { - if (isUndefined(bid.taker_gets_funded)) return; - if (isUndefined(bid.taker_gets_funded?.value)) return; - - price = Math.pow(parseFloat(bid.quality), -1).toString(); - quantity = bid.taker_gets_funded.value; - } + if (isUndefined(bid.taker_gets_funded)) return; + if (isUndefined(bid.taker_pays_funded)) return; + + price = ( + parseFloat(getTakerGetsFundedAmount(bid)) / + parseFloat(getTakerPaysFundedAmount(bid)) + ).toString(); + quantity = getTakerPaysFundedAmount(bid); } buys.push({ @@ -287,49 +269,29 @@ export class XRPLCLOB implements CLOBish { }); asks.forEach((ask) => { - if (isUndefined(ask.quality)) return; - let price, quantity: string; if ( isUndefined(ask.taker_gets_funded) && isUndefined(ask.taker_pays_funded) ) { - if (typeof ask.TakerGets === 'string') { - price = (parseFloat(ask.quality) * XRP_FACTOR).toString(); - quantity = (parseFloat(ask.TakerGets) / XRP_FACTOR).toString(); - } else if (typeof ask.TakerPays === 'string') { - if (isUndefined(ask.TakerGets)) return; - if (isUndefined(ask.TakerGets?.value)) return; - - price = (parseFloat(ask.quality) / XRP_FACTOR).toString(); - quantity = ask.TakerGets.value; - } else { - if (isUndefined(ask.TakerPays)) return; - if (isUndefined(ask.TakerPays?.value)) return; - - price = ask.quality; - quantity = ask.TakerGets.value; - } + if (isUndefined(ask.TakerGets)) return; + if (isUndefined(ask.TakerPays)) return; + + price = ( + parseFloat(getTakerPaysAmount(ask)) / + parseFloat(getTakerGetsAmount(ask)) + ).toString(); + quantity = getTakerGetsAmount(ask); } else { - if (typeof ask.taker_gets_funded === 'string') { - price = (parseFloat(ask.quality) * XRP_FACTOR).toString(); - quantity = ( - parseFloat(ask.taker_gets_funded) / XRP_FACTOR - ).toString(); - } else if (typeof ask.taker_pays_funded === 'string') { - if (isUndefined(ask.taker_gets_funded)) return; - if (isUndefined(ask.taker_gets_funded?.value)) return; - - price = (parseFloat(ask.quality) / XRP_FACTOR).toString(); - quantity = ask.taker_gets_funded.value; - } else { - if (isUndefined(ask.taker_gets_funded)) return; - if (isUndefined(ask.taker_gets_funded?.value)) return; - - price = ask.quality; - quantity = ask.taker_gets_funded.value; - } + if (isUndefined(ask.taker_gets_funded)) return; + if (isUndefined(ask.taker_pays_funded)) return; + + price = ( + parseFloat(getTakerPaysFundedAmount(ask)) / + parseFloat(getTakerGetsFundedAmount(ask)) + ).toString(); + quantity = getTakerGetsFundedAmount(ask); } sells.push({ @@ -356,8 +318,9 @@ export class XRPLCLOB implements CLOBish { ): Promise<{ orders: ClobGetOrderResponse['orders'] }> { if (!req.market) return { orders: [] }; if (!req.address) return { orders: [] }; + if (!req.orderId) return { orders: [] }; - if (!req.orderId) { + if (req.orderId === 'all') { const marketId = this.parsedMarkets[req.market].marketId; const orders = await this._orderStorage.getOrdersByMarket( this.chain, @@ -407,30 +370,30 @@ export class XRPLCLOB implements CLOBish { if (req.side == TradeType.SELL) { we_pay = { - currency: quoteCurrency, - issuer: quoteIssuer, - value: Number(total.toPrecision(market.tickSize)).toString(), - }; - we_get = { currency: baseCurrency, issuer: baseIssuer, value: Number( parseFloat(req.amount).toPrecision(market.tickSize) ).toString(), }; + we_get = { + currency: quoteCurrency, + issuer: quoteIssuer, + value: Number(total.toPrecision(market.tickSize)).toString(), + }; } else { we_pay = { + currency: quoteCurrency, + issuer: quoteIssuer, + value: Number(total.toPrecision(market.tickSize)).toString(), + }; + we_get = { currency: baseCurrency, issuer: baseIssuer, value: Number( parseFloat(req.amount).toPrecision(market.tickSize) ).toString(), }; - we_get = { - currency: quoteCurrency, - issuer: quoteIssuer, - value: Number(total.toPrecision(market.tickSize)).toString(), - }; } if (we_pay.currency == 'XRP') { @@ -469,17 +432,7 @@ export class XRPLCLOB implements CLOBish { associatedTxns: [signed.hash], }; - const orderTracker = OrderTracker.getInstance( - this.chain, - this.network, - wallet - ); - - orderTracker.addOrder(order); - - if (orderTracker.isTracking) { - orderTracker.startTracking(); - } + this.trackOrder(wallet, order); return { txHash: signed.hash }; } @@ -495,14 +448,9 @@ export class XRPLCLOB implements CLOBish { }; const { signed } = await this.submitTxn(offer, wallet); + console.log('🪧 -> file: xrpl.ts:451 -> XRPLCLOB -> signed:', signed); - const orderTracker = OrderTracker.getInstance( - this.chain, - this.network, - wallet - ); - - let order = orderTracker.getOrder(parseInt(req.orderId)); + let order = this.getOrder(wallet, req); if (order) { order.state = 'PENDING_CANCEL'; @@ -527,7 +475,7 @@ export class XRPLCLOB implements CLOBish { }; } - orderTracker.addOrder(order); + this.trackOrder(wallet, order); return { txHash: signed.hash }; } @@ -589,4 +537,25 @@ export class XRPLCLOB implements CLOBish { gasCost: parseFloat(fee_estimate.median) * this._client.feeCushion, }; } + + private getOrder(wallet: Wallet, req: ClobDeleteOrderRequest) { + const orderTracker = OrderTracker.getInstance( + this.chain, + this.network, + wallet + ); + + return orderTracker.getOrder(parseInt(req.orderId)); + } + + private trackOrder(wallet: Wallet, order: Order) { + const orderTracker = OrderTracker.getInstance( + this.chain, + this.network, + wallet + ); + + orderTracker.addOrder(order); + orderTracker.startTracking(); + } } diff --git a/src/connectors/xrpl/xrpl.utils.ts b/src/connectors/xrpl/xrpl.utils.ts index 4356928e4a..78c5f4008a 100644 --- a/src/connectors/xrpl/xrpl.utils.ts +++ b/src/connectors/xrpl/xrpl.utils.ts @@ -1,4 +1,6 @@ import { InflightOrders, OrderLocks } from './xrpl.types'; +import { BookOffer, dropsToXrp } from 'xrpl'; +import { XRPL } from '../../chains/xrpl/xrpl'; export class OrderMutexManager { private locks: OrderLocks = {}; @@ -56,3 +58,57 @@ export class OrderMutexManager { return this.locks[hash]; } } + +export function getTakerGetsAmount(offer: BookOffer): string { + if (typeof offer.TakerGets === 'string') { + return dropsToXrp(offer.TakerGets); + } + + return offer.TakerGets.value; +} + +export function getTakerPaysAmount(offer: BookOffer): string { + if (typeof offer.TakerPays === 'string') { + return dropsToXrp(offer.TakerPays); + } + + return offer.TakerPays.value; +} + +export function getTakerGetsFundedAmount(offer: BookOffer): string { + if (typeof offer.taker_gets_funded === 'string') { + return dropsToXrp(offer.taker_gets_funded); + } + + if (!offer.taker_gets_funded) { + return '0'; + } + + return offer.taker_gets_funded.value; +} + +export function getTakerPaysFundedAmount(offer: BookOffer): string { + if (typeof offer.taker_pays_funded === 'string') { + return dropsToXrp(offer.taker_pays_funded); + } + + if (!offer.taker_pays_funded) { + return '0'; + } + + return offer.taker_pays_funded.value; +} + +export async function getsSequenceNumberFromTxn( + network: string, + TxnHash: string +): Promise { + const xrpl = XRPL.getInstance(network); + const txn = await xrpl.getTransaction(TxnHash); + + if (txn) { + return txn.result.Sequence; + } + + return undefined; +} diff --git a/test/connectors/xrpl/xrpl.e2e.test.ts b/test/connectors/xrpl/xrpl.e2e.test.ts new file mode 100644 index 0000000000..feb8c04745 --- /dev/null +++ b/test/connectors/xrpl/xrpl.e2e.test.ts @@ -0,0 +1,251 @@ +import request from 'supertest'; +import { gatewayApp } from '../../../src/app'; +import { Wallet } from 'xrpl'; +import { XRPL } from '../../../src/chains/xrpl/xrpl'; +import { XRPLCLOB } from '../../../src/connectors/xrpl/xrpl'; +import { getsSequenceNumberFromTxn } from '../../../src/connectors/xrpl/xrpl.utils'; +import { patch, unpatch } from '../../services/patch'; + +let xrpl: XRPL; +let xrplCLOB: XRPLCLOB; +const wallet = Wallet.fromSecret('sEd74fJ432TFE4f5Sy48gLyzknkdc1t'); +const MARKET = 'USD-VND'; +const postedOrderTxn: string[] = []; + +// interface Token { +// currency: string; +// issuer: string; +// value?: string; +// } + +// const base_token: Token = { +// currency: 'USD', +// issuer: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', +// value: '0', +// }; + +// const quote_token: Token = { +// currency: 'VND', +// issuer: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', +// value: '0', +// }; + +const INVALID_REQUEST = { + chain: 'unknown', + network: 'testnet', +}; + +const patchWallet = () => { + patch(xrpl, 'getWallet', () => wallet); +}; + +beforeAll(async () => { + xrpl = XRPL.getInstance('testnet'); + await xrpl.init(); + xrplCLOB = XRPLCLOB.getInstance('xrpl', 'testnet'); + await xrplCLOB.init(); + patchWallet(); +}); + +afterAll(async () => { + unpatch(); + await xrpl.close(); +}); + +// Scenario: +// 1. Add wallet to the connector +// 2. Post orders +// 3. Cancel orders +// 4. Post orders again +// 5. Use an other accounts to consume some orders +// 6. Check the balances +// 7. Check the orders status + +describe('Get estimated gas price', () => { + it('should return 200 with proper request', async () => { + await request(gatewayApp) + .get(`/clob/estimateGas`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.gasPrice).toBeDefined()); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/estimateGas`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('Get Markets List', () => { + it('should return a list of markets', async () => { + await request(gatewayApp) + .get(`/clob/markets`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.markets.length).toBeGreaterThan(0); + }); + }); +}); + +describe(`Get ticker info for ${MARKET}`, () => { + it('should return 200 with proper request', async () => { + await request(gatewayApp) + .get(`/clob/ticker`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.markets.baseCurrency).toEqual('USD')) + .expect((res) => expect(res.body.markets.quoteCurrency).toEqual('VND')); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/ticker`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('Post order', () => { + it('should return 200 with proper request', async () => { + await request(gatewayApp) + .post(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock + market: MARKET, + price: '23600', + amount: '1', + side: 'BUY', + orderType: 'LIMIT', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.txHash).toBeDefined(); + postedOrderTxn.push(res.body.txHash); + }); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .post(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('Get posted order', () => { + it('should return 200 with proper request', async () => { + // wait for 4 second to make sure the order is posted + await new Promise((resolve) => setTimeout(resolve, 4000)); + + await request(gatewayApp) + .get(`/clob/orders`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + market: MARKET, + orderId: 'all', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/orders`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('Get orderbook details', () => { + it('should return 200 with proper request with USD-VND', async () => { + await request(gatewayApp) + .get(`/clob/orderBook`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.buys.length).toBeGreaterThan(0); + }); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/orderBook`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('DELETE /clob/orders', () => { + it('should return 200 with proper request', async () => { + // wait for 4 second to make sure the order is posted + await new Promise((resolve) => setTimeout(resolve, 4000)); + + const postedOrderSequence = await getsSequenceNumberFromTxn( + 'testnet', + postedOrderTxn[0] + ); + + expect(postedOrderSequence).toBeDefined(); + + await request(gatewayApp) + .delete(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock + market: MARKET, + orderId: postedOrderSequence?.toString(), + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.txHash).toBeDefined()); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .delete(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); + }); +}); diff --git a/test/connectors/xrpl/xrpl.integration.test.ts b/test/connectors/xrpl/xrpl.integration.test.ts deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index 9127a2d0f0..59ab9cf412 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -285,16 +285,18 @@ const INVALID_REQUEST = { beforeAll(async () => { xrpl = XRPL.getInstance('testnet'); patchConnect(); - xrpl.init(); + // await xrpl.init(); xrplCLOB = XRPLCLOB.getInstance('xrpl', 'testnet'); - await xrplCLOB.init(); + // await xrplCLOB.init(); }); // eslint-disable-next-line @typescript-eslint/no-empty-function beforeEach(() => { patchConnect(); patchFee(); + patchOrderTracking(); patchCurrentBlockNumber(); + patchMarkets(); }); afterEach(() => { @@ -306,7 +308,7 @@ afterAll(async () => { }); const patchConnect = () => { - patch(xrpl, 'ensureConnection', () => { + patch(xrpl, 'ensureConnection', async () => { return Promise.resolve(); }); }; @@ -322,6 +324,12 @@ const patchFee = () => { }); }; +const patchOrderTracking = () => { + patch(xrplCLOB, 'trackOrder', () => { + return Promise.resolve(); + }); +}; + const patchCurrentBlockNumber = (withError: boolean = false) => { patch(xrplCLOB, 'getCurrentBlockNumber', () => { return withError ? -1 : 100; @@ -419,11 +427,17 @@ describe('GET /clob/orderBook', () => { .set('Accept', 'application/json') .expect('Content-Type', /json/) .expect(200) + .expect((res) => { + console.log( + '🪧 -> file: xrpl.routes.test.ts:429 -> it -> res.body.buys:', + res.body.buys + ); + expect(res.body.buys[0].price).toEqual('0.5161287658690241'); + }) + .expect((res) => expect(res.body.buys[0].quantity).toEqual('9.687505')) .expect((res) => - expect(res.body.buys[0].price).toEqual('0.5161287658690241') + expect(res.body.sells[0].price).toEqual('0.5209865069999999') ) - .expect((res) => expect(res.body.buys[0].quantity).toEqual('5')) - .expect((res) => expect(res.body.sells[0].price).toEqual('0.520986507')) .expect((res) => expect(res.body.sells[0].quantity).toEqual('60133')); }); From 6609840ded262d1d44cc9245681458c4d38ba7e0 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 27 Jun 2023 19:47:58 +0700 Subject: [PATCH 17/67] Finish order posting and cancelling scenario test --- src/chains/xrpl/xrpl.order-tracker.ts | 8 +- src/chains/xrpl/xrpl.ts | 4 - src/connectors/xrpl/xrpl.ts | 2 +- test/connectors/xrpl/xrpl.e2e.test.ts | 199 ++++++++++++++++++++++---- 4 files changed, 177 insertions(+), 36 deletions(-) diff --git a/src/chains/xrpl/xrpl.order-tracker.ts b/src/chains/xrpl/xrpl.order-tracker.ts index 2a991f4b0c..35ddb4651b 100644 --- a/src/chains/xrpl/xrpl.order-tracker.ts +++ b/src/chains/xrpl/xrpl.order-tracker.ts @@ -58,8 +58,8 @@ export class OrderTracker { this._inflightOrders = {}; this._orderMutexManager = new OrderMutexManager(this._inflightOrders); this._isTracking = false; - // set tracking interval to 10 seconds - this._orderTrackingInterval = 10000; + // set tracking interval to 1 seconds + this._orderTrackingInterval = 1000; } public static getInstance( @@ -187,7 +187,6 @@ export class OrderTracker { // Update mutex manager this._orderMutexManager.updateOrders(this._inflightOrders); - // Save inflightOrders to DB await this.saveInflightOrdersToDB(); @@ -430,7 +429,6 @@ export class OrderTracker { ? rippleTimeToUnixTime(transaction.transaction.date) : 0; matchOrder.updatedAtLedgerIndex = transaction.ledger_index ?? 0; - // Find if transaction.transaction.hash already in associatedTxns, if not, then push it const foundIndex = matchOrder.associatedTxns.findIndex((hash) => { return hash === transaction.transaction.hash; @@ -647,7 +645,7 @@ export class OrderTracker { } const transformedTx: TransaformedAccountTransaction = { - ledger_index: transaction.ledger_index, + ledger_index: transaction.tx.ledger_index ?? 0, meta: transaction.meta as TransactionMetadata, transaction: transaction.tx as Transaction & ResponseOnlyTxInfo, tx_blob: transaction.tx_blob, diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index 78802efc2b..2f69e37a1a 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -368,10 +368,6 @@ export class XRPL implements XRPLish { } async ensureConnection() { - console.log( - '🪧 -> file: xrpl.ts:372 -> XRPL -> ensureConnection -> isConnected:', - this.isConnected() - ); if (!this.isConnected()) { await this._client.connect(); } diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index 73aee60b9d..bf2f1abc5a 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -44,7 +44,7 @@ import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; import { isUndefined } from 'mathjs'; // const XRP_FACTOR = 1000000; -const ORDERBOOK_LIMIT = 10; +const ORDERBOOK_LIMIT = 100; export class XRPLCLOB implements CLOBish { private static _instances: LRUCache; diff --git a/test/connectors/xrpl/xrpl.e2e.test.ts b/test/connectors/xrpl/xrpl.e2e.test.ts index feb8c04745..ddd10d4499 100644 --- a/test/connectors/xrpl/xrpl.e2e.test.ts +++ b/test/connectors/xrpl/xrpl.e2e.test.ts @@ -5,10 +5,12 @@ import { XRPL } from '../../../src/chains/xrpl/xrpl'; import { XRPLCLOB } from '../../../src/connectors/xrpl/xrpl'; import { getsSequenceNumberFromTxn } from '../../../src/connectors/xrpl/xrpl.utils'; import { patch, unpatch } from '../../services/patch'; +import { Order } from '../../../src/connectors/xrpl/xrpl.types'; let xrpl: XRPL; let xrplCLOB: XRPLCLOB; -const wallet = Wallet.fromSecret('sEd74fJ432TFE4f5Sy48gLyzknkdc1t'); +const wallet1 = Wallet.fromSecret('sEd74fJ432TFE4f5Sy48gLyzknkdc1t'); +// const wallet2 = Wallet.fromSecret('sEd7oiMn5napJBthB2z4CtN5nVi56Bd'); const MARKET = 'USD-VND'; const postedOrderTxn: string[] = []; @@ -35,16 +37,20 @@ const INVALID_REQUEST = { network: 'testnet', }; -const patchWallet = () => { - patch(xrpl, 'getWallet', () => wallet); +const patchWallet1 = () => { + patch(xrpl, 'getWallet', () => wallet1); }; +// const patchWallet2 = () => { +// patch(xrpl, 'getWallet', () => wallet2); +// }; + beforeAll(async () => { xrpl = XRPL.getInstance('testnet'); await xrpl.init(); xrplCLOB = XRPLCLOB.getInstance('xrpl', 'testnet'); await xrplCLOB.init(); - patchWallet(); + patchWallet1(); }); afterAll(async () => { @@ -52,14 +58,14 @@ afterAll(async () => { await xrpl.close(); }); -// Scenario: -// 1. Add wallet to the connector -// 2. Post orders -// 3. Cancel orders -// 4. Post orders again -// 5. Use an other accounts to consume some orders -// 6. Check the balances -// 7. Check the orders status +// 1st Scenario: +// 1. Get estimated gas price +// 2. Get markets list +// 3. Get ticker info +// 4. Get orderbook +// 5. Post an order +// 6. Get posted order details +// 7. Cancel the posted order describe('Get estimated gas price', () => { it('should return 200 with proper request', async () => { @@ -151,18 +157,58 @@ describe('Post order', () => { }); }); - it('should return 404 when parameters are invalid', async () => { + it('should return PENDING_OPEN with proper request', async () => { + // wait for 1 second to make sure the order is getting tracked + await new Promise((resolve) => setTimeout(resolve, 1000)); + + const postedOrderSequence = await getsSequenceNumberFromTxn( + 'testnet', + postedOrderTxn[0] + ); + + if (postedOrderSequence === undefined) { + throw new Error('postedOrderSequence is undefined'); + } + await request(gatewayApp) - .post(`/clob/orders`) - .send(INVALID_REQUEST) - .expect(404); + .get(`/clob/orders`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + market: MARKET, + orderId: 'all', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)) + .expect((res) => { + const orders: Order[] = res.body.orders; + const postedOrder = orders.find( + (order) => order.hash === postedOrderSequence + ); + + if (postedOrder === undefined) { + throw new Error('postedOrder is undefined'); + } + expect(postedOrder.state).toBe('PENDING_OPEN'); + }); }); -}); -describe('Get posted order', () => { - it('should return 200 with proper request', async () => { - // wait for 4 second to make sure the order is posted - await new Promise((resolve) => setTimeout(resolve, 4000)); + it('should return OPEN with proper request', async () => { + // wait for 6 second to make sure the order is posted on blockchain + await new Promise((resolve) => setTimeout(resolve, 6000)); + + const postedOrderSequence = await getsSequenceNumberFromTxn( + 'testnet', + postedOrderTxn[0] + ); + + if (postedOrderSequence === undefined) { + throw new Error('postedOrderSequence is undefined'); + } await request(gatewayApp) .get(`/clob/orders`) @@ -177,7 +223,25 @@ describe('Get posted order', () => { .set('Accept', 'application/json') .expect('Content-Type', /json/) .expect(200) - .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)); + .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)) + .expect((res) => { + const orders: Order[] = res.body.orders; + const postedOrder = orders.find( + (order) => order.hash === postedOrderSequence + ); + + if (postedOrder === undefined) { + throw new Error('postedOrder is undefined'); + } + expect(postedOrder.state).toBe('OPEN'); + }); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .post(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); }); it('should return 404 when parameters are invalid', async () => { @@ -214,11 +278,8 @@ describe('Get orderbook details', () => { }); }); -describe('DELETE /clob/orders', () => { +describe('Delete order', () => { it('should return 200 with proper request', async () => { - // wait for 4 second to make sure the order is posted - await new Promise((resolve) => setTimeout(resolve, 4000)); - const postedOrderSequence = await getsSequenceNumberFromTxn( 'testnet', postedOrderTxn[0] @@ -242,6 +303,82 @@ describe('DELETE /clob/orders', () => { .expect((res) => expect(res.body.txHash).toBeDefined()); }); + it('should return PENDING_CANCEL with proper request', async () => { + // wait for 1 second to make sure the order is getting tracked + await new Promise((resolve) => setTimeout(resolve, 1000)); + + const postedOrderSequence = await getsSequenceNumberFromTxn( + 'testnet', + postedOrderTxn[0] + ); + + if (postedOrderSequence === undefined) { + throw new Error('postedOrderSequence is undefined'); + } + + await request(gatewayApp) + .get(`/clob/orders`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + market: MARKET, + orderId: postedOrderSequence.toString(), + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)) + .expect((res) => { + const orders: Order[] = res.body.orders; + const postedOrder = orders[0]; + + if (postedOrder === undefined) { + throw new Error('postedOrder is undefined'); + } + expect(postedOrder.state).toBe('PENDING_CANCEL'); + }); + }); + + it('should return CANCELED with proper request', async () => { + // wait for 6 second to make sure the order is posted on blockchain + await new Promise((resolve) => setTimeout(resolve, 6000)); + + const postedOrderSequence = await getsSequenceNumberFromTxn( + 'testnet', + postedOrderTxn[0] + ); + + if (postedOrderSequence === undefined) { + throw new Error('postedOrderSequence is undefined'); + } + + await request(gatewayApp) + .get(`/clob/orders`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + market: MARKET, + orderId: postedOrderSequence.toString(), + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)) + .expect((res) => { + const orders: Order[] = res.body.orders; + const postedOrder = orders[0]; + + if (postedOrder === undefined) { + throw new Error('postedOrder is undefined'); + } + expect(postedOrder.state).toBe('CANCELED'); + }); + }); + it('should return 404 when parameters are invalid', async () => { await request(gatewayApp) .delete(`/clob/orders`) @@ -249,3 +386,13 @@ describe('DELETE /clob/orders', () => { .expect(404); }); }); + +// 2nd Senario: +// 1. Post an order +// 2. Get posted order details +// 3. Verify the posted order status is PENDING_OPEN +// 4. Wait for 5 seconds and then verify the posted order status is OPEN +// 5. Use 2nd wallet to create a counter order to consume the posted order partially +// 6. Verify the posted order status is PARTIALLY_FILLED +// 7. Use 2nd wallet to create a counter order to consume the posted order completely +// 8. Verify the posted order status is FILLED From 1111b273e44d14fcfc88bd7f2611631b99f4e469 Mon Sep 17 00:00:00 2001 From: mlguys Date: Sat, 1 Jul 2023 01:07:45 +0700 Subject: [PATCH 18/67] Finish fixing order tracking --- src/chains/xrpl/xrpl.order-tracker.ts | 643 ++++++++++++++++---------- src/chains/xrpl/xrpl.ts | 1 + src/connectors/xrpl/xrpl.ts | 11 +- src/connectors/xrpl/xrpl.types.ts | 48 +- test/connectors/xrpl/xrpl.e2e.test.ts | 362 ++++++++------- 5 files changed, 655 insertions(+), 410 deletions(-) diff --git a/src/chains/xrpl/xrpl.order-tracker.ts b/src/chains/xrpl/xrpl.order-tracker.ts index 35ddb4651b..9220de91dc 100644 --- a/src/chains/xrpl/xrpl.order-tracker.ts +++ b/src/chains/xrpl/xrpl.order-tracker.ts @@ -7,6 +7,7 @@ import { TransactionStream, TransactionMetadata, Transaction, + dropsToXrp, } from 'xrpl'; import { XRPL } from './xrpl'; import { getXRPLConfig } from './xrpl.config'; @@ -19,11 +20,14 @@ import { TransactionIntent, AccountTransaction, ResponseOnlyTxInfo, + CreatedNode, + ModifiedNode, } from '../../connectors/xrpl/xrpl.types'; import { OrderMutexManager } from '../../connectors/xrpl/xrpl.utils'; import { isModifiedNode, isDeletedNode, + isCreatedNode, } from 'xrpl/dist/npm/models/transactions/metadata'; import LRUCache from 'lru-cache'; @@ -43,6 +47,7 @@ export class OrderTracker { private _orderMutexManager: OrderMutexManager; private _inflightOrders: InflightOrders; private _isTracking: boolean; + private _isProcessing: boolean; private _orderTrackingInterval: number; public chain: string; @@ -58,8 +63,10 @@ export class OrderTracker { this._inflightOrders = {}; this._orderMutexManager = new OrderMutexManager(this._inflightOrders); this._isTracking = false; + this._isProcessing = false; // set tracking interval to 1 seconds this._orderTrackingInterval = 1000; + this.startTracking(); } public static getInstance( @@ -92,8 +99,22 @@ export class OrderTracker { return this._isTracking; } - public addOrder(order: Order): void { + public async addOrder(order: Order): Promise { this._inflightOrders[order.hash] = order; + + // Check if isProcessing is on, if so, wait until it's done + while (this._isProcessing) { + await new Promise((resolve) => setTimeout(resolve, 100)); + } + + // Mark isProcessing as true + this._isProcessing = true; + + // save inflightOrders to DB + await this.saveInflightOrdersToDB(); + + // Mark isProcessing as false + this._isProcessing = false; } public getOrder(hash: number): Order | undefined { @@ -139,6 +160,14 @@ export class OrderTracker { const client = this._xrpl.client; client.on('transaction', async (event) => { + // Check if isProcessing is on, if so, wait until it's done + while (this._isProcessing) { + await new Promise((resolve) => setTimeout(resolve, 100)); + } + + // Mark isProcessing as true + this._isProcessing = true; + const updatedOrders = await this.processTransactionStream( this._inflightOrders, event, @@ -151,6 +180,12 @@ export class OrderTracker { }); this._orderMutexManager.updateOrders(this._inflightOrders); + + // Save inflightOrders to DB + await this.saveInflightOrdersToDB(); + + // Mark isProcessing as false + this._isProcessing = false; }); await client.request({ @@ -162,17 +197,15 @@ export class OrderTracker { // Make sure connection is good await this._xrpl.ensureConnection(); - // Check pending inflightOrders - const hashes = Object.keys(this._inflightOrders); - for (const hash of hashes) { - this._inflightOrders[parseInt(hash)] = await this.checkPendingOrder( - client, - this._inflightOrders[parseInt(hash)], - this._orderMutexManager - ); + // Check if isProcessing is on, if so, wait until it's done + while (this._isProcessing) { + await new Promise((resolve) => setTimeout(resolve, 100)); } - // Check open inflightOrders + // Mark isProcessing as true + this._isProcessing = true; + + // Check inflightOrders const updatedOrders = await this.checkOpenOrders( this._inflightOrders, this._wallet.classicAddress, @@ -190,6 +223,14 @@ export class OrderTracker { // Save inflightOrders to DB await this.saveInflightOrdersToDB(); + // Mark isProcessing as false + this._isProcessing = false; + + // console.log( + // '🪧 -> file: xrpl.order-tracker.ts:241 -> OrderTracker -> startTracking -> _inflightOrders:', + // this._inflightOrders + // ); + // Wait for next interval await new Promise((resolve) => setTimeout(resolve, this._orderTrackingInterval) @@ -240,98 +281,6 @@ export class OrderTracker { ); } - async checkPendingOrder( - client: Client, - order: Order, - omm: OrderMutexManager - ): Promise { - // Check if order is canceled - // Check if order is open - let result: Order = order; - const currentLedgerIndex = await client.getLedgerIndex(); - - // If order state is not pending open or pending cancel, then return - if ( - order.state !== OrderStatus.PENDING_OPEN && - order.state !== OrderStatus.PENDING_CANCEL - ) { - return order; - } - - // If order currentLedgerIndex is less than or equal than order createdAtLedgerIndex, then return - if (currentLedgerIndex <= order.updatedAtLedgerIndex) { - return order; - } - - // Wait until the order is not locked - while (omm.isLocked(order.hash)) { - // console.log('Order is locked! Wait for 300ms'); - await new Promise((resolve) => setTimeout(resolve, 300)); - } - - // Lock the order - omm.lock(order.hash); - - // If order state is pending open, check if order is open - if (order.state === OrderStatus.PENDING_OPEN) { - const latestTxnResp = await this.getTransaction( - client, - order.associatedTxns[0] || '' - ); - if (typeof latestTxnResp?.result.meta === 'string') { - result = order; - } else if ( - latestTxnResp?.result.meta?.TransactionResult === 'tesSUCCESS' - ) { - result = { - ...order, - state: OrderStatus.OPEN, - updatedAt: latestTxnResp?.result.date - ? rippleTimeToUnixTime(latestTxnResp?.result.date) - : 0, - updatedAtLedgerIndex: latestTxnResp?.result.ledger_index ?? 0, - }; - // console.log('Order opened!'); - } else { - // Handle other cases here - // https://xrpl.org/transaction-results.html - result = order; - } - } - - // If order state is pending cancel, check if order is canceled - if (order.state === OrderStatus.PENDING_CANCEL) { - const latestTxnResp = await this.getTransaction( - client, - order.associatedTxns[order.associatedTxns.length - 1] || '' - ); - if (typeof latestTxnResp?.result.meta === 'string') { - result = order; - } else if ( - latestTxnResp?.result.meta?.TransactionResult === 'tesSUCCESS' - ) { - result = { - ...order, - state: OrderStatus.CANCELED, - updatedAt: latestTxnResp?.result.date - ? rippleTimeToUnixTime(latestTxnResp?.result.date) - : 0, - updatedAtLedgerIndex: latestTxnResp?.result.ledger_index ?? 0, - }; - // console.log('Order canceled!'); - } else { - // Handle other cases here - // https://xrpl.org/transaction-results.html - result = order; - } - } - - // Release the lock - omm.release(order.hash); - - return result; - } - async checkOpenOrders( openOrders: InflightOrders, account: string, @@ -344,12 +293,16 @@ export class OrderTracker { // 3. Process the transactions stack // 4. Update the inflightOrders const ordersToCheck: InflightOrders = openOrders; + console.log( + '🪧 -> file: xrpl.order-tracker.ts:296 -> OrderTracker -> BEFORE ordersToCheck:', + ordersToCheck + ); // 1. Get the minLedgerIndex from the inflightOrders const hashes = Object.keys(ordersToCheck); - let minLedgerIndex = 0; + let minLedgerIndex = await this._xrpl.getCurrentLedgerIndex(); for (const hash of hashes) { - if (ordersToCheck[parseInt(hash)].updatedAtLedgerIndex > minLedgerIndex) { + if (ordersToCheck[parseInt(hash)].updatedAtLedgerIndex < minLedgerIndex) { minLedgerIndex = ordersToCheck[parseInt(hash)].updatedAtLedgerIndex; } } @@ -370,7 +323,10 @@ export class OrderTracker { return ordersToCheck; } - for (const tx of txStack.result.transactions) { + const transactionStack = txStack.result.transactions; + transactionStack.reverse(); + + for (const tx of transactionStack) { const transformedTx = this.transformAccountTransaction(tx); if (transformedTx === null) { @@ -389,6 +345,11 @@ export class OrderTracker { }); } + console.log( + '🪧 -> file: xrpl.order-tracker.ts:296 -> OrderTracker -> AFTER ordersToCheck:', + ordersToCheck + ); + return ordersToCheck; } @@ -397,202 +358,396 @@ export class OrderTracker { transaction: TransactionStream | TransaformedAccountTransaction, omm: OrderMutexManager ): Promise { - const transactionIntent = await this.getTransactionIntentFromStream( + // TODO: Extend this function to handle multiple intents + const transactionIntents = await this.getTransactionIntentsFromStream( + this.wallet.classicAddress, transaction ); + const ordersToCheck = inflightOrders; // console.log('Transaction intent: '); // console.log(inspect(transactionIntent, { colors: true, depth: null })); - if (transactionIntent.sequence === undefined) { - // console.log('No sequence found!'); + if (transactionIntents.length === 0) { + // console.log('No intent found!'); return ordersToCheck; } - const matchOrder = ordersToCheck[transactionIntent.sequence]; + for (const intent of transactionIntents) { + if (intent.sequence === undefined) { + continue; + } - if (matchOrder === undefined) { - // console.log('No match order found!'); - return ordersToCheck; - } + const matchOrder = ordersToCheck[intent.sequence]; - // Wait until the order is not locked - while (omm.isLocked(matchOrder.hash)) { - // console.log('Order is locked! Wait for 300ms'); - await new Promise((resolve) => setTimeout(resolve, 300)); - } + if (matchOrder === undefined) { + // console.log('No match order found!'); + continue; + } - // Lock the order - omm.lock(matchOrder.hash); + // Wait until the order is not locked + while (omm.isLocked(matchOrder.hash)) { + // console.log('Order is locked! Wait for 300ms'); + await new Promise((resolve) => setTimeout(resolve, 300)); + } - matchOrder.updatedAt = transaction.transaction.date - ? rippleTimeToUnixTime(transaction.transaction.date) - : 0; - matchOrder.updatedAtLedgerIndex = transaction.ledger_index ?? 0; - // Find if transaction.transaction.hash already in associatedTxns, if not, then push it - const foundIndex = matchOrder.associatedTxns.findIndex((hash) => { - return hash === transaction.transaction.hash; - }); + // Lock the order + omm.lock(matchOrder.hash); - if (foundIndex === -1) { - matchOrder.associatedTxns.push(transaction.transaction.hash ?? 'UNKNOWN'); - } else { - // console.log('Transaction already found!'); - } + matchOrder.updatedAt = transaction.transaction.date + ? rippleTimeToUnixTime(transaction.transaction.date) + : 0; + matchOrder.updatedAtLedgerIndex = transaction.ledger_index ?? 0; - switch (transactionIntent.type) { - case TransactionIntentType.OFFER_CREATE_FINALIZED: - // console.log('Offer create finalized!'); - matchOrder.state = OrderStatus.OPEN; - break; + // Find if transaction.transaction.hash already in associatedTxns, if not, then push it + const foundIndex = matchOrder.associatedTxns.findIndex((hash) => { + return hash === intent.tx.transaction.hash; + }); + + if (foundIndex === -1) { + matchOrder.associatedTxns.push(intent.tx.transaction.hash ?? 'UNKNOWN'); + } else { + // console.log('Transaction already found!'); + } - case TransactionIntentType.OFFER_CANCEL_FINALIZED: - // console.log('Offer cancel finalized!'); - matchOrder.state = OrderStatus.CANCELED; - break; + let filledAmount = 0.0; + let node: CreatedNode | ModifiedNode; + let fields: any; - case TransactionIntentType.OFFER_PARTIAL_FILL: - // console.log('Offer partial fill!'); - matchOrder.state = OrderStatus.PARTIALLY_FILLED; + switch (intent.type) { + case TransactionIntentType.OFFER_CREATE_FINALIZED: + // console.log('Offer create finalized!'); + if (matchOrder.state === OrderStatus.PENDING_OPEN) { + matchOrder.state = OrderStatus.OPEN; + } + break; - if (transaction.meta === undefined) { - // console.log('No meta found!'); + case TransactionIntentType.OFFER_CANCEL_FINALIZED: + // console.log('Offer cancel finalized!'); + matchOrder.state = OrderStatus.CANCELED; break; - } - for (const affnode of transaction.meta.AffectedNodes) { - if (isModifiedNode(affnode)) { - // console.log('Modified node found!'); - if (affnode.ModifiedNode.LedgerEntryType == 'Offer') { - // Usually a ModifiedNode of type Offer indicates a previous Offer that - // was partially consumed by this one. - if (affnode.ModifiedNode.FinalFields === undefined) { - // console.log('No final fields found!'); - break; - } + case TransactionIntentType.OFFER_PARTIAL_FILL: + // console.log('Offer partial fill!'); + matchOrder.state = OrderStatus.PARTIALLY_FILLED; - const finalFields = affnode.ModifiedNode.FinalFields as any; - let filledAmount = 0.0; + if (intent.node === undefined) { + // console.log('No node found!'); + break; + } - // Update filled amount - if (matchOrder.tradeType === 'SELL') { - if (typeof finalFields.TakerGets === 'string') { - filledAmount = - parseFloat(matchOrder.amount) - - parseFloat(finalFields.TakerGets as string); - } else { - filledAmount = - parseFloat(matchOrder.amount) - - parseFloat(finalFields.TakerGets.value as string); - } - } + node = intent.node as CreatedNode | ModifiedNode; - if (matchOrder.tradeType === 'BUY') { - if (typeof finalFields.TakerPays === 'string') { - filledAmount = - parseFloat(matchOrder.amount) - - parseFloat(finalFields.TakerPays as string); - } else { - filledAmount = - parseFloat(matchOrder.amount) - - parseFloat(finalFields.TakerPays.value as string); - } - } + if (isCreatedNode(node)) { + fields = node.CreatedNode.NewFields; + } else { + fields = node.ModifiedNode.FinalFields; + } - // console.log('Filled amount: ', filledAmount); - matchOrder.filledAmount = filledAmount.toString(); - break; + // Update filled amount + if (matchOrder.tradeType === 'SELL') { + if (typeof fields.TakerGets === 'string') { + filledAmount = + parseFloat(matchOrder.amount) - + parseFloat(dropsToXrp(fields.TakerGets as string)); + } else { + filledAmount = + parseFloat(matchOrder.amount) - + parseFloat(fields.TakerGets.value as string); } } - } - break; - case TransactionIntentType.OFFER_FILL: - matchOrder.state = OrderStatus.FILLED; - matchOrder.filledAmount = matchOrder.amount; - break; + if (matchOrder.tradeType === 'BUY') { + if (typeof fields.TakerPays === 'string') { + filledAmount = + parseFloat(matchOrder.amount) - + parseFloat(dropsToXrp(fields.TakerPays as string)); + } else { + filledAmount = + parseFloat(matchOrder.amount) - + parseFloat(fields.TakerPays.value as string); + } + } - case TransactionIntentType.UNKNOWN: - matchOrder.state = OrderStatus.UNKNOWN; - break; - } + // console.log('Filled amount: ', filledAmount); + matchOrder.filledAmount = filledAmount.toString(); + break; - // Check matchOrder value - // console.log('Updated matchOrder: '); - // console.log(inspect(matchOrder, { colors: true, depth: null })); + case TransactionIntentType.OFFER_FILL: + matchOrder.state = OrderStatus.FILLED; + matchOrder.filledAmount = matchOrder.amount; + break; - // Update ordersToCheck - ordersToCheck[matchOrder.hash] = matchOrder; + case TransactionIntentType.OFFER_EXPIRED_OR_UNFUNDED: + matchOrder.state = OrderStatus.OFFER_EXPIRED_OR_UNFUNDED; + break; - // Release the lock - omm.release(matchOrder.hash); + case TransactionIntentType.UNKNOWN: + matchOrder.state = OrderStatus.UNKNOWN; + break; + } + + // Check matchOrder value + // console.log('Updated matchOrder: '); + // console.log(inspect(matchOrder, { colors: true, depth: null })); + + // Update ordersToCheck + ordersToCheck[matchOrder.hash] = matchOrder; + + // Release the lock + omm.release(matchOrder.hash); + } return ordersToCheck; } // Utility methods - async getTransactionIntentFromStream( + async getTransactionIntentsFromStream( + walletAddress: string, transaction: TransactionStream | TransaformedAccountTransaction - ): Promise { + ): Promise { const transactionType = transaction.transaction.TransactionType; + const intents: TransactionIntent[] = []; if (transaction.transaction.Sequence === undefined) { - return { type: TransactionIntentType.UNKNOWN }; + return [ + { + type: TransactionIntentType.UNKNOWN, + sequence: 0, + tx: transaction, + }, + ]; } if (transaction.meta === undefined) { - return { type: TransactionIntentType.UNKNOWN }; + return [ + { + type: TransactionIntentType.UNKNOWN, + sequence: transaction.transaction.Sequence, + tx: transaction, + }, + ]; } - switch (transactionType) { - case 'OfferCreate': - // return { type: TransactionIntentType.OFFER_CREATE_FINALIZED, hash: transaction.transaction.Sequence }; - for (const affnode of transaction.meta.AffectedNodes) { - if (isModifiedNode(affnode)) { - if (affnode.ModifiedNode.LedgerEntryType == 'Offer') { - // Usually a ModifiedNode of type Offer indicates a previous Offer that - // was partially consumed by this one. - if (affnode.ModifiedNode.FinalFields === undefined) { - return { type: TransactionIntentType.UNKNOWN }; + if (transaction.transaction.Account !== walletAddress) { + // console.log('Transaction is not from wallet!'); + switch (transactionType) { + case 'OfferCreate': + for (const affnode of transaction.meta.AffectedNodes) { + if (isModifiedNode(affnode)) { + if (affnode.ModifiedNode.LedgerEntryType == 'Offer') { + // Usually a ModifiedNode of type Offer indicates a previous Offer that + // was partially consumed by this one. + if (affnode.ModifiedNode.FinalFields === undefined) { + intents.push({ + type: TransactionIntentType.UNKNOWN, + sequence: transaction.transaction.Sequence, + tx: transaction, + node: affnode, + }); + } + + const finalFields = affnode.ModifiedNode.FinalFields as any; + + intents.push({ + type: TransactionIntentType.OFFER_PARTIAL_FILL, + sequence: finalFields.Sequence as number, + tx: transaction, + node: affnode, + }); } + } else if (isDeletedNode(affnode)) { + if (affnode.DeletedNode.LedgerEntryType == 'Offer') { + // The removed Offer may have been fully consumed, or it may have been + // found to be expired or unfunded. + if (affnode.DeletedNode.FinalFields === undefined) { + intents.push({ + type: TransactionIntentType.UNKNOWN, + sequence: transaction.transaction.Sequence, + tx: transaction, + node: affnode, + }); + } + + const finalFields = affnode.DeletedNode.FinalFields as any; - return { - type: TransactionIntentType.OFFER_PARTIAL_FILL, - sequence: affnode.ModifiedNode.FinalFields.Sequence as number, - }; + intents.push({ + type: TransactionIntentType.OFFER_FILL, + sequence: finalFields.Sequence as number, + tx: transaction, + node: affnode, + }); + } } - } else if (isDeletedNode(affnode)) { - if (affnode.DeletedNode.LedgerEntryType == 'Offer') { - // The removed Offer may have been fully consumed, or it may have been - // found to be expired or unfunded. - if (affnode.DeletedNode.FinalFields === undefined) { - return { type: TransactionIntentType.UNKNOWN }; + } + break; + } + } else { + // console.log('Transaction is from wallet!'); + let consumedNodeCount = 0; + let createNodeCount = 0; + let deleteNodeCount = 0; + + switch (transactionType) { + case 'OfferCreate': + for (const affnode of transaction.meta.AffectedNodes) { + if (isModifiedNode(affnode)) { + if (affnode.ModifiedNode.LedgerEntryType == 'Offer') { + // Usually a ModifiedNode of type Offer indicates a previous Offer that + // was partially consumed by this one. + + if (affnode.ModifiedNode.FinalFields === undefined) { + intents.push({ + type: TransactionIntentType.UNKNOWN, + sequence: transaction.transaction.Sequence, + tx: transaction, + node: affnode, + }); + } + + const finalFields = affnode.ModifiedNode.FinalFields as any; + intents.push({ + type: TransactionIntentType.OFFER_PARTIAL_FILL, + sequence: finalFields.Sequence as number, + tx: transaction, + node: affnode, + }); + consumedNodeCount++; + } + } else if (isDeletedNode(affnode)) { + if (affnode.DeletedNode.LedgerEntryType == 'Offer') { + // The removed Offer may have been fully consumed, or it may have been + // found to be expired or unfunded. + if (affnode.DeletedNode.FinalFields === undefined) { + intents.push({ + type: TransactionIntentType.UNKNOWN, + sequence: transaction.transaction.Sequence, + tx: transaction, + node: affnode, + }); + } else { + const finalFields = affnode.DeletedNode.FinalFields as any; + + if (finalFields.Account === walletAddress) { + const replacingOfferSequnce = + transaction.transaction.OfferSequence; + + if (finalFields.Sequence !== replacingOfferSequnce) { + intents.push({ + type: TransactionIntentType.OFFER_EXPIRED_OR_UNFUNDED, + sequence: finalFields.Sequence as number, + tx: transaction, + node: affnode, + }); + } else { + intents.push({ + type: TransactionIntentType.OFFER_CANCEL_FINALIZED, + sequence: finalFields.Sequence as number, + tx: transaction, + node: affnode, + }); + } + } else { + intents.push({ + type: TransactionIntentType.OFFER_FILL, + sequence: finalFields.Sequence as number, + tx: transaction, + node: affnode, + }); + consumedNodeCount++; + } + } + } + } else if (isCreatedNode(affnode)) { + if (affnode.CreatedNode.LedgerEntryType == 'Offer') { + if (affnode.CreatedNode.NewFields === undefined) { + intents.push({ + type: TransactionIntentType.UNKNOWN, + sequence: transaction.transaction.Sequence, + tx: transaction, + node: affnode, + }); + } else { + const newFields = affnode.CreatedNode.NewFields as any; + if (consumedNodeCount > 0) { + intents.push({ + type: TransactionIntentType.OFFER_PARTIAL_FILL, + sequence: newFields.Sequence, + tx: transaction, + node: affnode, + }); + } else { + intents.push({ + type: TransactionIntentType.OFFER_CREATE_FINALIZED, + sequence: newFields.Sequence, + tx: transaction, + node: affnode, + }); + } + createNodeCount++; + } } + } + } - return { + if (createNodeCount === 0) { + if (consumedNodeCount > 0) { + intents.push({ type: TransactionIntentType.OFFER_FILL, - sequence: affnode.DeletedNode.FinalFields.Sequence as number, - }; + sequence: transaction.transaction.Sequence, + tx: transaction, + }); + } else { + intents.push({ + type: TransactionIntentType.UNKNOWN, + sequence: transaction.transaction.Sequence, + tx: transaction, + }); } - } else { - return { - type: TransactionIntentType.OFFER_CREATE_FINALIZED, - sequence: transaction.transaction.Sequence, - }; } - } - break; + break; - case 'OfferCancel': - return { - type: TransactionIntentType.OFFER_CANCEL_FINALIZED, - sequence: transaction.transaction.OfferSequence, - }; + case 'OfferCancel': + for (const affnode of transaction.meta.AffectedNodes) { + if (isDeletedNode(affnode)) { + if (affnode.DeletedNode.LedgerEntryType == 'Offer') { + if (affnode.DeletedNode.FinalFields === undefined) { + intents.push({ + type: TransactionIntentType.UNKNOWN, + sequence: transaction.transaction.OfferSequence, + tx: transaction, + node: affnode, + }); + } else { + const finalFields = affnode.DeletedNode.FinalFields as any; + + if (finalFields.Account === walletAddress) { + intents.push({ + type: TransactionIntentType.OFFER_CANCEL_FINALIZED, + sequence: finalFields.Sequence as number, + tx: transaction, + node: affnode, + }); + deleteNodeCount++; + } + } + } + } + } + + if (deleteNodeCount === 0) { + intents.push({ + type: TransactionIntentType.UNKNOWN, + sequence: transaction.transaction.OfferSequence, + tx: transaction, + }); + } + break; + } } - return { type: TransactionIntentType.UNKNOWN }; + return intents; } - async getTransaction( client: Client, txHash: string diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index 2f69e37a1a..a3f638d216 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -414,6 +414,7 @@ export class XRPL implements XRPLish { } public async getCurrentBlockNumber(): Promise { + await this.ensureConnection(); const currentIndex = await this.getCurrentLedgerIndex(); return currentIndex; } diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index bf2f1abc5a..47fa82022b 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -432,7 +432,7 @@ export class XRPLCLOB implements CLOBish { associatedTxns: [signed.hash], }; - this.trackOrder(wallet, order); + await this.trackOrder(wallet, order); return { txHash: signed.hash }; } @@ -448,7 +448,6 @@ export class XRPLCLOB implements CLOBish { }; const { signed } = await this.submitTxn(offer, wallet); - console.log('🪧 -> file: xrpl.ts:451 -> XRPLCLOB -> signed:', signed); let order = this.getOrder(wallet, req); @@ -475,7 +474,7 @@ export class XRPLCLOB implements CLOBish { }; } - this.trackOrder(wallet, order); + await this.trackOrder(wallet, order); return { txHash: signed.hash }; } @@ -548,14 +547,14 @@ export class XRPLCLOB implements CLOBish { return orderTracker.getOrder(parseInt(req.orderId)); } - private trackOrder(wallet: Wallet, order: Order) { + private async trackOrder(wallet: Wallet, order: Order) { const orderTracker = OrderTracker.getInstance( this.chain, this.network, wallet ); - orderTracker.addOrder(order); - orderTracker.startTracking(); + await orderTracker.addOrder(order); + // orderTracker.startTracking(); } } diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts index 9b0aa67b20..f4fd7b8c15 100644 --- a/src/connectors/xrpl/xrpl.types.ts +++ b/src/connectors/xrpl/xrpl.types.ts @@ -1,6 +1,10 @@ import { Map as ImmutableMap, Set as ImmutableSet } from 'immutable'; -import { BookOffer } from 'xrpl'; -import { TransactionMetadata, Transaction } from 'xrpl'; +import { + BookOffer, + TransactionStream, + TransactionMetadata, + Transaction, +} from 'xrpl'; export type IMap = ImmutableMap; export const IMap = ImmutableMap; @@ -21,6 +25,7 @@ export enum OrderStatus { PENDING_OPEN = 'PENDING_OPEN', PENDING_CANCEL = 'PENDING_CANCEL', FAILED = 'FAILED', + OFFER_EXPIRED_OR_UNFUNDED = 'OFFER_EXPIRED_OR_UNFUNDED', UNKNOWN = 'UNKNOWN', } @@ -37,6 +42,7 @@ export enum TransactionIntentType { OFFER_CANCEL_FINALIZED = 'OfferCancelFinalized', OFFER_PARTIAL_FILL = 'OfferPartialFill', OFFER_FILL = 'OfferFill', + OFFER_EXPIRED_OR_UNFUNDED = 'OfferExpiredOrUnfunded', UNKNOWN = 'UNKNOWN', } @@ -266,4 +272,42 @@ export interface ResponseOnlyTxInfo { export interface TransactionIntent { type: TransactionIntentType; sequence?: number; + tx: TransactionStream | TransaformedAccountTransaction; + filledAmount?: string; + node?: Node; +} + +type Node = CreatedNode | ModifiedNode | DeletedNode; + +export interface CreatedNode { + CreatedNode: { + LedgerEntryType: string; + LedgerIndex: string; + NewFields: { + [field: string]: unknown; + }; + }; +} +export interface ModifiedNode { + ModifiedNode: { + LedgerEntryType: string; + LedgerIndex: string; + FinalFields?: { + [field: string]: unknown; + }; + PreviousFields?: { + [field: string]: unknown; + }; + PreviousTxnID?: string; + PreviousTxnLgrSeq?: number; + }; +} +export interface DeletedNode { + DeletedNode: { + LedgerEntryType: string; + LedgerIndex: string; + FinalFields: { + [field: string]: unknown; + }; + }; } diff --git a/test/connectors/xrpl/xrpl.e2e.test.ts b/test/connectors/xrpl/xrpl.e2e.test.ts index ddd10d4499..f1e513a09d 100644 --- a/test/connectors/xrpl/xrpl.e2e.test.ts +++ b/test/connectors/xrpl/xrpl.e2e.test.ts @@ -9,28 +9,10 @@ import { Order } from '../../../src/connectors/xrpl/xrpl.types'; let xrpl: XRPL; let xrplCLOB: XRPLCLOB; -const wallet1 = Wallet.fromSecret('sEd74fJ432TFE4f5Sy48gLyzknkdc1t'); -// const wallet2 = Wallet.fromSecret('sEd7oiMn5napJBthB2z4CtN5nVi56Bd'); +const wallet1 = Wallet.fromSecret('sEd74fJ432TFE4f5Sy48gLyzknkdc1t'); // r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16 +const wallet2 = Wallet.fromSecret('sEd7oiMn5napJBthB2z4CtN5nVi56Bd'); // r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV const MARKET = 'USD-VND'; -const postedOrderTxn: string[] = []; - -// interface Token { -// currency: string; -// issuer: string; -// value?: string; -// } - -// const base_token: Token = { -// currency: 'USD', -// issuer: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', -// value: '0', -// }; - -// const quote_token: Token = { -// currency: 'VND', -// issuer: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', -// value: '0', -// }; +let postedOrderTxn: string; const INVALID_REQUEST = { chain: 'unknown', @@ -38,12 +20,12 @@ const INVALID_REQUEST = { }; const patchWallet1 = () => { - patch(xrpl, 'getWallet', () => wallet1); -}; + patch(xrpl, 'getWallet', (walletAddress: string) => { + if (walletAddress === 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16') return wallet1; -// const patchWallet2 = () => { -// patch(xrpl, 'getWallet', () => wallet2); -// }; + return wallet2; + }); +}; beforeAll(async () => { xrpl = XRPL.getInstance('testnet'); @@ -143,8 +125,8 @@ describe('Post order', () => { connector: 'xrpl', address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock market: MARKET, - price: '23600', - amount: '1', + price: '20000', + amount: '0.1', side: 'BUY', orderType: 'LIMIT', }) @@ -153,88 +135,30 @@ describe('Post order', () => { .expect(200) .expect((res) => { expect(res.body.txHash).toBeDefined(); - postedOrderTxn.push(res.body.txHash); + postedOrderTxn = res.body.txHash; }); }); it('should return PENDING_OPEN with proper request', async () => { - // wait for 1 second to make sure the order is getting tracked - await new Promise((resolve) => setTimeout(resolve, 1000)); - - const postedOrderSequence = await getsSequenceNumberFromTxn( - 'testnet', - postedOrderTxn[0] + await checkOrderStatus( + postedOrderTxn, + 10, + 'PENDING_OPEN', + 500, + wallet1.address, + true ); - - if (postedOrderSequence === undefined) { - throw new Error('postedOrderSequence is undefined'); - } - - await request(gatewayApp) - .get(`/clob/orders`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', - market: MARKET, - orderId: 'all', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)) - .expect((res) => { - const orders: Order[] = res.body.orders; - const postedOrder = orders.find( - (order) => order.hash === postedOrderSequence - ); - - if (postedOrder === undefined) { - throw new Error('postedOrder is undefined'); - } - expect(postedOrder.state).toBe('PENDING_OPEN'); - }); }); it('should return OPEN with proper request', async () => { - // wait for 6 second to make sure the order is posted on blockchain - await new Promise((resolve) => setTimeout(resolve, 6000)); - - const postedOrderSequence = await getsSequenceNumberFromTxn( - 'testnet', - postedOrderTxn[0] + await checkOrderStatus( + postedOrderTxn, + 9, + 'OPEN', + 1000, + wallet1.address, + true ); - - if (postedOrderSequence === undefined) { - throw new Error('postedOrderSequence is undefined'); - } - - await request(gatewayApp) - .get(`/clob/orders`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', - market: MARKET, - orderId: 'all', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)) - .expect((res) => { - const orders: Order[] = res.body.orders; - const postedOrder = orders.find( - (order) => order.hash === postedOrderSequence - ); - - if (postedOrder === undefined) { - throw new Error('postedOrder is undefined'); - } - expect(postedOrder.state).toBe('OPEN'); - }); }); it('should return 404 when parameters are invalid', async () => { @@ -282,7 +206,7 @@ describe('Delete order', () => { it('should return 200 with proper request', async () => { const postedOrderSequence = await getsSequenceNumberFromTxn( 'testnet', - postedOrderTxn[0] + postedOrderTxn ); expect(postedOrderSequence).toBeDefined(); @@ -304,95 +228,217 @@ describe('Delete order', () => { }); it('should return PENDING_CANCEL with proper request', async () => { - // wait for 1 second to make sure the order is getting tracked - await new Promise((resolve) => setTimeout(resolve, 1000)); + await checkOrderStatus( + postedOrderTxn, + 10, + 'PENDING_CANCEL', + 500, + wallet1.address, + true + ); + }); - const postedOrderSequence = await getsSequenceNumberFromTxn( - 'testnet', - postedOrderTxn[0] + it('should return CANCELED with proper request', async () => { + await checkOrderStatus( + postedOrderTxn, + 9, + 'CANCELED', + 1000, + wallet1.address, + true ); + }); - if (postedOrderSequence === undefined) { - throw new Error('postedOrderSequence is undefined'); - } + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .delete(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); + }); +}); + +// 2nd Senario: +// 1. Post an order +// 2. Get posted order details +// 3. Verify the posted order status is PENDING_OPEN +// 4. Wait for 5 seconds and then verify the posted order status is OPEN +// 5. Use 2nd wallet to create a counter order to consume the posted order partially +// 6. Verify the posted order status is PARTIALLY_FILLED +// 7. Use 2nd wallet to create a counter order to consume the posted order completely +// 8. Verify the posted order status is FILLED +describe('Post order to be consumed', () => { + it('should return 200 with proper request', async () => { await request(gatewayApp) - .get(`/clob/orders`) - .query({ + .post(`/clob/orders`) + .send({ chain: 'xrpl', network: 'testnet', connector: 'xrpl', - address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + address: wallet2.address, // noqa: mock market: MARKET, - orderId: postedOrderSequence.toString(), + price: '20000', + amount: '0.1', + side: 'BUY', + orderType: 'LIMIT', }) .set('Accept', 'application/json') .expect('Content-Type', /json/) .expect(200) - .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)) .expect((res) => { - const orders: Order[] = res.body.orders; - const postedOrder = orders[0]; - - if (postedOrder === undefined) { - throw new Error('postedOrder is undefined'); - } - expect(postedOrder.state).toBe('PENDING_CANCEL'); + expect(res.body.txHash).toBeDefined(); + postedOrderTxn = res.body.txHash; }); }); - it('should return CANCELED with proper request', async () => { - // wait for 6 second to make sure the order is posted on blockchain - await new Promise((resolve) => setTimeout(resolve, 6000)); + it('should return PENDING_OPEN with proper request', async () => { + await checkOrderStatus( + postedOrderTxn, + 9, + 'PENDING_OPEN', + 1000, + wallet2.address, + true + ); + }); - const postedOrderSequence = await getsSequenceNumberFromTxn( - 'testnet', - postedOrderTxn[0] + it('should return OPEN with proper request', async () => { + await checkOrderStatus( + postedOrderTxn, + 9, + 'OPEN', + 1000, + wallet2.address, + true ); + }); - if (postedOrderSequence === undefined) { - throw new Error('postedOrderSequence is undefined'); - } + describe('Consume posted order', () => { + it('should return 200 with proper request', async () => { + await request(gatewayApp) + .post(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: wallet1.classicAddress, // noqa: mock + market: MARKET, + price: '19999', + amount: '0.05', + side: 'SELL', + orderType: 'LIMIT', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.txHash).toBeDefined(); + }); + }); + + it('should return PARTIALLY_FILLED with proper request', async () => { + await checkOrderStatus( + postedOrderTxn, + 9, + 'PARTIALLY_FILLED', + 1000, + wallet2.classicAddress, + true + ); + }); + + it('should return 200 with proper request', async () => { + await request(gatewayApp) + .post(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: wallet1.address, // noqa: mock + market: MARKET, + price: '19999', + amount: '0.051', + side: 'SELL', + orderType: 'LIMIT', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.txHash).toBeDefined(); + }); + }); + + it('should return FILLED with proper request', async () => { + await checkOrderStatus( + postedOrderTxn, + 9, + 'FILLED', + 1000, + wallet2.classicAddress, + true + ); + }); + }); +}); +async function checkOrderStatus( + postedOrderTxn: string, + maxCheckCount: number, + state: string, + requestFrequency: number = 1000, + walletAddress: string, + getAllOrdres: boolean = false +) { + const postedOrderSequence = await getsSequenceNumberFromTxn( + 'testnet', + postedOrderTxn + ); + + if (postedOrderSequence === undefined) { + throw new Error('postedOrderSequence is undefined'); + } + + let hasPassed = false; + let checkCount = 0; + let orderState = ''; + let orders: Order[] = []; + + while (!hasPassed && checkCount < maxCheckCount) { await request(gatewayApp) .get(`/clob/orders`) .query({ chain: 'xrpl', network: 'testnet', connector: 'xrpl', - address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + address: walletAddress, market: MARKET, - orderId: postedOrderSequence.toString(), + orderId: getAllOrdres ? 'all' : postedOrderSequence, }) .set('Accept', 'application/json') .expect('Content-Type', /json/) .expect(200) - .expect((res) => expect(res.body.orders.length).toBeGreaterThan(0)) - .expect((res) => { - const orders: Order[] = res.body.orders; - const postedOrder = orders[0]; + .then((res) => { + orders = res.body.orders; + }); + + if (orders.length > 0) { + const postedOrder = orders.find( + (order) => order.hash === postedOrderSequence + ); - if (postedOrder === undefined) { - throw new Error('postedOrder is undefined'); + if (postedOrder !== undefined) { + orderState = postedOrder.state; + if (orderState === state) { + hasPassed = true; } - expect(postedOrder.state).toBe('CANCELED'); - }); - }); + } + } - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .delete(`/clob/orders`) - .send(INVALID_REQUEST) - .expect(404); - }); -}); + checkCount++; + await new Promise((resolve) => setTimeout(resolve, requestFrequency)); + } -// 2nd Senario: -// 1. Post an order -// 2. Get posted order details -// 3. Verify the posted order status is PENDING_OPEN -// 4. Wait for 5 seconds and then verify the posted order status is OPEN -// 5. Use 2nd wallet to create a counter order to consume the posted order partially -// 6. Verify the posted order status is PARTIALLY_FILLED -// 7. Use 2nd wallet to create a counter order to consume the posted order completely -// 8. Verify the posted order status is FILLED + expect(orderState).toBe(state); + expect(hasPassed).toBe(true); +} From 4547c7e44355475340f8aa306b1def69d5dee549 Mon Sep 17 00:00:00 2001 From: mlguys Date: Fri, 14 Jul 2023 14:05:31 +0700 Subject: [PATCH 19/67] merge development + fix test cases --- package.json | 2 +- src/chains/xrpl/xrpl.order-storage.ts | 13 +------------ src/chains/xrpl/xrpl.order-tracker.ts | 14 -------------- src/connectors/xrpl/xrpl.ts | 1 - test/connectors/xrpl/xrpl.routes.test.ts | 9 +++++++++ 5 files changed, 11 insertions(+), 28 deletions(-) diff --git a/package.json b/package.json index deea219090..9801172513 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "test:unit": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --verbose ./test/", "test:cov": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/", "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts", - "test:xrpl": "jest -i --verbose test/connectors/xrpl/*.test.ts", + "test:xrpl": "jest -i --verbose test/connectors/xrpl/xrpl.routes.test.ts", "test:e2e:xrpl": "jest -i --verbose test/connectors/xrpl/xrpl.e2e.test.ts", "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/connectors/xrpl/*.test.ts" }, diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts index ab153cb4d7..12d8d94ad5 100644 --- a/src/chains/xrpl/xrpl.order-storage.ts +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -18,10 +18,7 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { try { await this.localStorage.init(); } catch (error) { - console.log( - '🪧 -> file: xrpl.order-storage.ts:22 -> XRPLOrderStorage -> init -> error:', - error - ); + throw new Error('Failed to initialize local storage: ' + error); } } @@ -57,16 +54,8 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { network: string, walletAddress: string ): Promise> { - console.log( - '🪧 -> file: xrpl.order-storage.ts:60 -> XRPLOrderStorage -> walletAddress:', - walletAddress - ); return this.localStorage.get((key: string, value: string) => { const splitKey = key.split('/'); - console.log( - '🪧 -> file: xrpl.order-storage.ts:62 -> XRPLOrderStorage -> returnthis.localStorage.get -> splitKey:', - splitKey - ); if ( splitKey.length === 4 && splitKey[0] === chain && diff --git a/src/chains/xrpl/xrpl.order-tracker.ts b/src/chains/xrpl/xrpl.order-tracker.ts index 9220de91dc..82921d2fdf 100644 --- a/src/chains/xrpl/xrpl.order-tracker.ts +++ b/src/chains/xrpl/xrpl.order-tracker.ts @@ -226,11 +226,6 @@ export class OrderTracker { // Mark isProcessing as false this._isProcessing = false; - // console.log( - // '🪧 -> file: xrpl.order-tracker.ts:241 -> OrderTracker -> startTracking -> _inflightOrders:', - // this._inflightOrders - // ); - // Wait for next interval await new Promise((resolve) => setTimeout(resolve, this._orderTrackingInterval) @@ -293,10 +288,6 @@ export class OrderTracker { // 3. Process the transactions stack // 4. Update the inflightOrders const ordersToCheck: InflightOrders = openOrders; - console.log( - '🪧 -> file: xrpl.order-tracker.ts:296 -> OrderTracker -> BEFORE ordersToCheck:', - ordersToCheck - ); // 1. Get the minLedgerIndex from the inflightOrders const hashes = Object.keys(ordersToCheck); @@ -345,11 +336,6 @@ export class OrderTracker { }); } - console.log( - '🪧 -> file: xrpl.order-tracker.ts:296 -> OrderTracker -> AFTER ordersToCheck:', - ordersToCheck - ); - return ordersToCheck; } diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index 47fa82022b..cd8746c252 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -555,6 +555,5 @@ export class XRPLCLOB implements CLOBish { ); await orderTracker.addOrder(order); - // orderTracker.startTracking(); } } diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index 59ab9cf412..78cb6499a7 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -2,6 +2,7 @@ import request from 'supertest'; import { gatewayApp } from '../../../src/app'; import { XRPL } from '../../../src/chains/xrpl/xrpl'; import { XRPLCLOB } from '../../../src/connectors/xrpl/xrpl'; +import {} from '../../../src/chains/xrpl/xrpl.order-tracker'; import { Order } from '../../../src/connectors/xrpl/xrpl.types'; import { patch, unpatch } from '../../services/patch'; @@ -330,6 +331,12 @@ const patchOrderTracking = () => { }); }; +const patchGetOrder = () => { + patch(xrplCLOB, 'getOrder', () => { + return undefined; + }); +}; + const patchCurrentBlockNumber = (withError: boolean = false) => { patch(xrplCLOB, 'getCurrentBlockNumber', () => { return withError ? -1 : 100; @@ -558,6 +565,7 @@ describe('DELETE /clob/orders', () => { it('should return 200 with proper request', async () => { patchSubmitTxn(); patchGetWallet(); + patchGetOrder(); await request(gatewayApp) .delete(`/clob/orders`) .send({ @@ -585,6 +593,7 @@ describe('DELETE /clob/orders', () => { describe('GET /clob/estimateGas', () => { it('should return 200 with proper request', async () => { patchGasPrices(); + patchGetOrder(); await request(gatewayApp) .get(`/clob/estimateGas`) .query({ From d7844c82d47b1f7664076d2fe4e599c2a6f9553b Mon Sep 17 00:00:00 2001 From: mlguys Date: Thu, 27 Jul 2023 01:38:23 +0700 Subject: [PATCH 20/67] Add tracking fills --- src/chains/xrpl/xrpl.order-tracker.ts | 265 +++++++++++++++++++++++++- src/connectors/xrpl/xrpl.ts | 2 + src/connectors/xrpl/xrpl.types.ts | 14 ++ 3 files changed, 279 insertions(+), 2 deletions(-) diff --git a/src/chains/xrpl/xrpl.order-tracker.ts b/src/chains/xrpl/xrpl.order-tracker.ts index 82921d2fdf..7de7e5b767 100644 --- a/src/chains/xrpl/xrpl.order-tracker.ts +++ b/src/chains/xrpl/xrpl.order-tracker.ts @@ -22,6 +22,8 @@ import { ResponseOnlyTxInfo, CreatedNode, ModifiedNode, + DeletedNode, + FillData, } from '../../connectors/xrpl/xrpl.types'; import { OrderMutexManager } from '../../connectors/xrpl/xrpl.utils'; import { @@ -397,8 +399,10 @@ export class OrderTracker { } let filledAmount = 0.0; - let node: CreatedNode | ModifiedNode; + let node: CreatedNode | ModifiedNode | DeletedNode | undefined; let fields: any; + let foundTradeIndex = 0; + let fillData: FillData; switch (intent.type) { case TransactionIntentType.OFFER_CREATE_FINALIZED: @@ -455,6 +459,42 @@ export class OrderTracker { } } + // add intent as trade date + foundTradeIndex = matchOrder.associatedFills.findIndex((fill) => { + if (node === undefined) { + return ( + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + fill.id === `${intent.type}-${transaction.transaction.hash!}` + ); + } + + if (isCreatedNode(node)) { + return ( + fill.id === `${intent.type}-${node.CreatedNode.LedgerIndex}` + ); + } + + if (isModifiedNode(node)) { + return ( + fill.id === `${intent.type}-${node.ModifiedNode.LedgerIndex}` + ); + } + + return false; + }); + + if (foundTradeIndex === -1) { + fillData = this.buildFillData( + intent, + node, + matchOrder, + transaction + ); + matchOrder.associatedFills.push(fillData); + } else { + // console.log('FillData already found!'); + } + // console.log('Filled amount: ', filledAmount); matchOrder.filledAmount = filledAmount.toString(); break; @@ -462,6 +502,45 @@ export class OrderTracker { case TransactionIntentType.OFFER_FILL: matchOrder.state = OrderStatus.FILLED; matchOrder.filledAmount = matchOrder.amount; + + // add intent as trade date + node = intent.node as CreatedNode | DeletedNode | undefined; + + foundTradeIndex = matchOrder.associatedFills.findIndex((fill) => { + if (node === undefined) { + return ( + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + fill.id === `${intent.type}-${transaction.transaction.hash!}` + ); + } + + if (isCreatedNode(node)) { + return ( + fill.id === `${intent.type}-${node.CreatedNode.LedgerIndex}` + ); + } + + if (isDeletedNode(node)) { + return ( + fill.id === `${intent.type}-${node.DeletedNode.LedgerIndex}` + ); + } + + return false; + }); + + if (foundTradeIndex === -1) { + fillData = this.buildFillData( + intent, + node, + matchOrder, + transaction + ); + + matchOrder.associatedFills.push(fillData); + } else { + // console.log('FillData already found!'); + } break; case TransactionIntentType.OFFER_EXPIRED_OR_UNFUNDED: @@ -614,7 +693,10 @@ export class OrderTracker { } else { const finalFields = affnode.DeletedNode.FinalFields as any; - if (finalFields.Account === walletAddress) { + if ( + transaction.transaction.Account === walletAddress && + finalFields.Account === walletAddress + ) { const replacingOfferSequnce = transaction.transaction.OfferSequence; @@ -795,4 +877,183 @@ export class OrderTracker { return transformedTx; } + + buildFillData( + intent: TransactionIntent, + node: CreatedNode | ModifiedNode | DeletedNode | undefined, + order: Order, + transaction: TransactionStream | TransaformedAccountTransaction + ): FillData { + let id: string; + + if (node === undefined) { + return { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + id: `${intent.type}-${transaction.transaction.hash!}`, + price: order.price, + quantity: order.amount, + fee_token: 'XRP', + fee: this.getFeeFromTransaction(transaction).toString(), + timestamp: transaction.transaction.date + ? rippleTimeToUnixTime(transaction.transaction.date) + : 0, + type: 'Taker', + }; + } + + if (isModifiedNode(node)) { + id = `${intent.type}-${node.ModifiedNode.LedgerIndex}`; + } else if (isDeletedNode(node)) { + id = `${intent.type}-${node.DeletedNode.LedgerIndex}`; + } else { + id = `${intent.type}-${node.CreatedNode.LedgerIndex}`; + } + + const price = order.price; + const quantity = this.getFilledAmountFromNode( + order, + node, + order.tradeType + ).toString(); + const fee_token = 'XRP'; + const fee = this.getFeeFromTransaction(transaction).toString(); + const timestamp = transaction.transaction.date + ? rippleTimeToUnixTime(transaction.transaction.date) + : 0; + const type = 'Maker'; + + return { + id, + price, + quantity, + fee_token, + fee, + timestamp, + type, + }; + } + + getFeeFromTransaction( + transaction: TransactionStream | TransaformedAccountTransaction + ): string { + let fee = '0'; + + if (transaction.meta === undefined) { + return fee; + } + + transaction.meta.AffectedNodes.forEach((node) => { + if (isModifiedNode(node)) { + if (node.ModifiedNode.LedgerEntryType === 'AccountRoot') { + try { + const previousFields = node.ModifiedNode.PreviousFields as any; + const finalFields = node.ModifiedNode.FinalFields as any; + + if ( + previousFields.Balance !== undefined && + finalFields.Balance !== undefined + ) { + fee = dropsToXrp( + parseInt(previousFields.Balance) - parseInt(finalFields.Balance) + ); + } + } catch (error) { + throw new Error( + 'Error parsing fee from transaction: ' + transaction + ); + } + } + } + }); + + return fee; + } + + getFilledAmountFromNode( + order: Order, + node: CreatedNode | ModifiedNode | DeletedNode, + tradeType: string + ): number { + let filledAmount = 0; + let ledgerEntryType = ''; + let previousFields: any, finalFields: any; + + try { + if (isModifiedNode(node)) { + ledgerEntryType = node.ModifiedNode.LedgerEntryType; + previousFields = node.ModifiedNode.PreviousFields; + finalFields = node.ModifiedNode.FinalFields; + } else if (isDeletedNode(node)) { + ledgerEntryType = node.DeletedNode.LedgerEntryType; + previousFields = node.DeletedNode.PreviousFields; + finalFields = node.DeletedNode.FinalFields; + } else { + ledgerEntryType = node.CreatedNode.LedgerEntryType; + previousFields = undefined; + finalFields = node.CreatedNode.NewFields; + } + } catch (error) { + throw new Error('Error parsing node: ' + error); + } + + if (ledgerEntryType === 'Offer' && isCreatedNode(node)) { + if (finalFields === undefined) throw new Error('Final fields undefined'); + + if (tradeType === 'SELL') { + if (typeof finalFields.TakerGets === 'string') { + filledAmount = + parseFloat(order.amount) - + parseFloat(dropsToXrp(finalFields.TakerGets as string)); + } else { + filledAmount = + parseFloat(order.amount) - + parseFloat(finalFields.TakerGets.value as string); + } + } + + if (tradeType === 'BUY') { + if (typeof finalFields.TakerPays === 'string') { + filledAmount = + parseFloat(order.amount) - + parseFloat(dropsToXrp(finalFields.TakerPays as string)); + } else { + filledAmount = + parseFloat(order.amount) - + parseFloat(finalFields.TakerPays.value as string); + } + } + } else if (ledgerEntryType === 'Offer') { + if (previousFields === undefined) + throw new Error('Previous fields undefined'); + if (finalFields === undefined) throw new Error('Final fields undefined'); + + if (tradeType === 'SELL') { + if (typeof finalFields.TakerGets === 'string') { + filledAmount = + parseFloat(dropsToXrp(previousFields.TakerGets as string)) - + parseFloat(dropsToXrp(finalFields.TakerGets as string)); + } else { + filledAmount = + parseFloat(previousFields.TakerGets.value as string) - + parseFloat(finalFields.TakerGets.value as string); + } + } + + if (tradeType === 'BUY') { + if (typeof finalFields.TakerPays === 'string') { + filledAmount = + parseFloat(dropsToXrp(previousFields.TakerPays as string)) - + parseFloat(dropsToXrp(finalFields.TakerPays as string)); + } else { + filledAmount = + parseFloat(previousFields.TakerPays.value as string) - + parseFloat(finalFields.TakerPays.value as string); + } + } + } else { + throw new Error('Invalid ledgerEntryType type'); + } + + return filledAmount; + } } diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index cd8746c252..c191d1100e 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -430,6 +430,7 @@ export class XRPLCLOB implements CLOBish { updatedAt: currentTime, updatedAtLedgerIndex: currentLedgerIndex, associatedTxns: [signed.hash], + associatedFills: [], }; await this.trackOrder(wallet, order); @@ -471,6 +472,7 @@ export class XRPLCLOB implements CLOBish { updatedAt: Date.now(), updatedAtLedgerIndex: await this.getCurrentBlockNumber(), associatedTxns: [signed.hash], + associatedFills: [], }; } diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts index f4fd7b8c15..c254a69260 100644 --- a/src/connectors/xrpl/xrpl.types.ts +++ b/src/connectors/xrpl/xrpl.types.ts @@ -236,6 +236,7 @@ export interface Order { updatedAt: number; updatedAtLedgerIndex: number; associatedTxns: string[]; + associatedFills: FillData[]; } export interface InflightOrders { @@ -277,6 +278,16 @@ export interface TransactionIntent { node?: Node; } +export interface FillData { + id: string; + price: string; + quantity: string; + fee_token: string; + fee: string; + timestamp: number; + type: string; +} + type Node = CreatedNode | ModifiedNode | DeletedNode; export interface CreatedNode { @@ -309,5 +320,8 @@ export interface DeletedNode { FinalFields: { [field: string]: unknown; }; + PreviousFields?: { + [field: string]: unknown; + }; }; } From edc2d9cbb62affaeadcb7485a38f95e8e157e31e Mon Sep 17 00:00:00 2001 From: mlguys Date: Thu, 27 Jul 2023 13:49:08 +0700 Subject: [PATCH 21/67] add orderhash to filldata --- src/chains/xrpl/xrpl.order-tracker.ts | 42 +++++++++++++++++---------- src/connectors/xrpl/xrpl.types.ts | 6 ++-- 2 files changed, 31 insertions(+), 17 deletions(-) diff --git a/src/chains/xrpl/xrpl.order-tracker.ts b/src/chains/xrpl/xrpl.order-tracker.ts index 7de7e5b767..aab404d805 100644 --- a/src/chains/xrpl/xrpl.order-tracker.ts +++ b/src/chains/xrpl/xrpl.order-tracker.ts @@ -463,20 +463,23 @@ export class OrderTracker { foundTradeIndex = matchOrder.associatedFills.findIndex((fill) => { if (node === undefined) { return ( + fill.tradeId === // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - fill.id === `${intent.type}-${transaction.transaction.hash!}` + `${intent.type}-${transaction.transaction.hash!}` ); } if (isCreatedNode(node)) { return ( - fill.id === `${intent.type}-${node.CreatedNode.LedgerIndex}` + fill.tradeId === + `${intent.type}-${node.CreatedNode.LedgerIndex}` ); } if (isModifiedNode(node)) { return ( - fill.id === `${intent.type}-${node.ModifiedNode.LedgerIndex}` + fill.tradeId === + `${intent.type}-${node.ModifiedNode.LedgerIndex}` ); } @@ -509,20 +512,23 @@ export class OrderTracker { foundTradeIndex = matchOrder.associatedFills.findIndex((fill) => { if (node === undefined) { return ( + fill.tradeId === // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - fill.id === `${intent.type}-${transaction.transaction.hash!}` + `${intent.type}-${transaction.transaction.hash!}` ); } if (isCreatedNode(node)) { return ( - fill.id === `${intent.type}-${node.CreatedNode.LedgerIndex}` + fill.tradeId === + `${intent.type}-${node.CreatedNode.LedgerIndex}` ); } if (isDeletedNode(node)) { return ( - fill.id === `${intent.type}-${node.DeletedNode.LedgerIndex}` + fill.tradeId === + `${intent.type}-${node.DeletedNode.LedgerIndex}` ); } @@ -884,15 +890,18 @@ export class OrderTracker { order: Order, transaction: TransactionStream | TransaformedAccountTransaction ): FillData { - let id: string; + let tradeId: string; + const orderHash: number = order.hash; if (node === undefined) { return { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - id: `${intent.type}-${transaction.transaction.hash!}`, + tradeId: `${intent.type}-${transaction.transaction.hash!}`, + orderHash: order.hash, price: order.price, quantity: order.amount, - fee_token: 'XRP', + feeToken: 'XRP', + side: order.tradeType, fee: this.getFeeFromTransaction(transaction).toString(), timestamp: transaction.transaction.date ? rippleTimeToUnixTime(transaction.transaction.date) @@ -902,11 +911,11 @@ export class OrderTracker { } if (isModifiedNode(node)) { - id = `${intent.type}-${node.ModifiedNode.LedgerIndex}`; + tradeId = `${intent.type}-${node.ModifiedNode.LedgerIndex}`; } else if (isDeletedNode(node)) { - id = `${intent.type}-${node.DeletedNode.LedgerIndex}`; + tradeId = `${intent.type}-${node.DeletedNode.LedgerIndex}`; } else { - id = `${intent.type}-${node.CreatedNode.LedgerIndex}`; + tradeId = `${intent.type}-${node.CreatedNode.LedgerIndex}`; } const price = order.price; @@ -915,7 +924,8 @@ export class OrderTracker { node, order.tradeType ).toString(); - const fee_token = 'XRP'; + const feeToken = 'XRP'; + const side = order.tradeType; const fee = this.getFeeFromTransaction(transaction).toString(); const timestamp = transaction.transaction.date ? rippleTimeToUnixTime(transaction.transaction.date) @@ -923,10 +933,12 @@ export class OrderTracker { const type = 'Maker'; return { - id, + tradeId, + orderHash, price, quantity, - fee_token, + feeToken, + side, fee, timestamp, type, diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts index c254a69260..5b8ac427a3 100644 --- a/src/connectors/xrpl/xrpl.types.ts +++ b/src/connectors/xrpl/xrpl.types.ts @@ -279,10 +279,12 @@ export interface TransactionIntent { } export interface FillData { - id: string; + tradeId: string; + orderHash: number; price: string; quantity: string; - fee_token: string; + feeToken: string; + side: string; fee: string; timestamp: number; type: string; From 1737d2491d326538cbea99f0c65a2b1512fc7949 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 1 Aug 2023 18:03:45 +0700 Subject: [PATCH 22/67] fix balances chain endpoint for xrpl --- package.json | 3 +- src/chains/xrpl/xrpl.controllers.ts | 98 +++++++------ src/chains/xrpl/xrpl.requests.ts | 1 + src/chains/xrpl/xrpl.routes.ts | 133 ++++++++--------- src/chains/xrpl/xrpl.ts | 4 + src/chains/xrpl/xrpl.validators.ts | 2 - test/chains/xrpl/xrpl.routes.test.ts | 79 ++++++++++ test/chains/xrpl/xrpl.validator.test.ts | 187 ++++++++++++++++++++++++ 8 files changed, 397 insertions(+), 110 deletions(-) create mode 100644 test/chains/xrpl/xrpl.routes.test.ts create mode 100644 test/chains/xrpl/xrpl.validator.test.ts diff --git a/package.json b/package.json index 9801172513..c052dde938 100644 --- a/package.json +++ b/package.json @@ -23,7 +23,8 @@ "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts", "test:xrpl": "jest -i --verbose test/connectors/xrpl/xrpl.routes.test.ts", "test:e2e:xrpl": "jest -i --verbose test/connectors/xrpl/xrpl.e2e.test.ts", - "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/connectors/xrpl/*.test.ts" + "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/connectors/xrpl/*.test.ts", + "test:chain:xrpl": "jest -i --verbose test/chains/xrpl/*.test.ts" }, "dependencies": { "@cosmjs/proto-signing": "^0.28.10", diff --git a/src/chains/xrpl/xrpl.controllers.ts b/src/chains/xrpl/xrpl.controllers.ts index 7f33ad83ae..fdd00b00bc 100644 --- a/src/chains/xrpl/xrpl.controllers.ts +++ b/src/chains/xrpl/xrpl.controllers.ts @@ -15,51 +15,67 @@ import { XRPLPollResponse, } from './xrpl.requests'; -export async function balances( - xrplish: XRPLish, - req: XRPLBalanceRequest -): Promise { - const initTime = Date.now(); - let wallet: Wallet; +import { + validateXRPLBalanceRequest, + validateXRPLPollRequest, +} from './xrpl.validators'; - try { - wallet = await xrplish.getWallet(req.address); - } catch (err) { - throw new HttpException( - 500, - LOAD_WALLET_ERROR_MESSAGE + err, - LOAD_WALLET_ERROR_CODE - ); +export class XRPLController { + static async currentBlockNumber(xrplish: XRPLish): Promise { + return xrplish.getCurrentLedgerIndex(); } - const balances = await xrplish.getAllBalance(wallet); + static async balances( + xrplish: XRPLish, + req: XRPLBalanceRequest + ): Promise { + const initTime = Date.now(); + let wallet: Wallet; - return { - network: xrplish.network, - timestamp: initTime, - latency: latency(initTime, Date.now()), - balances, - }; -} + validateXRPLBalanceRequest(req); + + try { + wallet = await xrplish.getWallet(req.address); + } catch (err) { + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const balances = await xrplish.getAllBalance(wallet); -export async function poll( - xrplish: XRPLish, - req: XRPLPollRequest -): Promise { - const initTime = Date.now(); - const currentLedgerIndex = await xrplish.getCurrentLedgerIndex(); - const txData = getNotNullOrThrowError( - await xrplish.getTransaction(req.txHash) - ); - const txStatus = await xrplish.getTransactionStatusCode(txData); + return { + network: xrplish.network, + timestamp: initTime, + latency: latency(initTime, Date.now()), + address: req.address, + balances, + }; + } + + static async poll( + xrplish: XRPLish, + req: XRPLPollRequest + ): Promise { + validateXRPLPollRequest(req); - return { - network: xrplish.network, - timestamp: initTime, - currentLedgerIndex: currentLedgerIndex, - txHash: req.txHash, - txStatus: txStatus, - txLedgerIndex: txData.result.ledger_index, - txData: getNotNullOrThrowError(txData), - }; + const initTime = Date.now(); + const currentLedgerIndex = await xrplish.getCurrentLedgerIndex(); + const txData = getNotNullOrThrowError( + await xrplish.getTransaction(req.txHash) + ); + const txStatus = await xrplish.getTransactionStatusCode(txData); + + return { + network: xrplish.network, + timestamp: initTime, + currentLedgerIndex: currentLedgerIndex, + txHash: req.txHash, + txStatus: txStatus, + txLedgerIndex: txData.result.ledger_index, + txData: getNotNullOrThrowError(txData), + }; + } } diff --git a/src/chains/xrpl/xrpl.requests.ts b/src/chains/xrpl/xrpl.requests.ts index c69112f56e..efeb5da274 100644 --- a/src/chains/xrpl/xrpl.requests.ts +++ b/src/chains/xrpl/xrpl.requests.ts @@ -10,6 +10,7 @@ export interface XRPLBalanceResponse { network: string; timestamp: number; latency: number; + address: string; balances: Record; } diff --git a/src/chains/xrpl/xrpl.routes.ts b/src/chains/xrpl/xrpl.routes.ts index e3664847fa..8ef5ecd0ab 100644 --- a/src/chains/xrpl/xrpl.routes.ts +++ b/src/chains/xrpl/xrpl.routes.ts @@ -1,77 +1,78 @@ -import { NextFunction, Request, Response, Router } from 'express'; -import { ParamsDictionary } from 'express-serve-static-core'; -import { XRPL } from './xrpl'; -import { verifyXRPLIsAvailable } from './xrpl-middlewares'; -import { asyncHandler } from '../../services/error-handler'; -import { balances, poll } from './xrpl.controllers'; -import { - XRPLBalanceRequest, - XRPLBalanceResponse, - XRPLPollRequest, - XRPLPollResponse, -} from './xrpl.requests'; -import { - validateXRPLBalanceRequest, - validateXRPLPollRequest, -} from './xrpl.validators'; +// TODO: Deprecated, remove soon +// import { NextFunction, Request, Response, Router } from 'express'; +// import { ParamsDictionary } from 'express-serve-static-core'; +// import { XRPL } from './xrpl'; +// import { verifyXRPLIsAvailable } from './xrpl-middlewares'; +// import { asyncHandler } from '../../services/error-handler'; +// import { balances, poll } from './xrpl.controllers'; +// import { +// XRPLBalanceRequest, +// XRPLBalanceResponse, +// XRPLPollRequest, +// XRPLPollResponse, +// } from './xrpl.requests'; +// import { +// validateXRPLBalanceRequest, +// validateXRPLPollRequest, +// } from './xrpl.validators'; -export namespace XRPLRoutes { - export const router = Router(); +// export namespace XRPLRoutes { +// export const router = Router(); - export const getXRPL = async (request: Request) => { - const xrpl = await XRPL.getInstance(request.body.network); - await xrpl.init(); +// export const getXRPL = async (request: Request) => { +// const xrpl = await XRPL.getInstance(request.body.network); +// await xrpl.init(); - return xrpl; - }; +// return xrpl; +// }; - router.use(asyncHandler(verifyXRPLIsAvailable)); +// router.use(asyncHandler(verifyXRPLIsAvailable)); - router.get( - '/', - asyncHandler(async (request: Request, response: Response) => { - const xrpl = await getXRPL(request); +// router.get( +// '/', +// asyncHandler(async (request: Request, response: Response) => { +// const xrpl = await getXRPL(request); - const rpcUrl = xrpl.rpcUrl; +// const rpcUrl = xrpl.rpcUrl; - response.status(200).json({ - network: xrpl.network, - rpcUrl: rpcUrl, - connection: true, - timestamp: Date.now(), - }); - }) - ); +// response.status(200).json({ +// network: xrpl.network, +// rpcUrl: rpcUrl, +// connection: true, +// timestamp: Date.now(), +// }); +// }) +// ); - router.get( - '/balances', - asyncHandler( - async ( - request: Request, - response: Response, - _next: NextFunction - ) => { - const xrpl = await getXRPL(request); +// router.get( +// '/balances', +// asyncHandler( +// async ( +// request: Request, +// response: Response, +// _next: NextFunction +// ) => { +// const xrpl = await getXRPL(request); - validateXRPLBalanceRequest(request.body); - response.status(200).json(await balances(xrpl, request.body)); - } - ) - ); +// validateXRPLBalanceRequest(request.body); +// response.status(200).json(await balances(xrpl, request.body)); +// } +// ) +// ); - // TODO: change this to GET - router.get( - '/poll', - asyncHandler( - async ( - request: Request, - response: Response - ) => { - const xrpl = await getXRPL(request); +// // TODO: change this to GET +// router.get( +// '/poll', +// asyncHandler( +// async ( +// request: Request, +// response: Response +// ) => { +// const xrpl = await getXRPL(request); - validateXRPLPollRequest(request.body); - response.status(200).json(await poll(xrpl, request.body)); - } - ) - ); -} +// validateXRPLPollRequest(request.body); +// response.status(200).json(await poll(xrpl, request.body)); +// } +// ) +// ); +// } diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index a3f638d216..91c4bb2f70 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -24,6 +24,7 @@ import { TransactionResponseStatusCode } from './xrpl.requests'; import { XRPLOrderStorage } from './xrpl.order-storage'; import { OrderTracker } from './xrpl.order-tracker'; import { ReferenceCountingCloseable } from '../../services/refcounting-closeable'; +import { XRPLController } from './xrpl.controllers'; export type TokenInfo = { id: number; @@ -83,6 +84,8 @@ export class XRPL implements XRPLish { private readonly _refCountingHandle: string; private readonly _orderStorage: XRPLOrderStorage; + public controller: typeof XRPLController; + private constructor(network: string) { const config = getXRPLConfig('xrpl', network); @@ -121,6 +124,7 @@ export class XRPL implements XRPLish { this._refCountingHandle ); this._orderStorage.declareOwnership(this._refCountingHandle); + this.controller = XRPLController; } public static getInstance(network: string): XRPL { diff --git a/src/chains/xrpl/xrpl.validators.ts b/src/chains/xrpl/xrpl.validators.ts index acefd6c257..6a0abb614a 100644 --- a/src/chains/xrpl/xrpl.validators.ts +++ b/src/chains/xrpl/xrpl.validators.ts @@ -1,5 +1,4 @@ import { - validateTokenSymbols, mkValidator, mkRequestValidator, RequestValidator, @@ -37,7 +36,6 @@ export const validateXRPLAddress: Validator = mkValidator( export const validateXRPLBalanceRequest: RequestValidator = mkRequestValidator([ validateXRPLAddress, - validateTokenSymbols, ]); export const validateXRPLPollRequest: RequestValidator = mkRequestValidator([ diff --git a/test/chains/xrpl/xrpl.routes.test.ts b/test/chains/xrpl/xrpl.routes.test.ts new file mode 100644 index 0000000000..1767efe93c --- /dev/null +++ b/test/chains/xrpl/xrpl.routes.test.ts @@ -0,0 +1,79 @@ +import request from 'supertest'; +import { XRPL } from '../../../src/chains/xrpl/xrpl'; +import { patch, unpatch } from '../../services/patch'; +import { gatewayApp } from '../../../src/app'; +import { Wallet } from 'xrpl'; + +let xrplChain: XRPL; + +const wallet1 = Wallet.fromSecret('sEd74fJ432TFE4f5Sy48gLyzknkdc1t'); // r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16 +const wallet2 = Wallet.fromSecret('sEd7oiMn5napJBthB2z4CtN5nVi56Bd'); // r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV + +const patchWallet = () => { + patch(xrplChain, 'getWallet', (walletAddress: string) => { + if (walletAddress === 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16') return wallet1; + + return wallet2; + }); +}; + +beforeAll(async () => { + xrplChain = XRPL.getInstance('testnet'); + await xrplChain.init(); +}); + +afterAll(async () => { + unpatch(); + await xrplChain.close(); +}); + +describe('POST /chain/balances', () => { + it('should return 200 with correct parameters', async () => { + patchWallet(); + await request(gatewayApp) + .post(`/chain/balances`) + .send({ + chain: 'xrpl', + network: 'testnet', + address: 'r3z4R6KQWfwRf9G15AhUZe2GN67Sj6PYNV', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body).toBeDefined(); + }); + }); + + it('should return 404 when parameters are invalid/incomplete', async () => { + unpatch(); + await request(gatewayApp) + .post(`/chain/balances`) + .send({ + chain: 'xrpl', + network: 'testnet', + }) + .expect(404); + }); +}); + +describe('POST /chain/poll', () => { + it('should return 200 with correct parameters', async () => { + const res = await request(gatewayApp).post('/chain/poll').send({ + chain: 'xrpl', + network: 'testnet', + txHash: + '61DD63760B94102E929BBC2EF0954E513EC41CCAF57619E1B079E7AA48B4F889', // noqa: mock + }); + expect(res.statusCode).toEqual(200); + }); + + it('should get unknown error with invalid txHash', async () => { + const res = await request(gatewayApp).post('/chain/poll').send({ + chain: 'xrpl', + network: 'testnet', + txHash: 123, + }); + expect(res.statusCode).toEqual(404); + }); +}); diff --git a/test/chains/xrpl/xrpl.validator.test.ts b/test/chains/xrpl/xrpl.validator.test.ts new file mode 100644 index 0000000000..f1832fc5dd --- /dev/null +++ b/test/chains/xrpl/xrpl.validator.test.ts @@ -0,0 +1,187 @@ +import { + validateXRPLAddress, + validateXRPLBalanceRequest, + validateXRPLPollRequest, + validateXRPLGetTokenRequest, + validateXRPLPostTokenRequest, + invalidXRPLAddressError, +} from '../../../src/chains/xrpl/xrpl.validators'; +import { HttpException } from '../../../src/services/error-handler'; + +import { + invalidTxHashError, + invalidTokenError, +} from '../../../src/services/validators'; + +import { missingParameter } from '../../../src/services/validators'; + +import 'jest-extended'; + +describe('validateXRPLPollRequest', () => { + it('valid when req.txHash is a txHash', () => { + expect( + validateXRPLPollRequest({ + txHash: + '92EE240C1C31E50AAA7E3C00A6280A4BE52E65B5A8A4C1B4A6FEF9E170B14D0F', // noqa: mock + }) + ).toEqual(undefined); + }); + + it('return error when req.txHash does not exist', () => { + try { + validateXRPLPollRequest({ + hello: 'world', + }); + } catch (error) { + expect((error as HttpException).message).toEqual( + missingParameter('txHash') + ); + } + }); + + it('return error when req.txHash is invalid', () => { + try { + validateXRPLPollRequest({ + txHash: 123, + }); + } catch (error) { + expect((error as HttpException).message).toEqual(invalidTxHashError); + } + }); +}); + +describe('validateAddress', () => { + it('valid when req.address is a address', () => { + expect( + validateXRPLAddress({ + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + }) + ).toEqual([]); + }); + + it('return error when req.address does not exist', () => { + expect( + validateXRPLAddress({ + hello: 'world', + }) + ).toEqual([missingParameter('address')]); + }); + + it('return error when req.address is invalid', () => { + expect( + validateXRPLAddress({ + address: 123, + }) + ).toEqual([invalidXRPLAddressError]); + }); +}); + +describe('validateXRPLBalanceRequest', () => { + it('valid when req.token is a token and address is a valid address', () => { + expect( + validateXRPLBalanceRequest({ + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + }) + ).toEqual(undefined); + }); + + it('return error when req.address is invalid', () => { + try { + validateXRPLBalanceRequest({ + address: 123, + }); + } catch (error) { + expect((error as HttpException).message).toEqual(invalidXRPLAddressError); + } + }); +}); + +describe('validateXRPLGetTokenRequest', () => { + it('valid when req.token is a token and address is a valid address', () => { + expect( + validateXRPLGetTokenRequest({ + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + token: 'XRP', + }) + ).toEqual(undefined); + }); + + it('return error when req.token and req.address does not exist', () => { + try { + validateXRPLGetTokenRequest({ + hello: 'world', + }); + } catch (error) { + expect((error as HttpException).message).toEqual( + [missingParameter('token'), missingParameter('address')].join(', ') + ); + } + }); + + it('return error when req.token is invalid', () => { + try { + validateXRPLGetTokenRequest({ + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + token: 123, + }); + } catch (error) { + expect((error as HttpException).message).toEqual(invalidTokenError); + } + }); + + it('return error when req.address is invalid', () => { + try { + validateXRPLGetTokenRequest({ + address: 123, + token: `XRP`, + }); + } catch (error) { + expect((error as HttpException).message).toEqual(invalidXRPLAddressError); + } + }); +}); + +describe('validateXRPLPostTokenRequest', () => { + it('valid when req.token is a token and address is a valid address', () => { + expect( + validateXRPLPostTokenRequest({ + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + token: 'XRP', + }) + ).toEqual(undefined); + }); + + it('return error when req.token and req.address does not exist', () => { + try { + validateXRPLPostTokenRequest({ + hello: 'world', + }); + } catch (error) { + expect((error as HttpException).message).toEqual( + [missingParameter('token'), missingParameter('address')].join(', ') + ); + } + }); + + it('return error when req.token is invalid', () => { + try { + validateXRPLPostTokenRequest({ + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', + token: 123, + }); + } catch (error) { + expect((error as HttpException).message).toEqual(invalidTokenError); + } + }); + + it('return error when req.address is invalid', () => { + try { + validateXRPLPostTokenRequest({ + address: 123, + token: `XRP`, + }); + } catch (error) { + expect((error as HttpException).message).toEqual(invalidXRPLAddressError); + } + }); +}); From 32d96ea5301186e45bd89a8a8a168070823cc3ac Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 1 Aug 2023 23:44:38 +0700 Subject: [PATCH 23/67] update getTokens endpoint --- src/chains/xrpl/xrpl.controllers.ts | 23 ++++++++- src/chains/xrpl/xrpl.requests.ts | 8 ++- src/chains/xrpl/xrpl.ts | 28 +++++------ src/chains/xrpl/xrpl.validators.ts | 7 +-- test/chains/xrpl/xrpl.validator.test.ts | 66 +++++-------------------- 5 files changed, 57 insertions(+), 75 deletions(-) diff --git a/src/chains/xrpl/xrpl.controllers.ts b/src/chains/xrpl/xrpl.controllers.ts index fdd00b00bc..46e2c5e474 100644 --- a/src/chains/xrpl/xrpl.controllers.ts +++ b/src/chains/xrpl/xrpl.controllers.ts @@ -1,5 +1,5 @@ import { Wallet, TxResponse } from 'xrpl'; -import { XRPLish } from './xrpl'; +import { TokenInfo, XRPLish } from './xrpl'; import { latency } from '../../services/base'; import { HttpException, @@ -18,7 +18,9 @@ import { import { validateXRPLBalanceRequest, validateXRPLPollRequest, + validateXRPLGetTokenRequest, } from './xrpl.validators'; +import { TokensRequest } from '../../network/network.requests'; export class XRPLController { static async currentBlockNumber(xrplish: XRPLish): Promise { @@ -78,4 +80,23 @@ export class XRPLController { txData: getNotNullOrThrowError(txData), }; } + + static async getTokens(xrplish: XRPLish, req: TokensRequest) { + validateXRPLGetTokenRequest(req); + let tokens: TokenInfo[] = []; + if (req.tokenSymbols?.length === 0) { + tokens = xrplish.storedTokenList; + } else { + for (const t of req.tokenSymbols as []) { + const arr = xrplish.getTokenForSymbol(t); + if (arr !== undefined) { + arr.forEach((token) => { + tokens.push(token); + }); + } + } + } + + return { tokens }; + } } diff --git a/src/chains/xrpl/xrpl.requests.ts b/src/chains/xrpl/xrpl.requests.ts index efeb5da274..77fc7a6a79 100644 --- a/src/chains/xrpl/xrpl.requests.ts +++ b/src/chains/xrpl/xrpl.requests.ts @@ -11,9 +11,15 @@ export interface XRPLBalanceResponse { timestamp: number; latency: number; address: string; - balances: Record; + balances: Array; } +export type TokenBalance = { + currency: string; + issuer?: string; + value: string; +}; + export interface XRPLTokenRequest extends NetworkSelectionRequest { address: string; // the user's Solana address as Base58 token: string; // the token symbol the spender will be approved for diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index 91c4bb2f70..67ad5d8a46 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -20,7 +20,7 @@ import { TokenListType, walletPath, MarketListType } from '../../services/base'; import { ConfigManagerCertPassphrase } from '../../services/config-manager-cert-passphrase'; import { getXRPLConfig } from './xrpl.config'; // import { logger } from '../../services/logger'; -import { TransactionResponseStatusCode } from './xrpl.requests'; +import { TransactionResponseStatusCode, TokenBalance } from './xrpl.requests'; import { XRPLOrderStorage } from './xrpl.order-storage'; import { OrderTracker } from './xrpl.order-tracker'; import { ReferenceCountingCloseable } from '../../services/refcounting-closeable'; @@ -44,12 +44,6 @@ export type MarketInfo = { quoteTokenID: number; }; -export type TokenBalance = { - currency: string; - issuer?: string; - value: string; -}; - export type Fee = { base: string; median: string; @@ -276,8 +270,8 @@ export class XRPL implements XRPLish { return this.marketList; } - public getTokenForSymbol(code: string): TokenInfo[] | null { - return this._tokenMap[code] ? this._tokenMap[code] : null; + public getTokenForSymbol(code: string): TokenInfo[] | undefined { + return this._tokenMap[code] ? this._tokenMap[code] : undefined; } public getWalletFromSeed(seed: string): Wallet { @@ -346,17 +340,23 @@ export class XRPL implements XRPLish { return balance; } - async getAllBalance(wallet: Wallet): Promise> { + async getAllBalance(wallet: Wallet): Promise> { await this.ensureConnection(); - const balances: Record = {}; + const balances: Array = []; const respBalances = await this._client.getBalances(wallet.address); respBalances.forEach((token) => { if (token.currency === 'XRP') { - balances[token.currency] = token.value; + balances.push({ + currency: token.currency, + value: token.value, + }); } else { - const symbol = token.currency + '.' + token.issuer; - balances[symbol] = token.value; + balances.push({ + currency: token.currency, + issuer: token.issuer, + value: token.value, + }); } }); diff --git a/src/chains/xrpl/xrpl.validators.ts b/src/chains/xrpl/xrpl.validators.ts index 6a0abb614a..287ffddbc7 100644 --- a/src/chains/xrpl/xrpl.validators.ts +++ b/src/chains/xrpl/xrpl.validators.ts @@ -1,11 +1,11 @@ import { + validateTokenSymbols, mkValidator, mkRequestValidator, RequestValidator, Validator, isBase58, validateTxHash, - validateToken, } from '../../services/validators'; // invalid parameter errors @@ -43,8 +43,5 @@ export const validateXRPLPollRequest: RequestValidator = mkRequestValidator([ ]); export const validateXRPLGetTokenRequest: RequestValidator = mkRequestValidator( - [validateToken, validateXRPLAddress] + [validateTokenSymbols, validateXRPLAddress] ); - -export const validateXRPLPostTokenRequest: RequestValidator = - mkRequestValidator([validateToken, validateXRPLAddress]); diff --git a/test/chains/xrpl/xrpl.validator.test.ts b/test/chains/xrpl/xrpl.validator.test.ts index f1832fc5dd..3a00760e6b 100644 --- a/test/chains/xrpl/xrpl.validator.test.ts +++ b/test/chains/xrpl/xrpl.validator.test.ts @@ -3,14 +3,13 @@ import { validateXRPLBalanceRequest, validateXRPLPollRequest, validateXRPLGetTokenRequest, - validateXRPLPostTokenRequest, invalidXRPLAddressError, } from '../../../src/chains/xrpl/xrpl.validators'; import { HttpException } from '../../../src/services/error-handler'; import { invalidTxHashError, - invalidTokenError, + invalidTokenSymbolsError, } from '../../../src/services/validators'; import { missingParameter } from '../../../src/services/validators'; @@ -97,88 +96,47 @@ describe('validateXRPLBalanceRequest', () => { }); describe('validateXRPLGetTokenRequest', () => { - it('valid when req.token is a token and address is a valid address', () => { + it('valid when req.tokenSymbols is a token and address is a valid address', () => { expect( validateXRPLGetTokenRequest({ address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', - token: 'XRP', + tokenSymbols: ['XRP'], }) ).toEqual(undefined); }); - it('return error when req.token and req.address does not exist', () => { + it('return error when req.tokenSymbols and req.address does not exist', () => { try { validateXRPLGetTokenRequest({ hello: 'world', }); } catch (error) { expect((error as HttpException).message).toEqual( - [missingParameter('token'), missingParameter('address')].join(', ') + [missingParameter('tokenSymbols'), missingParameter('address')].join( + ', ' + ) ); } }); - it('return error when req.token is invalid', () => { + it('return error when req.tokenSymbols is invalid', () => { try { validateXRPLGetTokenRequest({ address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', - token: 123, - }); - } catch (error) { - expect((error as HttpException).message).toEqual(invalidTokenError); - } - }); - - it('return error when req.address is invalid', () => { - try { - validateXRPLGetTokenRequest({ - address: 123, - token: `XRP`, - }); - } catch (error) { - expect((error as HttpException).message).toEqual(invalidXRPLAddressError); - } - }); -}); - -describe('validateXRPLPostTokenRequest', () => { - it('valid when req.token is a token and address is a valid address', () => { - expect( - validateXRPLPostTokenRequest({ - address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', - token: 'XRP', - }) - ).toEqual(undefined); - }); - - it('return error when req.token and req.address does not exist', () => { - try { - validateXRPLPostTokenRequest({ - hello: 'world', + tokenSymbols: 123, }); } catch (error) { expect((error as HttpException).message).toEqual( - [missingParameter('token'), missingParameter('address')].join(', ') + invalidTokenSymbolsError ); } }); - it('return error when req.token is invalid', () => { - try { - validateXRPLPostTokenRequest({ - address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', - token: 123, - }); - } catch (error) { - expect((error as HttpException).message).toEqual(invalidTokenError); - } - }); - it('return error when req.address is invalid', () => { try { - validateXRPLPostTokenRequest({ + validateXRPLGetTokenRequest({ address: 123, - token: `XRP`, + tokenSymbols: ['XRP'], }); } catch (error) { expect((error as HttpException).message).toEqual(invalidXRPLAddressError); From 7c8147197535fcffbf5f990290de7ca8dee18768 Mon Sep 17 00:00:00 2001 From: mlguys Date: Wed, 2 Aug 2023 14:07:15 +0700 Subject: [PATCH 24/67] add get midprice for a market --- src/connectors/xrpl/xrpl.ts | 52 ++++++++++++++++++++---- test/connectors/xrpl/xrpl.routes.test.ts | 23 +++++++---- 2 files changed, 59 insertions(+), 16 deletions(-) diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index c191d1100e..5d720d5433 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -112,9 +112,12 @@ export class XRPLCLOB implements CLOBish { public async markets( req: ClobMarketsRequest ): Promise<{ markets: CLOBMarkets }> { - if (req.market && req.market in this.parsedMarkets) - return { markets: this.parsedMarkets[req.market] }; - return { markets: Object.values(this.parsedMarkets) }; + if (req.market && req.market.split('-').length === 2) { + const resp: CLOBMarkets = {}; + resp[req.market] = this.parsedMarkets[req.market]; + return { markets: resp }; + } + return { markets: this.parsedMarkets }; } public async orderBook(req: ClobOrderbookRequest): Promise { @@ -207,7 +210,10 @@ export class XRPLCLOB implements CLOBish { return result; } - async getOrderBook(market: MarketInfo): Promise { + async getOrderBook( + market: MarketInfo, + limit: number = ORDERBOOK_LIMIT + ): Promise { const [baseCurrency, quoteCurrency] = market.marketId.split('-'); const baseIssuer = market.baseIssuer; const quoteIssuer = market.quoteIssuer; @@ -229,7 +235,8 @@ export class XRPLCLOB implements CLOBish { const { bids, asks } = await this.getOrderBookFromXRPL( baseRequest, - quoteRequest + quoteRequest, + limit ); const buys: PriceLevel[] = []; @@ -310,7 +317,15 @@ export class XRPLCLOB implements CLOBish { public async ticker( req: ClobTickerRequest ): Promise<{ markets: CLOBMarkets }> { - return await this.markets(req); + const getMarkets = await this.markets(req); + const markets: MarketInfo[] = Object.values(getMarkets.markets); + + for (const market of markets) { + getMarkets.markets[market.marketId]['midprice'] = + await this.getMidPriceForMarket(market); + } + + return getMarkets; } public async orders( @@ -502,13 +517,17 @@ export class XRPLCLOB implements CLOBish { return wallet; } - private async getOrderBookFromXRPL(baseRequest: any, quoteRequest: any) { + private async getOrderBookFromXRPL( + baseRequest: any, + quoteRequest: any, + limit: number + ) { const orderbook_resp_ask: BookOffersResponse = await this._client.request({ command: 'book_offers', ledger_index: 'validated', taker_gets: baseRequest, taker_pays: quoteRequest, - limit: ORDERBOOK_LIMIT, + limit, }); const orderbook_resp_bid: BookOffersResponse = await this._client.request({ @@ -516,7 +535,7 @@ export class XRPLCLOB implements CLOBish { ledger_index: 'validated', taker_gets: quoteRequest, taker_pays: baseRequest, - limit: ORDERBOOK_LIMIT, + limit, }); const asks = orderbook_resp_ask.result.offers; @@ -558,4 +577,19 @@ export class XRPLCLOB implements CLOBish { await orderTracker.addOrder(order); } + + private async getMidPriceForMarket(market: MarketInfo) { + const orderbook = await this.getOrderBook(market, 1); + try { + const bestAsk = orderbook.sells[0]; + const bestBid = orderbook.buys[0]; + const midPrice = + (parseFloat(bestAsk.price) + parseFloat(bestBid.price)) / 2; + return midPrice; + } catch (error) { + // TODO: report this error + + return 0; + } + } } diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index 78cb6499a7..3a1eaa7958 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -52,6 +52,7 @@ const ORDER = { updatedAt: 1234567, updatedAtLedgerIndex: 1234567, associatedTxns: [TX_HASH], + associatedFills: [], }; const ORDER_BOOK_1 = { @@ -347,6 +348,12 @@ const patchMarkets = () => { patch(xrplCLOB, 'parsedMarkets', MARKETS); }; +const patchGetMidPriceForMarket = () => { + patch(xrplCLOB, 'getMidPriceForMarket', () => { + return 1.0; + }); +}; + const patchGetOrderBookFromXRPL = (orderbook: any) => { patch(xrplCLOB, 'getOrderBookFromXRPL', () => { return orderbook; @@ -407,7 +414,7 @@ describe('GET /clob/markets', () => { .expect('Content-Type', /json/) .expect(200) .expect((res) => { - expect(res.body.markets.length).toEqual(2); + expect(Object.values(res.body.markets).length).toEqual(2); }); }); @@ -435,10 +442,6 @@ describe('GET /clob/orderBook', () => { .expect('Content-Type', /json/) .expect(200) .expect((res) => { - console.log( - '🪧 -> file: xrpl.routes.test.ts:429 -> it -> res.body.buys:', - res.body.buys - ); expect(res.body.buys[0].price).toEqual('0.5161287658690241'); }) .expect((res) => expect(res.body.buys[0].quantity).toEqual('9.687505')) @@ -478,6 +481,7 @@ describe('GET /clob/orderBook', () => { describe('GET /clob/ticker', () => { it('should return 200 with proper request', async () => { patchMarkets(); + patchGetMidPriceForMarket(); await request(gatewayApp) .get(`/clob/ticker`) .query({ @@ -489,8 +493,13 @@ describe('GET /clob/ticker', () => { .set('Accept', 'application/json') .expect('Content-Type', /json/) .expect(200) - .expect((res) => expect(res.body.markets.baseCurrency).toEqual('USD')) - .expect((res) => expect(res.body.markets.quoteCurrency).toEqual('XRP')); + .expect((res) => { + expect(res.body.markets['USD-XRP'].baseCurrency).toEqual('USD'); + }) + .expect((res) => + expect(res.body.markets['USD-XRP'].quoteCurrency).toEqual('XRP') + ) + .expect((res) => expect(res.body.markets['USD-XRP'].midprice).toEqual(1)); }); it('should return 404 when parameters are invalid', async () => { From a6f1a2b49a5fc5563ea98fa9bb4b28a4eaeb65e4 Mon Sep 17 00:00:00 2001 From: mlguys Date: Wed, 2 Aug 2023 15:23:55 +0700 Subject: [PATCH 25/67] fix getTokens --- src/chains/chain.routes.ts | 8 +++--- src/chains/xrpl/xrpl.controllers.ts | 34 ++++++++++++++++++++----- src/chains/xrpl/xrpl.helpers.ts | 17 +++++++++++++ src/chains/xrpl/xrpl.requests.ts | 6 +++++ src/chains/xrpl/xrpl.ts | 29 ++++++++++----------- src/chains/xrpl/xrpl.validators.ts | 2 +- test/chains/xrpl/xrpl.routes.test.ts | 22 ++++++++++++++++ test/chains/xrpl/xrpl.validator.test.ts | 4 +-- 8 files changed, 92 insertions(+), 30 deletions(-) diff --git a/src/chains/chain.routes.ts b/src/chains/chain.routes.ts index f1678958d0..f53128a5af 100644 --- a/src/chains/chain.routes.ts +++ b/src/chains/chain.routes.ts @@ -121,14 +121,14 @@ export namespace ChainRoutes { '/tokens', asyncHandler( async ( - req: Request<{}, {}, {}, TokensRequest>, + req: Request<{}, {}, TokensRequest>, res: Response ) => { const chain = await getInitializedChain( - req.query.chain as string, - req.query.network as string + req.body.chain as string, + req.body.network as string ); - res.status(200).json(await getTokens(chain, req.query)); + res.status(200).json(await getTokens(chain, req.body)); } ) ); diff --git a/src/chains/xrpl/xrpl.controllers.ts b/src/chains/xrpl/xrpl.controllers.ts index 46e2c5e474..7698ee1ee7 100644 --- a/src/chains/xrpl/xrpl.controllers.ts +++ b/src/chains/xrpl/xrpl.controllers.ts @@ -1,12 +1,15 @@ import { Wallet, TxResponse } from 'xrpl'; -import { TokenInfo, XRPLish } from './xrpl'; -import { latency } from '../../services/base'; +import { XRPTokenInfo, XRPLish } from './xrpl'; +import { TokenInfo, latency } from '../../services/base'; import { HttpException, LOAD_WALLET_ERROR_CODE, LOAD_WALLET_ERROR_MESSAGE, } from '../../services/error-handler'; -import { getNotNullOrThrowError } from '../../chains/xrpl/xrpl.helpers'; +import { + getNetworkId, + getNotNullOrThrowError, +} from '../../chains/xrpl/xrpl.helpers'; import { XRPLBalanceRequest, @@ -81,22 +84,39 @@ export class XRPLController { }; } - static async getTokens(xrplish: XRPLish, req: TokensRequest) { + static async getTokens( + xrplish: XRPLish, + req: TokensRequest + ): Promise<{ tokens: TokenInfo[] }> { validateXRPLGetTokenRequest(req); - let tokens: TokenInfo[] = []; + let xrpTokens: XRPTokenInfo[] = []; if (req.tokenSymbols?.length === 0) { - tokens = xrplish.storedTokenList; + xrpTokens = xrplish.storedTokenList; } else { for (const t of req.tokenSymbols as []) { const arr = xrplish.getTokenForSymbol(t); if (arr !== undefined) { arr.forEach((token) => { - tokens.push(token); + xrpTokens.push(token); }); } } } + const tokens: TokenInfo[] = []; + + // Convert xrpTokens into tokens + xrpTokens.map((xrpToken) => { + const token: TokenInfo = { + address: xrpToken.issuer, + chainId: getNetworkId(req.network), + decimals: 15, + name: xrpToken.title, + symbol: xrpToken.code, + }; + tokens.push(token); + }); + return { tokens }; } } diff --git a/src/chains/xrpl/xrpl.helpers.ts b/src/chains/xrpl/xrpl.helpers.ts index 72ce429591..b5f107acdc 100644 --- a/src/chains/xrpl/xrpl.helpers.ts +++ b/src/chains/xrpl/xrpl.helpers.ts @@ -1,5 +1,6 @@ import web3 from 'web3'; import { default as constants } from './../../chains/xrpl/xrpl.constants'; +import { XRPLNetworkID } from './xrpl.requests'; /** * @@ -120,3 +121,19 @@ export const runWithRetryAndTimeout = async ( throw Error('Unknown error.'); }; + +export function getNetworkId(network: string = ''): number { + switch (network) { + case 'mainnet': + return XRPLNetworkID.MAINNET; + + case 'testnet': + return XRPLNetworkID.TESTNET; + + case 'devnet': + return XRPLNetworkID.DEVNET; + + default: + return 0; + } +} diff --git a/src/chains/xrpl/xrpl.requests.ts b/src/chains/xrpl/xrpl.requests.ts index 77fc7a6a79..49b2ba10e9 100644 --- a/src/chains/xrpl/xrpl.requests.ts +++ b/src/chains/xrpl/xrpl.requests.ts @@ -52,3 +52,9 @@ export interface XRPLPollResponse { txLedgerIndex?: number; txData: TxResponse | null; } + +export enum XRPLNetworkID { + MAINNET = 1000, + TESTNET = 2000, + DEVNET = 3000, +} diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index 67ad5d8a46..2f82987863 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -26,7 +26,7 @@ import { OrderTracker } from './xrpl.order-tracker'; import { ReferenceCountingCloseable } from '../../services/refcounting-closeable'; import { XRPLController } from './xrpl.controllers'; -export type TokenInfo = { +export type XRPTokenInfo = { id: number; code: string; issuer: string; @@ -56,9 +56,9 @@ export class XRPL implements XRPLish { public rpcUrl; public fee: Fee; - protected tokenList: TokenInfo[] = []; + protected tokenList: XRPTokenInfo[] = []; protected marketList: MarketInfo[] = []; - private _tokenMap: Record = {}; + private _tokenMap: Record = {}; private _marketMap: Record = {}; private _client: Client; @@ -204,7 +204,7 @@ export class XRPL implements XRPLish { ): Promise { this.tokenList = await this.getTokenList(tokenListSource, tokenListType); if (this.tokenList) { - this.tokenList.forEach((token: TokenInfo) => { + this.tokenList.forEach((token: XRPTokenInfo) => { if (!this._tokenMap[token.code]) { this._tokenMap[token.code] = []; } @@ -236,14 +236,13 @@ export class XRPL implements XRPLish { async getTokenList( tokenListSource: string, tokenListType: TokenListType - ): Promise { + ): Promise { let tokens; if (tokenListType === 'URL') { - ({ - data: { tokens }, - } = await axios.get(tokenListSource)); + const resp = await axios.get(tokenListSource); + tokens = resp.data.tokens; } else { - ({ tokens } = JSON.parse(await fs.readFile(tokenListSource, 'utf8'))); + tokens = JSON.parse(await fs.readFile(tokenListSource, 'utf8')); } return tokens; } @@ -252,17 +251,17 @@ export class XRPL implements XRPLish { marketListSource: string, marketListType: TokenListType ): Promise { - let tokens; + let markets; if (marketListType === 'URL') { const resp = await axios.get(marketListSource); - tokens = resp.data.tokens; + markets = resp.data.tokens; } else { - tokens = JSON.parse(await fs.readFile(marketListSource, 'utf8')); + markets = JSON.parse(await fs.readFile(marketListSource, 'utf8')); } - return tokens; + return markets; } - public get storedTokenList(): TokenInfo[] { + public get storedTokenList(): XRPTokenInfo[] { return this.tokenList; } @@ -270,7 +269,7 @@ export class XRPL implements XRPLish { return this.marketList; } - public getTokenForSymbol(code: string): TokenInfo[] | undefined { + public getTokenForSymbol(code: string): XRPTokenInfo[] | undefined { return this._tokenMap[code] ? this._tokenMap[code] : undefined; } diff --git a/src/chains/xrpl/xrpl.validators.ts b/src/chains/xrpl/xrpl.validators.ts index 287ffddbc7..8325c82cec 100644 --- a/src/chains/xrpl/xrpl.validators.ts +++ b/src/chains/xrpl/xrpl.validators.ts @@ -43,5 +43,5 @@ export const validateXRPLPollRequest: RequestValidator = mkRequestValidator([ ]); export const validateXRPLGetTokenRequest: RequestValidator = mkRequestValidator( - [validateTokenSymbols, validateXRPLAddress] + [validateTokenSymbols] ); diff --git a/test/chains/xrpl/xrpl.routes.test.ts b/test/chains/xrpl/xrpl.routes.test.ts index 1767efe93c..ac292e4753 100644 --- a/test/chains/xrpl/xrpl.routes.test.ts +++ b/test/chains/xrpl/xrpl.routes.test.ts @@ -77,3 +77,25 @@ describe('POST /chain/poll', () => { expect(res.statusCode).toEqual(404); }); }); + +describe('GET /chain/tokens', () => { + it('should return 200 with correct parameters', async () => { + const res = await request(gatewayApp) + .get('/chain/tokens') + .send({ + chain: 'xrpl', + network: 'testnet', + tokenSymbols: ['XRP'], + }); + expect(res.statusCode).toEqual(200); + }); + + it('should get unknown error with invalid tokenSymbols', async () => { + const res = await request(gatewayApp).get('/chain/tokens').send({ + chain: 'xrpl', + network: 'testnet', + tokenSymbols: 123, + }); + expect(res.statusCode).toEqual(404); + }); +}); diff --git a/test/chains/xrpl/xrpl.validator.test.ts b/test/chains/xrpl/xrpl.validator.test.ts index 3a00760e6b..553c676176 100644 --- a/test/chains/xrpl/xrpl.validator.test.ts +++ b/test/chains/xrpl/xrpl.validator.test.ts @@ -112,9 +112,7 @@ describe('validateXRPLGetTokenRequest', () => { }); } catch (error) { expect((error as HttpException).message).toEqual( - [missingParameter('tokenSymbols'), missingParameter('address')].join( - ', ' - ) + missingParameter('tokenSymbols') ); } }); From be86ef022a083672c3eeaf4f30f74a83acf4b04f Mon Sep 17 00:00:00 2001 From: mlguys Date: Wed, 9 Aug 2023 00:39:57 +0700 Subject: [PATCH 26/67] Fix bugs --- src/chains/xrpl/xrpl.controllers.ts | 25 ++++++------ src/chains/xrpl/xrpl.requests.ts | 6 ++- src/chains/xrpl/xrpl.ts | 29 +++++++++----- src/connectors/xrpl/xrpl.ts | 59 ++++++++++++++++++++--------- src/connectors/xrpl/xrpl.types.ts | 4 +- 5 files changed, 82 insertions(+), 41 deletions(-) diff --git a/src/chains/xrpl/xrpl.controllers.ts b/src/chains/xrpl/xrpl.controllers.ts index 7698ee1ee7..c8d74956e3 100644 --- a/src/chains/xrpl/xrpl.controllers.ts +++ b/src/chains/xrpl/xrpl.controllers.ts @@ -1,4 +1,4 @@ -import { Wallet, TxResponse } from 'xrpl'; +import { Wallet } from 'xrpl'; import { XRPTokenInfo, XRPLish } from './xrpl'; import { TokenInfo, latency } from '../../services/base'; import { @@ -6,10 +6,7 @@ import { LOAD_WALLET_ERROR_CODE, LOAD_WALLET_ERROR_MESSAGE, } from '../../services/error-handler'; -import { - getNetworkId, - getNotNullOrThrowError, -} from '../../chains/xrpl/xrpl.helpers'; +import { getNetworkId } from '../../chains/xrpl/xrpl.helpers'; import { XRPLBalanceRequest, @@ -49,7 +46,12 @@ export class XRPLController { ); } - const balances = await xrplish.getAllBalance(wallet); + const xrplBalances = await xrplish.getAllBalance(wallet); + + const balances: Record = {}; + xrplBalances.forEach((balance) => { + balances[balance.currency] = balance.value; + }); return { network: xrplish.network, @@ -68,19 +70,20 @@ export class XRPLController { const initTime = Date.now(); const currentLedgerIndex = await xrplish.getCurrentLedgerIndex(); - const txData = getNotNullOrThrowError( - await xrplish.getTransaction(req.txHash) - ); + const txData = await xrplish.getTransaction(req.txHash); const txStatus = await xrplish.getTransactionStatusCode(txData); + const sequence = txData ? txData.result.Sequence : undefined; + const txLedgerIndex = txData ? txData.result.ledger_index : undefined; return { network: xrplish.network, timestamp: initTime, currentLedgerIndex: currentLedgerIndex, + sequence: sequence, txHash: req.txHash, txStatus: txStatus, - txLedgerIndex: txData.result.ledger_index, - txData: getNotNullOrThrowError(txData), + txLedgerIndex: txLedgerIndex, + txData: txData, }; } diff --git a/src/chains/xrpl/xrpl.requests.ts b/src/chains/xrpl/xrpl.requests.ts index 49b2ba10e9..a4682054ed 100644 --- a/src/chains/xrpl/xrpl.requests.ts +++ b/src/chains/xrpl/xrpl.requests.ts @@ -11,7 +11,7 @@ export interface XRPLBalanceResponse { timestamp: number; latency: number; address: string; - balances: Array; + balances: Record; } export type TokenBalance = { @@ -40,6 +40,7 @@ export interface XRPLPollRequest extends NetworkSelectionRequest { export enum TransactionResponseStatusCode { FAILED = -1, + PENDING = 0, CONFIRMED = 1, } @@ -47,10 +48,11 @@ export interface XRPLPollResponse { network: string; timestamp: number; currentLedgerIndex: number; + sequence?: number; txHash: string; txStatus: number; txLedgerIndex?: number; - txData: TxResponse | null; + txData?: TxResponse; } export enum XRPLNetworkID { diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index 2f82987863..c569d19786 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -351,6 +351,13 @@ export class XRPL implements XRPLish { value: token.value, }); } else { + const filtered = this.getTokenForSymbol(token.currency); + + // TODO: this is for filtering out tokens that are not in token list + if (filtered === undefined) { + return; + } + balances.push({ currency: token.currency, issuer: token.issuer, @@ -429,21 +436,25 @@ export class XRPL implements XRPLish { if (!txData) { txStatus = TransactionResponseStatusCode.FAILED; } else { - if ((txData.result.meta).TransactionResult) { - const result = (txData.result.meta) - .TransactionResult; - txStatus = - result == 'tesSUCCESS' - ? TransactionResponseStatusCode.CONFIRMED - : TransactionResponseStatusCode.FAILED; + if (txData.result.validated === false) { + txStatus = TransactionResponseStatusCode.PENDING; } else { - txStatus = TransactionResponseStatusCode.FAILED; + if ((txData.result.meta).TransactionResult) { + const result = (txData.result.meta) + .TransactionResult; + txStatus = + result == 'tesSUCCESS' + ? TransactionResponseStatusCode.CONFIRMED + : TransactionResponseStatusCode.FAILED; + } else { + txStatus = TransactionResponseStatusCode.FAILED; + } } } return txStatus; } - async getTransaction(txHash: string): Promise { + async getTransaction(txHash: string): Promise { await this.ensureConnection(); const tx_resp = await this._client.request({ command: 'tx', diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index 5d720d5433..fe2d56efb9 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -45,7 +45,7 @@ import { isUndefined } from 'mathjs'; // const XRP_FACTOR = 1000000; const ORDERBOOK_LIMIT = 100; - +const TXN_SUBMIT_DELAY = 100; export class XRPLCLOB implements CLOBish { private static _instances: LRUCache; private readonly _client: Client; @@ -53,6 +53,7 @@ export class XRPLCLOB implements CLOBish { private readonly _orderStorage: XRPLOrderStorage; private _ready: boolean = false; + private _isSubmittingTxn: boolean = false; public parsedMarkets: CLOBMarkets = {}; public chain: string; @@ -111,13 +112,19 @@ export class XRPLCLOB implements CLOBish { // TODO: Find and correct the required market info in client public async markets( req: ClobMarketsRequest - ): Promise<{ markets: CLOBMarkets }> { + ): Promise<{ markets: Array }> { if (req.market && req.market.split('-').length === 2) { - const resp: CLOBMarkets = {}; - resp[req.market] = this.parsedMarkets[req.market]; - return { markets: resp }; + const marketsAsArray: Array = []; + marketsAsArray.push(this.parsedMarkets[req.market]); + return { markets: marketsAsArray }; + } + + const marketsAsArray: Array = []; + for (const market in this.parsedMarkets) { + marketsAsArray.push(this.parsedMarkets[market]); } - return { markets: this.parsedMarkets }; + + return { markets: marketsAsArray }; } public async orderBook(req: ClobOrderbookRequest): Promise { @@ -139,6 +146,10 @@ export class XRPLCLOB implements CLOBish { } async getMarket(market: MarketInfo): Promise { + console.log( + '🪧 -> file: xrpl.ts:148 -> XRPLCLOB -> getMarket -> market:', + market + ); if (!market) throw new MarketNotFoundError(`No market informed.`); let baseTickSize, baseTransferRate, @@ -198,7 +209,9 @@ export class XRPLCLOB implements CLOBish { const result = { marketId: market.marketId, minimumOrderSize: minimumOrderSize, - tickSize: smallestTickSize, + smallestTickSize: smallestTickSize, + baseTickSize, + quoteTickSize, baseTransferRate: baseTransferRate, quoteTransferRate: quoteTransferRate, baseIssuer: baseIssuer, @@ -316,16 +329,20 @@ export class XRPLCLOB implements CLOBish { public async ticker( req: ClobTickerRequest - ): Promise<{ markets: CLOBMarkets }> { + ): Promise<{ markets: Array }> { const getMarkets = await this.markets(req); - const markets: MarketInfo[] = Object.values(getMarkets.markets); + const markets = getMarkets.markets; - for (const market of markets) { - getMarkets.markets[market.marketId]['midprice'] = - await this.getMidPriceForMarket(market); - } + const marketsWithMidprice = await Promise.all( + markets.map(async (market) => { + const midprice = await this.getMidPriceForMarket( + this.parsedMarkets[market.marketId] + ); + return { ...market, midprice }; + }) + ); - return getMarkets; + return { markets: marketsWithMidprice }; } public async orders( @@ -388,25 +405,25 @@ export class XRPLCLOB implements CLOBish { currency: baseCurrency, issuer: baseIssuer, value: Number( - parseFloat(req.amount).toPrecision(market.tickSize) + parseFloat(req.amount).toPrecision(market.smallestTickSize) ).toString(), }; we_get = { currency: quoteCurrency, issuer: quoteIssuer, - value: Number(total.toPrecision(market.tickSize)).toString(), + value: Number(total.toPrecision(market.smallestTickSize)).toString(), }; } else { we_pay = { currency: quoteCurrency, issuer: quoteIssuer, - value: Number(total.toPrecision(market.tickSize)).toString(), + value: Number(total.toPrecision(market.smallestTickSize)).toString(), }; we_get = { currency: baseCurrency, issuer: baseIssuer, value: Number( - parseFloat(req.amount).toPrecision(market.tickSize) + parseFloat(req.amount).toPrecision(market.smallestTickSize) ).toString(), }; } @@ -506,9 +523,15 @@ export class XRPLCLOB implements CLOBish { } private async submitTxn(offer: Transaction, wallet: Wallet) { + while (this._isSubmittingTxn) { + await new Promise((resolve) => setTimeout(resolve, TXN_SUBMIT_DELAY)); + } + + this._isSubmittingTxn = true; const prepared = await this._client.autofill(offer); const signed = wallet.sign(prepared); await this._client.submit(signed.tx_blob); + this._isSubmittingTxn = false; return { prepared, signed }; } diff --git a/src/connectors/xrpl/xrpl.types.ts b/src/connectors/xrpl/xrpl.types.ts index 5b8ac427a3..71db38ae42 100644 --- a/src/connectors/xrpl/xrpl.types.ts +++ b/src/connectors/xrpl/xrpl.types.ts @@ -68,7 +68,9 @@ export interface GetMarketResponse { export interface Market { marketId: string; minimumOrderSize: number; - tickSize: number; + smallestTickSize: number; + baseTickSize: number; + quoteTickSize: number; baseTransferRate: number; quoteTransferRate: number; baseIssuer: string; From 8443ba3a43fab8af0caa357f5e4b6fabf791cf72 Mon Sep 17 00:00:00 2001 From: mlguys Date: Thu, 10 Aug 2023 23:53:15 +0700 Subject: [PATCH 27/67] fix getting order status & trading fees --- src/chains/xrpl/xrpl.helpers.ts | 8 +++ src/chains/xrpl/xrpl.order-tracker.ts | 72 ++++++++++++++------------- src/connectors/xrpl/xrpl.ts | 7 +-- 3 files changed, 47 insertions(+), 40 deletions(-) diff --git a/src/chains/xrpl/xrpl.helpers.ts b/src/chains/xrpl/xrpl.helpers.ts index b5f107acdc..ab6b21c5ad 100644 --- a/src/chains/xrpl/xrpl.helpers.ts +++ b/src/chains/xrpl/xrpl.helpers.ts @@ -137,3 +137,11 @@ export function getNetworkId(network: string = ''): number { return 0; } } + +export function getBaseTokenFromMarketId(marketId: string): string { + return marketId.split('-')[0]; +} + +export function getQuoteTokenFromMarketId(marketId: string): string { + return marketId.split('-')[1]; +} diff --git a/src/chains/xrpl/xrpl.order-tracker.ts b/src/chains/xrpl/xrpl.order-tracker.ts index aab404d805..7e3239cda6 100644 --- a/src/chains/xrpl/xrpl.order-tracker.ts +++ b/src/chains/xrpl/xrpl.order-tracker.ts @@ -10,6 +10,7 @@ import { dropsToXrp, } from 'xrpl'; import { XRPL } from './xrpl'; +import { XRPLCLOB } from '../../../src/connectors/xrpl/xrpl'; import { getXRPLConfig } from './xrpl.config'; import { OrderStatus, @@ -24,8 +25,13 @@ import { ModifiedNode, DeletedNode, FillData, + Market, } from '../../connectors/xrpl/xrpl.types'; import { OrderMutexManager } from '../../connectors/xrpl/xrpl.utils'; +import { + getBaseTokenFromMarketId, + getQuoteTokenFromMarketId, +} from './xrpl.helpers'; import { isModifiedNode, isDeletedNode, @@ -44,6 +50,7 @@ import { XRPLOrderStorage } from './xrpl.order-storage'; export class OrderTracker { private static _instances: LRUCache; private readonly _xrpl: XRPL; + private readonly _xrplClob: XRPLCLOB; private readonly _orderStorage: XRPLOrderStorage; private _wallet: Wallet; private _orderMutexManager: OrderMutexManager; @@ -60,6 +67,7 @@ export class OrderTracker { this.network = network; this._xrpl = XRPL.getInstance(network); + this._xrplClob = XRPLCLOB.getInstance(chain, network); this._orderStorage = this._xrpl.orderStorage; this._wallet = wallet; this._inflightOrders = {}; @@ -894,18 +902,28 @@ export class OrderTracker { const orderHash: number = order.hash; if (node === undefined) { + const feeToken = + order.tradeType === 'BUY' + ? getQuoteTokenFromMarketId(order.marketId) + : getBaseTokenFromMarketId(order.marketId); + const fee = this.calculateFee( + order.marketId, + order.tradeType, + order.amount + ); + const timestamp = transaction.transaction.date + ? rippleTimeToUnixTime(transaction.transaction.date) + : 0; return { // eslint-disable-next-line @typescript-eslint/no-non-null-assertion tradeId: `${intent.type}-${transaction.transaction.hash!}`, orderHash: order.hash, price: order.price, quantity: order.amount, - feeToken: 'XRP', + feeToken: feeToken, side: order.tradeType, - fee: this.getFeeFromTransaction(transaction).toString(), - timestamp: transaction.transaction.date - ? rippleTimeToUnixTime(transaction.transaction.date) - : 0, + fee: fee, + timestamp: timestamp, type: 'Taker', }; } @@ -924,9 +942,12 @@ export class OrderTracker { node, order.tradeType ).toString(); - const feeToken = 'XRP'; + const feeToken = + order.tradeType === 'BUY' + ? getQuoteTokenFromMarketId(order.marketId) + : getBaseTokenFromMarketId(order.marketId); const side = order.tradeType; - const fee = this.getFeeFromTransaction(transaction).toString(); + const fee = this.calculateFee(order.marketId, order.tradeType, quantity); const timestamp = transaction.transaction.date ? rippleTimeToUnixTime(transaction.transaction.date) : 0; @@ -945,38 +966,19 @@ export class OrderTracker { }; } - getFeeFromTransaction( - transaction: TransactionStream | TransaformedAccountTransaction - ): string { + calculateFee(marketId: string, tradeType: string, quantity: string): string { let fee = '0'; + const market = this._xrplClob.parsedMarkets[marketId] as Market; - if (transaction.meta === undefined) { - return fee; + if (market === undefined) { + return '0'; } - transaction.meta.AffectedNodes.forEach((node) => { - if (isModifiedNode(node)) { - if (node.ModifiedNode.LedgerEntryType === 'AccountRoot') { - try { - const previousFields = node.ModifiedNode.PreviousFields as any; - const finalFields = node.ModifiedNode.FinalFields as any; - - if ( - previousFields.Balance !== undefined && - finalFields.Balance !== undefined - ) { - fee = dropsToXrp( - parseInt(previousFields.Balance) - parseInt(finalFields.Balance) - ); - } - } catch (error) { - throw new Error( - 'Error parsing fee from transaction: ' + transaction - ); - } - } - } - }); + if (tradeType === 'BUY') { + fee = (parseFloat(quantity) * market.quoteTransferRate).toString(); + } else { + fee = (parseFloat(quantity) * market.baseTransferRate).toString(); + } return fee; } diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index fe2d56efb9..02a3f2829a 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -204,7 +204,7 @@ export class XRPLCLOB implements CLOBish { } const smallestTickSize = Math.min(baseTickSize, quoteTickSize); - const minimumOrderSize = smallestTickSize; + const minimumOrderSize = Math.pow(10, -smallestTickSize); const result = { marketId: market.marketId, @@ -348,7 +348,6 @@ export class XRPLCLOB implements CLOBish { public async orders( req: ClobGetOrderRequest ): Promise<{ orders: ClobGetOrderResponse['orders'] }> { - if (!req.market) return { orders: [] }; if (!req.address) return { orders: [] }; if (!req.orderId) return { orders: [] }; @@ -366,12 +365,10 @@ export class XRPLCLOB implements CLOBish { return { orders: ordersArray } as ClobGetOrderResponse; } else { - const marketId = this.parsedMarkets[req.market].marketId; - const orders = await this._orderStorage.getOrderByMarketAndHash( + const orders = await this._orderStorage.getOrdersByHash( this.chain, this.network, req.address, - marketId, req.orderId ); From d941a4e3e41036f606965a12c963853113bc87a8 Mon Sep 17 00:00:00 2001 From: mlguys Date: Fri, 11 Aug 2023 18:50:04 +0700 Subject: [PATCH 28/67] Prepare PR WIP --- package.json | 4 +- src/connectors/xrpl/xrpl.ts | 3 + test/connectors/xrpl/xrpl.e2e.test.ts | 471 +++++++++++++---------- test/connectors/xrpl/xrpl.routes.test.ts | 26 +- 4 files changed, 283 insertions(+), 221 deletions(-) diff --git a/package.json b/package.json index c052dde938..58399f6e7a 100644 --- a/package.json +++ b/package.json @@ -21,10 +21,8 @@ "test:unit": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --verbose ./test/", "test:cov": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/", "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts", - "test:xrpl": "jest -i --verbose test/connectors/xrpl/xrpl.routes.test.ts", "test:e2e:xrpl": "jest -i --verbose test/connectors/xrpl/xrpl.e2e.test.ts", - "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/connectors/xrpl/*.test.ts", - "test:chain:xrpl": "jest -i --verbose test/chains/xrpl/*.test.ts" + "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/connectors/xrpl/*.test.ts" }, "dependencies": { "@cosmjs/proto-signing": "^0.28.10", diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index 02a3f2829a..e355dfcbeb 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -348,6 +348,9 @@ export class XRPLCLOB implements CLOBish { public async orders( req: ClobGetOrderRequest ): Promise<{ orders: ClobGetOrderResponse['orders'] }> { + // TODO: Check this on client why it give zero orders + console.log('🪧 -> file: xrpl.ts:351 -> XRPLCLOB -> req:', req); + if (!req.market) return { orders: [] }; if (!req.address) return { orders: [] }; if (!req.orderId) return { orders: [] }; diff --git a/test/connectors/xrpl/xrpl.e2e.test.ts b/test/connectors/xrpl/xrpl.e2e.test.ts index f1e513a09d..b1c6b20b8b 100644 --- a/test/connectors/xrpl/xrpl.e2e.test.ts +++ b/test/connectors/xrpl/xrpl.e2e.test.ts @@ -14,10 +14,10 @@ const wallet2 = Wallet.fromSecret('sEd7oiMn5napJBthB2z4CtN5nVi56Bd'); // r3z4R6K const MARKET = 'USD-VND'; let postedOrderTxn: string; -const INVALID_REQUEST = { - chain: 'unknown', - network: 'testnet', -}; +// const INVALID_REQUEST = { +// chain: 'unknown', +// network: 'testnet', +// }; const patchWallet1 = () => { patch(xrpl, 'getWallet', (walletAddress: string) => { @@ -49,213 +49,215 @@ afterAll(async () => { // 6. Get posted order details // 7. Cancel the posted order -describe('Get estimated gas price', () => { - it('should return 200 with proper request', async () => { - await request(gatewayApp) - .get(`/clob/estimateGas`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.gasPrice).toBeDefined()); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .get(`/clob/estimateGas`) - .query(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('Get Markets List', () => { - it('should return a list of markets', async () => { - await request(gatewayApp) - .get(`/clob/markets`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => { - expect(res.body.markets.length).toBeGreaterThan(0); - }); - }); -}); - -describe(`Get ticker info for ${MARKET}`, () => { - it('should return 200 with proper request', async () => { - await request(gatewayApp) - .get(`/clob/ticker`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - market: MARKET, - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.markets.baseCurrency).toEqual('USD')) - .expect((res) => expect(res.body.markets.quoteCurrency).toEqual('VND')); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .get(`/clob/ticker`) - .query(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('Post order', () => { - it('should return 200 with proper request', async () => { - await request(gatewayApp) - .post(`/clob/orders`) - .send({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock - market: MARKET, - price: '20000', - amount: '0.1', - side: 'BUY', - orderType: 'LIMIT', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => { - expect(res.body.txHash).toBeDefined(); - postedOrderTxn = res.body.txHash; - }); - }); - - it('should return PENDING_OPEN with proper request', async () => { - await checkOrderStatus( - postedOrderTxn, - 10, - 'PENDING_OPEN', - 500, - wallet1.address, - true - ); - }); - - it('should return OPEN with proper request', async () => { - await checkOrderStatus( - postedOrderTxn, - 9, - 'OPEN', - 1000, - wallet1.address, - true - ); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .post(`/clob/orders`) - .send(INVALID_REQUEST) - .expect(404); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .get(`/clob/orders`) - .query(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('Get orderbook details', () => { - it('should return 200 with proper request with USD-VND', async () => { - await request(gatewayApp) - .get(`/clob/orderBook`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - market: MARKET, - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => { - expect(res.body.buys.length).toBeGreaterThan(0); - }); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .get(`/clob/orderBook`) - .query(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('Delete order', () => { - it('should return 200 with proper request', async () => { - const postedOrderSequence = await getsSequenceNumberFromTxn( - 'testnet', - postedOrderTxn - ); - - expect(postedOrderSequence).toBeDefined(); - - await request(gatewayApp) - .delete(`/clob/orders`) - .send({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock - market: MARKET, - orderId: postedOrderSequence?.toString(), - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.txHash).toBeDefined()); - }); - - it('should return PENDING_CANCEL with proper request', async () => { - await checkOrderStatus( - postedOrderTxn, - 10, - 'PENDING_CANCEL', - 500, - wallet1.address, - true - ); - }); - - it('should return CANCELED with proper request', async () => { - await checkOrderStatus( - postedOrderTxn, - 9, - 'CANCELED', - 1000, - wallet1.address, - true - ); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .delete(`/clob/orders`) - .send(INVALID_REQUEST) - .expect(404); - }); -}); +// describe('Get estimated gas price', () => { +// it('should return 200 with proper request', async () => { +// await request(gatewayApp) +// .get(`/clob/estimateGas`) +// .query({ +// chain: 'xrpl', +// network: 'testnet', +// connector: 'xrpl', +// }) +// .set('Accept', 'application/json') +// .expect('Content-Type', /json/) +// .expect(200) +// .expect((res) => expect(res.body.gasPrice).toBeDefined()); +// }); + +// it('should return 404 when parameters are invalid', async () => { +// await request(gatewayApp) +// .get(`/clob/estimateGas`) +// .query(INVALID_REQUEST) +// .expect(404); +// }); +// }); + +// describe('Get Markets List', () => { +// it('should return a list of markets', async () => { +// await request(gatewayApp) +// .get(`/clob/markets`) +// .query({ +// chain: 'xrpl', +// network: 'testnet', +// connector: 'xrpl', +// }) +// .set('Accept', 'application/json') +// .expect('Content-Type', /json/) +// .expect(200) +// .expect((res) => { +// expect(res.body.markets.length).toBeGreaterThan(0); +// }); +// }); +// }); + +// describe(`Get ticker info for ${MARKET}`, () => { +// it('should return 200 with proper request', async () => { +// await request(gatewayApp) +// .get(`/clob/ticker`) +// .query({ +// chain: 'xrpl', +// network: 'testnet', +// connector: 'xrpl', +// market: MARKET, +// }) +// .set('Accept', 'application/json') +// .expect('Content-Type', /json/) +// .expect(200) +// .expect((res) => expect(res.body.markets[0].baseCurrency).toEqual('USD')) +// .expect((res) => +// expect(res.body.markets[0].quoteCurrency).toEqual('VND') +// ); +// }); + +// it('should return 404 when parameters are invalid', async () => { +// await request(gatewayApp) +// .get(`/clob/ticker`) +// .query(INVALID_REQUEST) +// .expect(404); +// }); +// }); + +// describe('Post order', () => { +// it('should return 200 with proper request', async () => { +// await request(gatewayApp) +// .post(`/clob/orders`) +// .send({ +// chain: 'xrpl', +// network: 'testnet', +// connector: 'xrpl', +// address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock +// market: MARKET, +// price: '20000', +// amount: '0.1', +// side: 'BUY', +// orderType: 'LIMIT', +// }) +// .set('Accept', 'application/json') +// .expect('Content-Type', /json/) +// .expect(200) +// .expect((res) => { +// expect(res.body.txHash).toBeDefined(); +// postedOrderTxn = res.body.txHash; +// }); +// }); + +// it('should return PENDING_OPEN with proper request', async () => { +// await checkOrderStatus( +// postedOrderTxn, +// 10, +// 'PENDING_OPEN', +// 500, +// wallet1.address, +// true +// ); +// }); + +// it('should return OPEN with proper request', async () => { +// await checkOrderStatus( +// postedOrderTxn, +// 9, +// 'OPEN', +// 1000, +// wallet1.address, +// true +// ); +// }); + +// it('should return 404 when parameters are invalid', async () => { +// await request(gatewayApp) +// .post(`/clob/orders`) +// .send(INVALID_REQUEST) +// .expect(404); +// }); + +// it('should return 404 when parameters are invalid', async () => { +// await request(gatewayApp) +// .get(`/clob/orders`) +// .query(INVALID_REQUEST) +// .expect(404); +// }); +// }); + +// describe('Get orderbook details', () => { +// it('should return 200 with proper request with USD-VND', async () => { +// await request(gatewayApp) +// .get(`/clob/orderBook`) +// .query({ +// chain: 'xrpl', +// network: 'testnet', +// connector: 'xrpl', +// market: MARKET, +// }) +// .set('Accept', 'application/json') +// .expect('Content-Type', /json/) +// .expect(200) +// .expect((res) => { +// expect(res.body.buys.length).toBeGreaterThan(0); +// }); +// }); + +// it('should return 404 when parameters are invalid', async () => { +// await request(gatewayApp) +// .get(`/clob/orderBook`) +// .query(INVALID_REQUEST) +// .expect(404); +// }); +// }); + +// describe('Delete order', () => { +// it('should return 200 with proper request', async () => { +// const postedOrderSequence = await getsSequenceNumberFromTxn( +// 'testnet', +// postedOrderTxn +// ); + +// expect(postedOrderSequence).toBeDefined(); + +// await request(gatewayApp) +// .delete(`/clob/orders`) +// .send({ +// chain: 'xrpl', +// network: 'testnet', +// connector: 'xrpl', +// address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock +// market: MARKET, +// orderId: postedOrderSequence?.toString(), +// }) +// .set('Accept', 'application/json') +// .expect('Content-Type', /json/) +// .expect(200) +// .expect((res) => expect(res.body.txHash).toBeDefined()); +// }); + +// it('should return PENDING_CANCEL with proper request', async () => { +// await checkOrderStatus( +// postedOrderTxn, +// 10, +// 'PENDING_CANCEL', +// 500, +// wallet1.address, +// true +// ); +// }); + +// it('should return CANCELED with proper request', async () => { +// await checkOrderStatus( +// postedOrderTxn, +// 9, +// 'CANCELED', +// 1000, +// wallet1.address, +// true +// ); +// }); + +// it('should return 404 when parameters are invalid', async () => { +// await request(gatewayApp) +// .delete(`/clob/orders`) +// .send(INVALID_REQUEST) +// .expect(404); +// }); +// }); // 2nd Senario: // 1. Post an order @@ -379,6 +381,53 @@ describe('Post order to be consumed', () => { true ); }); + + it('should cancel outstanding orders', async () => { + // const outstandingOrders: string[] = []; + + // wait for 5 seconds to let the order be posted + await new Promise((resolve) => setTimeout(resolve, 5000)); + + await request(gatewayApp) + .get(`/clob/orders`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: wallet1.classicAddress, + market: MARKET, + orderId: 'all', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .then((res) => { + console.log( + '🪧 -> file: xrpl.e2e.test.ts:403 -> .then -> res.body.orders:', + res.body.orders + ); + }); + + await request(gatewayApp) + .get(`/clob/orders`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: wallet2.classicAddress, + market: MARKET, + orderId: 'all', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .then((res) => { + console.log( + '🪧 -> file: xrpl.e2e.test.ts:423 -> .then -> res.body.orders:', + res.body.orders + ); + }); + }); }); }); diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index 3a1eaa7958..af68c8dace 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -362,6 +362,10 @@ const patchGetOrderBookFromXRPL = (orderbook: any) => { const patchOrders = () => { patch(xrplCLOB, '_orderStorage', { + async getOrdersByHash() { + const orders: Record = { [ORDER.hash]: ORDER }; + return orders; + }, async getOrderByMarketAndHash() { const orders: Record = { [ORDER.hash]: ORDER }; return orders; @@ -494,12 +498,15 @@ describe('GET /clob/ticker', () => { .expect('Content-Type', /json/) .expect(200) .expect((res) => { - expect(res.body.markets['USD-XRP'].baseCurrency).toEqual('USD'); + console.log( + '🪧 -> file: xrpl.routes.test.ts:497 -> .expect -> res:', + res.body + ); + + expect(res.body.markets[0].baseCurrency).toEqual('USD'); }) - .expect((res) => - expect(res.body.markets['USD-XRP'].quoteCurrency).toEqual('XRP') - ) - .expect((res) => expect(res.body.markets['USD-XRP'].midprice).toEqual(1)); + .expect((res) => expect(res.body.markets[0].quoteCurrency).toEqual('XRP')) + .expect((res) => expect(res.body.markets[0].midprice).toEqual(1)); }); it('should return 404 when parameters are invalid', async () => { @@ -521,13 +528,18 @@ describe('GET /clob/orders', () => { network: 'testnet', connector: 'xrpl', address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock - market: MARKET, orderId: 1234567, }) .set('Accept', 'application/json') .expect('Content-Type', /json/) .expect(200) - .expect((res) => expect(res.body.orders.length).toEqual(1)); + .expect((res) => { + console.log( + '🪧 -> file: xrpl.routes.test.ts:535 -> .expect -> res:', + res.body + ); + expect(res.body.orders.length).toEqual(1); + }); }); it('should return 404 when parameters are invalid', async () => { From 7d48910df7463455f9c42056db065b377972fefd Mon Sep 17 00:00:00 2001 From: mlguys Date: Sat, 12 Aug 2023 00:19:10 +0700 Subject: [PATCH 29/67] polish test cases --- package.json | 3 +- src/chains/xrpl/xrpl.helpers.ts | 86 ++-- src/chains/xrpl/xrpl.order-storage.ts | 42 +- src/connectors/xrpl/xrpl.ts | 3 +- test/connectors/xrpl/xrpl.e2e.test.ts | 498 ++++++++++++----------- test/connectors/xrpl/xrpl.routes.test.ts | 10 +- 6 files changed, 342 insertions(+), 300 deletions(-) diff --git a/package.json b/package.json index 58399f6e7a..fcd5562bd4 100644 --- a/package.json +++ b/package.json @@ -21,8 +21,7 @@ "test:unit": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --verbose ./test/", "test:cov": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/", "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts", - "test:e2e:xrpl": "jest -i --verbose test/connectors/xrpl/xrpl.e2e.test.ts", - "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/connectors/xrpl/*.test.ts" + "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage --runTestsByPath ./test/chains/xrpl/*.test.ts ./test/connectors/xrpl/*.test.ts" }, "dependencies": { "@cosmjs/proto-signing": "^0.28.10", diff --git a/src/chains/xrpl/xrpl.helpers.ts b/src/chains/xrpl/xrpl.helpers.ts index ab6b21c5ad..0f27134b18 100644 --- a/src/chains/xrpl/xrpl.helpers.ts +++ b/src/chains/xrpl/xrpl.helpers.ts @@ -1,4 +1,4 @@ -import web3 from 'web3'; +// import web3 from 'web3'; import { default as constants } from './../../chains/xrpl/xrpl.constants'; import { XRPLNetworkID } from './xrpl.requests'; @@ -69,9 +69,9 @@ export const promiseAllInBatches = async ( /** * */ -export const getRandonBN = () => { - return web3.utils.toBN(web3.utils.randomHex(32)); -}; +// export const getRandonBN = () => { +// return web3.utils.toBN(web3.utils.randomHex(32)); +// }; /** * @param targetObject @@ -82,45 +82,45 @@ export const getRandonBN = () => { * @param timeout 0 means no timeout (milliseconds) * @param timeoutMessage */ -export const runWithRetryAndTimeout = async ( - targetObject: any, - targetFunction: (...args: any[]) => R, - targetParameters: any, - maxNumberOfRetries: number = constants.retry.all.maxNumberOfRetries, - delayBetweenRetries: number = constants.retry.all.delayBetweenRetries, - timeout: number = constants.timeout.all, - timeoutMessage: string = 'Timeout exceeded.' -): Promise => { - let retryCount = 0; - let timer: any; - - if (timeout > 0) { - timer = setTimeout(() => new Error(timeoutMessage), timeout); - } - - do { - try { - const result = await targetFunction.apply(targetObject, targetParameters); - - if (timeout > 0) { - clearTimeout(timer); - } - - return result as R; - } catch (error) { - retryCount++; - if (retryCount < maxNumberOfRetries) { - if (delayBetweenRetries > 0) { - await sleep(delayBetweenRetries); - } - } else { - throw error; - } - } - } while (retryCount < maxNumberOfRetries); - - throw Error('Unknown error.'); -}; +// export const runWithRetryAndTimeout = async ( +// targetObject: any, +// targetFunction: (...args: any[]) => R, +// targetParameters: any, +// maxNumberOfRetries: number = constants.retry.all.maxNumberOfRetries, +// delayBetweenRetries: number = constants.retry.all.delayBetweenRetries, +// timeout: number = constants.timeout.all, +// timeoutMessage: string = 'Timeout exceeded.' +// ): Promise => { +// let retryCount = 0; +// let timer: any; + +// if (timeout > 0) { +// timer = setTimeout(() => new Error(timeoutMessage), timeout); +// } + +// do { +// try { +// const result = await targetFunction.apply(targetObject, targetParameters); + +// if (timeout > 0) { +// clearTimeout(timer); +// } + +// return result as R; +// } catch (error) { +// retryCount++; +// if (retryCount < maxNumberOfRetries) { +// if (delayBetweenRetries > 0) { +// await sleep(delayBetweenRetries); +// } +// } else { +// throw error; +// } +// } +// } while (retryCount < maxNumberOfRetries); + +// throw Error('Unknown error.'); +// }; export function getNetworkId(network: string = ''): number { switch (network) { diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts index 12d8d94ad5..c5217abbc4 100644 --- a/src/chains/xrpl/xrpl.order-storage.ts +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -138,27 +138,27 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { }); } - public async getOrdersByHash( - chain: string, - network: string, - walletAddress: string, - hash: string - ): Promise> { - return this.localStorage.get((key: string, value: string) => { - const splitKey = key.split('/'); - if ( - splitKey.length === 4 && - splitKey[0] === chain && - splitKey[1] === network && - splitKey[2] === walletAddress && - splitKey[3] === hash - ) { - const order: Order = JSON.parse(value); - return [splitKey[3], order]; - } - return; - }); - } + // public async getOrdersByHash( + // chain: string, + // network: string, + // walletAddress: string, + // hash: string + // ): Promise> { + // return this.localStorage.get((key: string, value: string) => { + // const splitKey = key.split('/'); + // if ( + // splitKey.length === 4 && + // splitKey[0] === chain && + // splitKey[1] === network && + // splitKey[2] === walletAddress && + // splitKey[3] === hash + // ) { + // const order: Order = JSON.parse(value); + // return [splitKey[3], order]; + // } + // return; + // }); + // } public async getInflightOrders( chain: string, diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index e355dfcbeb..da887bcb1e 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -368,10 +368,11 @@ export class XRPLCLOB implements CLOBish { return { orders: ordersArray } as ClobGetOrderResponse; } else { - const orders = await this._orderStorage.getOrdersByHash( + const orders = await this._orderStorage.getOrderByMarketAndHash( this.chain, this.network, req.address, + req.market, req.orderId ); diff --git a/test/connectors/xrpl/xrpl.e2e.test.ts b/test/connectors/xrpl/xrpl.e2e.test.ts index b1c6b20b8b..74d07407f2 100644 --- a/test/connectors/xrpl/xrpl.e2e.test.ts +++ b/test/connectors/xrpl/xrpl.e2e.test.ts @@ -14,12 +14,12 @@ const wallet2 = Wallet.fromSecret('sEd7oiMn5napJBthB2z4CtN5nVi56Bd'); // r3z4R6K const MARKET = 'USD-VND'; let postedOrderTxn: string; -// const INVALID_REQUEST = { -// chain: 'unknown', -// network: 'testnet', -// }; +const INVALID_REQUEST = { + chain: 'unknown', + network: 'testnet', +}; -const patchWallet1 = () => { +const patchWalletXRPL = () => { patch(xrpl, 'getWallet', (walletAddress: string) => { if (walletAddress === 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16') return wallet1; @@ -32,11 +32,14 @@ beforeAll(async () => { await xrpl.init(); xrplCLOB = XRPLCLOB.getInstance('xrpl', 'testnet'); await xrplCLOB.init(); - patchWallet1(); + patchWalletXRPL(); +}); + +beforeEach(() => { + patchWalletXRPL(); }); afterAll(async () => { - unpatch(); await xrpl.close(); }); @@ -49,215 +52,215 @@ afterAll(async () => { // 6. Get posted order details // 7. Cancel the posted order -// describe('Get estimated gas price', () => { -// it('should return 200 with proper request', async () => { -// await request(gatewayApp) -// .get(`/clob/estimateGas`) -// .query({ -// chain: 'xrpl', -// network: 'testnet', -// connector: 'xrpl', -// }) -// .set('Accept', 'application/json') -// .expect('Content-Type', /json/) -// .expect(200) -// .expect((res) => expect(res.body.gasPrice).toBeDefined()); -// }); - -// it('should return 404 when parameters are invalid', async () => { -// await request(gatewayApp) -// .get(`/clob/estimateGas`) -// .query(INVALID_REQUEST) -// .expect(404); -// }); -// }); - -// describe('Get Markets List', () => { -// it('should return a list of markets', async () => { -// await request(gatewayApp) -// .get(`/clob/markets`) -// .query({ -// chain: 'xrpl', -// network: 'testnet', -// connector: 'xrpl', -// }) -// .set('Accept', 'application/json') -// .expect('Content-Type', /json/) -// .expect(200) -// .expect((res) => { -// expect(res.body.markets.length).toBeGreaterThan(0); -// }); -// }); -// }); - -// describe(`Get ticker info for ${MARKET}`, () => { -// it('should return 200 with proper request', async () => { -// await request(gatewayApp) -// .get(`/clob/ticker`) -// .query({ -// chain: 'xrpl', -// network: 'testnet', -// connector: 'xrpl', -// market: MARKET, -// }) -// .set('Accept', 'application/json') -// .expect('Content-Type', /json/) -// .expect(200) -// .expect((res) => expect(res.body.markets[0].baseCurrency).toEqual('USD')) -// .expect((res) => -// expect(res.body.markets[0].quoteCurrency).toEqual('VND') -// ); -// }); - -// it('should return 404 when parameters are invalid', async () => { -// await request(gatewayApp) -// .get(`/clob/ticker`) -// .query(INVALID_REQUEST) -// .expect(404); -// }); -// }); - -// describe('Post order', () => { -// it('should return 200 with proper request', async () => { -// await request(gatewayApp) -// .post(`/clob/orders`) -// .send({ -// chain: 'xrpl', -// network: 'testnet', -// connector: 'xrpl', -// address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock -// market: MARKET, -// price: '20000', -// amount: '0.1', -// side: 'BUY', -// orderType: 'LIMIT', -// }) -// .set('Accept', 'application/json') -// .expect('Content-Type', /json/) -// .expect(200) -// .expect((res) => { -// expect(res.body.txHash).toBeDefined(); -// postedOrderTxn = res.body.txHash; -// }); -// }); - -// it('should return PENDING_OPEN with proper request', async () => { -// await checkOrderStatus( -// postedOrderTxn, -// 10, -// 'PENDING_OPEN', -// 500, -// wallet1.address, -// true -// ); -// }); - -// it('should return OPEN with proper request', async () => { -// await checkOrderStatus( -// postedOrderTxn, -// 9, -// 'OPEN', -// 1000, -// wallet1.address, -// true -// ); -// }); - -// it('should return 404 when parameters are invalid', async () => { -// await request(gatewayApp) -// .post(`/clob/orders`) -// .send(INVALID_REQUEST) -// .expect(404); -// }); - -// it('should return 404 when parameters are invalid', async () => { -// await request(gatewayApp) -// .get(`/clob/orders`) -// .query(INVALID_REQUEST) -// .expect(404); -// }); -// }); - -// describe('Get orderbook details', () => { -// it('should return 200 with proper request with USD-VND', async () => { -// await request(gatewayApp) -// .get(`/clob/orderBook`) -// .query({ -// chain: 'xrpl', -// network: 'testnet', -// connector: 'xrpl', -// market: MARKET, -// }) -// .set('Accept', 'application/json') -// .expect('Content-Type', /json/) -// .expect(200) -// .expect((res) => { -// expect(res.body.buys.length).toBeGreaterThan(0); -// }); -// }); - -// it('should return 404 when parameters are invalid', async () => { -// await request(gatewayApp) -// .get(`/clob/orderBook`) -// .query(INVALID_REQUEST) -// .expect(404); -// }); -// }); - -// describe('Delete order', () => { -// it('should return 200 with proper request', async () => { -// const postedOrderSequence = await getsSequenceNumberFromTxn( -// 'testnet', -// postedOrderTxn -// ); - -// expect(postedOrderSequence).toBeDefined(); - -// await request(gatewayApp) -// .delete(`/clob/orders`) -// .send({ -// chain: 'xrpl', -// network: 'testnet', -// connector: 'xrpl', -// address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock -// market: MARKET, -// orderId: postedOrderSequence?.toString(), -// }) -// .set('Accept', 'application/json') -// .expect('Content-Type', /json/) -// .expect(200) -// .expect((res) => expect(res.body.txHash).toBeDefined()); -// }); - -// it('should return PENDING_CANCEL with proper request', async () => { -// await checkOrderStatus( -// postedOrderTxn, -// 10, -// 'PENDING_CANCEL', -// 500, -// wallet1.address, -// true -// ); -// }); - -// it('should return CANCELED with proper request', async () => { -// await checkOrderStatus( -// postedOrderTxn, -// 9, -// 'CANCELED', -// 1000, -// wallet1.address, -// true -// ); -// }); - -// it('should return 404 when parameters are invalid', async () => { -// await request(gatewayApp) -// .delete(`/clob/orders`) -// .send(INVALID_REQUEST) -// .expect(404); -// }); -// }); +describe('Get estimated gas price', () => { + it('should return 200 with proper request', async () => { + await request(gatewayApp) + .get(`/clob/estimateGas`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.gasPrice).toBeDefined()); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/estimateGas`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('Get Markets List', () => { + it('should return a list of markets', async () => { + await request(gatewayApp) + .get(`/clob/markets`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.markets.length).toBeGreaterThan(0); + }); + }); +}); + +describe(`Get ticker info for ${MARKET}`, () => { + it('should return 200 with proper request', async () => { + await request(gatewayApp) + .get(`/clob/ticker`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.markets[0].baseCurrency).toEqual('USD')) + .expect((res) => + expect(res.body.markets[0].quoteCurrency).toEqual('VND') + ); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/ticker`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('Post order', () => { + it('should return 200 with proper request', async () => { + await request(gatewayApp) + .post(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock + market: MARKET, + price: '20000', + amount: '0.1', + side: 'BUY', + orderType: 'LIMIT', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.txHash).toBeDefined(); + postedOrderTxn = res.body.txHash; + }); + }); + + it('should return PENDING_OPEN with proper request', async () => { + await checkOrderStatus( + postedOrderTxn, + 10, + 'PENDING_OPEN', + 500, + wallet1.address, + true + ); + }); + + it('should return OPEN with proper request', async () => { + await checkOrderStatus( + postedOrderTxn, + 9, + 'OPEN', + 1000, + wallet1.address, + true + ); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .post(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/orders`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('Get orderbook details', () => { + it('should return 200 with proper request with USD-VND', async () => { + await request(gatewayApp) + .get(`/clob/orderBook`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.buys.length).toBeGreaterThan(0); + }); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/orderBook`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('Delete order', () => { + it('should return 200 with proper request', async () => { + const postedOrderSequence = await getsSequenceNumberFromTxn( + 'testnet', + postedOrderTxn + ); + + expect(postedOrderSequence).toBeDefined(); + + await request(gatewayApp) + .delete(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'r9wmQfStbNfPJ2XqAN7KH4iP8NJKmqPe16', // noqa: mock + market: MARKET, + orderId: postedOrderSequence?.toString(), + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.txHash).toBeDefined()); + }); + + it('should return PENDING_CANCEL with proper request', async () => { + await checkOrderStatus( + postedOrderTxn, + 10, + 'PENDING_CANCEL', + 500, + wallet1.address, + true + ); + }); + + it('should return CANCELED with proper request', async () => { + await checkOrderStatus( + postedOrderTxn, + 9, + 'CANCELED', + 1000, + wallet1.address, + true + ); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .delete(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); + }); +}); // 2nd Senario: // 1. Post an order @@ -356,7 +359,7 @@ describe('Post order to be consumed', () => { chain: 'xrpl', network: 'testnet', connector: 'xrpl', - address: wallet1.address, // noqa: mock + address: wallet1.classicAddress, // noqa: mock market: MARKET, price: '19999', amount: '0.051', @@ -383,10 +386,8 @@ describe('Post order to be consumed', () => { }); it('should cancel outstanding orders', async () => { - // const outstandingOrders: string[] = []; - - // wait for 5 seconds to let the order be posted - await new Promise((resolve) => setTimeout(resolve, 5000)); + let wallet1OutstandingOrders: Order[] = []; + let wallet2OutstandingOrders: Order[] = []; await request(gatewayApp) .get(`/clob/orders`) @@ -402,10 +403,9 @@ describe('Post order to be consumed', () => { .expect('Content-Type', /json/) .expect(200) .then((res) => { - console.log( - '🪧 -> file: xrpl.e2e.test.ts:403 -> .then -> res.body.orders:', - res.body.orders - ); + wallet1OutstandingOrders = res.body.orders.filter((order: Order) => { + return order.state !== 'FILLED' && order.state !== 'CANCELED'; + }); }); await request(gatewayApp) @@ -422,11 +422,51 @@ describe('Post order to be consumed', () => { .expect('Content-Type', /json/) .expect(200) .then((res) => { - console.log( - '🪧 -> file: xrpl.e2e.test.ts:423 -> .then -> res.body.orders:', - res.body.orders - ); + wallet2OutstandingOrders = res.body.orders.filter((order: Order) => { + return order.state !== 'FILLED' && order.state !== 'CANCELED'; + }); + }); + + if (wallet1OutstandingOrders.length > 0) { + wallet1OutstandingOrders.forEach(async (order) => { + await request(gatewayApp) + .delete(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: wallet1.classicAddress, // noqa: mock + market: MARKET, + orderId: order.hash.toString(), + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.txHash).toBeDefined()); + }); + } + + if (wallet2OutstandingOrders.length > 0) { + wallet2OutstandingOrders.forEach(async (order) => { + await request(gatewayApp) + .delete(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: wallet2.classicAddress, // noqa: mock + market: MARKET, + orderId: order.hash.toString(), + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.txHash).toBeDefined()); }); + } + + await new Promise((resolve) => setTimeout(resolve, 5000)); + unpatch(); }); }); }); diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index af68c8dace..fef3da355c 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -301,12 +301,13 @@ beforeEach(() => { patchMarkets(); }); -afterEach(() => { - unpatch(); -}); +// afterEach(() => { +// unpatch(); +// }); afterAll(async () => { await xrpl.close(); + unpatch(); }); const patchConnect = () => { @@ -527,8 +528,9 @@ describe('GET /clob/orders', () => { chain: 'xrpl', network: 'testnet', connector: 'xrpl', + market: MARKET, address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock - orderId: 1234567, + orderId: '1234567', }) .set('Accept', 'application/json') .expect('Content-Type', /json/) From 7e798137f97ed3c495a3aa1ef30777ad8a2c5952 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 15 Aug 2023 15:54:30 +0700 Subject: [PATCH 30/67] fix getting order from db --- src/chains/xrpl/xrpl.order-storage.ts | 57 ++++++++++++------------ src/connectors/xrpl/xrpl.ts | 7 +-- test/connectors/xrpl/xrpl.routes.test.ts | 8 ++-- 3 files changed, 35 insertions(+), 37 deletions(-) diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts index c5217abbc4..24f1765da2 100644 --- a/src/chains/xrpl/xrpl.order-storage.ts +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -114,34 +114,12 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { }); } - public async getOrderByMarketAndHash( - chain: string, - network: string, - walletAddress: string, - marketId: string, - hash: string - ): Promise> { - return this.localStorage.get((key: string, value: string) => { - const splitKey = key.split('/'); - if ( - splitKey.length === 4 && - splitKey[0] === chain && - splitKey[1] === network && - splitKey[2] === walletAddress - ) { - const order: Order = JSON.parse(value); - if (order.marketId === marketId && order.hash === parseInt(hash)) { - return [splitKey[3], order]; - } - } - return; - }); - } - - // public async getOrdersByHash( + // TODO: Investigate why this method is giving empty results, considering removeing it + // public async getOrderByMarketAndHash( // chain: string, // network: string, // walletAddress: string, + // marketId: string, // hash: string // ): Promise> { // return this.localStorage.get((key: string, value: string) => { @@ -150,16 +128,39 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { // splitKey.length === 4 && // splitKey[0] === chain && // splitKey[1] === network && - // splitKey[2] === walletAddress && - // splitKey[3] === hash + // splitKey[2] === walletAddress // ) { // const order: Order = JSON.parse(value); - // return [splitKey[3], order]; + // if (order.marketId === marketId && order.hash === parseInt(hash)) { + // return [splitKey[3], order]; + // } // } // return; // }); // } + public async getOrdersByHash( + chain: string, + network: string, + walletAddress: string, + hash: string + ): Promise> { + return this.localStorage.get((key: string, value: string) => { + const splitKey = key.split('/'); + if ( + splitKey.length === 4 && + splitKey[0] === chain && + splitKey[1] === network && + splitKey[2] === walletAddress && + splitKey[3] === hash + ) { + const order: Order = JSON.parse(value); + return [splitKey[3], order]; + } + return; + }); + } + public async getInflightOrders( chain: string, network: string, diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index da887bcb1e..836b264ea3 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -348,13 +348,11 @@ export class XRPLCLOB implements CLOBish { public async orders( req: ClobGetOrderRequest ): Promise<{ orders: ClobGetOrderResponse['orders'] }> { - // TODO: Check this on client why it give zero orders - console.log('🪧 -> file: xrpl.ts:351 -> XRPLCLOB -> req:', req); - if (!req.market) return { orders: [] }; if (!req.address) return { orders: [] }; if (!req.orderId) return { orders: [] }; if (req.orderId === 'all') { + if (!req.market) return { orders: [] }; const marketId = this.parsedMarkets[req.market].marketId; const orders = await this._orderStorage.getOrdersByMarket( this.chain, @@ -368,11 +366,10 @@ export class XRPLCLOB implements CLOBish { return { orders: ordersArray } as ClobGetOrderResponse; } else { - const orders = await this._orderStorage.getOrderByMarketAndHash( + const orders = await this._orderStorage.getOrdersByHash( this.chain, this.network, req.address, - req.market, req.orderId ); diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index fef3da355c..065013084b 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -367,10 +367,10 @@ const patchOrders = () => { const orders: Record = { [ORDER.hash]: ORDER }; return orders; }, - async getOrderByMarketAndHash() { - const orders: Record = { [ORDER.hash]: ORDER }; - return orders; - }, + // async getOrderByMarketAndHash() { + // const orders: Record = { [ORDER.hash]: ORDER }; + // return orders; + // }, async getOrdersByMarket() { const orders: Record = { [ORDER.hash]: ORDER }; return orders; From 67e6cb696cc241917e7a4ef5a04c0bf1f85d3f1f Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 22 Aug 2023 20:39:50 +0700 Subject: [PATCH 31/67] rebase latest changes --- package.json | 3 +- src/chains/xrpl/xrpl.routes.ts | 78 ------ test/chains/xrpl/xrpl.routes.test.ts | 17 +- yarn.lock | 381 +++++++++++++-------------- 4 files changed, 200 insertions(+), 279 deletions(-) delete mode 100644 src/chains/xrpl/xrpl.routes.ts diff --git a/package.json b/package.json index fcd5562bd4..f6752f1766 100644 --- a/package.json +++ b/package.json @@ -20,8 +20,7 @@ "test:debug": "node --inspect node_modules/.bin/jest --watch --runInBand", "test:unit": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --verbose ./test/", "test:cov": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/", - "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts", - "test:cov:xrpl": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage --runTestsByPath ./test/chains/xrpl/*.test.ts ./test/connectors/xrpl/*.test.ts" + "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts" }, "dependencies": { "@cosmjs/proto-signing": "^0.28.10", diff --git a/src/chains/xrpl/xrpl.routes.ts b/src/chains/xrpl/xrpl.routes.ts deleted file mode 100644 index 8ef5ecd0ab..0000000000 --- a/src/chains/xrpl/xrpl.routes.ts +++ /dev/null @@ -1,78 +0,0 @@ -// TODO: Deprecated, remove soon -// import { NextFunction, Request, Response, Router } from 'express'; -// import { ParamsDictionary } from 'express-serve-static-core'; -// import { XRPL } from './xrpl'; -// import { verifyXRPLIsAvailable } from './xrpl-middlewares'; -// import { asyncHandler } from '../../services/error-handler'; -// import { balances, poll } from './xrpl.controllers'; -// import { -// XRPLBalanceRequest, -// XRPLBalanceResponse, -// XRPLPollRequest, -// XRPLPollResponse, -// } from './xrpl.requests'; -// import { -// validateXRPLBalanceRequest, -// validateXRPLPollRequest, -// } from './xrpl.validators'; - -// export namespace XRPLRoutes { -// export const router = Router(); - -// export const getXRPL = async (request: Request) => { -// const xrpl = await XRPL.getInstance(request.body.network); -// await xrpl.init(); - -// return xrpl; -// }; - -// router.use(asyncHandler(verifyXRPLIsAvailable)); - -// router.get( -// '/', -// asyncHandler(async (request: Request, response: Response) => { -// const xrpl = await getXRPL(request); - -// const rpcUrl = xrpl.rpcUrl; - -// response.status(200).json({ -// network: xrpl.network, -// rpcUrl: rpcUrl, -// connection: true, -// timestamp: Date.now(), -// }); -// }) -// ); - -// router.get( -// '/balances', -// asyncHandler( -// async ( -// request: Request, -// response: Response, -// _next: NextFunction -// ) => { -// const xrpl = await getXRPL(request); - -// validateXRPLBalanceRequest(request.body); -// response.status(200).json(await balances(xrpl, request.body)); -// } -// ) -// ); - -// // TODO: change this to GET -// router.get( -// '/poll', -// asyncHandler( -// async ( -// request: Request, -// response: Response -// ) => { -// const xrpl = await getXRPL(request); - -// validateXRPLPollRequest(request.body); -// response.status(200).json(await poll(xrpl, request.body)); -// } -// ) -// ); -// } diff --git a/test/chains/xrpl/xrpl.routes.test.ts b/test/chains/xrpl/xrpl.routes.test.ts index ac292e4753..1acc4ad2db 100644 --- a/test/chains/xrpl/xrpl.routes.test.ts +++ b/test/chains/xrpl/xrpl.routes.test.ts @@ -17,9 +17,24 @@ const patchWallet = () => { }); }; +const patchDatabase = () => { + patch(xrplChain, '_orderStorage', { + declareOwnership: () => { + return; + }, + init: () => { + return; + }, + close: () => { + return; + }, + }); +}; + beforeAll(async () => { xrplChain = XRPL.getInstance('testnet'); await xrplChain.init(); + patchDatabase(); }); afterAll(async () => { @@ -63,7 +78,7 @@ describe('POST /chain/poll', () => { chain: 'xrpl', network: 'testnet', txHash: - '61DD63760B94102E929BBC2EF0954E513EC41CCAF57619E1B079E7AA48B4F889', // noqa: mock + 'EF074CD8C98E639B3560200C5664029E4E7133D4803EF75F6991788E09E04CDB', // noqa: mock }); expect(res.statusCode).toEqual(200); }); diff --git a/yarn.lock b/yarn.lock index 6b5fa422b9..c0c88279d6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -987,137 +987,137 @@ "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-088ce754-1c63-4ee5-b47b-420371da9c1c-1691357225522/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-088ce754-1c63-4ee5-b47b-420371da9c1c-1691357225522/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-088ce754-1c63-4ee5-b47b-420371da9c1c-1691357225522/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-088ce754-1c63-4ee5-b47b-420371da9c1c-1691357225522/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-088ce754-1c63-4ee5-b47b-420371da9c1c-1691357225522/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-088ce754-1c63-4ee5-b47b-420371da9c1c-1691357225522/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-088ce754-1c63-4ee5-b47b-420371da9c1c-1691357225522/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-088ce754-1c63-4ee5-b47b-420371da9c1c-1691357225522/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-088ce754-1c63-4ee5-b47b-420371da9c1c-1691357225522/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-62fce592-91e5-4041-bc5c-a05cd76c3ac2-1692708974712/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-62fce592-91e5-4041-bc5c-a05cd76c3ac2-1692708974712/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-62fce592-91e5-4041-bc5c-a05cd76c3ac2-1692708974712/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-62fce592-91e5-4041-bc5c-a05cd76c3ac2-1692708974712/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-62fce592-91e5-4041-bc5c-a05cd76c3ac2-1692708974712/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-62fce592-91e5-4041-bc5c-a05cd76c3ac2-1692708974712/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-62fce592-91e5-4041-bc5c-a05cd76c3ac2-1692708974712/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-62fce592-91e5-4041-bc5c-a05cd76c3ac2-1692708974712/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-62fce592-91e5-4041-bc5c-a05cd76c3ac2-1692708974712/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-5d3d0404-c9ed-4b35-bb7e-c99d104663d6-1691357225504/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-5d3d0404-c9ed-4b35-bb7e-c99d104663d6-1691357225504/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-5d3d0404-c9ed-4b35-bb7e-c99d104663d6-1691357225504/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-5d3d0404-c9ed-4b35-bb7e-c99d104663d6-1691357225504/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-5d3d0404-c9ed-4b35-bb7e-c99d104663d6-1691357225504/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-5d3d0404-c9ed-4b35-bb7e-c99d104663d6-1691357225504/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-5d3d0404-c9ed-4b35-bb7e-c99d104663d6-1691357225504/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-4772e6ce-7ac1-42bb-933f-486645f55a41-1692708974710/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-4772e6ce-7ac1-42bb-933f-486645f55a41-1692708974710/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-4772e6ce-7ac1-42bb-933f-486645f55a41-1692708974710/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-4772e6ce-7ac1-42bb-933f-486645f55a41-1692708974710/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-4772e6ce-7ac1-42bb-933f-486645f55a41-1692708974710/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-4772e6ce-7ac1-42bb-933f-486645f55a41-1692708974710/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-4772e6ce-7ac1-42bb-933f-486645f55a41-1692708974710/node_modules/@ethersproject-xdc/web" "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-be66c2be-15e6-42af-8268-8cd352a11244-1691357225503/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-be66c2be-15e6-42af-8268-8cd352a11244-1691357225503/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-be66c2be-15e6-42af-8268-8cd352a11244-1691357225503/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-be66c2be-15e6-42af-8268-8cd352a11244-1691357225503/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-be66c2be-15e6-42af-8268-8cd352a11244-1691357225503/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8988adda-f176-4d63-a867-a40c847bf1a5-1692708974723/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8988adda-f176-4d63-a867-a40c847bf1a5-1692708974723/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8988adda-f176-4d63-a867-a40c847bf1a5-1692708974723/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8988adda-f176-4d63-a867-a40c847bf1a5-1692708974723/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8988adda-f176-4d63-a867-a40c847bf1a5-1692708974723/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-0e881625-1893-48b5-83f9-bd779a225481-1691357225506/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-0e881625-1893-48b5-83f9-bd779a225481-1691357225506/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-0e881625-1893-48b5-83f9-bd779a225481-1691357225506/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-0e881625-1893-48b5-83f9-bd779a225481-1691357225506/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-0e881625-1893-48b5-83f9-bd779a225481-1691357225506/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-b5be7e1c-3d8f-4af0-8b9b-ff710852feb3-1692708974711/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-b5be7e1c-3d8f-4af0-8b9b-ff710852feb3-1692708974711/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-b5be7e1c-3d8f-4af0-8b9b-ff710852feb3-1692708974711/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-b5be7e1c-3d8f-4af0-8b9b-ff710852feb3-1692708974711/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-b5be7e1c-3d8f-4af0-8b9b-ff710852feb3-1692708974711/node_modules/@ethersproject-xdc/rlp" "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-86cb62f5-4401-4d5d-933e-8d3a38b40d55-1691357225508/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-e0e702b2-deac-4b99-bd43-65c059b07f58-1692708974711/node_modules/@ethersproject-xdc/bytes" "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-a689f23f-7e8f-4589-9cf9-e1a5d816d40c-1691357225510/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-a689f23f-7e8f-4589-9cf9-e1a5d816d40c-1691357225510/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-4eff50d1-b11d-4354-b3f7-711f6d28d91b-1692708974710/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-4eff50d1-b11d-4354-b3f7-711f6d28d91b-1692708974710/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-b61b4660-705d-4f39-a229-a0c22e49cd4d-1691357225509/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-b61b4660-705d-4f39-a229-a0c22e49cd4d-1691357225509/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-3a80493a-4143-4535-8a66-16e74aacb987-1692708974712/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-3a80493a-4143-4535-8a66-16e74aacb987-1692708974712/node_modules/@ethersproject-xdc/logger" bn.js "^5.2.1" "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-74df01c2-808e-45f9-b747-b4ab3191bb60-1691357225504/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-9dbe2bc0-7cb4-40e5-ac55-de9a8eb82dc9-1692708974725/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-f2bc470a-d1d0-46af-bbdd-e1720e04a9a4-1691357225515/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-31915966-1e2a-4fde-8337-9eeaa253d9c9-1692708974726/node_modules/@ethersproject-xdc/bignumber" "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": version "5.6.0" dependencies: - "@ethersproject-xdc/abi" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-50b0a554-cfa9-4cc4-8898-7de06631680b-1691357225516/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-07afa922-b709-4c3d-8e12-42ca82751dcd-1692708974720/node_modules/@ethersproject-xdc/transactions" "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-5b0ca1ee-49dd-4d6c-be87-471337b85073-1691357225506/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-5b0ca1ee-49dd-4d6c-be87-471337b85073-1691357225506/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-5b0ca1ee-49dd-4d6c-be87-471337b85073-1691357225506/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-5b0ca1ee-49dd-4d6c-be87-471337b85073-1691357225506/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-5b0ca1ee-49dd-4d6c-be87-471337b85073-1691357225506/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-5b0ca1ee-49dd-4d6c-be87-471337b85073-1691357225506/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-5b0ca1ee-49dd-4d6c-be87-471337b85073-1691357225506/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-5b0ca1ee-49dd-4d6c-be87-471337b85073-1691357225506/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-5b0ca1ee-49dd-4d6c-be87-471337b85073-1691357225506/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-fb533a2f-f52a-4cf9-a9d8-687db47c8b87-1692708974722/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-fb533a2f-f52a-4cf9-a9d8-687db47c8b87-1692708974722/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-fb533a2f-f52a-4cf9-a9d8-687db47c8b87-1692708974722/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-fb533a2f-f52a-4cf9-a9d8-687db47c8b87-1692708974722/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-fb533a2f-f52a-4cf9-a9d8-687db47c8b87-1692708974722/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-fb533a2f-f52a-4cf9-a9d8-687db47c8b87-1692708974722/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-fb533a2f-f52a-4cf9-a9d8-687db47c8b87-1692708974722/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-fb533a2f-f52a-4cf9-a9d8-687db47c8b87-1692708974722/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-fb533a2f-f52a-4cf9-a9d8-687db47c8b87-1692708974722/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-8226246c-18e3-40bd-aa01-4992de43bf23-1691357225511/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-22bf3df7-920a-410b-924b-195cf11e24d0-1692708974716/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0bee5fd6-6122-4c11-b23d-202429b5a805-1691357225513/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-760f58ee-c8e5-4ad8-97cc-34d9c7c51396-1692708974713/node_modules/@ethersproject-xdc/transactions" aes-js "3.0.0" scrypt-js "3.0.1" "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-4170c223-5383-49cd-9022-dbbd878d8938-1691357225512/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-c12bf223-b36d-4ab0-bf9f-af7050bf0661-1692708974717/node_modules/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1126,67 +1126,67 @@ "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": version "5.7.1" dependencies: - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-43b40363-db22-4437-b011-2e528f881ad6-1691357225517/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-d01bb536-ce91-4ffd-a26d-bed36a590842-1692708974719/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-375f641b-d3de-4932-8483-0ab301e6d057-1691357225513/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-375f641b-d3de-4932-8483-0ab301e6d057-1691357225513/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-daabc055-8217-4109-9066-da7f5969326e-1692708974729/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-daabc055-8217-4109-9066-da7f5969326e-1692708974729/node_modules/@ethersproject-xdc/sha2" "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-27794c9c-9714-4915-a8a2-5f8170257e83-1691357225515/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-88c82da7-ea52-4816-be16-b5d2d39e74ee-1692708974725/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": version "5.6.2" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0a526b39-5661-434f-86f5-2c51157180f9-1691357225518/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-e2e1604d-d941-4ad8-97f2-ef1ee0bfe558-1692708974718/node_modules/@ethersproject-xdc/web" bech32 "1.1.4" ws "7.4.6" "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-2cde07eb-2189-4b2e-b1cd-515b460d9579-1691357225517/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-2cde07eb-2189-4b2e-b1cd-515b460d9579-1691357225517/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-bd07024d-126d-4b55-bda5-a84fbcf2db63-1692708974719/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-bd07024d-126d-4b55-bda5-a84fbcf2db63-1692708974719/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-ea17636f-dbc4-49b3-aded-90c4a2963594-1691357225519/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-ea17636f-dbc4-49b3-aded-90c4a2963594-1691357225519/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-38864b91-83ee-4c93-b58a-5f9d8065f457-1692708974718/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-38864b91-83ee-4c93-b58a-5f9d8065f457-1692708974718/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-79e99016-3a03-4fde-ba49-9a43a5b1b32e-1691357225517/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-79e99016-3a03-4fde-ba49-9a43a5b1b32e-1691357225517/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-e84bc0e4-0b83-4de4-910f-5a566bebb73f-1692708974719/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-e84bc0e4-0b83-4de4-910f-5a566bebb73f-1692708974719/node_modules/@ethersproject-xdc/logger" hash.js "1.1.7" "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-84b547b3-2254-44f2-809e-a00772c28ef0-1691357225515/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-84b547b3-2254-44f2-809e-a00772c28ef0-1691357225515/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-84b547b3-2254-44f2-809e-a00772c28ef0-1691357225515/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-19469f17-aa30-4967-bf97-ae0a7f09c2b3-1692708974721/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-19469f17-aa30-4967-bf97-ae0a7f09c2b3-1692708974721/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-19469f17-aa30-4967-bf97-ae0a7f09c2b3-1692708974721/node_modules/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1194,76 +1194,76 @@ "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-467b4ed9-f953-45b3-bea6-b2db43101b80-1691357225538/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-467b4ed9-f953-45b3-bea6-b2db43101b80-1691357225538/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-467b4ed9-f953-45b3-bea6-b2db43101b80-1691357225538/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-467b4ed9-f953-45b3-bea6-b2db43101b80-1691357225538/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-467b4ed9-f953-45b3-bea6-b2db43101b80-1691357225538/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-467b4ed9-f953-45b3-bea6-b2db43101b80-1691357225538/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2e3167d6-c3e2-44bd-804f-ca2d81c3640b-1692708974719/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2e3167d6-c3e2-44bd-804f-ca2d81c3640b-1692708974719/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2e3167d6-c3e2-44bd-804f-ca2d81c3640b-1692708974719/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2e3167d6-c3e2-44bd-804f-ca2d81c3640b-1692708974719/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2e3167d6-c3e2-44bd-804f-ca2d81c3640b-1692708974719/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2e3167d6-c3e2-44bd-804f-ca2d81c3640b-1692708974719/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-30e27f16-cd13-4436-aa97-546b3f55888d-1691357225519/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-30e27f16-cd13-4436-aa97-546b3f55888d-1691357225519/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-30e27f16-cd13-4436-aa97-546b3f55888d-1691357225519/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-2e0cc5b7-244c-4eb1-ae6e-332b90f7071b-1692708974726/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-2e0cc5b7-244c-4eb1-ae6e-332b90f7071b-1692708974726/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-2e0cc5b7-244c-4eb1-ae6e-332b90f7071b-1692708974726/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-4e496f53-34f7-4ab3-8f83-0f2bc2095650-1691357225527/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-4e496f53-34f7-4ab3-8f83-0f2bc2095650-1691357225527/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-4e496f53-34f7-4ab3-8f83-0f2bc2095650-1691357225527/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-4e496f53-34f7-4ab3-8f83-0f2bc2095650-1691357225527/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-4e496f53-34f7-4ab3-8f83-0f2bc2095650-1691357225527/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-4e496f53-34f7-4ab3-8f83-0f2bc2095650-1691357225527/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-4e496f53-34f7-4ab3-8f83-0f2bc2095650-1691357225527/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-4e496f53-34f7-4ab3-8f83-0f2bc2095650-1691357225527/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-4e496f53-34f7-4ab3-8f83-0f2bc2095650-1691357225527/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f37c94d0-d890-4ac1-8102-a1a764bf8dc1-1692708974725/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f37c94d0-d890-4ac1-8102-a1a764bf8dc1-1692708974725/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f37c94d0-d890-4ac1-8102-a1a764bf8dc1-1692708974725/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f37c94d0-d890-4ac1-8102-a1a764bf8dc1-1692708974725/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f37c94d0-d890-4ac1-8102-a1a764bf8dc1-1692708974725/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f37c94d0-d890-4ac1-8102-a1a764bf8dc1-1692708974725/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f37c94d0-d890-4ac1-8102-a1a764bf8dc1-1692708974725/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f37c94d0-d890-4ac1-8102-a1a764bf8dc1-1692708974725/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f37c94d0-d890-4ac1-8102-a1a764bf8dc1-1692708974725/node_modules/@ethersproject-xdc/signing-key" "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-b54e4fd9-d6c4-4cf9-a50e-ba4e6151dc3a-1691357225534/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-b54e4fd9-d6c4-4cf9-a50e-ba4e6151dc3a-1691357225534/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-b54e4fd9-d6c4-4cf9-a50e-ba4e6151dc3a-1691357225534/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-9cdd1741-e461-412a-b011-8fde9b913cf8-1692708974721/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-9cdd1741-e461-412a-b011-8fde9b913cf8-1692708974721/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-9cdd1741-e461-412a-b011-8fde9b913cf8-1692708974721/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-70f9a323-6868-466b-a3d3-0b4439a720c6-1691357225533/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-c27914d1-121a-4e68-a165-f0bd76845cce-1692708974720/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": version "5.7.1" dependencies: - "@ethersproject-xdc/base64" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-f2e9bd2f-1b63-41c8-b8b5-1fe7fff73327-1691357225538/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-f2e9bd2f-1b63-41c8-b8b5-1fe7fff73327-1691357225538/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-f2e9bd2f-1b63-41c8-b8b5-1fe7fff73327-1691357225538/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-f2e9bd2f-1b63-41c8-b8b5-1fe7fff73327-1691357225538/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-f2e9bd2f-1b63-41c8-b8b5-1fe7fff73327-1691357225538/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c1ea7620-ce89-4f95-b100-e585c8b398e3-1692708974726/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c1ea7620-ce89-4f95-b100-e585c8b398e3-1692708974726/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c1ea7620-ce89-4f95-b100-e585c8b398e3-1692708974726/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c1ea7620-ce89-4f95-b100-e585c8b398e3-1692708974726/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c1ea7620-ce89-4f95-b100-e585c8b398e3-1692708974726/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-95ab5617-de6d-45e5-90c0-4e232a4e63ce-1691357225540/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-95ab5617-de6d-45e5-90c0-4e232a4e63ce-1691357225540/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-95ab5617-de6d-45e5-90c0-4e232a4e63ce-1691357225540/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-95ab5617-de6d-45e5-90c0-4e232a4e63ce-1691357225540/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-95ab5617-de6d-45e5-90c0-4e232a4e63ce-1691357225540/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-71666f29-3e26-43b6-aff4-6b4ec4f7003c-1692708974729/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-71666f29-3e26-43b6-aff4-6b4ec4f7003c-1692708974729/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-71666f29-3e26-43b6-aff4-6b4ec4f7003c-1692708974729/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-71666f29-3e26-43b6-aff4-6b4ec4f7003c-1692708974729/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-71666f29-3e26-43b6-aff4-6b4ec4f7003c-1692708974729/node_modules/@ethersproject-xdc/strings" "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -6542,7 +6542,7 @@ bip32@^2.0.6: typeforce "^1.11.5" wif "^2.0.6" -bip39@3.0.4: +bip39@3.0.4, bip39@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== @@ -6570,16 +6570,6 @@ bip39@^3.0.2, bip39@^3.0.3: dependencies: "@noble/hashes" "^1.2.0" -bip39@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" - integrity sha512-YZKQlb752TrUWqHWj7XAwCSjYEgGAk+/Aas3V7NyjQeZYsztO8JnQUaCWhcnL4T+jL8nvB8typ2jRPzTlgugNw== - dependencies: - "@types/node" "11.11.6" - create-hash "^1.1.0" - pbkdf2 "^3.0.9" - randombytes "^2.0.1" - bip66@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" @@ -8862,36 +8852,36 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: "ethers-xdc@file:./vendor/ethers-xdc": version "5.7.2" dependencies: - "@ethersproject-xdc/abi" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-33019c16-0f82-4c78-b6e4-6f8d74c4c64d-1691357225458/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-63cd80dd-3a82-42fd-8195-f58d5f6fe0e4-1692708974700/node_modules/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" @@ -17212,11 +17202,6 @@ ws@~8.11.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha512-1Dly4xqlulvPD3fZUQJLY+FUIeqN3N2MM3uqe4rCJftAvOjFa3jFGfctOgluGx4ahPbUCsZkmJILiP0Vi4T6lQ== - xhr-request-promise@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" From b08cf973f887bd0736c47ca03125e8acba961fc1 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 22 Aug 2023 21:10:06 +0700 Subject: [PATCH 32/67] Remove network.routes.ts --- src/network/network.routes.ts | 123 ---------------------------------- 1 file changed, 123 deletions(-) delete mode 100644 src/network/network.routes.ts diff --git a/src/network/network.routes.ts b/src/network/network.routes.ts deleted file mode 100644 index b69c9234d4..0000000000 --- a/src/network/network.routes.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* eslint-disable @typescript-eslint/ban-types */ -import { NextFunction, Request, Response, Router } from 'express'; -import * as ethereumControllers from '../chains/ethereum/ethereum.controllers'; -// import * as xrplControllers from '../chains/xrpl/xrpl.controllers'; -import { Ethereumish } from '../services/common-interfaces'; -import { ConfigManagerV2 } from '../services/config-manager-v2'; -import { getInitializedChain } from '../services/connection-manager'; -import { asyncHandler } from '../services/error-handler'; -import { - mkRequestValidator, - RequestValidator, - validateTxHash, -} from '../services/validators'; -import { getStatus, getTokens } from './network.controllers'; -import { - BalanceRequest, - BalanceResponse, - PollRequest, - PollResponse, - StatusRequest, - StatusResponse, - TokensRequest, - TokensResponse, -} from './network.requests'; -import { - validateBalanceRequest as validateEthereumBalanceRequest, - validateChain as validateEthereumChain, - validateNetwork as validateEthereumNetwork, -} from '../chains/ethereum/ethereum.validators'; -// import { XRPLish } from '../chains/xrpl/xrpl'; -// import { -// validateXRPLBalanceRequest, -// validateXRPLPollRequest, -// } from '../chains/xrpl/xrpl.validators'; -// import { -// XRPLBalanceResponse, -// XRPLPollRequest, -// XRPLPollResponse, -// } from '../chains/xrpl/xrpl.requests'; - -export const validatePollRequest: RequestValidator = mkRequestValidator([ - validateTxHash, -]); - -export const validateTokensRequest: RequestValidator = mkRequestValidator([ - validateEthereumChain, - validateEthereumNetwork, -]); - -export namespace NetworkRoutes { - export const router = Router(); - - router.get( - '/status', - asyncHandler( - async ( - req: Request<{}, {}, {}, StatusRequest>, - res: Response - ) => { - res.status(200).json(await getStatus(req.query)); - } - ) - ); - - router.get('/config', (_req: Request, res: Response) => { - res.status(200).json(ConfigManagerV2.getInstance().allConfigurations); - }); - - router.post( - '/balances', - asyncHandler( - async ( - req: Request<{}, {}, BalanceRequest>, - res: Response, - _next: NextFunction - ) => { - validateEthereumBalanceRequest(req.body); - const chain = await getInitializedChain( - req.body.chain, - req.body.network - ); - - // TODO: Add get xrpl balances - - res - .status(200) - .json(await ethereumControllers.balances(chain, req.body)); - } - ) - ); - - router.post( - '/poll', - asyncHandler( - async ( - req: Request<{}, {}, PollRequest>, - res: Response - ) => { - validatePollRequest(req.body); - - const chain = await getInitializedChain( - req.body.chain, - req.body.network - ); - - res.status(200).json(await ethereumControllers.poll(chain, req.body)); - } - ) - ); - - router.get( - '/tokens', - asyncHandler( - async ( - req: Request<{}, {}, {}, TokensRequest>, - res: Response - ) => { - validateTokensRequest(req.query); - res.status(200).json(await getTokens(req.query)); - } - ) - ); -} From e4d7778131bd311020fac2bcf206e37ab58f4077 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 29 Aug 2023 16:56:02 +0700 Subject: [PATCH 33/67] Fix test errors on CI/CD --- src/chains/xrpl/xrpl.order-storage.ts | 4 + src/chains/xrpl/xrpl_tokens_small.json | 170 ------------------ .../lists}/xrpl_markets.json | 0 .../lists}/xrpl_markets_devnet.json | 0 .../lists}/xrpl_markets_testnet.json | 0 .../xrpl => templates/lists}/xrpl_tokens.json | 0 .../lists}/xrpl_tokens_devnet.json | 0 .../lists}/xrpl_tokens_testnet.json | 0 src/templates/xrpl.yml | 14 +- test/chains/xrpl/xrpl.routes.test.ts | 2 +- test/connectors/xrpl/xrpl.e2e.test.ts | 7 +- test/connectors/xrpl/xrpl.routes.test.ts | 5 +- 12 files changed, 18 insertions(+), 184 deletions(-) delete mode 100644 src/chains/xrpl/xrpl_tokens_small.json rename src/{chains/xrpl => templates/lists}/xrpl_markets.json (100%) rename src/{chains/xrpl => templates/lists}/xrpl_markets_devnet.json (100%) rename src/{chains/xrpl => templates/lists}/xrpl_markets_testnet.json (100%) rename src/{chains/xrpl => templates/lists}/xrpl_tokens.json (100%) rename src/{chains/xrpl => templates/lists}/xrpl_tokens_devnet.json (100%) rename src/{chains/xrpl => templates/lists}/xrpl_tokens_testnet.json (100%) diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts index 24f1765da2..d990c04429 100644 --- a/src/chains/xrpl/xrpl.order-storage.ts +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -16,6 +16,10 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { public async init(): Promise { try { + console.log( + '🪧 -> file: xrpl.order-storage.ts:20 -> XRPLOrderStorage -> init -> this.storageStatus();:', + this.storageStatus() + ); await this.localStorage.init(); } catch (error) { throw new Error('Failed to initialize local storage: ' + error); diff --git a/src/chains/xrpl/xrpl_tokens_small.json b/src/chains/xrpl/xrpl_tokens_small.json deleted file mode 100644 index 0ad91ad7ac..0000000000 --- a/src/chains/xrpl/xrpl_tokens_small.json +++ /dev/null @@ -1,170 +0,0 @@ -[ - { - "id": 0, - "code": "XRP", - "issuer": "", - "title": "XRP", - "trustlines": -1, - "placeInTop": 0 - }, - { - "id": 31, - "code": "SOLO", - "issuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", - "title": "Sologenic", - "trustlines": 288976, - "placeInTop": 1 - }, - { - "id": 16602, - "code": "CSC", - "issuer": "rCSCManTZ8ME9EoLrSHHYKW8PPwWMgkwr", - "title": "CasinoCoin", - "trustlines": 54154, - "placeInTop": 2 - }, - { - "id": 18190, - "code": "CORE", - "issuer": "rcoreNywaoz2ZCQ8Lg2EbSLnGuRBmun6D", - "title": "Coreum", - "trustlines": 65817, - "placeInTop": 3 - }, - { - "id": 248, - "code": "ELS", - "issuer": "rHXuEaRYnnJHbDeuBH5w8yPh5uwNVh5zAg", - "title": "Elysian", - "trustlines": 109452, - "placeInTop": 4 - }, - { - "id": 16605, - "code": "Equilibrium", - "issuer": "rpakCr61Q92abPXJnVboKENmpKssWyHpwu", - "title": "Equilibrium", - "trustlines": 34827, - "placeInTop": 5 - }, - { - "id": 17073, - "code": "BTC", - "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", - "title": "Bitstamp", - "trustlines": 18187, - "placeInTop": 6 - }, - { - "id": 16603, - "code": "USD", - "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", - "title": "Gatehub", - "trustlines": 110980, - "placeInTop": 7 - }, - { - "id": 17074, - "code": "USD", - "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B", - "title": "Bitstamp", - "trustlines": 26696, - "placeInTop": 8 - }, - { - "id": 16818, - "code": "XPUNK", - "issuer": "rHEL3bM4RFsvF8kbQj3cya8YiDvjoEmxLq", - "title": "XRPL PUNKS", - "trustlines": 12074, - "placeInTop": 9 - }, - { - "id": 103, - "code": "VGB", - "issuer": "rhcyBrowwApgNonehKBj8Po5z4gTyRknaU", - "title": "Vagabond VGB", - "trustlines": 56661, - "placeInTop": 10 - }, - { - "id": 182, - "code": "RPR", - "issuer": "r3qWgpz2ry3BhcRJ8JE6rxM8esrfhuKp4R", - "title": "The Reaper", - "trustlines": 24140, - "placeInTop": 11 - }, - { - "id": 18542, - "code": "xSPECTAR", - "issuer": "rh5jzTCdMRCVjQ7LT6zucjezC47KATkuvv", - "title": "xSPECTAR NFT", - "trustlines": 9868, - "placeInTop": 12 - }, - { - "id": 16826, - "code": "BAY", - "issuer": "r4uq8urnYrT6LnZaadPyusyKCS68HVJtRn", - "title": "Bored Apes XRP Club", - "trustlines": 8247, - "placeInTop": 13 - }, - { - "id": 17296, - "code": "OXP", - "issuer": "rrno7Nj4RkFJLzC4nRaZiLF5aHwcTVon3d", - "title": "onXRP", - "trustlines": 9851, - "placeInTop": 14 - }, - { - "id": 16726, - "code": "ADV", - "issuer": "rPneN8WPHZJaMT9pF4Ynyyq4pZZZSeTuHu", - "title": "AdvisorBid", - "trustlines": 10454, - "placeInTop": 15 - }, - { - "id": 17363, - "code": "xBIBLx", - "issuer": "rnH9o6qdym34K293Pq3FZp5Ko7SpZxEbeG", - "title": "Bibliomp", - "trustlines": 4441, - "placeInTop": 16 - }, - { - "id": 16600, - "code": "EUR", - "issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", - "title": "Gatehub", - "trustlines": 85461, - "placeInTop": 17 - }, - { - "id": 225, - "code": "XRdoge", - "issuer": "rLqUC2eCPohYvJCEBJ77eCCqVL2uEiczjA", - "title": "XRdoge Labs", - "trustlines": 26611, - "placeInTop": 18 - }, - { - "id": 99, - "code": "XDX", - "issuer": "rMJAXYsbNzhwp7FfYnAsYP5ty3R9XnurPo", - "title": "D.P.MonksFinance LTD", - "trustlines": 28866, - "placeInTop": 19 - }, - { - "id": 18469, - "code": "STX", - "issuer": "rSTAYKxF2K77ZLZ8GoAwTqPGaphAqMyXV", - "title": "StaykX", - "trustlines": 12098, - "placeInTop": 20 - } -] diff --git a/src/chains/xrpl/xrpl_markets.json b/src/templates/lists/xrpl_markets.json similarity index 100% rename from src/chains/xrpl/xrpl_markets.json rename to src/templates/lists/xrpl_markets.json diff --git a/src/chains/xrpl/xrpl_markets_devnet.json b/src/templates/lists/xrpl_markets_devnet.json similarity index 100% rename from src/chains/xrpl/xrpl_markets_devnet.json rename to src/templates/lists/xrpl_markets_devnet.json diff --git a/src/chains/xrpl/xrpl_markets_testnet.json b/src/templates/lists/xrpl_markets_testnet.json similarity index 100% rename from src/chains/xrpl/xrpl_markets_testnet.json rename to src/templates/lists/xrpl_markets_testnet.json diff --git a/src/chains/xrpl/xrpl_tokens.json b/src/templates/lists/xrpl_tokens.json similarity index 100% rename from src/chains/xrpl/xrpl_tokens.json rename to src/templates/lists/xrpl_tokens.json diff --git a/src/chains/xrpl/xrpl_tokens_devnet.json b/src/templates/lists/xrpl_tokens_devnet.json similarity index 100% rename from src/chains/xrpl/xrpl_tokens_devnet.json rename to src/templates/lists/xrpl_tokens_devnet.json diff --git a/src/chains/xrpl/xrpl_tokens_testnet.json b/src/templates/lists/xrpl_tokens_testnet.json similarity index 100% rename from src/chains/xrpl/xrpl_tokens_testnet.json rename to src/templates/lists/xrpl_tokens_testnet.json diff --git a/src/templates/xrpl.yml b/src/templates/xrpl.yml index a9cd319b78..11bfe42f2f 100644 --- a/src/templates/xrpl.yml +++ b/src/templates/xrpl.yml @@ -2,30 +2,30 @@ networks: mainnet: nodeURL: wss://xrplcluster.com/ tokenListType: "FILE" - tokenListSource: "src/chains/xrpl/xrpl_tokens.json" + tokenListSource: "/home/gateway/conf/lists/xrpl_tokens.json" marketListType: "FILE" - marketListSource: "src/chains/xrpl/xrpl_markets.json" + marketListSource: "/home/gateway/conf/lists/xrpl_markets.json" nativeCurrencySymbol: "XRP" testnet: nodeURL: wss://s.altnet.rippletest.net/ tokenListType: "FILE" - tokenListSource: "src/chains/xrpl/xrpl_tokens_testnet.json" + tokenListSource: "/home/gateway/conf/lists/xrpl_tokens_testnet.json" marketListType: "FILE" - marketListSource: "src/chains/xrpl/xrpl_markets_testnet.json" + marketListSource: "/home/gateway/conf/lists/xrpl_markets_testnet.json" nativeCurrencySymbol: "XRP" devnet: nodeURL: wss://s.devnet.rippletest.net/ tokenListType: "FILE" - tokenListSource: "src/chains/xrpl/xrpl_tokens_devnet.json" + tokenListSource: "/home/gateway/conf/lists/xrpl_tokens_devnet.json" marketListType: "FILE" - marketListSource: "src/chains/xrpl/xrpl_markets_devnet.json" + marketListSource: "/home/gateway/conf/lists/xrpl_markets_devnet.json" nativeCurrencySymbol: "XRP" network: "xrpl" requestTimeout: 2000 connectionTimeout: 2000 feeCushion: 1.2 maxFeeXRP: "2" -orderDbPath: "/db/xrpl.level" +orderDbPath: "db/xrpl.level" maxLRUCacheInstances: 10 retry: all: diff --git a/test/chains/xrpl/xrpl.routes.test.ts b/test/chains/xrpl/xrpl.routes.test.ts index 1acc4ad2db..53c70ded49 100644 --- a/test/chains/xrpl/xrpl.routes.test.ts +++ b/test/chains/xrpl/xrpl.routes.test.ts @@ -33,8 +33,8 @@ const patchDatabase = () => { beforeAll(async () => { xrplChain = XRPL.getInstance('testnet'); - await xrplChain.init(); patchDatabase(); + await xrplChain.init(); }); afterAll(async () => { diff --git a/test/connectors/xrpl/xrpl.e2e.test.ts b/test/connectors/xrpl/xrpl.e2e.test.ts index 74d07407f2..60d87dc21d 100644 --- a/test/connectors/xrpl/xrpl.e2e.test.ts +++ b/test/connectors/xrpl/xrpl.e2e.test.ts @@ -29,10 +29,13 @@ const patchWalletXRPL = () => { beforeAll(async () => { xrpl = XRPL.getInstance('testnet'); - await xrpl.init(); xrplCLOB = XRPLCLOB.getInstance('xrpl', 'testnet'); - await xrplCLOB.init(); patchWalletXRPL(); + await xrpl.init(); + await xrplCLOB.init(); + + // wait for 1 second to make sure the database is ready + await new Promise((resolve) => setTimeout(resolve, 1000)); }); beforeEach(() => { diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index 065013084b..07a806b3e5 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -286,15 +286,12 @@ const INVALID_REQUEST = { beforeAll(async () => { xrpl = XRPL.getInstance('testnet'); - patchConnect(); - // await xrpl.init(); xrplCLOB = XRPLCLOB.getInstance('xrpl', 'testnet'); - // await xrplCLOB.init(); + patchConnect(); }); // eslint-disable-next-line @typescript-eslint/no-empty-function beforeEach(() => { - patchConnect(); patchFee(); patchOrderTracking(); patchCurrentBlockNumber(); From 7b98601b675846b172ddb87dc76216aaa7aac2dc Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 29 Aug 2023 23:39:47 +0700 Subject: [PATCH 34/67] fix client not disconect on close --- src/chains/xrpl/xrpl.ts | 1 + src/templates/xrpl.yml | 4 ++-- test/connectors/xrpl/xrpl.routes.test.ts | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index c569d19786..de63335f22 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -471,6 +471,7 @@ export class XRPL implements XRPLish { if (this._network in XRPL._instances) { await OrderTracker.stopTrackingOnAllInstancesForNetwork(this._network); await this._orderStorage.close(this._refCountingHandle); + await this._client.disconnect(); delete XRPL._instances[this._network]; } } diff --git a/src/templates/xrpl.yml b/src/templates/xrpl.yml index 11bfe42f2f..f689206695 100644 --- a/src/templates/xrpl.yml +++ b/src/templates/xrpl.yml @@ -7,14 +7,14 @@ networks: marketListSource: "/home/gateway/conf/lists/xrpl_markets.json" nativeCurrencySymbol: "XRP" testnet: - nodeURL: wss://s.altnet.rippletest.net/ + nodeURL: wss://s.altnet.rippletest.net:51233/ tokenListType: "FILE" tokenListSource: "/home/gateway/conf/lists/xrpl_tokens_testnet.json" marketListType: "FILE" marketListSource: "/home/gateway/conf/lists/xrpl_markets_testnet.json" nativeCurrencySymbol: "XRP" devnet: - nodeURL: wss://s.devnet.rippletest.net/ + nodeURL: wss://s.devnet.rippletest.net:51233/ tokenListType: "FILE" tokenListSource: "/home/gateway/conf/lists/xrpl_tokens_devnet.json" marketListType: "FILE" diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index 07a806b3e5..650d646e5d 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -292,6 +292,7 @@ beforeAll(async () => { // eslint-disable-next-line @typescript-eslint/no-empty-function beforeEach(() => { + patchConnect(); patchFee(); patchOrderTracking(); patchCurrentBlockNumber(); From 2a8a778349b730811da03fb4bbd8656eb1cf6a45 Mon Sep 17 00:00:00 2001 From: mlguys Date: Wed, 30 Aug 2023 00:32:20 +0700 Subject: [PATCH 35/67] fix tests --- src/chains/chain.routes.ts | 8 ++++---- src/chains/xrpl/xrpl.controllers.ts | 2 +- src/chains/xrpl/xrpl.order-storage.ts | 4 ---- src/connectors/xrpl/xrpl.ts | 4 ---- test/chains/xrpl/xrpl.routes.test.ts | 6 +++--- test/connectors/xrpl/xrpl.routes.test.ts | 9 --------- 6 files changed, 8 insertions(+), 25 deletions(-) diff --git a/src/chains/chain.routes.ts b/src/chains/chain.routes.ts index f53128a5af..f1678958d0 100644 --- a/src/chains/chain.routes.ts +++ b/src/chains/chain.routes.ts @@ -121,14 +121,14 @@ export namespace ChainRoutes { '/tokens', asyncHandler( async ( - req: Request<{}, {}, TokensRequest>, + req: Request<{}, {}, {}, TokensRequest>, res: Response ) => { const chain = await getInitializedChain( - req.body.chain as string, - req.body.network as string + req.query.chain as string, + req.query.network as string ); - res.status(200).json(await getTokens(chain, req.body)); + res.status(200).json(await getTokens(chain, req.query)); } ) ); diff --git a/src/chains/xrpl/xrpl.controllers.ts b/src/chains/xrpl/xrpl.controllers.ts index c8d74956e3..f632484fbf 100644 --- a/src/chains/xrpl/xrpl.controllers.ts +++ b/src/chains/xrpl/xrpl.controllers.ts @@ -93,7 +93,7 @@ export class XRPLController { ): Promise<{ tokens: TokenInfo[] }> { validateXRPLGetTokenRequest(req); let xrpTokens: XRPTokenInfo[] = []; - if (req.tokenSymbols?.length === 0) { + if (!req.tokenSymbols) { xrpTokens = xrplish.storedTokenList; } else { for (const t of req.tokenSymbols as []) { diff --git a/src/chains/xrpl/xrpl.order-storage.ts b/src/chains/xrpl/xrpl.order-storage.ts index d990c04429..24f1765da2 100644 --- a/src/chains/xrpl/xrpl.order-storage.ts +++ b/src/chains/xrpl/xrpl.order-storage.ts @@ -16,10 +16,6 @@ export class XRPLOrderStorage extends ReferenceCountingCloseable { public async init(): Promise { try { - console.log( - '🪧 -> file: xrpl.order-storage.ts:20 -> XRPLOrderStorage -> init -> this.storageStatus();:', - this.storageStatus() - ); await this.localStorage.init(); } catch (error) { throw new Error('Failed to initialize local storage: ' + error); diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index 836b264ea3..f065ee75e4 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -146,10 +146,6 @@ export class XRPLCLOB implements CLOBish { } async getMarket(market: MarketInfo): Promise { - console.log( - '🪧 -> file: xrpl.ts:148 -> XRPLCLOB -> getMarket -> market:', - market - ); if (!market) throw new MarketNotFoundError(`No market informed.`); let baseTickSize, baseTransferRate, diff --git a/test/chains/xrpl/xrpl.routes.test.ts b/test/chains/xrpl/xrpl.routes.test.ts index 53c70ded49..2c6d827f0d 100644 --- a/test/chains/xrpl/xrpl.routes.test.ts +++ b/test/chains/xrpl/xrpl.routes.test.ts @@ -97,16 +97,16 @@ describe('GET /chain/tokens', () => { it('should return 200 with correct parameters', async () => { const res = await request(gatewayApp) .get('/chain/tokens') - .send({ + .query({ chain: 'xrpl', network: 'testnet', - tokenSymbols: ['XRP'], + tokenSymbols: ['XRP', 'SOLO'], }); expect(res.statusCode).toEqual(200); }); it('should get unknown error with invalid tokenSymbols', async () => { - const res = await request(gatewayApp).get('/chain/tokens').send({ + const res = await request(gatewayApp).get('/chain/tokens').query({ chain: 'xrpl', network: 'testnet', tokenSymbols: 123, diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index 650d646e5d..cbd6da15be 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -497,11 +497,6 @@ describe('GET /clob/ticker', () => { .expect('Content-Type', /json/) .expect(200) .expect((res) => { - console.log( - '🪧 -> file: xrpl.routes.test.ts:497 -> .expect -> res:', - res.body - ); - expect(res.body.markets[0].baseCurrency).toEqual('USD'); }) .expect((res) => expect(res.body.markets[0].quoteCurrency).toEqual('XRP')) @@ -534,10 +529,6 @@ describe('GET /clob/orders', () => { .expect('Content-Type', /json/) .expect(200) .expect((res) => { - console.log( - '🪧 -> file: xrpl.routes.test.ts:535 -> .expect -> res:', - res.body - ); expect(res.body.orders.length).toEqual(1); }); }); From ceec75f09d61744075224f7801b96566da13672d Mon Sep 17 00:00:00 2001 From: mlguys Date: Thu, 7 Sep 2023 20:29:51 +0700 Subject: [PATCH 36/67] remove swagger doc changes --- docs/swagger/definitions.yml | 65 +++++++++++++++++++++--------------- docs/swagger/xrpl-routes.yml | 65 ------------------------------------ 2 files changed, 39 insertions(+), 91 deletions(-) delete mode 100644 docs/swagger/xrpl-routes.yml diff --git a/docs/swagger/definitions.yml b/docs/swagger/definitions.yml index b48628b7e6..13ff7ed182 100644 --- a/docs/swagger/definitions.yml +++ b/docs/swagger/definitions.yml @@ -35,7 +35,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' NonceResponse: type: 'object' @@ -70,7 +70,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' AllowancesResponse: type: 'object' @@ -189,7 +189,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' ApproveResponse: type: 'object' @@ -243,7 +243,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' PollResponse: type: 'object' @@ -328,7 +328,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' PriceResponse: type: 'object' @@ -418,7 +418,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' connector: type: 'string' example: 'uniswap' @@ -496,7 +496,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' CancelResponse: type: 'object' @@ -518,19 +518,32 @@ definitions: type: 'string' example: '0xa321bbe8888c3bc88ecb1ad4f03f22a71e6f5715dfcb19e0a2dca9036c981b6d' # noqa: documentation - GetWalletRequest: + AddWalletRequest: type: 'object' required: - - 'chain' - - 'network' + - 'chainName' + - 'privateKey' properties: - chain: + chainName: type: 'string' example: 'ethereum' - network: + privateKey: type: 'string' - example: 'testnet' - + example: '6078d949c953351685fd2026646028f2a862e6148d25d504967ba63898d720c0' # noqa: documentation + + RemoveWalletRequest: + type: 'object' + required: + - 'chainName' + - 'address' + properties: + chainName: + type: 'string' + example: 'ethereum' + address: + type: 'string' + example: '0xd0A1E359811322d97991E03f863a0C30C2cF029C' + GetWalletResponse: type: 'object' required: @@ -626,7 +639,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' connector: type: 'string' example: 'uniswap' @@ -702,7 +715,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' connector: type: 'string' example: 'uniswapLP' @@ -722,7 +735,7 @@ definitions: properties: network: type: 'string' - example: 'kovan' + example: 'goerli' timestamp: type: 'integer' example: 1636368085740 @@ -768,7 +781,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' connector: type: 'string' example: 'uniswapLP' @@ -787,7 +800,7 @@ definitions: properties: network: type: 'string' - example: 'kovan' + example: 'goerli' timestamp: type: 'integer' example: 1636368085740 @@ -830,7 +843,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' connector: type: 'string' example: 'uniswapLP' @@ -849,7 +862,7 @@ definitions: properties: network: type: 'string' - example: 'kovan' + example: 'goerli' timestamp: type: 'integer' example: 1636368085740 @@ -884,7 +897,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' connector: type: 'string' example: 'uniswapLP' @@ -907,7 +920,7 @@ definitions: properties: network: type: 'string' - example: 'kovan' + example: 'goerli' timestamp: type: 'integer' example: 1636368085740 @@ -971,7 +984,7 @@ definitions: example: 'ethereum' network: type: 'string' - example: 'kovan' + example: 'goerli' connector: type: 'string' example: 'uniswapLP' @@ -989,7 +1002,7 @@ definitions: properties: network: type: 'string' - example: 'kovan' + example: 'goerli' timestamp: type: 'integer' example: 1636368085740 @@ -2090,4 +2103,4 @@ definitions: example: 0.5 txHash: type: 'string' - example: '0x...' + example: '0x...' \ No newline at end of file diff --git a/docs/swagger/xrpl-routes.yml b/docs/swagger/xrpl-routes.yml deleted file mode 100644 index 09222bb935..0000000000 --- a/docs/swagger/xrpl-routes.yml +++ /dev/null @@ -1,65 +0,0 @@ -paths: - /xrpl: - get: - tags: - - 'xrpl' - summary: 'View the XRPL network and RPC URL that gateway is configured to use' - description: 'The user can change this by editing src/chains/xrpl/xrpl.config.ts' - operationId: 'root' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - required: true - schema: - $ref: '#/definitions/XRPLConfigRequest' - responses: - '200': - description: 'XRPL config' - schema: - $ref: '#/definitions/XRPLConfigResponse' - - /xrpl/balances: - get: - tags: - - 'xrpl' - summary: 'Get the balances of an XRPL secret key' - operationId: 'balances' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - required: true - schema: - $ref: '#/definitions/XRPLBalancesRequest' - responses: - '200': - description: 'XRPL wallet balances' - schema: - $ref: '#/definitions/XRPLBalancesResponse' - - /xrpl/poll: - get: - tags: - - 'xrpl' - summary: 'Get transaction details from transaction hash' - operationId: 'poll' - consumes: - - 'application/json' - produces: - - 'application/json' - parameters: - - in: 'body' - name: 'body' - required: true - schema: - $ref: '#/definitions/XRPLPollRequest' - responses: - '200': - description: 'XRPL transaction details' - schema: - $ref: '#/definitions/XRPLPollResponse' From a1a1ef5a9a111d7956b9a6cde91bcd5a6765773b Mon Sep 17 00:00:00 2001 From: mlguys Date: Fri, 10 Nov 2023 23:40:49 +0700 Subject: [PATCH 37/67] fix UNKNOW state due to double offer cancel --- src/chains/xrpl/xrpl.order-tracker.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/chains/xrpl/xrpl.order-tracker.ts b/src/chains/xrpl/xrpl.order-tracker.ts index 7e3239cda6..61a2c2f3c8 100644 --- a/src/chains/xrpl/xrpl.order-tracker.ts +++ b/src/chains/xrpl/xrpl.order-tracker.ts @@ -819,7 +819,7 @@ export class OrderTracker { if (deleteNodeCount === 0) { intents.push({ - type: TransactionIntentType.UNKNOWN, + type: TransactionIntentType.OFFER_CANCEL_FINALIZED, sequence: transaction.transaction.OfferSequence, tx: transaction, }); From b84f8d703c70111ad4a1c95de379b837a8389b34 Mon Sep 17 00:00:00 2001 From: mlguys Date: Sat, 11 Nov 2023 11:01:58 +0700 Subject: [PATCH 38/67] update test --- test/chains/xrpl/xrpl.routes.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/chains/xrpl/xrpl.routes.test.ts b/test/chains/xrpl/xrpl.routes.test.ts index 2c6d827f0d..2dc46cce09 100644 --- a/test/chains/xrpl/xrpl.routes.test.ts +++ b/test/chains/xrpl/xrpl.routes.test.ts @@ -78,7 +78,7 @@ describe('POST /chain/poll', () => { chain: 'xrpl', network: 'testnet', txHash: - 'EF074CD8C98E639B3560200C5664029E4E7133D4803EF75F6991788E09E04CDB', // noqa: mock + 'A4A9E7C76ACA5527AC09A7540F263CA48FF40F5CFE04DD19B7173B05E3685077', // noqa: mock }); expect(res.statusCode).toEqual(200); }); From 6f6bd8f505ec671964b76b61f6ca0c9b44faa42b Mon Sep 17 00:00:00 2001 From: mlguys Date: Mon, 13 Nov 2023 19:50:44 +0700 Subject: [PATCH 39/67] update yarn --- yarn.lock | 507 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 308 insertions(+), 199 deletions(-) diff --git a/yarn.lock b/yarn.lock index 0628f1363f..ff58fc4637 100644 --- a/yarn.lock +++ b/yarn.lock @@ -852,137 +852,137 @@ "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-6024f5a3-4abc-4355-baca-a47ac7bfd18b-1699544273447/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-6024f5a3-4abc-4355-baca-a47ac7bfd18b-1699544273447/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-6024f5a3-4abc-4355-baca-a47ac7bfd18b-1699544273447/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-6024f5a3-4abc-4355-baca-a47ac7bfd18b-1699544273447/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-6024f5a3-4abc-4355-baca-a47ac7bfd18b-1699544273447/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-6024f5a3-4abc-4355-baca-a47ac7bfd18b-1699544273447/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-6024f5a3-4abc-4355-baca-a47ac7bfd18b-1699544273447/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-6024f5a3-4abc-4355-baca-a47ac7bfd18b-1699544273447/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-6024f5a3-4abc-4355-baca-a47ac7bfd18b-1699544273447/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-287c0d50-e686-4800-920b-152fa5ff8db6-1699634734483/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-287c0d50-e686-4800-920b-152fa5ff8db6-1699634734483/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-287c0d50-e686-4800-920b-152fa5ff8db6-1699634734483/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-287c0d50-e686-4800-920b-152fa5ff8db6-1699634734483/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-287c0d50-e686-4800-920b-152fa5ff8db6-1699634734483/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-287c0d50-e686-4800-920b-152fa5ff8db6-1699634734483/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-287c0d50-e686-4800-920b-152fa5ff8db6-1699634734483/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-287c0d50-e686-4800-920b-152fa5ff8db6-1699634734483/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-287c0d50-e686-4800-920b-152fa5ff8db6-1699634734483/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-1ad41686-4fd5-4795-926c-6421b898d298-1699544273445/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-1ad41686-4fd5-4795-926c-6421b898d298-1699544273445/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-1ad41686-4fd5-4795-926c-6421b898d298-1699544273445/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-1ad41686-4fd5-4795-926c-6421b898d298-1699544273445/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-1ad41686-4fd5-4795-926c-6421b898d298-1699544273445/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-1ad41686-4fd5-4795-926c-6421b898d298-1699544273445/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-1ad41686-4fd5-4795-926c-6421b898d298-1699544273445/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-92e3e4e9-3421-40a0-b31e-9cf6b7a379cd-1699634734482/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-92e3e4e9-3421-40a0-b31e-9cf6b7a379cd-1699634734482/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-92e3e4e9-3421-40a0-b31e-9cf6b7a379cd-1699634734482/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-92e3e4e9-3421-40a0-b31e-9cf6b7a379cd-1699634734482/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-92e3e4e9-3421-40a0-b31e-9cf6b7a379cd-1699634734482/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-92e3e4e9-3421-40a0-b31e-9cf6b7a379cd-1699634734482/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-92e3e4e9-3421-40a0-b31e-9cf6b7a379cd-1699634734482/node_modules/@ethersproject-xdc/web" "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-97ee1767-f83d-4ffd-8218-9fadfa989527-1699544273460/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-97ee1767-f83d-4ffd-8218-9fadfa989527-1699544273460/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-97ee1767-f83d-4ffd-8218-9fadfa989527-1699544273460/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-97ee1767-f83d-4ffd-8218-9fadfa989527-1699544273460/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-97ee1767-f83d-4ffd-8218-9fadfa989527-1699544273460/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-b9022cdf-c441-4815-890a-c5d86ec24270-1699634734493/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-b9022cdf-c441-4815-890a-c5d86ec24270-1699634734493/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-b9022cdf-c441-4815-890a-c5d86ec24270-1699634734493/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-b9022cdf-c441-4815-890a-c5d86ec24270-1699634734493/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-b9022cdf-c441-4815-890a-c5d86ec24270-1699634734493/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ab4a4ae2-080c-442f-90fe-ad26856dcba2-1699544273448/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ab4a4ae2-080c-442f-90fe-ad26856dcba2-1699544273448/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ab4a4ae2-080c-442f-90fe-ad26856dcba2-1699544273448/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ab4a4ae2-080c-442f-90fe-ad26856dcba2-1699544273448/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ab4a4ae2-080c-442f-90fe-ad26856dcba2-1699544273448/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-e6716448-8911-4f5e-a65d-65e3acfcd179-1699634734482/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-e6716448-8911-4f5e-a65d-65e3acfcd179-1699634734482/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-e6716448-8911-4f5e-a65d-65e3acfcd179-1699634734482/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-e6716448-8911-4f5e-a65d-65e3acfcd179-1699634734482/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-e6716448-8911-4f5e-a65d-65e3acfcd179-1699634734482/node_modules/@ethersproject-xdc/rlp" "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-3edb9e13-78d1-44a6-a4a4-b0902d040be8-1699544273461/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-4e3fb767-c10b-4a30-8b66-8e53e46401d4-1699634734482/node_modules/@ethersproject-xdc/bytes" "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-1cbdd2ae-8e29-45b4-916c-10c23b6f6633-1699544273456/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-1cbdd2ae-8e29-45b4-916c-10c23b6f6633-1699544273456/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-09a3bcd9-c23f-4413-bb28-eed63f88a9cc-1699634734483/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-09a3bcd9-c23f-4413-bb28-eed63f88a9cc-1699634734483/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-b01798d9-e09b-49f9-8495-74cfa2dbf802-1699544273448/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-b01798d9-e09b-49f9-8495-74cfa2dbf802-1699544273448/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-28268744-9acf-4da6-8f10-d9dec87c51c4-1699634734484/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-28268744-9acf-4da6-8f10-d9dec87c51c4-1699634734484/node_modules/@ethersproject-xdc/logger" bn.js "^5.2.1" "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-207e3a6d-14a2-46b9-852f-8aef97f5174d-1699544273449/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-ce017954-2869-49fd-bcec-dbcdbfaecf1d-1699634734483/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-c2d7c3df-0dd6-463b-9211-45fd3cf45c5d-1699544273450/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-41a840bb-9ea3-4d3f-8806-1e61d36e0bd4-1699634734484/node_modules/@ethersproject-xdc/bignumber" "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": version "5.6.0" dependencies: - "@ethersproject-xdc/abi" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-44fb8195-094f-436d-88d3-320713758986-1699544273450/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-62798fb4-3faa-4751-abee-660e3462b5c9-1699634734485/node_modules/@ethersproject-xdc/transactions" "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-f05bfe44-9693-4592-8e89-837c11da3276-1699544273453/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-f05bfe44-9693-4592-8e89-837c11da3276-1699544273453/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-f05bfe44-9693-4592-8e89-837c11da3276-1699544273453/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-f05bfe44-9693-4592-8e89-837c11da3276-1699544273453/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-f05bfe44-9693-4592-8e89-837c11da3276-1699544273453/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-f05bfe44-9693-4592-8e89-837c11da3276-1699544273453/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-f05bfe44-9693-4592-8e89-837c11da3276-1699544273453/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-f05bfe44-9693-4592-8e89-837c11da3276-1699544273453/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-f05bfe44-9693-4592-8e89-837c11da3276-1699544273453/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-77045ac3-1f59-4b84-9c07-4095c6736872-1699634734486/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-77045ac3-1f59-4b84-9c07-4095c6736872-1699634734486/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-77045ac3-1f59-4b84-9c07-4095c6736872-1699634734486/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-77045ac3-1f59-4b84-9c07-4095c6736872-1699634734486/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-77045ac3-1f59-4b84-9c07-4095c6736872-1699634734486/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-77045ac3-1f59-4b84-9c07-4095c6736872-1699634734486/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-77045ac3-1f59-4b84-9c07-4095c6736872-1699634734486/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-77045ac3-1f59-4b84-9c07-4095c6736872-1699634734486/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-77045ac3-1f59-4b84-9c07-4095c6736872-1699634734486/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f9bfc6ca-4234-4269-838e-07288ce5d698-1699544273451/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-715a8c42-da98-4c82-b9ea-26c30ef7e988-1699634734484/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-eac8a495-e58f-4d5f-9d9f-72ae58a0c671-1699544273452/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-1df4b504-3290-418d-8b4f-69bd934dbec3-1699634734487/node_modules/@ethersproject-xdc/transactions" aes-js "3.0.0" scrypt-js "3.0.1" "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-9f7c9c00-4882-47e7-af88-68002fea0312-1699544273454/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-2cdf78e6-6a14-4ee9-b747-18aa062a2b7f-1699634734485/node_modules/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -991,67 +991,67 @@ "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": version "5.7.1" dependencies: - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-c48b1620-44b0-4a44-b439-99411f1272da-1699544273455/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-0f0a16ba-62e4-449a-9f91-8df2a3ab6acb-1699634734486/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-5a026cfb-3828-4b64-97bd-950cfac1e2cc-1699544273455/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-5a026cfb-3828-4b64-97bd-950cfac1e2cc-1699544273455/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-56c0f784-4604-412c-9d85-e0dde7a3fdd6-1699634734486/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-56c0f784-4604-412c-9d85-e0dde7a3fdd6-1699634734486/node_modules/@ethersproject-xdc/sha2" "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-89d95167-4d85-4cfa-8843-190ca73c7f59-1699544273456/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-42c6e8d5-47b9-45f3-9dad-7d0ecd34501d-1699634734491/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": version "5.6.2" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-4b268051-4b7a-4f4c-a0fc-0301f3467e78-1699544273457/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-959f8d02-d8b6-4ff3-b2d9-ce154ac5bc9c-1699634734492/node_modules/@ethersproject-xdc/web" bech32 "1.1.4" ws "7.4.6" "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-7424bdb5-2e73-48f3-b490-905f21b24e45-1699544273458/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-7424bdb5-2e73-48f3-b490-905f21b24e45-1699544273458/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-ed14b7f0-b6c8-4fcd-8866-0a66cd5865c7-1699634734488/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-ed14b7f0-b6c8-4fcd-8866-0a66cd5865c7-1699634734488/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-93a5aa38-1443-454e-9d44-a19920f2b43d-1699544273460/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-93a5aa38-1443-454e-9d44-a19920f2b43d-1699544273460/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-ae62a9ab-e8f9-4238-8d42-551968b1ce05-1699634734487/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-ae62a9ab-e8f9-4238-8d42-551968b1ce05-1699634734487/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-04080786-9a93-4103-bd1b-64d6343596ac-1699544273458/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-04080786-9a93-4103-bd1b-64d6343596ac-1699544273458/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-a4d8940c-fe93-4b5e-998a-8695e64c0b76-1699634734487/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-a4d8940c-fe93-4b5e-998a-8695e64c0b76-1699634734487/node_modules/@ethersproject-xdc/logger" hash.js "1.1.7" "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-1a642aca-614e-460e-b055-7788ae2e7448-1699544273458/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-1a642aca-614e-460e-b055-7788ae2e7448-1699544273458/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-1a642aca-614e-460e-b055-7788ae2e7448-1699544273458/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-3c60aa4c-b33d-49f0-84db-6e6686665ddc-1699634734488/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-3c60aa4c-b33d-49f0-84db-6e6686665ddc-1699634734488/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-3c60aa4c-b33d-49f0-84db-6e6686665ddc-1699634734488/node_modules/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1059,76 +1059,76 @@ "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f125853a-9fd1-4f69-aea7-827d2f84dc83-1699544273459/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f125853a-9fd1-4f69-aea7-827d2f84dc83-1699544273459/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f125853a-9fd1-4f69-aea7-827d2f84dc83-1699544273459/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f125853a-9fd1-4f69-aea7-827d2f84dc83-1699544273459/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f125853a-9fd1-4f69-aea7-827d2f84dc83-1699544273459/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f125853a-9fd1-4f69-aea7-827d2f84dc83-1699544273459/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-896ca8ac-16c6-480a-91f7-48df2d131d5b-1699634734491/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-896ca8ac-16c6-480a-91f7-48df2d131d5b-1699634734491/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-896ca8ac-16c6-480a-91f7-48df2d131d5b-1699634734491/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-896ca8ac-16c6-480a-91f7-48df2d131d5b-1699634734491/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-896ca8ac-16c6-480a-91f7-48df2d131d5b-1699634734491/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-896ca8ac-16c6-480a-91f7-48df2d131d5b-1699634734491/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-4229a395-6e0d-4f43-8b05-3c70686b0fea-1699544273459/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-4229a395-6e0d-4f43-8b05-3c70686b0fea-1699544273459/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-4229a395-6e0d-4f43-8b05-3c70686b0fea-1699544273459/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-3e4e37ca-7151-4f71-af90-693c3837df68-1699634734493/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-3e4e37ca-7151-4f71-af90-693c3837df68-1699634734493/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-3e4e37ca-7151-4f71-af90-693c3837df68-1699634734493/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-9d64ec01-3a66-4485-9528-3eafba97c901-1699544273484/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-9d64ec01-3a66-4485-9528-3eafba97c901-1699544273484/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-9d64ec01-3a66-4485-9528-3eafba97c901-1699544273484/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-9d64ec01-3a66-4485-9528-3eafba97c901-1699544273484/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-9d64ec01-3a66-4485-9528-3eafba97c901-1699544273484/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-9d64ec01-3a66-4485-9528-3eafba97c901-1699544273484/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-9d64ec01-3a66-4485-9528-3eafba97c901-1699544273484/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-9d64ec01-3a66-4485-9528-3eafba97c901-1699544273484/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-9d64ec01-3a66-4485-9528-3eafba97c901-1699544273484/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-d564341d-9fae-457e-9585-66b8e92484d0-1699634734491/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-d564341d-9fae-457e-9585-66b8e92484d0-1699634734491/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-d564341d-9fae-457e-9585-66b8e92484d0-1699634734491/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-d564341d-9fae-457e-9585-66b8e92484d0-1699634734491/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-d564341d-9fae-457e-9585-66b8e92484d0-1699634734491/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-d564341d-9fae-457e-9585-66b8e92484d0-1699634734491/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-d564341d-9fae-457e-9585-66b8e92484d0-1699634734491/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-d564341d-9fae-457e-9585-66b8e92484d0-1699634734491/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-d564341d-9fae-457e-9585-66b8e92484d0-1699634734491/node_modules/@ethersproject-xdc/signing-key" "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-ab57d87f-807a-49ea-88ee-83dbea457287-1699544273460/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-ab57d87f-807a-49ea-88ee-83dbea457287-1699544273460/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-ab57d87f-807a-49ea-88ee-83dbea457287-1699544273460/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-05c7f203-75b5-4112-aa4d-447f2440f983-1699634734491/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-05c7f203-75b5-4112-aa4d-447f2440f983-1699634734491/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-05c7f203-75b5-4112-aa4d-447f2440f983-1699634734491/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-7c3313db-ea38-40c5-b50a-2df1438986cf-1699544273469/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-04f8d38c-9f2e-4fe7-82c0-b07f8b350d9d-1699634734493/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": version "5.7.1" dependencies: - "@ethersproject-xdc/base64" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-0482b02a-dd1f-4617-aea3-5edfed9bd0a9-1699544273462/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-0482b02a-dd1f-4617-aea3-5edfed9bd0a9-1699544273462/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-0482b02a-dd1f-4617-aea3-5edfed9bd0a9-1699544273462/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-0482b02a-dd1f-4617-aea3-5edfed9bd0a9-1699544273462/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-0482b02a-dd1f-4617-aea3-5edfed9bd0a9-1699544273462/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-d876a610-ed36-4716-b8fe-49ddd2cbe0e3-1699634734492/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-d876a610-ed36-4716-b8fe-49ddd2cbe0e3-1699634734492/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-d876a610-ed36-4716-b8fe-49ddd2cbe0e3-1699634734492/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-d876a610-ed36-4716-b8fe-49ddd2cbe0e3-1699634734492/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-d876a610-ed36-4716-b8fe-49ddd2cbe0e3-1699634734492/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-fc750c66-4553-4357-8d7b-b2166642ef5f-1699544273461/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-fc750c66-4553-4357-8d7b-b2166642ef5f-1699544273461/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-fc750c66-4553-4357-8d7b-b2166642ef5f-1699544273461/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-fc750c66-4553-4357-8d7b-b2166642ef5f-1699544273461/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-fc750c66-4553-4357-8d7b-b2166642ef5f-1699544273461/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-d4cc8dd3-704f-4755-9d16-05dbac42642d-1699634734495/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-d4cc8dd3-704f-4755-9d16-05dbac42642d-1699634734495/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-d4cc8dd3-704f-4755-9d16-05dbac42642d-1699634734495/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-d4cc8dd3-704f-4755-9d16-05dbac42642d-1699634734495/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-d4cc8dd3-704f-4755-9d16-05dbac42642d-1699634734495/node_modules/@ethersproject-xdc/strings" "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -3728,6 +3728,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== +"@types/node@10.12.18": + version "10.12.18" + resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" + integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== + "@types/node@11.11.6": version "11.11.6" resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" @@ -4700,6 +4705,17 @@ assert-plus@1.0.0, assert-plus@^1.0.0: resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== +assert@^2.0.0: + version "2.1.0" + resolved "https://registry.yarnpkg.com/assert/-/assert-2.1.0.tgz#6d92a238d05dc02e7427c881fb8be81c8448b2dd" + integrity sha512-eLHpSK/Y4nhMJ07gDaAzoX/XAKS8PSaojml3M0DM4JpV1LAi5JOJ/p6H/XWrl8L+DzVEvVCW1z3vWAaB9oTsQw== + dependencies: + call-bind "^1.0.2" + is-nan "^1.3.2" + object-is "^1.1.5" + object.assign "^4.1.4" + util "^0.12.5" + assign-symbols@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" @@ -4878,7 +4894,7 @@ balanced-match@^1.0.0: resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== -base-x@^3.0.2, base-x@^3.0.6, base-x@^3.0.8: +base-x@^3.0.2, base-x@^3.0.6, base-x@^3.0.8, base-x@^3.0.9: version "3.0.9" resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== @@ -4932,6 +4948,11 @@ bech32@^2.0.0: resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== +big-integer@^1.6.48: + version "1.6.51" + resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" + integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== + big.js@6.1.1: version "6.1.1" resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.1.1.tgz#63b35b19dc9775c94991ee5db7694880655d5537" @@ -4983,6 +5004,19 @@ bindings@^1.3.0, bindings@^1.3.1, bindings@^1.5.0: dependencies: file-uri-to-path "1.0.0" +bip32@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" + integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== + dependencies: + "@types/node" "10.12.18" + bs58check "^2.1.1" + create-hash "^1.2.0" + create-hmac "^1.1.7" + tiny-secp256k1 "^1.1.3" + typeforce "^1.11.5" + wif "^2.0.6" + bip39@3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.0.4.tgz#5b11fed966840b5e1b8539f0f54ab6392969b2a0" @@ -5153,7 +5187,7 @@ braces@^3.0.2, braces@~3.0.2: dependencies: fill-range "^7.0.1" -brorand@^1.0.1, brorand@^1.1.0: +brorand@^1.0.1, brorand@^1.0.5, brorand@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== @@ -5261,7 +5295,7 @@ bs58@^4.0.0, bs58@^4.0.1: dependencies: base-x "^3.0.2" -bs58check@^2.1.2: +bs58check@<3.0.0, bs58check@^2.1.1, bs58check@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== @@ -5323,6 +5357,14 @@ buffer@6.0.1: base64-js "^1.3.1" ieee754 "^1.2.1" +buffer@6.0.3, buffer@^6.0.3, buffer@~6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -5331,14 +5373,6 @@ buffer@^5.0.5, buffer@^5.2.1, buffer@^5.5.0, buffer@^5.6.0: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@^6.0.3, buffer@~6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - bufferutil@4.0.5: version "4.0.5" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" @@ -6136,7 +6170,7 @@ decimal.js-light@^2.5.0, decimal.js-light@^2.5.1: resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== -decimal.js@^10.2.1, decimal.js@^10.3.1, decimal.js@^10.4.3: +decimal.js@^10.2.0, decimal.js@^10.4.3: version "10.4.3" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== @@ -7087,36 +7121,36 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: "ethers-xdc@file:./vendor/ethers-xdc": version "5.7.2" dependencies: - "@ethersproject-xdc/abi" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ce429709-1187-444e-814a-9d6b5ba0a9c2-1699544273425/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-4772872e-6532-4c2d-a2e3-c5d7db383f9b-1699634734469/node_modules/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" @@ -8837,6 +8871,14 @@ is-lower-case@^1.1.0: dependencies: lower-case "^1.1.0" +is-nan@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" + integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== + dependencies: + call-bind "^1.0.0" + define-properties "^1.1.3" + is-natural-number@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" @@ -10169,7 +10211,7 @@ lodash.values@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" integrity sha512-r0RwvdCv8id9TUblb/O7rYPwVy6lerCbcawrfdo9iC/1t1wsNMJknO79WNBgwkH0hIeJ08jmvvESbFpNb4jH0Q== -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.2.1, lodash@^4.7.0: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -10838,10 +10880,10 @@ nan@2.14.0: resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== -nan@^2.14.0: - version "2.17.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== +nan@^2.13.2: + version "2.18.0" + resolved "https://registry.yarnpkg.com/nan/-/nan-2.18.0.tgz#26a6faae7ffbeb293a39660e88a76b82e30b7554" + integrity sha512-W7tfG7vMOGtD30sHoZSSc/JVYiyDPEyQVso/Zz+/uQd0B0L46gtC+pHha5FFMRpil6fm/AoEcRWyOVi4+E/f8w== nan@^2.14.0: version "2.16.0" @@ -11141,6 +11183,14 @@ object-inspect@^1.12.3, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== +object-is@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" + integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -12429,6 +12479,37 @@ ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: hash-base "^3.0.0" inherits "^2.0.1" +ripple-address-codec@^4.2.5, ripple-address-codec@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.3.1.tgz#68fbaf646bb8567f70743af7f1ce4479f73efbf6" + integrity sha512-Qa3+9wKVvpL/xYtT6+wANsn0A1QcC5CT6IMZbRJZ/1lGt7gmwIfsrCuz1X0+LCEO7zgb+3UT1I1dc0k/5dwKQQ== + dependencies: + base-x "^3.0.9" + create-hash "^1.1.2" + +ripple-binary-codec@^1.4.3: + version "1.10.0" + resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.10.0.tgz#549f7fb3d3faf6b2d09fe7032bdcc4e6f8b5a511" + integrity sha512-qWXxubgXBV3h5NTaaLiusZ1FhPqSy+bCYHHarfZ3bMmO2alRa1Ox61jvX1Zyozok8PcF3gs3bKwZci4RTlA07w== + dependencies: + assert "^2.0.0" + big-integer "^1.6.48" + buffer "6.0.3" + create-hash "^1.2.0" + decimal.js "^10.2.0" + ripple-address-codec "^4.3.1" + +ripple-keypairs@^1.1.5: + version "1.3.1" + resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.3.1.tgz#7fa531df36b138134afb53555a87d7f5eb465b2e" + integrity sha512-dmPlraWKJciFJxHcoubDahGnoIalG5e/BtV6HNDUs7wLXmtnLMHt6w4ed9R8MTL2zNrVPiIdI/HCtMMo0Tm7JQ== + dependencies: + bn.js "^5.1.1" + brorand "^1.0.5" + elliptic "^6.5.4" + hash.js "^1.0.3" + ripple-address-codec "^4.3.1" + rlp@^2.2.3, rlp@^2.2.4: version "2.2.7" resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" @@ -13506,6 +13587,17 @@ tiny-invariant@^1.1.0: resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== +tiny-secp256k1@^1.1.3: + version "1.1.6" + resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz#7e224d2bee8ab8283f284e40e6b4acb74ffe047c" + integrity sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA== + dependencies: + bindings "^1.3.0" + bn.js "^4.11.8" + create-hmac "^1.1.7" + elliptic "^6.4.0" + nan "^2.13.2" + tiny-typed-emitter@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz#b3b027fdd389ff81a152c8e847ee2f5be9fad7b5" @@ -13857,6 +13949,11 @@ typedarray-to-buffer@^4.0.0: resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-4.0.0.tgz#cdd2933c61dd3f5f02eda5d012d441f95bfeb50a" integrity sha512-6dOYeZfS3O9RtRD1caom0sMxgK59b27+IwoNy8RDPsmslSGOyU+mpTamlaIW7aNKi90ZQZ9DFaZL3YRoiSCULQ== +typeforce@^1.11.5: + version "1.18.0" + resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" + integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== + typescript-compare@^0.0.2: version "0.0.2" resolved "https://registry.yarnpkg.com/typescript-compare/-/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425" @@ -14779,6 +14876,13 @@ which@^2.0.1: dependencies: isexe "^2.0.0" +wif@^2.0.6: + version "2.0.6" + resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" + integrity sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ== + dependencies: + bs58check "<3.0.0" + winston-daily-rotate-file@^4.5.5: version "4.7.1" resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-4.7.1.tgz#f60a643af87f8867f23170d8cd87dbe3603a625f" @@ -14888,6 +14992,11 @@ ws@^7, ws@^7.2.0, ws@^7.4.5, ws@^7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== +ws@^8.2.2: + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== + ws@^8.5.0: version "8.13.0" resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" From dbf6839f1ef26f87ddc3e56f8bdd91f023e61de1 Mon Sep 17 00:00:00 2001 From: vic-en Date: Sun, 26 Nov 2023 06:56:01 -0600 Subject: [PATCH 40/67] Add pancake v3 --- package.json | 4 + .../binance-smart-chain.ts | 4 + src/connectors/connectors.routes.ts | 9 +- .../pancakeswap/pancakeswap.config.ts | 37 +- .../pancakeswap/pancakeswap.lp.helper.ts | 432 ++++++++++++++ .../pancakeswap/pancakeswap.lp.interfaces.ts | 52 ++ src/connectors/pancakeswap/pancakeswap.lp.ts | 261 +++++++++ src/connectors/uniswap/uniswap.controllers.ts | 9 +- src/connectors/uniswap/uniswap.lp.helper.ts | 5 +- src/connectors/uniswap/uniswap.lp.ts | 5 +- src/services/common-interfaces.ts | 4 +- src/services/connection-manager.ts | 3 + src/services/schema/pancakeswap-schema.json | 43 ++ src/templates/pancakeswap.yml | 26 +- src/templates/root.yml | 2 +- yarn.lock | 552 ++++++++++++------ 16 files changed, 1240 insertions(+), 208 deletions(-) create mode 100644 src/connectors/pancakeswap/pancakeswap.lp.helper.ts create mode 100644 src/connectors/pancakeswap/pancakeswap.lp.interfaces.ts create mode 100644 src/connectors/pancakeswap/pancakeswap.lp.ts create mode 100644 src/services/schema/pancakeswap-schema.json diff --git a/package.json b/package.json index 31254d69eb..e061491b28 100644 --- a/package.json +++ b/package.json @@ -37,6 +37,10 @@ "@harmony-js/utils": "^0.1.56", "@improbable-eng/grpc-web": "^0.13.0", "@pancakeswap/sdk": "^2.4.5", + "@pancakeswap/swap-sdk-core": "^1.0.0", + "@pancakeswap/v3-core": "^1.0.2", + "@pancakeswap/v3-periphery": "^1.0.2", + "@pancakeswap/v3-sdk": "^3.7.0", "@pangolindex/sdk": "^1.1.0", "@perp/sdk-curie": "^1.16.0", "@sushiswap/sdk": "^5.0.0-canary.116", diff --git a/src/chains/binance-smart-chain/binance-smart-chain.ts b/src/chains/binance-smart-chain/binance-smart-chain.ts index e04dbbe313..2cbe94c2c1 100644 --- a/src/chains/binance-smart-chain/binance-smart-chain.ts +++ b/src/chains/binance-smart-chain/binance-smart-chain.ts @@ -99,6 +99,10 @@ export class BinanceSmartChain extends EthereumBase implements Ethereumish { let spender: string; if (reqSpender === 'pancakeswap') { spender = PancakeSwapConfig.config.routerAddress(this._chain); + } else if (reqSpender === 'pancakeswapLP') { + spender = PancakeSwapConfig.config.pancakeswapV3NftManagerAddress( + this._chain + ); } else if (reqSpender === 'sushiswap') { spender = SushiswapConfig.config.sushiswapRouterAddress( 'binance-smart-chain', diff --git a/src/connectors/connectors.routes.ts b/src/connectors/connectors.routes.ts index ad4d13c9de..5ef4988111 100644 --- a/src/connectors/connectors.routes.ts +++ b/src/connectors/connectors.routes.ts @@ -100,10 +100,17 @@ export namespace ConnectorsRoutes { }, { name: 'pancakeswap', - trading_type: PancakeSwapConfig.config.tradingTypes, + trading_type: PancakeSwapConfig.config.tradingTypes('swap'), chain_type: PancakeSwapConfig.config.chainType, available_networks: PancakeSwapConfig.config.availableNetworks, }, + { + name: 'pancakeswapLP', + trading_type: PancakeSwapConfig.config.tradingTypes('LP'), + chain_type: PancakeSwapConfig.config.chainType, + available_networks: PancakeSwapConfig.config.availableNetworks, + additional_spenders: ['pancakeswap'], + }, { name: 'xswap', trading_type: XsswapConfig.config.tradingTypes, diff --git a/src/connectors/pancakeswap/pancakeswap.config.ts b/src/connectors/pancakeswap/pancakeswap.config.ts index baa01e62b1..68102901d7 100644 --- a/src/connectors/pancakeswap/pancakeswap.config.ts +++ b/src/connectors/pancakeswap/pancakeswap.config.ts @@ -1,10 +1,43 @@ -import { buildConfig, NetworkConfig } from '../../network/network.utils'; +import { + buildConfig, + NetworkConfig as V2NetworkConfig, +} from '../../network/network.utils'; +import { ConfigManagerV2 } from '../../services/config-manager-v2'; export namespace PancakeSwapConfig { - export const config: NetworkConfig = buildConfig( + export interface NetworkConfig extends Omit { + maximumHops: number; + pancakeswapV3SmartOrderRouterAddress: (network: string) => string; + pancakeswapV3NftManagerAddress: (network: string) => string; + tradingTypes: (type: string) => Array; + useRouter?: boolean; + feeTier?: string; + } + + export const v2Config: V2NetworkConfig = buildConfig( 'pancakeswap', ['AMM'], [{ chain: 'binance-smart-chain', networks: ['mainnet', 'testnet'] }], 'EVM' ); + + export const config: NetworkConfig = { + ...v2Config, + ...{ + maximumHops: ConfigManagerV2.getInstance().get(`pancakeswap.maximumHops`), + pancakeswapV3SmartOrderRouterAddress: (network: string) => + ConfigManagerV2.getInstance().get( + `pancakeswap.contractAddresses.${network}.pancakeswapV3SmartOrderRouterAddress` + ), + pancakeswapV3NftManagerAddress: (network: string) => + ConfigManagerV2.getInstance().get( + `pancakeswap.contractAddresses.${network}.pancakeswapV3NftManagerAddress` + ), + tradingTypes: (type: string) => { + return type === 'swap' ? ['AMM'] : ['AMM_LP']; + }, + useRouter: ConfigManagerV2.getInstance().get(`pancakeswap.useRouter`), + feeTier: ConfigManagerV2.getInstance().get(`pancakeswap.feeTier`), + }, + }; } diff --git a/src/connectors/pancakeswap/pancakeswap.lp.helper.ts b/src/connectors/pancakeswap/pancakeswap.lp.helper.ts new file mode 100644 index 0000000000..76953de53a --- /dev/null +++ b/src/connectors/pancakeswap/pancakeswap.lp.helper.ts @@ -0,0 +1,432 @@ +import { + InitializationError, + SERVICE_UNITIALIZED_ERROR_CODE, + SERVICE_UNITIALIZED_ERROR_MESSAGE, +} from '../../services/error-handler'; +import { PancakeSwapConfig } from './pancakeswap.config'; +import { Contract, ContractInterface } from '@ethersproject/contracts'; +import { + Token, + Price, + CurrencyAmount, + Percent, +} from '@pancakeswap/swap-sdk-core'; +import * as v3 from '@pancakeswap/v3-sdk'; +import { AlphaRouter } from '@uniswap/smart-order-router'; +import { providers, Wallet, Signer, utils } from 'ethers'; +import { percentRegexp } from '../../services/config-manager-v2'; +import { + PoolState, + RawPosition, + AddPosReturn, +} from './pancakeswap.lp.interfaces'; +import * as math from 'mathjs'; +import { getAddress } from 'ethers/lib/utils'; +import { RemoveLiquidityOptions } from '@pancakeswap/v3-sdk'; +import { BinanceSmartChain } from '../../chains/binance-smart-chain/binance-smart-chain'; + +export class PancakeswapLPHelper { + protected chain: BinanceSmartChain; + protected chainId; + private _router: string; + private _nftManager: string; + private _ttl: number; + private _routerAbi: ContractInterface; + private _nftAbi: ContractInterface; + private _poolAbi: ContractInterface; + private _alphaRouter: AlphaRouter | undefined; + private tokenList: Record = {}; + private _chainName: string; + private _ready: boolean = false; + public abiDecoder: any; + + constructor(chain: string, network: string) { + this.chain = BinanceSmartChain.getInstance(network); + this._chainName = chain; + this.chainId = this.chain.chainId; + // this._alphaRouter = new AlphaRouter({ + // chainId: this.chainId, + // provider: this.chain.provider, + // }); + this._alphaRouter = undefined; + this._router = + PancakeSwapConfig.config.pancakeswapV3SmartOrderRouterAddress(network); + this._nftManager = + PancakeSwapConfig.config.pancakeswapV3NftManagerAddress(network); + this._ttl = PancakeSwapConfig.config.ttl; + this._routerAbi = + require('@pancakeswap/v3-periphery/artifacts/contracts/SwapRouter.sol/SwapRouter.json').abi; + this._nftAbi = + require('@pancakeswap/v3-periphery/artifacts/contracts/NonfungiblePositionManager.sol/NonfungiblePositionManager.json').abi; + this._poolAbi = + require('@pancakeswap/v3-core/artifacts/contracts/interfaces/IPancakeV3Pool.sol/IPancakeV3Pool.json').abi; + this.abiDecoder = require('abi-decoder'); + this.abiDecoder.addABI(this._nftAbi); + this.abiDecoder.addABI(this._routerAbi); + } + + public ready(): boolean { + return this._ready; + } + + public get alphaRouter(): AlphaRouter | undefined { + return this._alphaRouter; + } + + public get router(): string { + return this._router; + } + + public get nftManager(): string { + return this._nftManager; + } + + public get ttl(): number { + return parseInt(String(Date.now() / 1000)) + this._ttl; + } + + public get routerAbi(): ContractInterface { + return this._routerAbi; + } + + public get nftAbi(): ContractInterface { + return this._nftAbi; + } + + public get poolAbi(): ContractInterface { + return this._poolAbi; + } + + /** + * Given a token's address, return the connector's native representation of + * the token. + * + * @param address Token address + */ + public getTokenByAddress(address: string): Token { + return this.tokenList[getAddress(address)]; + } + + public async init() { + if (this._chainName == 'binance-smart-chain' && !this.chain.ready()) + throw new InitializationError( + SERVICE_UNITIALIZED_ERROR_MESSAGE('ETH'), + SERVICE_UNITIALIZED_ERROR_CODE + ); + for (const token of this.chain.storedTokenList) { + this.tokenList[token.address] = new Token( + this.chainId, + token.address, + token.decimals, + token.symbol, + token.name + ); + } + this._ready = true; + } + + getPercentage(rawPercent: number | string): Percent { + const slippage = math.fraction(rawPercent) as math.Fraction; + return new Percent(slippage.n, slippage.d * 100); + } + + getSlippagePercentage(): Percent { + const allowedSlippage = PancakeSwapConfig.config.allowedSlippage; + const nd = allowedSlippage.match(percentRegexp); + if (nd) return new Percent(nd[1], nd[2]); + throw new Error( + 'Encountered a malformed percent string in the config for ALLOWED_SLIPPAGE.' + ); + } + + getContract( + contract: string, + signer: providers.StaticJsonRpcProvider | Signer + ): Contract { + if (contract === 'router') { + return new Contract(this.router, this.routerAbi, signer); + } else { + return new Contract(this.nftManager, this.nftAbi, signer); + } + } + + getPoolContract( + pool: string, + wallet: providers.StaticJsonRpcProvider | Signer + ): Contract { + return new Contract(pool, this.poolAbi, wallet); + } + + async getPoolState( + poolAddress: string, + fee: v3.FeeAmount + ): Promise { + const poolContract = this.getPoolContract(poolAddress, this.chain.provider); + const minTick = v3.nearestUsableTick( + v3.TickMath.MIN_TICK, + v3.TICK_SPACINGS[fee] + ); + const maxTick = v3.nearestUsableTick( + v3.TickMath.MAX_TICK, + v3.TICK_SPACINGS[fee] + ); + const poolDataReq = await Promise.allSettled([ + poolContract.liquidity(), + poolContract.slot0(), + poolContract.ticks(minTick), + poolContract.ticks(maxTick), + ]); + + const rejected = poolDataReq.filter( + (r) => r.status === 'rejected' + ) as PromiseRejectedResult[]; + + if (rejected.length > 0) throw new Error('Unable to fetch pool state'); + + const poolData = ( + poolDataReq.filter( + (r) => r.status === 'fulfilled' + ) as PromiseFulfilledResult[] + ).map((r) => r.value); + + return { + liquidity: poolData[0], + sqrtPriceX96: poolData[1][0], + tick: poolData[1][1], + observationIndex: poolData[1][2], + observationCardinality: poolData[1][3], + observationCardinalityNext: poolData[1][4], + feeProtocol: poolData[1][5], + unlocked: poolData[1][6], + fee: fee, + tickProvider: [ + { + index: minTick, + liquidityNet: poolData[2][1], + liquidityGross: poolData[2][0], + }, + { + index: maxTick, + liquidityNet: poolData[3][1], + liquidityGross: poolData[3][0], + }, + ], + }; + } + + async poolPrice( + token0: Token, + token1: Token, + tier: string, + period: number = 1, + interval: number = 1 + ): Promise { + const fetchPriceTime = []; + const prices = []; + const fee = v3.FeeAmount[tier as keyof typeof v3.FeeAmount]; + const poolContract = new Contract( + v3.Pool.getAddress(token0, token1, fee), + this.poolAbi, + this.chain.provider + ); + for ( + let x = Math.ceil(period / interval) * interval; + x >= 0; + x -= interval + ) { + fetchPriceTime.push(x); + } + try { + const response = await poolContract.observe(fetchPriceTime); + for (let twap = 0; twap < response.tickCumulatives.length - 1; twap++) { + prices.push( + v3 + .tickToPrice( + token0, + token1, + Math.ceil( + response.tickCumulatives[twap + 1].sub( + response.tickCumulatives[twap].toNumber() + ) / interval + ) + ) + .toFixed(8) + ); + } + } catch (e) { + return ['0']; + } + return prices; + } + + async getRawPosition(wallet: Wallet, tokenId: number): Promise { + const contract = this.getContract('nft', wallet); + const requests = [contract.positions(tokenId)]; + const positionInfoReq = await Promise.allSettled(requests); + const rejected = positionInfoReq.filter( + (r) => r.status === 'rejected' + ) as PromiseRejectedResult[]; + if (rejected.length > 0) throw new Error('Unable to fetch position'); + const positionInfo = ( + positionInfoReq.filter( + (r) => r.status === 'fulfilled' + ) as PromiseFulfilledResult[] + ).map((r) => r.value); + return positionInfo[0]; + } + + getReduceLiquidityData( + percent: number, + tokenId: number, + token0: Token, + token1: Token, + wallet: Wallet + ): RemoveLiquidityOptions { + // }; // recipient: string; // expectedCurrencyOwed1: CurrencyAmount; // expectedCurrencyOwed0: CurrencyAmount; // collectOptions: { // burnToken: boolean; // deadline: number; // slippageTolerance: Percent; // liquidityPercentage: Percent; // tokenId: number; // { + return { + tokenId: tokenId, + liquidityPercentage: this.getPercentage(percent), + slippageTolerance: this.getSlippagePercentage(), + deadline: this.ttl, + burnToken: false, + collectOptions: { + expectedCurrencyOwed0: CurrencyAmount.fromRawAmount(token0, '0'), + expectedCurrencyOwed1: CurrencyAmount.fromRawAmount(token1, '0'), + recipient: <`0x${string}`>wallet.address, + }, + }; + } + + async addPositionHelper( + wallet: Wallet, + token0: Token, + token1: Token, + amount0: string, + amount1: string, + fee: v3.FeeAmount, + lowerPrice: number, + upperPrice: number, + tokenId: number = 0 + ): Promise { + if (token1.sortsBefore(token0)) { + [token0, token1] = [token1, token0]; + [amount0, amount1] = [amount1, amount0]; + [lowerPrice, upperPrice] = [1 / upperPrice, 1 / lowerPrice]; + } + const lowerPriceInFraction = math.fraction(lowerPrice) as math.Fraction; + const upperPriceInFraction = math.fraction(upperPrice) as math.Fraction; + const poolData = await this.getPoolState( + v3.Pool.getAddress(token0, token1, fee), + fee + ); + const pool = new v3.Pool( + token0, + token1, + poolData.fee, + poolData.sqrtPriceX96.toString(), + poolData.liquidity.toString(), + poolData.tick + ); + + const addLiquidityOptions = { + recipient: wallet.address, + tokenId: tokenId ? tokenId : 0, + }; + + const swapOptions = { + recipient: wallet.address, + slippageTolerance: this.getSlippagePercentage(), + deadline: this.ttl, + }; + + const tickLower = v3.nearestUsableTick( + v3.priceToClosestTick( + new Price( + token0, + token1, + utils + .parseUnits(lowerPriceInFraction.d.toString(), token0.decimals) + .toString(), + utils + .parseUnits(lowerPriceInFraction.n.toString(), token1.decimals) + .toString() + ) + ), + v3.TICK_SPACINGS[fee] + ); + + const tickUpper = v3.nearestUsableTick( + v3.priceToClosestTick( + new Price( + token0, + token1, + utils + .parseUnits(upperPriceInFraction.d.toString(), token0.decimals) + .toString(), + utils + .parseUnits(upperPriceInFraction.n.toString(), token1.decimals) + .toString() + ) + ), + v3.TICK_SPACINGS[fee] + ); + + const position = v3.Position.fromAmounts({ + pool: pool, + tickLower: + tickLower === tickUpper ? tickLower - v3.TICK_SPACINGS[fee] : tickLower, + tickUpper: tickUpper, + amount0: utils.parseUnits(amount0, token0.decimals).toString(), + amount1: utils.parseUnits(amount1, token1.decimals).toString(), + useFullPrecision: true, + }); + + const methodParameters = v3.NonfungiblePositionManager.addCallParameters( + position, + { ...swapOptions, ...addLiquidityOptions } + ); + return { ...methodParameters, swapRequired: false }; + } + + async reducePositionHelper( + wallet: Wallet, + tokenId: number, + decreasePercent: number + ): Promise { + // Reduce position and burn + const positionData = await this.getRawPosition(wallet, tokenId); + const token0 = this.getTokenByAddress(positionData.token0); + const token1 = this.getTokenByAddress(positionData.token1); + const fee = positionData.fee; + if (!token0 || !token1) { + throw new Error( + `One of the tokens in this position isn't recognized. $token0: ${token0}, $token1: ${token1}` + ); + } + const poolAddress = v3.Pool.getAddress(token0, token1, fee); + const poolData = await this.getPoolState(poolAddress, fee); + const position = new v3.Position({ + pool: new v3.Pool( + token0, + token1, + poolData.fee, + poolData.sqrtPriceX96.toString(), + poolData.liquidity.toString(), + poolData.tick + ), + tickLower: positionData.tickLower, + tickUpper: positionData.tickUpper, + liquidity: positionData.liquidity, + }); + return v3.NonfungiblePositionManager.removeCallParameters( + position, + this.getReduceLiquidityData( + decreasePercent, + tokenId, + token0, + token1, + wallet + ) + ); + } +} diff --git a/src/connectors/pancakeswap/pancakeswap.lp.interfaces.ts b/src/connectors/pancakeswap/pancakeswap.lp.interfaces.ts new file mode 100644 index 0000000000..76e384c6d7 --- /dev/null +++ b/src/connectors/pancakeswap/pancakeswap.lp.interfaces.ts @@ -0,0 +1,52 @@ +import { CurrencyAmount, Percent, Token } from '@uniswap/sdk-core'; +import * as v3 from '@pancakeswap/v3-sdk'; +import { BigNumber } from 'ethers'; + +export interface PoolState { + liquidity: BigNumber; + sqrtPriceX96: BigNumber; + tick: number; + observationIndex: BigNumber; + observationCardinality: BigNumber; + observationCardinalityNext: BigNumber; + feeProtocol: BigNumber; + unlocked: boolean; + fee: v3.FeeAmount; + tickProvider: { + index: number; + liquidityNet: BigNumber; + liquidityGross: BigNumber; + }[]; +} + +export interface RawPosition { + nonce: number; + operator: string; + token0: string; + token1: string; + fee: number; + tickLower: number; + tickUpper: number; + liquidity: number; + feeGrowthInside0LastX128: BigNumber; + feeGrowthInside1LastX128: BigNumber; + tokensOwed0: BigNumber; + tokensOwed1: BigNumber; +} + +export interface AddPosReturn extends v3.MethodParameters { + swapRequired: boolean; +} + +export interface ReduceLiquidityData { + tokenId: number; + liquidityPercentage: Percent; + slippageTolerance: Percent; + deadline: number; + burnToken: boolean; + collectOptions: { + expectedCurrencyOwed0: CurrencyAmount; + expectedCurrencyOwed1: CurrencyAmount; + recipient: string; + }; +} diff --git a/src/connectors/pancakeswap/pancakeswap.lp.ts b/src/connectors/pancakeswap/pancakeswap.lp.ts new file mode 100644 index 0000000000..606c1938a5 --- /dev/null +++ b/src/connectors/pancakeswap/pancakeswap.lp.ts @@ -0,0 +1,261 @@ +import { logger } from '../../services/logger'; +import { PositionInfo, UniswapLPish } from '../../services/common-interfaces'; +import { PancakeSwapConfig } from './pancakeswap.config'; +import { Token } from '@pancakeswap/swap-sdk-core'; +import * as v3 from '@pancakeswap/v3-sdk'; +import { + BigNumber, + Transaction, + Wallet, + utils, + constants, + providers, +} from 'ethers'; +import { PancakeswapLPHelper } from './pancakeswap.lp.helper'; +import { AddPosReturn } from './pancakeswap.lp.interfaces'; + +const MaxUint128 = BigNumber.from(2).pow(128).sub(1); + +export type Overrides = { + gasLimit: BigNumber; + gasPrice?: BigNumber; + value?: BigNumber; + nonce?: BigNumber; + maxFeePerGas?: BigNumber; + maxPriorityFeePerGas?: BigNumber; +}; + +export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { + private static _instances: { [name: string]: PancakeswapLP }; + private _gasLimitEstimate: number; + + private constructor(chain: string, network: string) { + super(chain, network); + this._gasLimitEstimate = PancakeSwapConfig.config.gasLimitEstimate; + } + + public static getInstance(chain: string, network: string): PancakeswapLP { + if (PancakeswapLP._instances === undefined) { + PancakeswapLP._instances = {}; + } + if (!(chain + network in PancakeswapLP._instances)) { + PancakeswapLP._instances[chain + network] = new PancakeswapLP( + chain, + network + ); + } + + return PancakeswapLP._instances[chain + network]; + } + + /** + * Default gas limit for swap transactions. + */ + public get gasLimitEstimate(): number { + return this._gasLimitEstimate; + } + + async getPosition(tokenId: number): Promise { + const contract = this.getContract('nft', this.chain.provider); + const requests = [ + contract.positions(tokenId), + this.collectFees(this.chain.provider, tokenId), // static call to calculate earned fees + ]; + const positionInfoReq = await Promise.allSettled(requests); + const rejected = positionInfoReq.filter( + (r) => r.status === 'rejected' + ) as PromiseRejectedResult[]; + if (rejected.length > 0) + throw new Error(`Unable to fetch position with id ${tokenId}`); + const positionInfo = ( + positionInfoReq.filter( + (r) => r.status === 'fulfilled' + ) as PromiseFulfilledResult[] + ).map((r) => r.value); + const position = positionInfo[0]; + const feeInfo = positionInfo[1]; + const token0 = this.getTokenByAddress(position.token0); + const token1 = this.getTokenByAddress(position.token1); + if (!token0 || !token1) { + throw new Error(`One of the tokens in this position isn't recognized.`); + } + const fee = position.fee; + const poolAddress = v3.Pool.getAddress(token0, token1, fee); + const poolData = await this.getPoolState(poolAddress, fee); + const positionInst = new v3.Position({ + pool: new v3.Pool( + token0, + token1, + poolData.fee, + poolData.sqrtPriceX96.toString(), + poolData.liquidity.toString(), + poolData.tick + ), + tickLower: position.tickLower, + tickUpper: position.tickUpper, + liquidity: position.liquidity, + }); + return { + token0: token0.symbol, + token1: token1.symbol, + fee: v3.FeeAmount[position.fee], + lowerPrice: positionInst.token0PriceLower.toFixed(8), + upperPrice: positionInst.token0PriceUpper.toFixed(8), + amount0: positionInst.amount0.toFixed(), + amount1: positionInst.amount1.toFixed(), + unclaimedToken0: utils.formatUnits( + feeInfo.amount0.toString(), + token0.decimals + ), + unclaimedToken1: utils.formatUnits( + feeInfo.amount1.toString(), + token1.decimals + ), + }; + } + + async addPosition( + wallet: Wallet, + token0: Token, + token1: Token, + amount0: string, + amount1: string, + fee: string, + lowerPrice: number, + upperPrice: number, + tokenId: number = 0, + gasLimit: number, + gasPrice: number, + nonce?: number, + maxFeePerGas?: BigNumber, + maxPriorityFeePerGas?: BigNumber + ): Promise { + const convertedFee = v3.FeeAmount[fee as keyof typeof v3.FeeAmount]; + const addLiquidityResponse: AddPosReturn = await this.addPositionHelper( + wallet, + token0, + token1, + amount0, + amount1, + convertedFee, + lowerPrice, + upperPrice, + tokenId + ); + + if (nonce === undefined) { + nonce = await this.chain.nonceManager.getNextNonce(wallet.address); + } + + const tx = await wallet.sendTransaction({ + data: addLiquidityResponse.calldata, + to: addLiquidityResponse.swapRequired ? this.router : this.nftManager, + ...this.generateOverrides( + gasLimit, + gasPrice, + nonce, + maxFeePerGas, + maxPriorityFeePerGas, + addLiquidityResponse.value + ), + }); + logger.info(`Pancakeswap V3 Add position Tx Hash: ${tx.hash}`); + return tx; + } + + async reducePosition( + wallet: Wallet, + tokenId: number, + decreasePercent: number = 100, + gasLimit: number, + gasPrice: number, + nonce?: number, + maxFeePerGas?: BigNumber, + maxPriorityFeePerGas?: BigNumber + ): Promise { + // Reduce position and burn + const contract = this.getContract('nft', wallet); + const { calldata, value } = await this.reducePositionHelper( + wallet, + tokenId, + decreasePercent + ); + + if (nonce === undefined) { + nonce = await this.chain.nonceManager.getNextNonce(wallet.address); + } + + const tx = await contract.multicall( + [calldata], + this.generateOverrides( + gasLimit, + gasPrice, + nonce, + maxFeePerGas, + maxPriorityFeePerGas, + value + ) + ); + logger.info(`Pancakeswap V3 Remove position Tx Hash: ${tx.hash}`); + return tx; + } + + async collectFees( + wallet: Wallet | providers.StaticJsonRpcProvider, + tokenId: number, + gasLimit: number = this.gasLimitEstimate, + gasPrice: number = 0, + nonce?: number, + maxFeePerGas?: BigNumber, + maxPriorityFeePerGas?: BigNumber + ): Promise { + const contract = this.getContract('nft', wallet); + const collectData = { + tokenId: tokenId, + recipient: constants.AddressZero, + amount0Max: MaxUint128, + amount1Max: MaxUint128, + }; + + if (wallet instanceof providers.StaticJsonRpcProvider) { + return await contract.callStatic.collect(collectData); + } else { + collectData.recipient = wallet.address; + if (nonce === undefined) { + nonce = await this.chain.nonceManager.getNextNonce(wallet.address); + } + return await contract.collect( + collectData, + this.generateOverrides( + gasLimit, + gasPrice, + nonce, + maxFeePerGas, + maxPriorityFeePerGas + ) + ); + } + } + + generateOverrides( + gasLimit: number, + gasPrice: number, + nonce?: number, + maxFeePerGas?: BigNumber, + maxPriorityFeePerGas?: BigNumber, + value?: string + ): Overrides { + const overrides: Overrides = { + gasLimit: BigNumber.from(String(gasLimit.toFixed(0))), + }; + if (maxFeePerGas && maxPriorityFeePerGas) { + overrides.maxFeePerGas = maxFeePerGas; + overrides.maxPriorityFeePerGas = maxPriorityFeePerGas; + } else { + overrides.gasPrice = BigNumber.from(String((gasPrice * 1e9).toFixed(0))); + } + if (nonce) overrides.nonce = BigNumber.from(String(nonce)); + if (value) overrides.value = BigNumber.from(value); + return overrides; + } +} diff --git a/src/connectors/uniswap/uniswap.controllers.ts b/src/connectors/uniswap/uniswap.controllers.ts index 865dd2e828..6dfc303591 100644 --- a/src/connectors/uniswap/uniswap.controllers.ts +++ b/src/connectors/uniswap/uniswap.controllers.ts @@ -1,7 +1,6 @@ import Decimal from 'decimal.js-light'; import { BigNumber, Transaction, Wallet } from 'ethers'; import { Token } from '@uniswap/sdk-core'; -import { FeeAmount } from '@uniswap/v3-sdk'; import { HttpException, LOAD_WALLET_ERROR_CODE, @@ -378,8 +377,6 @@ export async function addLiquidity( req.maxPriorityFeePerGas ); - const fee = FeeAmount[req.fee.toUpperCase() as keyof typeof FeeAmount]; - const token0: Token = getFullTokenFromSymbol( ethereumish, uniswapish, @@ -402,7 +399,7 @@ export async function addLiquidity( token1, req.amount0, req.amount1, - fee, + req.fee.toUpperCase(), Number(req.lowerPrice), Number(req.upperPrice), req.tokenId ? req.tokenId : 0, @@ -569,12 +566,10 @@ export async function poolPrice( req.token1 ) as Token; - const fee = FeeAmount[req.fee.toUpperCase() as keyof typeof FeeAmount]; - const prices = await uniswapish.poolPrice( token0, token1, - fee, + req.fee.toUpperCase(), req.period, req.interval ); diff --git a/src/connectors/uniswap/uniswap.lp.helper.ts b/src/connectors/uniswap/uniswap.lp.helper.ts index 00fe102995..b59dd78b0f 100644 --- a/src/connectors/uniswap/uniswap.lp.helper.ts +++ b/src/connectors/uniswap/uniswap.lp.helper.ts @@ -213,14 +213,15 @@ export class UniswapLPHelper { async poolPrice( token0: Token, token1: Token, - tier: uniV3.FeeAmount, + tier: string, period: number = 1, interval: number = 1 ): Promise { const fetchPriceTime = []; const prices = []; + const fee = uniV3.FeeAmount[tier as keyof typeof uniV3.FeeAmount]; const poolContract = new Contract( - uniV3.Pool.getAddress(token0, token1, tier), + uniV3.Pool.getAddress(token0, token1, fee), this.poolAbi, this.ethereum.provider ); diff --git a/src/connectors/uniswap/uniswap.lp.ts b/src/connectors/uniswap/uniswap.lp.ts index e6205c0174..274591e6bd 100644 --- a/src/connectors/uniswap/uniswap.lp.ts +++ b/src/connectors/uniswap/uniswap.lp.ts @@ -117,7 +117,7 @@ export class UniswapLP extends UniswapLPHelper implements UniswapLPish { token1: Token, amount0: string, amount1: string, - fee: uniV3.FeeAmount, + fee: string, lowerPrice: number, upperPrice: number, tokenId: number = 0, @@ -127,13 +127,14 @@ export class UniswapLP extends UniswapLPHelper implements UniswapLPish { maxFeePerGas?: BigNumber, maxPriorityFeePerGas?: BigNumber ): Promise { + const convertedFee = uniV3.FeeAmount[fee as keyof typeof uniV3.FeeAmount]; const addLiquidityResponse: AddPosReturn = await this.addPositionHelper( wallet, token0, token1, amount0, amount1, - fee, + convertedFee, lowerPrice, upperPrice, tokenId diff --git a/src/services/common-interfaces.ts b/src/services/common-interfaces.ts index 96e469bc10..b42d0fc16d 100644 --- a/src/services/common-interfaces.ts +++ b/src/services/common-interfaces.ts @@ -481,7 +481,7 @@ export interface UniswapLPish { token1: UniswapCoreToken, amount0: string, amount1: string, - fee: number, + fee: string, lowerPrice: number, upperPrice: number, tokenId: number, @@ -547,7 +547,7 @@ export interface UniswapLPish { poolPrice( token0: UniswapCoreToken, token1: UniswapCoreToken, - fee: number, + fee: string, period: number, interval: number ): Promise; diff --git a/src/services/connection-manager.ts b/src/services/connection-manager.ts index 18f6d87c31..e5a748c999 100644 --- a/src/services/connection-manager.ts +++ b/src/services/connection-manager.ts @@ -39,6 +39,7 @@ import { Plenty } from '../connectors/plenty/plenty'; import { Curve } from '../connectors/curve/curve'; import { Kujira } from '../chains/kujira/kujira'; import { KujiraCLOB } from '../connectors/kujira/kujira'; +import { PancakeswapLP } from '../connectors/pancakeswap/pancakeswap.lp'; export type ChainUnion = | Algorand @@ -196,6 +197,8 @@ export async function getConnector( connectorInstance = Ref.getInstance(chain, network); } else if (chain === 'binance-smart-chain' && connector === 'pancakeswap') { connectorInstance = PancakeSwap.getInstance(chain, network); + } else if (chain === 'binance-smart-chain' && connector === 'pancakeswapLP') { + connectorInstance = PancakeswapLP.getInstance(chain, network); } else if (connector === 'sushiswap') { connectorInstance = Sushiswap.getInstance(chain, network); } else if (chain === 'xdc' && connector === 'xsswap') { diff --git a/src/services/schema/pancakeswap-schema.json b/src/services/schema/pancakeswap-schema.json new file mode 100644 index 0000000000..221fc58649 --- /dev/null +++ b/src/services/schema/pancakeswap-schema.json @@ -0,0 +1,43 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "allowedSlippage": { "type": "string" }, + "gasLimitEstimate": { "type": "integer" }, + "ttl": { "type": "integer" }, + "maximumHops": { "type": "integer" }, + "useRouter": { "type": "boolean" }, + "feeTier": { + "enum": ["LOWEST", "LOW", "MEDIUM", "HIGH"] + }, + "contractAddresses": { + "type": "object", + "patternProperties": { + "^\\w+$": { + "type": "object", + "properties": { + "routerAddress": { "type": "string" }, + "pancakeswapV3SmartOrderRouterAddress": { "type": "string" }, + "pancakeswapV3NftManagerAddress": { "type": "string" }, + "pancakeswapV3QuoterV2ContractAddress": { "type": "string" } + }, + "required": [ + "routerAddress", + "pancakeswapV3SmartOrderRouterAddress", + "pancakeswapV3NftManagerAddress" + ], + "additionalProperties": false + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": [ + "allowedSlippage", + "gasLimitEstimate", + "ttl", + "maximumHops", + "contractAddresses" + ] +} diff --git a/src/templates/pancakeswap.yml b/src/templates/pancakeswap.yml index 0f57ea04f1..580cb6e1b5 100644 --- a/src/templates/pancakeswap.yml +++ b/src/templates/pancakeswap.yml @@ -2,15 +2,35 @@ # execution price. It uses a rational number for precision. allowedSlippage: '1/100' -# the maximum gas used to estimate gasCost for a uniswap trade. +# the maximum gas used to estimate gasCost for a pancakeswap trade. gasLimitEstimate: 150688 # how long a trade is valid in seconds. After time passes pancakeswap will not # perform the trade, but the gas will still be spent. ttl: 300 +# For each swap, the maximum number of hops to consider. +# Note: More hops will increase latency of the algorithm. +maximumHops: 4 + +# Use pancakeswap Router or Quoter to quote prices. +# true - use Smart Order Router +# false - use QuoterV2 Contract +useRouter: false + +# Fee tier to use for the pancakeswap Quoter. +# Required if `useRouter` is false. +# Available options: 'LOWEST', 'LOW', 'MEDIUM', 'HIGH'. +feeTier: 'MEDIUM' + contractAddresses: mainnet: - routerAddress: '0x10ED43C718714eb63d5aA57B78B54704E256024E' + routerAddress: '0x10ED43C718714eb63d5aA57B78B54704E256024E' + pancakeswapV3SmartOrderRouterAddress: '0x1b81D678ffb9C0263b24A97847620C99d213eB14' + pancakeswapV3NftManagerAddress: '0x46A15B0b27311cedF172AB29E4f4766fbE7F4364' + pancakeswapV3QuoterV2ContractAddress: '0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997' testnet: - routerAddress: '0xdc4904b5f716Ff30d8495e35dC99c109bb5eCf81' + routerAddress: '0xdc4904b5f716Ff30d8495e35dC99c109bb5eCf81' + pancakeswappV3SmartOrderRouterAddress: '0x1b81D678ffb9C0263b24A97847620C99d213eB14' + pancakeswappV3NftManagerAddress: '0x427bF5b37357632377eCbEC9de3626C71A5396c1' + pancakeswappV3QuoterV2ContractAddress: '0xbC203d7f83677c7ed3F7acEc959963E7F4ECC5C2' diff --git a/src/templates/root.yml b/src/templates/root.yml index 2dc4d913c5..becf3726da 100644 --- a/src/templates/root.yml +++ b/src/templates/root.yml @@ -90,7 +90,7 @@ configurations: $namespace pancakeswap: configurationPath: pancakeswap.yml - schemaPath: pangolin-schema.json + schemaPath: pancakeswap-schema.json $namespace xdc: configurationPath: xdc.yml diff --git a/yarn.lock b/yarn.lock index 3af0387dd1..b3869a8bb6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,11 +2,21 @@ # yarn lockfile v1 +"@adraffy/ens-normalize@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" + integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== + "@adraffy/ens-normalize@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== +"@adraffy/ens-normalize@1.9.4": + version "1.9.4" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.4.tgz#aae21cb858bbb0411949d5b7b3051f4209043f62" + integrity sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw== + "@ampproject/remapping@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -968,137 +978,137 @@ "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/web" "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/rlp" "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-f0eef86e-4120-4e67-b776-44b982b01005-1699808116707/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-b0ec75fa-b648-4a38-a2b4-a62184ca01cd-1700995884617/node_modules/@ethersproject-xdc/bytes" "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-d886fd5d-a177-4278-9701-1f45025567b9-1699808116709/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-d886fd5d-a177-4278-9701-1f45025567b9-1699808116709/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-3072d664-8a99-404c-8004-0ab60ab863f9-1700995884618/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-3072d664-8a99-404c-8004-0ab60ab863f9-1700995884618/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-256f7156-89f7-4852-9675-79910897219e-1699808116712/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-256f7156-89f7-4852-9675-79910897219e-1699808116712/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-c9961710-5e59-4b3a-b5e9-d166bc275d84-1700995884616/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-c9961710-5e59-4b3a-b5e9-d166bc275d84-1700995884616/node_modules/@ethersproject-xdc/logger" bn.js "^5.2.1" "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-231e37da-fa65-413e-bc5f-96686282064b-1699808116710/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-4f13d1c5-2834-4fc0-b6ac-6182c4efbdcd-1700995884617/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-ee4a7187-79ff-4387-ac08-67ee437adb01-1699808116713/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-aaf138c0-5d78-4eb7-babd-6d47c1493412-1700995884619/node_modules/@ethersproject-xdc/bignumber" "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": version "5.6.0" dependencies: - "@ethersproject-xdc/abi" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/transactions" "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/transactions" aes-js "3.0.0" scrypt-js "3.0.1" "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-188ea95f-ad6e-47e0-8adb-1e52a54937b0-1699808116725/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-42b619de-6046-424c-a94d-4da01b891d34-1700995884642/node_modules/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1107,67 +1117,67 @@ "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": version "5.7.1" dependencies: - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-5b29b692-7b30-4ad2-8962-a8da5af476ba-1699808116720/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-6107ffe4-4050-49cd-8439-5e08ececf838-1700995884650/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-e249b2da-bae3-4999-b8d4-0fad9d777df9-1699808116722/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-e249b2da-bae3-4999-b8d4-0fad9d777df9-1699808116722/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-9e82231b-2a19-43a3-ad18-eb8eef9207ec-1700995884654/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-9e82231b-2a19-43a3-ad18-eb8eef9207ec-1700995884654/node_modules/@ethersproject-xdc/sha2" "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-93345a08-2f52-4593-b47b-5f2fdc2c66e0-1699808116724/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-464e6056-42c7-419c-b5da-cd5ee6ee007d-1700995884656/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": version "5.6.2" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/web" bech32 "1.1.4" ws "7.4.6" "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-c9bc0c85-ff36-47e3-87b4-1c63792ee255-1699808116739/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-c9bc0c85-ff36-47e3-87b4-1c63792ee255-1699808116739/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-dfde42aa-975e-4b4a-82cc-d750d9b0790a-1700995884657/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-dfde42aa-975e-4b4a-82cc-d750d9b0790a-1700995884657/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-0a00c316-60b3-4f17-b453-48568996e3c6-1699808116726/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-0a00c316-60b3-4f17-b453-48568996e3c6-1699808116726/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-4ae41513-e7ae-4b38-9be5-adf5d39500a9-1700995884655/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-4ae41513-e7ae-4b38-9be5-adf5d39500a9-1700995884655/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-fd94e7ec-6ae8-4fbd-b25a-08ef7cd4fb0f-1699808116726/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-fd94e7ec-6ae8-4fbd-b25a-08ef7cd4fb0f-1699808116726/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-0058c340-594a-4716-94fe-8bf714788cdb-1700995884660/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-0058c340-594a-4716-94fe-8bf714788cdb-1700995884660/node_modules/@ethersproject-xdc/logger" hash.js "1.1.7" "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-e878416c-bd88-4527-b37e-323091adf84e-1699808116742/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-e878416c-bd88-4527-b37e-323091adf84e-1699808116742/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-e878416c-bd88-4527-b37e-323091adf84e-1699808116742/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-772f7245-c24e-4d30-804e-dd3c4103ade1-1700995884662/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-772f7245-c24e-4d30-804e-dd3c4103ade1-1700995884662/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-772f7245-c24e-4d30-804e-dd3c4103ade1-1700995884662/node_modules/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1175,76 +1185,76 @@ "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-cc8a7302-879f-4bb1-a132-579591add571-1699808116745/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-cc8a7302-879f-4bb1-a132-579591add571-1699808116745/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-cc8a7302-879f-4bb1-a132-579591add571-1699808116745/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-1d81b568-4711-401d-afb1-00dcb5722057-1700995884663/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-1d81b568-4711-401d-afb1-00dcb5722057-1700995884663/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-1d81b568-4711-401d-afb1-00dcb5722057-1700995884663/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/signing-key" "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-94fb7855-9cd2-4843-8e11-d4f2bcf2c385-1699808116748/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-94fb7855-9cd2-4843-8e11-d4f2bcf2c385-1699808116748/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-94fb7855-9cd2-4843-8e11-d4f2bcf2c385-1699808116748/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-575014ed-8616-4381-87a7-2ae8b2e84c91-1700995884674/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-575014ed-8616-4381-87a7-2ae8b2e84c91-1700995884674/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-575014ed-8616-4381-87a7-2ae8b2e84c91-1700995884674/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": version "5.7.1" dependencies: - "@ethersproject-xdc/base64" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/strings" "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -2351,6 +2361,13 @@ dependencies: "@noble/hashes" "1.3.0" +"@noble/curves@1.2.0", "@noble/curves@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + "@noble/ed25519@^1.7.0": version "1.7.3" resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" @@ -2366,6 +2383,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== +"@noble/hashes@1.3.2", "@noble/hashes@~1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + "@noble/secp256k1@1.7.1", "@noble/secp256k1@^1.6.3", "@noble/secp256k1@~1.7.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" @@ -2595,6 +2617,11 @@ "@nomicfoundation/solidity-analyzer-win32-ia32-msvc" "0.1.1" "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.1" +"@openzeppelin/contracts-upgradeable@3.4.2-solc-0.7": + version "3.4.2-solc-0.7" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2-solc-0.7.tgz#9a5cdaf9f65bcd9a3b7e865f44a6f672afe7785e" + integrity sha512-I5iKKS8U9L1XdSxsNAIBQekN0U9hTgdleoyntIdR7Jy3U/z/NZ/1oUM0v5HnUMrmn/bXLvYL94rBvaLF++Ndnw== + "@openzeppelin/contracts@3.4.1-solc-0.7-2": version "3.4.1-solc-0.7-2" resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.1-solc-0.7-2.tgz#371c67ebffe50f551c3146a9eec5fe6ffe862e92" @@ -2614,6 +2641,25 @@ truffle-flattener "^1.4.4" truffle-hdwallet-provider "^1.0.17" +"@pancakeswap/chains@0.3.0", "@pancakeswap/chains@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@pancakeswap/chains/-/chains-0.3.0.tgz#e509dfd9c8387f76b893e3a0a5b835331752b32c" + integrity sha512-a4U8pzfxQsnS0nUpvi8qL2X6l2C/IUTFJcmt3UNAQv2L2CPUSryt1rLarG91O1Bb/UMfv90UCPrXJcHWpaYSMg== + +"@pancakeswap/sdk@5.7.2": + version "5.7.2" + resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-5.7.2.tgz#d3923142227e04514927098ebd69733621d36891" + integrity sha512-hn1ZWA8uKFqs2GjW5AMv1smnnlJcKugbwyZRPWTftogch/wQYatvXwmolnTFFUrrvAEKHSsEsxNP4dxrbYq6Vw== + dependencies: + "@pancakeswap/chains" "^0.3.0" + "@pancakeswap/swap-sdk-core" "1.0.0" + big.js "^5.2.2" + decimal.js-light "^2.5.0" + tiny-invariant "^1.1.0" + tiny-warning "^1.0.3" + toformat "^2.0.0" + viem "^1.15.1" + "@pancakeswap/sdk@^2.4.5": version "2.4.5" resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-2.4.5.tgz#783c02efc7ca89d2297b0b07040639d90c3e610d" @@ -2626,6 +2672,68 @@ tiny-warning "^1.0.3" toformat "^2.0.0" +"@pancakeswap/swap-sdk-core@1.0.0", "@pancakeswap/swap-sdk-core@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@pancakeswap/swap-sdk-core/-/swap-sdk-core-1.0.0.tgz#30ab333943ecca5484cd10cbc493841fb553728d" + integrity sha512-MZBF8FHpCX/ffY8/gd2zz6TpiftwqRouVPr1kB88wm7desYh+E2y4kWPcZX1roWR38UkjBv4/DoXVSDeSTBgRg== + dependencies: + big.js "^5.2.2" + decimal.js-light "^2.5.0" + tiny-invariant "^1.1.0" + tiny-warning "^1.0.3" + toformat "^2.0.0" + +"@pancakeswap/token-lists@0.0.9": + version "0.0.9" + resolved "https://registry.yarnpkg.com/@pancakeswap/token-lists/-/token-lists-0.0.9.tgz#ffa2e7eb4e8d0ef1b8984b22d8b2fb529787693f" + integrity sha512-V11cFNucyiTeEPsS7fyLldr1XsQqPNzdXQDmeGB54M4dESA/bBi9xaWYCVUihyW3lImNoqr2X1fds7SltfFHOQ== + dependencies: + "@pancakeswap/swap-sdk-core" "1.0.0" + ajv "^6.12.3" + lodash "^4.17.21" + +"@pancakeswap/tokens@0.5.4": + version "0.5.4" + resolved "https://registry.yarnpkg.com/@pancakeswap/tokens/-/tokens-0.5.4.tgz#1508b2b71a259a534ddf18ec120d79b8e6e44945" + integrity sha512-NRc8OIiwL1fNbGRQgcTdpaxbjZfTz6sAnkGZlmaLUt9yCGmGF0hK8uqc4B1YGYSVUkgamd3UJS9z7j673PVbxQ== + dependencies: + "@pancakeswap/chains" "0.3.0" + "@pancakeswap/sdk" "5.7.2" + "@pancakeswap/token-lists" "0.0.9" + +"@pancakeswap/v3-core@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pancakeswap/v3-core/-/v3-core-1.0.2.tgz#f5abf6a98535f33edebbfc11ab40b4fdcee51420" + integrity sha512-9aZU8I1J6SbZOSW7NcNxuyaAC17tGkOaZJM9aJgvl6MMUOExpq0i0EC/jc3HxWbpC8sbZL+8eG544NEJs8CS+w== + +"@pancakeswap/v3-periphery@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pancakeswap/v3-periphery/-/v3-periphery-1.0.2.tgz#f5b899c60bae0fadcfff1cc2b72c802b9d5a5596" + integrity sha512-kWQhJsAG5Ij1cubKlX0JuJ3GEPFiPBR+NQt77SxHNjk62eallLyfbWJYk2NMnTO0crbjBFO5GKKQAXfp2n76vg== + dependencies: + "@openzeppelin/contracts" "3.4.2-solc-0.7" + "@openzeppelin/contracts-upgradeable" "3.4.2-solc-0.7" + "@uniswap/lib" "^4.0.1-alpha" + "@uniswap/v2-core" "1.0.1" + base64-sol "1.0.1" + +"@pancakeswap/v3-sdk@^3.7.0": + version "3.7.0" + resolved "https://registry.yarnpkg.com/@pancakeswap/v3-sdk/-/v3-sdk-3.7.0.tgz#1a246e6b9946e2a20e9cb742f42bdaca1b1ff570" + integrity sha512-Qkq28f6TYVsfNuT34SDXy150X1+iIYVO/rnGp9IllOLcQIlDYeM9QY8wz1Gs+IRP6QE51tUntRFCN7UTojpKFg== + dependencies: + "@pancakeswap/chains" "0.3.0" + "@pancakeswap/sdk" "5.7.2" + "@pancakeswap/swap-sdk-core" "1.0.0" + "@pancakeswap/tokens" "0.5.4" + "@uniswap/v3-staker" "1.0.0" + big.js "^5.2.2" + decimal.js-light "^2.5.0" + tiny-invariant "^1.3.0" + tiny-warning "^1.0.3" + toformat "^2.0.0" + viem "1.15.1" + "@pangolindex/exchange-contracts@^1.0.1": version "1.0.2" resolved "https://registry.yarnpkg.com/@pangolindex/exchange-contracts/-/exchange-contracts-1.0.2.tgz#2d5be49d9e63a311cb3c2de53b21815923b3a996" @@ -2796,6 +2904,11 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== +"@scure/base@~1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" + integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== + "@scure/bip32@1.1.5": version "1.1.5" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" @@ -2814,6 +2927,15 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" +"@scure/bip32@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" + integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA== + dependencies: + "@noble/curves" "~1.2.0" + "@noble/hashes" "~1.3.2" + "@scure/base" "~1.1.2" + "@scure/bip39@1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" @@ -2830,6 +2952,14 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" +"@scure/bip39@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" + integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== + dependencies: + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + "@sentry/core@5.30.0": version "5.30.0" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" @@ -3982,6 +4112,13 @@ dependencies: "@types/node" "*" +"@types/ws@^8.5.5": + version "8.5.10" + resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" + integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== + dependencies: + "@types/node" "*" + "@types/yargs-parser@*": version "21.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" @@ -4315,6 +4452,11 @@ abitype@0.8.7: resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== +abitype@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.8.tgz#1f120b6b717459deafd213dfbf3a3dd1bf10ae8c" + integrity sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ== + abort-controller@3.0.0, abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -7198,36 +7340,36 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: "ethers-xdc@file:./vendor/ethers-xdc": version "5.7.2" dependencies: - "@ethersproject-xdc/abi" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" @@ -9143,6 +9285,11 @@ isomorphic-ws@^4.0.1: resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== +isows@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74" + integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg== + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -13619,7 +13766,7 @@ tiny-emitter@^2.1.0: resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== -tiny-invariant@^1.1.0: +tiny-invariant@^1.1.0, tiny-invariant@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== @@ -14279,6 +14426,21 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +viem@1.15.1: + version "1.15.1" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.15.1.tgz#030fb900d8099e6a1bd16164fa4e1e5b8e24607a" + integrity sha512-lxk8wwUK7ZivYAUZ6pH+9Y6jjrfXXjafCOoASa4lw3ULUCT2BajU4SELarlxJQimpsFd7OZD4m4iEXYLF/bt6w== + dependencies: + "@adraffy/ens-normalize" "1.9.4" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + "@types/ws" "^8.5.5" + abitype "0.9.8" + isomorphic-ws "5.0.0" + ws "8.13.0" + viem@^0.3.x: version "0.3.50" resolved "https://registry.yarnpkg.com/viem/-/viem-0.3.50.tgz#999a7682eda7eabc48c923f4b9923c3f098fc1ab" @@ -14294,6 +14456,20 @@ viem@^0.3.x: isomorphic-ws "5.0.0" ws "8.12.0" +viem@^1.15.1: + version "1.19.9" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.19.9.tgz#a11f3ad4a3323994ebd2010dbc659d1a2b12e583" + integrity sha512-Sf9U2x4jU0S/FALqYypcspWOGene0NZyD470oUripNhE0Ta6uOE/OgE4toTDVfRxov8qw0JFinr/wPGxYE3+HQ== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + abitype "0.9.8" + isows "1.0.3" + ws "8.13.0" + vlq@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/vlq/-/vlq-2.0.4.tgz#6057b85729245b9829e3cc7755f95b228d4fe041" @@ -14992,6 +15168,11 @@ ws@8.12.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== +ws@8.13.0, ws@^8.5.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + ws@^3.0.0: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -15006,11 +15187,6 @@ ws@^7, ws@^7.2.0, ws@^7.4.5, ws@^7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== -ws@^8.5.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - xhr-request-promise@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" From 90f51cde6f30096804295ca21cae8d7db7001354 Mon Sep 17 00:00:00 2001 From: nikspz <83953535+nikspz@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:54:22 +0700 Subject: [PATCH 41/67] fix/Update-gateway-dev-to-1.23.0 --- src/app.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app.ts b/src/app.ts index fa22404809..2fd45777aa 100644 --- a/src/app.ts +++ b/src/app.ts @@ -112,7 +112,7 @@ export const startSwagger = async () => { export const startGateway = async () => { const port = ConfigManagerV2.getInstance().get('server.port'); - const gateway_version="dev-1.22.0"; // gateway version + const gateway_version="dev-1.23.0"; // gateway version if (!ConfigManagerV2.getInstance().get('server.id')) { ConfigManagerV2.getInstance().set( 'server.id', From 0c7ca7faa13dc608f7947f5dad9aaeda609175bc Mon Sep 17 00:00:00 2001 From: nikspz <83953535+nikspz@users.noreply.github.com> Date: Tue, 28 Nov 2023 19:54:55 +0700 Subject: [PATCH 42/67] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 31254d69eb..764fb5c914 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hummingbot-gateway", - "version": "dev-1.22.0", + "version": "dev-1.23.0", "description": "Middleware that helps Hummingbot clients access standardized DEX API endpoints on different blockchain networks", "main": "index.js", "license": "Apache-2.0", From 8a585774c26c714b8be9c70568be9c947a5c06dd Mon Sep 17 00:00:00 2001 From: vic-en Date: Wed, 29 Nov 2023 21:30:19 -0600 Subject: [PATCH 43/67] Update PancakeSwap contract addresses --- src/templates/pancakeswap.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/templates/pancakeswap.yml b/src/templates/pancakeswap.yml index 580cb6e1b5..1f901ae189 100644 --- a/src/templates/pancakeswap.yml +++ b/src/templates/pancakeswap.yml @@ -31,6 +31,6 @@ contractAddresses: pancakeswapV3QuoterV2ContractAddress: '0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997' testnet: routerAddress: '0xdc4904b5f716Ff30d8495e35dC99c109bb5eCf81' - pancakeswappV3SmartOrderRouterAddress: '0x1b81D678ffb9C0263b24A97847620C99d213eB14' - pancakeswappV3NftManagerAddress: '0x427bF5b37357632377eCbEC9de3626C71A5396c1' - pancakeswappV3QuoterV2ContractAddress: '0xbC203d7f83677c7ed3F7acEc959963E7F4ECC5C2' + pancakeswapV3SmartOrderRouterAddress: '0x1b81D678ffb9C0263b24A97847620C99d213eB14' + pancakeswapV3NftManagerAddress: '0x427bF5b37357632377eCbEC9de3626C71A5396c1' + pancakeswapV3QuoterV2ContractAddress: '0xbC203d7f83677c7ed3F7acEc959963E7F4ECC5C2' From 6ded8754ec63c10088dbacbb111da85663aa9b94 Mon Sep 17 00:00:00 2001 From: vic-en Date: Wed, 29 Nov 2023 21:31:11 -0600 Subject: [PATCH 44/67] Update typescript version to 5.3.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index e061491b28..27a8e065c0 100644 --- a/package.json +++ b/package.json @@ -151,7 +151,7 @@ "supertest": "^6.1.6", "ts-jest": "^27.0.5", "ts-node": "^10.0.0", - "typescript": "^4.3.2", + "typescript": "^5.3.2", "viem": "^0.3.x" }, "resolutions": { From 23607e04ae8a2476de94a9379250af1ce14cece3 Mon Sep 17 00:00:00 2001 From: vic-en Date: Wed, 29 Nov 2023 21:31:19 -0600 Subject: [PATCH 45/67] Update UniswapLP Nft function parameter --- test/connectors/uniswap/uniswap.lp.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/connectors/uniswap/uniswap.lp.test.ts b/test/connectors/uniswap/uniswap.lp.test.ts index 3fed8b8aa8..64238d4679 100644 --- a/test/connectors/uniswap/uniswap.lp.test.ts +++ b/test/connectors/uniswap/uniswap.lp.test.ts @@ -262,7 +262,7 @@ describe('verify UniswapLP Nft functions', () => { WETH, '10', '10', - 500, + 'LOWEST', 1, 10, 0, From 2a16f0452a68166b927113b91dd2e1cb7572d24a Mon Sep 17 00:00:00 2001 From: vic-en Date: Wed, 29 Nov 2023 21:35:20 -0600 Subject: [PATCH 46/67] update Jest type declaration --- tsconfig.json | 2 +- yarn.lock | 372 +++++++++++++++++++++++++------------------------- 2 files changed, 187 insertions(+), 187 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index 90aed87e2a..cd1ce35597 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,7 +1,7 @@ { "compilerOptions": { "strict": true, - "types": ["@types/jest", "jest", "node"], + "types": ["jest", "node"], "target": "es6", "module": "commonjs", "allowJs": true, diff --git a/yarn.lock b/yarn.lock index b3869a8bb6..6fba2894db 100644 --- a/yarn.lock +++ b/yarn.lock @@ -978,137 +978,137 @@ "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0bab9cf7-16a0-43c1-9f07-60cd6d0efc49-1700995884611/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-c208ecf2-6c8b-42bd-a69f-64f9757d629a-1700995884613/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/web" "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-38cef541-fb52-4de7-a4da-aca953f8fb33-1700995884614/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-112b63ca-96c2-4c38-90f1-ea6a4731a3fe-1700995884615/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/rlp" "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-b0ec75fa-b648-4a38-a2b4-a62184ca01cd-1700995884617/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-e7d4afe5-7170-4558-815e-13913655fa1c-1701315088389/node_modules/@ethersproject-xdc/bytes" "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-3072d664-8a99-404c-8004-0ab60ab863f9-1700995884618/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-3072d664-8a99-404c-8004-0ab60ab863f9-1700995884618/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-340312ca-9bc5-484d-bd97-449779d75717-1701315088391/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-340312ca-9bc5-484d-bd97-449779d75717-1701315088391/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-c9961710-5e59-4b3a-b5e9-d166bc275d84-1700995884616/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-c9961710-5e59-4b3a-b5e9-d166bc275d84-1700995884616/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-847f1576-9bc2-4c4f-9c79-778de5d1dd5c-1701315088392/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-847f1576-9bc2-4c4f-9c79-778de5d1dd5c-1701315088392/node_modules/@ethersproject-xdc/logger" bn.js "^5.2.1" "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-4f13d1c5-2834-4fc0-b6ac-6182c4efbdcd-1700995884617/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-75cb8462-50cf-42a3-a69d-f0ff5699cfce-1701315088406/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-aaf138c0-5d78-4eb7-babd-6d47c1493412-1700995884619/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-6de51dc1-6ce8-4819-8365-e260d0f15238-1701315088406/node_modules/@ethersproject-xdc/bignumber" "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": version "5.6.0" dependencies: - "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-285bc5fe-48ae-4543-91f5-f9c546d0e95a-1700995884619/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/transactions" "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1864387-ab83-4c57-962a-3116758cbe3c-1700995884621/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7cb80f0f-2629-49fc-a9c8-7b607a17ad03-1700995884652/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-c3d32daf-c13b-460a-8d4c-ba04f0265a2e-1700995884639/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/transactions" aes-js "3.0.0" scrypt-js "3.0.1" "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-42b619de-6046-424c-a94d-4da01b891d34-1700995884642/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-d1c9a2eb-77d3-46d1-abc8-0cd3a8a4f06a-1701315088409/node_modules/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1117,67 +1117,67 @@ "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": version "5.7.1" dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-6107ffe4-4050-49cd-8439-5e08ececf838-1700995884650/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-ee7b64c7-f006-480c-8ec4-6b592e57c3fe-1701315088409/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-9e82231b-2a19-43a3-ad18-eb8eef9207ec-1700995884654/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-9e82231b-2a19-43a3-ad18-eb8eef9207ec-1700995884654/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-95554abb-48d5-4b88-82ac-b8422741a990-1701315088409/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-95554abb-48d5-4b88-82ac-b8422741a990-1701315088409/node_modules/@ethersproject-xdc/sha2" "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-464e6056-42c7-419c-b5da-cd5ee6ee007d-1700995884656/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-4d24b841-016b-44fc-a3c3-cb1cf8146c50-1701315088412/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": version "5.6.2" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c7bf33df-7cc1-4620-8007-680c45154c0e-1700995884657/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/web" bech32 "1.1.4" ws "7.4.6" "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-dfde42aa-975e-4b4a-82cc-d750d9b0790a-1700995884657/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-dfde42aa-975e-4b4a-82cc-d750d9b0790a-1700995884657/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-2e2e4eb3-c128-4de5-9820-a8d87fa173a0-1701315088414/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-2e2e4eb3-c128-4de5-9820-a8d87fa173a0-1701315088414/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-4ae41513-e7ae-4b38-9be5-adf5d39500a9-1700995884655/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-4ae41513-e7ae-4b38-9be5-adf5d39500a9-1700995884655/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-cd4cad76-381c-4faa-8666-8ddd6eb93810-1701315088412/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-cd4cad76-381c-4faa-8666-8ddd6eb93810-1701315088412/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-0058c340-594a-4716-94fe-8bf714788cdb-1700995884660/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-0058c340-594a-4716-94fe-8bf714788cdb-1700995884660/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-9b420930-c6ff-41f8-834d-1fe8f9f7cd81-1701315088414/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-9b420930-c6ff-41f8-834d-1fe8f9f7cd81-1701315088414/node_modules/@ethersproject-xdc/logger" hash.js "1.1.7" "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-772f7245-c24e-4d30-804e-dd3c4103ade1-1700995884662/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-772f7245-c24e-4d30-804e-dd3c4103ade1-1700995884662/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-772f7245-c24e-4d30-804e-dd3c4103ade1-1700995884662/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-5e9c23bc-7626-4e3b-87fc-3d8bc6111212-1701315088413/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-5e9c23bc-7626-4e3b-87fc-3d8bc6111212-1701315088413/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-5e9c23bc-7626-4e3b-87fc-3d8bc6111212-1701315088413/node_modules/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1185,76 +1185,76 @@ "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-2046e61c-72b0-446c-a843-2ed6f5b457bb-1700995884661/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-1d81b568-4711-401d-afb1-00dcb5722057-1700995884663/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-1d81b568-4711-401d-afb1-00dcb5722057-1700995884663/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-1d81b568-4711-401d-afb1-00dcb5722057-1700995884663/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-898f9c06-0ebd-46d7-90ad-2a2456d814f5-1701315088415/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-898f9c06-0ebd-46d7-90ad-2a2456d814f5-1701315088415/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-898f9c06-0ebd-46d7-90ad-2a2456d814f5-1701315088415/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-c38088d6-b007-4711-a297-9fbadefbd747-1700995884664/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/signing-key" "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-575014ed-8616-4381-87a7-2ae8b2e84c91-1700995884674/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-575014ed-8616-4381-87a7-2ae8b2e84c91-1700995884674/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-575014ed-8616-4381-87a7-2ae8b2e84c91-1700995884674/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-ebf9fc11-cfd2-41ef-a384-0fb60edecb99-1701315088423/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-ebf9fc11-cfd2-41ef-a384-0fb60edecb99-1701315088423/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-ebf9fc11-cfd2-41ef-a384-0fb60edecb99-1701315088423/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-92cd76ed-9ec0-4527-9d0d-fb75c6ef535a-1700995884665/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": version "5.7.1" dependencies: - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1acd968d-4aa7-4c6d-afc7-8169a002883b-1700995884667/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3da52bca-a192-436b-a9de-344a2761c86c-1700995884670/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/strings" "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -7340,36 +7340,36 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: "ethers-xdc@file:./vendor/ethers-xdc": version "5.7.2" dependencies: - "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c258df1a-267a-47c4-89c6-2a3b373c9e00-1700995884563/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" @@ -14141,10 +14141,10 @@ typescript-tuple@^2.2.1: dependencies: typescript-compare "^0.0.2" -typescript@^4.3.2: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.2.tgz#00d1c7c1c46928c5845c1ee8d0cc2791031d4c43" + integrity sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ== u3@^0.1.1: version "0.1.1" From 247953e06c899d6fd6940720b8566203748e02c8 Mon Sep 17 00:00:00 2001 From: Michael Feng Date: Fri, 1 Dec 2023 13:53:30 -0800 Subject: [PATCH 47/67] (fix) remove local lookups for xdc ethers lib --- .gitignore | 3 + yarn-error.log | 17592 ----------------------------------------------- yarn.lock | 364 +- 3 files changed, 185 insertions(+), 17774 deletions(-) delete mode 100644 yarn-error.log diff --git a/.gitignore b/.gitignore index 847acba67f..29657f9620 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,6 @@ package-lock.json # VSCode .vscode/ .history + +# Yarn +yarn-error.log \ No newline at end of file diff --git a/yarn-error.log b/yarn-error.log deleted file mode 100644 index 6bd15fc708..0000000000 --- a/yarn-error.log +++ /dev/null @@ -1,17592 +0,0 @@ -Arguments: - /home/vic/.nvm/versions/node/v16.20.0/bin/node /usr/local/bin/yarn - -PATH: - /home/vic/.vscode-server/bin/6445d93c81ebe42c4cbd7a60712e0b17d9463e97/bin/remote-cli:/home/vic/.nvm/versions/node/v16.20.0/bin:/home/vic/anaconda3/bin:/home/vic/anaconda3/condabin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/wsl/lib:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/Program Files (x86)/NVIDIA Corporation/PhysX/Common:/mnt/c/Program Files/NVIDIA Corporation/NVIDIA NvDLISR:/mnt/c/Program Files (x86)/GnuPG/bin:/mnt/c/Program Files/PuTTY:/mnt/c/Program Files/Git/cmd:/mnt/c/Windows/System32:/mnt/c/Windows:/mnt/c/Windows/System32/wbem:/mnt/c/Windows/System32/WindowsPowerShell/v1.0:/mnt/c/Windows/System32/OpenSSH:/Docker/host/bin:/mnt/c/Users/victo/AppData/Local/Programs/Python/Python310/Scripts:/mnt/c/Users/victo/AppData/Local/Programs/Python/Python310:/mnt/c/Users/victo/AppData/Local/Microsoft/WindowsApps:/mnt/c/Users/victo/AppData/Local/Programs/Microsoft VS Code/bin:/snap/bin - -Yarn version: - 1.22.18 - -Node version: - 16.20.0 - -Platform: - linux x64 - -Trace: - Error: https://registry.yarnpkg.com/curvefi%2fapi: Request "https://registry.yarnpkg.com/curvefi%2fapi" returned a 405 - at Request.params.callback [as _callback] (/usr/local/lib/node_modules/yarn/lib/cli.js:66147:18) - at Request.self.callback (/usr/local/lib/node_modules/yarn/lib/cli.js:140883:22) - at Request.emit (node:events:513:28) - at Request. (/usr/local/lib/node_modules/yarn/lib/cli.js:141855:10) - at Request.emit (node:events:513:28) - at IncomingMessage. (/usr/local/lib/node_modules/yarn/lib/cli.js:141777:12) - at Object.onceWrapper (node:events:627:28) - at IncomingMessage.emit (node:events:525:35) - at endReadableNT (node:internal/streams/readable:1358:12) - at processTicksAndRejections (node:internal/process/task_queues:83:21) - -npm manifest: - { - "name": "hummingbot-gateway", - "version": "1.18.0", - "description": "Middleware that helps Hummingbot clients access standardized DEX API endpoints on different blockchain networks", - "main": "index.js", - "license": "Apache-2.0", - "repository": "https://github.com/hummingbot/gateway", - "scripts": { - "prebuild": "rimraf dist && mkdir dist", - "build": "tsc --skipLibCheck --project ./ && yarn copy-files", - "clean": "rm -rf ./node_modules && rm -rf ./coverage && rm -rf ./logs && yarn run clean:config", - "clean:config": "find ./conf -maxdepth 1 -regextype posix-extended -regex '.*.*' -delete", - "format": "prettier . --write", - "lint": "eslint src test test-scripts --format table --fix", - "dev": "nodemon src/index.ts", - "dev:debug": "NODE_ENV=dev DEBUG=* nodemon src/index.ts", - "start": "/bin/bash ./startup.sh", - "copy-files": "copyfiles -a 'src/**/schema/*.json' 'src/templates/*.yml' 'src/templates/lists/*.json' 'test/services/data/**/*.*' dist", - "test": "jest --verbose", - "test:debug": "node --inspect node_modules/.bin/jest --watch --runInBand", - "test:unit": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --verbose ./test/", - "test:cov": "NODE_OPTIONS=--max_old_space_size=10240 jest --runInBand --coverage ./test/", - "test:scripts": "jest -i --verbose ./test-scripts/*.test.ts" - }, - "dependencies": { - "@cosmjs/proto-signing": "^0.28.10", - "@cosmjs/stargate": "^0.28.13", - "@crocswap/sdk": "^2.4.5", - "curvefi/api": "vic-en/curvefi/api#master", - "@ethersproject/abstract-provider": "5.7.0", - "@ethersproject/address": "5.7.0", - "@ethersproject/contracts": "5.7.0", - "@ethersproject/networks": "5.7.0", - "@ethersproject/providers": "5.7.0", - "@ethersproject/solidity": "5.7.0", - "@harmony-js/core": "^0.1.57", - "@harmony-js/utils": "^0.1.56", - "@improbable-eng/grpc-web": "^0.13.0", - "@injectivelabs/networks": "^1.10.8", - "@injectivelabs/sdk-ts": "^1.10.58", - "@injectivelabs/ts-types": "^1.0.29", - "@injectivelabs/wallet-ts": "^1.10.63", - "@pancakeswap/sdk": "^2.4.5", - "@pangolindex/sdk": "^1.1.0", - "@perp/sdk-curie": "^1.16.0", - "@sushiswap/sdk": "^5.0.0-canary.116", - "@tinymanorg/tinyman-js-sdk": "^3.0.0", - "@traderjoe-xyz/sdk-v2": "^2.0.5", - "@types/fs-extra": "^9.0.13", - "@types/lodash": "^4.14.178", - "@types/minimist": "^1.2.2", - "@types/morgan": "^1.9.3", - "@types/uuid": "^8.3.4", - "@uniswap/sdk": "3.0.2", - "@uniswap/sdk-core": "^3.0.0", - "@uniswap/smart-order-router": "^2.5.26", - "@uniswap/v3-core": "^1.0.0", - "@uniswap/v3-periphery": "^1.1.1", - "@uniswap/v3-sdk": "^3.7.0", - "@zuzu-cat/defira-sdk": "^1.0.0", - "abi-decoder": "^2.4.0", - "ajv": "^8.6.3", - "algosdk": "^2.2.0", - "app-root-path": "^3.0.0", - "axios": "^0.21.1", - "big.js": "6.1.1", - "bn.js": "^5.2.1", - "body-parser": "^1.19.0", - "chalk": "^4.1.0", - "coinalpha-ref-sdk": "1.1.0", - "dayjs": "^1.10.6", - "decimal.js-light": "^2.5.1", - "ethers": "^5.6.2", - "ethers-xdc": "file:./vendor/ethers-xdc", - "express": "^4.17.1", - "express-winston": "^4.1.0", - "fs-extra": "^10.0.0", - "js-yaml": "^4.1.0", - "level": "^8.0.0", - "lodash": "^4.17.21", - "lru-cache": "^7.14.1", - "mathjs": "^10.5.0", - "minimist": "^1.2.6", - "morgan": "^1.10.0", - "near-api-js": "1.0.0", - "promise-retry": "^2.0.1", - "quickswap-sdk": "^3.0.8", - "swagger-ui-express": "^4.1.6", - "tslib": "^2.3.1", - "uuid": "^8.3.2", - "vvs-sdk": "^2.4.0", - "web3": "^1.7.3", - "winston": "^3.3.3", - "winston-daily-rotate-file": "^4.5.5", - "xsswap-sdk": "^1.0.1", - "yarn": "^1.22.17" - }, - "devDependencies": { - "@babel/core": "^7.0.0-0", - "@babel/runtime": "^7.0", - "@connectis/diff-test-coverage": "^1.5.1", - "@improbable-eng/grpc-web": "^0.13.0", - "@solana/web3.js": "^1.58.0", - "@types/app-root-path": "^1.2.4", - "@types/big.js": "^6.1.3", - "@types/bs58": "^4.0.1", - "@types/express": "^4.17.12", - "@types/fs-extra": "^9.0.13", - "@types/jest": "^27.4.1", - "@types/js-yaml": "^4.0.2", - "@types/level": "^6.0.0", - "@types/lodash": "^4.14.178", - "@types/mathjs": "^9.4.2", - "@types/minimist": "^1.2.2", - "@types/node": "^15.12.4", - "@types/node-fetch": "^2.6.1", - "@types/promise-retry": "^1.1.3", - "@types/supertest": "^2.0.11", - "@types/swagger-ui-express": "^4.1.3", - "@types/uuid": "^8.3.4", - "@types/ws": "^8.5.3", - "@typescript-eslint/eslint-plugin": "^4.26.1", - "@typescript-eslint/parser": "^4.26.1", - "bs58": "^4.0.1", - "copyfiles": "^2.4.1", - "eslint": "^7.25.0", - "eslint-config-prettier": "^8.3.0", - "eslint-config-standard": "^16.0.3", - "eslint-plugin-import": "^2.23.4", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-prettier": "^3.4.0", - "eslint-plugin-promise": "^5.1.0", - "eslint-plugin-standard": "^4.0.1", - "google-protobuf": "^3.2.0", - "hardhat": "^2.13.0", - "jest": "^27.3.1", - "jest-extended": "^0.11.5", - "jsbi": "^3.2.0", - "mock-ethers-provider": "^1.0.2", - "node-cache": "5.1.2", - "nodemon": "^2.0.16", - "prettier": "^2.3.0", - "react": "^18", - "react-dom": "^18", - "rimraf": "^3.0.2", - "supertest": "^6.1.6", - "ts-jest": "^27.0.5", - "ts-node": "^10.0.0", - "typescript": "^4.3.2", - "viem": "^0.3.x" - }, - "resolutions": { - "web3-utils": "1.7.3" - } - } - -yarn manifest: - No manifest - -Lockfile: - # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. - # yarn lockfile v1 - - - "@adraffy/ens-normalize@1.9.0": - version "1.9.0" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" - integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== - - "@adraffy/ens-normalize@1.9.2": - version "1.9.2" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.2.tgz#60111a5d9db45b2e5cbb6231b0bb8d97e8659316" - integrity sha512-0h+FrQDqe2Wn+IIGFkTCd4aAwTJ+7834Ek1COohCyV26AXhwQ7WQaz+4F/nLOeVl/3BtWHOHLPsq46V8YB46Eg== - - "@ampproject/remapping@^2.2.0": - version "2.2.0" - resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" - integrity sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w== - dependencies: - "@jridgewell/gen-mapping" "^0.1.0" - "@jridgewell/trace-mapping" "^0.3.9" - - "@apocentre/alias-sampling@^0.5.3": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@apocentre/alias-sampling/-/alias-sampling-0.5.3.tgz#897ff181b48ad7b2bcb4ecf29400214888244f08" - integrity sha512-7UDWIIF9hIeJqfKXkNIzkVandlwLf1FWTSdrb9iXvOP8oF544JRXQjCbiTmCv2c9n44n/FIWtehhBfNuAx2CZA== - - "@apollo/client@^3.5.8": - version "3.7.10" - resolved "https://registry.yarnpkg.com/@apollo/client/-/client-3.7.10.tgz#addc5fcebaf016981d9476268a06d529be83f568" - integrity sha512-/k1MfrqPKYiPNdHcOzdxg9cEx96vhAGxAcSorzfBvV29XtFQcYW2cPNQOTjK/fpSMtqVo8UNmu5vwQAWD1gfCg== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - "@wry/context" "^0.7.0" - "@wry/equality" "^0.5.0" - "@wry/trie" "^0.3.0" - graphql-tag "^2.12.6" - hoist-non-react-statics "^3.3.2" - optimism "^0.16.1" - prop-types "^15.7.2" - response-iterator "^0.2.6" - symbol-observable "^4.0.0" - ts-invariant "^0.10.3" - tslib "^2.3.0" - zen-observable-ts "^1.2.5" - - "@apollo/protobufjs@1.2.6": - version "1.2.6" - resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.6.tgz#d601e65211e06ae1432bf5993a1a0105f2862f27" - integrity sha512-Wqo1oSHNUj/jxmsVp4iR3I480p6qdqHikn38lKrFhfzcDJ7lwd7Ck7cHRl4JE81tWNArl77xhnG/OkZhxKBYOw== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.0" - "@types/node" "^10.1.0" - long "^4.0.0" - - "@apollo/protobufjs@1.2.7": - version "1.2.7" - resolved "https://registry.yarnpkg.com/@apollo/protobufjs/-/protobufjs-1.2.7.tgz#3a8675512817e4a046a897e5f4f16415f16a7d8a" - integrity sha512-Lahx5zntHPZia35myYDBRuF58tlwPskwHc5CWBZC/4bMKB6siTBWwtMrkqXcsNwQiFSzSx5hKdRPUmemrEp3Gg== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.0" - long "^4.0.0" - - "@apollo/usage-reporting-protobuf@^4.0.0": - version "4.1.0" - resolved "https://registry.yarnpkg.com/@apollo/usage-reporting-protobuf/-/usage-reporting-protobuf-4.1.0.tgz#b54b8c32702bbe81aa0e399076ddabaf75a13f9b" - integrity sha512-hXouMuw5pQVkzi8dgMybmr6Y11+eRmMQVoB5TF0HyTwAg9SOq/v3OCuiYqcVUKdBcskU9Msp+XvjAk0GKpWCwQ== - dependencies: - "@apollo/protobufjs" "1.2.7" - - "@apollo/utils.dropunuseddefinitions@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@apollo/utils.dropunuseddefinitions/-/utils.dropunuseddefinitions-1.1.0.tgz#02b04006442eaf037f4c4624146b12775d70d929" - integrity sha512-jU1XjMr6ec9pPoL+BFWzEPW7VHHulVdGKMkPAMiCigpVIT11VmCbnij0bWob8uS3ODJ65tZLYKAh/55vLw2rbg== - - "@apollo/utils.keyvaluecache@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@apollo/utils.keyvaluecache/-/utils.keyvaluecache-1.0.2.tgz#2bfe358c4d82f3a0950518451996758c52613f57" - integrity sha512-p7PVdLPMnPzmXSQVEsy27cYEjVON+SH/Wb7COyW3rQN8+wJgT1nv9jZouYtztWW8ZgTkii5T6tC9qfoDREd4mg== - dependencies: - "@apollo/utils.logger" "^1.0.0" - lru-cache "7.10.1 - 7.13.1" - - "@apollo/utils.logger@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.logger/-/utils.logger-1.0.1.tgz#aea0d1bb7ceb237f506c6bbf38f10a555b99a695" - integrity sha512-XdlzoY7fYNK4OIcvMD2G94RoFZbzTQaNP0jozmqqMudmaGo2I/2Jx71xlDJ801mWA/mbYRihyaw6KJii7k5RVA== - - "@apollo/utils.printwithreducedwhitespace@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@apollo/utils.printwithreducedwhitespace/-/utils.printwithreducedwhitespace-1.1.0.tgz#c466299a4766eef8577a2a64c8f27712e8bd7e30" - integrity sha512-GfFSkAv3n1toDZ4V6u2d7L4xMwLA+lv+6hqXicMN9KELSJ9yy9RzuEXaX73c/Ry+GzRsBy/fdSUGayGqdHfT2Q== - - "@apollo/utils.removealiases@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@apollo/utils.removealiases/-/utils.removealiases-1.0.0.tgz#75f6d83098af1fcae2d3beb4f515ad4a8452a8c1" - integrity sha512-6cM8sEOJW2LaGjL/0vHV0GtRaSekrPQR4DiywaApQlL9EdROASZU5PsQibe2MWeZCOhNrPRuHh4wDMwPsWTn8A== - - "@apollo/utils.sortast@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@apollo/utils.sortast/-/utils.sortast-1.1.0.tgz#93218c7008daf3e2a0725196085a33f5aab5ad07" - integrity sha512-VPlTsmUnOwzPK5yGZENN069y6uUHgeiSlpEhRnLFYwYNoJHsuJq2vXVwIaSmts015WTPa2fpz1inkLYByeuRQA== - dependencies: - lodash.sortby "^4.7.0" - - "@apollo/utils.stripsensitiveliterals@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@apollo/utils.stripsensitiveliterals/-/utils.stripsensitiveliterals-1.2.0.tgz#4920651f36beee8e260e12031a0c5863ad0c7b28" - integrity sha512-E41rDUzkz/cdikM5147d8nfCFVKovXxKBcjvLEQ7bjZm/cg9zEcXvS6vFY8ugTubI3fn6zoqo0CyU8zT+BGP9w== - - "@apollo/utils.usagereporting@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@apollo/utils.usagereporting/-/utils.usagereporting-1.0.1.tgz#3c70b49e554771659576fe35381c7a4b321d27fd" - integrity sha512-6dk+0hZlnDbahDBB2mP/PZ5ybrtCJdLMbeNJD+TJpKyZmSY6bA3SjI8Cr2EM9QA+AdziywuWg+SgbWUF3/zQqQ== - dependencies: - "@apollo/usage-reporting-protobuf" "^4.0.0" - "@apollo/utils.dropunuseddefinitions" "^1.1.0" - "@apollo/utils.printwithreducedwhitespace" "^1.1.0" - "@apollo/utils.removealiases" "1.0.0" - "@apollo/utils.sortast" "^1.1.0" - "@apollo/utils.stripsensitiveliterals" "^1.2.0" - - "@apollographql/apollo-tools@^0.5.3": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@apollographql/apollo-tools/-/apollo-tools-0.5.4.tgz#cb3998c6cf12e494b90c733f44dd9935e2d8196c" - integrity sha512-shM3q7rUbNyXVVRkQJQseXv6bnYM3BUma/eZhwXR4xsuM+bqWnJKvW7SAfRjP7LuSCocrexa5AXhjjawNHrIlw== - - "@apollographql/graphql-playground-html@1.6.29": - version "1.6.29" - resolved "https://registry.yarnpkg.com/@apollographql/graphql-playground-html/-/graphql-playground-html-1.6.29.tgz#a7a646614a255f62e10dcf64a7f68ead41dec453" - integrity sha512-xCcXpoz52rI4ksJSdOCxeOCn2DLocxwHf9dVT/Q90Pte1LX+LY+91SFtJF3KXVHH8kEin+g1KKCQPKBjZJfWNA== - dependencies: - xss "^1.0.8" - - "@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.18.6.tgz#3b25d38c89600baa2dcc219edfa88a74eb2c427a" - integrity sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q== - dependencies: - "@babel/highlight" "^7.18.6" - - "@babel/compat-data@^7.20.5": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" - integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== - - "@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.3.tgz#cf1c877284a469da5d1ce1d1e53665253fae712e" - integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.3" - "@babel/helper-compilation-targets" "^7.20.7" - "@babel/helper-module-transforms" "^7.21.2" - "@babel/helpers" "^7.21.0" - "@babel/parser" "^7.21.3" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.3" - "@babel/types" "^7.21.3" - convert-source-map "^1.7.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.2" - semver "^6.3.0" - - "@babel/generator@^7.21.3", "@babel/generator@^7.7.2": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.3.tgz#232359d0874b392df04045d72ce2fd9bb5045fce" - integrity sha512-QS3iR1GYC/YGUnW7IdggFeN5c1poPUurnGttOV/bZgPGV+izC/D8HnD6DLwod0fsatNyVn1G3EVWMYIF0nHbeA== - dependencies: - "@babel/types" "^7.21.3" - "@jridgewell/gen-mapping" "^0.3.2" - "@jridgewell/trace-mapping" "^0.3.17" - jsesc "^2.5.1" - - "@babel/helper-compilation-targets@^7.20.7": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" - integrity sha512-4tGORmfQcrc+bvrjb5y3dG9Mx1IOZjsHqQVUz7XCNHO+iTmqxWnVg3KRygjGmpRLJGdQSKuvFinbIb0CnZwHAQ== - dependencies: - "@babel/compat-data" "^7.20.5" - "@babel/helper-validator-option" "^7.18.6" - browserslist "^4.21.3" - lru-cache "^5.1.1" - semver "^6.3.0" - - "@babel/helper-environment-visitor@^7.18.9": - version "7.18.9" - resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" - integrity sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg== - - "@babel/helper-function-name@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz#d552829b10ea9f120969304023cd0645fa00b1b4" - integrity sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg== - dependencies: - "@babel/template" "^7.20.7" - "@babel/types" "^7.21.0" - - "@babel/helper-hoist-variables@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz#d4d2c8fb4baeaa5c68b99cc8245c56554f926678" - integrity sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q== - dependencies: - "@babel/types" "^7.18.6" - - "@babel/helper-module-imports@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.18.6.tgz#1e3ebdbbd08aad1437b428c50204db13c5a3ca6e" - integrity sha512-0NFvs3VkuSYbFi1x2Vd6tKrywq+z/cLeYC/RJNFrIX/30Bf5aiGYbtvGXolEktzJH8o5E5KJ3tT+nkxuuZFVlA== - dependencies: - "@babel/types" "^7.18.6" - - "@babel/helper-module-transforms@^7.21.2": - version "7.21.2" - resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" - integrity sha512-79yj2AR4U/Oqq/WOV7Lx6hUjau1Zfo4cI+JLAVYeMV5XIlbOhmjEk5ulbTc9fMpmlojzZHkUUxAiK+UKn+hNQQ== - dependencies: - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-module-imports" "^7.18.6" - "@babel/helper-simple-access" "^7.20.2" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/helper-validator-identifier" "^7.19.1" - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.2" - "@babel/types" "^7.21.2" - - "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" - integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== - - "@babel/helper-simple-access@^7.20.2": - version "7.20.2" - resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" - integrity sha512-+0woI/WPq59IrqDYbVGfshjT5Dmk/nnbdpcF8SnMhhXObpTq2KNBdLFRFrkVdbDOyUmHBCxzm5FHV1rACIkIbA== - dependencies: - "@babel/types" "^7.20.2" - - "@babel/helper-split-export-declaration@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" - integrity sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA== - dependencies: - "@babel/types" "^7.18.6" - - "@babel/helper-string-parser@^7.19.4": - version "7.19.4" - resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.19.4.tgz#38d3acb654b4701a9b77fb0615a96f775c3a9e63" - integrity sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw== - - "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": - version "7.19.1" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" - integrity sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w== - - "@babel/helper-validator-option@^7.18.6": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" - integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== - - "@babel/helpers@^7.21.0": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" - integrity sha512-XXve0CBtOW0pd7MRzzmoyuSj0e3SEzj8pgyFxnTT1NJZL38BD1MK7yYrm8yefRPIDvNNe14xR4FdbHwpInD4rA== - dependencies: - "@babel/template" "^7.20.7" - "@babel/traverse" "^7.21.0" - "@babel/types" "^7.21.0" - - "@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": - version "7.18.6" - resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" - integrity sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g== - dependencies: - "@babel/helper-validator-identifier" "^7.18.6" - chalk "^2.0.0" - js-tokens "^4.0.0" - - "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3" - integrity sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ== - - "@babel/plugin-syntax-async-generators@^7.8.4": - version "7.8.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" - integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - - "@babel/plugin-syntax-bigint@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz#4c9a6f669f5d0cdf1b90a1671e9a146be5300cea" - integrity sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - - "@babel/plugin-syntax-class-properties@^7.8.3": - version "7.12.13" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" - integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== - dependencies: - "@babel/helper-plugin-utils" "^7.12.13" - - "@babel/plugin-syntax-import-meta@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" - integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - - "@babel/plugin-syntax-json-strings@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a" - integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - - "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" - integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - - "@babel/plugin-syntax-nullish-coalescing-operator@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz#167ed70368886081f74b5c36c65a88c03b66d1a9" - integrity sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - - "@babel/plugin-syntax-numeric-separator@^7.8.3": - version "7.10.4" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" - integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== - dependencies: - "@babel/helper-plugin-utils" "^7.10.4" - - "@babel/plugin-syntax-object-rest-spread@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871" - integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - - "@babel/plugin-syntax-optional-catch-binding@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1" - integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - - "@babel/plugin-syntax-optional-chaining@^7.8.3": - version "7.8.3" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz#4f69c2ab95167e0180cd5336613f8c5788f7d48a" - integrity sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - - "@babel/plugin-syntax-top-level-await@^7.8.3": - version "7.14.5" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" - integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== - dependencies: - "@babel/helper-plugin-utils" "^7.14.5" - - "@babel/plugin-syntax-typescript@^7.7.2": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.20.0.tgz#4e9a0cfc769c85689b77a2e642d24e9f697fc8c7" - integrity sha512-rd9TkG+u1CExzS4SM1BlMEhMXwFLKVjOAFFCDx9PbX5ycJWDoWMcwdJH9RhkPu1dOgn5TrxLot/Gx6lWFuAUNQ== - dependencies: - "@babel/helper-plugin-utils" "^7.19.0" - - "@babel/runtime@7.20.13": - version "7.20.13" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.13.tgz#7055ab8a7cff2b8f6058bf6ae45ff84ad2aded4b" - integrity sha512-gt3PKXs0DBoL9xCvOIIZ2NEqAGZqHjAnmVbfQtB620V0uReIQutpel14KcneZuer7UioY8ALKZ7iocavvzTNFA== - dependencies: - regenerator-runtime "^0.13.11" - - "@babel/runtime@^7.0", "@babel/runtime@^7.12.5", "@babel/runtime@^7.15.4", "@babel/runtime@^7.17.2", "@babel/runtime@^7.18.6", "@babel/runtime@^7.21.0", "@babel/runtime@^7.6.3", "@babel/runtime@^7.9.2": - version "7.21.0" - resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.21.0.tgz#5b55c9d394e5fcf304909a8b00c07dc217b56673" - integrity sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw== - dependencies: - regenerator-runtime "^0.13.11" - - "@babel/template@^7.20.7", "@babel/template@^7.3.3": - version "7.20.7" - resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.20.7.tgz#a15090c2839a83b02aa996c0b4994005841fd5a8" - integrity sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - - "@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3", "@babel/traverse@^7.7.2": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.21.3.tgz#4747c5e7903d224be71f90788b06798331896f67" - integrity sha512-XLyopNeaTancVitYZe2MlUEvgKb6YVVPXzofHgqHijCImG33b/uTurMS488ht/Hbsb2XK3U2BnSTxKVNGV3nGQ== - dependencies: - "@babel/code-frame" "^7.18.6" - "@babel/generator" "^7.21.3" - "@babel/helper-environment-visitor" "^7.18.9" - "@babel/helper-function-name" "^7.21.0" - "@babel/helper-hoist-variables" "^7.18.6" - "@babel/helper-split-export-declaration" "^7.18.6" - "@babel/parser" "^7.21.3" - "@babel/types" "^7.21.3" - debug "^4.1.0" - globals "^11.1.0" - - "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": - version "7.21.3" - resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.3.tgz#4865a5357ce40f64e3400b0f3b737dc6d4f64d05" - integrity sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg== - dependencies: - "@babel/helper-string-parser" "^7.19.4" - "@babel/helper-validator-identifier" "^7.19.1" - to-fast-properties "^2.0.0" - - "@bcoe/v8-coverage@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" - integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== - - "@blocto/sdk@^0.2.22": - version "0.2.22" - resolved "https://registry.yarnpkg.com/@blocto/sdk/-/sdk-0.2.22.tgz#c7fe62809de0640a0a3f7a043c5bbceb8be17e38" - integrity sha512-Ro1AiISSlOiri/It932NEFxnDuF83Ide+z0p3KHs5+CdYYLYgCMmyroQnfRtoh3mbXdrTvI+EAuSkr+meWNqrg== - dependencies: - bs58 "^4.0.1" - buffer "^6.0.3" - eip1193-provider "^1.0.1" - js-sha3 "^0.8.0" - - "@censo-custody/solana-wallet-adapter@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@censo-custody/solana-wallet-adapter/-/solana-wallet-adapter-0.1.0.tgz#064adae9f216dc4b726c1cc45b6b24cf0c734f07" - integrity sha512-iM1jFVzBMfk7iokgUVfA2xvGUegixklUISgMARa/VA2mFIjoi32t4xmD8PtWHht81fmg107aYhLnTV1cM7NkAg== - dependencies: - "@solana/web3.js" "^1.44.3" - bs58 "^4.0.1" - eventemitter3 "^4.0.7" - uuid "^8.3.2" - - "@chainsafe/as-sha256@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@chainsafe/as-sha256/-/as-sha256-0.3.1.tgz#3639df0e1435cab03f4d9870cc3ac079e57a6fc9" - integrity sha512-hldFFYuf49ed7DAakWVXSJODuq3pzJEguD8tQ7h+sGkM18vja+OFoJI9krnGmgzyuZC2ETX0NOIcCTy31v2Mtg== - - "@chainsafe/as-sha256@^0.4.1": - version "0.4.1" - resolved "https://registry.yarnpkg.com/@chainsafe/as-sha256/-/as-sha256-0.4.1.tgz#cfc0737e25f8c206767bdb6703e7943e5d44513e" - integrity sha512-IqeeGwQihK6Y2EYLFofqs2eY2ep1I2MvQXHzOAI+5iQN51OZlUkrLgyAugu2x86xZewDk5xas7lNczkzFzF62w== - - "@chainsafe/persistent-merkle-tree@^0.4.2": - version "0.4.2" - resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.4.2.tgz#4c9ee80cc57cd3be7208d98c40014ad38f36f7ff" - integrity sha512-lLO3ihKPngXLTus/L7WHKaw9PnNJWizlOF1H9NNzHP6Xvh82vzg9F2bzkXhYIFshMZ2gTCEz8tq6STe7r5NDfQ== - dependencies: - "@chainsafe/as-sha256" "^0.3.1" - - "@chainsafe/persistent-merkle-tree@^0.6.1": - version "0.6.1" - resolved "https://registry.yarnpkg.com/@chainsafe/persistent-merkle-tree/-/persistent-merkle-tree-0.6.1.tgz#37bde25cf6cbe1660ad84311aa73157dc86ec7f2" - integrity sha512-gcENLemRR13+1MED2NeZBMA7FRS0xQPM7L2vhMqvKkjqtFT4YfjSVADq5U0iLuQLhFUJEMVuA8fbv5v+TN6O9A== - dependencies: - "@chainsafe/as-sha256" "^0.4.1" - "@noble/hashes" "^1.3.0" - - "@chainsafe/ssz@0.9.4": - version "0.9.4" - resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.9.4.tgz#696a8db46d6975b600f8309ad3a12f7c0e310497" - integrity sha512-77Qtg2N1ayqs4Bg/wvnWfg5Bta7iy7IRh8XqXh7oNMeP2HBbBwx8m6yTpA8p0EHItWPEBkgZd5S5/LSlp3GXuQ== - dependencies: - "@chainsafe/as-sha256" "^0.3.1" - "@chainsafe/persistent-merkle-tree" "^0.4.2" - case "^1.6.3" - - "@chainsafe/ssz@^0.11.1": - version "0.11.1" - resolved "https://registry.yarnpkg.com/@chainsafe/ssz/-/ssz-0.11.1.tgz#d4aec883af2ec5196ae67b96242c467da20b2476" - integrity sha512-cB8dBkgGN6ZoeOKuk+rIRHKN0L5i9JLGeC0Lui71QX0TuLcQKwgbfkUexpyJxnGFatWf8yeJxlOjozMn/OTP0g== - dependencies: - "@chainsafe/as-sha256" "^0.4.1" - "@chainsafe/persistent-merkle-tree" "^0.6.1" - - "@colors/colors@1.5.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9" - integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ== - - "@confio/ics23@^0.6.8": - version "0.6.8" - resolved "https://registry.yarnpkg.com/@confio/ics23/-/ics23-0.6.8.tgz#2a6b4f1f2b7b20a35d9a0745bb5a446e72930b3d" - integrity sha512-wB6uo+3A50m0sW/EWcU64xpV/8wShZ6bMTa7pF8eYsTrSkQA7oLUIJcs/wb8g4y2Oyq701BaGiO6n/ak5WXO1w== - dependencies: - "@noble/hashes" "^1.0.0" - protobufjs "^6.8.8" - - "@connectis/coverage-merger@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@connectis/coverage-merger/-/coverage-merger-1.1.0.tgz#3aea911a381c04f3d544e95b093b564e420bd3d9" - integrity sha512-H/t4AIXW4/0cFybMqgZouZMZw8lawaaH0n5q8QgLfP26amAJCqyZk/JLlFrdAJtt/VWdklfXWPSOoXja6/UTsw== - dependencies: - lodash "^4.17.11" - - "@connectis/coverage-parser@^1.0.7": - version "1.0.8" - resolved "https://registry.yarnpkg.com/@connectis/coverage-parser/-/coverage-parser-1.0.8.tgz#87a8ed74dac8539b5f33c5dae32fd0f6ec3395a4" - integrity sha512-uQmq4flTwRMRP6GZQDpsy48L0NeBNWGcjLgOqmI0wLwSSt87x8sjfJb+uVIcoCbRCG4K6JnAJZEzILnExjOsAQ== - dependencies: - "@cvrg-report/clover-json" "^0.1.0" - bluebird "^3.5.2" - cobertura-parse "^1.0.5" - fast-glob "^2.2.3" - golang-cover-parse "^2.0.0" - jacoco-parse "^2.0.1" - lcov-parse "^1.0.0" - lodash "^4.17.11" - - "@connectis/diff-test-coverage@^1.5.1": - version "1.5.3" - resolved "https://registry.yarnpkg.com/@connectis/diff-test-coverage/-/diff-test-coverage-1.5.3.tgz#cf2109027931794aeafe554f3d79cbea1422c140" - integrity sha512-YXDVxcWQeN3BA2fWLu/3O8gLyYjJO2KL+MwqmD52CJHNehjvjq/U4RzYe5IUg6UsIs/evcKP3h7pt659HSSwHQ== - dependencies: - "@connectis/coverage-merger" "^1.1.0" - "@connectis/coverage-parser" "^1.0.7" - bluebird "^3.5.2" - chalk "^2.4.1" - diffparser "^2.0.1" - get-stdin "^6.0.0" - lodash "^4.17.11" - micromatch "^3.1.10" - strip-ansi "^5.0.0" - yargs "^12.0.2" - - "@cosmjs/amino@0.27.1": - version "0.27.1" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.27.1.tgz#0910256b5aecd794420bb5f7319d98fc63252fa1" - integrity sha512-w56ar/nK9+qlvWDpBPRmD0Blk2wfkkLqRi1COs1x7Ll1LF0AtkIBUjbRKplENLbNovK0T3h+w8bHiFm+GBGQOA== - dependencies: - "@cosmjs/crypto" "0.27.1" - "@cosmjs/encoding" "0.27.1" - "@cosmjs/math" "0.27.1" - "@cosmjs/utils" "0.27.1" - - "@cosmjs/amino@0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.28.13.tgz#b51417a23c1ff8ef8b85a6862eba8492c6c44f38" - integrity sha512-IHnH2zGwaY69qT4mVAavr/pfzx6YE+ud1NHJbvVePlbGiz68CXTi5LHR+K0lrKB5mQ7E+ZErWz2mw5U/x+V1wQ== - dependencies: - "@cosmjs/crypto" "0.28.13" - "@cosmjs/encoding" "0.28.13" - "@cosmjs/math" "0.28.13" - "@cosmjs/utils" "0.28.13" - - "@cosmjs/amino@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/amino/-/amino-0.30.1.tgz#7c18c14627361ba6c88e3495700ceea1f76baace" - integrity sha512-yNHnzmvAlkETDYIpeCTdVqgvrdt1qgkOXwuRVi8s27UKI5hfqyE9fJ/fuunXE6ZZPnKkjIecDznmuUOMrMvw4w== - dependencies: - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - - "@cosmjs/crypto@0.27.1": - version "0.27.1" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.27.1.tgz#271c853089a3baf3acd6cf0b2122fd49f8815743" - integrity sha512-vbcxwSt99tIYJg8Spp00wc3zx72qx+pY3ozGuBN8gAvySnagK9dQ/jHwtWQWdammmdD6oW+75WfIHZ+gNa+Ybg== - dependencies: - "@cosmjs/encoding" "0.27.1" - "@cosmjs/math" "0.27.1" - "@cosmjs/utils" "0.27.1" - bip39 "^3.0.2" - bn.js "^5.2.0" - elliptic "^6.5.3" - js-sha3 "^0.8.0" - libsodium-wrappers "^0.7.6" - ripemd160 "^2.0.2" - sha.js "^2.4.11" - - "@cosmjs/crypto@0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.28.13.tgz#541b6a36f616b2da5a568ead46d4e83841ceb412" - integrity sha512-ynKfM0q/tMBQMHJby6ad8lR3gkgBKaelQhIsCZTjClsnuC7oYT9y3ThSZCUWr7Pa9h0J8ahU2YV2oFWFVWJQzQ== - dependencies: - "@cosmjs/encoding" "0.28.13" - "@cosmjs/math" "0.28.13" - "@cosmjs/utils" "0.28.13" - "@noble/hashes" "^1" - bn.js "^5.2.0" - elliptic "^6.5.3" - libsodium-wrappers "^0.7.6" - - "@cosmjs/crypto@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/crypto/-/crypto-0.30.1.tgz#21e94d5ca8f8ded16eee1389d2639cb5c43c3eb5" - integrity sha512-rAljUlake3MSXs9xAm87mu34GfBLN0h/1uPPV6jEwClWjNkAMotzjC0ab9MARy5FFAvYHL3lWb57bhkbt2GtzQ== - dependencies: - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - "@noble/hashes" "^1" - bn.js "^5.2.0" - elliptic "^6.5.4" - libsodium-wrappers "^0.7.6" - - "@cosmjs/encoding@0.27.1": - version "0.27.1" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.27.1.tgz#3cd5bc0af743485eb2578cdb08cfa84c86d610e1" - integrity sha512-rayLsA0ojHeniaRfWWcqSsrE/T1rl1gl0OXVNtXlPwLJifKBeLEefGbOUiAQaT0wgJ8VNGBazVtAZBpJidfDhw== - dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" - - "@cosmjs/encoding@0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.28.13.tgz#7994e8e2c435beaf0690296ffb0f7f3eaec8150b" - integrity sha512-jtXbAYtV77rLHxoIrjGFsvgGjeTKttuHRv6cvuy3toCZzY7JzTclKH5O2g36IIE4lXwD9xwuhGJ2aa6A3dhNkA== - dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" - - "@cosmjs/encoding@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/encoding/-/encoding-0.30.1.tgz#b5c4e0ef7ceb1f2753688eb96400ed70f35c6058" - integrity sha512-rXmrTbgqwihORwJ3xYhIgQFfMSrwLu1s43RIK9I8EBudPx3KmnmyAKzMOVsRDo9edLFNuZ9GIvysUCwQfq3WlQ== - dependencies: - base64-js "^1.3.0" - bech32 "^1.1.4" - readonly-date "^1.0.0" - - "@cosmjs/json-rpc@0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.28.13.tgz#ff3f0c4a2f363b1a2c6779f8624a897e217fe297" - integrity sha512-fInSvg7x9P6p+GWqet+TMhrMTM3OWWdLJOGS5w2ryubMjgpR1rLiAx77MdTNkArW+/6sUwku0sN4veM4ENQu6A== - dependencies: - "@cosmjs/stream" "0.28.13" - xstream "^11.14.0" - - "@cosmjs/json-rpc@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/json-rpc/-/json-rpc-0.30.1.tgz#16f21305fc167598c8a23a45549b85106b2372bc" - integrity sha512-pitfC/2YN9t+kXZCbNuyrZ6M8abnCC2n62m+JtU9vQUfaEtVsgy+1Fk4TRQ175+pIWSdBMFi2wT8FWVEE4RhxQ== - dependencies: - "@cosmjs/stream" "^0.30.1" - xstream "^11.14.0" - - "@cosmjs/launchpad@0.27.1": - version "0.27.1" - resolved "https://registry.yarnpkg.com/@cosmjs/launchpad/-/launchpad-0.27.1.tgz#b6f1995748be96560f5f01e84d3ff907477dda77" - integrity sha512-DcFwGD/z5PK8CzO2sojDxa+Be9EIEtRZb2YawgVnw2Ht/p5FlNv+OVo8qlishpBdalXEN7FvQ1dVeDFEe9TuJw== - dependencies: - "@cosmjs/amino" "0.27.1" - "@cosmjs/crypto" "0.27.1" - "@cosmjs/encoding" "0.27.1" - "@cosmjs/math" "0.27.1" - "@cosmjs/utils" "0.27.1" - axios "^0.21.2" - fast-deep-equal "^3.1.3" - - "@cosmjs/math@0.27.1": - version "0.27.1" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.27.1.tgz#be78857b008ffc6b1ed6fecaa1c4cd5bc38c07d7" - integrity sha512-cHWVjmfIjtRc7f80n7x+J5k8pe+vTVTQ0lA82tIxUgqUvgS6rogPP/TmGtTiZ4+NxWxd11DUISY6gVpr18/VNQ== - dependencies: - bn.js "^5.2.0" - - "@cosmjs/math@0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.28.13.tgz#50c05bc67007a04216f7f5e0c93f57270f8cc077" - integrity sha512-PDpL8W/kbyeWi0mQ2OruyqE8ZUAdxPs1xCbDX3WXJwy2oU+X2UTbkuweJHVpS9CIqmZulBoWQAmlf6t6zr1N/g== - dependencies: - bn.js "^5.2.0" - - "@cosmjs/math@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/math/-/math-0.30.1.tgz#8b816ef4de5d3afa66cb9fdfb5df2357a7845b8a" - integrity sha512-yaoeI23pin9ZiPHIisa6qqLngfnBR/25tSaWpkTm8Cy10MX70UF5oN4+/t1heLaM6SSmRrhk3psRkV4+7mH51Q== - dependencies: - bn.js "^5.2.0" - - "@cosmjs/proto-signing@0.28.13", "@cosmjs/proto-signing@^0.28.10": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.28.13.tgz#95ac12f0da0f0814f348f5ae996c3e96d015df61" - integrity sha512-nSl/2ZLsUJYz3Ad0RY3ihZUgRHIow2OnYqKsESMu+3RA/jTi9bDYhiBu8mNMHI0xrEJry918B2CyI56pOUHdPQ== - dependencies: - "@cosmjs/amino" "0.28.13" - "@cosmjs/crypto" "0.28.13" - "@cosmjs/encoding" "0.28.13" - "@cosmjs/math" "0.28.13" - "@cosmjs/utils" "0.28.13" - cosmjs-types "^0.4.0" - long "^4.0.0" - - "@cosmjs/proto-signing@0.30.1", "@cosmjs/proto-signing@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/proto-signing/-/proto-signing-0.30.1.tgz#f0dda372488df9cd2677150b89b3e9c72b3cb713" - integrity sha512-tXh8pPYXV4aiJVhTKHGyeZekjj+K9s2KKojMB93Gcob2DxUjfKapFYBMJSgfKPuWUPEmyr8Q9km2hplI38ILgQ== - dependencies: - "@cosmjs/amino" "^0.30.1" - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - cosmjs-types "^0.7.1" - long "^4.0.0" - - "@cosmjs/socket@0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.28.13.tgz#d8443ad6e91d080fc6b80a7e9cf297a56b1f6833" - integrity sha512-lavwGxQ5VdeltyhpFtwCRVfxeWjH5D5mmN7jgx9nuCf3XSFbTcOYxrk2pQ4usenu1Q1KZdL4Yl5RCNrJuHD9Ug== - dependencies: - "@cosmjs/stream" "0.28.13" - isomorphic-ws "^4.0.1" - ws "^7" - xstream "^11.14.0" - - "@cosmjs/socket@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/socket/-/socket-0.30.1.tgz#00b22f4b5e2ab01f4d82ccdb7b2e59536bfe5ce0" - integrity sha512-r6MpDL+9N+qOS/D5VaxnPaMJ3flwQ36G+vPvYJsXArj93BjgyFB7BwWwXCQDzZ+23cfChPUfhbINOenr8N2Kow== - dependencies: - "@cosmjs/stream" "^0.30.1" - isomorphic-ws "^4.0.1" - ws "^7" - xstream "^11.14.0" - - "@cosmjs/stargate@^0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.28.13.tgz#a73d837a46ee8944e6eafe162f2ff6943c14350e" - integrity sha512-dVBMazDz8/eActHsRcZjDHHptOBMqvibj5CFgEtZBp22gP6ASzoAUXTlkSVk5FBf4sfuUHoff6st134/+PGMAg== - dependencies: - "@confio/ics23" "^0.6.8" - "@cosmjs/amino" "0.28.13" - "@cosmjs/encoding" "0.28.13" - "@cosmjs/math" "0.28.13" - "@cosmjs/proto-signing" "0.28.13" - "@cosmjs/stream" "0.28.13" - "@cosmjs/tendermint-rpc" "0.28.13" - "@cosmjs/utils" "0.28.13" - cosmjs-types "^0.4.0" - long "^4.0.0" - protobufjs "~6.11.3" - xstream "^11.14.0" - - "@cosmjs/stargate@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/stargate/-/stargate-0.30.1.tgz#e1b22e1226cffc6e93914a410755f1f61057ba04" - integrity sha512-RdbYKZCGOH8gWebO7r6WvNnQMxHrNXInY/gPHPzMjbQF6UatA6fNM2G2tdgS5j5u7FTqlCI10stNXrknaNdzog== - dependencies: - "@confio/ics23" "^0.6.8" - "@cosmjs/amino" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/proto-signing" "^0.30.1" - "@cosmjs/stream" "^0.30.1" - "@cosmjs/tendermint-rpc" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - cosmjs-types "^0.7.1" - long "^4.0.0" - protobufjs "~6.11.3" - xstream "^11.14.0" - - "@cosmjs/stream@0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.28.13.tgz#1e79d1116fda1e63e5ecddbd9d803d403942b1fa" - integrity sha512-AnjtfwT8NwPPkd3lhZhjOlOzT0Kn9bgEu2IPOZjQ1nmG2bplsr6TJmnwn0dJxHT7UGtex17h6whKB5N4wU37Wg== - dependencies: - xstream "^11.14.0" - - "@cosmjs/stream@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/stream/-/stream-0.30.1.tgz#ba038a2aaf41343696b1e6e759d8e03a9516ec1a" - integrity sha512-Fg0pWz1zXQdoxQZpdHRMGvUH5RqS6tPv+j9Eh7Q953UjMlrwZVo0YFLC8OTf/HKVf10E4i0u6aM8D69Q6cNkgQ== - dependencies: - xstream "^11.14.0" - - "@cosmjs/tendermint-rpc@0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.28.13.tgz#0bf587ae66fa3f88319edbd258492d28e73f9f29" - integrity sha512-GB+ZmfuJIGQm0hsRtLYjeR3lOxF7Z6XyCBR0cX5AAYOZzSEBJjevPgUHD6tLn8zIhvzxaW3/VKnMB+WmlxdH4w== - dependencies: - "@cosmjs/crypto" "0.28.13" - "@cosmjs/encoding" "0.28.13" - "@cosmjs/json-rpc" "0.28.13" - "@cosmjs/math" "0.28.13" - "@cosmjs/socket" "0.28.13" - "@cosmjs/stream" "0.28.13" - "@cosmjs/utils" "0.28.13" - axios "^0.21.2" - readonly-date "^1.0.0" - xstream "^11.14.0" - - "@cosmjs/tendermint-rpc@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/tendermint-rpc/-/tendermint-rpc-0.30.1.tgz#c16378892ba1ac63f72803fdf7567eab9d4f0aa0" - integrity sha512-Z3nCwhXSbPZJ++v85zHObeUggrEHVfm1u18ZRwXxFE9ZMl5mXTybnwYhczuYOl7KRskgwlB+rID0WYACxj4wdQ== - dependencies: - "@cosmjs/crypto" "^0.30.1" - "@cosmjs/encoding" "^0.30.1" - "@cosmjs/json-rpc" "^0.30.1" - "@cosmjs/math" "^0.30.1" - "@cosmjs/socket" "^0.30.1" - "@cosmjs/stream" "^0.30.1" - "@cosmjs/utils" "^0.30.1" - axios "^0.21.2" - readonly-date "^1.0.0" - xstream "^11.14.0" - - "@cosmjs/utils@0.27.1": - version "0.27.1" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.27.1.tgz#1c8efde17256346ef142a3bd15158ee4055470e2" - integrity sha512-VG7QPDiMUzVPxRdJahDV8PXxVdnuAHiIuG56hldV4yPnOz/si/DLNd7VAUUA5923b6jS1Hhev0Hr6AhEkcxBMg== - - "@cosmjs/utils@0.28.13": - version "0.28.13" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.28.13.tgz#2fd2844ec832d7833811e2ae1691305d09791a08" - integrity sha512-dVeMBiyg+46x7XBZEfJK8yTihphbCFpjVYmLJVqmTsHfJwymQ65cpyW/C+V/LgWARGK8hWQ/aX9HM5Ao8QmMSg== - - "@cosmjs/utils@^0.30.1": - version "0.30.1" - resolved "https://registry.yarnpkg.com/@cosmjs/utils/-/utils-0.30.1.tgz#6d92582341be3c2ec8d82090253cfa4b7f959edb" - integrity sha512-KvvX58MGMWh7xA+N+deCfunkA/ZNDvFLw4YbOmX3f/XBIkqrVY7qlotfy2aNb1kgp6h4B6Yc8YawJPDTfvWX7g== - - "@cosmostation/extension-client@^0.1.15": - version "0.1.15" - resolved "https://registry.yarnpkg.com/@cosmostation/extension-client/-/extension-client-0.1.15.tgz#cdc6d8fce42217704c1c0d5814f0ee7ce27e8dab" - integrity sha512-HlXYJjFrNpjiV/GUKhri1UL8/bhlOIFFLpRF78YDSqq16x0+plIqx5CAvEusFcKTDpVfpeD5sfUHiKvP7euNFg== - - "@crocswap/sdk@^2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@crocswap/sdk/-/sdk-2.4.5.tgz#4a4765af4a16c1af42fcbcc5e540e9dd8793a6c1" - integrity sha512-nIErmtZg3xNT97L7t0Xj6xJWA6WETETOBmvZwUNmYqQN33xo7iegVPxIx7XRo5taRVH2deN/qbr6IRxSeEvmJQ== - dependencies: - big.js "^5.2.2" - decimal.js-light "^2.5.0" - jsbi "^3.1.4" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - "@cspotcode/source-map-support@^0.8.0": - version "0.8.1" - resolved "https://registry.yarnpkg.com/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz#00629c35a688e05a88b1cda684fb9d5e73f000a1" - integrity sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw== - dependencies: - "@jridgewell/trace-mapping" "0.3.9" - - "@curvefi/api@vic-en/curvefi/api#master": - version "2.44.0" - resolved "https://registry.yarnpkg.com/@curvefi/api/-/api-2.44.0.tgz#0df6149c8f0764f56a9905438aa37099f1710705" - integrity sha512-3GPrUf2wTE2q7Lf0j7EpDpObwAG3Qn480UvY6YeMzq+8sQpuBsa42uXtXidNEr2vr7uA47hKH1tDrYbCmo/gdQ== - dependencies: - axios "^0.21.1" - bignumber.js "^9.0.1" - ethcall "^6.0.1" - ethers "^6.3.0" - memoizee "^0.4.15" - - "@cvrg-report/clover-json@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@cvrg-report/clover-json/-/clover-json-0.1.1.tgz#7e4ab3498b195c390bed9c5507c4226739ccc188" - integrity sha512-oq6hdyVVbJ0gqXydCxlAMrc4HbilQYyq4HPlTuXg+JXDU/N2XawyblhLXvE25SCcBUvgfFRvXdWI4UuEbEeJTg== - dependencies: - xml2js "^0.4.19" - - "@dabh/diagnostics@^2.0.2": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a" - integrity sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA== - dependencies: - colorspace "1.1.x" - enabled "2.0.x" - kuler "^2.0.0" - - "@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== - dependencies: - ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" - globals "^13.9.0" - ignore "^4.0.6" - import-fresh "^3.2.1" - js-yaml "^3.13.1" - minimatch "^3.0.4" - strip-json-comments "^3.1.1" - - "@ethereumjs/common@2.5.0": - version "2.5.0" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.5.0.tgz#ec61551b31bef7a69d1dc634d8932468866a4268" - integrity sha512-DEHjW6e38o+JmB/NO3GZBpW4lpaiBpkFgXF6jLcJ6gETBYpEyaA5nTimsWBUJR3Vmtm/didUEbNjajskugZORg== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.1" - - "@ethereumjs/common@^2.5.0", "@ethereumjs/common@^2.6.4": - version "2.6.5" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.6.5.tgz#0a75a22a046272579d91919cb12d84f2756e8d30" - integrity sha512-lRyVQOeCDaIVtgfbowla32pzeDv2Obr8oR8Put5RdUBNRGr1VGPGQNGP6elWIpgK3YdpzqTOh4GyUGOureVeeA== - dependencies: - crc-32 "^1.2.0" - ethereumjs-util "^7.1.5" - - "@ethereumjs/common@^3.1.1", "@ethereumjs/common@^3.1.2": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-3.1.2.tgz#c810301b78bcb7526bd690c6d7eb3f4a3c70839d" - integrity sha512-YV+bZfRlFhAXg+FfwC5r4UQKVj4OG7vDP5/JvvNXLLbYpNplH5Vca9jD0L+ab8y0YlTYJMQM1ALyHFu3AE3eBA== - dependencies: - "@ethereumjs/util" "^8.0.6" - crc-32 "^1.2.0" - - "@ethereumjs/rlp@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@ethereumjs/rlp/-/rlp-4.0.1.tgz#626fabfd9081baab3d0a3074b0c7ecaf674aaa41" - integrity sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw== - - "@ethereumjs/tx@3.3.2": - version "3.3.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.3.2.tgz#348d4624bf248aaab6c44fec2ae67265efe3db00" - integrity sha512-6AaJhwg4ucmwTvw/1qLaZUX5miWrwZ4nLOUsKyb/HtzS3BMw/CasKhdi1ims9mBKeK9sOJCH4qGKOBGyJCeeog== - dependencies: - "@ethereumjs/common" "^2.5.0" - ethereumjs-util "^7.1.2" - - "@ethereumjs/tx@3.5.2": - version "3.5.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-3.5.2.tgz#197b9b6299582ad84f9527ca961466fce2296c1c" - integrity sha512-gQDNJWKrSDGu2w7w0PzVXVBNMzb7wwdDOmOqczmhNjqFxFuIbhVJDwiGEnxFNC2/b8ifcZzY7MLcluizohRzNw== - dependencies: - "@ethereumjs/common" "^2.6.4" - ethereumjs-util "^7.1.5" - - "@ethereumjs/tx@^4.1.1": - version "4.1.2" - resolved "https://registry.yarnpkg.com/@ethereumjs/tx/-/tx-4.1.2.tgz#10bc6741b74d2404331b82b87f9b2c26177b6f90" - integrity sha512-PWWyO9lAFOiLwk7nB9OQisoJUsuvMz2PN2v4/ILbBpzamC5Ug79OddVq9r4rKvIDLPY+bn4NFerxBJg29+sjaA== - dependencies: - "@chainsafe/ssz" "^0.11.1" - "@ethereumjs/common" "^3.1.2" - "@ethereumjs/rlp" "^4.0.1" - "@ethereumjs/util" "^8.0.6" - ethereum-cryptography "^2.0.0" - - "@ethereumjs/util@^8.0.5": - version "8.0.5" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.0.5.tgz#b9088fc687cc13f0c1243d6133d145dfcf3fe446" - integrity sha512-259rXKK3b3D8HRVdRmlOEi6QFvwxdt304hhrEAmpZhsj7ufXEOTIc9JRZPMnXatKjECokdLNBcDOFBeBSzAIaw== - dependencies: - "@chainsafe/ssz" "0.9.4" - "@ethereumjs/rlp" "^4.0.1" - ethereum-cryptography "^1.1.2" - - "@ethereumjs/util@^8.0.6": - version "8.0.6" - resolved "https://registry.yarnpkg.com/@ethereumjs/util/-/util-8.0.6.tgz#f9716ed34235ea05eff8353bc5d483e5a6455989" - integrity sha512-zFLG/gXtF3QUC7iKFn4PT6HCr+DEnlCbwUGKGtXoqjA+64T+e0FuqMjlo4bQIY2ngRzk3EtudKdGYC4g31ehhg== - dependencies: - "@chainsafe/ssz" "^0.11.1" - "@ethereumjs/rlp" "^4.0.1" - ethereum-cryptography "^2.0.0" - micro-ftch "^0.3.1" - - "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": - version "5.7.0" - dependencies: - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-141d450f-f09a-4ce5-8eb6-37be154ae18e-1691982276903/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-141d450f-f09a-4ce5-8eb6-37be154ae18e-1691982276903/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-141d450f-f09a-4ce5-8eb6-37be154ae18e-1691982276903/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-141d450f-f09a-4ce5-8eb6-37be154ae18e-1691982276903/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-141d450f-f09a-4ce5-8eb6-37be154ae18e-1691982276903/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-141d450f-f09a-4ce5-8eb6-37be154ae18e-1691982276903/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-141d450f-f09a-4ce5-8eb6-37be154ae18e-1691982276903/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-141d450f-f09a-4ce5-8eb6-37be154ae18e-1691982276903/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-141d450f-f09a-4ce5-8eb6-37be154ae18e-1691982276903/node_modules/@ethersproject-xdc/strings" - - "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-183b52ce-de7f-4cef-b240-58792994d9f9-1691982276904/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-183b52ce-de7f-4cef-b240-58792994d9f9-1691982276904/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-183b52ce-de7f-4cef-b240-58792994d9f9-1691982276904/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-183b52ce-de7f-4cef-b240-58792994d9f9-1691982276904/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-183b52ce-de7f-4cef-b240-58792994d9f9-1691982276904/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-183b52ce-de7f-4cef-b240-58792994d9f9-1691982276904/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-183b52ce-de7f-4cef-b240-58792994d9f9-1691982276904/node_modules/@ethersproject-xdc/web" - - "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": - version "5.7.0" - dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e35c351e-4366-422f-8352-dcebf1a7a345-1691982276912/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e35c351e-4366-422f-8352-dcebf1a7a345-1691982276912/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e35c351e-4366-422f-8352-dcebf1a7a345-1691982276912/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e35c351e-4366-422f-8352-dcebf1a7a345-1691982276912/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e35c351e-4366-422f-8352-dcebf1a7a345-1691982276912/node_modules/@ethersproject-xdc/properties" - - "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-d5f939d7-896b-446f-bb47-0b8bab004668-1691982276905/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-d5f939d7-896b-446f-bb47-0b8bab004668-1691982276905/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-d5f939d7-896b-446f-bb47-0b8bab004668-1691982276905/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-d5f939d7-896b-446f-bb47-0b8bab004668-1691982276905/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-d5f939d7-896b-446f-bb47-0b8bab004668-1691982276905/node_modules/@ethersproject-xdc/rlp" - - "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-fbb0d5a6-6a92-4171-a13e-82e4045fc497-1691982276912/node_modules/@ethersproject-xdc/bytes" - - "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-9618ae6d-58a2-44a6-ad2b-0cda4cc41711-1691982276906/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-9618ae6d-58a2-44a6-ad2b-0cda4cc41711-1691982276906/node_modules/@ethersproject-xdc/properties" - - "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-ef89b4a8-36d2-4fdd-b9f1-c1038c11c356-1691982276906/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-ef89b4a8-36d2-4fdd-b9f1-c1038c11c356-1691982276906/node_modules/@ethersproject-xdc/logger" - bn.js "^5.2.1" - - "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": - version "5.7.0" - dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-aa5094b7-4312-4caa-b649-d1b131e5d9e0-1691982276907/node_modules/@ethersproject-xdc/logger" - - "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-76e27792-cc30-4b7c-adad-0c1f4876d89e-1691982276907/node_modules/@ethersproject-xdc/bignumber" - - "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": - version "5.6.0" - dependencies: - "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-753605c9-6ef7-4b84-8566-999038ed708a-1691982276908/node_modules/@ethersproject-xdc/transactions" - - "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": - version "5.7.0" - dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1655723-da26-4b69-b447-a2980576dbf5-1691982276907/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1655723-da26-4b69-b447-a2980576dbf5-1691982276907/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1655723-da26-4b69-b447-a2980576dbf5-1691982276907/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1655723-da26-4b69-b447-a2980576dbf5-1691982276907/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1655723-da26-4b69-b447-a2980576dbf5-1691982276907/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1655723-da26-4b69-b447-a2980576dbf5-1691982276907/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1655723-da26-4b69-b447-a2980576dbf5-1691982276907/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1655723-da26-4b69-b447-a2980576dbf5-1691982276907/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-d1655723-da26-4b69-b447-a2980576dbf5-1691982276907/node_modules/@ethersproject-xdc/strings" - - "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": - version "5.7.0" - dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-55fa058a-5880-4a52-a26e-cb284b3965da-1691982276909/node_modules/@ethersproject-xdc/wordlists" - - "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": - version "5.6.0" - dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-7d754033-ed03-4454-8d96-e07d3eb7d4a6-1691982276910/node_modules/@ethersproject-xdc/transactions" - aes-js "3.0.0" - scrypt-js "3.0.1" - - "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-fcf510df-9d92-4b86-b27f-50987915462f-1691982276912/node_modules/@ethersproject-xdc/bytes" - js-sha3 "0.8.0" - - "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": - version "5.7.0" - - "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": - version "5.7.1" - dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-2d74303c-9647-40ce-baf3-f5c2e6559e0c-1691982276913/node_modules/@ethersproject-xdc/logger" - - "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-01a773d3-7139-4943-baf9-52a3e2b66787-1691982276921/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-01a773d3-7139-4943-baf9-52a3e2b66787-1691982276921/node_modules/@ethersproject-xdc/sha2" - - "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": - version "5.7.0" - dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-6a6967d8-d23a-4da2-bcd7-d5efbe587537-1691982276913/node_modules/@ethersproject-xdc/logger" - - "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": - version "5.6.2" - dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-c3fe1b90-779c-489b-a921-cdccc6d30469-1691982276914/node_modules/@ethersproject-xdc/web" - bech32 "1.1.4" - ws "7.4.6" - - "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-5f30aaa0-216a-4221-a909-2c24e4bc056b-1691982276913/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-5f30aaa0-216a-4221-a909-2c24e4bc056b-1691982276913/node_modules/@ethersproject-xdc/logger" - - "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-0a705da7-60d2-4e3d-a09c-c8cb63b6d9a2-1691982276915/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-0a705da7-60d2-4e3d-a09c-c8cb63b6d9a2-1691982276915/node_modules/@ethersproject-xdc/logger" - - "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-dd341e84-5ce7-4b7f-ae2c-d490188ac23d-1691982276916/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-dd341e84-5ce7-4b7f-ae2c-d490188ac23d-1691982276916/node_modules/@ethersproject-xdc/logger" - hash.js "1.1.7" - - "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-221abdb1-4b2e-4d13-a0ce-512460eb655a-1691982276916/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-221abdb1-4b2e-4d13-a0ce-512460eb655a-1691982276916/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-221abdb1-4b2e-4d13-a0ce-512460eb655a-1691982276916/node_modules/@ethersproject-xdc/properties" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - - "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": - version "5.6.0" - dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-ee8ea85e-aa12-4536-b5a7-fbebd31cecd4-1691982276917/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-ee8ea85e-aa12-4536-b5a7-fbebd31cecd4-1691982276917/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-ee8ea85e-aa12-4536-b5a7-fbebd31cecd4-1691982276917/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-ee8ea85e-aa12-4536-b5a7-fbebd31cecd4-1691982276917/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-ee8ea85e-aa12-4536-b5a7-fbebd31cecd4-1691982276917/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-ee8ea85e-aa12-4536-b5a7-fbebd31cecd4-1691982276917/node_modules/@ethersproject-xdc/strings" - - "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-c6b7da5e-95c0-432e-bb5a-d9ee624728e8-1691982276919/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-c6b7da5e-95c0-432e-bb5a-d9ee624728e8-1691982276919/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-c6b7da5e-95c0-432e-bb5a-d9ee624728e8-1691982276919/node_modules/@ethersproject-xdc/logger" - - "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": - version "5.7.0" - dependencies: - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f2301c21-4742-493e-a035-c19c2377aa31-1691982276918/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f2301c21-4742-493e-a035-c19c2377aa31-1691982276918/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f2301c21-4742-493e-a035-c19c2377aa31-1691982276918/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f2301c21-4742-493e-a035-c19c2377aa31-1691982276918/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f2301c21-4742-493e-a035-c19c2377aa31-1691982276918/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f2301c21-4742-493e-a035-c19c2377aa31-1691982276918/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f2301c21-4742-493e-a035-c19c2377aa31-1691982276918/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f2301c21-4742-493e-a035-c19c2377aa31-1691982276918/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-f2301c21-4742-493e-a035-c19c2377aa31-1691982276918/node_modules/@ethersproject-xdc/signing-key" - - "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": - version "5.6.0" - dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-60f3a1f4-ac94-44ef-8583-46a89e5efac3-1691982276920/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-60f3a1f4-ac94-44ef-8583-46a89e5efac3-1691982276920/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-60f3a1f4-ac94-44ef-8583-46a89e5efac3-1691982276920/node_modules/@ethersproject-xdc/logger" - - "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": - version "5.6.0" - dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-6c509489-6519-4c30-9a2f-62c9fd5ce573-1691982276919/node_modules/@ethersproject-xdc/wordlists" - - "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": - version "5.7.1" - dependencies: - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-6c1a0443-ac9d-413d-b1e4-d9b2aac32eb1-1691982276921/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-6c1a0443-ac9d-413d-b1e4-d9b2aac32eb1-1691982276921/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-6c1a0443-ac9d-413d-b1e4-d9b2aac32eb1-1691982276921/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-6c1a0443-ac9d-413d-b1e4-d9b2aac32eb1-1691982276921/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-6c1a0443-ac9d-413d-b1e4-d9b2aac32eb1-1691982276921/node_modules/@ethersproject-xdc/strings" - - "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": - version "5.7.0" - dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-e90da4d6-a06b-4875-8f66-dca60d3d8bbd-1691982276922/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-e90da4d6-a06b-4875-8f66-dca60d3d8bbd-1691982276922/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-e90da4d6-a06b-4875-8f66-dca60d3d8bbd-1691982276922/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-e90da4d6-a06b-4875-8f66-dca60d3d8bbd-1691982276922/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-e90da4d6-a06b-4875-8f66-dca60d3d8bbd-1691982276922/node_modules/@ethersproject-xdc/strings" - - "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" - integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - - "@ethersproject/abstract-provider@5.7.0", "@ethersproject/abstract-provider@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-provider/-/abstract-provider-5.7.0.tgz#b0a8550f88b6bf9d51f90e4795d48294630cb9ef" - integrity sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - - "@ethersproject/abstract-signer@5.7.0", "@ethersproject/abstract-signer@^5.4.0", "@ethersproject/abstract-signer@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/abstract-signer/-/abstract-signer-5.7.0.tgz#13f4f32117868452191a4649723cb086d2b596b2" - integrity sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - - "@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.0", "@ethersproject/address@^5.0.1", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.4.0", "@ethersproject/address@^5.6.0", "@ethersproject/address@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" - integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - - "@ethersproject/base64@5.7.0", "@ethersproject/base64@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/base64/-/base64-5.7.0.tgz#ac4ee92aa36c1628173e221d0d01f53692059e1c" - integrity sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - - "@ethersproject/basex@5.7.0", "@ethersproject/basex@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/basex/-/basex-5.7.0.tgz#97034dc7e8938a8ca943ab20f8a5e492ece4020b" - integrity sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - - "@ethersproject/bignumber@5.7.0", "@ethersproject/bignumber@^5.4.0", "@ethersproject/bignumber@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bignumber/-/bignumber-5.7.0.tgz#e2f03837f268ba655ffba03a57853e18a18dc9c2" - integrity sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - bn.js "^5.2.1" - - "@ethersproject/bytes@5.7.0", "@ethersproject/bytes@^5.4.0", "@ethersproject/bytes@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/bytes/-/bytes-5.7.0.tgz#a00f6ea8d7e7534d6d87f47188af1148d71f155d" - integrity sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A== - dependencies: - "@ethersproject/logger" "^5.7.0" - - "@ethersproject/constants@5.7.0", "@ethersproject/constants@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/constants/-/constants-5.7.0.tgz#df80a9705a7e08984161f09014ea012d1c75295e" - integrity sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - - "@ethersproject/contracts@5.7.0", "@ethersproject/contracts@^5.0.1", "@ethersproject/contracts@^5.4.0", "@ethersproject/contracts@^5.6.2", "@ethersproject/contracts@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/contracts/-/contracts-5.7.0.tgz#c305e775abd07e48aa590e1a877ed5c316f8bd1e" - integrity sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - - "@ethersproject/experimental@^5.4.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/experimental/-/experimental-5.7.0.tgz#9759639434d37beaedfd8acab6f3af7db246b92d" - integrity sha512-DWvhuw7Dg8JPyhMbh/CNYOwsTLjXRx/HGkacIL5rBocG8jJC0kmixwoK/J3YblO4vtcyBLMa+sV74RJZK2iyHg== - dependencies: - "@ethersproject/web" "^5.7.0" - ethers "^5.7.0" - scrypt-js "3.0.1" - - "@ethersproject/hash@5.7.0", "@ethersproject/hash@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hash/-/hash-5.7.0.tgz#eb7aca84a588508369562e16e514b539ba5240a7" - integrity sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - - "@ethersproject/hdnode@5.7.0", "@ethersproject/hdnode@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/hdnode/-/hdnode-5.7.0.tgz#e627ddc6b466bc77aebf1a6b9e47405ca5aef9cf" - integrity sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - - "@ethersproject/json-wallets@5.7.0", "@ethersproject/json-wallets@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/json-wallets/-/json-wallets-5.7.0.tgz#5e3355287b548c32b368d91014919ebebddd5360" - integrity sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g== - dependencies: - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/pbkdf2" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - aes-js "3.0.0" - scrypt-js "3.0.1" - - "@ethersproject/keccak256@5.7.0", "@ethersproject/keccak256@^5.5.0", "@ethersproject/keccak256@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/keccak256/-/keccak256-5.7.0.tgz#3186350c6e1cd6aba7940384ec7d6d9db01f335a" - integrity sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - js-sha3 "0.8.0" - - "@ethersproject/logger@5.7.0", "@ethersproject/logger@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/logger/-/logger-5.7.0.tgz#6ce9ae168e74fecf287be17062b590852c311892" - integrity sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig== - - "@ethersproject/networks@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.0.tgz#df72a392f1a63a57f87210515695a31a245845ad" - integrity sha512-MG6oHSQHd4ebvJrleEQQ4HhVu8Ichr0RDYEfHzsVAVjHNM+w36x9wp9r+hf1JstMXtseXDtkiVoARAG6M959AA== - dependencies: - "@ethersproject/logger" "^5.7.0" - - "@ethersproject/networks@5.7.1", "@ethersproject/networks@^5.0.1", "@ethersproject/networks@^5.4.0", "@ethersproject/networks@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/networks/-/networks-5.7.1.tgz#118e1a981d757d45ccea6bb58d9fd3d9db14ead6" - integrity sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ== - dependencies: - "@ethersproject/logger" "^5.7.0" - - "@ethersproject/pbkdf2@5.7.0", "@ethersproject/pbkdf2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/pbkdf2/-/pbkdf2-5.7.0.tgz#d2267d0a1f6e123f3771007338c47cccd83d3102" - integrity sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - - "@ethersproject/properties@5.7.0", "@ethersproject/properties@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/properties/-/properties-5.7.0.tgz#a6e12cb0439b878aaf470f1902a176033067ed30" - integrity sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw== - dependencies: - "@ethersproject/logger" "^5.7.0" - - "@ethersproject/providers@5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.0.tgz#a885cfc7650a64385e7b03ac86fe9c2d4a9c2c63" - integrity sha512-+TTrrINMzZ0aXtlwO/95uhAggKm4USLm1PbeCBR/3XZ7+Oey+3pMyddzZEyRhizHpy1HXV0FRWRMI1O3EGYibA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - - "@ethersproject/providers@5.7.2", "@ethersproject/providers@^5.0.4", "@ethersproject/providers@^5.4.0", "@ethersproject/providers@^5.6.8", "@ethersproject/providers@^5.7.0": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@ethersproject/providers/-/providers-5.7.2.tgz#f8b1a4f275d7ce58cf0a2eec222269a08beb18cb" - integrity sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/base64" "^5.7.0" - "@ethersproject/basex" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/web" "^5.7.0" - bech32 "1.1.4" - ws "7.4.6" - - "@ethersproject/random@5.7.0", "@ethersproject/random@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/random/-/random-5.7.0.tgz#af19dcbc2484aae078bb03656ec05df66253280c" - integrity sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - - "@ethersproject/rlp@5.7.0", "@ethersproject/rlp@^5.5.0", "@ethersproject/rlp@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/rlp/-/rlp-5.7.0.tgz#de39e4d5918b9d74d46de93af80b7685a9c21304" - integrity sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - - "@ethersproject/sha2@5.7.0", "@ethersproject/sha2@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/sha2/-/sha2-5.7.0.tgz#9a5f7a7824ef784f7f7680984e593a800480c9fb" - integrity sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - hash.js "1.1.7" - - "@ethersproject/signing-key@5.7.0", "@ethersproject/signing-key@^5.4.0", "@ethersproject/signing-key@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/signing-key/-/signing-key-5.7.0.tgz#06b2df39411b00bc57c7c09b01d1e41cf1b16ab3" - integrity sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - bn.js "^5.2.1" - elliptic "6.5.4" - hash.js "1.1.7" - - "@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.0.0", "@ethersproject/solidity@^5.0.1", "@ethersproject/solidity@^5.0.9", "@ethersproject/solidity@^5.4.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" - integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/sha2" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - - "@ethersproject/strings@5.7.0", "@ethersproject/strings@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/strings/-/strings-5.7.0.tgz#54c9d2a7c57ae8f1205c88a9d3a56471e14d5ed2" - integrity sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - - "@ethersproject/transactions@5.7.0", "@ethersproject/transactions@^5.4.0", "@ethersproject/transactions@^5.6.2", "@ethersproject/transactions@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/transactions/-/transactions-5.7.0.tgz#91318fc24063e057885a6af13fdb703e1f993d3b" - integrity sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ== - dependencies: - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/rlp" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - - "@ethersproject/units@5.7.0", "@ethersproject/units@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/units/-/units-5.7.0.tgz#637b563d7e14f42deeee39245275d477aae1d8b1" - integrity sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg== - dependencies: - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/constants" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - - "@ethersproject/wallet@5.7.0", "@ethersproject/wallet@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wallet/-/wallet-5.7.0.tgz#4e5d0790d96fe21d61d38fb40324e6c7ef350b2d" - integrity sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA== - dependencies: - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/abstract-signer" "^5.7.0" - "@ethersproject/address" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/hdnode" "^5.7.0" - "@ethersproject/json-wallets" "^5.7.0" - "@ethersproject/keccak256" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/random" "^5.7.0" - "@ethersproject/signing-key" "^5.7.0" - "@ethersproject/transactions" "^5.7.0" - "@ethersproject/wordlists" "^5.7.0" - - "@ethersproject/web@5.7.1", "@ethersproject/web@^5.7.0": - version "5.7.1" - resolved "https://registry.yarnpkg.com/@ethersproject/web/-/web-5.7.1.tgz#de1f285b373149bee5928f4eb7bcb87ee5fbb4ae" - integrity sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w== - dependencies: - "@ethersproject/base64" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - - "@ethersproject/wordlists@5.7.0", "@ethersproject/wordlists@^5.7.0": - version "5.7.0" - resolved "https://registry.yarnpkg.com/@ethersproject/wordlists/-/wordlists-5.7.0.tgz#8fb2c07185d68c3e09eb3bfd6e779ba2774627f5" - integrity sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA== - dependencies: - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/logger" "^5.7.0" - "@ethersproject/properties" "^5.7.0" - "@ethersproject/strings" "^5.7.0" - - "@findeth/abi@^0.3.0": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@findeth/abi/-/abi-0.3.1.tgz#fe9a25211bc0c840c8bc53f937fd9af7278b9dab" - integrity sha512-T9HUVEjEgM0MzVLY4gs52ffz5AlHeC3CSGFcEzL4ojKMVzMxa3na1GW/XCmunrhnWP2cDh4fE2MhqLxA0CHqTw== - dependencies: - keccak "^3.0.0" - - "@fractalwagmi/popup-connection@^1.0.18": - version "1.0.21" - resolved "https://registry.yarnpkg.com/@fractalwagmi/popup-connection/-/popup-connection-1.0.21.tgz#a1d76c8e6f0efa2187795c7d9db648ffaffb25f2" - integrity sha512-LpEpRwn7Y4rn58NZ/i1MAnQENyYpill4rI4MNjmXWexxIlzdiloQqF8gXqef3sMQgi4EbHLfizyn02gGtxQhjg== - - "@fractalwagmi/solana-wallet-adapter@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@fractalwagmi/solana-wallet-adapter/-/solana-wallet-adapter-0.1.1.tgz#13d97bca657007a62b2118ea60f5d9e73f654a37" - integrity sha512-oTZLEuD+zLKXyhZC5tDRMPKPj8iaxKLxXiCjqRfOo4xmSbS2izGRWLJbKMYYsJysn/OI3UJ3P6CWP8WUWi0dZg== - dependencies: - "@fractalwagmi/popup-connection" "^1.0.18" - "@solana/wallet-adapter-base" "^0.9.17" - bs58 "^5.0.0" - - "@graphql-tools/batch-execute@8.5.1": - version "8.5.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/batch-execute/-/batch-execute-8.5.1.tgz#fa3321d58c64041650be44250b1ebc3aab0ba7a9" - integrity sha512-hRVDduX0UDEneVyEWtc2nu5H2PxpfSfM/riUlgZvo/a/nG475uyehxR5cFGvTEPEQUKY3vGIlqvtRigzqTfCew== - dependencies: - "@graphql-tools/utils" "8.9.0" - dataloader "2.1.0" - tslib "^2.4.0" - value-or-promise "1.0.11" - - "@graphql-tools/delegate@^8.4.3": - version "8.8.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/delegate/-/delegate-8.8.1.tgz#0653a72f38947f38ab7917dfac50ebf6a6b883e9" - integrity sha512-NDcg3GEQmdEHlnF7QS8b4lM1PSF+DKeFcIlLEfZFBvVq84791UtJcDj8734sIHLukmyuAxXMfA1qLd2l4lZqzA== - dependencies: - "@graphql-tools/batch-execute" "8.5.1" - "@graphql-tools/schema" "8.5.1" - "@graphql-tools/utils" "8.9.0" - dataloader "2.1.0" - tslib "~2.4.0" - value-or-promise "1.0.11" - - "@graphql-tools/merge@8.3.1": - version "8.3.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.3.1.tgz#06121942ad28982a14635dbc87b5d488a041d722" - integrity sha512-BMm99mqdNZbEYeTPK3it9r9S6rsZsQKtlqJsSBknAclXq2pGEfOxjcIZi+kBSkHZKPKCRrYDd5vY0+rUmIHVLg== - dependencies: - "@graphql-tools/utils" "8.9.0" - tslib "^2.4.0" - - "@graphql-tools/merge@8.4.0": - version "8.4.0" - resolved "https://registry.yarnpkg.com/@graphql-tools/merge/-/merge-8.4.0.tgz#47fbe5c4b6764276dc35bd19c4e7d3c46d3dc0fc" - integrity sha512-3XYCWe0d3I4F1azNj1CdShlbHfTIfiDgj00R9uvFH8tHKh7i1IWN3F7QQYovcHKhayaR6zPok3YYMESYQcBoaA== - dependencies: - "@graphql-tools/utils" "9.2.1" - tslib "^2.4.0" - - "@graphql-tools/mock@^8.1.2": - version "8.7.19" - resolved "https://registry.yarnpkg.com/@graphql-tools/mock/-/mock-8.7.19.tgz#b6c01ecc44074a01d6f472213de5f56fe0a3380c" - integrity sha512-LT2boYM+Y1vGFEhzmC7xDFRL8RPG20FbNcuk2/hHGH0Kh8K1hkItvL89tul3Pl7N6xerOnDZ3c3fx7Ls5GuFxA== - dependencies: - "@graphql-tools/schema" "9.0.17" - "@graphql-tools/utils" "9.2.1" - fast-json-stable-stringify "^2.1.0" - tslib "^2.4.0" - - "@graphql-tools/schema@8.5.1", "@graphql-tools/schema@^8.0.0", "@graphql-tools/schema@^8.3.1": - version "8.5.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-8.5.1.tgz#c2f2ff1448380919a330312399c9471db2580b58" - integrity sha512-0Esilsh0P/qYcB5DKQpiKeQs/jevzIadNTaT0jeWklPMwNbT7yMX4EqZany7mbeRRlSRwMzNzL5olyFdffHBZg== - dependencies: - "@graphql-tools/merge" "8.3.1" - "@graphql-tools/utils" "8.9.0" - tslib "^2.4.0" - value-or-promise "1.0.11" - - "@graphql-tools/schema@9.0.17": - version "9.0.17" - resolved "https://registry.yarnpkg.com/@graphql-tools/schema/-/schema-9.0.17.tgz#d731e9899465f88d5b9bf69e607ec465bb88b062" - integrity sha512-HVLq0ecbkuXhJlpZ50IHP5nlISqH2GbNgjBJhhRzHeXhfwlUOT4ISXGquWTmuq61K0xSaO0aCjMpxe4QYbKTng== - dependencies: - "@graphql-tools/merge" "8.4.0" - "@graphql-tools/utils" "9.2.1" - tslib "^2.4.0" - value-or-promise "1.0.12" - - "@graphql-tools/utils@8.9.0": - version "8.9.0" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-8.9.0.tgz#c6aa5f651c9c99e1aca55510af21b56ec296cdb7" - integrity sha512-pjJIWH0XOVnYGXCqej8g/u/tsfV4LvLlj0eATKQu5zwnxd/TiTHq7Cg313qUPTFFHZ3PP5wJ15chYVtLDwaymg== - dependencies: - tslib "^2.4.0" - - "@graphql-tools/utils@9.2.1": - version "9.2.1" - resolved "https://registry.yarnpkg.com/@graphql-tools/utils/-/utils-9.2.1.tgz#1b3df0ef166cfa3eae706e3518b17d5922721c57" - integrity sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A== - dependencies: - "@graphql-typed-document-node/core" "^3.1.1" - tslib "^2.4.0" - - "@graphql-typed-document-node/core@^3.1.1": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@graphql-typed-document-node/core/-/core-3.2.0.tgz#5f3d96ec6b2354ad6d8a28bf216a1d97b5426861" - integrity sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ== - - "@harmony-js/account@0.1.56": - version "0.1.56" - resolved "https://registry.yarnpkg.com/@harmony-js/account/-/account-0.1.56.tgz#74d008d199b81af6bd554a6cc455c882e85d61e7" - integrity sha512-VX3+NAirUxxowAc2QBuKEpHSN0XGYHqogYIf63XGFfg2BACS3RdN/tkJTzPPyIPejEKC3yDylm5c+8NzmsOjhQ== - dependencies: - "@harmony-js/core" "0.1.56" - "@harmony-js/crypto" "0.1.56" - "@harmony-js/network" "0.1.56" - "@harmony-js/staking" "0.1.56" - "@harmony-js/transaction" "0.1.56" - "@harmony-js/utils" "0.1.56" - - "@harmony-js/account@0.1.57": - version "0.1.57" - resolved "https://registry.yarnpkg.com/@harmony-js/account/-/account-0.1.57.tgz#d6e1e4955658ab25e89f512e12d9d9ecd28c738d" - integrity sha512-2Q0aX49m9IDDf9AvQHEgnxVBfvQ4wnXJqMo1y3g+9VuoyibNLFy/7GRwywwjrKTtfERXegTGHdZYo/CCO0PrpQ== - dependencies: - "@harmony-js/core" "0.1.57" - "@harmony-js/crypto" "0.1.56" - "@harmony-js/network" "0.1.56" - "@harmony-js/staking" "0.1.56" - "@harmony-js/transaction" "0.1.56" - "@harmony-js/utils" "0.1.56" - - "@harmony-js/contract@0.1.56": - version "0.1.56" - resolved "https://registry.yarnpkg.com/@harmony-js/contract/-/contract-0.1.56.tgz#cfe8ffca6332008137f248d5bce59c4f3c5f22f3" - integrity sha512-4yKBjUtMkiaMvhwbEFps7qZV/NIWRgkJuO2yZYsqbkzdFf3eMXXrq60HpDZcWhNf+rsL0VpDso9i09mW+DDZJQ== - dependencies: - "@harmony-js/account" "0.1.56" - "@harmony-js/crypto" "0.1.56" - "@harmony-js/network" "0.1.56" - "@harmony-js/transaction" "0.1.56" - "@harmony-js/utils" "0.1.56" - - "@harmony-js/core@0.1.56": - version "0.1.56" - resolved "https://registry.yarnpkg.com/@harmony-js/core/-/core-0.1.56.tgz#52c986c0ecfa881b57aaeb0448ae92d2d30c3f18" - integrity sha512-mYVIewX2oL0PHZJU64HD65M/QMA756d19MosATRqbfj8MLLgdMdTuXHF525NWDRxBiYlSh6BGSNJakNbtq8g3Q== - dependencies: - "@harmony-js/account" "0.1.56" - "@harmony-js/contract" "0.1.56" - "@harmony-js/crypto" "0.1.56" - "@harmony-js/network" "0.1.56" - "@harmony-js/staking" "0.1.56" - "@harmony-js/transaction" "0.1.56" - "@harmony-js/utils" "0.1.56" - - "@harmony-js/core@0.1.57", "@harmony-js/core@^0.1.57": - version "0.1.57" - resolved "https://registry.yarnpkg.com/@harmony-js/core/-/core-0.1.57.tgz#bf10eb017f0086868fa8aefab097894e7b36acb3" - integrity sha512-4d48MoR/3xabsoiV0fXjVwtL4u9AeNO72+UZWSZl2ZzrPvij2ucn14wvIZwCL69xJwD4bsqgy68Ju+DRLFVW3A== - dependencies: - "@harmony-js/account" "0.1.57" - "@harmony-js/contract" "0.1.56" - "@harmony-js/crypto" "0.1.56" - "@harmony-js/network" "0.1.56" - "@harmony-js/staking" "0.1.56" - "@harmony-js/transaction" "0.1.56" - "@harmony-js/utils" "0.1.56" - - "@harmony-js/crypto@0.1.56": - version "0.1.56" - resolved "https://registry.yarnpkg.com/@harmony-js/crypto/-/crypto-0.1.56.tgz#62bdd850de8b98df6049bd2c43e096113852287d" - integrity sha512-JMOWte8d3HXO2b038MqQpZ6al6OHsB9aZTretuzijxwrOIOdPKu9sDNHhmyJhQTIOKqG2+gErlj9AclZbXGk5g== - dependencies: - "@harmony-js/utils" "0.1.56" - aes-js "^3.1.2" - bip39 "^2.5.0" - bn.js "^4.11.8" - elliptic "^6.4.1" - hdkey "^1.1.1" - hmac-drbg "^1.0.1" - js-sha3 "^0.8.0" - pbkdf2 "^3.0.17" - scrypt-shim "github:web3-js/scrypt-shim" - uuid "^3.3.2" - - "@harmony-js/network@0.1.56": - version "0.1.56" - resolved "https://registry.yarnpkg.com/@harmony-js/network/-/network-0.1.56.tgz#86d08923d5963fb8ad15cb3beb85de045afd9969" - integrity sha512-ItwgvQPjcFyVKKa1mFAqRMno6yyp1cjM2UNIdHOHtWG+H8BgObcw2ZM4LJpAPVF/XSoaTcZZwfB2hD7zOFnnYQ== - dependencies: - "@harmony-js/utils" "0.1.56" - cross-fetch "^3.0.2" - mitt "^1.2.0" - websocket "^1.0.28" - - "@harmony-js/staking@0.1.56": - version "0.1.56" - resolved "https://registry.yarnpkg.com/@harmony-js/staking/-/staking-0.1.56.tgz#34a0c873760b54f68c1301aa2567572d338b8810" - integrity sha512-i0tliihg/7llJNp3uMjW5NZjJzLGz9iIESA4ST/cD2yT3KeRviwmlQPVf4uZpxIlmGgtk/oR4tLPLzmZEgSTOw== - dependencies: - "@harmony-js/crypto" "0.1.56" - "@harmony-js/network" "0.1.56" - "@harmony-js/transaction" "0.1.56" - "@harmony-js/utils" "0.1.56" - text-encoding "^0.7.0" - - "@harmony-js/transaction@0.1.56": - version "0.1.56" - resolved "https://registry.yarnpkg.com/@harmony-js/transaction/-/transaction-0.1.56.tgz#6b68607ccd83b0d9c1871dbaf5bfdb5152203e7f" - integrity sha512-+eX1+xBGsi6aGMyeZf7cvd2gncItPPifP7Hyjh9wNxbpyxpgBLvVnhD8hGaUQ6MJ9xJkFeWfkQPduEQBsCZj7A== - dependencies: - "@harmony-js/crypto" "0.1.56" - "@harmony-js/network" "0.1.56" - "@harmony-js/utils" "0.1.56" - - "@harmony-js/utils@0.1.56", "@harmony-js/utils@^0.1.56": - version "0.1.56" - resolved "https://registry.yarnpkg.com/@harmony-js/utils/-/utils-0.1.56.tgz#89d77d07989ecfb5679776917f2b78b7b698c854" - integrity sha512-XoYYIMoK/mSxPkxFd25dY/wScIWWevoTrHoFdlFd8N7GWlilfdgQEF5vO+4BA6hyDJ4ryfdLnGc6W6Hz+5qs2A== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^4.11.8" - - "@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== - dependencies: - "@humanwhocodes/object-schema" "^1.2.0" - debug "^4.1.1" - minimatch "^3.0.4" - - "@humanwhocodes/object-schema@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" - integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== - - "@improbable-eng/grpc-web@^0.13.0": - version "0.13.0" - resolved "https://registry.yarnpkg.com/@improbable-eng/grpc-web/-/grpc-web-0.13.0.tgz#289e6fc4dafc00b1af8e2b93b970e6892299014d" - integrity sha512-vaxxT+Qwb7GPqDQrBV4vAAfH0HywgOLw6xGIKXd9Q8hcV63CQhmS3p4+pZ9/wVvt4Ph3ZDK9fdC983b9aGMUFg== - dependencies: - browser-headers "^0.4.0" - - "@injectivelabs/core-proto-ts@^0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@injectivelabs/core-proto-ts/-/core-proto-ts-0.0.12.tgz#77dd5e774ed2591f6f41156db33a281a3522c588" - integrity sha512-axdL+KWuv4aORIdYqJQy5k9H+bPsi5Y4KWNcYPxrFQ0FAu+sjpvm5PmbIzBSgv/hnIB2cHcLuKvE3BtEa3vJ/w== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - - "@injectivelabs/exceptions@^1.10.6": - version "1.10.6" - resolved "https://registry.yarnpkg.com/@injectivelabs/exceptions/-/exceptions-1.10.6.tgz#7d3e23d1123148afe050064e8524be1e58e55f0f" - integrity sha512-bJvsDIYfX9vBu5eXA80bqzipsBbvHTNhnrKfB4TheG5jX9lihbuyguDOZv8mZmP4nPGi2XfSCT+3TVFCzzPrFg== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - "@injectivelabs/ts-types" "^1.10.5" - http-status-codes "^2.2.0" - link-module-alias "^1.2.0" - shx "^0.3.2" - - "@injectivelabs/grpc-web-node-http-transport@^0.0.2": - version "0.0.2" - resolved "https://registry.yarnpkg.com/@injectivelabs/grpc-web-node-http-transport/-/grpc-web-node-http-transport-0.0.2.tgz#87c9bbd4db1f70cf18d6a55b54b2cf17d3cf30c0" - integrity sha512-rpyhXLiGY/UMs6v6YmgWHJHiO9l0AgDyVNv+jcutNVt4tQrmNvnpvz2wCAGOFtq5LuX/E9ChtTVpk3gWGqXcGA== - - "@injectivelabs/grpc-web-react-native-transport@^0.0.2": - version "0.0.2" - resolved "https://registry.yarnpkg.com/@injectivelabs/grpc-web-react-native-transport/-/grpc-web-react-native-transport-0.0.2.tgz#07601b76bf1f165c7a9b97ee42d0d42b9e2b76fa" - integrity sha512-mk+aukQXnYNgPsPnu3KBi+FD0ZHQpazIlaBZ2jNZG7QAVmxTWtv3R66Zoq99Wx2dnE946NsZBYAoa0K5oSjnow== - - "@injectivelabs/grpc-web@^0.0.1": - version "0.0.1" - resolved "https://registry.yarnpkg.com/@injectivelabs/grpc-web/-/grpc-web-0.0.1.tgz#24c028f6db50e589e30505efd2077110c8b492ba" - integrity sha512-Pu5YgaZp+OvR5UWfqbrPdHer3+gDf+b5fQoY+t2VZx1IAVHX8bzbN9EreYTvTYtFeDpYRWM8P7app2u4EX5wTw== - dependencies: - browser-headers "^0.4.1" - - "@injectivelabs/indexer-proto-ts@1.10.8-rc.4": - version "1.10.8-rc.4" - resolved "https://registry.yarnpkg.com/@injectivelabs/indexer-proto-ts/-/indexer-proto-ts-1.10.8-rc.4.tgz#ab8424cd713bb5a69ab130b64bf0b3f9f9089946" - integrity sha512-IwbepTfsHHAv3Z36As6yH/+HIplOEpUu6SFHBCVgdSIaQ8GuvTib4HETiVnV4mjYqoyVgWs+zLSAfih46rdMJQ== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - - "@injectivelabs/mito-proto-ts@1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@injectivelabs/mito-proto-ts/-/mito-proto-ts-1.0.9.tgz#ad04165ad63f52a9f67082318e0620cccc4986f2" - integrity sha512-+TZMvJ4SHwcn6SFPdqaiQFZdNhjH7hyRFozY15nOTC2utdGij9jEsjz1NsyOejfYDA0s1z5Wm1SgrMYKaVpAmQ== - dependencies: - "@injectivelabs/grpc-web" "^0.0.1" - google-protobuf "^3.14.0" - protobufjs "^7.0.0" - rxjs "^7.4.0" - - "@injectivelabs/networks@^1.10.8": - version "1.10.8" - resolved "https://registry.yarnpkg.com/@injectivelabs/networks/-/networks-1.10.8.tgz#96d8723203feb891999bab0a5bae9191c3994b61" - integrity sha512-/yVgC7uDzuq1ERmlqdVcVwEfYk9/5KFJySNtz2TcpfhAPAzsIcw9ccoUDKig6DohkAW0DtJFna9marVndM5g5w== - dependencies: - "@injectivelabs/exceptions" "^1.10.6" - "@injectivelabs/ts-types" "^1.10.5" - "@injectivelabs/utils" "^1.10.6" - link-module-alias "^1.2.0" - shx "^0.3.2" - - "@injectivelabs/sdk-ts@^1.10.58": - version "1.10.58" - resolved "https://registry.yarnpkg.com/@injectivelabs/sdk-ts/-/sdk-ts-1.10.58.tgz#fd452c3919ccb70ae0c3102a410b7334d2013704" - integrity sha512-1OnpHFjWBiQRLo33AU44ndYGBWUOVQjNaRSq0KYOzbOZlJDd2xmJGXIIKmBsD2Qg/xlTyweJwm6EQcQVvP80mg== - dependencies: - "@apollo/client" "^3.5.8" - "@cosmjs/amino" "^0.30.1" - "@cosmjs/proto-signing" "^0.30.1" - "@cosmjs/stargate" "^0.30.1" - "@ethersproject/bytes" "^5.7.0" - "@injectivelabs/core-proto-ts" "^0.0.12" - "@injectivelabs/exceptions" "^1.10.6" - "@injectivelabs/grpc-web" "^0.0.1" - "@injectivelabs/grpc-web-node-http-transport" "^0.0.2" - "@injectivelabs/grpc-web-react-native-transport" "^0.0.2" - "@injectivelabs/indexer-proto-ts" "1.10.8-rc.4" - "@injectivelabs/mito-proto-ts" "1.0.9" - "@injectivelabs/networks" "^1.10.8" - "@injectivelabs/test-utils" "^1.10.3" - "@injectivelabs/token-metadata" "^1.10.31" - "@injectivelabs/ts-types" "^1.10.5" - "@injectivelabs/utils" "^1.10.6" - "@metamask/eth-sig-util" "^4.0.0" - axios "^0.27.2" - bech32 "^2.0.0" - bip39 "^3.0.4" - cosmjs-types "^0.7.1" - eth-crypto "^2.6.0" - ethereumjs-util "^7.1.4" - ethers "^5.7.2" - google-protobuf "^3.21.0" - graphql "^16.3.0" - http-status-codes "^2.2.0" - js-sha3 "^0.8.0" - jscrypto "^1.0.3" - keccak256 "^1.0.6" - link-module-alias "^1.2.0" - rxjs "^7.8.0" - secp256k1 "^4.0.3" - shx "^0.3.2" - snakecase-keys "^5.4.1" - - "@injectivelabs/test-utils@^1.10.3": - version "1.10.3" - resolved "https://registry.yarnpkg.com/@injectivelabs/test-utils/-/test-utils-1.10.3.tgz#38be0fcea1af04aa1c02ba0fc647239c880fc385" - integrity sha512-5lSGj8eo4tXMRcIdA1JCKEDlFdWvFvnGp08rogCjrrUooELWU+OMQhweS8+0zgcnjR569BE1VCluH1wE8MZCKg== - dependencies: - axios "^0.21.1" - bignumber.js "^9.0.1" - link-module-alias "^1.2.0" - shx "^0.3.2" - snakecase-keys "^5.1.2" - store2 "^2.12.0" - - "@injectivelabs/token-metadata@^1.10.31": - version "1.10.31" - resolved "https://registry.yarnpkg.com/@injectivelabs/token-metadata/-/token-metadata-1.10.31.tgz#a61b8488fffd843c18bad8c43490af8eeda764a4" - integrity sha512-FnLWHgtT7HQRDD7jdETKw0LnxBi1iYytLA7rR2vPUiPoHBvRHw2OiIwqDJ19NatIEV4kE7tBtg3v76h5veiAFg== - dependencies: - "@injectivelabs/exceptions" "^1.10.6" - "@injectivelabs/networks" "^1.10.8" - "@injectivelabs/ts-types" "^1.10.5" - "@injectivelabs/utils" "^1.10.6" - "@types/lodash.values" "^4.3.6" - copyfiles "^2.4.1" - jsonschema "^1.4.0" - link-module-alias "^1.2.0" - lodash "^4.17.21" - lodash.values "^4.3.0" - shx "^0.3.2" - - "@injectivelabs/ts-types@^1.0.29": - version "1.0.39" - resolved "https://registry.yarnpkg.com/@injectivelabs/ts-types/-/ts-types-1.0.39.tgz#87e552aa42eec4f022d54429b51dd26bbd9eb364" - integrity sha512-K0sVn4AbEaltBTHlTzaHOvSWEqMGWHruMulYEsc6NlMjf+5i/1i66BzgvRkV1dj4VDagEjVNeooioLhbDAYYeg== - dependencies: - link-module-alias "^1.2.0" - shx "^0.3.2" - - "@injectivelabs/ts-types@^1.10.5": - version "1.10.5" - resolved "https://registry.yarnpkg.com/@injectivelabs/ts-types/-/ts-types-1.10.5.tgz#c8672fe6b1394162ec1828590051c92062799ac8" - integrity sha512-VdiF1DAOUxjhAAD3r9a6njpNkCH3nX6cP+ADwn1nCdDGjeltSdMpq2O45FcfZZkbchb+qcyNRJpusWPd0rFn3w== - dependencies: - link-module-alias "^1.2.0" - shx "^0.3.2" - - "@injectivelabs/utils@^1.10.6": - version "1.10.6" - resolved "https://registry.yarnpkg.com/@injectivelabs/utils/-/utils-1.10.6.tgz#d01360a458edc552bd8668776bb137b34b0a6b01" - integrity sha512-JVRHmFDuo7MCsDS7ZmQ3hKiKQeRAOOKwPefcKdwa6Vc+BPJRgDEy+J84FU30jNz4imzoTjHG0c2Qq2D1K0JgXQ== - dependencies: - "@injectivelabs/exceptions" "^1.10.6" - "@injectivelabs/ts-types" "^1.10.5" - axios "^0.21.1" - bignumber.js "^9.0.1" - http-status-codes "^2.2.0" - link-module-alias "^1.2.0" - shx "^0.3.2" - snakecase-keys "^5.1.2" - store2 "^2.12.0" - - "@injectivelabs/wallet-ts@^1.10.63": - version "1.10.63" - resolved "https://registry.yarnpkg.com/@injectivelabs/wallet-ts/-/wallet-ts-1.10.63.tgz#e731f7996d3e2f0c0d45bf680e628147d0ae535b" - integrity sha512-AaA40P78pPOVmrHsoqCfVrsGGcpW6Xvbww7pslg19yePzNtOmDYKc+Y5yWDi/EQrU2nnu96WR2Ouq4fNBmoB8Q== - dependencies: - "@cosmjs/launchpad" "0.27.1" - "@cosmjs/proto-signing" "0.30.1" - "@cosmjs/stargate" "^0.30.1" - "@cosmostation/extension-client" "^0.1.15" - "@ethereumjs/common" "^3.1.1" - "@ethereumjs/tx" "^4.1.1" - "@injectivelabs/exceptions" "^1.10.6" - "@injectivelabs/networks" "^1.10.8" - "@injectivelabs/sdk-ts" "^1.10.58" - "@injectivelabs/ts-types" "^1.10.5" - "@injectivelabs/utils" "^1.10.6" - "@keplr-wallet/cosmos" "^0.11.58" - "@keplr-wallet/types" "^0.11.58" - "@ledgerhq/hw-app-eth" "6.32.2" - "@ledgerhq/hw-transport" "6.28.2" - "@ledgerhq/hw-transport-webhid" "6.27.13" - "@ledgerhq/hw-transport-webusb" "6.27.13" - "@metamask/detect-provider" "^2.0.0" - "@metamask/eth-sig-util" "^4.0.0" - "@solana/wallet-adapter-wallets" "^0.19.5" - "@toruslabs/torus-embed" "^1.39.0" - "@trezor/connect-web" "^9.0.6" - alchemy-sdk "^2.6.3" - eip1193-provider "^1.0.1" - eth-sig-util "^3.0.1" - ethereumjs-util "^7.1.0" - ethers "^5.7.2" - hdkey "^2.0.1" - link-module-alias "^1.2.0" - long "^5.2.1" - shx "^0.3.3" - - "@istanbuljs/load-nyc-config@^1.0.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced" - integrity sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ== - dependencies: - camelcase "^5.3.1" - find-up "^4.1.0" - get-package-type "^0.1.0" - js-yaml "^3.13.1" - resolve-from "^5.0.0" - - "@istanbuljs/schema@^0.1.2": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" - integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== - - "@jest/console@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-24.9.0.tgz#79b1bc06fb74a8cfb01cbdedf945584b1b9707f0" - integrity sha512-Zuj6b8TnKXi3q4ymac8EQfc3ea/uhLeCGThFqXeC8H9/raaH8ARPUTdId+XyGd03Z4In0/VjD2OYFcBF09fNLQ== - dependencies: - "@jest/source-map" "^24.9.0" - chalk "^2.0.1" - slash "^2.0.0" - - "@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - - "@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - emittery "^0.8.1" - exit "^0.1.2" - graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" - micromatch "^4.0.4" - rimraf "^3.0.0" - slash "^3.0.0" - strip-ansi "^6.0.0" - - "@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== - dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - - "@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== - dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" - "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" - - "@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" - - "@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== - dependencies: - "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - collect-v8-coverage "^1.0.0" - exit "^0.1.2" - glob "^7.1.2" - graceful-fs "^4.2.9" - istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" - istanbul-lib-report "^3.0.0" - istanbul-lib-source-maps "^4.0.0" - istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - slash "^3.0.0" - source-map "^0.6.0" - string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" - - "@jest/source-map@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-24.9.0.tgz#0e263a94430be4b41da683ccc1e6bffe2a191714" - integrity sha512-/Xw7xGlsZb4MJzNDgB7PW5crou5JqWiBQaz6xyPd3ArOg2nfn/PunV8+olXbbEZzNl591o5rWKE9BRDaFAuIBg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.1.15" - source-map "^0.6.0" - - "@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== - dependencies: - callsites "^3.0.0" - graceful-fs "^4.2.9" - source-map "^0.6.0" - - "@jest/test-result@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-24.9.0.tgz#11796e8aa9dbf88ea025757b3152595ad06ba0ca" - integrity sha512-XEFrHbBonBJ8dGp2JmF8kP/nQI/ImPpygKHwQ/SY+es59Z3L5PI4Qb9TQQMAEeYsThG1xF0k6tmG0tIKATNiiA== - dependencies: - "@jest/console" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/istanbul-lib-coverage" "^2.0.0" - - "@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== - dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/istanbul-lib-coverage" "^2.0.0" - collect-v8-coverage "^1.0.0" - - "@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== - dependencies: - "@jest/test-result" "^27.5.1" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" - - "@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== - dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" - babel-plugin-istanbul "^6.1.1" - chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" - micromatch "^4.0.4" - pirates "^4.0.4" - slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" - - "@jest/types@^24.9.0": - version "24.9.0" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-24.9.0.tgz#63cb26cb7500d069e5a389441a7c6ab5e909fc59" - integrity sha512-XKK7ze1apu5JWQ5eZjHITP66AX+QsLlbaJRBGYr8pNzwcAE2JVkwnf0yqjHTsDRcjR0mujy/NmZMXw5kl+kGBw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^1.1.1" - "@types/yargs" "^13.0.0" - - "@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^16.0.0" - chalk "^4.0.0" - - "@jnwng/walletconnect-solana@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@jnwng/walletconnect-solana/-/walletconnect-solana-0.1.5.tgz#54d71c0667fe317376490c337c36d0d19da95e5a" - integrity sha512-n8YLfF6NIVOqn+YeJEFRaZbbeNTGXL+VPBl+hqMpxLH+Fp+qgdm4CYH+ULH/OSszL2DBO1j+hB/XFDPiswCNeA== - dependencies: - "@walletconnect/qrcode-modal" "^1.8.0" - "@walletconnect/sign-client" "^2.4.5" - "@walletconnect/utils" "^2.4.5" - bs58 "^5.0.0" - - "@josephg/resolvable@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@josephg/resolvable/-/resolvable-1.0.1.tgz#69bc4db754d79e1a2f17a650d3466e038d94a5eb" - integrity sha512-CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg== - - "@jridgewell/gen-mapping@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" - integrity sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w== - dependencies: - "@jridgewell/set-array" "^1.0.0" - "@jridgewell/sourcemap-codec" "^1.4.10" - - "@jridgewell/gen-mapping@^0.3.2": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.2.tgz#c1aedc61e853f2bb9f5dfe6d4442d3b565b253b9" - integrity sha512-mh65xKQAzI6iBcFzwv28KVWSmCkdRBWoOh+bYQGW3+6OZvbbN3TqMGo5hqYxQniRcH9F2VZIoJCm4pa3BPDK/A== - dependencies: - "@jridgewell/set-array" "^1.0.1" - "@jridgewell/sourcemap-codec" "^1.4.10" - "@jridgewell/trace-mapping" "^0.3.9" - - "@jridgewell/resolve-uri@3.1.0", "@jridgewell/resolve-uri@^3.0.3": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" - integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== - - "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" - integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw== - - "@jridgewell/sourcemap-codec@1.4.14", "@jridgewell/sourcemap-codec@^1.4.10": - version "1.4.14" - resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" - integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== - - "@jridgewell/trace-mapping@0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" - integrity sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ== - dependencies: - "@jridgewell/resolve-uri" "^3.0.3" - "@jridgewell/sourcemap-codec" "^1.4.10" - - "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" - integrity sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g== - dependencies: - "@jridgewell/resolve-uri" "3.1.0" - "@jridgewell/sourcemap-codec" "1.4.14" - - "@json-rpc-tools/provider@^1.5.5": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/provider/-/provider-1.7.6.tgz#8a17c34c493fa892632e278fd9331104e8491ec6" - integrity sha512-z7D3xvJ33UfCGv77n40lbzOYjZKVM3k2+5cV7xS8G6SCvKTzMkhkUYuD/qzQUNT4cG/lv0e9mRToweEEVLVVmA== - dependencies: - "@json-rpc-tools/utils" "^1.7.6" - axios "^0.21.0" - safe-json-utils "^1.1.1" - ws "^7.4.0" - - "@json-rpc-tools/types@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/types/-/types-1.7.6.tgz#5abd5fde01364a130c46093b501715bcce5bdc0e" - integrity sha512-nDSqmyRNEqEK9TZHtM15uNnDljczhCUdBmRhpNZ95bIPKEDQ+nTDmGMFd2lLin3upc5h2VVVd9tkTDdbXUhDIQ== - dependencies: - keyvaluestorage-interface "^1.0.0" - - "@json-rpc-tools/utils@^1.7.6": - version "1.7.6" - resolved "https://registry.yarnpkg.com/@json-rpc-tools/utils/-/utils-1.7.6.tgz#67f04987dbaa2e7adb6adff1575367b75a9a9ba1" - integrity sha512-HjA8x/U/Q78HRRe19yh8HVKoZ+Iaoo3YZjakJYxR+rw52NHo6jM+VE9b8+7ygkCFXl/EHID5wh/MkXaE/jGyYw== - dependencies: - "@json-rpc-tools/types" "^1.7.6" - "@pedrouid/environment" "^1.0.1" - - "@keplr-wallet/common@0.11.58": - version "0.11.58" - resolved "https://registry.yarnpkg.com/@keplr-wallet/common/-/common-0.11.58.tgz#4b273f8f0076d5ae01414fe2adee23b2a555928d" - integrity sha512-kYImv8gBqZBDLR0ipkCXfpgrqfatR3l0X32nrNBP/mGF9ofRtcNnf+MKja5UFUTVLhOvqMXTBQabiT5+nHjPPw== - dependencies: - "@keplr-wallet/crypto" "0.11.58" - buffer "^6.0.3" - delay "^4.4.0" - - "@keplr-wallet/cosmos@^0.11.58": - version "0.11.58" - resolved "https://registry.yarnpkg.com/@keplr-wallet/cosmos/-/cosmos-0.11.58.tgz#724247fc496acf8e22db2ca1bd1ada415cf8bc66" - integrity sha512-TuejHcKVxi9KaZEwGMayyRbavw8x8BaKuk+QwFHLCzZRJ3UV1/nJR2swoDDLbH6fEDmte9pr8+n7CGdgO2Marg== - dependencies: - "@ethersproject/address" "^5.6.0" - "@keplr-wallet/common" "0.11.58" - "@keplr-wallet/crypto" "0.11.58" - "@keplr-wallet/proto-types" "0.11.58" - "@keplr-wallet/types" "0.11.58" - "@keplr-wallet/unit" "0.11.58" - axios "^0.27.2" - bech32 "^1.1.4" - buffer "^6.0.3" - long "^4.0.0" - protobufjs "^6.11.2" - - "@keplr-wallet/crypto@0.11.58": - version "0.11.58" - resolved "https://registry.yarnpkg.com/@keplr-wallet/crypto/-/crypto-0.11.58.tgz#4bf432a7520dd6fa841d06e2f6356c2c293f74d1" - integrity sha512-FdKTgF/16GWCZOE3QJYmBWH3wx86C6d3GvHZQMe5Fsmh/Q/aIIb0HxqB/H4AfqayUScE/yX4ej8nd9u0cPrOFQ== - dependencies: - "@ethersproject/keccak256" "^5.5.0" - bip32 "^2.0.6" - bip39 "^3.0.3" - bs58check "^2.1.2" - buffer "^6.0.3" - crypto-js "^4.0.0" - elliptic "^6.5.3" - sha.js "^2.4.11" - - "@keplr-wallet/proto-types@0.11.58": - version "0.11.58" - resolved "https://registry.yarnpkg.com/@keplr-wallet/proto-types/-/proto-types-0.11.58.tgz#9de07b194674462101c2281c9ad1a701ca54c758" - integrity sha512-qDK965gGbdTM/oJH0beDBIHUiu8GEabf57hKrkv64FhAJ4HPw3+HK5fKn4Omo/3spkVCp6S9vdCGWEUhelkNFQ== - dependencies: - long "^4.0.0" - protobufjs "^6.11.2" - - "@keplr-wallet/types@0.11.58", "@keplr-wallet/types@^0.11.58": - version "0.11.58" - resolved "https://registry.yarnpkg.com/@keplr-wallet/types/-/types-0.11.58.tgz#b142f1f6b47106466d81acf89485575a184aae3a" - integrity sha512-dct9JVXuSlutgnUO8E9WoAxp4dmK+X2fDTWNA4mkgJhUQyN0VzCaKyC9whWLRuYRnAe9xFQ1g9Xo1OlCLPlH8w== - dependencies: - axios "^0.27.2" - long "^4.0.0" - - "@keplr-wallet/unit@0.11.58": - version "0.11.58" - resolved "https://registry.yarnpkg.com/@keplr-wallet/unit/-/unit-0.11.58.tgz#9b9e71668e7b9bc5c29ecf1881c48b115eea3f51" - integrity sha512-6SRoUEtWjyQA96cox9AhKHrNZcY75ol46or0BaXBJVhhraf4wQjdtqmiOV9NZtBEID8qX6e/3DRkB8E4zCnVIw== - dependencies: - "@keplr-wallet/types" "0.11.58" - big-integer "^1.6.48" - utility-types "^3.10.0" - - "@keystonehq/bc-ur-registry-sol@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@keystonehq/bc-ur-registry-sol/-/bc-ur-registry-sol-0.3.1.tgz#5319c7c4a22cc83bbacfa6fe09aaa6fb21363f24" - integrity sha512-Okr5hwPxBZxB4EKLK1GSC9vsrh/tFMQ5dvs3EQ9NCOmCn7CXdXIMSeafrpGCHk484Jf5c6X0Wq0yf0VqY2A/8Q== - dependencies: - "@keystonehq/bc-ur-registry" "^0.5.0" - bs58check "^2.1.2" - uuid "^8.3.2" - - "@keystonehq/bc-ur-registry@^0.5.0": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@keystonehq/bc-ur-registry/-/bc-ur-registry-0.5.4.tgz#5802486a29f5d772520d15579d40fba02860e27f" - integrity sha512-z7bZe10I5k0zz9znmDTXh+o3Rzb5XsRVpwAzexubOaLxVdZ0F7aMbe2LoEsw766Hpox/7zARi7UGmLz5C8BAzA== - dependencies: - "@ngraveio/bc-ur" "^1.1.5" - bs58check "^2.1.2" - tslib "^2.3.0" - - "@keystonehq/sdk@^0.13.1": - version "0.13.1" - resolved "https://registry.yarnpkg.com/@keystonehq/sdk/-/sdk-0.13.1.tgz#782a1f71cfc38a7635a8bcb0cb99ae403a6316a8" - integrity sha512-545l83TE5t1cyUZUaNqZOAh15ibWOg9QbK/YeLwnrxt+GOod+ATk3j9SpN6yTSLO8DNl2/x6dKRIFVtTEkZDAg== - dependencies: - "@ngraveio/bc-ur" "^1.0.0" - qrcode.react "^1.0.1" - react "16.13.1" - react-dom "16.13.1" - react-modal "^3.12.1" - react-qr-reader "^2.2.1" - rxjs "^6.6.3" - typescript "^4.6.2" - - "@keystonehq/sol-keyring@^0.3.1": - version "0.3.1" - resolved "https://registry.yarnpkg.com/@keystonehq/sol-keyring/-/sol-keyring-0.3.1.tgz#9ed61269bab92601eedb7f1adb9ca3258634dbbc" - integrity sha512-RU6I3HQrQ9NpRDP9TwlBIy5DftVcNcyk0NWfhkPy/YanhMcCB0cRPw68iQl1rMnR6n1G2+YrBHMxm6swCW+B4Q== - dependencies: - "@keystonehq/bc-ur-registry" "^0.5.0" - "@keystonehq/bc-ur-registry-sol" "^0.3.1" - "@keystonehq/sdk" "^0.13.1" - "@solana/web3.js" "^1.36.0" - bs58 "^5.0.0" - uuid "^8.3.2" - - "@ledgerhq/cryptoassets@^9.2.0": - version "9.4.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/cryptoassets/-/cryptoassets-9.4.0.tgz#1e30b4d84de570020cca9ccedadfefb2cd587180" - integrity sha512-x12C6e71NxYzw4kZkddjvTrH2Whv1owDcWArNKmWj90P2g8jsaakH1ajCMU9D9BsG35BsdOf9EsR+y73jCjdwg== - dependencies: - invariant "2" - - "@ledgerhq/devices@6.27.1", "@ledgerhq/devices@^6.27.1": - version "6.27.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-6.27.1.tgz#3b13ab1d1ba8201e9e74a08f390560483978c962" - integrity sha512-jX++oy89jtv7Dp2X6gwt3MMkoajel80JFWcdc0HCouwDsV1mVJ3SQdwl/bQU0zd8HI6KebvUP95QTwbQLLK/RQ== - dependencies: - "@ledgerhq/errors" "^6.10.0" - "@ledgerhq/logs" "^6.10.0" - rxjs "6" - semver "^7.3.5" - - "@ledgerhq/devices@^8.0.0": - version "8.0.0" - resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.0.0.tgz#8fe9f9e442e28b7a20bcdf4c2eed06ce7b8f76ae" - integrity sha512-gSnRT0KPca+LIpaC6D/WZQjOAlSI5uCvK1dmxXtKhODLAj735rX5Z3SnGnLUavRCHNbUi44FzgvloF5BKTkh7A== - dependencies: - "@ledgerhq/errors" "^6.12.3" - "@ledgerhq/logs" "^6.10.1" - rxjs "6" - semver "^7.3.5" - - "@ledgerhq/devices@^8.0.1": - version "8.0.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/devices/-/devices-8.0.1.tgz#4c475f6ae249daf00ef08f5098924206233f3179" - integrity sha512-8uuyR8DGowYBLatur+MyJtRJ8RYDWSFFqGnNmgBBdlRG6VPf9vjhrFZlmYqukWesPwkZNZstP475W4TS+j6EFw== - dependencies: - "@ledgerhq/errors" "^6.12.4" - "@ledgerhq/logs" "^6.10.1" - rxjs "6" - semver "^7.3.5" - - "@ledgerhq/errors@^6.10.0", "@ledgerhq/errors@^6.12.3": - version "6.12.3" - resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.12.3.tgz#a610caae1eeeb7cb038525e5212fe03217dda683" - integrity sha512-djiMSgB/7hnK3aLR/c5ZMMivxjcI7o2+y3VKcsZZpydPoVf9+FXqeJPRfOwmJ0JxbQ//LinUfWpIfHew8LkaVw== - - "@ledgerhq/errors@^6.12.4": - version "6.12.4" - resolved "https://registry.yarnpkg.com/@ledgerhq/errors/-/errors-6.12.4.tgz#1c2f75dc3dee91b069f3446be484fa28676d1b45" - integrity sha512-qi5poMrcIuFuivdzRjjQsNp7rRwUA5v3eo6D4yEy+l+w8wT4d4JtQ5u1TbrlGfFHfgLq7Lv6dsvh2ooLyWTyfg== - - "@ledgerhq/hw-app-eth@6.32.2": - version "6.32.2" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-app-eth/-/hw-app-eth-6.32.2.tgz#a6dd250c327426ded1e825dd504d2844b20703a5" - integrity sha512-5RmRw+vhzCE88hFPcpFOXelLTk9cjscweYJLritdAcTSkXV3jOdmAYvY1KLhG5Ungy561r8AQHm6NleR/Qjpjw== - dependencies: - "@ethersproject/abi" "^5.5.0" - "@ethersproject/rlp" "^5.5.0" - "@ledgerhq/cryptoassets" "^9.2.0" - "@ledgerhq/errors" "^6.12.4" - "@ledgerhq/hw-transport" "^6.28.2" - "@ledgerhq/hw-transport-mocker" "^6.27.13" - "@ledgerhq/logs" "^6.10.1" - axios "^0.26.1" - bignumber.js "^9.1.0" - crypto-js "^4.1.1" - - "@ledgerhq/hw-transport-mocker@^6.27.13": - version "6.27.13" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-mocker/-/hw-transport-mocker-6.27.13.tgz#4bbb0ce1d039adbf6bb05fe2fe038decd7ece356" - integrity sha512-GYik5D45/U8SIkVUeaio6KV6xkIf73v+i6gegMbUFO712x+TgkG/EH1fpF6+sTwLmNxqjaTyi8LYqYeZNW0GMg== - dependencies: - "@ledgerhq/hw-transport" "^6.28.2" - "@ledgerhq/logs" "^6.10.1" - - "@ledgerhq/hw-transport-webhid@6.27.1": - version "6.27.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webhid/-/hw-transport-webhid-6.27.1.tgz#8fd1710d23b6bd7cbe2382dd02054dfabe788447" - integrity sha512-u74rBYlibpbyGblSn74fRs2pMM19gEAkYhfVibq0RE1GNFjxDMFC1n7Sb+93Jqmz8flyfB4UFJsxs8/l1tm2Kw== - dependencies: - "@ledgerhq/devices" "^6.27.1" - "@ledgerhq/errors" "^6.10.0" - "@ledgerhq/hw-transport" "^6.27.1" - "@ledgerhq/logs" "^6.10.0" - - "@ledgerhq/hw-transport-webhid@6.27.13": - version "6.27.13" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webhid/-/hw-transport-webhid-6.27.13.tgz#c14a2b4b64241cf6206c49e618edb86b28573796" - integrity sha512-VDQ8i08Atc7QQJ1+JE+EtuKoxBNL+ySyxMnzVAABMzhy6LGCwxzfNKP7Pb9vZNruWyRYVNCN3RiNPCMmiCDd1g== - dependencies: - "@ledgerhq/devices" "^8.0.1" - "@ledgerhq/errors" "^6.12.4" - "@ledgerhq/hw-transport" "^6.28.2" - "@ledgerhq/logs" "^6.10.1" - - "@ledgerhq/hw-transport-webusb@6.27.13": - version "6.27.13" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-6.27.13.tgz#272c38aad7d090c748f6c7fd85e5a579aa1bbae4" - integrity sha512-1X7xMdcEE/XVD0k5yO8DygR/gik3M9jDHynu8WxpIFDxAULWN5nyM2vWeXXGYl/MM75jV+OehWJ4oFhYGsn3rw== - dependencies: - "@ledgerhq/devices" "^8.0.1" - "@ledgerhq/errors" "^6.12.4" - "@ledgerhq/hw-transport" "^6.28.2" - "@ledgerhq/logs" "^6.10.1" - - "@ledgerhq/hw-transport@6.27.1": - version "6.27.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.27.1.tgz#88072278f69c279cb6569352acd4ae2fec33ace3" - integrity sha512-hnE4/Fq1YzQI4PA1W0H8tCkI99R3UWDb3pJeZd6/Xs4Qw/q1uiQO+vNLC6KIPPhK0IajUfuI/P2jk0qWcMsuAQ== - dependencies: - "@ledgerhq/devices" "^6.27.1" - "@ledgerhq/errors" "^6.10.0" - events "^3.3.0" - - "@ledgerhq/hw-transport@6.28.2", "@ledgerhq/hw-transport@^6.28.2": - version "6.28.2" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.28.2.tgz#483f9a39403ee63b03d452e30bfe8189dcca5785" - integrity sha512-2LxQdZnhSzu394brKuUZIWfuT2YAyNI3glRMf8+yHx3wUFqi10v8NzII99SHDyT8tN3Ovzmq+hbGHvrR2PqYRA== - dependencies: - "@ledgerhq/devices" "^8.0.1" - "@ledgerhq/errors" "^6.12.4" - events "^3.3.0" - - "@ledgerhq/hw-transport@^6.27.1": - version "6.28.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/hw-transport/-/hw-transport-6.28.1.tgz#cb22fe9bc23af4682c30f2aac7fe6f7ab13ed65a" - integrity sha512-RaZe+abn0zBIz82cE9tp7Y7aZkHWWbEaE2yJpfxT8AhFz3fx+BU0kLYzuRN9fmA7vKueNJ1MTVUCY+Ex9/CHSQ== - dependencies: - "@ledgerhq/devices" "^8.0.0" - "@ledgerhq/errors" "^6.12.3" - events "^3.3.0" - - "@ledgerhq/logs@^6.10.0", "@ledgerhq/logs@^6.10.1": - version "6.10.1" - resolved "https://registry.yarnpkg.com/@ledgerhq/logs/-/logs-6.10.1.tgz#5bd16082261d7364eabb511c788f00937dac588d" - integrity sha512-z+ILK8Q3y+nfUl43ctCPuR4Y2bIxk/ooCQFwZxhtci1EhAtMDzMAx2W25qx8G1PPL9UUOdnUax19+F0OjXoj4w== - - "@metamask/detect-provider@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@metamask/detect-provider/-/detect-provider-2.0.0.tgz#4bc2795e5e6f7d8b84b2e845058d2f222c99917d" - integrity sha512-sFpN+TX13E9fdBDh9lvQeZdJn4qYoRb/6QF2oZZK/Pn559IhCFacPMU1rMuqyXoFQF3JSJfii2l98B87QDPeCQ== - - "@metamask/eth-sig-util@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@metamask/eth-sig-util/-/eth-sig-util-4.0.1.tgz#3ad61f6ea9ad73ba5b19db780d40d9aae5157088" - integrity sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ== - dependencies: - ethereumjs-abi "^0.6.8" - ethereumjs-util "^6.2.1" - ethjs-util "^0.1.6" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.1" - - "@metamask/obs-store@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/@metamask/obs-store/-/obs-store-7.0.0.tgz#6cae5f28306bb3e83a381bc9ae22682316095bd3" - integrity sha512-Tr61Uu9CGXkCg5CZwOYRMQERd+y6fbtrtLd/PzDTPHO5UJpmSbU+7MPcQK7d1DwZCOCeCIvhmZSUCvYliC8uGw== - dependencies: - "@metamask/safe-event-emitter" "^2.0.0" - through2 "^2.0.3" - - "@metamask/safe-event-emitter@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@metamask/safe-event-emitter/-/safe-event-emitter-2.0.0.tgz#af577b477c683fad17c619a78208cede06f9605c" - integrity sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q== - - "@mrmlnc/readdir-enhanced@^2.2.1": - version "2.2.1" - resolved "https://registry.yarnpkg.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde" - integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g== - dependencies: - call-me-maybe "^1.0.1" - glob-to-regexp "^0.3.0" - - "@ngraveio/bc-ur@^1.0.0", "@ngraveio/bc-ur@^1.1.5": - version "1.1.6" - resolved "https://registry.yarnpkg.com/@ngraveio/bc-ur/-/bc-ur-1.1.6.tgz#8f8c75fff22f6a5e4dfbc5a6b540d7fe8f42cd39" - integrity sha512-G+2XgjXde2IOcEQeCwR250aS43/Swi7gw0FuETgJy2c3HqF8f88SXDMsIGgJlZ8jXd0GeHR4aX0MfjXf523UZg== - dependencies: - "@apocentre/alias-sampling" "^0.5.3" - assert "^2.0.0" - bignumber.js "^9.0.1" - cbor-sync "^1.0.4" - crc "^3.8.0" - jsbi "^3.1.5" - sha.js "^2.4.11" - - "@noble/curves@1.0.0", "@noble/curves@~1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.0.0.tgz#e40be8c7daf088aaf291887cbc73f43464a92932" - integrity sha512-2upgEu0iLiDVDZkNLeFV2+ht0BAVgQnEmCk6JsOch9Rp8xfkMCbvbAZlA2pBHQc73dbl+vFOXfqkf4uemdn0bw== - dependencies: - "@noble/hashes" "1.3.0" - - "@noble/ed25519@^1.7.0": - version "1.7.3" - resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" - integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ== - - "@noble/hashes@1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.1.2.tgz#e9e035b9b166ca0af657a7848eb2718f0f22f183" - integrity sha512-KYRCASVTv6aeUi1tsF8/vpyR7zpfs3FUzy2Jqm+MU+LmUKhQ0y2FpfwqkCcxSg2ua4GALJd8k2R76WxwZGbQpA== - - "@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.2.0.tgz#a3150eeb09cc7ab207ebf6d7b9ad311a9bdbed12" - integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== - - "@noble/hashes@1.3.0", "@noble/hashes@^1", "@noble/hashes@^1.0.0", "@noble/hashes@^1.1.2", "@noble/hashes@^1.2.0", "@noble/hashes@^1.3.0", "@noble/hashes@~1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" - integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== - - "@noble/secp256k1@1.7.1", "@noble/secp256k1@^1.6.3", "@noble/secp256k1@~1.7.0": - version "1.7.1" - resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" - integrity sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw== - - "@nodelib/fs.scandir@2.1.5": - version "2.1.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" - integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g== - dependencies: - "@nodelib/fs.stat" "2.0.5" - run-parallel "^1.1.9" - - "@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b" - integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A== - - "@nodelib/fs.stat@^1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b" - integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw== - - "@nodelib/fs.walk@^1.2.3": - version "1.2.8" - resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a" - integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg== - dependencies: - "@nodelib/fs.scandir" "2.1.5" - fastq "^1.6.0" - - "@nomicfoundation/ethereumjs-block@4.2.2", "@nomicfoundation/ethereumjs-block@^4.0.0": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-block/-/ethereumjs-block-4.2.2.tgz#f317078c810a54381c682d0c12e1e81acfc11599" - integrity sha512-atjpt4gc6ZGZUPHBAQaUJsm1l/VCo7FmyQ780tMGO8QStjLdhz09dXynmhwVTy5YbRr0FOh/uX3QaEM0yIB2Zg== - dependencies: - "@nomicfoundation/ethereumjs-common" "3.1.2" - "@nomicfoundation/ethereumjs-rlp" "4.0.3" - "@nomicfoundation/ethereumjs-trie" "5.0.5" - "@nomicfoundation/ethereumjs-tx" "4.1.2" - "@nomicfoundation/ethereumjs-util" "8.0.6" - ethereum-cryptography "0.1.3" - - "@nomicfoundation/ethereumjs-blockchain@6.2.2", "@nomicfoundation/ethereumjs-blockchain@^6.0.0": - version "6.2.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-blockchain/-/ethereumjs-blockchain-6.2.2.tgz#9f79dd2b3dc73f5d5a220f7d8a734330c4c26320" - integrity sha512-6AIB2MoTEPZJLl6IRKcbd8mUmaBAQ/NMe3O7OsAOIiDjMNPPH5KaUQiLfbVlegT4wKIg/GOsFH7XlH2KDVoJNg== - dependencies: - "@nomicfoundation/ethereumjs-block" "4.2.2" - "@nomicfoundation/ethereumjs-common" "3.1.2" - "@nomicfoundation/ethereumjs-ethash" "2.0.5" - "@nomicfoundation/ethereumjs-rlp" "4.0.3" - "@nomicfoundation/ethereumjs-trie" "5.0.5" - "@nomicfoundation/ethereumjs-util" "8.0.6" - abstract-level "^1.0.3" - debug "^4.3.3" - ethereum-cryptography "0.1.3" - level "^8.0.0" - lru-cache "^5.1.1" - memory-level "^1.0.0" - - "@nomicfoundation/ethereumjs-common@3.1.2", "@nomicfoundation/ethereumjs-common@^3.0.0": - version "3.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-common/-/ethereumjs-common-3.1.2.tgz#041086da66ed40f2bf2a2116a1f2f0fcf33fb80d" - integrity sha512-JAEBpIua62dyObHM9KI2b4wHZcRQYYge9gxiygTWa3lNCr2zo+K0TbypDpgiNij5MCGNWP1eboNfNfx1a3vkvA== - dependencies: - "@nomicfoundation/ethereumjs-util" "8.0.6" - crc-32 "^1.2.0" - - "@nomicfoundation/ethereumjs-ethash@2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-ethash/-/ethereumjs-ethash-2.0.5.tgz#0c605812f6f4589a9f6d597db537bbf3b86469db" - integrity sha512-xlLdcICGgAYyYmnI3r1t0R5fKGBJNDQSOQxXNjVO99JmxJIdXR5MgPo5CSJO1RpyzKOgzi3uIFn8agv564dZEQ== - dependencies: - "@nomicfoundation/ethereumjs-block" "4.2.2" - "@nomicfoundation/ethereumjs-rlp" "4.0.3" - "@nomicfoundation/ethereumjs-util" "8.0.6" - abstract-level "^1.0.3" - bigint-crypto-utils "^3.0.23" - ethereum-cryptography "0.1.3" - - "@nomicfoundation/ethereumjs-evm@1.3.2", "@nomicfoundation/ethereumjs-evm@^1.0.0": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-evm/-/ethereumjs-evm-1.3.2.tgz#f9d6bafd5c23d07ab75b8649d589af1a43b60bfc" - integrity sha512-I00d4MwXuobyoqdPe/12dxUQxTYzX8OckSaWsMcWAfQhgVDvBx6ffPyP/w1aL0NW7MjyerySPcSVfDJAMHjilw== - dependencies: - "@nomicfoundation/ethereumjs-common" "3.1.2" - "@nomicfoundation/ethereumjs-util" "8.0.6" - "@types/async-eventemitter" "^0.2.1" - async-eventemitter "^0.2.4" - debug "^4.3.3" - ethereum-cryptography "0.1.3" - mcl-wasm "^0.7.1" - rustbn.js "~0.2.0" - - "@nomicfoundation/ethereumjs-rlp@4.0.3", "@nomicfoundation/ethereumjs-rlp@^4.0.0": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-rlp/-/ethereumjs-rlp-4.0.3.tgz#8d9147fbd0d49e8f4c5ce729d226694a8fe03eb8" - integrity sha512-DZMzB/lqPK78T6MluyXqtlRmOMcsZbTTbbEyAjo0ncaff2mqu/k8a79PBcyvpgAhWD/R59Fjq/x3ro5Lof0AtA== - - "@nomicfoundation/ethereumjs-statemanager@1.0.5", "@nomicfoundation/ethereumjs-statemanager@^1.0.0": - version "1.0.5" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-statemanager/-/ethereumjs-statemanager-1.0.5.tgz#951cc9ff2c421d40233d2e9d0fe033db2391ee44" - integrity sha512-CAhzpzTR5toh/qOJIZUUOnWekUXuRqkkzaGAQrVcF457VhtCmr+ddZjjK50KNZ524c1XP8cISguEVNqJ6ij1sA== - dependencies: - "@nomicfoundation/ethereumjs-common" "3.1.2" - "@nomicfoundation/ethereumjs-rlp" "4.0.3" - "@nomicfoundation/ethereumjs-trie" "5.0.5" - "@nomicfoundation/ethereumjs-util" "8.0.6" - debug "^4.3.3" - ethereum-cryptography "0.1.3" - functional-red-black-tree "^1.0.1" - - "@nomicfoundation/ethereumjs-trie@5.0.5", "@nomicfoundation/ethereumjs-trie@^5.0.0": - version "5.0.5" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-trie/-/ethereumjs-trie-5.0.5.tgz#bf31c9306dcbba2007fad668e96109ddb147040c" - integrity sha512-+8sNZrXkzvA1NH5F4kz5RSYl1I6iaRz7mAZRsyxOm0IVY4UaP43Ofvfp/TwOalFunurQrYB5pRO40+8FBcxFMA== - dependencies: - "@nomicfoundation/ethereumjs-rlp" "4.0.3" - "@nomicfoundation/ethereumjs-util" "8.0.6" - ethereum-cryptography "0.1.3" - readable-stream "^3.6.0" - - "@nomicfoundation/ethereumjs-tx@4.1.2", "@nomicfoundation/ethereumjs-tx@^4.0.0": - version "4.1.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-tx/-/ethereumjs-tx-4.1.2.tgz#8659fad7f9094b7eb82aa6cc3c8097cb1c42ff31" - integrity sha512-emJBJZpmTdUa09cqxQqHaysbBI9Od353ZazeH7WgPb35miMgNY6mb7/3vBA98N5lUW/rgkiItjX0KZfIzihSoQ== - dependencies: - "@nomicfoundation/ethereumjs-common" "3.1.2" - "@nomicfoundation/ethereumjs-rlp" "4.0.3" - "@nomicfoundation/ethereumjs-util" "8.0.6" - ethereum-cryptography "0.1.3" - - "@nomicfoundation/ethereumjs-util@8.0.6", "@nomicfoundation/ethereumjs-util@^8.0.0": - version "8.0.6" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-util/-/ethereumjs-util-8.0.6.tgz#dbce5d258b017b37aa58b3a7c330ad59d10ccf0b" - integrity sha512-jOQfF44laa7xRfbfLXojdlcpkvxeHrE2Xu7tSeITsWFgoII163MzjOwFEzSNozHYieFysyoEMhCdP+NY5ikstw== - dependencies: - "@nomicfoundation/ethereumjs-rlp" "4.0.3" - ethereum-cryptography "0.1.3" - - "@nomicfoundation/ethereumjs-vm@^6.0.0": - version "6.4.2" - resolved "https://registry.yarnpkg.com/@nomicfoundation/ethereumjs-vm/-/ethereumjs-vm-6.4.2.tgz#af1cf62e6c0054bc2b7febc8556d032433d1b18c" - integrity sha512-PRTyxZMP6kx+OdAzBhuH1LD2Yw+hrSpaytftvaK//thDy2OI07S0nrTdbrdk7b8ZVPAc9H9oTwFBl3/wJ3w15g== - dependencies: - "@nomicfoundation/ethereumjs-block" "4.2.2" - "@nomicfoundation/ethereumjs-blockchain" "6.2.2" - "@nomicfoundation/ethereumjs-common" "3.1.2" - "@nomicfoundation/ethereumjs-evm" "1.3.2" - "@nomicfoundation/ethereumjs-rlp" "4.0.3" - "@nomicfoundation/ethereumjs-statemanager" "1.0.5" - "@nomicfoundation/ethereumjs-trie" "5.0.5" - "@nomicfoundation/ethereumjs-tx" "4.1.2" - "@nomicfoundation/ethereumjs-util" "8.0.6" - "@types/async-eventemitter" "^0.2.1" - async-eventemitter "^0.2.4" - debug "^4.3.3" - ethereum-cryptography "0.1.3" - functional-red-black-tree "^1.0.1" - mcl-wasm "^0.7.1" - rustbn.js "~0.2.0" - - "@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-arm64/-/solidity-analyzer-darwin-arm64-0.1.1.tgz#4c858096b1c17fe58a474fe81b46815f93645c15" - integrity sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w== - - "@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-darwin-x64/-/solidity-analyzer-darwin-x64-0.1.1.tgz#6e25ccdf6e2d22389c35553b64fe6f3fdaec432c" - integrity sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA== - - "@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-freebsd-x64/-/solidity-analyzer-freebsd-x64-0.1.1.tgz#0a224ea50317139caeebcdedd435c28a039d169c" - integrity sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA== - - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-gnu/-/solidity-analyzer-linux-arm64-gnu-0.1.1.tgz#dfa085d9ffab9efb2e7b383aed3f557f7687ac2b" - integrity sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg== - - "@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-arm64-musl/-/solidity-analyzer-linux-arm64-musl-0.1.1.tgz#c9e06b5d513dd3ab02a7ac069c160051675889a4" - integrity sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w== - - "@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-gnu/-/solidity-analyzer-linux-x64-gnu-0.1.1.tgz#8d328d16839e52571f72f2998c81e46bf320f893" - integrity sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA== - - "@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-linux-x64-musl/-/solidity-analyzer-linux-x64-musl-0.1.1.tgz#9b49d0634b5976bb5ed1604a1e1b736f390959bb" - integrity sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w== - - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-arm64-msvc/-/solidity-analyzer-win32-arm64-msvc-0.1.1.tgz#e2867af7264ebbcc3131ef837878955dd6a3676f" - integrity sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg== - - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-ia32-msvc/-/solidity-analyzer-win32-ia32-msvc-0.1.1.tgz#0685f78608dd516c8cdfb4896ed451317e559585" - integrity sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ== - - "@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer-win32-x64-msvc/-/solidity-analyzer-win32-x64-msvc-0.1.1.tgz#c9a44f7108646f083b82e851486e0f6aeb785836" - integrity sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw== - - "@nomicfoundation/solidity-analyzer@^0.1.0": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@nomicfoundation/solidity-analyzer/-/solidity-analyzer-0.1.1.tgz#f5f4d36d3f66752f59a57e7208cd856f3ddf6f2d" - integrity sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg== - optionalDependencies: - "@nomicfoundation/solidity-analyzer-darwin-arm64" "0.1.1" - "@nomicfoundation/solidity-analyzer-darwin-x64" "0.1.1" - "@nomicfoundation/solidity-analyzer-freebsd-x64" "0.1.1" - "@nomicfoundation/solidity-analyzer-linux-arm64-gnu" "0.1.1" - "@nomicfoundation/solidity-analyzer-linux-arm64-musl" "0.1.1" - "@nomicfoundation/solidity-analyzer-linux-x64-gnu" "0.1.1" - "@nomicfoundation/solidity-analyzer-linux-x64-musl" "0.1.1" - "@nomicfoundation/solidity-analyzer-win32-arm64-msvc" "0.1.1" - "@nomicfoundation/solidity-analyzer-win32-ia32-msvc" "0.1.1" - "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.1" - - "@openzeppelin/contracts@3.4.1-solc-0.7-2": - version "3.4.1-solc-0.7-2" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.1-solc-0.7-2.tgz#371c67ebffe50f551c3146a9eec5fe6ffe862e92" - integrity sha512-tAG9LWg8+M2CMu7hIsqHPaTyG4uDzjr6mhvH96LvOpLZZj6tgzTluBt+LsCf1/QaYrlis6pITvpIaIhE+iZB+Q== - - "@openzeppelin/contracts@3.4.2-solc-0.7": - version "3.4.2-solc-0.7" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.2-solc-0.7.tgz#38f4dbab672631034076ccdf2f3201fab1726635" - integrity sha512-W6QmqgkADuFcTLzHL8vVoNBtkwjvQRpYIAom7KiUNoLKghyx3FgH0GBjt8NRvigV1ZmMOBllvE1By1C+bi8WpA== - - "@pancakeswap-libs/pancake-swap-core@^0.1.0": - version "0.1.0" - resolved "https://registry.yarnpkg.com/@pancakeswap-libs/pancake-swap-core/-/pancake-swap-core-0.1.0.tgz#6957f1fa02170531a2ffbf95f2c0e145e9d21bc2" - integrity sha512-2jYiD1Ec3xAbP4JTa/Ozylx0xI4VwC7diCm5ak4AtGrIRhfRLSanaZSQdVpLigUnIFszma/4nVWtt3cup4Poxw== - dependencies: - truffle "^5.1.41" - truffle-flattener "^1.4.4" - truffle-hdwallet-provider "^1.0.17" - - "@pancakeswap/sdk@^2.4.5": - version "2.4.5" - resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-2.4.5.tgz#783c02efc7ca89d2297b0b07040639d90c3e610d" - integrity sha512-qfHOPGXitDQ5y1dmYloe6UQe/0Ki0enow4MLtr5W49Jl7ZXr8oB6XV7usYtT63R7vqLSKY83rd8Wyw18vxP7dA== - dependencies: - big.js "^5.2.2" - decimal.js-light "^2.5.0" - jsbi "^3.1.4" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - "@pangolindex/exchange-contracts@^1.0.1": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@pangolindex/exchange-contracts/-/exchange-contracts-1.0.2.tgz#2d5be49d9e63a311cb3c2de53b21815923b3a996" - integrity sha512-G0imyN39C/vGX1VT/dn5do9SB8rJjRViT4p76KbseKNZ2wPChtFsz6yRFkqEJjeDRvqhBk7TZZlPGcbNvz/mBA== - dependencies: - hardhat-tracer "^1.0.0-alpha.5" - - "@pangolindex/sdk@^1.1.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@pangolindex/sdk/-/sdk-1.5.0.tgz#5b51d76775b2e6fc23aa82264dea291fc12fbd8a" - integrity sha512-b/OLh0wGygl/6unrlJ1VtzepV9DpeNz/ifNVsQOkDUZFlGQT3Gv6DvSXWJelYKPUSK24ZPoNXbu0bvqHfnjhIg== - dependencies: - "@pangolindex/exchange-contracts" "^1.0.1" - big.js "^5.2.2" - decimal.js-light "^2.5.0" - jsbi "^3.1.1" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - "@particle-network/auth@^0.5.5": - version "0.5.6" - resolved "https://registry.yarnpkg.com/@particle-network/auth/-/auth-0.5.6.tgz#058e00980511fdf72189b6d4a7576e67934a008a" - integrity sha512-QhRr76BamasIatyWc68Whk/JpjomKUFbxT4KoHxrSWD8lmyWTOP5T8Jo8hQliyjtO2Iuzv9KLpuJ55w7mgaC/A== - dependencies: - crypto-js "^4.1.1" - uuid "^8.3.2" - - "@particle-network/solana-wallet@^0.5.6": - version "0.5.6" - resolved "https://registry.yarnpkg.com/@particle-network/solana-wallet/-/solana-wallet-0.5.6.tgz#701d431820c54c8c592999de29928670a26d5978" - integrity sha512-Ad0hwJsWRCbptp+mmLFsbrERDQbW+QhFQOmWRT8+6gGrY6qNTApwI9+jlpkxOzEI9rvSqFD1qKKMlqy1n+fJNA== - dependencies: - "@particle-network/auth" "^0.5.5" - - "@pedrouid/environment@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@pedrouid/environment/-/environment-1.0.1.tgz#858f0f8a057340e0b250398b75ead77d6f4342ec" - integrity sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug== - - "@perp/curie-deployments@2023.4.12-1681295833590": - version "2023.4.12-1681295833590" - resolved "https://registry.yarnpkg.com/@perp/curie-deployments/-/curie-deployments-2023.4.12-1681295833590.tgz#d4f0afe189ec37799dc32b53242db56fc18f2f14" - integrity sha512-NJbTy3frix5AQS5Bk/littykkmQ/m1rFD5HUQG8b0SDVGsqvIsSr5NSlhwb+UGJS7EHtgxevh4P4dTPc4dN6lQ== - - "@perp/sdk-curie@^1.16.0": - version "1.20.0" - resolved "https://registry.yarnpkg.com/@perp/sdk-curie/-/sdk-curie-1.20.0.tgz#3d070a3626b35d605003523705d9781c8a6e711e" - integrity sha512-J1cVhqfbI04glsDZjbZT82OG31U9yLRzc4pPVBhEhzMk74PY8EhiO6BDbo8X/5AreMQk+8HKzbSXr/FhBR6yag== - dependencies: - "@perp/curie-deployments" "2023.4.12-1681295833590" - cross-fetch "3.1.5" - exponential-backoff "3.1.0" - - "@project-serum/sol-wallet-adapter@0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@project-serum/sol-wallet-adapter/-/sol-wallet-adapter-0.2.0.tgz#e1fa5508bf13110429bf26e10b818182015f2161" - integrity sha512-ed7wZwlDqjF88VCq7eHVO8njHqdUkBxBL8WEVOnB47ooLO4btOJt6GBdkKpKqKX86c86LiEROJclcdW8e7kIjg== - dependencies: - bs58 "^4.0.1" - eventemitter3 "^4.0.4" - - "@project-serum/sol-wallet-adapter@^0.2.6": - version "0.2.6" - resolved "https://registry.yarnpkg.com/@project-serum/sol-wallet-adapter/-/sol-wallet-adapter-0.2.6.tgz#b4cd25a566294354427c97c26d716112b91a0107" - integrity sha512-cpIb13aWPW8y4KzkZAPDgw+Kb+DXjCC6rZoH74MGm3I/6e/zKyGnfAuW5olb2zxonFqsYgnv7ev8MQnvSgJ3/g== - dependencies: - bs58 "^4.0.1" - eventemitter3 "^4.0.7" - - "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" - integrity sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ== - - "@protobufjs/base64@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735" - integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg== - - "@protobufjs/codegen@^2.0.4": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb" - integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg== - - "@protobufjs/eventemitter@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70" - integrity sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q== - - "@protobufjs/fetch@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45" - integrity sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ== - dependencies: - "@protobufjs/aspromise" "^1.1.1" - "@protobufjs/inquire" "^1.1.0" - - "@protobufjs/float@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1" - integrity sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ== - - "@protobufjs/inquire@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089" - integrity sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q== - - "@protobufjs/path@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d" - integrity sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA== - - "@protobufjs/pool@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54" - integrity sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw== - - "@protobufjs/utf8@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570" - integrity sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw== - - "@redux-saga/core@^1.0.0": - version "1.2.3" - resolved "https://registry.yarnpkg.com/@redux-saga/core/-/core-1.2.3.tgz#882ed9ac58b5f42c6abb23349542315b871de305" - integrity sha512-U1JO6ncFBAklFTwoQ3mjAeQZ6QGutsJzwNBjgVLSWDpZTRhobUzuVDS1qH3SKGJD8fvqoaYOjp6XJ3gCmeZWgA== - dependencies: - "@babel/runtime" "^7.6.3" - "@redux-saga/deferred" "^1.2.1" - "@redux-saga/delay-p" "^1.2.1" - "@redux-saga/is" "^1.1.3" - "@redux-saga/symbols" "^1.1.3" - "@redux-saga/types" "^1.2.1" - redux "^4.0.4" - typescript-tuple "^2.2.1" - - "@redux-saga/deferred@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@redux-saga/deferred/-/deferred-1.2.1.tgz#aca373a08ccafd6f3481037f2f7ee97f2c87c3ec" - integrity sha512-cmin3IuuzMdfQjA0lG4B+jX+9HdTgHZZ+6u3jRAOwGUxy77GSlTi4Qp2d6PM1PUoTmQUR5aijlA39scWWPF31g== - - "@redux-saga/delay-p@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@redux-saga/delay-p/-/delay-p-1.2.1.tgz#e72ac4731c5080a21f75b61bedc31cb639d9e446" - integrity sha512-MdiDxZdvb1m+Y0s4/hgdcAXntpUytr9g0hpcOO1XFVyyzkrDu3SKPgBFOtHn7lhu7n24ZKIAT1qtKyQjHqRd+w== - dependencies: - "@redux-saga/symbols" "^1.1.3" - - "@redux-saga/is@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@redux-saga/is/-/is-1.1.3.tgz#b333f31967e87e32b4e6b02c75b78d609dd4ad73" - integrity sha512-naXrkETG1jLRfVfhOx/ZdLj0EyAzHYbgJWkXbB3qFliPcHKiWbv/ULQryOAEKyjrhiclmr6AMdgsXFyx7/yE6Q== - dependencies: - "@redux-saga/symbols" "^1.1.3" - "@redux-saga/types" "^1.2.1" - - "@redux-saga/symbols@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@redux-saga/symbols/-/symbols-1.1.3.tgz#b731d56201719e96dc887dc3ae9016e761654367" - integrity sha512-hCx6ZvU4QAEUojETnX8EVg4ubNLBFl1Lps4j2tX7o45x/2qg37m3c6v+kSp8xjDJY+2tJw4QB3j8o8dsl1FDXg== - - "@redux-saga/types@^1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@redux-saga/types/-/types-1.2.1.tgz#9403f51c17cae37edf870c6bc0c81c1ece5ccef8" - integrity sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA== - - "@resolver-engine/core@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@resolver-engine/core/-/core-0.2.1.tgz#0d71803f6d3b8cb2e9ed481a1bf0ca5f5256d0c0" - integrity sha512-nsLQHmPJ77QuifqsIvqjaF5B9aHnDzJjp73Q1z6apY3e9nqYrx4Dtowhpsf7Jwftg/XzVDEMQC+OzUBNTS+S1A== - dependencies: - debug "^3.1.0" - request "^2.85.0" - - "@resolver-engine/fs@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@resolver-engine/fs/-/fs-0.2.1.tgz#f98a308d77568cc02651d03636f46536b941b241" - integrity sha512-7kJInM1Qo2LJcKyDhuYzh9ZWd+mal/fynfL9BNjWOiTcOpX+jNfqb/UmGUqros5pceBITlWGqS4lU709yHFUbg== - dependencies: - "@resolver-engine/core" "^0.2.1" - debug "^3.1.0" - - "@resolver-engine/imports-fs@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@resolver-engine/imports-fs/-/imports-fs-0.2.2.tgz#5a81ef3285dbf0411ab3b15205080a1ad7622d9e" - integrity sha512-gFCgMvCwyppjwq0UzIjde/WI+yDs3oatJhozG9xdjJdewwtd7LiF0T5i9lrHAUtqrQbqoFE4E+ZMRVHWpWHpKQ== - dependencies: - "@resolver-engine/fs" "^0.2.1" - "@resolver-engine/imports" "^0.2.2" - debug "^3.1.0" - - "@resolver-engine/imports@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@resolver-engine/imports/-/imports-0.2.2.tgz#d3de55a1bb5f3beb7703fdde743298f321175843" - integrity sha512-u5/HUkvo8q34AA+hnxxqqXGfby5swnH0Myw91o3Sm2TETJlNKXibFGSKBavAH+wvWdBi4Z5gS2Odu0PowgVOUg== - dependencies: - "@resolver-engine/core" "^0.2.1" - debug "^3.1.0" - hosted-git-info "^2.6.0" - - "@scure/base@~1.1.0": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" - integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== - - "@scure/bip32@1.1.5": - version "1.1.5" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" - integrity sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw== - dependencies: - "@noble/hashes" "~1.2.0" - "@noble/secp256k1" "~1.7.0" - "@scure/base" "~1.1.0" - - "@scure/bip32@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.0.tgz#6c8d980ef3f290987736acd0ee2e0f0d50068d87" - integrity sha512-bcKpo1oj54hGholplGLpqPHRbIsnbixFtc06nwuNM5/dwSXOq/AAYoIBRsBmnZJSdfeNW5rnff7NTAz3ZCqR9Q== - dependencies: - "@noble/curves" "~1.0.0" - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" - - "@scure/bip39@1.1.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" - integrity sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg== - dependencies: - "@noble/hashes" "~1.2.0" - "@scure/base" "~1.1.0" - - "@scure/bip39@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.0.tgz#a207e2ef96de354de7d0002292ba1503538fc77b" - integrity sha512-SX/uKq52cuxm4YFXWFaVByaSHJh2w3BnokVSeUJVCv6K7WulT9u2BuNRBhuFl8vAuYnzx9bEu9WgpcNYTrYieg== - dependencies: - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" - - "@sentry/core@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" - integrity sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg== - dependencies: - "@sentry/hub" "5.30.0" - "@sentry/minimal" "5.30.0" - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - tslib "^1.9.3" - - "@sentry/hub@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/hub/-/hub-5.30.0.tgz#2453be9b9cb903404366e198bd30c7ca74cdc100" - integrity sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ== - dependencies: - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - tslib "^1.9.3" - - "@sentry/minimal@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/minimal/-/minimal-5.30.0.tgz#ce3d3a6a273428e0084adcb800bc12e72d34637b" - integrity sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw== - dependencies: - "@sentry/hub" "5.30.0" - "@sentry/types" "5.30.0" - tslib "^1.9.3" - - "@sentry/node@^5.18.1": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/node/-/node-5.30.0.tgz#4ca479e799b1021285d7fe12ac0858951c11cd48" - integrity sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg== - dependencies: - "@sentry/core" "5.30.0" - "@sentry/hub" "5.30.0" - "@sentry/tracing" "5.30.0" - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - cookie "^0.4.1" - https-proxy-agent "^5.0.0" - lru_map "^0.3.3" - tslib "^1.9.3" - - "@sentry/tracing@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/tracing/-/tracing-5.30.0.tgz#501d21f00c3f3be7f7635d8710da70d9419d4e1f" - integrity sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw== - dependencies: - "@sentry/hub" "5.30.0" - "@sentry/minimal" "5.30.0" - "@sentry/types" "5.30.0" - "@sentry/utils" "5.30.0" - tslib "^1.9.3" - - "@sentry/types@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/types/-/types-5.30.0.tgz#19709bbe12a1a0115bc790b8942917da5636f402" - integrity sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw== - - "@sentry/utils@5.30.0": - version "5.30.0" - resolved "https://registry.yarnpkg.com/@sentry/utils/-/utils-5.30.0.tgz#9a5bd7ccff85ccfe7856d493bffa64cabc41e980" - integrity sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww== - dependencies: - "@sentry/types" "5.30.0" - tslib "^1.9.3" - - "@sindresorhus/is@^0.14.0": - version "0.14.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" - integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ== - - "@sindresorhus/is@^4.0.0", "@sindresorhus/is@^4.6.0": - version "4.6.0" - resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" - integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== - - "@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== - dependencies: - type-detect "4.0.8" - - "@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== - dependencies: - "@sinonjs/commons" "^1.7.0" - - "@socket.io/component-emitter@~3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz#96116f2a912e0c02817345b3c10751069920d553" - integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg== - - "@solana/buffer-layout@^4.0.0": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" - integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== - dependencies: - buffer "~6.0.3" - - "@solana/wallet-adapter-alpha@^0.1.9": - version "0.1.9" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-alpha/-/wallet-adapter-alpha-0.1.9.tgz#863ae3f7108046c9e022c80023bb1b0877a6dec5" - integrity sha512-GruswNb+4ft/OaqEvFsSJkA6UDOAtyMazgcqHZycWm3axd215KdBB0Jyx3lpOIafU+3IRqbUc773LUzqrYG6VA== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-avana@^0.1.12": - version "0.1.12" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-avana/-/wallet-adapter-avana-0.1.12.tgz#1e10429a22cf92f1310f48f41c3432c5025e72f5" - integrity sha512-BIvddokNhRx+NKfIx+Y8tqiAzI4xloY6bGcrBVNUJF9gcMOX2sDaF6Q1iFxFuxja9ZfIabdb6lyzcjf1bYlzqg== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-backpack@^0.1.13": - version "0.1.13" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-backpack/-/wallet-adapter-backpack-0.1.13.tgz#36a816bc6d620cde3ab9cb161194ecd201fb21a4" - integrity sha512-vt2OcV39uvuS2bBJU4xFwZkWwjRci6TsnQDs6pGQcbrryt8ahICxyCybhRKY3Y58uRnaejW0EDc7P3tBSsDmig== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-base@^0.9.17", "@solana/wallet-adapter-base@^0.9.22": - version "0.9.22" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-base/-/wallet-adapter-base-0.9.22.tgz#97812eaf6aebe01e5fe714326b3c9a0614ae6112" - integrity sha512-xbLEZPGSJFvgTeldG9D55evhl7QK/3e/F7vhvcA97mEt1eieTgeKMnGlmmjs3yivI3/gtZNZeSk1XZLnhKcQvw== - dependencies: - "@solana/wallet-standard-features" "^1.0.1" - "@wallet-standard/base" "^1.0.1" - "@wallet-standard/features" "^1.0.3" - eventemitter3 "^4.0.7" - - "@solana/wallet-adapter-bitkeep@^0.3.18": - version "0.3.18" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-bitkeep/-/wallet-adapter-bitkeep-0.3.18.tgz#00e500d216b9d363bdb024aeb7eb8d7e33f584af" - integrity sha512-RtF0utV6y7Otmquh/Pc8MxfzGGOejrNRlsV6gbK7+vzmLueNgRWi2m++pqpEDUvaSWMU/s+Cd9cgkKHyVju7nw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-bitpie@^0.5.17": - version "0.5.17" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-bitpie/-/wallet-adapter-bitpie-0.5.17.tgz#f1eebce0c0cefdf19f21b639d7eca4b8987eaca5" - integrity sha512-fYcNz3Sn44217olI6qWiOaozpwpQIIntgVUwr0pnmxJuLanaxE/CO+mnw2UAps68k7p5/CXBY1VqFmWZwExEUg== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-blocto@^0.5.21": - version "0.5.21" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-blocto/-/wallet-adapter-blocto-0.5.21.tgz#c0c554861f64efad75bfd600dd21c80d98e56f00" - integrity sha512-USspnk+qQiGrt+cGfhtkIXyV+WW8NW9z4ni+AniVEgqSlooV2ByF1KSCx/K9pwrXHQEFkqVBmSpn632M49IoKw== - dependencies: - "@blocto/sdk" "^0.2.22" - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-brave@^0.1.16": - version "0.1.16" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-brave/-/wallet-adapter-brave-0.1.16.tgz#54bd17028eae9f37a9371205a291ecb3d48faacc" - integrity sha512-ypdweCoRzL8l0aT1Zp7Lbfu9oht2ucYLpqd17DCEBUFtCv4yMZ/dOoW06pV3u8ykdhFz7M8aVsXI2TXvVzwqDQ== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-censo@^0.1.3": - version "0.1.3" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-censo/-/wallet-adapter-censo-0.1.3.tgz#c948df54d8cb5569dea8a350bf01f08eb1d8cb20" - integrity sha512-+eUF2VfOc04uc/qZIR3Y4UcM4tFLfN46myk1tCd1r3g7iZSeDa7mo5vD1WZXAyjcG756WPpiR08nVim5DHDeJw== - dependencies: - "@censo-custody/solana-wallet-adapter" "^0.1.0" - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-clover@^0.4.18": - version "0.4.18" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-clover/-/wallet-adapter-clover-0.4.18.tgz#6592db21bc26e489b311330dee3847fc2a55ff27" - integrity sha512-n2MtGi81+KeWxy6sd3zkTylZ1yRD7Hcpg1WYZURwa1H7nZ808HSoU5aSzwpRUQ75VWyi5Ks2l28sP3oLOugmsQ== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-coin98@^0.5.19": - version "0.5.19" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-coin98/-/wallet-adapter-coin98-0.5.19.tgz#40f704b0b6f327f98c1dd89a5c0b6e0bd8db4179" - integrity sha512-as32x9i8OEjHHSXSeBWEnIKBqCDvmFVHpRoCWuJUtiogE4OHwhmnF9wRPk1ljmce/FGTFwdkTksxNYRI69qOfw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - bs58 "^4.0.1" - - "@solana/wallet-adapter-coinbase@^0.1.17": - version "0.1.17" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-coinbase/-/wallet-adapter-coinbase-0.1.17.tgz#0685fd9ac68b21b8d30eea5c41f7f77ddafea23f" - integrity sha512-3Le+FlLUwdhCGsOGwcy3b7U1268+xEfjY5/IYQE6Ez9DJNDB2ymZkuF7kpJnJMJEvXR94jSAnJvlTMzANAVtIQ== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-coinhub@^0.3.17": - version "0.3.17" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-coinhub/-/wallet-adapter-coinhub-0.3.17.tgz#ddd4406852617abfe3479b8621124290f75c4070" - integrity sha512-bdniCFBh//ubx+cQVc6p4zNWpiTkF97yalckeTW2PSN5a76jHQeZPzDDsNk8Bvzo08gO2JuK+B+eCvhWK13QJg== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-exodus@^0.1.17": - version "0.1.17" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-exodus/-/wallet-adapter-exodus-0.1.17.tgz#16d8ba4c4b851dd76a86d2ffa2b5dee1a7431ecc" - integrity sha512-oGP8Z8Irjdk7ofiqR/Vy4MRMOb5nm69IyI/rsI5MBfEOBzxK15Tmh21yQagneVkl7OSVZMjuXu2ImJQLpZtZJw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-fractal@^0.1.7": - version "0.1.7" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-fractal/-/wallet-adapter-fractal-0.1.7.tgz#8ed049f62b5b3957336ad50ee8d1df7bf51467e0" - integrity sha512-lhIo8hFbRSOsOxKgBB+t78ymM0pqj2PZG0myMeMqgNP4O6mpvaVcqZ9/tEVoEK+ceraRMuHMLoOfDZhg4coYTw== - dependencies: - "@fractalwagmi/solana-wallet-adapter" "^0.1.1" - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-glow@^0.1.17": - version "0.1.17" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-glow/-/wallet-adapter-glow-0.1.17.tgz#f99751ed32b780146258b92fde7982ed176a3e40" - integrity sha512-DcRMKUQSVenPDOjs+O2ouNk9F5YlzKZ+uG2KMTAE9hzBS6CQoQkb+4skLVrs16l+RhU5HTQV+EOw2tFkkW/Teg== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-huobi@^0.1.14": - version "0.1.14" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-huobi/-/wallet-adapter-huobi-0.1.14.tgz#a2ec07662daaa2f2e2c7752a44bf9371951bd8d6" - integrity sha512-1XdAL9nwI1hamMLzN60tSVu1UUcWCK9k4RvnEJPRyjCB1kHoW0AddLs+hZ8DNpiDjfRXNcmuTjXdIGWHjxvqvw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-hyperpay@^0.1.13": - version "0.1.13" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-hyperpay/-/wallet-adapter-hyperpay-0.1.13.tgz#ee7eda55be3010812053b4e38799b742d6849abd" - integrity sha512-2xUSZsfR76/TEmxMha+mwUvo3HhYY/IKTsC7aU7/ay0A0DlIQstZUwNxGLpCqr9n37/pIXBjl2dGSQ5DxnUONg== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-keystone@^0.1.11": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-keystone/-/wallet-adapter-keystone-0.1.11.tgz#d3d321462d2c36b4d7a0d74d5f2275ca49da7eaa" - integrity sha512-DChjMuj5l0Mp8CryD6VscfctxSdScVPsuO5kopBTxCFyQJI41ut0WTPrKH5badLUd+xC4arLFZ8x/U8jiRoqNQ== - dependencies: - "@keystonehq/sol-keyring" "^0.3.1" - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-krystal@^0.1.11": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-krystal/-/wallet-adapter-krystal-0.1.11.tgz#f729015749fed59f3b4e818acd49dbf5b34eaaa4" - integrity sha512-Jz1HdEohjzUCBK/mQCBtXf3Z1R/rifc1OIt46InKX/b4WCdRMwU2UDhKWwzeNiqFPbI2BaIBKctoKCPKq0uq+w== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-ledger@^0.9.24": - version "0.9.24" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-ledger/-/wallet-adapter-ledger-0.9.24.tgz#4f3882e4b908b100236bf2c8d0fd5ea248df4da3" - integrity sha512-TjrAu6hUdictAZU8wYO6MUzvx8+ZDEBIGnFpjrq+sXlo0NK84WFh8UykFfOtdBaUhwkUkYTgLo+2lMV0OhtT2A== - dependencies: - "@ledgerhq/devices" "6.27.1" - "@ledgerhq/hw-transport" "6.27.1" - "@ledgerhq/hw-transport-webhid" "6.27.1" - "@solana/wallet-adapter-base" "^0.9.22" - buffer "^6.0.3" - - "@solana/wallet-adapter-magiceden@^0.1.12": - version "0.1.12" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-magiceden/-/wallet-adapter-magiceden-0.1.12.tgz#819fda35df3c2cd9a9b558589b5369f8143e7046" - integrity sha512-0w53joZfoA4IZSTRuw5jDnkhihqfxZ3INr5yaAq4Bzu13E7UwZYZhqBjnOc+bHorrsbcTUuZk3IgVmoFgzZpHA== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-mathwallet@^0.9.17": - version "0.9.17" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-mathwallet/-/wallet-adapter-mathwallet-0.9.17.tgz#74a36585edaa965622cd2b72bf4580bb32008fb3" - integrity sha512-gyXCZoltA1sbXczVFUbUdxDdey+HawRDoW2bwHHIDWRi26JPAnij671zQkwB5hTIgDRTRDmURSjVvzB9OGNMyw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-neko@^0.2.11": - version "0.2.11" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-neko/-/wallet-adapter-neko-0.2.11.tgz#caeaca7bdd86790e51196968bb14f34c56e20a1c" - integrity sha512-r9koZ1s6t9cvcg0PxZnyG3arh4gQdTjm2nOMiZK1cJKpVpve/p/xMnfrl6xb6FM2KMVDx4qhrkigqSUMplIf7g== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-nightly@^0.1.14": - version "0.1.14" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-nightly/-/wallet-adapter-nightly-0.1.14.tgz#c72211ddc3ce9c48362baefd59ba815ee4ddf431" - integrity sha512-EnrSkduVi1ds/0zc2xORIkcBZCQESz+cllrTeX5RmeZCFKdIjHpUZfbKrvhtz/OpOZbOvRi7ojBLeyx63V2T/A== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-nufi@^0.1.15": - version "0.1.15" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-nufi/-/wallet-adapter-nufi-0.1.15.tgz#37be8fe15e11454dfa700b27a6886f1da2bba3ff" - integrity sha512-KSZefEMiEZIGKDBzyK9CV/srCmPy4vZ9gdrmHTkZuzssZ9YfFwMR71zKpCyYvtJ9mfk+MxmSU6mizUkaB+AHCw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-onto@^0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-onto/-/wallet-adapter-onto-0.1.6.tgz#305512820ae30ab23616df11d106680a0e41409d" - integrity sha512-/JQ1dOvvFCViHLRRUTxcmMQhgC40WF3zKkL3SoQUjWD4MFxdGC8C4J+hndSA3rwUoI23fTGDFDhZc5/Elg72xw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-particle@^0.1.9": - version "0.1.9" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-particle/-/wallet-adapter-particle-0.1.9.tgz#f3f24f216d8a1457643b9e9b251c7b2f373c19a7" - integrity sha512-S4A/D7305JQSd9SZh9C9Yhgtm4KaOCZDwoR2OVxtYJs8ZFr2p+/XO+nDpAAf68cNiqGW8ZQKRc9s/cmELd63sg== - dependencies: - "@particle-network/solana-wallet" "^0.5.6" - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-phantom@^0.9.22": - version "0.9.22" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-phantom/-/wallet-adapter-phantom-0.9.22.tgz#16a56c9d92129a0f4ed022db3b5b52a2a426506d" - integrity sha512-4Fkbv/LN2X23y+Fk3irndrcC7QIOOkjkRh8RFJVzmvaiXdqH71VT8h5H+6LroF7ZaFaozeQF/XzQQqpF2nOgPQ== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-safepal@^0.5.17": - version "0.5.17" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-safepal/-/wallet-adapter-safepal-0.5.17.tgz#0155dd8041a056c9f6527c73a479fd766395ec39" - integrity sha512-Hp14EZ7UvNSiTfuCrvLRY4hqT40gSmRL+z5K7XpOW+oJgIpjhRfvv2o34rKL+qX1QoJUlUN3N6pRu570oytaGQ== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-saifu@^0.1.14": - version "0.1.14" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-saifu/-/wallet-adapter-saifu-0.1.14.tgz#887e7743e6bc10aa371fd9edbe857570b8ef7c53" - integrity sha512-3T9p/IszI6J7BJ94hl2vjMytKZr4YY5vv26pBdmth6AK3Vep0Z381cC/+M/6RyJUOYxiyQKDmi9ZpMZUDraCwQ== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-salmon@^0.1.13": - version "0.1.13" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-salmon/-/wallet-adapter-salmon-0.1.13.tgz#27166a2f36b5fcfcf3059bf32b5e1f87a9aaf3e5" - integrity sha512-NZsoqiFTlmxVWvJC9XNxyEYL9Q9ODJoHRcLqRW91VwnnWaEhjKLppWd6y/HjajewbMzWFH9Yqs34/SYsGypQBw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - salmon-adapter-sdk "^1.1.1" - - "@solana/wallet-adapter-sky@^0.1.14": - version "0.1.14" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-sky/-/wallet-adapter-sky-0.1.14.tgz#f76d2f079bf0f72a366da888231a81a41fa46182" - integrity sha512-qQmb1eXPE4W3ECIEexfd07BjXDEdvxKD00BObZXAHYhe06G9I2h083IUNe0ZULfuZq54M/Ebo937P5bUSttoKw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-slope@^0.5.20": - version "0.5.20" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-slope/-/wallet-adapter-slope-0.5.20.tgz#0a0dab0e4506c94de752d61946865ad835910fbd" - integrity sha512-KeC9wkptJ8qAD4vysB/lWUKmvnLdFHmaINidQzIq5xKI7ca9uXJtf6mdxdvC58nWpFehKgqUqHnFUkMlkSbcYA== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - bs58 "^4.0.1" - - "@solana/wallet-adapter-solflare@^0.6.24": - version "0.6.24" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-solflare/-/wallet-adapter-solflare-0.6.24.tgz#f9bf980bda02eb82e58f40a030ffe44cbf791bf2" - integrity sha512-SQl5h6PgDQAgZxxItFcJ5jQApWbjXajSvZttN4uf23VlJg3vi4iu0JEUhVMkTr02zCR2q27xazDMOziJDS4EWw== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - "@solflare-wallet/sdk" "^1.2.0" - - "@solana/wallet-adapter-sollet@^0.11.16": - version "0.11.16" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-sollet/-/wallet-adapter-sollet-0.11.16.tgz#02462f27f29d17e2f869e344ab9f729d5dfa4105" - integrity sha512-QokMgSSTNbPvF78pn2Vx3xW5Ds4i2KRG6Dr6PpRvUw0t1eZ+Agh+GiQZ74Xb/pPCMDwFxhfeyebH0llJNa98/w== - dependencies: - "@project-serum/sol-wallet-adapter" "^0.2.6" - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-solong@^0.9.17": - version "0.9.17" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-solong/-/wallet-adapter-solong-0.9.17.tgz#ea68415688fec5e51a49ffe2d6249d60cc7487b4" - integrity sha512-Dye8MohD2FYDly2I7dqwcMEotLqjVvri+FLuTSy7qu9jEPAXlwd23+SszLajQv8eK8OkPwAIErU11naZBJj9Lg== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-spot@^0.1.14": - version "0.1.14" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-spot/-/wallet-adapter-spot-0.1.14.tgz#16f216b1e98c2a41a43bf1eee8c6ff756be6d1dc" - integrity sha512-e7X2GFHUSBwfcmIwU1VaI2OZaaXNNmbtLFykl422hn+35TQiFG8Vb/1UZAxbED8U5kQ7LQCG6n3PLinfdbtqhA== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-strike@^0.1.12": - version "0.1.12" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-strike/-/wallet-adapter-strike-0.1.12.tgz#f72d987f403261f90e7039b8a37921980ba473f0" - integrity sha512-3BFGG5qQxbxGdwAjLj+j18jbDqXodua3fv1ltX8qXkBtlxu2vJjeG6Iiem0/Ab0OGHtQrE2mve6vmf4iiYkT5g== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - "@strike-protocols/solana-wallet-adapter" "^0.1.8" - - "@solana/wallet-adapter-tokenary@^0.1.11": - version "0.1.11" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-tokenary/-/wallet-adapter-tokenary-0.1.11.tgz#259ff5966d983628d30789b902795e2c63992dd9" - integrity sha512-rfb9k0wBD62Nm+fI80E/v2pWEbsytiR0K1dHrD/WWXmkHS4rDELRtxJ23wLYUx3Rbc3BGIEZWNJRH+JycD3s1w== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-tokenpocket@^0.4.18": - version "0.4.18" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-tokenpocket/-/wallet-adapter-tokenpocket-0.4.18.tgz#0f35f323f81050f40886a4728e39e4350323206a" - integrity sha512-+xxAdRYp5Bw1zp/N3Wk3gy6iCA31aKZgQo/MSCedli+lihdx1eFLA/+o5pnM8AcYwn2IwAtSloMBg8VlVn8LBQ== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-torus@^0.11.27": - version "0.11.27" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-torus/-/wallet-adapter-torus-0.11.27.tgz#4725187f381b69940d9d21043e4e807693a1dfc1" - integrity sha512-0Fadxkvxq1fHtpK5p/0j5YvwzckqurCwcmKVcEuX62QL5ly+EzrojOi4vwrQXQshArCXExf8y4laAgmt5yc+DQ== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - "@toruslabs/solana-embed" "^0.3.3" - assert "^2.0.0" - crypto-browserify "^3.12.0" - process "^0.11.10" - stream-browserify "^3.0.0" - - "@solana/wallet-adapter-trust@^0.1.12": - version "0.1.12" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-trust/-/wallet-adapter-trust-0.1.12.tgz#e5aceed172951ccbdd7cc8ae1da758c053d50ef8" - integrity sha512-asFldlDEkmXiSihlccMjJvQsyXthr3Lcq5ExhSWlPu+q4acoXaYM4AL5kQOxLhJ74NrsTSSM1LVCwne0CQ4uew== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-unsafe-burner@^0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-unsafe-burner/-/wallet-adapter-unsafe-burner-0.1.6.tgz#70f2e9328ceea26cd6d640e1a41ed0f5b65e2734" - integrity sha512-uDPsYkrDbPFuLZpMPiaDk3OjiimMby+TywRoGrNMs80Ij/mPQIN9mJRFaI1pNumzav3LF1bPGjzJ/LVDB814qQ== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-walletconnect@^0.1.14": - version "0.1.14" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-walletconnect/-/wallet-adapter-walletconnect-0.1.14.tgz#6994077781880b1a86fda27e000e947ed7764609" - integrity sha512-nz8BB1Gs9s2yLuAf1+wDyZoGxCAVi1XWpzVlXMRBD7oL7Bn3kx3SOohzgoOKQltTrye4PF4cl+KCStzY3zQfkg== - dependencies: - "@jnwng/walletconnect-solana" "^0.1.5" - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-adapter-wallets@^0.19.5": - version "0.19.15" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-wallets/-/wallet-adapter-wallets-0.19.15.tgz#3d148a37a30a320aa172b1bfabfc2526fad107bf" - integrity sha512-HakQwKor5f5dbKlRPCBMu3E0gALX2mt0fp44qIKrmLDH7J/UpTIuIDu0z5eidaABJCSVMBNuEC+0uS1UYUXS8w== - dependencies: - "@solana/wallet-adapter-alpha" "^0.1.9" - "@solana/wallet-adapter-avana" "^0.1.12" - "@solana/wallet-adapter-backpack" "^0.1.13" - "@solana/wallet-adapter-bitkeep" "^0.3.18" - "@solana/wallet-adapter-bitpie" "^0.5.17" - "@solana/wallet-adapter-blocto" "^0.5.21" - "@solana/wallet-adapter-brave" "^0.1.16" - "@solana/wallet-adapter-censo" "^0.1.3" - "@solana/wallet-adapter-clover" "^0.4.18" - "@solana/wallet-adapter-coin98" "^0.5.19" - "@solana/wallet-adapter-coinbase" "^0.1.17" - "@solana/wallet-adapter-coinhub" "^0.3.17" - "@solana/wallet-adapter-exodus" "^0.1.17" - "@solana/wallet-adapter-fractal" "^0.1.7" - "@solana/wallet-adapter-glow" "^0.1.17" - "@solana/wallet-adapter-huobi" "^0.1.14" - "@solana/wallet-adapter-hyperpay" "^0.1.13" - "@solana/wallet-adapter-keystone" "^0.1.11" - "@solana/wallet-adapter-krystal" "^0.1.11" - "@solana/wallet-adapter-ledger" "^0.9.24" - "@solana/wallet-adapter-magiceden" "^0.1.12" - "@solana/wallet-adapter-mathwallet" "^0.9.17" - "@solana/wallet-adapter-neko" "^0.2.11" - "@solana/wallet-adapter-nightly" "^0.1.14" - "@solana/wallet-adapter-nufi" "^0.1.15" - "@solana/wallet-adapter-onto" "^0.1.6" - "@solana/wallet-adapter-particle" "^0.1.9" - "@solana/wallet-adapter-phantom" "^0.9.22" - "@solana/wallet-adapter-safepal" "^0.5.17" - "@solana/wallet-adapter-saifu" "^0.1.14" - "@solana/wallet-adapter-salmon" "^0.1.13" - "@solana/wallet-adapter-sky" "^0.1.14" - "@solana/wallet-adapter-slope" "^0.5.20" - "@solana/wallet-adapter-solflare" "^0.6.24" - "@solana/wallet-adapter-sollet" "^0.11.16" - "@solana/wallet-adapter-solong" "^0.9.17" - "@solana/wallet-adapter-spot" "^0.1.14" - "@solana/wallet-adapter-strike" "^0.1.12" - "@solana/wallet-adapter-tokenary" "^0.1.11" - "@solana/wallet-adapter-tokenpocket" "^0.4.18" - "@solana/wallet-adapter-torus" "^0.11.27" - "@solana/wallet-adapter-trust" "^0.1.12" - "@solana/wallet-adapter-unsafe-burner" "^0.1.6" - "@solana/wallet-adapter-walletconnect" "^0.1.14" - "@solana/wallet-adapter-xdefi" "^0.1.6" - - "@solana/wallet-adapter-xdefi@^0.1.6": - version "0.1.6" - resolved "https://registry.yarnpkg.com/@solana/wallet-adapter-xdefi/-/wallet-adapter-xdefi-0.1.6.tgz#8e94c360c2d53084573375fcaaefb745d8192f3f" - integrity sha512-Fj1LLsqmxqPU8/DwOMzdl4HVi7sM8xgkzS1+iNaB1McNXf1HjJ0iQr6BWmkm/7aBdNFo4GrVYa1nYz1NIp/3+Q== - dependencies: - "@solana/wallet-adapter-base" "^0.9.22" - - "@solana/wallet-standard-features@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@solana/wallet-standard-features/-/wallet-standard-features-1.0.1.tgz#36270a646f74a80e51b9e21fb360edb64f840c68" - integrity sha512-SUfx7KtBJ55XIj0qAhhVcC1I6MklAXqWFEz9hDHW+6YcJIyvfix/EilBhaBik1FJ2JT0zukpOfFv8zpuAbFRbw== - dependencies: - "@wallet-standard/base" "^1.0.1" - "@wallet-standard/features" "^1.0.3" - - "@solana/web3.js@^1.36.0", "@solana/web3.js@^1.44.3", "@solana/web3.js@^1.58.0", "@solana/web3.js@^1.63.1": - version "1.74.0" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.74.0.tgz#dbcbeabb830dd7cbbcf5e31404ca79c9785cbf2d" - integrity sha512-RKZyPqizPCxmpMGfpu4fuplNZEWCrhRBjjVstv5QnAJvgln1jgOfgui+rjl1ExnqDnWKg9uaZ5jtGROH/cwabg== - dependencies: - "@babel/runtime" "^7.12.5" - "@noble/ed25519" "^1.7.0" - "@noble/hashes" "^1.1.2" - "@noble/secp256k1" "^1.6.3" - "@solana/buffer-layout" "^4.0.0" - agentkeepalive "^4.2.1" - bigint-buffer "^1.1.5" - bn.js "^5.0.0" - borsh "^0.7.0" - bs58 "^4.0.1" - buffer "6.0.1" - fast-stable-stringify "^1.0.0" - jayson "^3.4.4" - node-fetch "^2.6.7" - rpc-websockets "^7.5.1" - superstruct "^0.14.2" - - "@solflare-wallet/sdk@^1.2.0": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@solflare-wallet/sdk/-/sdk-1.2.1.tgz#9decc277cbefa670ed0d5f053786a7d1635b3e6d" - integrity sha512-ESF3rGZtcVFaIkX9gv7SXUbwbfBOn53l8u9vZJme3RZv4MEY/O1v5Sj2oYXhZiJ9V0PnZfByDUj8yx55j86F+A== - dependencies: - "@project-serum/sol-wallet-adapter" "0.2.0" - bs58 "^4.0.1" - eventemitter3 "^4.0.7" - uuid "^8.3.2" - - "@solidity-parser/parser@^0.14.1": - version "0.14.5" - resolved "https://registry.yarnpkg.com/@solidity-parser/parser/-/parser-0.14.5.tgz#87bc3cc7b068e08195c219c91cd8ddff5ef1a804" - integrity sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg== - dependencies: - antlr4ts "^0.5.0-alpha.4" - - "@stablelib/aead@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/aead/-/aead-1.0.1.tgz#c4b1106df9c23d1b867eb9b276d8f42d5fc4c0c3" - integrity sha512-q39ik6sxGHewqtO0nP4BuSe3db5G1fEJE8ukvngS2gLkBXyy6E7pLubhbYgnkDFv6V8cWaxcE4Xn0t6LWcJkyg== - - "@stablelib/binary@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/binary/-/binary-1.0.1.tgz#c5900b94368baf00f811da5bdb1610963dfddf7f" - integrity sha512-ClJWvmL6UBM/wjkvv/7m5VP3GMr9t0osr4yVgLZsLCOz4hGN9gIAFEqnJ0TsSMAN+n840nf2cHZnA5/KFqHC7Q== - dependencies: - "@stablelib/int" "^1.0.1" - - "@stablelib/bytes@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/bytes/-/bytes-1.0.1.tgz#0f4aa7b03df3080b878c7dea927d01f42d6a20d8" - integrity sha512-Kre4Y4kdwuqL8BR2E9hV/R5sOrUj6NanZaZis0V6lX5yzqC3hBuVSDXUIBqQv/sCpmuWRiHLwqiT1pqqjuBXoQ== - - "@stablelib/chacha20poly1305@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha20poly1305/-/chacha20poly1305-1.0.1.tgz#de6b18e283a9cb9b7530d8767f99cde1fec4c2ee" - integrity sha512-MmViqnqHd1ymwjOQfghRKw2R/jMIGT3wySN7cthjXCBdO+qErNPUBnRzqNpnvIwg7JBCg3LdeCZZO4de/yEhVA== - dependencies: - "@stablelib/aead" "^1.0.1" - "@stablelib/binary" "^1.0.1" - "@stablelib/chacha" "^1.0.1" - "@stablelib/constant-time" "^1.0.1" - "@stablelib/poly1305" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - - "@stablelib/chacha@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/chacha/-/chacha-1.0.1.tgz#deccfac95083e30600c3f92803a3a1a4fa761371" - integrity sha512-Pmlrswzr0pBzDofdFuVe1q7KdsHKhhU24e8gkEwnTGOmlC7PADzLVxGdn2PoNVBBabdg0l/IfLKg6sHAbTQugg== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - - "@stablelib/constant-time@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/constant-time/-/constant-time-1.0.1.tgz#bde361465e1cf7b9753061b77e376b0ca4c77e35" - integrity sha512-tNOs3uD0vSJcK6z1fvef4Y+buN7DXhzHDPqRLSXUel1UfqMB1PWNsnnAezrKfEwTLpN0cGH2p9NNjs6IqeD0eg== - - "@stablelib/ed25519@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/ed25519/-/ed25519-1.0.3.tgz#f8fdeb6f77114897c887bb6a3138d659d3f35996" - integrity sha512-puIMWaX9QlRsbhxfDc5i+mNPMY+0TmQEskunY1rZEBPi1acBCVQAhnsk/1Hk50DGPtVsZtAWQg4NHGlVaO9Hqg== - dependencies: - "@stablelib/random" "^1.0.2" - "@stablelib/sha512" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - - "@stablelib/hash@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hash/-/hash-1.0.1.tgz#3c944403ff2239fad8ebb9015e33e98444058bc5" - integrity sha512-eTPJc/stDkdtOcrNMZ6mcMK1e6yBbqRBaNW55XA1jU8w/7QdnCF0CmMmOD1m7VSkBR44PWrMHU2l6r8YEQHMgg== - - "@stablelib/hkdf@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hkdf/-/hkdf-1.0.1.tgz#b4efd47fd56fb43c6a13e8775a54b354f028d98d" - integrity sha512-SBEHYE16ZXlHuaW5RcGk533YlBj4grMeg5TooN80W3NpcHRtLZLLXvKyX0qcRFxf+BGDobJLnwkvgEwHIDBR6g== - dependencies: - "@stablelib/hash" "^1.0.1" - "@stablelib/hmac" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - - "@stablelib/hmac@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/hmac/-/hmac-1.0.1.tgz#3d4c1b8cf194cb05d28155f0eed8a299620a07ec" - integrity sha512-V2APD9NSnhVpV/QMYgCVMIYKiYG6LSqw1S65wxVoirhU/51ACio6D4yDVSwMzuTJXWZoVHbDdINioBwKy5kVmA== - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - - "@stablelib/int@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/int/-/int-1.0.1.tgz#75928cc25d59d73d75ae361f02128588c15fd008" - integrity sha512-byr69X/sDtDiIjIV6m4roLVWnNNlRGzsvxw+agj8CIEazqWGOQp2dTYgQhtyVXV9wpO6WyXRQUzLV/JRNumT2w== - - "@stablelib/keyagreement@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/keyagreement/-/keyagreement-1.0.1.tgz#4612efb0a30989deb437cd352cee637ca41fc50f" - integrity sha512-VKL6xBwgJnI6l1jKrBAfn265cspaWBPAPEc62VBQrWHLqVgNRE09gQ/AnOEyKUWrrqfD+xSQ3u42gJjLDdMDQg== - dependencies: - "@stablelib/bytes" "^1.0.1" - - "@stablelib/poly1305@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/poly1305/-/poly1305-1.0.1.tgz#93bfb836c9384685d33d70080718deae4ddef1dc" - integrity sha512-1HlG3oTSuQDOhSnLwJRKeTRSAdFNVB/1djy2ZbS35rBSJ/PFqx9cf9qatinWghC2UbfOYD8AcrtbUQl8WoxabA== - dependencies: - "@stablelib/constant-time" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - - "@stablelib/random@^1.0.1", "@stablelib/random@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@stablelib/random/-/random-1.0.2.tgz#2dece393636489bf7e19c51229dd7900eddf742c" - integrity sha512-rIsE83Xpb7clHPVRlBj8qNe5L8ISQOzjghYQm/dZ7VaM2KHYwMW5adjQjrzTZCchFnNCNhkwtnOBa9HTMJCI8w== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - - "@stablelib/sha256@1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha256/-/sha256-1.0.1.tgz#77b6675b67f9b0ea081d2e31bda4866297a3ae4f" - integrity sha512-GIIH3e6KH+91FqGV42Kcj71Uefd/QEe7Dy42sBTeqppXV95ggCcxLTk39bEr+lZfJmp+ghsR07J++ORkRELsBQ== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - - "@stablelib/sha512@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/sha512/-/sha512-1.0.1.tgz#6da700c901c2c0ceacbd3ae122a38ac57c72145f" - integrity sha512-13gl/iawHV9zvDKciLo1fQ8Bgn2Pvf7OV6amaRVKiq3pjQ3UmEpXxWiAfV8tYjUpeZroBxtyrwtdooQT/i3hzw== - dependencies: - "@stablelib/binary" "^1.0.1" - "@stablelib/hash" "^1.0.1" - "@stablelib/wipe" "^1.0.1" - - "@stablelib/wipe@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@stablelib/wipe/-/wipe-1.0.1.tgz#d21401f1d59ade56a62e139462a97f104ed19a36" - integrity sha512-WfqfX/eXGiAd3RJe4VU2snh/ZPwtSjLG4ynQ/vYzvghTh7dHFcI1wl+nrkWG6lGhukOxOsUHfv8dUXr58D0ayg== - - "@stablelib/x25519@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@stablelib/x25519/-/x25519-1.0.3.tgz#13c8174f774ea9f3e5e42213cbf9fc68a3c7b7fd" - integrity sha512-KnTbKmUhPhHavzobclVJQG5kuivH+qDLpe84iRqX3CLrKp881cF160JvXJ+hjn1aMyCwYOKeIZefIH/P5cJoRw== - dependencies: - "@stablelib/keyagreement" "^1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/wipe" "^1.0.1" - - "@strike-protocols/solana-wallet-adapter@^0.1.8": - version "0.1.8" - resolved "https://registry.yarnpkg.com/@strike-protocols/solana-wallet-adapter/-/solana-wallet-adapter-0.1.8.tgz#19cef6f1f7a81dfa838b990f48929c4f63b91218" - integrity sha512-8gZAfjkoFgwf5fLFzrVuE2MtxAc7Pc0loBgi0zfcb3ijOy/FEpm5RJKLruKOhcThS6CHrfFxDU80AsZe+msObw== - dependencies: - "@solana/web3.js" "^1.44.3" - bs58 "^4.0.1" - eventemitter3 "^4.0.7" - uuid "^8.3.2" - - "@sushiswap/core@^2.0.0-canary.1": - version "2.0.0-canary.1" - resolved "https://registry.yarnpkg.com/@sushiswap/core/-/core-2.0.0-canary.1.tgz#91c938668282d463e4fce6e0cf4d320ce5f3768f" - integrity sha512-6YFT4EKgm0XgfwCBsKx5HrDtRI6EvhZHipjBKegdTV0b2zKuXnmdyZ+RwPCr0mCKq2pKB0qIiqCxfbgXYDlLCQ== - - "@sushiswap/sdk@^5.0.0-canary.116": - version "5.0.0-canary.116" - resolved "https://registry.yarnpkg.com/@sushiswap/sdk/-/sdk-5.0.0-canary.116.tgz#cdf303590dc0a174a0332c76b15ee8a0d92a8e4f" - integrity sha512-EC25LvMGIyhmMJr2vbJ1HWFSUgKHq7IJp+Esemokx1RIdyrkW2Hwo4RWSzkAzWG4+lDJC/aI79iH4riiEk5tng== - dependencies: - "@ethersproject/abi" "^5.4.0" - "@ethersproject/abstract-signer" "^5.4.0" - "@ethersproject/address" "^5.4.0" - "@ethersproject/bignumber" "^5.4.0" - "@ethersproject/bytes" "^5.4.0" - "@ethersproject/contracts" "^5.4.0" - "@ethersproject/experimental" "^5.4.0" - "@ethersproject/networks" "^5.4.0" - "@ethersproject/providers" "^5.4.0" - "@ethersproject/signing-key" "^5.4.0" - "@ethersproject/solidity" "^5.4.0" - "@ethersproject/transactions" "^5.4.0" - "@sushiswap/core" "^2.0.0-canary.1" - big.js "^6.1.0" - decimal.js-light "^2.5.0" - eip-712 "^0.4.3" - isomorphic-unfetch "^3.1.0" - jsbi "^4.1.0" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - "@szmarczak/http-timer@^1.1.2": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421" - integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA== - dependencies: - defer-to-connect "^1.0.1" - - "@szmarczak/http-timer@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-4.0.6.tgz#b4a914bb62e7c272d4e5989fe4440f812ab1d807" - integrity sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w== - dependencies: - defer-to-connect "^2.0.0" - - "@szmarczak/http-timer@^5.0.1": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@szmarczak/http-timer/-/http-timer-5.0.1.tgz#c7c1bf1141cdd4751b0399c8fc7b8b664cd5be3a" - integrity sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw== - dependencies: - defer-to-connect "^2.0.1" - - "@tinymanorg/tinyman-js-sdk@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@tinymanorg/tinyman-js-sdk/-/tinyman-js-sdk-3.0.0.tgz#878f6e07641dfe1fda086cfefc292bc74507e529" - integrity sha512-i/rly864c1rTD1kqyFhJa87VXW6b2xkDJeBPhR1pSsXn0+IzZr0PKktc5rCfpHnS5zR23NNwtHY3yNOPGBNy2g== - dependencies: - algosdk "^2.1.0" - base64-js "^1.5.1" - - "@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - - "@toruslabs/base-controllers@^2.8.0": - version "2.8.0" - resolved "https://registry.yarnpkg.com/@toruslabs/base-controllers/-/base-controllers-2.8.0.tgz#878f1042ea8a188aaec143b13ff95a418ca4583f" - integrity sha512-htHOYW6u9tUfV3ZYzZ8X5xAnm8nOhecR0m0LIGsePXMaU/lR7NbZ/3TG4xW//ZJYjXfVkyaU2ayJcwbJFIoHeA== - dependencies: - "@ethereumjs/util" "^8.0.5" - "@toruslabs/broadcast-channel" "^6.2.0" - "@toruslabs/http-helpers" "^3.3.0" - "@toruslabs/openlogin-jrpc" "^3.2.0" - async-mutex "^0.4.0" - bignumber.js "^9.1.1" - bowser "^2.11.0" - eth-rpc-errors "^4.0.3" - json-rpc-random-id "^1.0.1" - lodash "^4.17.21" - loglevel "^1.8.1" - - "@toruslabs/broadcast-channel@^6.2.0": - version "6.2.0" - resolved "https://registry.yarnpkg.com/@toruslabs/broadcast-channel/-/broadcast-channel-6.2.0.tgz#b2e62913ad64b157b351ea37d764900a66acdd61" - integrity sha512-hrVU9mYe5yOOmlaUi3TIYjyqJGaicomqsoHxb1e1iYCXOJ/QsbSLGEvo6nqAEucNfalGMhfKEUhvMi7Pwgzrow== - dependencies: - "@babel/runtime" "^7.21.0" - "@toruslabs/eccrypto" "^2.0.0" - "@toruslabs/metadata-helpers" "^3.1.0" - bowser "^2.11.0" - keccak "^3.0.3" - loglevel "^1.8.1" - oblivious-set "1.1.1" - socket.io-client "^4.6.1" - unload "^2.4.1" - - "@toruslabs/eccrypto@^2.0.0": - version "2.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/eccrypto/-/eccrypto-2.0.0.tgz#a3df9c6c37a86d250321370b83c6d92918d8891d" - integrity sha512-BBkWKHy0v3WOnFG3QYo+0W02ExpLghfYHuW5ePb9tAI2I8wwiWuuvvhz8JVYEACDsfDy0EikboJrgQVs5eZ7Tg== - dependencies: - elliptic "^6.5.4" - - "@toruslabs/http-helpers@^3.2.0", "@toruslabs/http-helpers@^3.3.0": - version "3.3.0" - resolved "https://registry.yarnpkg.com/@toruslabs/http-helpers/-/http-helpers-3.3.0.tgz#8b714571284a6da08da050544289bafa16f1b71d" - integrity sha512-lmef2k/Z5Kv8MDff46sb/PY/QBlBFCvGkrzAxjlxC1JBHZO8pbUqMTW8YKRgbkwinH5sR5SFQIAngqitL885Ng== - dependencies: - lodash.merge "^4.6.2" - loglevel "^1.8.1" - - "@toruslabs/metadata-helpers@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@toruslabs/metadata-helpers/-/metadata-helpers-3.1.0.tgz#fe6a84145711e091646c2fa223b3996df0748f3d" - integrity sha512-ejLG48aDwR+ta2eY6cnVWSESx//5KOt363WYgAspNGhMJ3U+BFNvgjc96t+gsIRSiysUrZpCC25XPUTYJecvUQ== - dependencies: - "@toruslabs/eccrypto" "^2.0.0" - "@toruslabs/http-helpers" "^3.3.0" - elliptic "^6.5.4" - json-stable-stringify "^1.0.2" - keccak "^3.0.3" - - "@toruslabs/openlogin-jrpc@^3.0.0", "@toruslabs/openlogin-jrpc@^3.2.0": - version "3.2.0" - resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-jrpc/-/openlogin-jrpc-3.2.0.tgz#fff051d05b6c01b6329e2da9b134fae99305d1e0" - integrity sha512-G+K0EHyVUaAEyeD4xGsnAZRpn/ner8lQ2HC2+pGKg6oGmzKI2wGMDcw2KMH6+HKlfBGVJ5/VR9AQfC/tZlLDmQ== - dependencies: - "@toruslabs/openlogin-utils" "^3.0.0" - end-of-stream "^1.4.4" - eth-rpc-errors "^4.0.3" - events "^3.3.0" - fast-safe-stringify "^2.1.1" - once "^1.4.0" - pump "^3.0.0" - readable-stream "^3.6.2" - - "@toruslabs/openlogin-utils@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@toruslabs/openlogin-utils/-/openlogin-utils-3.0.0.tgz#2c264fa9a2787a1d2b8c703a38740c7c27967fa7" - integrity sha512-T5t29/AIFqXc84x4OoAkZWjd0uoP2Lk6iaFndnIIMzCPu+BwwV0spX/jd/3YYNjZ8Po8D+faEnwAhiqemYeK2w== - dependencies: - base64url "^3.0.1" - keccak "^3.0.3" - randombytes "^2.1.0" - - "@toruslabs/solana-embed@^0.3.3": - version "0.3.4" - resolved "https://registry.yarnpkg.com/@toruslabs/solana-embed/-/solana-embed-0.3.4.tgz#547727e6d202f734d1e97a6658bdb3cf54599938" - integrity sha512-yj+aBJoBAneap7Jlu9/OOp7irWNuC5CqAhyhVcmb0IjWrCUFnioLdL0U7UfGaqVm/5O0leJh7/Z5Ll+3toWJBg== - dependencies: - "@solana/web3.js" "^1.63.1" - "@toruslabs/base-controllers" "^2.8.0" - "@toruslabs/http-helpers" "^3.3.0" - "@toruslabs/openlogin-jrpc" "^3.2.0" - eth-rpc-errors "^4.0.3" - fast-deep-equal "^3.1.3" - is-stream "^2.0.1" - lodash-es "^4.17.21" - loglevel "^1.8.1" - pump "^3.0.0" - - "@toruslabs/torus-embed@^1.39.0": - version "1.41.0" - resolved "https://registry.yarnpkg.com/@toruslabs/torus-embed/-/torus-embed-1.41.0.tgz#a96213eb1e9d97d504a9266a77eeffaca9d375e5" - integrity sha512-UKYaf01C/wioaXzGfHD8fNfyAvZjrIwuJwtjwmv+sEgbaZZSb+1wtyhmPVQ/r9gVQHWMTQyohoCMov4ifvdTiQ== - dependencies: - "@metamask/obs-store" "^7.0.0" - "@toruslabs/http-helpers" "^3.2.0" - "@toruslabs/openlogin-jrpc" "^3.0.0" - create-hash "^1.2.0" - end-of-stream "^1.4.4" - eth-rpc-errors "^4.0.3" - events "^3.3.0" - fast-deep-equal "^3.1.3" - is-stream "^2.0.1" - lodash.merge "^4.6.2" - loglevel "^1.8.1" - once "^1.4.0" - pump "^3.0.0" - - "@traderjoe-xyz/sdk-v2@^2.0.5": - version "2.0.5" - resolved "https://registry.yarnpkg.com/@traderjoe-xyz/sdk-v2/-/sdk-v2-2.0.5.tgz#9dc6037d2f3ea28664684e5f8ce4db48eccc80ff" - integrity sha512-tsZ8h8i0rTNDnrv4CgLkTR/6VR0TRnakHvg6oDA38gRsW5nnbqHRrqZNElJ0HKME73T5vKkJ3X4tZFzPOATT+g== - dependencies: - "@traderjoe-xyz/sdk" "^4.0.5" - jsbi "^3.1.1" - lodash.flatmap "^4.5.0" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - "@traderjoe-xyz/sdk@^4.0.5": - version "4.0.6" - resolved "https://registry.yarnpkg.com/@traderjoe-xyz/sdk/-/sdk-4.0.6.tgz#c96343481b7772048cfb5df052de574e1afd5b83" - integrity sha512-NYdDjBSPp5gR0c5hzrZFryRixZGsimtFnpWSk0ADceXp/Ko3R+oaYw7Iv6OkAtshZMD5YB8CunxuRAWqD7AgXA== - dependencies: - big.js "^5.2.2" - decimal.js-light "^2.5.0" - jsbi "^3.1.1" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - "@trezor/blockchain-link@^2.1.8": - version "2.1.8" - resolved "https://registry.yarnpkg.com/@trezor/blockchain-link/-/blockchain-link-2.1.8.tgz#db3792712a3e949732f4d3f99764a50c284d3932" - integrity sha512-U42+SMUTyMoxm92wETtpIkrWH2SqkG42qq9F55KHMfu1Lt6rkrxhcDjnvmgcvTjmr9qxGmKe0vPtB/l3qH0aGQ== - dependencies: - "@trezor/utils" "^9.0.6" - "@trezor/utxo-lib" "^1.0.4" - "@types/web" "^0.0.91" - bignumber.js "^9.1.1" - events "^3.3.0" - ripple-lib "^1.10.1" - socks-proxy-agent "6.1.1" - ws "7.5.9" - - "@trezor/connect-common@0.0.12": - version "0.0.12" - resolved "https://registry.yarnpkg.com/@trezor/connect-common/-/connect-common-0.0.12.tgz#9e34df1c0c94b25ead31dff303abdf8b9333c9af" - integrity sha512-u7hrcS3eBHzR6b2dYD1PBPYw5vWaKT5eLoEL+ykPv2DeJsq0AgdRTNQom9tTUonyHoxGdnjQuaEO2Y4j2hZeng== - - "@trezor/connect-web@^9.0.6": - version "9.0.7" - resolved "https://registry.yarnpkg.com/@trezor/connect-web/-/connect-web-9.0.7.tgz#44f5172f542b275e4e05b2864f83849e3a729fe8" - integrity sha512-SVlA0h9evC12bmuO1ksz7Q3tBLNsw1QhxhkZBrZ6giS8gmC/2NkL1MlzKlVp7TCjnQu5gbP6vDRahUoZZoiUmg== - dependencies: - "@trezor/connect" "9.0.7" - "@trezor/utils" "^9.0.6" - events "^3.3.0" - - "@trezor/connect@9.0.7": - version "9.0.7" - resolved "https://registry.yarnpkg.com/@trezor/connect/-/connect-9.0.7.tgz#9dbe54690e1e7963d51d268f2757bac90077e3d6" - integrity sha512-y0QYSlhC2lXeBbVT2Oezpi1GRdvHykCviPOCCkhGemQ4gAmqSDp/aniNbKoR/ZAyiibVTZLo0jvPbHXosM9zjQ== - dependencies: - "@trezor/blockchain-link" "^2.1.8" - "@trezor/connect-common" "0.0.12" - "@trezor/transport" "^1.1.8" - "@trezor/utils" "^9.0.6" - "@trezor/utxo-lib" "^1.0.4" - bignumber.js "^9.1.1" - blakejs "^1.2.1" - bowser "^2.11.0" - cross-fetch "^3.1.5" - events "^3.3.0" - parse-uri "1.0.7" - randombytes "2.1.0" - tslib "2.5.0" - - "@trezor/transport@^1.1.8": - version "1.1.8" - resolved "https://registry.yarnpkg.com/@trezor/transport/-/transport-1.1.8.tgz#c0cff55241108cbb5cf6958756194e890b126fba" - integrity sha512-Q5X0vTaZQu21PqaHL1Dnm6TVSsuK1mweMWRo2PDioDErSDlQrTMt/81gUV+HHZq/ej2m4C6YHx74pTlo2zJkfQ== - dependencies: - "@trezor/utils" "^9.0.6" - bytebuffer "^5.0.1" - json-stable-stringify "^1.0.2" - long "^4.0.0" - prettier "2.8.4" - protobufjs "^6.11.3" - - "@trezor/utils@^9.0.6": - version "9.0.6" - resolved "https://registry.yarnpkg.com/@trezor/utils/-/utils-9.0.6.tgz#e93dbefbf0fcd138020f35b04bf43a7fd2394f95" - integrity sha512-ZrZDMa1DzcfptBTdIPd7jLJGd03EVbocCSa92o64Qb6FMGSUh+t8Y+9Yy6rBPN1GTOsJxVQmcj3leKrtJMgwVQ== - - "@trezor/utxo-lib@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@trezor/utxo-lib/-/utxo-lib-1.0.4.tgz#712a517b1c407f936fd823d5f372cdb61a597635" - integrity sha512-n4Xj2YIpqRKaZiDZww0mcY0c2ZN+SDygR3dAJkUb7O/2FykxCS28z3QHIjfbdzMwquywbkxDeiErcdrHw3GIvg== - dependencies: - "@trezor/utils" "^9.0.6" - bchaddrjs "^0.5.2" - bech32 "^2.0.0" - bip66 "^1.1.5" - bitcoin-ops "^1.4.1" - blake-hash "^2.0.0" - blakejs "^1.2.1" - bn.js "^5.2.1" - bs58 "^5.0.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - int64-buffer "^1.0.1" - pushdata-bitcoin "^1.0.1" - tiny-secp256k1 "^1.1.6" - typeforce "^1.18.0" - varuint-bitcoin "^1.1.2" - wif "^2.0.6" - - "@truffle/abi-utils@^0.3.9": - version "0.3.9" - resolved "https://registry.yarnpkg.com/@truffle/abi-utils/-/abi-utils-0.3.9.tgz#c476f5cfe01072b513b3e93fd7bea05cf7bd9d96" - integrity sha512-G5dqgwRHx5zwlXjz3QT8OJVfB2cOqWwD6DwKso0KttUt/zejhCjnkKq72rSgyeLMkz7wBB9ERLOsupLBILM8MA== - dependencies: - change-case "3.0.2" - fast-check "3.1.1" - web3-utils "1.8.2" - - "@truffle/code-utils@^3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@truffle/code-utils/-/code-utils-3.0.2.tgz#603b0662a1fc27d24a92aaf66417559a3f3e3915" - integrity sha512-Q4FyYIX9G4GyMa8RJDk19kvgiyGZ1CGEx2RmVcXoCDZqEyiHLzqjvCRp+/fuBz2fv7szO6d+60LO1gLCGS1drQ== - dependencies: - cbor "^5.2.0" - - "@truffle/codec@^0.14.16": - version "0.14.16" - resolved "https://registry.yarnpkg.com/@truffle/codec/-/codec-0.14.16.tgz#eebfb169e46709d6cee53f069a53fc1dff410eaa" - integrity sha512-a9UY3n/FnkKN3Q4zOuMFOOcLWb80mdknj+voim4vvXYtJm1aAZQZE5sG9aLnMBTl4TiGLzUtfNDVYY7WgWgDag== - dependencies: - "@truffle/abi-utils" "^0.3.9" - "@truffle/compile-common" "^0.9.4" - big.js "^6.0.3" - bn.js "^5.1.3" - cbor "^5.2.0" - debug "^4.3.1" - lodash "^4.17.21" - semver "7.3.7" - utf8 "^3.0.0" - web3-utils "1.8.2" - - "@truffle/compile-common@^0.9.4": - version "0.9.4" - resolved "https://registry.yarnpkg.com/@truffle/compile-common/-/compile-common-0.9.4.tgz#064208cda70491692b538f717809bb904a122c20" - integrity sha512-mnqJB/hLiPHNf+WKwt/2MH6lv34xSG/SFCib7+ckAklutUqVLeFo8EwQxinuHNkU7LY0C+YgZXhK1WTCO5YRJQ== - dependencies: - "@truffle/error" "^0.2.0" - colors "1.4.0" - - "@truffle/config@^1.3.54": - version "1.3.54" - resolved "https://registry.yarnpkg.com/@truffle/config/-/config-1.3.54.tgz#2bc72c08b5efd43e526406591132ef1e2faec860" - integrity sha512-sCFIRqBkxanuYueMQalp4q/1+wxYq5IdAZSJFUXK5FbvhDGU437bl1MuMxGDxhjztf0ZN49YsELAjYMVzOGpUQ== - dependencies: - "@truffle/error" "^0.2.0" - "@truffle/events" "^0.1.22" - "@truffle/provider" "^0.3.7" - conf "^10.1.2" - debug "^4.3.1" - find-up "^2.1.0" - lodash "^4.17.21" - original-require "^1.0.1" - - "@truffle/dashboard-message-bus-client@^0.1.10": - version "0.1.10" - resolved "https://registry.yarnpkg.com/@truffle/dashboard-message-bus-client/-/dashboard-message-bus-client-0.1.10.tgz#bd1cef19956f06716d55a327b8ea6f983e41f0b0" - integrity sha512-r9GpdR96T8xzk2Z3Qq5lowixT6hQwDZ9F3D3oNjOv2AOwBrC7dGkt1Ra1FQRsABn4K7LUVvnjjn6rALlsatAdw== - dependencies: - "@truffle/dashboard-message-bus-common" "^0.1.5" - "@truffle/promise-tracker" "^0.1.5" - axios "1.2.4" - debug "^4.3.1" - delay "^5.0.0" - isomorphic-ws "^4.0.1" - node-abort-controller "^3.0.1" - tiny-typed-emitter "^2.1.0" - ws "^7.2.0" - - "@truffle/dashboard-message-bus-common@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@truffle/dashboard-message-bus-common/-/dashboard-message-bus-common-0.1.5.tgz#180c8c421b2836b7bd109944e7956f427236d8ab" - integrity sha512-F4RfXi7ymNA3HFOlaujRJxAb3I8ciErCRQq+MZVaqjSPF9LSw23IizZsGpLaY43K2bGoBSxyNQRZWxsUEBujPQ== - - "@truffle/db-loader@^0.2.20": - version "0.2.20" - resolved "https://registry.yarnpkg.com/@truffle/db-loader/-/db-loader-0.2.20.tgz#8ac0816ac0cbfdfdb3fb1da5142a705c7f1754ae" - integrity sha512-HEphnZO7N6Avo+hlhWVI3iBM22ewqdCO8sbocR1UhL9atz70HYBltG10C6fD4aglXz95cm7+3ZnnYn4pOSIIQw== - optionalDependencies: - "@truffle/db" "^2.0.20" - - "@truffle/db@^2.0.20": - version "2.0.20" - resolved "https://registry.yarnpkg.com/@truffle/db/-/db-2.0.20.tgz#4f38eada931ed95fb8a8303fb05457b2cb021f0c" - integrity sha512-hSDQPopz3NA8QxOPQV3CSB4I6fZTQtavpLZH+G61tEJYldYkaY240HCEbC3ykMVE05zim83OqBqSKsSz8CYHpg== - dependencies: - "@graphql-tools/delegate" "^8.4.3" - "@graphql-tools/schema" "^8.3.1" - "@truffle/abi-utils" "^0.3.9" - "@truffle/code-utils" "^3.0.2" - "@truffle/config" "^1.3.54" - abstract-leveldown "^7.2.0" - apollo-server "^3.11.0" - debug "^4.3.1" - fs-extra "^9.1.0" - graphql "^15.3.0" - graphql-tag "^2.12.6" - json-stable-stringify "^1.0.1" - pascal-case "^2.0.1" - pluralize "^8.0.0" - pouchdb "7.3.0" - pouchdb-adapter-memory "^7.1.1" - pouchdb-debug "^7.1.1" - pouchdb-find "^7.0.0" - web3-utils "1.8.2" - - "@truffle/debugger@^11.0.31": - version "11.0.31" - resolved "https://registry.yarnpkg.com/@truffle/debugger/-/debugger-11.0.31.tgz#008cf1c5a1be24816826f3b84b15947b1b390582" - integrity sha512-x9lzd8ROprAYDRoe1FhKBbygbGRa/1+q5nuOgq4PbB+ZbqhskLB4gay9N/w6JkTxAvC2KFTdXSvoUhpUokpS7A== - dependencies: - "@truffle/abi-utils" "^0.3.9" - "@truffle/codec" "^0.14.16" - "@truffle/source-map-utils" "^1.3.108" - bn.js "^5.1.3" - debug "^4.3.1" - json-pointer "^0.6.1" - json-stable-stringify "^1.0.1" - lodash "^4.17.21" - redux "^3.7.2" - redux-saga "1.0.0" - reselect-tree "^1.3.7" - semver "7.3.7" - web3 "1.8.2" - web3-eth-abi "1.8.2" - - "@truffle/error@^0.2.0": - version "0.2.0" - resolved "https://registry.yarnpkg.com/@truffle/error/-/error-0.2.0.tgz#65de6f03f5c041f883cc87677eecf8231428f1ab" - integrity sha512-Fe0/z4WWb7IP2gBnv3l6zqP87Y0kSMs7oiSLakKJq17q3GUunrHSdioKuNspdggxkXIBhEQLhi8C+LJdwmHKWQ== - - "@truffle/events@^0.1.22": - version "0.1.22" - resolved "https://registry.yarnpkg.com/@truffle/events/-/events-0.1.22.tgz#007617de4d20093e8c257a63ddc1193a21a9c5b8" - integrity sha512-WBEfaQ5zagS3J1M66J8wQ8N1As/EnBjLQsRlCCFs3/KbmeWhsoalVZ5Effhe0Vxd+e+k7lvwbloQBdS6roc+wg== - dependencies: - "@truffle/dashboard-message-bus-client" "^0.1.10" - "@truffle/spinners" "^0.2.3" - debug "^4.3.1" - emittery "^0.4.1" - web3-utils "1.8.2" - - "@truffle/interface-adapter@^0.5.31": - version "0.5.31" - resolved "https://registry.yarnpkg.com/@truffle/interface-adapter/-/interface-adapter-0.5.31.tgz#9e62e9ed1c1c07d50d9e1dcffd6ef24efc1230e7" - integrity sha512-f5mOqbptQUUgHhBrBvWie4EUAUqHLN/wCBjFoP2N/QNcyvwGfdC3TSck9kjwIIFIgYgQQyAxQDGBQcjHryvxzg== - dependencies: - bn.js "^5.1.3" - ethers "^4.0.32" - web3 "1.8.2" - - "@truffle/promise-tracker@^0.1.5": - version "0.1.5" - resolved "https://registry.yarnpkg.com/@truffle/promise-tracker/-/promise-tracker-0.1.5.tgz#df68df14d45a32bda6237ab85169d1808e4b3928" - integrity sha512-wZx8eeu/6rcwwkmRF0Y832/NSQR9A9u6pyhTozv+j77jklnd/KZvu2JlACaAjP30eL5SOtSrSOzAMcSh/trJjg== - - "@truffle/provider@^0.3.7": - version "0.3.7" - resolved "https://registry.yarnpkg.com/@truffle/provider/-/provider-0.3.7.tgz#fc217d34e84cb3f19f77fa41eef94c82b51bef36" - integrity sha512-OF4JZe3oIR9epWMMbJgCnJJCnu1Ce6IeLk8lCAuNtSlZ46gGj7INEDCXwB5KrgydUC5KDnGp4knHWnQfk5YWXg== - dependencies: - "@truffle/error" "^0.2.0" - "@truffle/interface-adapter" "^0.5.31" - debug "^4.3.1" - web3 "1.8.2" - - "@truffle/source-map-utils@^1.3.108": - version "1.3.108" - resolved "https://registry.yarnpkg.com/@truffle/source-map-utils/-/source-map-utils-1.3.108.tgz#19eb7d6eb776b8b6f9d5fde116cfaf56a0c7365c" - integrity sha512-yleh2/y+nsui9XmVgkq43795ar2JHaVO2RDHeA/IQ4NNmF7X5owOTdA5Rk/YvhqK1UUecvr2zKC3X3vLth8JFQ== - dependencies: - "@truffle/code-utils" "^3.0.2" - "@truffle/codec" "^0.14.16" - debug "^4.3.1" - json-pointer "^0.6.1" - node-interval-tree "^1.3.3" - web3-utils "1.8.2" - - "@truffle/spinners@^0.2.3": - version "0.2.3" - resolved "https://registry.yarnpkg.com/@truffle/spinners/-/spinners-0.2.3.tgz#5689d06ef16855a9f6b70dc0cd40188de54450ec" - integrity sha512-YnaQ+oBRQ1I1+/P18i8oSW4orUYi6vwpZQxauEZ5X0L8atjKq+RWdiNaza6J6L+KOLunXM4+pWxnNzuUmxlJZw== - dependencies: - "@trufflesuite/spinnies" "^0.1.1" - - "@trufflesuite/bigint-buffer@1.1.10": - version "1.1.10" - resolved "https://registry.yarnpkg.com/@trufflesuite/bigint-buffer/-/bigint-buffer-1.1.10.tgz#a1d9ca22d3cad1a138b78baaf15543637a3e1692" - integrity sha512-pYIQC5EcMmID74t26GCC67946mgTJFiLXOT/BYozgrd4UEY2JHEGLhWi9cMiQCt5BSqFEvKkCHNnoj82SRjiEw== - dependencies: - node-gyp-build "4.4.0" - - "@trufflesuite/spinnies@^0.1.1": - version "0.1.1" - resolved "https://registry.yarnpkg.com/@trufflesuite/spinnies/-/spinnies-0.1.1.tgz#719230993f55ab39f936ed8778979e7661af188d" - integrity sha512-jltEtmFJj6xmQqr85gP8OqBHCEiId+zw+uAsb3DyLLRD17O6sySW6Afa2Z/jpzSafj+32ssDfLJ+c0of1NLqcA== - dependencies: - chalk "^4.1.2" - cli-cursor "^3.1.0" - strip-ansi "^6.0.0" - - "@tsconfig/node10@^1.0.7": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@tsconfig/node10/-/node10-1.0.9.tgz#df4907fc07a886922637b15e02d4cebc4c0021b2" - integrity sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA== - - "@tsconfig/node12@^1.0.7": - version "1.0.11" - resolved "https://registry.yarnpkg.com/@tsconfig/node12/-/node12-1.0.11.tgz#ee3def1f27d9ed66dac6e46a295cffb0152e058d" - integrity sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag== - - "@tsconfig/node14@^1.0.0": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node14/-/node14-1.0.3.tgz#e4386316284f00b98435bf40f72f75a09dabf6c1" - integrity sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow== - - "@tsconfig/node16@^1.0.2": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@tsconfig/node16/-/node16-1.0.3.tgz#472eaab5f15c1ffdd7f8628bd4c4f753995ec79e" - integrity sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ== - - "@types/abstract-leveldown@*": - version "7.2.1" - resolved "https://registry.yarnpkg.com/@types/abstract-leveldown/-/abstract-leveldown-7.2.1.tgz#bb16403c17754b0c4d5772d71d03b924a03d4c80" - integrity sha512-YK8irIC+eMrrmtGx0H4ISn9GgzLd9dojZWJaMbjp1YHLl2VqqNFBNrL5Q3KjGf4VE3sf/4hmq6EhQZ7kZp1NoQ== - - "@types/accepts@^1.3.5": - version "1.3.5" - resolved "https://registry.yarnpkg.com/@types/accepts/-/accepts-1.3.5.tgz#c34bec115cfc746e04fe5a059df4ce7e7b391575" - integrity sha512-jOdnI/3qTpHABjM5cx1Hc0sKsPoYCp+DP/GJRGtDlPd7fiV9oXGGIcjW/ZOxLIvjGz8MA+uMZI9metHlgqbgwQ== - dependencies: - "@types/node" "*" - - "@types/app-root-path@^1.2.4": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/app-root-path/-/app-root-path-1.2.4.tgz#a78b703282b32ac54de768f5512ecc3569919dc7" - integrity sha512-yhURoXmWN/zfw2MXXcOdUTwe5CWhzRWtb4Rs2+JwGpuhm2hxLCzjASi/aIuyVeJB3Iyks1teaHyOEfNNmltdvQ== - - "@types/async-eventemitter@^0.2.1": - version "0.2.1" - resolved "https://registry.yarnpkg.com/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz#f8e6280e87e8c60b2b938624b0a3530fb3e24712" - integrity sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg== - - "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": - version "7.20.0" - resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" - integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== - dependencies: - "@babel/parser" "^7.20.7" - "@babel/types" "^7.20.7" - "@types/babel__generator" "*" - "@types/babel__template" "*" - "@types/babel__traverse" "*" - - "@types/babel__generator@*": - version "7.6.4" - resolved "https://registry.yarnpkg.com/@types/babel__generator/-/babel__generator-7.6.4.tgz#1f20ce4c5b1990b37900b63f050182d28c2439b7" - integrity sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg== - dependencies: - "@babel/types" "^7.0.0" - - "@types/babel__template@*": - version "7.4.1" - resolved "https://registry.yarnpkg.com/@types/babel__template/-/babel__template-7.4.1.tgz#3d1a48fd9d6c0edfd56f2ff578daed48f36c8969" - integrity sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g== - dependencies: - "@babel/parser" "^7.1.0" - "@babel/types" "^7.0.0" - - "@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": - version "7.18.3" - resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" - integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== - dependencies: - "@babel/types" "^7.3.0" - - "@types/big.js@^6.1.3", "@types/big.js@^6.1.5": - version "6.1.6" - resolved "https://registry.yarnpkg.com/@types/big.js/-/big.js-6.1.6.tgz#3d417e758483d55345a03a087f7e0c87137ca444" - integrity sha512-0r9J+Zz9rYm2hOTwiMAVkm3XFQ4u5uTK37xrQMhc9bysn/sf/okzovWMYYIBMFTn/yrEZ11pusgLEaoarTlQbA== - - "@types/bn.js@5.1.1", "@types/bn.js@^5.1.0", "@types/bn.js@^5.1.1": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-5.1.1.tgz#b51e1b55920a4ca26e9285ff79936bbdec910682" - integrity sha512-qNrYbZqMx0uJAfKnKclPh+dTwK33KfLHYqtyODwd5HnXOjnkhc4qgn3BrK6RWyGZm5+sIFE7Q7Vz6QQtJB7w7g== - dependencies: - "@types/node" "*" - - "@types/bn.js@^4.11.3": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" - - "@types/body-parser@*", "@types/body-parser@1.19.2": - version "1.19.2" - resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0" - integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g== - dependencies: - "@types/connect" "*" - "@types/node" "*" - - "@types/bs58@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/bs58/-/bs58-4.0.1.tgz#3d51222aab067786d3bc3740a84a7f5a0effaa37" - integrity sha512-yfAgiWgVLjFCmRv8zAcOIHywYATEwiTVccTLnRp6UxTNavT55M9d/uhK3T03St/+8/z/wW+CRjGKUNmEqoHHCA== - dependencies: - base-x "^3.0.6" - - "@types/cacheable-request@^6.0.1", "@types/cacheable-request@^6.0.2": - version "6.0.3" - resolved "https://registry.yarnpkg.com/@types/cacheable-request/-/cacheable-request-6.0.3.tgz#a430b3260466ca7b5ca5bfd735693b36e7a9d183" - integrity sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw== - dependencies: - "@types/http-cache-semantics" "*" - "@types/keyv" "^3.1.4" - "@types/node" "*" - "@types/responselike" "^1.0.0" - - "@types/connect@*", "@types/connect@^3.4.33": - version "3.4.35" - resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" - integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ== - dependencies: - "@types/node" "*" - - "@types/cookiejar@*": - version "2.1.2" - resolved "https://registry.yarnpkg.com/@types/cookiejar/-/cookiejar-2.1.2.tgz#66ad9331f63fe8a3d3d9d8c6e3906dd10f6446e8" - integrity sha512-t73xJJrvdTjXrn4jLS9VSGRbz0nUY3cl2DMGDU48lKl+HR9dbbjW2A9r3g40VA++mQpy6uuHg33gy7du2BKpog== - - "@types/cors@2.8.12": - version "2.8.12" - resolved "https://registry.yarnpkg.com/@types/cors/-/cors-2.8.12.tgz#6b2c510a7ad7039e98e7b8d3d6598f4359e5c080" - integrity sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw== - - "@types/encoding-down@*": - version "5.0.1" - resolved "https://registry.yarnpkg.com/@types/encoding-down/-/encoding-down-5.0.1.tgz#5527b8656395b274bf0100a312c1c620a7880a24" - integrity sha512-1O8CyIC67hMR+VuxLtjlJvXwNn5cNnJ7YiaBR4p+ONGijlmIZjbXzsPuJm146p9eQZwzZRGgmRwWtCqXs5wwSw== - dependencies: - "@types/abstract-leveldown" "*" - "@types/level-codec" "*" - - "@types/express-serve-static-core@4.17.31": - version "4.17.31" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.31.tgz#a1139efeab4e7323834bb0226e62ac019f474b2f" - integrity sha512-DxMhY+NAsTwMMFHBTtJFNp5qiHKJ7TeqOo23zVEM9alT1Ml27Q3xcTH0xwxn7Q0BbMcVEJOs/7aQtUWupUQN3Q== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - - "@types/express-serve-static-core@^4.17.18", "@types/express-serve-static-core@^4.17.33": - version "4.17.33" - resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.33.tgz#de35d30a9d637dc1450ad18dd583d75d5733d543" - integrity sha512-TPBqmR/HRYI3eC2E5hmiivIzv+bidAfXofM+sbonAGvyDhySGw9/PQZFt2BLOrjUUR++4eJVpx6KnLQK1Fk9tA== - dependencies: - "@types/node" "*" - "@types/qs" "*" - "@types/range-parser" "*" - - "@types/express@*", "@types/express@^4.17.12": - version "4.17.17" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.17.tgz#01d5437f6ef9cfa8668e616e13c2f2ac9a491ae4" - integrity sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.33" - "@types/qs" "*" - "@types/serve-static" "*" - - "@types/express@4.17.14": - version "4.17.14" - resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.14.tgz#143ea0557249bc1b3b54f15db4c81c3d4eb3569c" - integrity sha512-TEbt+vaPFQ+xpxFLFssxUDXj5cWCxZJjIcB7Yg0k0GMHGtgtQgpvx/MUQUeAkNbA9AAGrwkAsoeItdTgS7FMyg== - dependencies: - "@types/body-parser" "*" - "@types/express-serve-static-core" "^4.17.18" - "@types/qs" "*" - "@types/serve-static" "*" - - "@types/fs-extra@^9.0.13": - version "9.0.13" - resolved "https://registry.yarnpkg.com/@types/fs-extra/-/fs-extra-9.0.13.tgz#7594fbae04fe7f1918ce8b3d213f74ff44ac1f45" - integrity sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA== - dependencies: - "@types/node" "*" - - "@types/graceful-fs@^4.1.2": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== - dependencies: - "@types/node" "*" - - "@types/http-cache-semantics@*": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz#0ea7b61496902b95890dc4c3a116b60cb8dae812" - integrity sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ== - - "@types/istanbul-lib-coverage@*", "@types/istanbul-lib-coverage@^2.0.0", "@types/istanbul-lib-coverage@^2.0.1": - version "2.0.4" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz#8467d4b3c087805d63580480890791277ce35c44" - integrity sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g== - - "@types/istanbul-lib-report@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#c14c24f18ea8190c118ee7562b7ff99a36552686" - integrity sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg== - dependencies: - "@types/istanbul-lib-coverage" "*" - - "@types/istanbul-reports@^1.1.1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-1.1.2.tgz#e875cc689e47bce549ec81f3df5e6f6f11cfaeb2" - integrity sha512-P/W9yOX/3oPZSpaYOCQzGqgCQRXn0FFO/V8bWrCQs+wLmvVVxk6CRBXALEvNs9OHIatlnlFokfhuDo2ug01ciw== - dependencies: - "@types/istanbul-lib-coverage" "*" - "@types/istanbul-lib-report" "*" - - "@types/istanbul-reports@^3.0.0": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz#9153fe98bba2bd565a63add9436d6f0d7f8468ff" - integrity sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw== - dependencies: - "@types/istanbul-lib-report" "*" - - "@types/jest@^27.4.1": - version "27.5.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c" - integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== - dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" - - "@types/js-yaml@^4.0.2": - version "4.0.5" - resolved "https://registry.yarnpkg.com/@types/js-yaml/-/js-yaml-4.0.5.tgz#738dd390a6ecc5442f35e7f03fa1431353f7e138" - integrity sha512-FhpRzf927MNQdRZP0J5DLIdTXhjLYzeUTmLAu69mnVksLH9CJY3IuSeEgbKUki7GQZm0WqDkGzyxju2EZGD2wA== - - "@types/json-schema@^7.0.7": - version "7.0.11" - resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" - integrity sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ== - - "@types/json5@^0.0.29": - version "0.0.29" - resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee" - integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== - - "@types/keyv@^3.1.4": - version "3.1.4" - resolved "https://registry.yarnpkg.com/@types/keyv/-/keyv-3.1.4.tgz#3ccdb1c6751b0c7e52300bcdacd5bcbf8faa75b6" - integrity sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg== - dependencies: - "@types/node" "*" - - "@types/level-codec@*": - version "9.0.1" - resolved "https://registry.yarnpkg.com/@types/level-codec/-/level-codec-9.0.1.tgz#b135e0b3da81185b6f27655334c5f1da89b2b0af" - integrity sha512-6z7DSlBsmbax3I/bV1Q6jT1nKquDjFl95LURVThdKtwILkRawLYtXdINW19xM95N5kqN2detWb2iGrbUlPwNyw== - - "@types/level-errors@*": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@types/level-errors/-/level-errors-3.0.0.tgz#15c1f4915a5ef763b51651b15e90f6dc081b96a8" - integrity sha512-/lMtoq/Cf/2DVOm6zE6ORyOM+3ZVm/BvzEZVxUhf6bgh8ZHglXlBqxbxSlJeVp8FCbD3IVvk/VbsaNmDjrQvqQ== - - "@types/level@^6.0.0": - version "6.0.1" - resolved "https://registry.yarnpkg.com/@types/level/-/level-6.0.1.tgz#6642c048dbae4638721105cd5f8255a2829bd5d6" - integrity sha512-4RK6vl9/CNCe5SyDCGaTgTOYEPNh8/wUaUY8UDN8AXon2D7hGPGIlx0t9jCds9wiKBqicsUyeAA0W4rUZeqYBQ== - dependencies: - "@types/abstract-leveldown" "*" - "@types/encoding-down" "*" - "@types/levelup" "*" - - "@types/levelup@*": - version "5.1.2" - resolved "https://registry.yarnpkg.com/@types/levelup/-/levelup-5.1.2.tgz#3b987fe66c95871dc97e74f0bce5b2eb91140782" - integrity sha512-JhCKONvFg2rEbsyyCCRkiPF03tMV1NyBXER4iXKBemgjwS4+SF6HGNuL4cfq6ueM6Yc+4ZbwJnU/5v6q3ZziUQ== - dependencies: - "@types/abstract-leveldown" "*" - "@types/level-errors" "*" - "@types/node" "*" - - "@types/lodash.values@^4.3.6": - version "4.3.7" - resolved "https://registry.yarnpkg.com/@types/lodash.values/-/lodash.values-4.3.7.tgz#9da9c6cf5941ff8b8f98bde9cb9f2cf7fd64eceb" - integrity sha512-Moex9/sWxtKEa+BKiH5zvmhfcieDlcz4wRxMhO/oJ2qOKUdujoU6dQjUTxWA8jwEREpHXmiY4HCwNRpycW8JQA== - dependencies: - "@types/lodash" "*" - - "@types/lodash@*", "@types/lodash@^4.14.136", "@types/lodash@^4.14.178", "@types/lodash@^4.14.182": - version "4.14.191" - resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.191.tgz#09511e7f7cba275acd8b419ddac8da9a6a79e2fa" - integrity sha512-BdZ5BCCvho3EIXw6wUCXHe7rS53AIDPLE+JzwgT+OsJk53oBfbSmZZ7CX4VaRoN78N+TJpFi9QPlfIVNmJYWxQ== - - "@types/long@^4.0.0", "@types/long@^4.0.1": - version "4.0.2" - resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.2.tgz#b74129719fc8d11c01868010082d483b7545591a" - integrity sha512-MqTGEo5bj5t157U6fA/BiDynNkn0YknVdh48CMPkTSpFTVmvao5UQmm7uEF6xBEo7qIMAlY/JSleYaE6VOdpaA== - - "@types/lru-cache@5.1.1", "@types/lru-cache@^5.1.0": - version "5.1.1" - resolved "https://registry.yarnpkg.com/@types/lru-cache/-/lru-cache-5.1.1.tgz#c48c2e27b65d2a153b19bfc1a317e30872e01eef" - integrity sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw== - - "@types/mathjs@^9.4.2": - version "9.4.2" - resolved "https://registry.yarnpkg.com/@types/mathjs/-/mathjs-9.4.2.tgz#beec20340d768171fed8331b08fb321d218ec6e1" - integrity sha512-GF5g1vJmvKdWIWsE53XX7EDAyCaZ9p6gaYm1xhlXn5JjrY/NJrOfJN3fBxS3wyZpVh3QqKoMkS2WjFwxWMHOTw== - dependencies: - mathjs "*" - - "@types/mime@*": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10" - integrity sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA== - - "@types/minimist@^1.2.2": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@types/minimist/-/minimist-1.2.2.tgz#ee771e2ba4b3dc5b372935d549fd9617bf345b8c" - integrity sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ== - - "@types/morgan@^1.9.3": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@types/morgan/-/morgan-1.9.4.tgz#99965ad2bdc7c5cee28d8ce95cfa7300b19ea562" - integrity sha512-cXoc4k+6+YAllH3ZHmx4hf7La1dzUk6keTR4bF4b4Sc0mZxU/zK4wO7l+ZzezXm/jkYj/qC+uYGZrarZdIVvyQ== - dependencies: - "@types/node" "*" - - "@types/node-fetch@^2.6.1": - version "2.6.2" - resolved "https://registry.yarnpkg.com/@types/node-fetch/-/node-fetch-2.6.2.tgz#d1a9c5fd049d9415dce61571557104dec3ec81da" - integrity sha512-DHqhlq5jeESLy19TYhLakJ07kNumXWjcDdxXsLUMJZ6ue8VZJj4kLPQVE/2mdHh3xZziNF1xppu5lwmS53HR+A== - dependencies: - "@types/node" "*" - form-data "^3.0.0" - - "@types/node@*", "@types/node@>=13.7.0": - version "18.15.3" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.3.tgz#f0b991c32cfc6a4e7f3399d6cb4b8cf9a0315014" - integrity sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw== - - "@types/node@10.12.18": - version "10.12.18" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.12.18.tgz#1d3ca764718915584fcd9f6344621b7672665c67" - integrity sha512-fh+pAqt4xRzPfqA6eh3Z2y6fyZavRIumvjhaCL753+TVkGKGhpPeyrJG2JftD0T9q4GF00KjefsQ+PQNDdWQaQ== - - "@types/node@18.15.13": - version "18.15.13" - resolved "https://registry.yarnpkg.com/@types/node/-/node-18.15.13.tgz#f64277c341150c979e42b00e4ac289290c9df469" - integrity sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q== - - "@types/node@^10.1.0", "@types/node@^10.3.2": - version "10.17.60" - resolved "https://registry.yarnpkg.com/@types/node/-/node-10.17.60.tgz#35f3d6213daed95da7f0f73e75bcc6980e90597b" - integrity sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw== - - "@types/node@^12.12.54", "@types/node@^12.12.6": - version "12.20.55" - resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" - integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== - - "@types/node@^15.12.4": - version "15.14.9" - resolved "https://registry.yarnpkg.com/@types/node/-/node-15.14.9.tgz#bc43c990c3c9be7281868bbc7b8fdd6e2b57adfa" - integrity sha512-qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A== - - "@types/node@^20.2.5": - version "20.4.8" - resolved "https://registry.yarnpkg.com/@types/node/-/node-20.4.8.tgz#b5dda19adaa473a9bf0ab5cbd8f30ec7d43f5c85" - integrity sha512-0mHckf6D2DiIAzh8fM8f3HQCvMKDpK94YQ0DSVkfWTG9BZleYIWudw9cJxX8oCk9bM+vAkDyujDV6dmKHbvQpg== - - "@types/pbkdf2@^3.0.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@types/pbkdf2/-/pbkdf2-3.1.0.tgz#039a0e9b67da0cdc4ee5dab865caa6b267bb66b1" - integrity sha512-Cf63Rv7jCQ0LaL8tNXmEyqTHuIJxRdlS5vMh1mj5voN4+QFhVZnlZruezqpWYDiJ8UTzhP0VmeLXCmBk66YrMQ== - dependencies: - "@types/node" "*" - - "@types/prettier@^2.1.5": - version "2.7.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" - integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== - - "@types/promise-retry@^1.1.3": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@types/promise-retry/-/promise-retry-1.1.3.tgz#baab427419da9088a1d2f21bf56249c21b3dd43c" - integrity sha512-LxIlEpEX6frE3co3vCO2EUJfHIta1IOmhDlcAsR4GMMv9hev1iTI9VwberVGkePJAuLZs5rMucrV8CziCfuJMw== - dependencies: - "@types/retry" "*" - - "@types/qs@*": - version "6.9.7" - resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" - integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== - - "@types/range-parser@*": - version "1.2.4" - resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc" - integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw== - - "@types/responselike@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" - integrity sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA== - dependencies: - "@types/node" "*" - - "@types/retry@*": - version "0.12.2" - resolved "https://registry.yarnpkg.com/@types/retry/-/retry-0.12.2.tgz#ed279a64fa438bb69f2480eda44937912bb7480a" - integrity sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow== - - "@types/secp256k1@^4.0.1": - version "4.0.3" - resolved "https://registry.yarnpkg.com/@types/secp256k1/-/secp256k1-4.0.3.tgz#1b8e55d8e00f08ee7220b4d59a6abe89c37a901c" - integrity sha512-Da66lEIFeIz9ltsdMZcpQvmrmmoqrfju8pm1BH8WbYjZSwUgCwXLb9C+9XYogwBITnbsSaMdVPb2ekf7TV+03w== - dependencies: - "@types/node" "*" - - "@types/seedrandom@3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@types/seedrandom/-/seedrandom-3.0.1.tgz#1254750a4fec4aff2ebec088ccd0bb02e91fedb4" - integrity sha512-giB9gzDeiCeloIXDgzFBCgjj1k4WxcDrZtGl6h1IqmUPlxF+Nx8Ve+96QCyDZ/HseB/uvDsKbpib9hU5cU53pw== - - "@types/serve-static@*": - version "1.15.1" - resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.15.1.tgz#86b1753f0be4f9a1bee68d459fcda5be4ea52b5d" - integrity sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ== - dependencies: - "@types/mime" "*" - "@types/node" "*" - - "@types/stack-utils@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-1.0.1.tgz#0a851d3bd96498fa25c33ab7278ed3bd65f06c3e" - integrity sha512-l42BggppR6zLmpfU6fq9HEa2oGPEI8yrSPL3GITjfRInppYFahObbIQOQK3UGxEnyQpltZLaPe75046NOZQikw== - - "@types/stack-utils@^2.0.0": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" - integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== - - "@types/superagent@*": - version "4.1.16" - resolved "https://registry.yarnpkg.com/@types/superagent/-/superagent-4.1.16.tgz#12c9c16f232f9d89beab91d69368f96ce8e2d881" - integrity sha512-tLfnlJf6A5mB6ddqF159GqcDizfzbMUB1/DeT59/wBNqzRTNNKsaw79A/1TZ84X+f/EwWH8FeuSkjlCLyqS/zQ== - dependencies: - "@types/cookiejar" "*" - "@types/node" "*" - - "@types/supertest@^2.0.11": - version "2.0.12" - resolved "https://registry.yarnpkg.com/@types/supertest/-/supertest-2.0.12.tgz#ddb4a0568597c9aadff8dbec5b2e8fddbe8692fc" - integrity sha512-X3HPWTwXRerBZS7Mo1k6vMVR1Z6zmJcDVn5O/31whe0tnjE4te6ZJSJGq1RiqHPjzPdMTfjCFogDJmwng9xHaQ== - dependencies: - "@types/superagent" "*" - - "@types/swagger-ui-express@^4.1.3": - version "4.1.3" - resolved "https://registry.yarnpkg.com/@types/swagger-ui-express/-/swagger-ui-express-4.1.3.tgz#7adbbbf5343b45869debef1e9ff39c9ba73e380f" - integrity sha512-jqCjGU/tGEaqIplPy3WyQg+Nrp6y80DCFnDEAvVKWkJyv0VivSSDCChkppHRHAablvInZe6pijDFMnavtN0vqA== - dependencies: - "@types/express" "*" - "@types/serve-static" "*" - - "@types/triple-beam@^1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@types/triple-beam/-/triple-beam-1.3.2.tgz#38ecb64f01aa0d02b7c8f4222d7c38af6316fef8" - integrity sha512-txGIh+0eDFzKGC25zORnswy+br1Ha7hj5cMVwKIU7+s0U2AxxJru/jZSMU6OC9MJWP6+pc/hc6ZjyZShpsyY2g== - - "@types/uuid@^8.3.4": - version "8.3.4" - resolved "https://registry.yarnpkg.com/@types/uuid/-/uuid-8.3.4.tgz#bd86a43617df0594787d38b735f55c805becf1bc" - integrity sha512-c/I8ZRb51j+pYGAu5CrFMRxqZ2ke4y2grEBO5AUjgSkSk+qT2Ea+OdWElz/OiMf5MNpn2b17kuVBwZLQJXzihw== - - "@types/web@^0.0.91": - version "0.0.91" - resolved "https://registry.yarnpkg.com/@types/web/-/web-0.0.91.tgz#a561564865c512c34a4b2c329cccecc46c29c761" - integrity sha512-KIw/1SNDyzPMpN7JiS2TTmiKXUhg4vkV2b8ozgQV0aw82dZr1chPXyunxVbUjSHaDrLxQbD+xpVk+CXiVkakHg== - - "@types/ws@^7.2.0", "@types/ws@^7.4.4": - version "7.4.7" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-7.4.7.tgz#f7c390a36f7a0679aa69de2d501319f4f8d9b702" - integrity sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww== - dependencies: - "@types/node" "*" - - "@types/ws@^8.5.3": - version "8.5.4" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.4.tgz#bb10e36116d6e570dd943735f86c933c1587b8a5" - integrity sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg== - dependencies: - "@types/node" "*" - - "@types/yargs-parser@*": - version "21.0.0" - resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" - integrity sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA== - - "@types/yargs@^13.0.0": - version "13.0.12" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-13.0.12.tgz#d895a88c703b78af0465a9de88aa92c61430b092" - integrity sha512-qCxJE1qgz2y0hA4pIxjBR+PelCH0U5CK1XJXFwCNqfmliatKp47UCXXE9Dyk1OXBDLvsCF57TqQEJaeLfDYEOQ== - dependencies: - "@types/yargs-parser" "*" - - "@types/yargs@^16.0.0": - version "16.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.5.tgz#12cc86393985735a283e387936398c2f9e5f88e3" - integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== - dependencies: - "@types/yargs-parser" "*" - - "@typescript-eslint/eslint-plugin@^4.26.1": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== - dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" - functional-red-black-tree "^1.0.1" - ignore "^5.1.8" - regexpp "^3.1.0" - semver "^7.3.5" - tsutils "^3.21.0" - - "@typescript-eslint/experimental-utils@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - - "@typescript-eslint/parser@^4.26.1": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== - dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" - - "@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - - "@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - - "@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - - "@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" - - "@uniswap/default-token-list@^2.0.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@uniswap/default-token-list/-/default-token-list-2.3.0.tgz#e5e522e775791999643aac9b0faf1ccfb4c49bd8" - integrity sha512-yfd4snv9K20tEbNwy9Vjym41RU3Yb2lN0seKxsgkr+m3f6oub2lWyXfTiNwgGFbOQPDvX4dxjMhA+M+S7mxqKg== - - "@uniswap/lib@^4.0.1-alpha": - version "4.0.1-alpha" - resolved "https://registry.yarnpkg.com/@uniswap/lib/-/lib-4.0.1-alpha.tgz#2881008e55f075344675b3bca93f020b028fbd02" - integrity sha512-f6UIliwBbRsgVLxIaBANF6w09tYqc6Y/qXdsrbEmXHyFA7ILiKrIwRFXe1yOg8M3cksgVsO9N7yuL2DdCGQKBA== - - "@uniswap/router-sdk@^1.3.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@uniswap/router-sdk/-/router-sdk-1.4.0.tgz#0e8d49f37b36e74b6a70ec257ec0561bf1f249c3" - integrity sha512-GyUX8x+hnwnh89DHyA/yKWUwhU3Eukx3B76vfvMMWfr++GA4CW6PzT5j4JgNZDrsBTOSJWxTdU5YbgOuwU2XGg== - dependencies: - "@ethersproject/abi" "^5.5.0" - "@uniswap/sdk-core" "^3.0.1" - "@uniswap/swap-router-contracts" "1.1.0" - "@uniswap/v2-sdk" "^3.0.1" - "@uniswap/v3-sdk" "^3.8.3" - - "@uniswap/sdk-core@^3.0.0", "@uniswap/sdk-core@^3.0.0-alpha.3", "@uniswap/sdk-core@^3.0.1": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@uniswap/sdk-core/-/sdk-core-3.2.2.tgz#50dbc6f2543d088680f36fb61e01bb90d4d8fa71" - integrity sha512-dPA34T8EVfFzKtw1NC1Mr7M0aXpY1UN+lUpdBv757JxKKMlGQTg96XTIfjYCflqEshxlBdz2+IVQgk6H+dMu5g== - dependencies: - "@ethersproject/address" "^5.0.2" - big.js "^5.2.2" - decimal.js-light "^2.5.0" - jsbi "^3.1.4" - tiny-invariant "^1.1.0" - toformat "^2.0.0" - - "@uniswap/sdk@3.0.2": - version "3.0.2" - resolved "https://registry.yarnpkg.com/@uniswap/sdk/-/sdk-3.0.2.tgz#c75da48a8d7c3e62556c2b29d6c0f75f133d6afa" - integrity sha512-x6dYbxs3xUi1BOeGj3UqunFaWaJffzqAdSABZSPqyG3hhLpLa2AR4ehH9ZgtTVGF4Rq4MF7UDOHeXMA8AqwyaA== - dependencies: - "@ethersproject/address" "^5.0.1" - "@ethersproject/contracts" "^5.0.1" - "@ethersproject/networks" "^5.0.1" - "@ethersproject/providers" "^5.0.4" - "@ethersproject/solidity" "^5.0.1" - "@uniswap/v2-core" "^1.0.0" - big.js "^5.2.2" - decimal.js-light "^2.5.0" - jsbi "^3.1.1" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - "@uniswap/smart-order-router@^2.5.26": - version "2.10.2" - resolved "https://registry.yarnpkg.com/@uniswap/smart-order-router/-/smart-order-router-2.10.2.tgz#c6aabe890d096f4c4727011ecfe6f37a401f99a5" - integrity sha512-Nq/O5p5vUxcGL2PpdB4/mjq0cgfpisPA8Q29dPs3+dgYJ3PNgIasCoENMHgauTvCFCNyql+GwanfeW/DtEcd5A== - dependencies: - "@uniswap/default-token-list" "^2.0.0" - "@uniswap/router-sdk" "^1.3.0" - "@uniswap/swap-router-contracts" "^1.3.0" - "@uniswap/token-lists" "^1.0.0-beta.25" - "@uniswap/v2-sdk" "^3.0.1" - "@uniswap/v3-sdk" "^3.7.0" - async-retry "^1.3.1" - await-timeout "^1.1.1" - axios "^0.21.1" - bunyan "^1.8.15" - bunyan-blackhole "^1.1.1" - ethers "^5.6.1" - graphql "^15.5.0" - graphql-request "^3.4.0" - lodash "^4.17.21" - mnemonist "^0.38.3" - node-cache "^5.1.2" - stats-lite "^2.2.0" - - "@uniswap/swap-router-contracts@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@uniswap/swap-router-contracts/-/swap-router-contracts-1.1.0.tgz#e027b14d4c172f231c53c48e1fd708a78d7d94d8" - integrity sha512-GPmpx1lvjXWloB95+YUabr3UHJYr3scnSS8EzaNXnNrIz9nYZ+XQcMaJxOKe85Yi7IfcUQpj0HzD2TW99dtolA== - dependencies: - "@openzeppelin/contracts" "3.4.1-solc-0.7-2" - "@uniswap/v2-core" "1.0.1" - "@uniswap/v3-core" "1.0.0" - "@uniswap/v3-periphery" "1.3.0" - hardhat-watcher "^2.1.1" - - "@uniswap/swap-router-contracts@^1.2.1", "@uniswap/swap-router-contracts@^1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@uniswap/swap-router-contracts/-/swap-router-contracts-1.3.0.tgz#8d555ca6d74b888d6e02a26ebb806ce315605f1f" - integrity sha512-iKvCuRkHXEe0EMjOf8HFUISTIhlxI57kKFllf3C3PUIE0HmwxrayyoflwAz5u/TRsFGYqJ9IjX2UgzLCsrNa5A== - dependencies: - "@openzeppelin/contracts" "3.4.2-solc-0.7" - "@uniswap/v2-core" "1.0.1" - "@uniswap/v3-core" "1.0.0" - "@uniswap/v3-periphery" "1.4.1" - dotenv "^14.2.0" - hardhat-watcher "^2.1.1" - - "@uniswap/token-lists@^1.0.0-beta.25": - version "1.0.0-beta.31" - resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.31.tgz#ff3852bd505ec7b4c276625c762ea79a93a919ec" - integrity sha512-BQVoelKCRf64IToPEs1wxiXOnhr/ukwPOF78XG11PrTAOL4F8umjYKFb8ZPv1/dIJsPaC7GhLSriEqyp94SasQ== - - "@uniswap/v2-core@1.0.1", "@uniswap/v2-core@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@uniswap/v2-core/-/v2-core-1.0.1.tgz#af8f508bf183204779938969e2e54043e147d425" - integrity sha512-MtybtkUPSyysqLY2U210NBDeCHX+ltHt3oADGdjqoThZaFRDKwM6k1Nb3F0A3hk5hwuQvytFWhrWHOEq6nVJ8Q== - - "@uniswap/v2-sdk@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@uniswap/v2-sdk/-/v2-sdk-3.0.1.tgz#690c484104c1debd1db56a236e5497def53d698b" - integrity sha512-eSpm2gjo2CZh9FACH5fq42str/oSNyWcDxB27o5k44bEew4sxb+pld4gGIf/byJndLBvArR9PtH8c0n/goNOTw== - dependencies: - "@ethersproject/address" "^5.0.0" - "@ethersproject/solidity" "^5.0.0" - "@uniswap/sdk-core" "^3.0.0-alpha.3" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - - "@uniswap/v3-core@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@uniswap/v3-core/-/v3-core-1.0.0.tgz#6c24adacc4c25dceee0ba3ca142b35adbd7e359d" - integrity sha512-kSC4djMGKMHj7sLMYVnn61k9nu+lHjMIxgg9CDQT+s2QYLoA56GbSK9Oxr+qJXzzygbkrmuY6cwgP6cW2JXPFA== - - "@uniswap/v3-core@^1.0.0": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@uniswap/v3-core/-/v3-core-1.0.1.tgz#b6d2bdc6ba3c3fbd610bdc502395d86cd35264a0" - integrity sha512-7pVk4hEm00j9tc71Y9+ssYpO6ytkeI0y7WE9P6UcmNzhxPePwyAxImuhVsTqWK9YFvzgtvzJHi64pBl4jUzKMQ== - - "@uniswap/v3-periphery@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@uniswap/v3-periphery/-/v3-periphery-1.3.0.tgz#37f0a1ef6025221722e50e9f3f2009c2d5d6e4ec" - integrity sha512-HjHdI5RkjBl8zz3bqHShrbULFoZSrjbbrRHoO2vbzn+WRzTa6xY4PWphZv2Tlcb38YEKfKHp6NPl5hVedac8uw== - dependencies: - "@openzeppelin/contracts" "3.4.1-solc-0.7-2" - "@uniswap/lib" "^4.0.1-alpha" - "@uniswap/v2-core" "1.0.1" - "@uniswap/v3-core" "1.0.0" - base64-sol "1.0.1" - hardhat-watcher "^2.1.1" - - "@uniswap/v3-periphery@1.4.1": - version "1.4.1" - resolved "https://registry.yarnpkg.com/@uniswap/v3-periphery/-/v3-periphery-1.4.1.tgz#b90f08b7386163c0abfd7258831caef6339c7862" - integrity sha512-Ab0ZCKOQrQMKIcpBTezTsEhWfQjItd0TtkCG8mPhoQu+wC67nPaf4hYUhM6wGHeFUmDiYY5MpEQuokB0ENvoTg== - dependencies: - "@openzeppelin/contracts" "3.4.2-solc-0.7" - "@uniswap/lib" "^4.0.1-alpha" - "@uniswap/v2-core" "1.0.1" - "@uniswap/v3-core" "1.0.0" - base64-sol "1.0.1" - hardhat-watcher "^2.1.1" - - "@uniswap/v3-periphery@^1.0.1", "@uniswap/v3-periphery@^1.1.1": - version "1.4.3" - resolved "https://registry.yarnpkg.com/@uniswap/v3-periphery/-/v3-periphery-1.4.3.tgz#a6da4632dbd46b139cc13a410e4ec09ad22bd19f" - integrity sha512-80c+wtVzl5JJT8UQskxVYYG3oZb4pkhY0zDe0ab/RX4+8f9+W5d8wI4BT0wLB0wFQTSnbW+QdBSpkHA/vRyGBA== - dependencies: - "@openzeppelin/contracts" "3.4.2-solc-0.7" - "@uniswap/lib" "^4.0.1-alpha" - "@uniswap/v2-core" "1.0.1" - "@uniswap/v3-core" "1.0.0" - base64-sol "1.0.1" - - "@uniswap/v3-sdk@^3.7.0", "@uniswap/v3-sdk@^3.8.3": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@uniswap/v3-sdk/-/v3-sdk-3.9.0.tgz#de93fa19f89c29d460996aa4d0b4bb6531641105" - integrity sha512-LuoF3UcY1DxSAQKJ3E4/1Eq4HaNp+x+7q9mvbpiu+/PBj+O1DjLforAMrKxu+RsA0aarmZtz7yBnAPy+akgfgQ== - dependencies: - "@ethersproject/abi" "^5.0.12" - "@ethersproject/solidity" "^5.0.9" - "@uniswap/sdk-core" "^3.0.1" - "@uniswap/swap-router-contracts" "^1.2.1" - "@uniswap/v3-periphery" "^1.1.1" - "@uniswap/v3-staker" "1.0.0" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - - "@uniswap/v3-staker@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@uniswap/v3-staker/-/v3-staker-1.0.0.tgz#9a6915ec980852479dfc903f50baf822ff8fa66e" - integrity sha512-JV0Qc46Px5alvg6YWd+UIaGH9lDuYG/Js7ngxPit1SPaIP30AlVer1UYB7BRYeUVVxE+byUyIeN5jeQ7LLDjIw== - dependencies: - "@openzeppelin/contracts" "3.4.1-solc-0.7-2" - "@uniswap/v3-core" "1.0.0" - "@uniswap/v3-periphery" "^1.0.1" - - "@wagmi/chains@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.0.0.tgz#41710941f2c2a699a246c4e3a6112b4efd996171" - integrity sha512-eNbqRWyHbivcMNq5tbXJks4NaOzVLHnNQauHPeE/EDT9AlpqzcrMc+v2T1/2Iw8zN4zgqB86NCsxeJHJs7+xng== - - "@wallet-standard/base@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@wallet-standard/base/-/base-1.0.1.tgz#860dd94d47c9e3c5c43b79d91c6afdbd7a36264e" - integrity sha512-1To3ekMfzhYxe0Yhkpri+Fedq0SYcfrOfJi3vbLjMwF2qiKPjTGLwZkf2C9ftdQmxES+hmxhBzTwF4KgcOwf8w== - - "@wallet-standard/features@^1.0.3": - version "1.0.3" - resolved "https://registry.yarnpkg.com/@wallet-standard/features/-/features-1.0.3.tgz#c992876c5e4f7a0672f8869c4146c87e0dfe48c8" - integrity sha512-m8475I6W5LTatTZuUz5JJNK42wFRgkJTB0I9tkruMwfqBF2UN2eomkYNVf9RbrsROelCRzSFmugqjKZBFaubsA== - dependencies: - "@wallet-standard/base" "^1.0.1" - - "@walletconnect/browser-utils@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/browser-utils/-/browser-utils-1.8.0.tgz#33c10e777aa6be86c713095b5206d63d32df0951" - integrity sha512-Wcqqx+wjxIo9fv6eBUFHPsW1y/bGWWRboni5dfD8PtOmrihrEpOCmvRJe4rfl7xgJW8Ea9UqKEaq0bIRLHlK4A== - dependencies: - "@walletconnect/safe-json" "1.0.0" - "@walletconnect/types" "^1.8.0" - "@walletconnect/window-getters" "1.0.0" - "@walletconnect/window-metadata" "1.0.0" - detect-browser "5.2.0" - - "@walletconnect/core@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@walletconnect/core/-/core-2.5.1.tgz#fed485577e73bc9dee25ae16f80352818c33b723" - integrity sha512-Q+dH+LSK85PwpmbjAFoi9ddWTFFghyZWwi1bGfgFA4h3tk4vfh+F0oW44bREaeHAQ/y1va0f2OdK6/jagOeMLQ== - dependencies: - "@walletconnect/heartbeat" "1.2.0" - "@walletconnect/jsonrpc-provider" "1.0.9" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/jsonrpc-ws-connection" "1.0.10" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/relay-auth" "^1.0.4" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.5.1" - "@walletconnect/utils" "2.5.1" - events "^3.3.0" - lodash.isequal "4.5.0" - pino "7.11.0" - uint8arrays "^3.1.0" - - "@walletconnect/environment@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/environment/-/environment-1.0.1.tgz#1d7f82f0009ab821a2ba5ad5e5a7b8ae3b214cd7" - integrity sha512-T426LLZtHj8e8rYnKfzsw1aG6+M0BT1ZxayMdv/p8yM0MU+eJDISqNY3/bccxRr4LrF9csq02Rhqt08Ibl0VRg== - dependencies: - tslib "1.14.1" - - "@walletconnect/events@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/events/-/events-1.0.1.tgz#2b5f9c7202019e229d7ccae1369a9e86bda7816c" - integrity sha512-NPTqaoi0oPBVNuLv7qPaJazmGHs5JGyO8eEAk5VGKmJzDR7AHzD4k6ilox5kxk1iwiOnFopBOOMLs86Oa76HpQ== - dependencies: - keyvaluestorage-interface "^1.0.0" - tslib "1.14.1" - - "@walletconnect/heartbeat@1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@walletconnect/heartbeat/-/heartbeat-1.2.0.tgz#1e87dd234cb72b0587b84f95c4f942f2b4bd0c79" - integrity sha512-0vbzTa/ARrpmMmOD+bQMxPvFYKtOLQZObgZakrYr0aODiMOO71CmPVNV2eAqXnw9rMmcP+z91OybLeIFlwTjjA== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/time" "^1.0.2" - chai "^4.3.7" - mocha "^10.2.0" - ts-node "^10.9.1" - tslib "1.14.1" - - "@walletconnect/jsonrpc-provider@1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-provider/-/jsonrpc-provider-1.0.9.tgz#ce5ab64dce6a739110aef204ffeedd668ad343d8" - integrity sha512-8CwmiDW42F+F8Qct13lX2x4lJOsi0mNBtUln3VS6TpWioTaL1VfforC/8ULc3tHXv+SNWwAXn2lCZbDcYhdRcA== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" - tslib "1.14.1" - - "@walletconnect/jsonrpc-types@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-types/-/jsonrpc-types-1.0.2.tgz#b79519f679cd6a5fa4a1bea888f27c1916689a20" - integrity sha512-CZe8tjJX73OWdHjrBHy7HtAapJ2tT0Q3TYhPBhRxi3643lwPIQWC9En45ldY14TZwgSewkbZ0FtGBZK0G7Bbyg== - dependencies: - keyvaluestorage-interface "^1.0.0" - tslib "1.14.1" - - "@walletconnect/jsonrpc-utils@^1.0.4", "@walletconnect/jsonrpc-utils@^1.0.6": - version "1.0.6" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-utils/-/jsonrpc-utils-1.0.6.tgz#7fa58e6671247e64e189828103282e6258f5330f" - integrity sha512-snp0tfkjPiDLQp/jrBewI+9SM33GPV4+Gjgldod6XQ7rFyQ5FZjnBxUkY4xWH0+arNxzQSi6v5iDXjCjSaorpg== - dependencies: - "@walletconnect/environment" "^1.0.1" - "@walletconnect/jsonrpc-types" "^1.0.2" - tslib "1.14.1" - - "@walletconnect/jsonrpc-ws-connection@1.0.10": - version "1.0.10" - resolved "https://registry.yarnpkg.com/@walletconnect/jsonrpc-ws-connection/-/jsonrpc-ws-connection-1.0.10.tgz#04e04a7d8c70b27c386a1bdd9ff6511045da3c81" - integrity sha512-/tidvjfCXZuYugjF5fOswsNDPoMo9QRML3DFQ0dfNUarL4f5HGqu8NDGerr2n0+4MOX23GsT6Vv2POSwFbvgGw== - dependencies: - "@walletconnect/jsonrpc-utils" "^1.0.6" - "@walletconnect/safe-json" "^1.0.1" - events "^3.3.0" - tslib "1.14.1" - ws "^7.5.1" - - "@walletconnect/keyvaluestorage@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/keyvaluestorage/-/keyvaluestorage-1.0.2.tgz#92f5ca0f54c1a88a093778842ce0c874d86369c8" - integrity sha512-U/nNG+VLWoPFdwwKx0oliT4ziKQCEoQ27L5Hhw8YOFGA2Po9A9pULUYNWhDgHkrb0gYDNt//X7wABcEWWBd3FQ== - dependencies: - safe-json-utils "^1.1.1" - tslib "1.14.1" - - "@walletconnect/logger@^2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/logger/-/logger-2.0.1.tgz#7f489b96e9a1ff6bf3e58f0fbd6d69718bf844a8" - integrity sha512-SsTKdsgWm+oDTBeNE/zHxxr5eJfZmE9/5yp/Ku+zJtcTAjELb3DXueWkDXmE9h8uHIbJzIb5wj5lPdzyrjT6hQ== - dependencies: - pino "7.11.0" - tslib "1.14.1" - - "@walletconnect/mobile-registry@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@walletconnect/mobile-registry/-/mobile-registry-1.4.0.tgz#502cf8ab87330841d794819081e748ebdef7aee5" - integrity sha512-ZtKRio4uCZ1JUF7LIdecmZt7FOLnX72RPSY7aUVu7mj7CSfxDwUn6gBuK6WGtH+NZCldBqDl5DenI5fFSvkKYw== - - "@walletconnect/qrcode-modal@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/qrcode-modal/-/qrcode-modal-1.8.0.tgz#ddd6f5c9b7ee52c16adf9aacec2a3eac4994caea" - integrity sha512-BueaFefaAi8mawE45eUtztg3ZFbsAH4DDXh1UNwdUlsvFMjqcYzLUG0xZvDd6z2eOpbgDg2N3bl6gF0KONj1dg== - dependencies: - "@walletconnect/browser-utils" "^1.8.0" - "@walletconnect/mobile-registry" "^1.4.0" - "@walletconnect/types" "^1.8.0" - copy-to-clipboard "^3.3.1" - preact "10.4.1" - qrcode "1.4.4" - - "@walletconnect/relay-api@^1.0.9": - version "1.0.9" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-api/-/relay-api-1.0.9.tgz#f8c2c3993dddaa9f33ed42197fc9bfebd790ecaf" - integrity sha512-Q3+rylJOqRkO1D9Su0DPE3mmznbAalYapJ9qmzDgK28mYF9alcP3UwG/og5V7l7CFOqzCLi7B8BvcBUrpDj0Rg== - dependencies: - "@walletconnect/jsonrpc-types" "^1.0.2" - tslib "1.14.1" - - "@walletconnect/relay-auth@^1.0.4": - version "1.0.4" - resolved "https://registry.yarnpkg.com/@walletconnect/relay-auth/-/relay-auth-1.0.4.tgz#0b5c55c9aa3b0ef61f526ce679f3ff8a5c4c2c7c" - integrity sha512-kKJcS6+WxYq5kshpPaxGHdwf5y98ZwbfuS4EE/NkQzqrDFm5Cj+dP8LofzWvjrrLkZq7Afy7WrQMXdLy8Sx7HQ== - dependencies: - "@stablelib/ed25519" "^1.0.2" - "@stablelib/random" "^1.0.1" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/time" "^1.0.2" - tslib "1.14.1" - uint8arrays "^3.0.0" - - "@walletconnect/safe-json@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.0.tgz#12eeb11d43795199c045fafde97e3c91646683b2" - integrity sha512-QJzp/S/86sUAgWY6eh5MKYmSfZaRpIlmCJdi5uG4DJlKkZrHEF7ye7gA+VtbVzvTtpM/gRwO2plQuiooIeXjfg== - - "@walletconnect/safe-json@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/safe-json/-/safe-json-1.0.1.tgz#9813fa0a7a544b16468730c2d7bed046ed160957" - integrity sha512-Fm7e31oSYY15NQr8SsLJheKAy5L744udZf2lJKcz6wFmPJEzf7hOF0866o/rrldRzJnjZ4H2GJ45pFudsnLW5A== - dependencies: - tslib "1.14.1" - - "@walletconnect/sign-client@^2.4.5": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@walletconnect/sign-client/-/sign-client-2.5.1.tgz#58f5d1acaf592a680f5e19a101dac6ada6a88cc5" - integrity sha512-c5HzOXr4EhhJ0ozxne4ahCyS8mbW1NSgTEcW/c8LxsaRcMejY8l+1DGwWGpeD4c6K1jmxKGCGS8HxjY+igN5+Q== - dependencies: - "@walletconnect/core" "2.5.1" - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.0" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/logger" "^2.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.5.1" - "@walletconnect/utils" "2.5.1" - events "^3.3.0" - pino "7.11.0" - - "@walletconnect/time@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@walletconnect/time/-/time-1.0.2.tgz#6c5888b835750ecb4299d28eecc5e72c6d336523" - integrity sha512-uzdd9woDcJ1AaBZRhqy5rNC9laqWGErfc4dxA9a87mPdKOgWMD85mcFo9dIYIts/Jwocfwn07EC6EzclKubk/g== - dependencies: - tslib "1.14.1" - - "@walletconnect/types@2.5.1": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-2.5.1.tgz#1bb7d51a6cf04233a70c38efea0aa414db5768f9" - integrity sha512-PctuQw1Kt0tJ8mYU8p1JOXYxv8PhvNoXXtLaGkGZ/9knn1dJaQRlMDEN0iHG6qXlSAo0tW8Q3PtK5tetf5dJ0g== - dependencies: - "@walletconnect/events" "^1.0.1" - "@walletconnect/heartbeat" "1.2.0" - "@walletconnect/jsonrpc-types" "^1.0.2" - "@walletconnect/keyvaluestorage" "^1.0.2" - "@walletconnect/logger" "^2.0.1" - events "^3.3.0" - - "@walletconnect/types@^1.8.0": - version "1.8.0" - resolved "https://registry.yarnpkg.com/@walletconnect/types/-/types-1.8.0.tgz#3f5e85b2d6b149337f727ab8a71b8471d8d9a195" - integrity sha512-Cn+3I0V0vT9ghMuzh1KzZvCkiAxTq+1TR2eSqw5E5AVWfmCtECFkVZBP6uUJZ8YjwLqXheI+rnjqPy7sVM4Fyg== - - "@walletconnect/utils@2.5.1", "@walletconnect/utils@^2.4.5": - version "2.5.1" - resolved "https://registry.yarnpkg.com/@walletconnect/utils/-/utils-2.5.1.tgz#466cfc76688b9048923ffaf75621c98a0f21c9e7" - integrity sha512-+Pr3kj0CjxEeSxoRtj9lOfsDRLjwI5RyuwASUy4mcTGil59rdAK0Z7Uht3/+HEXB05AUyEJihpQEwworcGu/uw== - dependencies: - "@stablelib/chacha20poly1305" "1.0.1" - "@stablelib/hkdf" "1.0.1" - "@stablelib/random" "^1.0.2" - "@stablelib/sha256" "1.0.1" - "@stablelib/x25519" "^1.0.3" - "@walletconnect/jsonrpc-utils" "^1.0.4" - "@walletconnect/relay-api" "^1.0.9" - "@walletconnect/safe-json" "^1.0.1" - "@walletconnect/time" "^1.0.2" - "@walletconnect/types" "2.5.1" - "@walletconnect/window-getters" "^1.0.1" - "@walletconnect/window-metadata" "^1.0.1" - detect-browser "5.3.0" - query-string "7.1.1" - uint8arrays "^3.1.0" - - "@walletconnect/window-getters@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.0.tgz#1053224f77e725dfd611c83931b5f6c98c32bfc8" - integrity sha512-xB0SQsLaleIYIkSsl43vm8EwETpBzJ2gnzk7e0wMF3ktqiTGS6TFHxcprMl5R44KKh4tCcHCJwolMCaDSwtAaA== - - "@walletconnect/window-getters@^1.0.0", "@walletconnect/window-getters@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/window-getters/-/window-getters-1.0.1.tgz#f36d1c72558a7f6b87ecc4451fc8bd44f63cbbdc" - integrity sha512-vHp+HqzGxORPAN8gY03qnbTMnhqIwjeRJNOMOAzePRg4xVEEE2WvYsI9G2NMjOknA8hnuYbU3/hwLcKbjhc8+Q== - dependencies: - tslib "1.14.1" - - "@walletconnect/window-metadata@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.0.tgz#93b1cc685e6b9b202f29c26be550fde97800c4e5" - integrity sha512-9eFvmJxIKCC3YWOL97SgRkKhlyGXkrHwamfechmqszbypFspaSk+t2jQXAEU7YClHF6Qjw5eYOmy1//zFi9/GA== - dependencies: - "@walletconnect/window-getters" "^1.0.0" - - "@walletconnect/window-metadata@^1.0.1": - version "1.0.1" - resolved "https://registry.yarnpkg.com/@walletconnect/window-metadata/-/window-metadata-1.0.1.tgz#2124f75447b7e989e4e4e1581d55d25bc75f7be5" - integrity sha512-9koTqyGrM2cqFRW517BPY/iEtUDx2r1+Pwwu5m7sJ7ka79wi3EyqhqcICk/yDmv6jAS1rjKgTKXlEhanYjijcA== - dependencies: - "@walletconnect/window-getters" "^1.0.1" - tslib "1.14.1" - - "@wry/context@^0.7.0": - version "0.7.0" - resolved "https://registry.yarnpkg.com/@wry/context/-/context-0.7.0.tgz#be88e22c0ddf62aeb0ae9f95c3d90932c619a5c8" - integrity sha512-LcDAiYWRtwAoSOArfk7cuYvFXytxfVrdX7yxoUmK7pPITLk5jYh2F8knCwS7LjgYL8u1eidPlKKV6Ikqq0ODqQ== - dependencies: - tslib "^2.3.0" - - "@wry/equality@^0.5.0": - version "0.5.3" - resolved "https://registry.yarnpkg.com/@wry/equality/-/equality-0.5.3.tgz#fafebc69561aa2d40340da89fa7dc4b1f6fb7831" - integrity sha512-avR+UXdSrsF2v8vIqIgmeTY0UR91UT+IyablCyKe/uk22uOJ8fusKZnH9JH9e1/EtLeNJBtagNmL3eJdnOV53g== - dependencies: - tslib "^2.3.0" - - "@wry/trie@^0.3.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@wry/trie/-/trie-0.3.2.tgz#a06f235dc184bd26396ba456711f69f8c35097e6" - integrity sha512-yRTyhWSls2OY/pYLfwff867r8ekooZ4UI+/gxot5Wj8EFwSf2rG+n+Mo/6LoLQm1TKA4GRj2+LCpbfS937dClQ== - dependencies: - tslib "^2.3.0" - - "@zuzu-cat/defira-sdk@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@zuzu-cat/defira-sdk/-/defira-sdk-1.0.0.tgz#fc9a6625cb7c91d6a81440a6317faa4e3f326ad1" - integrity sha512-NuxpUe3wGjNFDS8YAI2RHi+KH3/h3q1uH3jx6uXJ1deh0QsaxCS7j+KgFKwpJQAvLUc2/wFJuauT4SOAJfLwIw== - dependencies: - "@ethersproject/address" "^5.0.0" - "@ethersproject/contracts" "^5.6.2" - "@ethersproject/providers" "^5.6.8" - "@ethersproject/solidity" "^5.0.0" - "@uniswap/sdk-core" "^3.0.0-alpha.3" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - - JSONStream@^1.3.5: - version "1.3.5" - resolved "https://registry.yarnpkg.com/JSONStream/-/JSONStream-1.3.5.tgz#3208c1f08d3a4d99261ab64f92302bc15e111ca0" - integrity sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ== - dependencies: - jsonparse "^1.2.0" - through ">=2.2.7 <3" - - abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - - abbrev@1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" - integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== - - abi-coder@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/abi-coder/-/abi-coder-5.0.0.tgz#df36b51bb02aea45f54f24c403b4245f79a75fcf" - integrity sha512-Kpyv/AhAaIaVJiJ6S/xqoTsiJrfSMc3QsBCiRDqic3o1CZNKGR3CIeT1K/1VZ7Wk5uSwsOAxQcke1TVUEz+usg== - - abi-decoder@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/abi-decoder/-/abi-decoder-2.4.0.tgz#99f72337c614d6ac45a28dbc83c08b44eba48ad5" - integrity sha512-TOLU2q1HgYOjs1GKGtVzaqrYkar6I2fT9a80rzx6/9EJ/5crb4nCGuro0grZayixem93T7omrajYmLiMkYDLDA== - dependencies: - web3-eth-abi "^1.2.1" - web3-utils "^1.2.1" - - abitype@0.8.7: - version "0.8.7" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" - integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== - - abort-controller@3.0.0, abort-controller@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" - integrity sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== - dependencies: - event-target-shim "^5.0.0" - - abortcontroller-polyfill@^1.7.3: - version "1.7.5" - resolved "https://registry.yarnpkg.com/abortcontroller-polyfill/-/abortcontroller-polyfill-1.7.5.tgz#6738495f4e901fbb57b6c0611d0c75f76c485bed" - integrity sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ== - - abstract-level@1.0.3, abstract-level@^1.0.0, abstract-level@^1.0.2, abstract-level@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/abstract-level/-/abstract-level-1.0.3.tgz#78a67d3d84da55ee15201486ab44c09560070741" - integrity sha512-t6jv+xHy+VYwc4xqZMn2Pa9DjcdzvzZmQGRjTFc8spIbRGHgBrEKbPq+rYXc7CCo0lxgYvSgKVg9qZAhpVQSjA== - dependencies: - buffer "^6.0.3" - catering "^2.1.0" - is-buffer "^2.0.5" - level-supports "^4.0.0" - level-transcoder "^1.0.1" - module-error "^1.0.1" - queue-microtask "^1.2.3" - - abstract-leveldown@7.2.0, abstract-leveldown@^7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-7.2.0.tgz#08d19d4e26fb5be426f7a57004851b39e1795a2e" - integrity sha512-DnhQwcFEaYsvYDnACLZhMmCWd3rkOeEvglpa4q5i/5Jlm3UIsWaxVzuXvDLFCSCWRO3yy2/+V/G7FusFgejnfQ== - dependencies: - buffer "^6.0.3" - catering "^2.0.0" - is-buffer "^2.0.5" - level-concat-iterator "^3.0.0" - level-supports "^2.0.1" - queue-microtask "^1.2.3" - - abstract-leveldown@^6.2.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz#d25221d1e6612f820c35963ba4bd739928f6026a" - integrity sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ== - dependencies: - buffer "^5.5.0" - immediate "^3.2.3" - level-concat-iterator "~2.0.0" - level-supports "~1.0.0" - xtend "~4.0.0" - - abstract-leveldown@~2.7.1: - version "2.7.2" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-2.7.2.tgz#87a44d7ebebc341d59665204834c8b7e0932cc93" - integrity sha512-+OVvxH2rHVEhWLdbudP6p0+dNMXu8JA1CbhP19T8paTYAcX7oJ4OVjT+ZUVpv7mITxXHqDMej+GdqXBmXkw09w== - dependencies: - xtend "~4.0.0" - - abstract-leveldown@~6.2.1, abstract-leveldown@~6.2.3: - version "6.2.3" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz#036543d87e3710f2528e47040bc3261b77a9a8eb" - integrity sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ== - dependencies: - buffer "^5.5.0" - immediate "^3.2.3" - level-concat-iterator "~2.0.0" - level-supports "~1.0.0" - xtend "~4.0.0" - - accepts@^1.3.5, accepts@~1.3.8: - version "1.3.8" - resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e" - integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw== - dependencies: - mime-types "~2.1.34" - negotiator "0.6.3" - - acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - - acorn-jsx@^5.3.1: - version "5.3.2" - resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" - integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== - - acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - - acorn-walk@^8.1.1: - version "8.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" - integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== - - acorn@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" - integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== - - acorn@^7.1.1, acorn@^7.4.0: - version "7.4.1" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" - integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== - - acorn@^8.2.4, acorn@^8.4.1: - version "8.8.2" - resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" - integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== - - adm-zip@^0.4.16: - version "0.4.16" - resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" - integrity sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg== - - aes-js@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.0.0.tgz#e21df10ad6c2053295bcbb8dab40b09dbea87e4d" - integrity sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw== - - aes-js@4.0.0-beta.5: - version "4.0.0-beta.5" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-4.0.0-beta.5.tgz#8d2452c52adedebc3a3e28465d858c11ca315873" - integrity sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q== - - aes-js@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/aes-js/-/aes-js-3.1.2.tgz#db9aabde85d5caabbfc0d4f2a4446960f627146a" - integrity sha512-e5pEa2kBnBOgR4Y/p20pskXI74UEz7de8ZGVo58asOtvSVG5YAbJeELPZxOmt+Bnz3rX753YKhfIn4X4l1PPRQ== - - agent-base@6, agent-base@^6.0.2: - version "6.0.2" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" - integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ== - dependencies: - debug "4" - - agentkeepalive@^4.2.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.3.0.tgz#bb999ff07412653c1803b3ced35e50729830a255" - integrity sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg== - dependencies: - debug "^4.1.0" - depd "^2.0.0" - humanize-ms "^1.2.1" - - aggregate-error@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a" - integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA== - dependencies: - clean-stack "^2.0.0" - indent-string "^4.0.0" - - ajv-formats@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ajv-formats/-/ajv-formats-2.1.1.tgz#6e669400659eb74973bbf2e33327180a0996b520" - integrity sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA== - dependencies: - ajv "^8.0.0" - - ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: - version "6.12.6" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" - integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g== - dependencies: - fast-deep-equal "^3.1.1" - fast-json-stable-stringify "^2.0.0" - json-schema-traverse "^0.4.1" - uri-js "^4.2.2" - - ajv@^8.0.0, ajv@^8.0.1, ajv@^8.6.3: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.12.0.tgz#d1a0527323e22f53562c567c00991577dfbe19d1" - integrity sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - - alchemy-sdk@^2.6.3: - version "2.8.0" - resolved "https://registry.yarnpkg.com/alchemy-sdk/-/alchemy-sdk-2.8.0.tgz#ce0a80ff5c390a01eaf8f76b1f1ca3736d656fd2" - integrity sha512-0r+DhxfooKi4fG/VFbIY8SfypeF7NX91m2p3+iDeE4C+noutfSuUs82qOIUdyHvRChzlDGJSoXynhF5gxiRXLA== - dependencies: - "@ethersproject/abi" "^5.7.0" - "@ethersproject/abstract-provider" "^5.7.0" - "@ethersproject/bignumber" "^5.7.0" - "@ethersproject/bytes" "^5.7.0" - "@ethersproject/contracts" "^5.7.0" - "@ethersproject/hash" "^5.7.0" - "@ethersproject/networks" "^5.7.0" - "@ethersproject/providers" "^5.7.0" - "@ethersproject/units" "^5.7.0" - "@ethersproject/wallet" "^5.7.0" - "@ethersproject/web" "^5.7.0" - axios "^0.26.1" - sturdy-websocket "^0.2.1" - websocket "^1.0.34" - - algo-msgpack-with-bigint@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/algo-msgpack-with-bigint/-/algo-msgpack-with-bigint-2.1.1.tgz#38bb717220525b3ff42232eefdcd9efb9ad405d6" - integrity sha512-F1tGh056XczEaEAqu7s+hlZUDWwOBT70Eq0lfMpBP2YguSQVyxRbprLq5rELXKQOyOaixTWYhMeMQMzP0U5FoQ== - - algosdk@^2.1.0, algosdk@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/algosdk/-/algosdk-2.2.0.tgz#12f80b5f68c955b338aa5b9d5fc6cbd64ce6ea7a" - integrity sha512-FG3u/60DzjMK9Cffy9itst7WcfsTgZKfsD1r8pT33PfsA7r8NoXiUSL7cf0fNWFus6S3E14BpE2CY64VJ8KV1A== - dependencies: - algo-msgpack-with-bigint "^2.1.1" - buffer "^6.0.3" - cross-fetch "^3.1.5" - hi-base32 "^0.5.1" - js-sha256 "^0.9.0" - js-sha3 "^0.8.0" - js-sha512 "^0.8.0" - json-bigint "^1.0.0" - tweetnacl "^1.0.3" - vlq "^2.0.4" - - ansi-colors@4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" - integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== - - ansi-colors@^4.1.1: - version "4.1.3" - resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.3.tgz#37611340eb2243e70cc604cad35d63270d48781b" - integrity sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw== - - ansi-escapes@^4.2.1, ansi-escapes@^4.3.0: - version "4.3.2" - resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e" - integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ== - dependencies: - type-fest "^0.21.3" - - ansi-regex@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df" - integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA== - - ansi-regex@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1" - integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw== - - ansi-regex@^4.0.0, ansi-regex@^4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed" - integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g== - - ansi-regex@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304" - integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== - - ansi-styles@^3.2.0, ansi-styles@^3.2.1: - version "3.2.1" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d" - integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA== - dependencies: - color-convert "^1.9.0" - - ansi-styles@^4.0.0, ansi-styles@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937" - integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== - dependencies: - color-convert "^2.0.1" - - ansi-styles@^5.0.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-5.2.0.tgz#07449690ad45777d1924ac2abb2fc8895dba836b" - integrity sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA== - - antlr4ts@^0.5.0-alpha.4: - version "0.5.0-alpha.4" - resolved "https://registry.yarnpkg.com/antlr4ts/-/antlr4ts-0.5.0-alpha.4.tgz#71702865a87478ed0b40c0709f422cf14d51652a" - integrity sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ== - - any-promise@1.3.0, any-promise@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/any-promise/-/any-promise-1.3.0.tgz#abc6afeedcea52e809cdc0376aed3ce39635d17f" - integrity sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A== - - anymatch@^3.0.3, anymatch@~3.1.2: - version "3.1.3" - resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e" - integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw== - dependencies: - normalize-path "^3.0.0" - picomatch "^2.0.4" - - apollo-datasource@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/apollo-datasource/-/apollo-datasource-3.3.2.tgz#5711f8b38d4b7b53fb788cb4dbd4a6a526ea74c8" - integrity sha512-L5TiS8E2Hn/Yz7SSnWIVbZw0ZfEIXZCa5VUiVxD9P53JvSrf4aStvsFDlGWPvpIdCR+aly2CfoB79B9/JjKFqg== - dependencies: - "@apollo/utils.keyvaluecache" "^1.0.1" - apollo-server-env "^4.2.1" - - apollo-reporting-protobuf@^3.4.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/apollo-reporting-protobuf/-/apollo-reporting-protobuf-3.4.0.tgz#6edd31f09d4a3704d9e808d1db30eca2229ded26" - integrity sha512-h0u3EbC/9RpihWOmcSsvTW2O6RXVaD/mPEjfrPkxRPTEPWqncsgOoRJw+wih4OqfH3PvTJvoEIf4LwKrUaqWog== - dependencies: - "@apollo/protobufjs" "1.2.6" - - apollo-server-core@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/apollo-server-core/-/apollo-server-core-3.12.0.tgz#8aa2a7329ce6fe1823290c45168c749db01548df" - integrity sha512-hq7iH6Cgldgmnjs9FVSZeKWRpi0/ZR+iJ1arzeD2VXGxxgk1mAm/cz1Tx0TYgegZI+FvvrRl0UhKEx7sLnIxIg== - dependencies: - "@apollo/utils.keyvaluecache" "^1.0.1" - "@apollo/utils.logger" "^1.0.0" - "@apollo/utils.usagereporting" "^1.0.0" - "@apollographql/apollo-tools" "^0.5.3" - "@apollographql/graphql-playground-html" "1.6.29" - "@graphql-tools/mock" "^8.1.2" - "@graphql-tools/schema" "^8.0.0" - "@josephg/resolvable" "^1.0.0" - apollo-datasource "^3.3.2" - apollo-reporting-protobuf "^3.4.0" - apollo-server-env "^4.2.1" - apollo-server-errors "^3.3.1" - apollo-server-plugin-base "^3.7.2" - apollo-server-types "^3.8.0" - async-retry "^1.2.1" - fast-json-stable-stringify "^2.1.0" - graphql-tag "^2.11.0" - loglevel "^1.6.8" - lru-cache "^6.0.0" - node-abort-controller "^3.0.1" - sha.js "^2.4.11" - uuid "^9.0.0" - whatwg-mimetype "^3.0.0" - - apollo-server-env@^4.2.1: - version "4.2.1" - resolved "https://registry.yarnpkg.com/apollo-server-env/-/apollo-server-env-4.2.1.tgz#ea5b1944accdbdba311f179e4dfaeca482c20185" - integrity sha512-vm/7c7ld+zFMxibzqZ7SSa5tBENc4B0uye9LTfjJwGoQFY5xsUPH5FpO5j0bMUDZ8YYNbrF9SNtzc5Cngcr90g== - dependencies: - node-fetch "^2.6.7" - - apollo-server-errors@^3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/apollo-server-errors/-/apollo-server-errors-3.3.1.tgz#ba5c00cdaa33d4cbd09779f8cb6f47475d1cd655" - integrity sha512-xnZJ5QWs6FixHICXHxUfm+ZWqqxrNuPlQ+kj5m6RtEgIpekOPssH/SD9gf2B4HuWV0QozorrygwZnux8POvyPA== - - apollo-server-express@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/apollo-server-express/-/apollo-server-express-3.12.0.tgz#a6e392bb0427544b8c7e5d841ef07f7691b0c105" - integrity sha512-m8FaGPUfDOEGSm7QRWRmUUGjG/vqvpQoorkId9/FXkC57fz/A59kEdrzkMt9538Xgsa5AV+X4MEWLJhTvlW3LQ== - dependencies: - "@types/accepts" "^1.3.5" - "@types/body-parser" "1.19.2" - "@types/cors" "2.8.12" - "@types/express" "4.17.14" - "@types/express-serve-static-core" "4.17.31" - accepts "^1.3.5" - apollo-server-core "^3.12.0" - apollo-server-types "^3.8.0" - body-parser "^1.19.0" - cors "^2.8.5" - parseurl "^1.3.3" - - apollo-server-plugin-base@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/apollo-server-plugin-base/-/apollo-server-plugin-base-3.7.2.tgz#c19cd137bc4c993ba2490ba2b571b0f3ce60a0cd" - integrity sha512-wE8dwGDvBOGehSsPTRZ8P/33Jan6/PmL0y0aN/1Z5a5GcbFhDaaJCjK5cav6npbbGL2DPKK0r6MPXi3k3N45aw== - dependencies: - apollo-server-types "^3.8.0" - - apollo-server-types@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/apollo-server-types/-/apollo-server-types-3.8.0.tgz#d976b6967878681f715fe2b9e4dad9ba86b1346f" - integrity sha512-ZI/8rTE4ww8BHktsVpb91Sdq7Cb71rdSkXELSwdSR0eXu600/sY+1UXhTWdiJvk+Eq5ljqoHLwLbY2+Clq2b9A== - dependencies: - "@apollo/utils.keyvaluecache" "^1.0.1" - "@apollo/utils.logger" "^1.0.0" - apollo-reporting-protobuf "^3.4.0" - apollo-server-env "^4.2.1" - - apollo-server@^3.11.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/apollo-server/-/apollo-server-3.12.0.tgz#bd43d6dadb8cb16ed34edfc6ad97a81b1fab748a" - integrity sha512-wZHLgBoIdGxr/YpPTG5RwNnS+B2y70T/nCegCnU6Yl+H3PXB92OIguLMhdJIZVjukIOhiQT12dNIehqLQ+1hMQ== - dependencies: - "@types/express" "4.17.14" - apollo-server-core "^3.12.0" - apollo-server-express "^3.12.0" - express "^4.17.1" - - app-module-path@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/app-module-path/-/app-module-path-2.2.0.tgz#641aa55dfb7d6a6f0a8141c4b9c0aa50b6c24dd5" - integrity sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ== - - app-root-path@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/app-root-path/-/app-root-path-3.1.0.tgz#5971a2fc12ba170369a7a1ef018c71e6e47c2e86" - integrity sha512-biN3PwB2gUtjaYy/isrU3aNWI5w+fAfvHkSvCKeQGxhmYpwKFUxudR3Yya+KqVRHBmEDYh+/lTozYCFbmzX4nA== - - arg@^4.1.0: - version "4.1.3" - resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" - integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== - - argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - - argparse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" - integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== - - argsarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/argsarray/-/argsarray-0.0.1.tgz#6e7207b4ecdb39b0af88303fa5ae22bda8df61cb" - integrity sha512-u96dg2GcAKtpTrBdDoFIM7PjcBA+6rSP0OR94MOReNRyUECL6MtQt5XXmRr4qrftYaef9+l5hcpO5te7sML1Cg== - - arr-diff@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520" - integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA== - - arr-flatten@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1" - integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg== - - arr-union@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" - integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q== - - array-buffer-byte-length@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz#fabe8bc193fea865f317fe7807085ee0dee5aead" - integrity sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A== - dependencies: - call-bind "^1.0.2" - is-array-buffer "^3.0.1" - - array-flatten@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" - integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg== - - array-includes@^3.1.6: - version "3.1.6" - resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.6.tgz#9e9e720e194f198266ba9e18c29e6a9b0e4b225f" - integrity sha512-sgTbLvL6cNnw24FnbaDyjmvddQ2ML8arZsgaJhoABMoplz/4QRhtrYS+alr1BUM1Bwp6dhx8vVCBSLG+StwOFw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - get-intrinsic "^1.1.3" - is-string "^1.0.7" - - array-union@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" - integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw== - - array-unique@^0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428" - integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ== - - array.prototype.flat@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flat/-/array.prototype.flat-1.3.1.tgz#ffc6576a7ca3efc2f46a143b9d1dda9b4b3cf5e2" - integrity sha512-roTU0KWIOmJ4DRLmwKd19Otg0/mT3qPNt0Qb3GWW8iObuZXxrjB/pzn0R3hqpRSWg4HCwqx+0vwOnWnvlOyeIA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - - array.prototype.flatmap@^1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.3.1.tgz#1aae7903c2100433cb8261cd4ed310aab5c4a183" - integrity sha512-8UGn9O1FDVvMNB0UlLv4voxRMze7+FpHyF5mSMRjWHUMlpoDViniy05870VlxhfgTnLbpuwTzvD76MTtWxB/mQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - es-shim-unscopables "^1.0.0" - - asap@^2.0.0: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA== - - asn1.js@^5.2.0: - version "5.4.1" - resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" - integrity sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA== - dependencies: - bn.js "^4.0.0" - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - safer-buffer "^2.1.0" - - asn1@~0.2.3: - version "0.2.6" - resolved "https://registry.yarnpkg.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d" - integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ== - dependencies: - safer-buffer "~2.1.0" - - assert-plus@1.0.0, assert-plus@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525" - integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw== - - assert@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/assert/-/assert-2.0.0.tgz#95fc1c616d48713510680f2eaf2d10dd22e02d32" - integrity sha512-se5Cd+js9dXJnu6Ag2JFc00t+HmHOen+8Q+L7O9zI0PqQXr20uk2J0XQqMxZEeo5U50o8Nvmmx7dZrl+Ufr35A== - dependencies: - es6-object-assign "^1.1.0" - is-nan "^1.2.1" - object-is "^1.0.1" - util "^0.12.0" - - assertion-error@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" - integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== - - assign-symbols@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367" - integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw== - - astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== - - async-eventemitter@0.2.4, async-eventemitter@^0.2.4: - version "0.2.4" - resolved "https://registry.yarnpkg.com/async-eventemitter/-/async-eventemitter-0.2.4.tgz#f5e7c8ca7d3e46aab9ec40a292baf686a0bafaca" - integrity sha512-pd20BwL7Yt1zwDFy+8MX8F1+WCT8aQeKj0kQnTrH9WaeRETlRamVhD0JtRPmrV4GfOJ2F9CvdQkZeZhnh2TuHw== - dependencies: - async "^2.4.0" - - async-limiter@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" - integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== - - async-mutex@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/async-mutex/-/async-mutex-0.4.0.tgz#ae8048cd4d04ace94347507504b3cf15e631c25f" - integrity sha512-eJFZ1YhRR8UN8eBLoNzcDPcy/jqjsg6I1AP+KvWQX80BqOSW1oJPJXDylPUEeMr2ZQvHgnQ//Lp6f3RQ1zI7HA== - dependencies: - tslib "^2.4.0" - - async-retry@^1.2.1, async-retry@^1.3.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" - integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== - dependencies: - retry "0.13.1" - - async@^2.4.0: - version "2.6.4" - resolved "https://registry.yarnpkg.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221" - integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA== - dependencies: - lodash "^4.17.14" - - async@^3.2.3: - version "3.2.4" - resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" - integrity sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ== - - asynckit@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" - integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q== - - at-least-node@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2" - integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg== - - atob@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" - integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== - - atomic-sleep@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" - integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== - - atomically@^1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/atomically/-/atomically-1.7.0.tgz#c07a0458432ea6dbc9a3506fffa424b48bccaafe" - integrity sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w== - - available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - - await-timeout@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/await-timeout/-/await-timeout-1.1.1.tgz#d42062ee6bc4eb271fe4d4f851eb658dae7e3906" - integrity sha512-gsDXAS6XVc4Jt+7S92MPX6Noq69bdeXUPEaXd8dk3+yVr629LTDLxNt4j1ycBbrU+AStK2PhKIyNIM+xzWMVOQ== - - aws-sign2@~0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" - integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA== - - aws4@^1.8.0: - version "1.12.0" - resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.12.0.tgz#ce1c9d143389679e253b314241ea9aa5cec980d3" - integrity sha512-NmWvPnx0F1SfrQbYwOi7OeaNGokp9XhzNioJ/CSBs8Qa4vxug81mhJEAVZwxXuBmYB5KDRfMq/F3RR0BIU7sWg== - - axios@1.2.4: - version "1.2.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.2.4.tgz#6555dd955d2efa9b8f4cb4cb0b3371b7b243537a" - integrity sha512-lIQuCfBJvZB/Bv7+RWUqEJqNShGOVpk9v7P0ZWx5Ip0qY6u7JBAU6dzQPMLasU9vHL2uD8av/1FDJXj7n6c39w== - dependencies: - follow-redirects "^1.15.0" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - - axios@^0.21.0, axios@^0.21.1, axios@^0.21.2: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - - axios@^0.26.1: - version "0.26.1" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9" - integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA== - dependencies: - follow-redirects "^1.14.8" - - axios@^0.27.2: - version "0.27.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" - integrity sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ== - dependencies: - follow-redirects "^1.14.9" - form-data "^4.0.0" - - babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== - dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__core" "^7.1.14" - babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - slash "^3.0.0" - - babel-plugin-istanbul@^6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - - babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== - dependencies: - "@babel/template" "^7.3.3" - "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" - "@types/babel__traverse" "^7.0.6" - - babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== - dependencies: - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" - - babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== - dependencies: - babel-plugin-jest-hoist "^27.5.1" - babel-preset-current-node-syntax "^1.0.0" - - balanced-match@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" - integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== - - base-x@^3.0.2, base-x@^3.0.6, base-x@^3.0.8, base-x@^3.0.9: - version "3.0.9" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-3.0.9.tgz#6349aaabb58526332de9f60995e548a53fe21320" - integrity sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ== - dependencies: - safe-buffer "^5.0.1" - - base-x@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/base-x/-/base-x-4.0.0.tgz#d0e3b7753450c73f8ad2389b5c018a4af7b2224a" - integrity sha512-FuwxlW4H5kh37X/oW59pwTzzTKRzfrrQwhmyspRM7swOEZcHtDZSCt45U6oKgtuFE+WYPblePMVIPR4RZrh/hw== - - base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1, base64-js@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" - integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== - - base64-sol@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/base64-sol/-/base64-sol-1.0.1.tgz#91317aa341f0bc763811783c5729f1c2574600f6" - integrity sha512-ld3cCNMeXt4uJXmLZBHFGMvVpK9KsLVEhPpFRXnvSVAqABKbuNZg/+dsq3NuM+wxFLb/UrVkz7m1ciWmkMfTbg== - - base64url@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" - integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== - - base@^0.11.1: - version "0.11.2" - resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" - integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg== - dependencies: - cache-base "^1.0.1" - class-utils "^0.3.5" - component-emitter "^1.2.1" - define-property "^1.0.0" - isobject "^3.0.1" - mixin-deep "^1.2.0" - pascalcase "^0.1.1" - - basic-auth@~2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a" - integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg== - dependencies: - safe-buffer "5.1.2" - - bchaddrjs@^0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/bchaddrjs/-/bchaddrjs-0.5.2.tgz#1f52b5077329774e7c82d4882964628106bb11a0" - integrity sha512-OO7gIn3m7ea4FVx4cT8gdlWQR2+++EquhdpWQJH9BQjK63tJJ6ngB3QMZDO6DiBoXiIGUsTPHjlrHVxPGcGxLQ== - dependencies: - bs58check "2.1.2" - buffer "^6.0.3" - cashaddrjs "0.4.4" - stream-browserify "^3.0.0" - - bcrypt-pbkdf@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e" - integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w== - dependencies: - tweetnacl "^0.14.3" - - bech32@1.1.4, bech32@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-1.1.4.tgz#e38c9f37bf179b8eb16ae3a772b40c356d4832e9" - integrity sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ== - - bech32@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/bech32/-/bech32-2.0.0.tgz#078d3686535075c8c79709f054b1b226a133b355" - integrity sha512-LcknSilhIGatDAsY1ak2I8VtGaHNhgMSYVxFrGLXv+xLHytaKZKcaUJJUE7qmBr7h33o5YQwP55pMI0xmkpJwg== - - big-integer@1.6.36: - version "1.6.36" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.36.tgz#78631076265d4ae3555c04f85e7d9d2f3a071a36" - integrity sha512-t70bfa7HYEA1D9idDbmuv7YbsbVkQ+Hp+8KFSul4aE5e/i1bjCNIRYJZlA8Q8p0r9T8cF/RVvwUgRA//FydEyg== - - big-integer@^1.6.48: - version "1.6.51" - resolved "https://registry.yarnpkg.com/big-integer/-/big-integer-1.6.51.tgz#0df92a5d9880560d3ff2d5fd20245c889d130686" - integrity sha512-GPEid2Y9QU1Exl1rpO9B2IPJGHPSupF5GnVIP0blYvNOMer2bTvSWs1jGOUg04hTmu67nmLsQ9TBo1puaotBHg== - - big.js@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.1.1.tgz#63b35b19dc9775c94991ee5db7694880655d5537" - integrity sha512-1vObw81a8ylZO5ePrtMay0n018TcftpTA5HFKDaSuiUDBo8biRBtjIobw60OpwuvrGk+FsxKamqN4cnmj/eXdg== - - big.js@^5.2.2: - version "5.2.2" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" - integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== - - big.js@^6.0.3, big.js@^6.1.0, big.js@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/big.js/-/big.js-6.2.1.tgz#7205ce763efb17c2e41f26f121c420c6a7c2744f" - integrity sha512-bCtHMwL9LeDIozFn+oNhhFoq+yQ3BNdnsLSASUxLciOb1vgvpHsIO1dsENiGMgbb4SkP5TrzWzRiLddn8ahVOQ== - - bigint-buffer@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bigint-buffer/-/bigint-buffer-1.1.5.tgz#d038f31c8e4534c1f8d0015209bf34b4fa6dd442" - integrity sha512-trfYco6AoZ+rKhKnxA0hgX0HAbVP/s808/EuDSe2JDzUnCp/xAsli35Orvk67UrTEcwuxZqYZDmfA2RXJgxVvA== - dependencies: - bindings "^1.3.0" - - bigint-crypto-utils@^3.0.23: - version "3.1.8" - resolved "https://registry.yarnpkg.com/bigint-crypto-utils/-/bigint-crypto-utils-3.1.8.tgz#e2e0f40cf45488f9d7f0e32ff84152aa73819d5d" - integrity sha512-+VMV9Laq8pXLBKKKK49nOoq9bfR3j7NNQAtbA617a4nw9bVLo8rsqkKMBgM2AJWlNX9fEIyYaYX+d0laqYV4tw== - dependencies: - bigint-mod-arith "^3.1.0" - - bigint-mod-arith@^3.1.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bigint-mod-arith/-/bigint-mod-arith-3.1.2.tgz#658e416bc593a463d97b59766226d0a3021a76b1" - integrity sha512-nx8J8bBeiRR+NlsROFH9jHswW5HO8mgfOSqW0AmjicMMvaONDa8AO+5ViKDUUNytBPWiwfvZP4/Bj4Y3lUfvgQ== - - bignumber.js@^9.0.0, bignumber.js@^9.0.1, bignumber.js@^9.1.0, bignumber.js@^9.1.1: - version "9.1.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" - integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== - - binary-extensions@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" - integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA== - - bindings@^1.3.0, bindings@^1.3.1, bindings@^1.5.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df" - integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ== - dependencies: - file-uri-to-path "1.0.0" - - bip32@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/bip32/-/bip32-2.0.6.tgz#6a81d9f98c4cd57d05150c60d8f9e75121635134" - integrity sha512-HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA== - dependencies: - "@types/node" "10.12.18" - bs58check "^2.1.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - tiny-secp256k1 "^1.1.3" - typeforce "^1.11.5" - wif "^2.0.6" - - bip39@^2.5.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-2.6.0.tgz#9e3a720b42ec8b3fbe4038f1e445317b6a99321c" - integrity sha512-RrnQRG2EgEoqO24ea+Q/fftuPUZLmrEM3qNhhGsA3PbaXaCW791LTzPuVyx/VprXQcTbPJ3K3UeTna8ZnVl2sg== - dependencies: - create-hash "^1.1.0" - pbkdf2 "^3.0.9" - randombytes "^2.0.1" - safe-buffer "^5.0.1" - unorm "^1.3.3" - - bip39@^3.0.2, bip39@^3.0.3, bip39@^3.0.4: - version "3.1.0" - resolved "https://registry.yarnpkg.com/bip39/-/bip39-3.1.0.tgz#c55a418deaf48826a6ceb34ac55b3ee1577e18a3" - integrity sha512-c9kiwdk45Do5GL0vJMe7tS95VjCii65mYAH7DfWl3uW8AVzXKQVUm64i3hzVybBDMp9r7j9iNxR85+ul8MdN/A== - dependencies: - "@noble/hashes" "^1.2.0" - - bip66@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/bip66/-/bip66-1.1.5.tgz#01fa8748785ca70955d5011217d1b3139969ca22" - integrity sha512-nemMHz95EmS38a26XbbdxIYj5csHd3RMP3H5bwQknX0WYHF01qhpufP42mLOwVICuH2JmhIhXiWs89MfUGL7Xw== - dependencies: - safe-buffer "^5.0.1" - - bitcoin-ops@^1.3.0, bitcoin-ops@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/bitcoin-ops/-/bitcoin-ops-1.4.1.tgz#e45de620398e22fd4ca6023de43974ff42240278" - integrity sha512-pef6gxZFztEhaE9RY9HmWVmiIHqCb2OyS4HPKkpc6CIiiOa3Qmuoylxc5P2EkU3w+5eTSifI9SEZC88idAIGow== - - bl@^1.0.0: - version "1.2.3" - resolved "https://registry.yarnpkg.com/bl/-/bl-1.2.3.tgz#1e8dd80142eac80d7158c9dccc047fb620e035e7" - integrity sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww== - dependencies: - readable-stream "^2.3.5" - safe-buffer "^5.1.1" - - blake-hash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/blake-hash/-/blake-hash-2.0.0.tgz#af184dce641951126d05b7d1c3de3224f538d66e" - integrity sha512-Igj8YowDu1PRkRsxZA7NVkdFNxH5rKv5cpLxQ0CVXSIA77pVYwCPRQJ2sMew/oneUpfuYRyjG6r8SmmmnbZb1w== - dependencies: - node-addon-api "^3.0.0" - node-gyp-build "^4.2.2" - readable-stream "^3.6.0" - - blakejs@^1.1.0, blakejs@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/blakejs/-/blakejs-1.2.1.tgz#5057e4206eadb4a97f7c0b6e197a505042fc3814" - integrity sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ== - - bluebird@^3.5.0, bluebird@^3.5.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" - integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg== - - bn.js@4.11.6: - version "4.11.6" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.6.tgz#53344adb14617a13f6e8dd2ce28905d1c0ba3215" - integrity sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA== - - bn.js@4.11.8: - version "4.11.8" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.11.8.tgz#2cde09eb5ee341f484746bb0309b3253b1b1442f" - integrity sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA== - - bn.js@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" - integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== - - bn.js@5.2.1, bn.js@^5.0.0, bn.js@^5.1.1, bn.js@^5.1.2, bn.js@^5.1.3, bn.js@^5.2.0, bn.js@^5.2.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" - integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== - - bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.0, bn.js@^4.11.6, bn.js@^4.11.8, bn.js@^4.11.9, bn.js@^4.4.0: - version "4.12.0" - resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88" - integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA== - - body-parser@1.20.1: - version "1.20.1" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.1.tgz#b1812a8912c195cd371a3ee5e66faa2338a5c668" - integrity sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw== - dependencies: - bytes "3.1.2" - content-type "~1.0.4" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.1" - type-is "~1.6.18" - unpipe "1.0.0" - - body-parser@^1.16.0, body-parser@^1.19.0: - version "1.20.2" - resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== - dependencies: - bytes "3.1.2" - content-type "~1.0.5" - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - http-errors "2.0.0" - iconv-lite "0.4.24" - on-finished "2.4.1" - qs "6.11.0" - raw-body "2.5.2" - type-is "~1.6.18" - unpipe "1.0.0" - - borsh@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.6.0.tgz#a7c9eeca6a31ca9e0607cb49f329cb659eb791e1" - integrity sha512-sl5k89ViqsThXQpYa9XDtz1sBl3l1lI313cFUY1HKr+wvMILnb+58xpkqTNrYbelh99dY7K8usxoCusQmqix9Q== - dependencies: - bn.js "^5.2.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" - - borsh@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.7.0.tgz#6e9560d719d86d90dc589bca60ffc8a6c51fec2a" - integrity sha512-CLCsZGIBCFnPtkNnieW/a8wmreDmfUtjU2m9yHrzPXIlNbqVs0AQrSatSG6vdNYUqdc83tkQi2eHfF98ubzQLA== - dependencies: - bn.js "^5.2.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" - - bowser@^2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/bowser/-/bowser-2.11.0.tgz#5ca3c35757a7aa5771500c70a73a9f91ef420a8f" - integrity sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA== - - brace-expansion@^1.1.7: - version "1.1.11" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd" - integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA== - dependencies: - balanced-match "^1.0.0" - concat-map "0.0.1" - - brace-expansion@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" - integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== - dependencies: - balanced-match "^1.0.0" - - braces@^2.3.1: - version "2.3.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729" - integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w== - dependencies: - arr-flatten "^1.1.0" - array-unique "^0.3.2" - extend-shallow "^2.0.1" - fill-range "^4.0.0" - isobject "^3.0.1" - repeat-element "^1.1.2" - snapdragon "^0.8.1" - snapdragon-node "^2.0.1" - split-string "^3.0.2" - to-regex "^3.0.1" - - braces@^3.0.2, braces@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== - dependencies: - fill-range "^7.0.1" - - brorand@^1.0.1, brorand@^1.0.5, brorand@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f" - integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w== - - browser-headers@^0.4.0, browser-headers@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/browser-headers/-/browser-headers-0.4.1.tgz#4308a7ad3b240f4203dbb45acedb38dc2d65dd02" - integrity sha512-CA9hsySZVo9371qEHjHZtYxV2cFtVj5Wj/ZHi8ooEsrtm4vOnl9Y9HmyYWk9q+05d7K3rdoAE0j3MVEFVvtQtg== - - browser-level@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browser-level/-/browser-level-1.0.1.tgz#36e8c3183d0fe1c405239792faaab5f315871011" - integrity sha512-XECYKJ+Dbzw0lbydyQuJzwNXtOpbMSq737qxJN11sIRTErOMShvDpbzTlgju7orJKvx4epULolZAuJGLzCmWRQ== - dependencies: - abstract-level "^1.0.2" - catering "^2.1.1" - module-error "^1.0.2" - run-parallel-limit "^1.1.0" - - browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - - browser-stdout@1.3.1: - version "1.3.1" - resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" - integrity sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw== - - browserify-aes@^1.0.0, browserify-aes@^1.0.4, browserify-aes@^1.0.6, browserify-aes@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48" - integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA== - dependencies: - buffer-xor "^1.0.3" - cipher-base "^1.0.0" - create-hash "^1.1.0" - evp_bytestokey "^1.0.3" - inherits "^2.0.1" - safe-buffer "^5.0.1" - - browserify-cipher@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0" - integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w== - dependencies: - browserify-aes "^1.0.4" - browserify-des "^1.0.0" - evp_bytestokey "^1.0.0" - - browserify-des@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c" - integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A== - dependencies: - cipher-base "^1.0.1" - des.js "^1.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - - browserify-rsa@^4.0.0, browserify-rsa@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/browserify-rsa/-/browserify-rsa-4.1.0.tgz#b2fd06b5b75ae297f7ce2dc651f918f5be158c8d" - integrity sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog== - dependencies: - bn.js "^5.0.0" - randombytes "^2.0.1" - - browserify-sign@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/browserify-sign/-/browserify-sign-4.2.1.tgz#eaf4add46dd54be3bb3b36c0cf15abbeba7956c3" - integrity sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg== - dependencies: - bn.js "^5.1.1" - browserify-rsa "^4.0.1" - create-hash "^1.2.0" - create-hmac "^1.1.7" - elliptic "^6.5.3" - inherits "^2.0.4" - parse-asn1 "^5.1.5" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - - browserslist@^4.21.3: - version "4.21.5" - resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.21.5.tgz#75c5dae60063ee641f977e00edd3cfb2fb7af6a7" - integrity sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w== - dependencies: - caniuse-lite "^1.0.30001449" - electron-to-chromium "^1.4.284" - node-releases "^2.0.8" - update-browserslist-db "^1.0.10" - - bs-logger@0.x: - version "0.2.6" - resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" - integrity sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog== - dependencies: - fast-json-stable-stringify "2.x" - - bs58@^4.0.0, bs58@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-4.0.1.tgz#be161e76c354f6f788ae4071f63f34e8c4f0a42a" - integrity sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw== - dependencies: - base-x "^3.0.2" - - bs58@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/bs58/-/bs58-5.0.0.tgz#865575b4d13c09ea2a84622df6c8cbeb54ffc279" - integrity sha512-r+ihvQJvahgYT50JD05dyJNKlmmSlMoOGwn1lCcEzanPglg7TxYjioQUYehQ9mAR/+hOSd2jRc/Z2y5UxBymvQ== - dependencies: - base-x "^4.0.0" - - bs58check@2.1.2, bs58check@<3.0.0, bs58check@^2.1.1, bs58check@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/bs58check/-/bs58check-2.1.2.tgz#53b018291228d82a5aa08e7d796fdafda54aebfc" - integrity sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA== - dependencies: - bs58 "^4.0.0" - create-hash "^1.1.0" - safe-buffer "^5.1.2" - - bser@2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" - integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ== - dependencies: - node-int64 "^0.4.0" - - buffer-alloc-unsafe@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0" - integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg== - - buffer-alloc@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec" - integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow== - dependencies: - buffer-alloc-unsafe "^1.1.0" - buffer-fill "^1.0.0" - - buffer-crc32@~0.2.3: - version "0.2.13" - resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242" - integrity sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ== - - buffer-fill@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c" - integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ== - - buffer-from@1.1.2, buffer-from@^1.0.0, buffer-from@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5" - integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ== - - buffer-to-arraybuffer@^0.0.5: - version "0.0.5" - resolved "https://registry.yarnpkg.com/buffer-to-arraybuffer/-/buffer-to-arraybuffer-0.0.5.tgz#6064a40fa76eb43c723aba9ef8f6e1216d10511a" - integrity sha512-3dthu5CYiVB1DEJp61FtApNnNndTckcqe4pFcLdvHtrpG+kcyekCJKg4MRiDcFW7A6AODnXB9U4dwQiCW5kzJQ== - - buffer-xor@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9" - integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== - - buffer@5.6.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.6.0.tgz#a31749dc7d81d84db08abf937b6b8c4033f62786" - integrity sha512-/gDYp/UtU0eA1ys8bOs9J6a+E/KWIY+DZ+Q2WESNUA0jFRsJOc0SNUO6xJ5SGA1xueg3NL65W6s+NY5l9cunuw== - dependencies: - base64-js "^1.0.2" - ieee754 "^1.1.4" - - buffer@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.1.tgz#3cbea8c1463e5a0779e30b66d4c88c6ffa182ac2" - integrity sha512-rVAXBwEcEoYtxnHSO5iWyhzV/O1WMtkUYWlfdLS7FjU4PnSJJHEfHXi/uHPI5EwltmOA794gN3bm3/pzuctWjQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - - buffer@^5.0.5, buffer@^5.1.0, buffer@^5.2.1, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0: - version "5.7.1" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" - integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.1.13" - - buffer@^6.0.3, buffer@~6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - - bufferutil@4.0.5: - version "4.0.5" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" - integrity sha512-HTm14iMQKK2FjFLRTM5lAVcyaUzOnqbPtesFIvREgXpJHdQm8bWS+GkQgIkfaBYRHuCnea7w8UVNfwiAQhlr9A== - dependencies: - node-gyp-build "^4.3.0" - - bufferutil@^4.0.1: - version "4.0.7" - resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.7.tgz#60c0d19ba2c992dd8273d3f73772ffc894c153ad" - integrity sha512-kukuqc39WOHtdxtw4UScxF/WVnMFVSQVKhtx3AjZJzhd0RGZZldcrfSEbVsWWe6KNH253574cq5F+wpv0G9pJw== - dependencies: - node-gyp-build "^4.3.0" - - bunyan-blackhole@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/bunyan-blackhole/-/bunyan-blackhole-1.1.1.tgz#b9208586dc0b4e47f4f713215b1bddd65e4f6257" - integrity sha512-UwzNPhbbSqbzeJhCbygqjlAY7p0ZUdv1ADXPQvDh3CA7VW3C/rCc1gaQO/8j9QL4vsKQCQZQSQIEwX+lxioPAQ== - dependencies: - stream-blackhole "^1.0.3" - - bunyan@^1.8.15: - version "1.8.15" - resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz#8ce34ca908a17d0776576ca1b2f6cbd916e93b46" - integrity sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig== - optionalDependencies: - dtrace-provider "~0.8" - moment "^2.19.3" - mv "~2" - safe-json-stringify "~1" - - busboy@^1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/busboy/-/busboy-1.6.0.tgz#966ea36a9502e43cdb9146962523b92f531f6893" - integrity sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA== - dependencies: - streamsearch "^1.1.0" - - bytebuffer@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/bytebuffer/-/bytebuffer-5.0.1.tgz#582eea4b1a873b6d020a48d58df85f0bba6cfddd" - integrity sha512-IuzSdmADppkZ6DlpycMkm8l9zeEq16fWtLvunEwFiYciR/BHo4E8/xs5piFquG+Za8OWmMqHF8zuRviz2LHvRQ== - dependencies: - long "~3" - - bytes@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5" - integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg== - - cache-base@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2" - integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ== - dependencies: - collection-visit "^1.0.0" - component-emitter "^1.2.1" - get-value "^2.0.6" - has-value "^1.0.0" - isobject "^3.0.1" - set-value "^2.0.0" - to-object-path "^0.3.0" - union-value "^1.0.0" - unset-value "^1.0.0" - - cacheable-lookup@^5.0.3: - version "5.0.4" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz#5a6b865b2c44357be3d5ebc2a467b032719a7005" - integrity sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA== - - cacheable-lookup@^6.0.4: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-lookup/-/cacheable-lookup-6.1.0.tgz#0330a543471c61faa4e9035db583aad753b36385" - integrity sha512-KJ/Dmo1lDDhmW2XDPMo+9oiy/CeqosPguPCrgcVzKyZrL6pM1gU2GmPY/xo6OQPTUaA/c0kwHuywB4E6nmT9ww== - - cacheable-request@^6.0.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912" - integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^3.0.0" - lowercase-keys "^2.0.0" - normalize-url "^4.1.0" - responselike "^1.0.2" - - cacheable-request@^7.0.2: - version "7.0.2" - resolved "https://registry.yarnpkg.com/cacheable-request/-/cacheable-request-7.0.2.tgz#ea0d0b889364a25854757301ca12b2da77f91d27" - integrity sha512-pouW8/FmiPQbuGpkXQ9BAPv/Mo5xDGANgSNXzTzJ8DrKGuXOssM4wIQRjfanNRh3Yu5cfYPvcorqbhg2KIJtew== - dependencies: - clone-response "^1.0.2" - get-stream "^5.1.0" - http-cache-semantics "^4.0.0" - keyv "^4.0.0" - lowercase-keys "^2.0.0" - normalize-url "^6.0.1" - responselike "^2.0.0" - - call-bind@^1.0.0, call-bind@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c" - integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA== - dependencies: - function-bind "^1.1.1" - get-intrinsic "^1.0.2" - - call-me-maybe@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa" - integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ== - - callsites@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73" - integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ== - - camel-case@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73" - integrity sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w== - dependencies: - no-case "^2.2.0" - upper-case "^1.1.1" - - camelcase@^5.0.0, camelcase@^5.3.1: - version "5.3.1" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320" - integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== - - camelcase@^6.0.0, camelcase@^6.2.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" - integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== - - caniuse-lite@^1.0.30001449: - version "1.0.30001468" - resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001468.tgz#0101837c6a4e38e6331104c33dcfb3bdf367a4b7" - integrity sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A== - - capability@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/capability/-/capability-0.2.5.tgz#51ad87353f1936ffd77f2f21c74633a4dea88801" - integrity sha512-rsJZYVCgXd08sPqwmaIqjAd5SUTfonV0z/gDJ8D6cN8wQphky1kkAYEqQ+hmDxTw7UihvBfjUVUSY+DBEe44jg== - - case@^1.6.3: - version "1.6.3" - resolved "https://registry.yarnpkg.com/case/-/case-1.6.3.tgz#0a4386e3e9825351ca2e6216c60467ff5f1ea1c9" - integrity sha512-mzDSXIPaFwVDvZAHqZ9VlbyF4yyXRuX6IvB06WvPYkqJVO24kX1PPhv9bfpKNFZyxYFmmgo03HUiD8iklmJYRQ== - - caseless@~0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" - integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== - - cashaddrjs@0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cashaddrjs/-/cashaddrjs-0.4.4.tgz#169f1ae620d325db77700273d972282adeeee331" - integrity sha512-xZkuWdNOh0uq/mxJIng6vYWfTowZLd9F4GMAlp2DwFHlcCqCm91NtuAc47RuV4L7r4PYcY5p6Cr2OKNb4hnkWA== - dependencies: - big-integer "1.6.36" - - catering@^2.0.0, catering@^2.1.0, catering@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/catering/-/catering-2.1.1.tgz#66acba06ed5ee28d5286133982a927de9a04b510" - integrity sha512-K7Qy8O9p76sL3/3m7/zLKbRkyOlSZAgzEaLhyj2mXS8PsCud2Eo4hAb8aLtZqHh0QGqLcb9dlJSu6lHRVENm1w== - - cbor-sync@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cbor-sync/-/cbor-sync-1.0.4.tgz#5a11a1ab75c2a14d1af1b237fd84aa8c1593662f" - integrity sha512-GWlXN4wiz0vdWWXBU71Dvc1q3aBo0HytqwAZnXF1wOwjqNnDWA1vZ1gDMFLlqohak31VQzmhiYfiCX5QSSfagA== - - cbor@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-5.2.0.tgz#4cca67783ccd6de7b50ab4ed62636712f287a67c" - integrity sha512-5IMhi9e1QU76ppa5/ajP1BmMWZ2FHkhAhjeVKQ/EFCgYSEaeVaoGtL7cxJskf9oCCk+XjzaIdc3IuU/dbA/o2A== - dependencies: - bignumber.js "^9.0.1" - nofilter "^1.0.4" - - chai@^4.3.7: - version "4.3.7" - resolved "https://registry.yarnpkg.com/chai/-/chai-4.3.7.tgz#ec63f6df01829088e8bf55fca839bcd464a8ec51" - integrity sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A== - dependencies: - assertion-error "^1.1.0" - check-error "^1.0.2" - deep-eql "^4.1.2" - get-func-name "^2.0.0" - loupe "^2.3.1" - pathval "^1.1.1" - type-detect "^4.0.5" - - chalk@^2.0.0, chalk@^2.0.1, chalk@^2.4.1, chalk@^2.4.2: - version "2.4.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424" - integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ== - dependencies: - ansi-styles "^3.2.1" - escape-string-regexp "^1.0.5" - supports-color "^5.3.0" - - chalk@^4.0.0, chalk@^4.1.0, chalk@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" - integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - - change-case@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/change-case/-/change-case-3.0.2.tgz#fd48746cce02f03f0a672577d1d3a8dc2eceb037" - integrity sha512-Mww+SLF6MZ0U6kdg11algyKd5BARbyM4TbFBepwowYSR5ClfQGCGtxNXgykpN0uF/bstWeaGDT4JWaDh8zWAHA== - dependencies: - camel-case "^3.0.0" - constant-case "^2.0.0" - dot-case "^2.1.0" - header-case "^1.0.0" - is-lower-case "^1.1.0" - is-upper-case "^1.1.0" - lower-case "^1.1.1" - lower-case-first "^1.0.0" - no-case "^2.3.2" - param-case "^2.1.0" - pascal-case "^2.0.0" - path-case "^2.1.0" - sentence-case "^2.1.0" - snake-case "^2.1.0" - swap-case "^1.1.0" - title-case "^2.1.0" - upper-case "^1.1.1" - upper-case-first "^1.1.0" - - char-regex@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" - integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== - - check-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.2.tgz#574d312edd88bb5dd8912e9286dd6c0aed4aac82" - integrity sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA== - - chokidar@3.5.3, chokidar@^3.4.0, chokidar@^3.5.2, chokidar@^3.5.3: - version "3.5.3" - resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd" - integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw== - dependencies: - anymatch "~3.1.2" - braces "~3.0.2" - glob-parent "~5.1.2" - is-binary-path "~2.1.0" - is-glob "~4.0.1" - normalize-path "~3.0.0" - readdirp "~3.6.0" - optionalDependencies: - fsevents "~2.3.2" - - chownr@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - - ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - - ci-info@^3.2.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-3.8.0.tgz#81408265a5380c929f0bc665d62256628ce9ef91" - integrity sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw== - - cids@^0.7.1: - version "0.7.5" - resolved "https://registry.yarnpkg.com/cids/-/cids-0.7.5.tgz#60a08138a99bfb69b6be4ceb63bfef7a396b28b2" - integrity sha512-zT7mPeghoWAu+ppn8+BS1tQ5qGmbMfB4AregnQjA/qHY3GC1m1ptI9GkWNlgeu38r7CuRdXB47uY2XgAYt6QVA== - dependencies: - buffer "^5.5.0" - class-is "^1.1.0" - multibase "~0.6.0" - multicodec "^1.0.0" - multihashes "~0.4.15" - - cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/cipher-base/-/cipher-base-1.0.4.tgz#8760e4ecc272f4c363532f926d874aae2c1397de" - integrity sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - - cjs-module-lexer@^1.0.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-1.2.2.tgz#9f84ba3244a512f3a54e5277e8eef4c489864e40" - integrity sha512-cOU9usZw8/dXIXKtwa8pM0OTJQuJkxMN6w30csNRUerHfeQ5R6U3kkU/FtJeIf3M202OHfY2U8ccInBG7/xogA== - - class-is@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/class-is/-/class-is-1.1.0.tgz#9d3c0fba0440d211d843cec3dedfa48055005825" - integrity sha512-rhjH9AG1fvabIDoGRVH587413LPjTZgmDF9fOFCbFJQV4yuocX1mHxxvXI4g3cGwbVY9wAYIoKlg1N79frJKQw== - - class-utils@^0.3.5: - version "0.3.6" - resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" - integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg== - dependencies: - arr-union "^3.1.0" - define-property "^0.2.5" - isobject "^3.0.0" - static-extend "^0.1.1" - - classic-level@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/classic-level/-/classic-level-1.2.0.tgz#2d52bdec8e7a27f534e67fdeb890abef3e643c27" - integrity sha512-qw5B31ANxSluWz9xBzklRWTUAJ1SXIdaVKTVS7HcTGKOAmExx65Wo5BUICW+YGORe2FOUaDghoI9ZDxj82QcFg== - dependencies: - abstract-level "^1.0.2" - catering "^2.1.0" - module-error "^1.0.1" - napi-macros "~2.0.0" - node-gyp-build "^4.3.0" - - clean-stack@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" - integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== - - cli-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307" - integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw== - dependencies: - restore-cursor "^3.1.0" - - cliui@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49" - integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ== - dependencies: - string-width "^2.1.1" - strip-ansi "^4.0.0" - wrap-ansi "^2.0.0" - - cliui@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5" - integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA== - dependencies: - string-width "^3.1.0" - strip-ansi "^5.2.0" - wrap-ansi "^5.1.0" - - cliui@^7.0.2: - version "7.0.4" - resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f" - integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== - dependencies: - string-width "^4.2.0" - strip-ansi "^6.0.0" - wrap-ansi "^7.0.0" - - clone-buffer@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" - integrity sha512-KLLTJWrvwIP+OPfMn0x2PheDEP20RPUcGXj/ERegTgdmPEZylALQldygiqrPPu8P45uNuPs7ckmReLY6v/iA5g== - - clone-response@^1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3" - integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA== - dependencies: - mimic-response "^1.0.0" - - clone@2.x: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== - - co@^4.6.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" - integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ== - - cobertura-parse@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/cobertura-parse/-/cobertura-parse-1.0.5.tgz#3a8c5d30a97468496a2aabd04b8fa4fb7c3cd20e" - integrity sha512-uYJfkGhzw1wibe/8jqqHmSaPNWFguzq/IlSj83u3cSnZho/lUnfj0mLTmZGmB3AiKCOTYr22TYwpR1sXy2JEkg== - dependencies: - mocha "5.0.5" - xml2js "0.4.19" - - code-point-at@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77" - integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA== - - coinalpha-ref-sdk@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/coinalpha-ref-sdk/-/coinalpha-ref-sdk-1.1.0.tgz#f8d2d08e2de5ddafa7ee948553b6780d206770ec" - integrity sha512-C3rtns2RWyi1DmfJCVmW2MOLqXOvVVIVqjXZPQkThexsimzdqNQ6DgU2CWLRlIujlqHgRNT6LYaqfc25wCC0Kg== - dependencies: - "@types/big.js" "^6.1.5" - "@types/bn.js" "^5.1.1" - "@types/lodash" "^4.14.182" - big.js "^6.2.1" - lodash-es "^4.17.21" - mathjs "^9.3.0" - near-api-js "0.44.2" - ref-sdk "^0.1.5" - - collect-v8-coverage@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" - integrity sha512-iBPtljfCNcTKNAto0KEtDfZ3qzjJvqE3aTGZsbhjSBlorqpXJlaWWtPO35D+ZImoC3KWejX64o+yPGxhWSTzfg== - - collection-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0" - integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw== - dependencies: - map-visit "^1.0.0" - object-visit "^1.0.0" - - color-convert@^1.9.0, color-convert@^1.9.3: - version "1.9.3" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8" - integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg== - dependencies: - color-name "1.1.3" - - color-convert@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3" - integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== - dependencies: - color-name "~1.1.4" - - color-name@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25" - integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== - - color-name@^1.0.0, color-name@~1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2" - integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== - - color-string@^1.6.0: - version "1.9.1" - resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4" - integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg== - dependencies: - color-name "^1.0.0" - simple-swizzle "^0.2.2" - - color@^3.1.3: - version "3.2.1" - resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164" - integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA== - dependencies: - color-convert "^1.9.3" - color-string "^1.6.0" - - colors@1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78" - integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA== - - colorspace@1.1.x: - version "1.1.4" - resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243" - integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w== - dependencies: - color "^3.1.3" - text-hex "1.0.x" - - combined-stream@^1.0.6, combined-stream@^1.0.8, combined-stream@~1.0.6: - version "1.0.8" - resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f" - integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg== - dependencies: - delayed-stream "~1.0.0" - - command-exists@^1.2.8: - version "1.2.9" - resolved "https://registry.yarnpkg.com/command-exists/-/command-exists-1.2.9.tgz#c50725af3808c8ab0260fd60b01fbfa25b954f69" - integrity sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w== - - commander@2.11.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.11.0.tgz#157152fd1e7a6c8d98a5b715cf376df928004563" - integrity sha512-b0553uYA5YAEGgyYIGYROzKQ7X5RAqedkfjiZxwi0kL1g3bOaBNNZfYkzt/CL0umgD5wc9Jec2FbB98CjkMRvQ== - - commander@2.15.1: - version "2.15.1" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.15.1.tgz#df46e867d0fc2aec66a34662b406a9ccafff5b0f" - integrity sha512-VlfT9F3V0v+jr4yxPc5gg9s62/fIVWsd2Bk2iD435um1NlGMYdVCq+MjcXnhYq2icNOizHr1kK+5TI6H0Hy0ag== - - commander@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/commander/-/commander-3.0.2.tgz#6837c3fb677ad9933d1cfba42dd14d5117d6b39e" - integrity sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow== - - commander@^2.20.3, commander@^2.8.1: - version "2.20.3" - resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33" - integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ== - - complex.js@^2.0.15, complex.js@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/complex.js/-/complex.js-2.1.1.tgz#0675dac8e464ec431fb2ab7d30f41d889fb25c31" - integrity sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg== - - component-emitter@^1.2.1, component-emitter@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" - integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== - - concat-map@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" - integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== - - conf@^10.1.2: - version "10.2.0" - resolved "https://registry.yarnpkg.com/conf/-/conf-10.2.0.tgz#838e757be963f1a2386dfe048a98f8f69f7b55d6" - integrity sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg== - dependencies: - ajv "^8.6.3" - ajv-formats "^2.1.1" - atomically "^1.7.0" - debounce-fn "^4.0.0" - dot-prop "^6.0.1" - env-paths "^2.2.1" - json-schema-typed "^7.0.3" - onetime "^5.1.2" - pkg-up "^3.1.0" - semver "^7.3.5" - - constant-case@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46" - integrity sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ== - dependencies: - snake-case "^2.1.0" - upper-case "^1.1.1" - - content-disposition@0.5.4: - version "0.5.4" - resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" - integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ== - dependencies: - safe-buffer "5.2.1" - - content-hash@^2.5.2: - version "2.5.2" - resolved "https://registry.yarnpkg.com/content-hash/-/content-hash-2.5.2.tgz#bbc2655e7c21f14fd3bfc7b7d4bfe6e454c9e211" - integrity sha512-FvIQKy0S1JaWV10sMsA7TRx8bpU+pqPkhbsfvOJAdjRXvYxEckAwQWGwtRjiaJfh+E0DvcWUGqcdjwMGFjsSdw== - dependencies: - cids "^0.7.1" - multicodec "^0.5.5" - multihashes "^0.4.15" - - content-type@~1.0.4, content-type@~1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" - integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== - - convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: - version "1.9.0" - resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" - integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== - - cookie-signature@1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" - integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== - - cookie@0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" - integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== - - cookie@^0.4.1: - version "0.4.2" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432" - integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA== - - cookiejar@^2.1.1, cookiejar@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/cookiejar/-/cookiejar-2.1.4.tgz#ee669c1fea2cf42dc31585469d193fef0d65771b" - integrity sha512-LDx6oHrK+PhzLKJU9j5S7/Y3jM/mUHvD/DeI1WQmJn652iPC5Y4TBzC9l+5OMOXlyTTA+SmVUPm0HQUwpD5Jqw== - - copy-descriptor@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d" - integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw== - - copy-to-clipboard@^3.3.1: - version "3.3.3" - resolved "https://registry.yarnpkg.com/copy-to-clipboard/-/copy-to-clipboard-3.3.3.tgz#55ac43a1db8ae639a4bd99511c148cdd1b83a1b0" - integrity sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA== - dependencies: - toggle-selection "^1.0.6" - - copyfiles@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/copyfiles/-/copyfiles-2.4.1.tgz#d2dcff60aaad1015f09d0b66e7f0f1c5cd3c5da5" - integrity sha512-fereAvAvxDrQDOXybk3Qu3dPbOoKoysFMWtkY3mv5BsL8//OSZVL5DCLYqgRfY5cWirgRzlC+WSrxp6Bo3eNZg== - dependencies: - glob "^7.0.5" - minimatch "^3.0.3" - mkdirp "^1.0.4" - noms "0.0.0" - through2 "^2.0.1" - untildify "^4.0.0" - yargs "^16.1.0" - - core-util-is@1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" - integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ== - - core-util-is@~1.0.0: - version "1.0.3" - resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" - integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== - - cors@^2.8.1, cors@^2.8.5: - version "2.8.5" - resolved "https://registry.yarnpkg.com/cors/-/cors-2.8.5.tgz#eac11da51592dd86b9f06f6e7ac293b3df875d29" - integrity sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g== - dependencies: - object-assign "^4" - vary "^1" - - cosmjs-types@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.4.1.tgz#3b2a53ba60d33159dd075596ce8267cfa7027063" - integrity sha512-I7E/cHkIgoJzMNQdFF0YVqPlaTqrqKHrskuSTIqlEyxfB5Lf3WKCajSXVK2yHOfOFfSux/RxEdpMzw/eO4DIog== - dependencies: - long "^4.0.0" - protobufjs "~6.11.2" - - cosmjs-types@^0.7.1: - version "0.7.2" - resolved "https://registry.yarnpkg.com/cosmjs-types/-/cosmjs-types-0.7.2.tgz#a757371abd340949c5bd5d49c6f8379ae1ffd7e2" - integrity sha512-vf2uLyktjr/XVAgEq0DjMxeAWh1yYREe7AMHDKd7EiHVqxBPCaBS+qEEQUkXbR9ndnckqr1sUG8BQhazh4X5lA== - dependencies: - long "^4.0.0" - protobufjs "~6.11.2" - - crc-32@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" - integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== - - crc@^3.8.0: - version "3.8.0" - resolved "https://registry.yarnpkg.com/crc/-/crc-3.8.0.tgz#ad60269c2c856f8c299e2c4cc0de4556914056c6" - integrity sha512-iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ== - dependencies: - buffer "^5.1.0" - - create-ecdh@^4.0.0: - version "4.0.4" - resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" - integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A== - dependencies: - bn.js "^4.1.0" - elliptic "^6.5.3" - - create-hash@^1.1.0, create-hash@^1.1.2, create-hash@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196" - integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg== - dependencies: - cipher-base "^1.0.1" - inherits "^2.0.1" - md5.js "^1.3.4" - ripemd160 "^2.0.1" - sha.js "^2.4.0" - - create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff" - integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg== - dependencies: - cipher-base "^1.0.3" - create-hash "^1.1.0" - inherits "^2.0.1" - ripemd160 "^2.0.0" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - - create-require@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" - integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ== - - cross-fetch@3.1.5, cross-fetch@^3.0.2, cross-fetch@^3.0.6, cross-fetch@^3.1.4, cross-fetch@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - - cross-spawn@^6.0.0: - version "6.0.5" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" - integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== - dependencies: - nice-try "^1.0.4" - path-key "^2.0.1" - semver "^5.5.0" - shebang-command "^1.2.0" - which "^1.2.9" - - cross-spawn@^7.0.2, cross-spawn@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" - integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w== - dependencies: - path-key "^3.1.0" - shebang-command "^2.0.0" - which "^2.0.1" - - crypto-browserify@3.12.0, crypto-browserify@^3.12.0: - version "3.12.0" - resolved "https://registry.yarnpkg.com/crypto-browserify/-/crypto-browserify-3.12.0.tgz#396cf9f3137f03e4b8e532c58f698254e00f80ec" - integrity sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg== - dependencies: - browserify-cipher "^1.0.0" - browserify-sign "^4.0.0" - create-ecdh "^4.0.0" - create-hash "^1.1.0" - create-hmac "^1.1.0" - diffie-hellman "^5.0.0" - inherits "^2.0.1" - pbkdf2 "^3.0.3" - public-encrypt "^4.0.0" - randombytes "^2.0.0" - randomfill "^1.0.3" - - crypto-js@^4.0.0, crypto-js@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/crypto-js/-/crypto-js-4.1.1.tgz#9e485bcf03521041bd85844786b83fb7619736cf" - integrity sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw== - - cssfilter@0.0.10: - version "0.0.10" - resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" - integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== - - cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - - cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - - cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - - d@1, d@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" - integrity sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA== - dependencies: - es5-ext "^0.10.50" - type "^1.0.1" - - dashdash@^1.12.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" - integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g== - dependencies: - assert-plus "^1.0.0" - - data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - - dataloader@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.1.0.tgz#c69c538235e85e7ac6c6c444bae8ecabf5de9df7" - integrity sha512-qTcEYLen3r7ojZNgVUaRggOI+KM7jrKxXeSHhogh/TWxYMeONEMqY+hmkobiYQozsGIyg9OYVzO4ZIfoB4I0pQ== - - dayjs@^1.10.6: - version "1.11.7" - resolved "https://registry.yarnpkg.com/dayjs/-/dayjs-1.11.7.tgz#4b296922642f70999544d1144a2c25730fce63e2" - integrity sha512-+Yw9U6YO5TQohxLcIkrXBeY73WP3ejHWVvx8XCk3gxvQDCTEmS48ZrSZCKciI7Bhl/uCMyxYtE9UqRILmFphkQ== - - debounce-fn@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/debounce-fn/-/debounce-fn-4.0.0.tgz#ed76d206d8a50e60de0dd66d494d82835ffe61c7" - integrity sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ== - dependencies: - mimic-fn "^3.0.0" - - debug@2.6.9, debug@^2.2.0, debug@^2.3.3: - version "2.6.9" - resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" - integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA== - dependencies: - ms "2.0.0" - - debug@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - - debug@4, debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.3, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2: - version "4.3.4" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" - integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== - dependencies: - ms "2.1.2" - - debug@^3.1.0, debug@^3.2.7: - version "3.2.7" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a" - integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ== - dependencies: - ms "^2.1.1" - - decamelize@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290" - integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== - - decamelize@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-4.0.0.tgz#aa472d7bf660eb15f3494efd531cab7f2a709837" - integrity sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ== - - decimal.js-light@^2.5.0, decimal.js-light@^2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/decimal.js-light/-/decimal.js-light-2.5.1.tgz#134fd32508f19e208f4fb2f8dac0d2626a867934" - integrity sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg== - - decimal.js@^10.2.0, decimal.js@^10.2.1, decimal.js@^10.3.1, decimal.js@^10.4.3: - version "10.4.3" - resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" - integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== - - decode-uri-component@^0.2.0: - version "0.2.2" - resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9" - integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ== - - decompress-response@^3.2.0, decompress-response@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3" - integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA== - dependencies: - mimic-response "^1.0.0" - - decompress-response@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc" - integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ== - dependencies: - mimic-response "^3.1.0" - - decompress-tar@^4.0.0, decompress-tar@^4.1.0, decompress-tar@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tar/-/decompress-tar-4.1.1.tgz#718cbd3fcb16209716e70a26b84e7ba4592e5af1" - integrity sha512-JdJMaCrGpB5fESVyxwpCx4Jdj2AagLmv3y58Qy4GE6HMVjWz1FeVQk1Ct4Kye7PftcdOo/7U7UKzYBJgqnGeUQ== - dependencies: - file-type "^5.2.0" - is-stream "^1.1.0" - tar-stream "^1.5.2" - - decompress-tarbz2@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-tarbz2/-/decompress-tarbz2-4.1.1.tgz#3082a5b880ea4043816349f378b56c516be1a39b" - integrity sha512-s88xLzf1r81ICXLAVQVzaN6ZmX4A6U4z2nMbOwobxkLoIIfjVMBg7TeguTUXkKeXni795B6y5rnvDw7rxhAq9A== - dependencies: - decompress-tar "^4.1.0" - file-type "^6.1.0" - is-stream "^1.1.0" - seek-bzip "^1.0.5" - unbzip2-stream "^1.0.9" - - decompress-targz@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/decompress-targz/-/decompress-targz-4.1.1.tgz#c09bc35c4d11f3de09f2d2da53e9de23e7ce1eee" - integrity sha512-4z81Znfr6chWnRDNfFNqLwPvm4db3WuZkqV+UgXQzSngG3CEKdBkw5jrv3axjjL96glyiiKjsxJG3X6WBZwX3w== - dependencies: - decompress-tar "^4.1.1" - file-type "^5.2.0" - is-stream "^1.1.0" - - decompress-unzip@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/decompress-unzip/-/decompress-unzip-4.0.1.tgz#deaaccdfd14aeaf85578f733ae8210f9b4848f69" - integrity sha512-1fqeluvxgnn86MOh66u8FjbtJpAFv5wgCT9Iw8rcBqQcCo5tO8eiJw7NNTrvt9n4CRBVq7CstiS922oPgyGLrw== - dependencies: - file-type "^3.8.0" - get-stream "^2.2.0" - pify "^2.3.0" - yauzl "^2.4.2" - - decompress@^4.0.0: - version "4.2.1" - resolved "https://registry.yarnpkg.com/decompress/-/decompress-4.2.1.tgz#007f55cc6a62c055afa37c07eb6a4ee1b773f118" - integrity sha512-e48kc2IjU+2Zw8cTb6VZcJQ3lgVbS4uuB1TfCHbiZIP/haNXm+SVyhu+87jts5/3ROpd82GSVCoNs/z8l4ZOaQ== - dependencies: - decompress-tar "^4.0.0" - decompress-tarbz2 "^4.0.0" - decompress-targz "^4.0.0" - decompress-unzip "^4.0.1" - graceful-fs "^4.1.10" - make-dir "^1.0.0" - pify "^2.3.0" - strip-dirs "^2.0.0" - - dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== - - deep-eql@^4.1.2: - version "4.1.3" - resolved "https://registry.yarnpkg.com/deep-eql/-/deep-eql-4.1.3.tgz#7c7775513092f7df98d8df9996dd085eb668cc6d" - integrity sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw== - dependencies: - type-detect "^4.0.0" - - deep-is@^0.1.3, deep-is@~0.1.3: - version "0.1.4" - resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" - integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== - - deepmerge@^4.2.2: - version "4.3.1" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" - integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== - - defer-to-connect@^1.0.1: - version "1.1.3" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591" - integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ== - - defer-to-connect@^2.0.0, defer-to-connect@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/defer-to-connect/-/defer-to-connect-2.0.1.tgz#8016bdb4143e4632b77a3449c6236277de520587" - integrity sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg== - - deferred-leveldown@~5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/deferred-leveldown/-/deferred-leveldown-5.3.0.tgz#27a997ad95408b61161aa69bd489b86c71b78058" - integrity sha512-a59VOT+oDy7vtAbLRCZwWgxu2BaCfd5Hk7wxJd48ei7I+nsg8Orlb9CLG0PMZienk9BSUKgeAqkO2+Lw+1+Ukw== - dependencies: - abstract-leveldown "~6.2.1" - inherits "^2.0.3" - - define-properties@^1.1.3, define-properties@^1.1.4: - version "1.2.0" - resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.2.0.tgz#52988570670c9eacedd8064f4a990f2405849bd5" - integrity sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA== - dependencies: - has-property-descriptors "^1.0.0" - object-keys "^1.1.1" - - define-property@^0.2.5: - version "0.2.5" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116" - integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA== - dependencies: - is-descriptor "^0.1.0" - - define-property@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6" - integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA== - dependencies: - is-descriptor "^1.0.0" - - define-property@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d" - integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ== - dependencies: - is-descriptor "^1.0.2" - isobject "^3.0.1" - - delay@^4.4.0: - version "4.4.1" - resolved "https://registry.yarnpkg.com/delay/-/delay-4.4.1.tgz#6e02d02946a1b6ab98b39262ced965acba2ac4d1" - integrity sha512-aL3AhqtfhOlT/3ai6sWXeqwnw63ATNpnUiN4HL7x9q+My5QtHlO3OIkasmug9LKzpheLdmUKGRKnYXYAS7FQkQ== - - delay@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/delay/-/delay-5.0.0.tgz#137045ef1b96e5071060dd5be60bf9334436bd1d" - integrity sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw== - - delayed-stream@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619" - integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ== - - depd@2.0.0, depd@^2.0.0, depd@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df" - integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw== - - depd@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9" - integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ== - - des.js@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.1.tgz#5382142e1bdc53f85d86d53e5f4aa7deb91e0843" - integrity sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA== - dependencies: - inherits "^2.0.1" - minimalistic-assert "^1.0.0" - - destroy@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" - integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== - - detect-browser@5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.2.0.tgz#c9cd5afa96a6a19fda0bbe9e9be48a6b6e1e9c97" - integrity sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA== - - detect-browser@5.3.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/detect-browser/-/detect-browser-5.3.0.tgz#9705ef2bddf46072d0f7265a1fe300e36fe7ceca" - integrity sha512-53rsFbGdwMwlF7qvCt0ypLM5V5/Mbl0szB7GPN8y9NCcbknYOeVVXdrXEq+90IwAfrrzt6Hd+u2E2ntakICU8w== - - detect-newline@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" - integrity sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA== - - dezalgo@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/dezalgo/-/dezalgo-1.0.4.tgz#751235260469084c132157dfa857f386d4c33d81" - integrity sha512-rXSP0bf+5n0Qonsb+SVVfNfIsimO4HEtmnIpPHY8Q1UCzKlQrDMfdobr8nJOOsRgWCyMRqeSBQzmWUMq7zvVig== - dependencies: - asap "^2.0.0" - wrappy "1" - - diff-sequences@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" - integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== - - diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== - - diff@3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12" - integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA== - - diff@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/diff/-/diff-5.0.0.tgz#7ed6ad76d859d030787ec35855f5b1daf31d852b" - integrity sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w== - - diff@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/diff/-/diff-4.0.2.tgz#60f3aecb89d5fae520c11aa19efc2bb982aade7d" - integrity sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A== - - diffie-hellman@^5.0.0: - version "5.0.3" - resolved "https://registry.yarnpkg.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875" - integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg== - dependencies: - bn.js "^4.1.0" - miller-rabin "^4.0.0" - randombytes "^2.0.0" - - diffparser@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/diffparser/-/diffparser-2.0.1.tgz#4228d5688ab2f05832c320231deda048fcfce8e7" - integrity sha512-XBuCzzdLUBJzXTvbonNPv7+AhNkiUyhyiZBSrhKxKYcIXfAcPOVaINviC2vB+bfBa5EopW60CzkBjuwb3jdmiw== - - dijkstrajs@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/dijkstrajs/-/dijkstrajs-1.0.2.tgz#2e48c0d3b825462afe75ab4ad5e829c8ece36257" - integrity sha512-QV6PMaHTCNmKSeP6QoXhVTw9snc9VD8MulTT0Bd99Pacp4SS1cjcrYPgBPmibqKVtMJJfqC6XvOXgPMEEPH/fg== - - dir-glob@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" - integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA== - dependencies: - path-type "^4.0.0" - - doctrine@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d" - integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw== - dependencies: - esutils "^2.0.2" - - doctrine@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961" - integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w== - dependencies: - esutils "^2.0.2" - - dom-walk@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" - integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== - - domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - - dot-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee" - integrity sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug== - dependencies: - no-case "^2.2.0" - - dot-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-3.0.4.tgz#9b2b670d00a431667a8a75ba29cd1b98809ce751" - integrity sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - - dot-prop@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-6.0.1.tgz#fc26b3cf142b9e59b74dbd39ed66ce620c681083" - integrity sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA== - dependencies: - is-obj "^2.0.0" - - dotenv@^14.2.0: - version "14.3.2" - resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-14.3.2.tgz#7c30b3a5f777c79a3429cb2db358eef6751e8369" - integrity sha512-vwEppIphpFdvaMCaHfCEv9IgwcxMljMw2TnAQBB4VWPvzXQLTb82jwmdOKzlEVUL3gNFT4l4TPKO+Bn+sqcrVQ== - - double-ended-queue@2.1.0-0: - version "2.1.0-0" - resolved "https://registry.yarnpkg.com/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz#103d3527fd31528f40188130c841efdd78264e5c" - integrity sha512-+BNfZ+deCo8hMNpDqDnvT+c0XpJ5cUa6mqYq89bho2Ifze4URTqRkcwR399hWoTrTkbZ/XJYDgP6rc7pRgffEQ== - - drbg.js@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/drbg.js/-/drbg.js-1.0.1.tgz#3e36b6c42b37043823cdbc332d58f31e2445480b" - integrity sha512-F4wZ06PvqxYLFEZKkFxTDcns9oFNk34hvmJSEwdzsxVQ8YI5YaxtACgQatkYgv2VI2CFkUd2Y+xosPQnHv809g== - dependencies: - browserify-aes "^1.0.6" - create-hash "^1.1.2" - create-hmac "^1.1.4" - - dtrace-provider@~0.8: - version "0.8.8" - resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz#2996d5490c37e1347be263b423ed7b297fb0d97e" - integrity sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg== - dependencies: - nan "^2.14.0" - - duplexer3@^0.1.4: - version "0.1.5" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e" - integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA== - - duplexify@^4.1.2: - version "4.1.2" - resolved "https://registry.yarnpkg.com/duplexify/-/duplexify-4.1.2.tgz#18b4f8d28289132fa0b9573c898d9f903f81c7b0" - integrity sha512-fz3OjcNCHmRP12MJoZMPglx8m4rrFP8rovnk4vT8Fs+aonZoCwGg10dSsQsfP/E62eZcPTMSMP6686fu9Qlqtw== - dependencies: - end-of-stream "^1.4.1" - inherits "^2.0.3" - readable-stream "^3.1.1" - stream-shift "^1.0.0" - - ecc-jsbn@~0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" - integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw== - dependencies: - jsbn "~0.1.0" - safer-buffer "^2.1.0" - - eccrypto@1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/eccrypto/-/eccrypto-1.1.6.tgz#846bd1222323036f7a3515613704386399702bd3" - integrity sha512-d78ivVEzu7Tn0ZphUUaL43+jVPKTMPFGtmgtz1D0LrFn7cY3K8CdrvibuLz2AAkHBLKZtR8DMbB2ukRYFk987A== - dependencies: - acorn "7.1.1" - elliptic "6.5.4" - es6-promise "4.2.8" - nan "2.14.0" - optionalDependencies: - secp256k1 "3.7.1" - - ee-first@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" - integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== - - eip-712@^0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/eip-712/-/eip-712-0.4.3.tgz#71da445c3118960933910d168e75f0b1f8f39879" - integrity sha512-RzHERjClqKWennbIFFfoxSTI/BB241R+Dm1FO6KP+NEcFODzApxZHaIXut4fgB4x+5SmQjdW577PfozFoHQ1FA== - dependencies: - "@findeth/abi" "^0.3.0" - keccak "^3.0.1" - superstruct "^0.10.12" - - eip1193-provider@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/eip1193-provider/-/eip1193-provider-1.0.1.tgz#420d29cf4f6c443e3f32e718fb16fafb250637c3" - integrity sha512-kSuqwQ26d7CzuS/t3yRXo2Su2cVH0QfvyKbr2H7Be7O5YDyIq4hQGCNTo5wRdP07bt+E2R/8nPCzey4ojBHf7g== - dependencies: - "@json-rpc-tools/provider" "^1.5.5" - - electron-to-chromium@^1.4.284: - version "1.4.333" - resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.333.tgz#ebb21f860f8a29923717b06ec0cb54e77ed34c04" - integrity sha512-YyE8+GKyGtPEP1/kpvqsdhD6rA/TP1DUFDN4uiU/YI52NzDxmwHkEb3qjId8hLBa5siJvG0sfC3O66501jMruQ== - - elliptic@6.3.3: - version "6.3.3" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" - integrity sha512-cIky9SO2H8W2eU1NOLySnhOYJnuEWCq9ZJeHvHd/lXzEL9vyraIMfilZSn57X3aVX+wkfYmqkch2LvmTzkjFpA== - dependencies: - bn.js "^4.4.0" - brorand "^1.0.1" - hash.js "^1.0.0" - inherits "^2.0.1" - - elliptic@6.5.4, elliptic@^6.4.0, elliptic@^6.4.1, elliptic@^6.5.2, elliptic@^6.5.3, elliptic@^6.5.4: - version "6.5.4" - resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" - integrity sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ== - dependencies: - bn.js "^4.11.9" - brorand "^1.1.0" - hash.js "^1.0.0" - hmac-drbg "^1.0.1" - inherits "^2.0.4" - minimalistic-assert "^1.0.1" - minimalistic-crypto-utils "^1.0.1" - - emittery@0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.0.tgz#bb373c660a9d421bb44706ec4967ed50c02a8026" - integrity sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ== - - emittery@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.4.1.tgz#abe9d3297389ba424ac87e53d1c701962ce7433d" - integrity sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ== - - emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== - - emoji-regex@^7.0.1: - version "7.0.3" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156" - integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA== - - emoji-regex@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" - integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== - - enabled@2.0.x: - version "2.0.0" - resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2" - integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ== - - encodeurl@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" - integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== - - encoding-down@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/encoding-down/-/encoding-down-6.3.0.tgz#b1c4eb0e1728c146ecaef8e32963c549e76d082b" - integrity sha512-QKrV0iKR6MZVJV08QY0wp1e7vF6QbhnbQhb07bwpEyuz4uZiZgPlEGdkCROuFkUwdxlFaiPIhjyarH1ee/3vhw== - dependencies: - abstract-leveldown "^6.2.1" - inherits "^2.0.3" - level-codec "^9.0.0" - level-errors "^2.0.0" - - end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1, end-of-stream@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" - integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== - dependencies: - once "^1.4.0" - - end-stream@~0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/end-stream/-/end-stream-0.1.0.tgz#32003f3f438a2b0143168137f8fa6e9866c81ed5" - integrity sha512-Brl10T8kYnc75IepKizW6Y9liyW8ikz1B7n/xoHrJxoVSSjoqPn30sb7XVFfQERK4QfUMYRGs9dhWwtt2eu6uA== - dependencies: - write-stream "~0.4.3" - - engine.io-client@~6.4.0: - version "6.4.0" - resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.4.0.tgz#88cd3082609ca86d7d3c12f0e746d12db4f47c91" - integrity sha512-GyKPDyoEha+XZ7iEqam49vz6auPnNJ9ZBfy89f+rMMas8AuiMWOZ9PVzu8xb9ZC6rafUqiGHSCfu22ih66E+1g== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - engine.io-parser "~5.0.3" - ws "~8.11.0" - xmlhttprequest-ssl "~2.0.0" - - engine.io-parser@~5.0.3: - version "5.0.6" - resolved "https://registry.yarnpkg.com/engine.io-parser/-/engine.io-parser-5.0.6.tgz#7811244af173e157295dec9b2718dfe42a64ef45" - integrity sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw== - - enquirer@^2.3.0, enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - - env-paths@^2.2.0, env-paths@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2" - integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A== - - err-code@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/err-code/-/err-code-2.0.3.tgz#23c2f3b756ffdfc608d30e27c9a941024807e7f9" - integrity sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA== - - errno@~0.1.1: - version "0.1.8" - resolved "https://registry.yarnpkg.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f" - integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A== - dependencies: - prr "~1.0.1" - - error-ex@^1.3.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf" - integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g== - dependencies: - is-arrayish "^0.2.1" - - error-polyfill@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/error-polyfill/-/error-polyfill-0.1.3.tgz#df848b61ad8834f7a5db69a70b9913df86721d15" - integrity sha512-XHJk60ufE+TG/ydwp4lilOog549iiQF2OAPhkk9DdiYWMrltz5yhDz/xnKuenNwP7gy3dsibssO5QpVhkrSzzg== - dependencies: - capability "^0.2.5" - o3 "^1.0.3" - u3 "^0.1.1" - - es-abstract@^1.19.0, es-abstract@^1.20.4: - version "1.21.2" - resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.21.2.tgz#a56b9695322c8a185dc25975aa3b8ec31d0e7eff" - integrity sha512-y/B5POM2iBnIxCiernH1G7rC9qQoM77lLIMQLuob0zhp8C56Po81+2Nj0WFKnd0pNReDTnkYryc+zhOzpEIROg== - dependencies: - array-buffer-byte-length "^1.0.0" - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - es-set-tostringtag "^2.0.1" - es-to-primitive "^1.2.1" - function.prototype.name "^1.1.5" - get-intrinsic "^1.2.0" - get-symbol-description "^1.0.0" - globalthis "^1.0.3" - gopd "^1.0.1" - has "^1.0.3" - has-property-descriptors "^1.0.0" - has-proto "^1.0.1" - has-symbols "^1.0.3" - internal-slot "^1.0.5" - is-array-buffer "^3.0.2" - is-callable "^1.2.7" - is-negative-zero "^2.0.2" - is-regex "^1.1.4" - is-shared-array-buffer "^1.0.2" - is-string "^1.0.7" - is-typed-array "^1.1.10" - is-weakref "^1.0.2" - object-inspect "^1.12.3" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - safe-regex-test "^1.0.0" - string.prototype.trim "^1.2.7" - string.prototype.trimend "^1.0.6" - string.prototype.trimstart "^1.0.6" - typed-array-length "^1.0.4" - unbox-primitive "^1.0.2" - which-typed-array "^1.1.9" - - es-set-tostringtag@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.1.tgz#338d502f6f674301d710b80c8592de8a15f09cd8" - integrity sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg== - dependencies: - get-intrinsic "^1.1.3" - has "^1.0.3" - has-tostringtag "^1.0.0" - - es-shim-unscopables@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/es-shim-unscopables/-/es-shim-unscopables-1.0.0.tgz#702e632193201e3edf8713635d083d378e510241" - integrity sha512-Jm6GPcCdC30eMLbZ2x8z2WuRwAws3zTBBKuusffYVUrNj/GVSUAZ+xKMaUpfNDR5IbyNA5LJbaecoUVbmUcB1w== - dependencies: - has "^1.0.3" - - es-to-primitive@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a" - integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA== - dependencies: - is-callable "^1.1.4" - is-date-object "^1.0.1" - is-symbol "^1.0.2" - - es5-ext@^0.10.35, es5-ext@^0.10.46, es5-ext@^0.10.50, es5-ext@^0.10.53, es5-ext@~0.10.14, es5-ext@~0.10.2, es5-ext@~0.10.46: - version "0.10.62" - resolved "https://registry.yarnpkg.com/es5-ext/-/es5-ext-0.10.62.tgz#5e6adc19a6da524bf3d1e02bbc8960e5eb49a9a5" - integrity sha512-BHLqn0klhEpnOKSrzn/Xsz2UIW8j+cGmo9JLzr8BiUapV8hPL9+FliFqjwr9ngW7jWdnxv6eO+/LqyhJVqgrjA== - dependencies: - es6-iterator "^2.0.3" - es6-symbol "^3.1.3" - next-tick "^1.1.0" - - es6-iterator@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-iterator/-/es6-iterator-2.0.3.tgz#a7de889141a05a94b0854403b2d0a0fbfa98f3b7" - integrity sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g== - dependencies: - d "1" - es5-ext "^0.10.35" - es6-symbol "^3.1.1" - - es6-object-assign@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/es6-object-assign/-/es6-object-assign-1.1.0.tgz#c2c3582656247c39ea107cb1e6652b6f9f24523c" - integrity sha512-MEl9uirslVwqQU369iHNWZXsI8yaZYGg/D65aOgZkeyFJwHYSxilf7rQzXKI7DdDuBPrBXbfk3sl9hJhmd5AUw== - - es6-promise@4.2.8, es6-promise@^4.0.3, es6-promise@^4.2.8: - version "4.2.8" - resolved "https://registry.yarnpkg.com/es6-promise/-/es6-promise-4.2.8.tgz#4eb21594c972bc40553d276e510539143db53e0a" - integrity sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w== - - es6-promisify@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/es6-promisify/-/es6-promisify-5.0.0.tgz#5109d62f3e56ea967c4b63505aef08291c8a5203" - integrity sha512-C+d6UdsYDk0lMebHNR4S2NybQMMngAOnOwYBQjTOiv0MkoJMP0Myw2mgpDLBcpfCmRLxyFqYhS/CfOENq4SJhQ== - dependencies: - es6-promise "^4.0.3" - - es6-symbol@^3.1.1, es6-symbol@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/es6-symbol/-/es6-symbol-3.1.3.tgz#bad5d3c1bcdac28269f4cb331e431c78ac705d18" - integrity sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA== - dependencies: - d "^1.0.1" - ext "^1.1.2" - - es6-weak-map@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/es6-weak-map/-/es6-weak-map-2.0.3.tgz#b6da1f16cc2cc0d9be43e6bdbfc5e7dfcdf31d53" - integrity sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA== - dependencies: - d "1" - es5-ext "^0.10.46" - es6-iterator "^2.0.3" - es6-symbol "^3.1.1" - - escalade@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40" - integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw== - - escape-html@~1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988" - integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow== - - escape-latex@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/escape-latex/-/escape-latex-1.2.0.tgz#07c03818cf7dac250cce517f4fda1b001ef2bca1" - integrity sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw== - - escape-string-regexp@1.0.5, escape-string-regexp@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4" - integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== - - escape-string-regexp@4.0.0, escape-string-regexp@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34" - integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA== - - escape-string-regexp@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" - integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== - - escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - - eslint-config-prettier@^8.3.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.7.0.tgz#f1cc58a8afebc50980bd53475451df146c13182d" - integrity sha512-HHVXLSlVUhMSmyW4ZzEuvjpwqamgmlfkutD53cYXLikh4pt/modINRcCIApJ84czDxM4GZInwUrromsDdTImTA== - - eslint-config-standard@^16.0.3: - version "16.0.3" - resolved "https://registry.yarnpkg.com/eslint-config-standard/-/eslint-config-standard-16.0.3.tgz#6c8761e544e96c531ff92642eeb87842b8488516" - integrity sha512-x4fmJL5hGqNJKGHSjnLdgA6U6h1YW/G2dW9fA+cyVur4SK6lyue8+UgNKWlZtUDTXvgKDD/Oa3GQjmB5kjtVvg== - - eslint-import-resolver-node@^0.3.7: - version "0.3.7" - resolved "https://registry.yarnpkg.com/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.7.tgz#83b375187d412324a1963d84fa664377a23eb4d7" - integrity sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA== - dependencies: - debug "^3.2.7" - is-core-module "^2.11.0" - resolve "^1.22.1" - - eslint-module-utils@^2.7.4: - version "2.7.4" - resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.4.tgz#4f3e41116aaf13a20792261e61d3a2e7e0583974" - integrity sha512-j4GT+rqzCoRKHwURX7pddtIPGySnX9Si/cgMI5ztrcqOPtk5dDEeZ34CQVPphnqkJytlc97Vuk05Um2mJ3gEQA== - dependencies: - debug "^3.2.7" - - eslint-plugin-es@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" - integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== - dependencies: - eslint-utils "^2.0.0" - regexpp "^3.0.0" - - eslint-plugin-import@^2.23.4: - version "2.27.5" - resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.27.5.tgz#876a6d03f52608a3e5bb439c2550588e51dd6c65" - integrity sha512-LmEt3GVofgiGuiE+ORpnvP+kAm3h6MLZJ4Q5HCyHADofsb4VzXFsRiWj3c0OFiV+3DWFh0qg3v9gcPlfc3zRow== - dependencies: - array-includes "^3.1.6" - array.prototype.flat "^1.3.1" - array.prototype.flatmap "^1.3.1" - debug "^3.2.7" - doctrine "^2.1.0" - eslint-import-resolver-node "^0.3.7" - eslint-module-utils "^2.7.4" - has "^1.0.3" - is-core-module "^2.11.0" - is-glob "^4.0.3" - minimatch "^3.1.2" - object.values "^1.1.6" - resolve "^1.22.1" - semver "^6.3.0" - tsconfig-paths "^3.14.1" - - eslint-plugin-node@^11.1.0: - version "11.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" - integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== - dependencies: - eslint-plugin-es "^3.0.0" - eslint-utils "^2.0.0" - ignore "^5.1.1" - minimatch "^3.0.4" - resolve "^1.10.1" - semver "^6.1.0" - - eslint-plugin-prettier@^3.4.0: - version "3.4.1" - resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.4.1.tgz#e9ddb200efb6f3d05ffe83b1665a716af4a387e5" - integrity sha512-htg25EUYUeIhKHXjOinK4BgCcDwtLHjqaxCDsMy5nbnUMkKFvIhMVCp+5GFUXQ4Nr8lBsPqtGAqBenbpFqAA2g== - dependencies: - prettier-linter-helpers "^1.0.0" - - eslint-plugin-promise@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-promise/-/eslint-plugin-promise-5.2.0.tgz#a596acc32981627eb36d9d75f9666ac1a4564971" - integrity sha512-SftLb1pUG01QYq2A/hGAWfDRXqYD82zE7j7TopDOyNdU+7SvvoXREls/+PRTY17vUXzXnZA/zfnyKgRH6x4JJw== - - eslint-plugin-standard@^4.0.1: - version "4.1.0" - resolved "https://registry.yarnpkg.com/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz#0c3bf3a67e853f8bbbc580fb4945fbf16f41b7c5" - integrity sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ== - - eslint-scope@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" - integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw== - dependencies: - esrecurse "^4.3.0" - estraverse "^4.1.1" - - eslint-utils@^2.0.0, eslint-utils@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" - integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== - dependencies: - eslint-visitor-keys "^1.1.0" - - eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - - eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" - integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== - - eslint-visitor-keys@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" - integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== - - eslint@^7.25.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== - dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" - ajv "^6.10.0" - chalk "^4.0.0" - cross-spawn "^7.0.2" - debug "^4.0.1" - doctrine "^3.0.0" - enquirer "^2.3.5" - escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" - esquery "^1.4.0" - esutils "^2.0.2" - fast-deep-equal "^3.1.3" - file-entry-cache "^6.0.1" - functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" - globals "^13.6.0" - ignore "^4.0.6" - import-fresh "^3.0.0" - imurmurhash "^0.1.4" - is-glob "^4.0.0" - js-yaml "^3.13.1" - json-stable-stringify-without-jsonify "^1.0.1" - levn "^0.4.1" - lodash.merge "^4.6.2" - minimatch "^3.0.4" - natural-compare "^1.4.0" - optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" - strip-json-comments "^3.1.0" - table "^6.0.9" - text-table "^0.2.0" - v8-compile-cache "^2.0.3" - - espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== - dependencies: - acorn "^7.4.0" - acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" - - esprima@^4.0.0, esprima@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" - integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== - - esquery@^1.4.0: - version "1.5.0" - resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" - integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== - dependencies: - estraverse "^5.1.0" - - esrecurse@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921" - integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag== - dependencies: - estraverse "^5.2.0" - - estraverse@^4.1.1: - version "4.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" - integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== - - estraverse@^5.1.0, estraverse@^5.2.0: - version "5.3.0" - resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" - integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== - - esutils@^2.0.2: - version "2.0.3" - resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" - integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g== - - etag@~1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" - integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== - - eth-crypto@^2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/eth-crypto/-/eth-crypto-2.6.0.tgz#b777f367ae8c70e5917b3b7d52adab6b34841e29" - integrity sha512-GCX4ffFYRUGgnuWR5qxcZIRQJ1KEqPFiyXU9yVy7s6dtXIMlUXZQ2h+5ID6rFaOHWbpJbjfkC6YdhwtwRYCnug== - dependencies: - "@babel/runtime" "7.20.13" - "@ethereumjs/tx" "3.5.2" - "@types/bn.js" "5.1.1" - eccrypto "1.1.6" - ethereumjs-util "7.1.5" - ethers "5.7.2" - secp256k1 "5.0.0" - - eth-ens-namehash@2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/eth-ens-namehash/-/eth-ens-namehash-2.0.8.tgz#229ac46eca86d52e0c991e7cb2aef83ff0f68bcf" - integrity sha512-VWEI1+KJfz4Km//dadyvBBoBeSQ0MHTXPvr8UIXiLW6IanxvAV+DmlZAijZwAyggqGUfwQBeHf7tc9wzc1piSw== - dependencies: - idna-uts46-hx "^2.3.1" - js-sha3 "^0.5.7" - - eth-lib@0.2.7: - version "0.2.7" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.7.tgz#2f93f17b1e23aec3759cd4a3fe20c1286a3fc1ca" - integrity sha512-VqEBQKH92jNsaE8lG9CTq8M/bc12gdAfb5MY8Ro1hVyXkh7rOtY3m5tRHK3Hus5HqIAAwU2ivcUjTLVwsvf/kw== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - - eth-lib@0.2.8: - version "0.2.8" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.2.8.tgz#b194058bef4b220ad12ea497431d6cb6aa0623c8" - integrity sha512-ArJ7x1WcWOlSpzdoTBX8vkwlkSQ85CjjifSZtV4co64vWxSV8geWfPI9x4SVYu3DSxnX4yWFVTtGL+j9DUFLNw== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - xhr-request-promise "^0.1.2" - - eth-lib@^0.1.26: - version "0.1.29" - resolved "https://registry.yarnpkg.com/eth-lib/-/eth-lib-0.1.29.tgz#0c11f5060d42da9f931eab6199084734f4dbd1d9" - integrity sha512-bfttrr3/7gG4E02HoWTDUcDDslN003OlOoBxk9virpAZQ1ja/jDgwkWB8QfJF7ojuEowrqy+lzp9VcJG7/k5bQ== - dependencies: - bn.js "^4.11.6" - elliptic "^6.4.0" - nano-json-stream-parser "^0.1.2" - servify "^0.1.12" - ws "^3.0.0" - xhr-request-promise "^0.1.2" - - eth-rpc-errors@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/eth-rpc-errors/-/eth-rpc-errors-4.0.3.tgz#6ddb6190a4bf360afda82790bb7d9d5e724f423a" - integrity sha512-Z3ymjopaoft7JDoxZcEb3pwdGh7yiYMhOwm2doUt6ASXlMavpNlK6Cre0+IMl2VSGyEU9rkiperQhp5iRxn5Pg== - dependencies: - fast-safe-stringify "^2.0.6" - - eth-sig-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/eth-sig-util/-/eth-sig-util-3.0.1.tgz#8753297c83a3f58346bd13547b59c4b2cd110c96" - integrity sha512-0Us50HiGGvZgjtWTyAI/+qTzYPMLy5Q451D0Xy68bxq1QMWdoOddDwGvsqcFT27uohKgalM9z/yxplyt+mY2iQ== - dependencies: - ethereumjs-abi "^0.6.8" - ethereumjs-util "^5.1.1" - tweetnacl "^1.0.3" - tweetnacl-util "^0.15.0" - - ethcall@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/ethcall/-/ethcall-6.0.1.tgz#37ad15f76caf3b29c4e592f9621b80554dc77262" - integrity sha512-w9ITRLIO6Vkc4UhTKz3bX8ZazOV7mmII9SCNfGxLeJpcDrA8e7jmB5NAvbMp79UTt5g/MsFI1SnkoVOMaqKJ8A== - dependencies: - "@types/node" "^20.2.5" - abi-coder "^5.0.0" - - ethereum-bloom-filters@^1.0.6: - version "1.0.10" - resolved "https://registry.yarnpkg.com/ethereum-bloom-filters/-/ethereum-bloom-filters-1.0.10.tgz#3ca07f4aed698e75bd134584850260246a5fed8a" - integrity sha512-rxJ5OFN3RwjQxDcFP2Z5+Q9ho4eIdEmSc2ht0fCu8Se9nbXjZ7/031uXoUYJ87KHCOdVeiUuwSnoS7hmYAGVHA== - dependencies: - js-sha3 "^0.8.0" - - ethereum-cryptography@0.1.3, ethereum-cryptography@^0.1.3: - version "0.1.3" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-0.1.3.tgz#8d6143cfc3d74bf79bbd8edecdf29e4ae20dd191" - integrity sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ== - dependencies: - "@types/pbkdf2" "^3.0.0" - "@types/secp256k1" "^4.0.1" - blakejs "^1.1.0" - browserify-aes "^1.2.0" - bs58check "^2.1.2" - create-hash "^1.2.0" - create-hmac "^1.1.7" - hash.js "^1.1.7" - keccak "^3.0.0" - pbkdf2 "^3.0.17" - randombytes "^2.1.0" - safe-buffer "^5.1.2" - scrypt-js "^3.0.0" - secp256k1 "^4.0.1" - setimmediate "^1.0.5" - - ethereum-cryptography@^1.0.3, ethereum-cryptography@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-1.2.0.tgz#5ccfa183e85fdaf9f9b299a79430c044268c9b3a" - integrity sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw== - dependencies: - "@noble/hashes" "1.2.0" - "@noble/secp256k1" "1.7.1" - "@scure/bip32" "1.1.5" - "@scure/bip39" "1.1.1" - - ethereum-cryptography@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ethereum-cryptography/-/ethereum-cryptography-2.0.0.tgz#e052b49fa81affae29402e977b8d3a31f88612b6" - integrity sha512-g25m4EtfQGjstWgVE1aIz7XYYjf3kH5kG17ULWVB5dH6uLahsoltOhACzSxyDV+fhn4gbR4xRrOXGe6r2uh4Bg== - dependencies: - "@noble/curves" "1.0.0" - "@noble/hashes" "1.3.0" - "@scure/bip32" "1.3.0" - "@scure/bip39" "1.2.0" - - ethereumjs-abi@^0.6.8: - version "0.6.8" - resolved "https://registry.yarnpkg.com/ethereumjs-abi/-/ethereumjs-abi-0.6.8.tgz#71bc152db099f70e62f108b7cdfca1b362c6fcae" - integrity sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA== - dependencies: - bn.js "^4.11.8" - ethereumjs-util "^6.0.0" - - ethereumjs-util@7.1.5, ethereumjs-util@^7.1.0, ethereumjs-util@^7.1.1, ethereumjs-util@^7.1.2, ethereumjs-util@^7.1.4, ethereumjs-util@^7.1.5: - version "7.1.5" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-7.1.5.tgz#9ecf04861e4fbbeed7465ece5f23317ad1129181" - integrity sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg== - dependencies: - "@types/bn.js" "^5.1.0" - bn.js "^5.1.2" - create-hash "^1.1.2" - ethereum-cryptography "^0.1.3" - rlp "^2.2.4" - - ethereumjs-util@^5.1.1: - version "5.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-5.2.1.tgz#a833f0e5fca7e5b361384dc76301a721f537bf65" - integrity sha512-v3kT+7zdyCm1HIqWlLNrHGqHGLpGYIhjeHxQjnDXjLT2FyGJDsd3LWMYUo7pAFRrk86CR3nUJfhC81CCoJNNGQ== - dependencies: - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "^0.1.3" - rlp "^2.0.0" - safe-buffer "^5.1.1" - - ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/ethereumjs-util/-/ethereumjs-util-6.2.1.tgz#fcb4e4dd5ceacb9d2305426ab1a5cd93e3163b69" - integrity sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw== - dependencies: - "@types/bn.js" "^4.11.3" - bn.js "^4.11.0" - create-hash "^1.1.2" - elliptic "^6.5.2" - ethereum-cryptography "^0.1.3" - ethjs-util "0.1.6" - rlp "^2.2.3" - - "ethers-xdc@file:./vendor/ethers-xdc": - version "5.7.2" - dependencies: - "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-2afdb225-3aae-41d5-8034-5d0ad2019761-1691982276864/node_modules/@ethersproject-xdc/wordlists" - - ethers@4.0.0-beta.3: - version "4.0.0-beta.3" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.0-beta.3.tgz#15bef14e57e94ecbeb7f9b39dd0a4bd435bc9066" - integrity sha512-YYPogooSknTwvHg3+Mv71gM/3Wcrx+ZpCzarBj3mqs9njjRkrOo2/eufzhHloOCo3JSoNI4TQJJ6yU5ABm3Uog== - dependencies: - "@types/node" "^10.3.2" - aes-js "3.0.0" - bn.js "^4.4.0" - elliptic "6.3.3" - hash.js "1.1.3" - js-sha3 "0.5.7" - scrypt-js "2.0.3" - setimmediate "1.0.4" - uuid "2.0.1" - xmlhttprequest "1.8.0" - - ethers@5.7.2, ethers@^5.0.19, ethers@^5.6.1, ethers@^5.6.2, ethers@^5.7.0, ethers@^5.7.2: - version "5.7.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" - integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== - dependencies: - "@ethersproject/abi" "5.7.0" - "@ethersproject/abstract-provider" "5.7.0" - "@ethersproject/abstract-signer" "5.7.0" - "@ethersproject/address" "5.7.0" - "@ethersproject/base64" "5.7.0" - "@ethersproject/basex" "5.7.0" - "@ethersproject/bignumber" "5.7.0" - "@ethersproject/bytes" "5.7.0" - "@ethersproject/constants" "5.7.0" - "@ethersproject/contracts" "5.7.0" - "@ethersproject/hash" "5.7.0" - "@ethersproject/hdnode" "5.7.0" - "@ethersproject/json-wallets" "5.7.0" - "@ethersproject/keccak256" "5.7.0" - "@ethersproject/logger" "5.7.0" - "@ethersproject/networks" "5.7.1" - "@ethersproject/pbkdf2" "5.7.0" - "@ethersproject/properties" "5.7.0" - "@ethersproject/providers" "5.7.2" - "@ethersproject/random" "5.7.0" - "@ethersproject/rlp" "5.7.0" - "@ethersproject/sha2" "5.7.0" - "@ethersproject/signing-key" "5.7.0" - "@ethersproject/solidity" "5.7.0" - "@ethersproject/strings" "5.7.0" - "@ethersproject/transactions" "5.7.0" - "@ethersproject/units" "5.7.0" - "@ethersproject/wallet" "5.7.0" - "@ethersproject/web" "5.7.1" - "@ethersproject/wordlists" "5.7.0" - - ethers@^4.0.32: - version "4.0.49" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-4.0.49.tgz#0eb0e9161a0c8b4761be547396bbe2fb121a8894" - integrity sha512-kPltTvWiyu+OktYy1IStSO16i2e7cS9D9OxZ81q2UUaiNPVrm/RTcbxamCXF9VUSKzJIdJV68EAIhTEVBalRWg== - dependencies: - aes-js "3.0.0" - bn.js "^4.11.9" - elliptic "6.5.4" - hash.js "1.1.3" - js-sha3 "0.5.7" - scrypt-js "2.0.4" - setimmediate "1.0.4" - uuid "2.0.1" - xmlhttprequest "1.8.0" - - ethers@^6.3.0: - version "6.7.0" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.7.0.tgz#0f772c31a9450de28aa518b181c8cb269bbe7fd1" - integrity sha512-pxt5hK82RNwcTX2gOZP81t6qVPVspnkpeivwEgQuK9XUvbNtghBnT8GNIb/gPh+WnVSfi8cXC9XlfT8sqc6D6w== - dependencies: - "@adraffy/ens-normalize" "1.9.2" - "@noble/hashes" "1.1.2" - "@noble/secp256k1" "1.7.1" - "@types/node" "18.15.13" - aes-js "4.0.0-beta.5" - tslib "2.4.0" - ws "8.5.0" - - ethjs-unit@0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-unit/-/ethjs-unit-0.1.6.tgz#c665921e476e87bce2a9d588a6fe0405b2c41699" - integrity sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw== - dependencies: - bn.js "4.11.6" - number-to-bn "1.7.0" - - ethjs-util@0.1.6, ethjs-util@^0.1.3, ethjs-util@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/ethjs-util/-/ethjs-util-0.1.6.tgz#f308b62f185f9fe6237132fb2a9818866a5cd536" - integrity sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w== - dependencies: - is-hex-prefixed "1.0.0" - strip-hex-prefix "1.0.0" - - event-emitter@^0.3.5: - version "0.3.5" - resolved "https://registry.yarnpkg.com/event-emitter/-/event-emitter-0.3.5.tgz#df8c69eef1647923c7157b9ce83840610b02cc39" - integrity sha512-D9rRn9y7kLPnJ+hMq7S/nhvoKwwvVJahBi2BPmx3bvbsEdK3W9ii8cBSGjP+72/LnM4n6fo3+dkCX5FeTQruXA== - dependencies: - d "1" - es5-ext "~0.10.14" - - event-target-shim@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/event-target-shim/-/event-target-shim-5.0.1.tgz#5d4d3ebdf9583d63a5333ce2deb7480ab2b05789" - integrity sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ== - - eventemitter3@3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-3.1.2.tgz#2d3d48f9c346698fce83a85d7d664e98535df6e7" - integrity sha512-tvtQIeLVHjDkJYnzf2dgVMxfuSGJeM/7UCG17TT4EumTfNtF+0nebF/4zWOIkCreAbtNqhGEboB6BWrwqNaw4Q== - - eventemitter3@4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.4.tgz#b5463ace635a083d018bdc7c917b4c5f10a85384" - integrity sha512-rlaVLnVxtxvoyLsQQFBx53YmXHDxRIzzTLbdfxqi4yocpSjAxXwkU0cScM5JgSKMqEhrZpnvQ2D9gjylR0AimQ== - - eventemitter3@^4.0.4, eventemitter3@^4.0.7: - version "4.0.7" - resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" - integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== - - events@^3.3.0: - version "3.3.0" - resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" - integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q== - - evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02" - integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA== - dependencies: - md5.js "^1.3.4" - safe-buffer "^5.1.1" - - execa@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8" - integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA== - dependencies: - cross-spawn "^6.0.0" - get-stream "^4.0.0" - is-stream "^1.1.0" - npm-run-path "^2.0.0" - p-finally "^1.0.0" - signal-exit "^3.0.0" - strip-eof "^1.0.0" - - execa@^5.0.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd" - integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg== - dependencies: - cross-spawn "^7.0.3" - get-stream "^6.0.0" - human-signals "^2.1.0" - is-stream "^2.0.0" - merge-stream "^2.0.0" - npm-run-path "^4.0.1" - onetime "^5.1.2" - signal-exit "^3.0.3" - strip-final-newline "^2.0.0" - - exenv@^1.2.0: - version "1.2.2" - resolved "https://registry.yarnpkg.com/exenv/-/exenv-1.2.2.tgz#2ae78e85d9894158670b03d47bec1f03bd91bb9d" - integrity sha512-Z+ktTxTwv9ILfgKCk32OX3n/doe+OcLTRtqK9pcL+JsP3J1/VW8Uvl4ZjLlKqeW4rzK4oesDOGMEMRIZqtP4Iw== - - exit@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c" - integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ== - - expand-brackets@^2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622" - integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA== - dependencies: - debug "^2.3.3" - define-property "^0.2.5" - extend-shallow "^2.0.1" - posix-character-classes "^0.1.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - - expect@^24.1.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/expect/-/expect-24.9.0.tgz#b75165b4817074fa4a157794f46fe9f1ba15b6ca" - integrity sha512-wvVAx8XIol3Z5m9zvZXiyZOQ+sRJqNTIm6sGjdWlaZIeupQGO3WbYI+15D/AmEwZywL6wtJkbAbJtzkOfBuR0Q== - dependencies: - "@jest/types" "^24.9.0" - ansi-styles "^3.2.0" - jest-get-type "^24.9.0" - jest-matcher-utils "^24.9.0" - jest-message-util "^24.9.0" - jest-regex-util "^24.9.0" - - expect@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== - dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - - exponential-backoff@3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/exponential-backoff/-/exponential-backoff-3.1.0.tgz#9409c7e579131f8bd4b32d7d8094a911040f2e68" - integrity sha512-oBuz5SYz5zzyuHINoe9ooePwSu0xApKWgeNzok4hZ5YKXFh9zrQBEM15CXqoZkJJPuI2ArvqjPQd8UKJA753XA== - - express-winston@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/express-winston/-/express-winston-4.2.0.tgz#e9d535d52aa4c125a54a29cce132ae2e3633f4fa" - integrity sha512-EMD74g63nVHi7pFleQw7KHCxiA1pjF5uCwbCfzGqmFxs9KvlDPIVS3cMGpULm6MshExMT9TjC3SqmRGB9kb7yw== - dependencies: - chalk "^2.4.2" - lodash "^4.17.21" - - express@^4.14.0, express@^4.17.1: - version "4.18.2" - resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" - integrity sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ== - dependencies: - accepts "~1.3.8" - array-flatten "1.1.1" - body-parser "1.20.1" - content-disposition "0.5.4" - content-type "~1.0.4" - cookie "0.5.0" - cookie-signature "1.0.6" - debug "2.6.9" - depd "2.0.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - finalhandler "1.2.0" - fresh "0.5.2" - http-errors "2.0.0" - merge-descriptors "1.0.1" - methods "~1.1.2" - on-finished "2.4.1" - parseurl "~1.3.3" - path-to-regexp "0.1.7" - proxy-addr "~2.0.7" - qs "6.11.0" - range-parser "~1.2.1" - safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" - setprototypeof "1.2.0" - statuses "2.0.1" - type-is "~1.6.18" - utils-merge "1.0.1" - vary "~1.1.2" - - ext@^1.1.2: - version "1.7.0" - resolved "https://registry.yarnpkg.com/ext/-/ext-1.7.0.tgz#0ea4383c0103d60e70be99e9a7f11027a33c4f5f" - integrity sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw== - dependencies: - type "^2.7.2" - - extend-shallow@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f" - integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug== - dependencies: - is-extendable "^0.1.0" - - extend-shallow@^3.0.0, extend-shallow@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8" - integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q== - dependencies: - assign-symbols "^1.0.0" - is-extendable "^1.0.1" - - extend@~3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" - integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== - - extglob@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543" - integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw== - dependencies: - array-unique "^0.3.2" - define-property "^1.0.0" - expand-brackets "^2.1.4" - extend-shallow "^2.0.1" - fragment-cache "^0.2.1" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - - extract-files@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a" - integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== - - extsprintf@1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" - integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g== - - extsprintf@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07" - integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA== - - eyes@^0.1.8: - version "0.1.8" - resolved "https://registry.yarnpkg.com/eyes/-/eyes-0.1.8.tgz#62cf120234c683785d902348a800ef3e0cc20bc0" - integrity sha512-GipyPsXO1anza0AOZdy69Im7hGFCNB7Y/NGjDlZGJ3GJJLtwNSb2vrzYrTYJRrRloVx7pl+bhUaTB8yiccPvFQ== - - fast-check@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/fast-check/-/fast-check-3.1.1.tgz#72c5ae7022a4e86504762e773adfb8a5b0b01252" - integrity sha512-3vtXinVyuUKCKFKYcwXhGE6NtGWkqF8Yh3rvMZNzmwz8EPrgoc/v4pDdLHyLnCyCI5MZpZZkDEwFyXyEONOxpA== - dependencies: - pure-rand "^5.0.1" - - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: - version "3.1.3" - resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" - integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== - - fast-diff@^1.1.2: - version "1.2.0" - resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03" - integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w== - - fast-glob@^2.2.3: - version "2.2.7" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d" - integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw== - dependencies: - "@mrmlnc/readdir-enhanced" "^2.2.1" - "@nodelib/fs.stat" "^1.1.2" - glob-parent "^3.1.0" - is-glob "^4.0.0" - merge2 "^1.2.3" - micromatch "^3.1.10" - - fast-glob@^3.2.9: - version "3.2.12" - resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.12.tgz#7f39ec99c2e6ab030337142da9e0c18f37afae80" - integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w== - dependencies: - "@nodelib/fs.stat" "^2.0.2" - "@nodelib/fs.walk" "^1.2.3" - glob-parent "^5.1.2" - merge2 "^1.3.0" - micromatch "^4.0.4" - - fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-stable-stringify@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" - integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== - - fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" - integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== - - fast-redact@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/fast-redact/-/fast-redact-3.1.2.tgz#d58e69e9084ce9fa4c1a6fa98a3e1ecf5d7839aa" - integrity sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw== - - fast-safe-stringify@^2.0.6, fast-safe-stringify@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz#c406a83b6e70d9e35ce3b30a81141df30aeba884" - integrity sha512-W+KJc2dmILlPplD/H4K9l9LcAHAfPtP6BY84uVLXQ6Evcz9Lcg33Y2z1IVblT6xdY54PXYVHEv+0Wpq8Io6zkA== - - fast-stable-stringify@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fast-stable-stringify/-/fast-stable-stringify-1.0.0.tgz#5c5543462b22aeeefd36d05b34e51c78cb86d313" - integrity sha512-wpYMUmFu5f00Sm0cj2pfivpmawLZ0NKdviQ4w9zJeR8JVtOpOxHmLaJuj0vxvGqMJQWyP/COUkF75/57OKyRag== - - fastq@^1.6.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.15.0.tgz#d04d07c6a2a68fe4599fea8d2e103a937fae6b3a" - integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw== - dependencies: - reusify "^1.0.4" - - fb-watchman@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c" - integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA== - dependencies: - bser "2.1.1" - - fd-slicer@~1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" - integrity sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g== - dependencies: - pend "~1.2.0" - - fecha@^4.2.0: - version "4.2.3" - resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.3.tgz#4d9ccdbc61e8629b259fdca67e65891448d569fd" - integrity sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw== - - fetch-cookie@0.11.0: - version "0.11.0" - resolved "https://registry.yarnpkg.com/fetch-cookie/-/fetch-cookie-0.11.0.tgz#e046d2abadd0ded5804ce7e2cae06d4331c15407" - integrity sha512-BQm7iZLFhMWFy5CZ/162sAGjBfdNWb7a8LEqqnzsHFhxT/X/SVj/z2t2nu3aJvjlbQkrAlTUApplPRjWyH4mhA== - dependencies: - tough-cookie "^2.3.3 || ^3.0.1 || ^4.0.0" - - file-entry-cache@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027" - integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg== - dependencies: - flat-cache "^3.0.4" - - file-stream-rotator@^0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/file-stream-rotator/-/file-stream-rotator-0.6.1.tgz#007019e735b262bb6c6f0197e58e5c87cb96cec3" - integrity sha512-u+dBid4PvZw17PmDeRcNOtCP9CCK/9lRN2w+r1xIS7yOL9JFrIBKTvrYsxT4P0pGtThYTn++QS5ChHaUov3+zQ== - dependencies: - moment "^2.29.1" - - file-type@^3.8.0: - version "3.9.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-3.9.0.tgz#257a078384d1db8087bc449d107d52a52672b9e9" - integrity sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA== - - file-type@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-5.2.0.tgz#2ddbea7c73ffe36368dfae49dc338c058c2b8ad6" - integrity sha512-Iq1nJ6D2+yIO4c8HHg4fyVb8mAJieo1Oloy1mLLaB2PvezNedhBVm+QU7g0qM42aiMbRXTxKKwGD17rjKNJYVQ== - - file-type@^6.1.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-6.2.0.tgz#e50cd75d356ffed4e306dc4f5bcf52a79903a919" - integrity sha512-YPcTBDV+2Tm0VqjybVd32MHdlEGAtuxS3VAYsumFokDSMG+ROT5wawGlnHDoz7bfMcMDt9hxuXvXwoKUx2fkOg== - - file-uri-to-path@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd" - integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== - - fill-range@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7" - integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ== - dependencies: - extend-shallow "^2.0.1" - is-number "^3.0.0" - repeat-string "^1.6.1" - to-regex-range "^2.1.0" - - fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== - dependencies: - to-regex-range "^5.0.1" - - filter-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" - integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== - - finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== - dependencies: - debug "2.6.9" - encodeurl "~1.0.2" - escape-html "~1.0.3" - on-finished "2.4.1" - parseurl "~1.3.3" - statuses "2.0.1" - unpipe "~1.0.0" - - find-up@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc" - integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng== - dependencies: - locate-path "^6.0.0" - path-exists "^4.0.0" - - find-up@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7" - integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ== - dependencies: - locate-path "^2.0.0" - - find-up@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73" - integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg== - dependencies: - locate-path "^3.0.0" - - find-up@^4.0.0, find-up@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19" - integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== - dependencies: - locate-path "^5.0.0" - path-exists "^4.0.0" - - flat-cache@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11" - integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg== - dependencies: - flatted "^3.1.0" - rimraf "^3.0.2" - - flat@^5.0.2: - version "5.0.2" - resolved "https://registry.yarnpkg.com/flat/-/flat-5.0.2.tgz#8ca6fe332069ffa9d324c327198c598259ceb241" - integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ== - - flatted@^3.1.0: - version "3.2.7" - resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" - integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== - - fn.name@1.x.x: - version "1.1.0" - resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" - integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== - - follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.8, follow-redirects@^1.14.9, follow-redirects@^1.15.0: - version "1.15.2" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" - integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== - - for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - - for-in@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80" - integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ== - - foreach@^2.0.4: - version "2.0.6" - resolved "https://registry.yarnpkg.com/foreach/-/foreach-2.0.6.tgz#87bcc8a1a0e74000ff2bf9802110708cfb02eb6e" - integrity sha512-k6GAGDyqLe9JaebCsFCoudPPWfihKu8pylYXRlqP1J7ms39iPoTtk2fviNglIeQEwdh0bQeKJ01ZPyuyQvKzwg== - - forever-agent@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91" - integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw== - - form-data-encoder@1.7.1: - version "1.7.1" - resolved "https://registry.yarnpkg.com/form-data-encoder/-/form-data-encoder-1.7.1.tgz#ac80660e4f87ee0d3d3c3638b7da8278ddb8ec96" - integrity sha512-EFRDrsMm/kyqbTQocNvRXMLjc7Es2Vk+IQFx/YW7hkUH1eBl4J1fqiP34l74Yt0pFLCNpc06fkbVk00008mzjg== - - form-data@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-3.0.1.tgz#ebd53791b78356a99af9a300d4282c4d5eb9755f" - integrity sha512-RHkBKtLWUVwd7SqRIvCZMEvAMoGUp0XU+seQiZejj0COz3RI3hWP4sCv3gZWWLjJTd7rGwcsF5eKZGii0r/hbg== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - - form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.8" - mime-types "^2.1.12" - - form-data@~2.3.2: - version "2.3.3" - resolved "https://registry.yarnpkg.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6" - integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ== - dependencies: - asynckit "^0.4.0" - combined-stream "^1.0.6" - mime-types "^2.1.12" - - formidable@^2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/formidable/-/formidable-2.1.2.tgz#fa973a2bec150e4ce7cac15589d7a25fc30ebd89" - integrity sha512-CM3GuJ57US06mlpQ47YcunuUZ9jpm8Vx+P2CGt2j7HpgkKZO/DJYQ0Bobim8G6PFQmK5lOqOOdUXboU+h73A4g== - dependencies: - dezalgo "^1.0.4" - hexoid "^1.0.0" - once "^1.4.0" - qs "^6.11.0" - - forwarded@0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811" - integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow== - - fp-ts@1.19.3: - version "1.19.3" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.3.tgz#261a60d1088fbff01f91256f91d21d0caaaaa96f" - integrity sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg== - - fp-ts@^1.0.0: - version "1.19.5" - resolved "https://registry.yarnpkg.com/fp-ts/-/fp-ts-1.19.5.tgz#3da865e585dfa1fdfd51785417357ac50afc520a" - integrity sha512-wDNqTimnzs8QqpldiId9OavWK2NptormjXnRJTQecNjzwfyp6P/8s/zG8e4h3ja3oqkKaY72UlTjQYt/1yXf9A== - - fraction.js@^4.1.1, fraction.js@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.2.0.tgz#448e5109a313a3527f5a3ab2119ec4cf0e0e2950" - integrity sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA== - - fragment-cache@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19" - integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA== - dependencies: - map-cache "^0.2.2" - - fresh@0.5.2: - version "0.5.2" - resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7" - integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q== - - fs-constants@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" - integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== - - fs-extra@^0.30.0: - version "0.30.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-0.30.0.tgz#f233ffcc08d4da7d432daa449776989db1df93f0" - integrity sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^2.1.0" - klaw "^1.0.0" - path-is-absolute "^1.0.0" - rimraf "^2.2.8" - - fs-extra@^10.0.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-10.1.0.tgz#02873cfbc4084dde127eaa5f9905eef2325d1abf" - integrity sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ== - dependencies: - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - - fs-extra@^4.0.2: - version "4.0.3" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" - integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - - fs-extra@^7.0.1: - version "7.0.1" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9" - integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw== - dependencies: - graceful-fs "^4.1.2" - jsonfile "^4.0.0" - universalify "^0.1.0" - - fs-extra@^9.1.0: - version "9.1.0" - resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d" - integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ== - dependencies: - at-least-node "^1.0.0" - graceful-fs "^4.2.0" - jsonfile "^6.0.1" - universalify "^2.0.0" - - fs-minipass@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/fs-minipass/-/fs-minipass-1.2.7.tgz#ccff8570841e7fe4265693da88936c55aed7f7c7" - integrity sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA== - dependencies: - minipass "^2.6.0" - - fs.realpath@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f" - integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== - - fsevents@^2.3.2, fsevents@~2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" - integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== - - function-bind@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" - integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== - - function.prototype.name@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/function.prototype.name/-/function.prototype.name-1.1.5.tgz#cce0505fe1ffb80503e6f9e46cc64e46a12a9621" - integrity sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - es-abstract "^1.19.0" - functions-have-names "^1.2.2" - - functional-red-black-tree@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327" - integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g== - - functions-have-names@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834" - integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ== - - ganache@7.7.7: - version "7.7.7" - resolved "https://registry.yarnpkg.com/ganache/-/ganache-7.7.7.tgz#19939a86799f0bcb7df02e88082944466394b913" - integrity sha512-kZUuOcgDQBtbxzs4iB3chg1iAc28s2ffdOdzyTTzo4vr9sb843w4PbWd5v1hsIqtcNjurcpLaW8XRp/cw2u++g== - dependencies: - "@trufflesuite/bigint-buffer" "1.1.10" - "@types/bn.js" "^5.1.0" - "@types/lru-cache" "5.1.1" - "@types/seedrandom" "3.0.1" - abstract-level "1.0.3" - abstract-leveldown "7.2.0" - async-eventemitter "0.2.4" - emittery "0.10.0" - keccak "3.0.2" - leveldown "6.1.0" - secp256k1 "4.0.3" - optionalDependencies: - bufferutil "4.0.5" - utf-8-validate "5.0.7" - - gensync@^1.0.0-beta.2: - version "1.0.0-beta.2" - resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0" - integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== - - get-caller-file@^1.0.1: - version "1.0.3" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a" - integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w== - - get-caller-file@^2.0.1, get-caller-file@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" - integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== - - get-func-name@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.0.tgz#ead774abee72e20409433a066366023dd6887a41" - integrity sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig== - - get-intrinsic@^1.0.2, get-intrinsic@^1.1.1, get-intrinsic@^1.1.3, get-intrinsic@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.0.tgz#7ad1dc0535f3a2904bba075772763e5051f6d05f" - integrity sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q== - dependencies: - function-bind "^1.1.1" - has "^1.0.3" - has-symbols "^1.0.3" - - get-package-type@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" - integrity sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q== - - get-stdin@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b" - integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g== - - get-stream@^2.2.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-2.3.1.tgz#5f38f93f346009666ee0150a054167f91bdd95de" - integrity sha512-AUGhbbemXxrZJRD5cDvKtQxLuYaIbNtDTK8YqupCI393Q2KSTreEsLUN3ZxAWFGiKTzL6nKuzfcIvieflUX9qA== - dependencies: - object-assign "^4.0.1" - pinkie-promise "^2.0.0" - - get-stream@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14" - integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ== - - get-stream@^4.0.0, get-stream@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5" - integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w== - dependencies: - pump "^3.0.0" - - get-stream@^5.1.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3" - integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA== - dependencies: - pump "^3.0.0" - - get-stream@^6.0.0, get-stream@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7" - integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg== - - get-symbol-description@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6" - integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - - get-value@^2.0.3, get-value@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" - integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA== - - getpass@^0.1.1: - version "0.1.7" - resolved "https://registry.yarnpkg.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa" - integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng== - dependencies: - assert-plus "^1.0.0" - - glob-parent@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae" - integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA== - dependencies: - is-glob "^3.1.0" - path-dirname "^1.0.0" - - glob-parent@^5.1.2, glob-parent@~5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4" - integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow== - dependencies: - is-glob "^4.0.1" - - glob-to-regexp@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab" - integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig== - - glob@7.1.2: - version "7.1.2" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.2.tgz#c19c9df9a028702d678612384a6552404c636d15" - integrity sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - - glob@7.2.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" - integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.0.4" - once "^1.3.0" - path-is-absolute "^1.0.0" - - glob@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - - glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: - version "7.2.3" - resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" - integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== - dependencies: - fs.realpath "^1.0.0" - inflight "^1.0.4" - inherits "2" - minimatch "^3.1.1" - once "^1.3.0" - path-is-absolute "^1.0.0" - - global@~4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" - integrity sha512-wv/LAoHdRE3BeTGz53FAamhGlPLhlssK45usmGFThIi4XqnBmjKQ16u+RNbP7WvigRZDxUsM0J3gcQ5yicaL0w== - dependencies: - min-document "^2.19.0" - process "^0.11.10" - - globals@^11.1.0: - version "11.12.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" - integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== - - globals@^13.6.0, globals@^13.9.0: - version "13.20.0" - resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" - integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ== - dependencies: - type-fest "^0.20.2" - - globalthis@^1.0.1, globalthis@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/globalthis/-/globalthis-1.0.3.tgz#5852882a52b80dc301b0660273e1ed082f0b6ccf" - integrity sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA== - dependencies: - define-properties "^1.1.3" - - globby@^11.0.3: - version "11.1.0" - resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" - integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== - dependencies: - array-union "^2.1.0" - dir-glob "^3.0.1" - fast-glob "^3.2.9" - ignore "^5.2.0" - merge2 "^1.4.1" - slash "^3.0.0" - - golang-cover-parse@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/golang-cover-parse/-/golang-cover-parse-2.0.0.tgz#6bac2e5a88c1fb26468fa8d605aa52b4b8d12119" - integrity sha512-3AI0uT2motB7CQUInokoYqVVLeRpqTDaoXL5XS++v+UwCUNM0uIiEDy0L1UZe0VXbhhe8LUvcG3CtFXdzEebxA== - dependencies: - mocha "^5.2.0" - - google-protobuf@^3.14.0, google-protobuf@^3.2.0, google-protobuf@^3.21.0: - version "3.21.2" - resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.21.2.tgz#4580a2bea8bbb291ee579d1fefb14d6fa3070ea4" - integrity sha512-3MSOYFO5U9mPGikIYCzK0SaThypfGgS6bHqrUGXG3DPHCrb+txNqeEcns1W0lkGfk0rCyNXm7xB9rMxnCiZOoA== - - gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - - got@12.1.0: - version "12.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-12.1.0.tgz#099f3815305c682be4fd6b0ee0726d8e4c6b0af4" - integrity sha512-hBv2ty9QN2RdbJJMK3hesmSkFTjVIHyIDDbssCKnSmq62edGgImJWD10Eb1k77TiV1bxloxqcFAVK8+9pkhOig== - dependencies: - "@sindresorhus/is" "^4.6.0" - "@szmarczak/http-timer" "^5.0.1" - "@types/cacheable-request" "^6.0.2" - "@types/responselike" "^1.0.0" - cacheable-lookup "^6.0.4" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - form-data-encoder "1.7.1" - get-stream "^6.0.1" - http2-wrapper "^2.1.10" - lowercase-keys "^3.0.0" - p-cancelable "^3.0.0" - responselike "^2.0.0" - - got@9.6.0: - version "9.6.0" - resolved "https://registry.yarnpkg.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85" - integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q== - dependencies: - "@sindresorhus/is" "^0.14.0" - "@szmarczak/http-timer" "^1.1.2" - cacheable-request "^6.0.0" - decompress-response "^3.3.0" - duplexer3 "^0.1.4" - get-stream "^4.1.0" - lowercase-keys "^1.0.1" - mimic-response "^1.0.1" - p-cancelable "^1.0.0" - to-readable-stream "^1.0.0" - url-parse-lax "^3.0.0" - - got@^11.8.5: - version "11.8.6" - resolved "https://registry.yarnpkg.com/got/-/got-11.8.6.tgz#276e827ead8772eddbcfc97170590b841823233a" - integrity sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g== - dependencies: - "@sindresorhus/is" "^4.0.0" - "@szmarczak/http-timer" "^4.0.5" - "@types/cacheable-request" "^6.0.1" - "@types/responselike" "^1.0.0" - cacheable-lookup "^5.0.3" - cacheable-request "^7.0.2" - decompress-response "^6.0.0" - http2-wrapper "^1.0.0-beta.5.2" - lowercase-keys "^2.0.0" - p-cancelable "^2.0.0" - responselike "^2.0.0" - - got@^7.1.0: - version "7.1.0" - resolved "https://registry.yarnpkg.com/got/-/got-7.1.0.tgz#05450fd84094e6bbea56f451a43a9c289166385a" - integrity sha512-Y5WMo7xKKq1muPsxD+KmrR8DH5auG7fBdDVueZwETwV6VytKyU9OX/ddpq2/1hp1vIPvVb4T81dKQz3BivkNLw== - dependencies: - decompress-response "^3.2.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-plain-obj "^1.1.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - isurl "^1.0.0-alpha5" - lowercase-keys "^1.0.0" - p-cancelable "^0.3.0" - p-timeout "^1.1.1" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - url-parse-lax "^1.0.0" - url-to-options "^1.0.1" - - graceful-fs@^4.1.10, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.9: - version "4.2.11" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3" - integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ== - - graphql-request@^3.4.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-3.7.0.tgz#c7406e537084f8b9788541e3e6704340ca13055b" - integrity sha512-dw5PxHCgBneN2DDNqpWu8QkbbJ07oOziy8z+bK/TAXufsOLaETuVO4GkXrbs0WjhdKhBMN3BkpN/RIvUHkmNUQ== - dependencies: - cross-fetch "^3.0.6" - extract-files "^9.0.0" - form-data "^3.0.0" - - graphql-tag@^2.11.0, graphql-tag@^2.12.6: - version "2.12.6" - resolved "https://registry.yarnpkg.com/graphql-tag/-/graphql-tag-2.12.6.tgz#d441a569c1d2537ef10ca3d1633b48725329b5f1" - integrity sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg== - dependencies: - tslib "^2.1.0" - - graphql@^15.3.0, graphql@^15.5.0: - version "15.8.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" - integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== - - graphql@^16.3.0: - version "16.6.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" - integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== - - growl@1.10.3: - version "1.10.3" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" - integrity sha512-hKlsbA5Vu3xsh1Cg3J7jSmX/WaW6A5oBeqzM88oNbCRQFz+zUaXm6yxS4RVytp1scBoJzSYl4YAEOQIt6O8V1Q== - - growl@1.10.5: - version "1.10.5" - resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.5.tgz#f2735dc2283674fa67478b10181059355c369e5e" - integrity sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA== - - har-schema@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92" - integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== - - har-validator@~5.1.3: - version "5.1.5" - resolved "https://registry.yarnpkg.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd" - integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w== - dependencies: - ajv "^6.12.3" - har-schema "^2.0.0" - - hardhat-tracer@^1.0.0-alpha.5: - version "1.3.0" - resolved "https://registry.yarnpkg.com/hardhat-tracer/-/hardhat-tracer-1.3.0.tgz#273d8aeca57283f597f2eaef2c8acdd0162f3672" - integrity sha512-mUYuRJWlxCwY4R2urCpNM4ecVSq/iMLiVP9YZKlfXyv4R8T+4HAcTfumilUOXHGe6wHI+8Ki2EaTon3KgzATDA== - dependencies: - ethers "^5.6.1" - - hardhat-watcher@^2.1.1: - version "2.5.0" - resolved "https://registry.yarnpkg.com/hardhat-watcher/-/hardhat-watcher-2.5.0.tgz#3ee76c3cb5b99f2875b78d176207745aa484ed4a" - integrity sha512-Su2qcSMIo2YO2PrmJ0/tdkf+6pSt8zf9+4URR5edMVti6+ShI8T3xhPrwugdyTOFuyj8lKHrcTZNKUFYowYiyA== - dependencies: - chokidar "^3.5.3" - - hardhat@^2.13.0: - version "2.13.0" - resolved "https://registry.yarnpkg.com/hardhat/-/hardhat-2.13.0.tgz#d52a0ec9b733a651687e5b1c1b0ee9a11a30f3d0" - integrity sha512-ZlzBOLML1QGlm6JWyVAG8lVTEAoOaVm1in/RU2zoGAnYEoD1Rp4T+ZMvrLNhHaaeS9hfjJ1gJUBfiDr4cx+htQ== - dependencies: - "@ethersproject/abi" "^5.1.2" - "@metamask/eth-sig-util" "^4.0.0" - "@nomicfoundation/ethereumjs-block" "^4.0.0" - "@nomicfoundation/ethereumjs-blockchain" "^6.0.0" - "@nomicfoundation/ethereumjs-common" "^3.0.0" - "@nomicfoundation/ethereumjs-evm" "^1.0.0" - "@nomicfoundation/ethereumjs-rlp" "^4.0.0" - "@nomicfoundation/ethereumjs-statemanager" "^1.0.0" - "@nomicfoundation/ethereumjs-trie" "^5.0.0" - "@nomicfoundation/ethereumjs-tx" "^4.0.0" - "@nomicfoundation/ethereumjs-util" "^8.0.0" - "@nomicfoundation/ethereumjs-vm" "^6.0.0" - "@nomicfoundation/solidity-analyzer" "^0.1.0" - "@sentry/node" "^5.18.1" - "@types/bn.js" "^5.1.0" - "@types/lru-cache" "^5.1.0" - abort-controller "^3.0.0" - adm-zip "^0.4.16" - aggregate-error "^3.0.0" - ansi-escapes "^4.3.0" - chalk "^2.4.2" - chokidar "^3.4.0" - ci-info "^2.0.0" - debug "^4.1.1" - enquirer "^2.3.0" - env-paths "^2.2.0" - ethereum-cryptography "^1.0.3" - ethereumjs-abi "^0.6.8" - find-up "^2.1.0" - fp-ts "1.19.3" - fs-extra "^7.0.1" - glob "7.2.0" - immutable "^4.0.0-rc.12" - io-ts "1.10.4" - keccak "^3.0.2" - lodash "^4.17.11" - mnemonist "^0.38.0" - mocha "^10.0.0" - p-map "^4.0.0" - qs "^6.7.0" - raw-body "^2.4.1" - resolve "1.17.0" - semver "^6.3.0" - solc "0.7.3" - source-map-support "^0.5.13" - stacktrace-parser "^0.1.10" - tsort "0.0.1" - undici "^5.14.0" - uuid "^8.3.2" - ws "^7.4.6" - - has-bigints@^1.0.1, has-bigints@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.2.tgz#0871bd3e3d51626f6ca0966668ba35d5602d6eaa" - integrity sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ== - - has-flag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51" - integrity sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng== - - has-flag@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd" - integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw== - - has-flag@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b" - integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== - - has-property-descriptors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz#610708600606d36961ed04c196193b6a607fa861" - integrity sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ== - dependencies: - get-intrinsic "^1.1.1" - - has-proto@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0" - integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg== - - has-symbol-support-x@^1.4.1: - version "1.4.2" - resolved "https://registry.yarnpkg.com/has-symbol-support-x/-/has-symbol-support-x-1.4.2.tgz#1409f98bc00247da45da67cee0a36f282ff26455" - integrity sha512-3ToOva++HaW+eCpgqZrCfN51IPB+7bJNVT6CUATzueB5Heb8o6Nam0V3HG5dlDvZU1Gn5QLcbahiKw/XVk5JJw== - - has-symbols@^1.0.2, has-symbols@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8" - integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A== - - has-to-string-tag-x@^1.2.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/has-to-string-tag-x/-/has-to-string-tag-x-1.4.1.tgz#a045ab383d7b4b2012a00148ab0aa5f290044d4d" - integrity sha512-vdbKfmw+3LoOYVr+mtxHaX5a96+0f3DljYd8JOqvOLsf5mw2Otda2qCDT9qRqLAhrjyQ0h7ual5nOiASpsGNFw== - dependencies: - has-symbol-support-x "^1.4.1" - - has-tostringtag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25" - integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ== - dependencies: - has-symbols "^1.0.2" - - has-value@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f" - integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q== - dependencies: - get-value "^2.0.3" - has-values "^0.1.4" - isobject "^2.0.0" - - has-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177" - integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw== - dependencies: - get-value "^2.0.6" - has-values "^1.0.0" - isobject "^3.0.0" - - has-values@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" - integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ== - - has-values@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f" - integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ== - dependencies: - is-number "^3.0.0" - kind-of "^4.0.0" - - has@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" - integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== - dependencies: - function-bind "^1.1.1" - - hash-base@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33" - integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA== - dependencies: - inherits "^2.0.4" - readable-stream "^3.6.0" - safe-buffer "^5.2.0" - - hash.js@1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.3.tgz#340dedbe6290187151c1ea1d777a3448935df846" - integrity sha512-/UETyP0W22QILqS+6HowevwhEFJ3MBJnwTf75Qob9Wz9t0DPuisL8kW8YZMK62dHAKE1c1p+gY1TtOLY+USEHA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.0" - - hash.js@1.1.7, hash.js@^1.0.0, hash.js@^1.0.3, hash.js@^1.1.7: - version "1.1.7" - resolved "https://registry.yarnpkg.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42" - integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA== - dependencies: - inherits "^2.0.3" - minimalistic-assert "^1.0.1" - - hdkey@^1.1.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-1.1.2.tgz#c60f9cf6f90fbf24a8a52ea06893f36a0108cd3e" - integrity sha512-PTQ4VKu0oRnCrYfLp04iQZ7T2Cxz0UsEXYauk2j8eh6PJXCpbXuCFhOmtIFtbET0i3PMWmHN9J11gU8LEgUljQ== - dependencies: - bs58check "^2.1.2" - safe-buffer "^5.1.1" - secp256k1 "^3.0.1" - - hdkey@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/hdkey/-/hdkey-2.1.0.tgz#755b30b73f54e93c31919c1b2f19205a8e57cb92" - integrity sha512-i9Wzi0Dy49bNS4tXXeGeu0vIcn86xXdPQUpEYg+SO1YiO8HtomjmmRMaRyqL0r59QfcD4PfVbSF3qmsWFwAemA== - dependencies: - bs58check "^2.1.2" - ripemd160 "^2.0.2" - safe-buffer "^5.1.1" - secp256k1 "^4.0.0" - - he@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/he/-/he-1.1.1.tgz#93410fd21b009735151f8868c2f271f3427e23fd" - integrity sha512-z/GDPjlRMNOa2XJiB4em8wJpuuBfrFOlYKTZxtpkdr1uPdibHI8rYA3MY0KDObpVyaes0e/aunid/t88ZI2EKA== - - he@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" - integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== - - header-case@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d" - integrity sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ== - dependencies: - no-case "^2.2.0" - upper-case "^1.1.3" - - hexoid@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/hexoid/-/hexoid-1.0.0.tgz#ad10c6573fb907de23d9ec63a711267d9dc9bc18" - integrity sha512-QFLV0taWQOZtvIRIAdBChesmogZrtuXvVWsFHZTk2SU+anspqZ2vMnoLg7IE1+Uk16N19APic1BuF8bC8c2m5g== - - hi-base32@^0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/hi-base32/-/hi-base32-0.5.1.tgz#1279f2ddae2673219ea5870c2121d2a33132857e" - integrity sha512-EmBBpvdYh/4XxsnUybsPag6VikPYnN30td+vQk+GI3qpahVEG9+gTkG0aXVxTjBqQ5T6ijbWIu77O+C5WFWsnA== - - hmac-drbg@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1" - integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg== - dependencies: - hash.js "^1.0.3" - minimalistic-assert "^1.0.0" - minimalistic-crypto-utils "^1.0.1" - - hoist-non-react-statics@^3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" - integrity sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw== - dependencies: - react-is "^16.7.0" - - hosted-git-info@^2.6.0: - version "2.8.9" - resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" - integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== - - html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - - html-escaper@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" - integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== - - http-cache-semantics@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz#abe02fcb2985460bf0323be664436ec3476a6d5a" - integrity sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ== - - http-errors@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3" - integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ== - dependencies: - depd "2.0.0" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses "2.0.1" - toidentifier "1.0.1" - - http-errors@^1.7.2: - version "1.8.1" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c" - integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.2.0" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.1" - - http-https@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" - integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== - - http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - - http-signature@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" - integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ== - dependencies: - assert-plus "^1.0.0" - jsprim "^1.2.2" - sshpk "^1.7.0" - - http-status-codes@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/http-status-codes/-/http-status-codes-2.2.0.tgz#bb2efe63d941dfc2be18e15f703da525169622be" - integrity sha512-feERVo9iWxvnejp3SEfm/+oNG517npqL2/PIA8ORjyOZjGC7TwCRQsZylciLS64i6pJ0wRYz3rkXLRwbtFa8Ng== - - http2-wrapper@^1.0.0-beta.5.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-1.0.3.tgz#b8f55e0c1f25d4ebd08b3b0c2c079f9590800b3d" - integrity sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.0.0" - - http2-wrapper@^2.1.10: - version "2.2.0" - resolved "https://registry.yarnpkg.com/http2-wrapper/-/http2-wrapper-2.2.0.tgz#b80ad199d216b7d3680195077bd7b9060fa9d7f3" - integrity sha512-kZB0wxMo0sh1PehyjJUWRFEd99KC5TLjZ2cULC4f9iqJBAmKQQXEICjxl5iPJRwP40dpeHFqqhm7tYCvODpqpQ== - dependencies: - quick-lru "^5.1.1" - resolve-alpn "^1.2.0" - - https-proxy-agent@^5.0.0: - version "5.0.1" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz#c59ef224a04fe8b754f3db0063a25ea30d0005d6" - integrity sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA== - dependencies: - agent-base "6" - debug "4" - - human-signals@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" - integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== - - humanize-ms@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" - integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== - dependencies: - ms "^2.0.0" - - iconv-lite@0.4.24: - version "0.4.24" - resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" - integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA== - dependencies: - safer-buffer ">= 2.1.2 < 3" - - idna-uts46-hx@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/idna-uts46-hx/-/idna-uts46-hx-2.3.1.tgz#a1dc5c4df37eee522bf66d969cc980e00e8711f9" - integrity sha512-PWoF9Keq6laYdIRwwCdhTPl60xRqAloYNMQLiyUnG42VjT53oW07BXIRM+NK7eQjzXjAk2gUvX9caRxlnF9TAA== - dependencies: - punycode "2.1.0" - - ieee754@^1.1.13, ieee754@^1.1.4, ieee754@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" - integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== - - ignore-by-default@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/ignore-by-default/-/ignore-by-default-1.0.1.tgz#48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09" - integrity sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA== - - ignore@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" - integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== - - ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: - version "5.2.4" - resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.4.tgz#a291c0c6178ff1b960befe47fcdec301674a6324" - integrity sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ== - - immediate@3.3.0, immediate@^3.2.3: - version "3.3.0" - resolved "https://registry.yarnpkg.com/immediate/-/immediate-3.3.0.tgz#1aef225517836bcdf7f2a2de2600c79ff0269266" - integrity sha512-HR7EVodfFUdQCTIeySw+WDRFJlPcLOJbXfwwZ7Oom6tjsvZ3bOkCDJHehQC3nxJrv7+f9XecwazynjU8e4Vw3Q== - - immutable@^4.0.0-rc.12: - version "4.3.0" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.3.0.tgz#eb1738f14ffb39fd068b1dbe1296117484dd34be" - integrity sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg== - - import-fresh@^3.0.0, import-fresh@^3.2.1: - version "3.3.0" - resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b" - integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw== - dependencies: - parent-module "^1.0.0" - resolve-from "^4.0.0" - - import-local@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/import-local/-/import-local-3.1.0.tgz#b4479df8a5fd44f6cdce24070675676063c95cb4" - integrity sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg== - dependencies: - pkg-dir "^4.2.0" - resolve-cwd "^3.0.0" - - imurmurhash@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" - integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== - - indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - - inflight@^1.0.4: - version "1.0.6" - resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" - integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== - dependencies: - once "^1.3.0" - wrappy "1" - - inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3, inherits@~2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c" - integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ== - - int64-buffer@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/int64-buffer/-/int64-buffer-1.0.1.tgz#c78d841b444cadf036cd04f8683696c740f15dca" - integrity sha512-+3azY4pXrjAupJHU1V9uGERWlhoqNswJNji6aD/02xac7oxol508AsMC5lxKhEqyZeDFy3enq5OGWXF4u75hiw== - - internal-slot@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.5.tgz#f2a2ee21f668f8627a4667f309dc0f4fb6674986" - integrity sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ== - dependencies: - get-intrinsic "^1.2.0" - has "^1.0.3" - side-channel "^1.0.4" - - interpret@^1.0.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e" - integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA== - - invariant@2: - version "2.2.4" - resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6" - integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA== - dependencies: - loose-envify "^1.0.0" - - invert-kv@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02" - integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA== - - io-ts@1.10.4: - version "1.10.4" - resolved "https://registry.yarnpkg.com/io-ts/-/io-ts-1.10.4.tgz#cd5401b138de88e4f920adbcb7026e2d1967e6e2" - integrity sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g== - dependencies: - fp-ts "^1.0.0" - - ip@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da" - integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ== - - ipaddr.js@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3" - integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g== - - is-accessor-descriptor@^0.1.6: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz#a9e12cb3ae8d876727eeef3843f8a0897b5c98d6" - integrity sha512-e1BM1qnDbMRG3ll2U9dSK0UMHuWOs3pY3AtcFsmvwPtKL3MML/Q86i+GilLfvqEs4GW+ExB91tQ3Ig9noDIZ+A== - dependencies: - kind-of "^3.0.2" - - is-accessor-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz#169c2f6d3df1f992618072365c9b0ea1f6878656" - integrity sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ== - dependencies: - kind-of "^6.0.0" - - is-arguments@^1.0.4: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - - is-array-buffer@^3.0.1, is-array-buffer@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.2.tgz#f2653ced8412081638ecb0ebbd0c41c6e0aecbbe" - integrity sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.2.0" - is-typed-array "^1.1.10" - - is-arrayish@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" - integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== - - is-arrayish@^0.3.1: - version "0.3.2" - resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03" - integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ== - - is-bigint@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3" - integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg== - dependencies: - has-bigints "^1.0.1" - - is-binary-path@~2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09" - integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw== - dependencies: - binary-extensions "^2.0.0" - - is-boolean-object@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719" - integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - - is-buffer@^1.1.5: - version "1.1.6" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be" - integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w== - - is-buffer@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-2.0.5.tgz#ebc252e400d22ff8d77fa09888821a24a658c191" - integrity sha512-i2R6zNFDwgEHJyQUtJEk0XFi1i0dPFn/oqjK3/vPCcDeJvW5NQ83V8QbicfF1SupOaB0h8ntgBC2YiE7dfyctQ== - - is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" - integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== - - is-core-module@^2.11.0, is-core-module@^2.9.0: - version "2.11.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" - integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== - dependencies: - has "^1.0.3" - - is-data-descriptor@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" - integrity sha512-+w9D5ulSoBNlmw9OHn3U2v51SyoCd0he+bB3xMl62oijhrspxowjU+AIcDY0N3iEJbUEkB15IlMASQsxYigvXg== - dependencies: - kind-of "^3.0.2" - - is-data-descriptor@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz#d84876321d0e7add03990406abbbbd36ba9268c7" - integrity sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ== - dependencies: - kind-of "^6.0.0" - - is-date-object@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" - integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== - dependencies: - has-tostringtag "^1.0.0" - - is-descriptor@^0.1.0: - version "0.1.6" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-0.1.6.tgz#366d8240dde487ca51823b1ab9f07a10a78251ca" - integrity sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg== - dependencies: - is-accessor-descriptor "^0.1.6" - is-data-descriptor "^0.1.4" - kind-of "^5.0.0" - - is-descriptor@^1.0.0, is-descriptor@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-descriptor/-/is-descriptor-1.0.2.tgz#3b159746a66604b04f8c81524ba365c5f14d86ec" - integrity sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg== - dependencies: - is-accessor-descriptor "^1.0.0" - is-data-descriptor "^1.0.0" - kind-of "^6.0.2" - - is-extendable@^0.1.0, is-extendable@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" - integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw== - - is-extendable@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" - integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== - dependencies: - is-plain-object "^2.0.4" - - is-extglob@^2.1.0, is-extglob@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" - integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ== - - is-fullwidth-code-point@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb" - integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw== - dependencies: - number-is-nan "^1.0.0" - - is-fullwidth-code-point@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f" - integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w== - - is-fullwidth-code-point@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" - integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== - - is-function@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-function/-/is-function-1.0.2.tgz#4f097f30abf6efadac9833b17ca5dc03f8144e08" - integrity sha512-lw7DUp0aWXYg+CBCN+JKkcE0Q2RayZnSvnZBlwgxHBQhqt5pZNVy4Ri7H9GmmXkdu7LUthszM+Tor1u/2iBcpQ== - - is-generator-fn@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-generator-fn/-/is-generator-fn-2.1.0.tgz#7d140adc389aaf3011a8f2a2a4cfa6faadffb118" - integrity sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ== - - is-generator-function@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/is-generator-function/-/is-generator-function-1.0.10.tgz#f1558baf1ac17e0deea7c0415c438351ff2b3c72" - integrity sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A== - dependencies: - has-tostringtag "^1.0.0" - - is-glob@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a" - integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw== - dependencies: - is-extglob "^2.1.0" - - is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: - version "4.0.3" - resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084" - integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg== - dependencies: - is-extglob "^2.1.1" - - is-hex-prefixed@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-hex-prefixed/-/is-hex-prefixed-1.0.0.tgz#7d8d37e6ad77e5d127148913c573e082d777f554" - integrity sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA== - - is-lower-case@^1.1.0: - version "1.1.3" - resolved "https://registry.yarnpkg.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393" - integrity sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA== - dependencies: - lower-case "^1.1.0" - - is-nan@^1.2.1: - version "1.3.2" - resolved "https://registry.yarnpkg.com/is-nan/-/is-nan-1.3.2.tgz#043a54adea31748b55b6cd4e09aadafa69bd9e1d" - integrity sha512-E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w== - dependencies: - call-bind "^1.0.0" - define-properties "^1.1.3" - - is-natural-number@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" - integrity sha512-Y4LTamMe0DDQIIAlaer9eKebAlDSV6huy+TWhJVPlzZh2o4tRP5SQWFlLn5N0To4mDD22/qdOq+veo1cSISLgQ== - - is-negative-zero@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150" - integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA== - - is-number-object@^1.0.4: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.7.tgz#59d50ada4c45251784e9904f5246c742f07a42fc" - integrity sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ== - dependencies: - has-tostringtag "^1.0.0" - - is-number@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" - integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg== - dependencies: - kind-of "^3.0.2" - - is-number@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b" - integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng== - - is-obj@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982" - integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== - - is-object@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" - integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== - - is-plain-obj@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e" - integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== - - is-plain-obj@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-2.1.0.tgz#45e42e37fccf1f40da8e5f76ee21515840c09287" - integrity sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA== - - is-plain-object@^2.0.3, is-plain-object@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" - integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og== - dependencies: - isobject "^3.0.1" - - is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - - is-promise@^2.2.2: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1" - integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ== - - is-regex@^1.1.4: - version "1.1.4" - resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" - integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - - is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - - is-shared-array-buffer@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" - integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA== - dependencies: - call-bind "^1.0.2" - - is-stream@^1.0.0, is-stream@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" - integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ== - - is-stream@^2.0.0, is-stream@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077" - integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg== - - is-string@^1.0.5, is-string@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd" - integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg== - dependencies: - has-tostringtag "^1.0.0" - - is-symbol@^1.0.2, is-symbol@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c" - integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg== - dependencies: - has-symbols "^1.0.2" - - is-typed-array@^1.1.10, is-typed-array@^1.1.3, is-typed-array@^1.1.9: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - - is-typedarray@^1.0.0, is-typedarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" - integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== - - is-unicode-supported@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz#3f26c76a809593b52bfa2ecb5710ed2779b522a7" - integrity sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw== - - is-upper-case@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f" - integrity sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw== - dependencies: - upper-case "^1.1.0" - - is-weakref@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" - integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ== - dependencies: - call-bind "^1.0.2" - - is-windows@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d" - integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA== - - isarray@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf" - integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ== - - isarray@1.0.0, isarray@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" - integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ== - - isarray@^2.0.1: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - - isexe@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" - integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== - - isnumber@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isnumber/-/isnumber-1.0.0.tgz#0e3f9759b581d99dd85086f0ec2a74909cfadd01" - integrity sha512-JLiSz/zsZcGFXPrB4I/AGBvtStkt+8QmksyZBZnVXnnK9XdTEyz0tX8CRYljtwYDuIuZzih6DpHQdi+3Q6zHPw== - - isobject@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" - integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA== - dependencies: - isarray "1.0.0" - - isobject@^3.0.0, isobject@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df" - integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg== - - isomorphic-unfetch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/isomorphic-unfetch/-/isomorphic-unfetch-3.1.0.tgz#87341d5f4f7b63843d468438128cb087b7c3e98f" - integrity sha512-geDJjpoZ8N0kWexiwkX8F9NkTsXhetLPVbZFQ+JTW239QNOwvB0gniuR1Wc6f0AMTn7/mFGyXvHTifrCp/GH8Q== - dependencies: - node-fetch "^2.6.1" - unfetch "^4.2.0" - - isomorphic-ws@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-5.0.0.tgz#e5529148912ecb9b451b46ed44d53dae1ce04bbf" - integrity sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw== - - isomorphic-ws@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" - integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== - - isstream@~0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" - integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g== - - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" - integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== - - istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== - dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" - - istanbul-lib-report@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" - integrity sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw== - dependencies: - istanbul-lib-coverage "^3.0.0" - make-dir "^3.0.0" - supports-color "^7.1.0" - - istanbul-lib-source-maps@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz#895f3a709fcfba34c6de5a42939022f3e4358551" - integrity sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw== - dependencies: - debug "^4.1.1" - istanbul-lib-coverage "^3.0.0" - source-map "^0.6.1" - - istanbul-reports@^3.1.3: - version "3.1.5" - resolved "https://registry.yarnpkg.com/istanbul-reports/-/istanbul-reports-3.1.5.tgz#cc9a6ab25cb25659810e4785ed9d9fb742578bae" - integrity sha512-nUsEMa9pBt/NOHqbcbeJEgqIlY/K7rVWUX6Lql2orY5e9roQOthbR3vtY4zzf2orPELg80fnxxk9zUyPlgwD1w== - dependencies: - html-escaper "^2.0.0" - istanbul-lib-report "^3.0.0" - - isurl@^1.0.0-alpha5: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isurl/-/isurl-1.0.0.tgz#b27f4f49f3cdaa3ea44a0a5b7f3462e6edc39d67" - integrity sha512-1P/yWsxPlDtn7QeRD+ULKQPaIaN6yF368GZ2vDfv0AL0NwpStafjWCDDdn0k8wgFMWpVAqG7oJhxHnlud42i9w== - dependencies: - has-to-string-tag-x "^1.2.0" - is-object "^1.0.1" - - jacoco-parse@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/jacoco-parse/-/jacoco-parse-2.0.1.tgz#a1fab49df2c8a11fd9204b615677bc58ab784b65" - integrity sha512-YGhIb2iXuQ4/zNh2zgHd6Z6dqlYwLYH1wfsxtTNQ+jnHH9PhhuMwqOFihXymSI41trxok48LdKkSeDIWs28tYg== - dependencies: - mocha "^5.2.0" - xml2js "^0.4.9" - - javascript-natural-sort@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz#f9e2303d4507f6d74355a73664d1440fb5a0ef59" - integrity sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw== - - jayson@^3.4.4: - version "3.7.0" - resolved "https://registry.yarnpkg.com/jayson/-/jayson-3.7.0.tgz#b735b12d06d348639ae8230d7a1e2916cb078f25" - integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ== - dependencies: - "@types/connect" "^3.4.33" - "@types/node" "^12.12.54" - "@types/ws" "^7.4.4" - JSONStream "^1.3.5" - commander "^2.20.3" - delay "^5.0.0" - es6-promisify "^5.0.0" - eyes "^0.1.8" - isomorphic-ws "^4.0.1" - json-stringify-safe "^5.0.1" - lodash "^4.17.20" - uuid "^8.3.2" - ws "^7.4.5" - - jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== - dependencies: - "@jest/types" "^27.5.1" - execa "^5.0.0" - throat "^6.0.1" - - jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - throat "^6.0.1" - - jest-cli@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== - dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - exit "^0.1.2" - graceful-fs "^4.2.9" - import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - - jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" - chalk "^4.0.0" - ci-info "^3.2.0" - deepmerge "^4.2.2" - glob "^7.1.1" - graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - micromatch "^4.0.4" - parse-json "^5.2.0" - pretty-format "^27.5.1" - slash "^3.0.0" - strip-json-comments "^3.1.1" - - jest-diff@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-24.9.0.tgz#931b7d0d5778a1baf7452cb816e325e3724055da" - integrity sha512-qMfrTs8AdJE2iqrTp0hzh7kTd2PQWrsFyj9tORoKmu32xjPjeE4NyjVRDz8ybYwqS2ik8N4hsIpiVTyFeo2lBQ== - dependencies: - chalk "^2.0.1" - diff-sequences "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - - jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== - dependencies: - chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - - jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== - dependencies: - detect-newline "^3.0.0" - - jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - - jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - - jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - - jest-extended@^0.11.5: - version "0.11.5" - resolved "https://registry.yarnpkg.com/jest-extended/-/jest-extended-0.11.5.tgz#f063b3f1eaadad8d7c13a01f0dfe0f538d498ccf" - integrity sha512-3RsdFpLWKScpsLD6hJuyr/tV5iFOrw7v6YjA3tPdda9sJwoHwcMROws5gwiIZfcwhHlJRwFJB2OUvGmF3evV/Q== - dependencies: - expect "^24.1.0" - jest-get-type "^22.4.3" - jest-matcher-utils "^22.0.0" - - jest-get-type@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4" - integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w== - - jest-get-type@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" - integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== - - jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== - - jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== - dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" - "@types/node" "*" - anymatch "^3.0.3" - fb-watchman "^2.0.0" - graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - micromatch "^4.0.4" - walker "^1.0.7" - optionalDependencies: - fsevents "^2.3.2" - - jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - - jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - - jest-matcher-utils@^22.0.0: - version "22.4.3" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-22.4.3.tgz#4632fe428ebc73ebc194d3c7b65d37b161f710ff" - integrity sha512-lsEHVaTnKzdAPR5t4B6OcxXo9Vy4K+kRRbG5gtddY8lBEC+Mlpvm1CJcsMESRjzUhzkz568exMV1hTB76nAKbA== - dependencies: - chalk "^2.0.1" - jest-get-type "^22.4.3" - pretty-format "^22.4.3" - - jest-matcher-utils@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-24.9.0.tgz#f5b3661d5e628dffe6dd65251dfdae0e87c3a073" - integrity sha512-OZz2IXsu6eaiMAwe67c1T+5tUAtQyQx27/EMEkbFAGiw52tB9em+uGbzpcgYVpA8wl0hlxKPZxrly4CXU/GjHA== - dependencies: - chalk "^2.0.1" - jest-diff "^24.9.0" - jest-get-type "^24.9.0" - pretty-format "^24.9.0" - - jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== - dependencies: - chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" - - jest-message-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-24.9.0.tgz#527f54a1e380f5e202a8d1149b0ec872f43119e3" - integrity sha512-oCj8FiZ3U0hTP4aSui87P4L4jC37BtQwUMqk+zk/b11FR19BJDeZsZAvIHutWnmtw7r85UmR3CEWZ0HWU2mAlw== - dependencies: - "@babel/code-frame" "^7.0.0" - "@jest/test-result" "^24.9.0" - "@jest/types" "^24.9.0" - "@types/stack-utils" "^1.0.1" - chalk "^2.0.1" - micromatch "^3.1.10" - slash "^2.0.0" - stack-utils "^1.0.1" - - jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^27.5.1" - slash "^3.0.0" - stack-utils "^2.0.3" - - jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - - jest-pnp-resolver@^1.2.2: - version "1.2.3" - resolved "https://registry.yarnpkg.com/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz#930b1546164d4ad5937d5540e711d4d38d4cad2e" - integrity sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w== - - jest-regex-util@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" - integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== - - jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== - - jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== - dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" - - jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== - dependencies: - "@jest/types" "^27.5.1" - chalk "^4.0.0" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" - resolve "^1.20.0" - resolve.exports "^1.1.0" - slash "^3.0.0" - - jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== - dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - emittery "^0.8.1" - graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - - jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - chalk "^4.0.0" - cjs-module-lexer "^1.0.0" - collect-v8-coverage "^1.0.0" - execa "^5.0.0" - glob "^7.1.3" - graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - slash "^3.0.0" - strip-bom "^4.0.0" - - jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== - dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - - jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== - dependencies: - "@babel/core" "^7.7.2" - "@babel/generator" "^7.7.2" - "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" - babel-preset-current-node-syntax "^1.0.0" - chalk "^4.0.0" - expect "^27.5.1" - graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" - natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" - - jest-util@^27.0.0, jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== - dependencies: - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - - jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== - dependencies: - "@jest/types" "^27.5.1" - camelcase "^6.2.0" - chalk "^4.0.0" - jest-get-type "^27.5.1" - leven "^3.1.0" - pretty-format "^27.5.1" - - jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== - dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - ansi-escapes "^4.2.1" - chalk "^4.0.0" - jest-util "^27.5.1" - string-length "^4.0.1" - - jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== - dependencies: - "@types/node" "*" - merge-stream "^2.0.0" - supports-color "^8.0.0" - - jest@^27.3.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== - dependencies: - "@jest/core" "^27.5.1" - import-local "^3.0.2" - jest-cli "^27.5.1" - - js-sha256@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" - integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== - - js-sha3@0.5.7, js-sha3@^0.5.7: - version "0.5.7" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.5.7.tgz#0d4ffd8002d5333aabaf4a23eed2f6374c9f28e7" - integrity sha512-GII20kjaPX0zJ8wzkTbNDYMY7msuZcTWk8S5UOh6806Jq/wz1J8/bnr8uGU0DAUmYDjj2Mr4X1cW8v/GLYnR+g== - - js-sha3@0.8.0, js-sha3@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" - integrity sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q== - - js-sha512@^0.8.0: - version "0.8.0" - resolved "https://registry.yarnpkg.com/js-sha512/-/js-sha512-0.8.0.tgz#dd22db8d02756faccf19f218e3ed61ec8249f7d4" - integrity sha512-PWsmefG6Jkodqt+ePTvBZCSMFgN7Clckjd0O7su3I0+BW2QWUTJNzjktHsztGLhncP2h8mcF9V9Y2Ha59pAViQ== - - "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" - integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== - - js-yaml@4.1.0, js-yaml@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" - integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== - dependencies: - argparse "^2.0.1" - - js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - - jsbi@^3.1.1, jsbi@^3.1.4, jsbi@^3.1.5, jsbi@^3.2.0: - version "3.2.5" - resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-3.2.5.tgz#b37bb90e0e5c2814c1c2a1bcd8c729888a2e37d6" - integrity sha512-aBE4n43IPvjaddScbvWRA2YlTzKEynHzu7MqOyTipdHucf/VxS63ViCjxYRg86M8Rxwbt/GfzHl1kKERkt45fQ== - - jsbi@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/jsbi/-/jsbi-4.3.0.tgz#b54ee074fb6fcbc00619559305c8f7e912b04741" - integrity sha512-SnZNcinB4RIcnEyZqFPdGPVgrg2AcnykiBy0sHVJQKHYeaLUvi3Exj+iaPpLnFVkDPZIV4U0yvgC9/R4uEAZ9g== - - jsbn@~0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513" - integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg== - - jscrypto@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/jscrypto/-/jscrypto-1.0.3.tgz#598febca2a939d6f679c54f56e1fe364cef30cc9" - integrity sha512-lryZl0flhodv4SZHOqyb1bx5sKcJxj0VBo0Kzb4QMAg3L021IC9uGpl0RCZa+9KJwlRGSK2C80ITcwbe19OKLQ== - - jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - - jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - - json-bigint@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-bigint/-/json-bigint-1.0.0.tgz#ae547823ac0cad8398667f8cd9ef4730f5b01ff1" - integrity sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ== - dependencies: - bignumber.js "^9.0.0" - - json-buffer@3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898" - integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ== - - json-buffer@3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/json-buffer/-/json-buffer-3.0.1.tgz#9338802a30d3b6605fbe0613e094008ca8c05a13" - integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ== - - json-parse-even-better-errors@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d" - integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== - - json-pointer@^0.6.1: - version "0.6.2" - resolved "https://registry.yarnpkg.com/json-pointer/-/json-pointer-0.6.2.tgz#f97bd7550be5e9ea901f8c9264c9d436a22a93cd" - integrity sha512-vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw== - dependencies: - foreach "^2.0.4" - - json-rpc-random-id@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-rpc-random-id/-/json-rpc-random-id-1.0.1.tgz#ba49d96aded1444dbb8da3d203748acbbcdec8c8" - integrity sha512-RJ9YYNCkhVDBuP4zN5BBtYAzEl03yq/jIIsyif0JY9qyJuQQZNeDK7anAPKKlyEtLSj2s8h6hNh2F8zO5q7ScA== - - json-schema-traverse@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" - integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== - - json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - - json-schema-typed@^7.0.3: - version "7.0.3" - resolved "https://registry.yarnpkg.com/json-schema-typed/-/json-schema-typed-7.0.3.tgz#23ff481b8b4eebcd2ca123b4fa0409e66469a2d9" - integrity sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A== - - json-schema@0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" - integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA== - - json-stable-stringify-without-jsonify@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651" - integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw== - - json-stable-stringify@^1.0.1, json-stable-stringify@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json-stable-stringify/-/json-stable-stringify-1.0.2.tgz#e06f23128e0bbe342dc996ed5a19e28b57b580e0" - integrity sha512-eunSSaEnxV12z+Z73y/j5N37/In40GK4GmsSy+tEHJMxknvqnA7/djeYtAgW0GsWHUfg+847WJjKaEylk2y09g== - dependencies: - jsonify "^0.0.1" - - json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" - integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== - - json5@2.x, json5@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - - json5@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" - integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA== - dependencies: - minimist "^1.2.0" - - jsonfile@^2.1.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" - integrity sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw== - optionalDependencies: - graceful-fs "^4.1.6" - - jsonfile@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb" - integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg== - optionalDependencies: - graceful-fs "^4.1.6" - - jsonfile@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae" - integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ== - dependencies: - universalify "^2.0.0" - optionalDependencies: - graceful-fs "^4.1.6" - - jsonify@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/jsonify/-/jsonify-0.0.1.tgz#2aa3111dae3d34a0f151c63f3a45d995d9420978" - integrity sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg== - - jsonparse@^1.2.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/jsonparse/-/jsonparse-1.3.1.tgz#3f4dae4a91fac315f71062f8521cc239f1366280" - integrity sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg== - - jsonschema@1.2.2: - version "1.2.2" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.2.2.tgz#83ab9c63d65bf4d596f91d81195e78772f6452bc" - integrity sha512-iX5OFQ6yx9NgbHCwse51ohhKgLuLL7Z5cNOeZOPIlDUtAMrxlruHLzVZxbltdHE5mEDXN+75oFOwq6Gn0MZwsA== - - jsonschema@^1.4.0: - version "1.4.1" - resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.1.tgz#cc4c3f0077fb4542982973d8a083b6b34f482dab" - integrity sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ== - - jsprim@^1.2.2: - version "1.4.2" - resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb" - integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw== - dependencies: - assert-plus "1.0.0" - extsprintf "1.3.0" - json-schema "0.4.0" - verror "1.10.0" - - jsqr@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/jsqr/-/jsqr-1.4.0.tgz#8efb8d0a7cc6863cb6d95116b9069123ce9eb2d1" - integrity sha512-dxLob7q65Xg2DvstYkRpkYtmKm2sPJ9oFhrhmudT1dZvNFFTlroai3AWSpLey/w5vMcLBXRgOJsbXpdN9HzU/A== - - keccak256@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/keccak256/-/keccak256-1.0.6.tgz#dd32fb771558fed51ce4e45a035ae7515573da58" - integrity sha512-8GLiM01PkdJVGUhR1e6M/AvWnSqYS0HaERI+K/QtStGDGlSTx2B1zTqZk4Zlqu5TxHJNTxWAdP9Y+WI50OApUw== - dependencies: - bn.js "^5.2.0" - buffer "^6.0.3" - keccak "^3.0.2" - - keccak@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.2.tgz#4c2c6e8c54e04f2670ee49fa734eb9da152206e0" - integrity sha512-PyKKjkH53wDMLGrvmRGSNWgmSxZOUqbnXwKL9tmgbFYA1iAYqW21kfR7mZXV0MlESiefxQQE9X9fTa3X+2MPDQ== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - - keccak@^3.0.0, keccak@^3.0.1, keccak@^3.0.2, keccak@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/keccak/-/keccak-3.0.3.tgz#4bc35ad917be1ef54ff246f904c2bbbf9ac61276" - integrity sha512-JZrLIAJWuZxKbCilMpNz5Vj7Vtb4scDG3dMXLOsbzBmQGyjwE61BbW7bJkfKKCShXiQZt3T6sBgALRtmd+nZaQ== - dependencies: - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - readable-stream "^3.6.0" - - keyv@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9" - integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA== - dependencies: - json-buffer "3.0.0" - - keyv@^4.0.0: - version "4.5.2" - resolved "https://registry.yarnpkg.com/keyv/-/keyv-4.5.2.tgz#0e310ce73bf7851ec702f2eaf46ec4e3805cce56" - integrity sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g== - dependencies: - json-buffer "3.0.1" - - keyvaluestorage-interface@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/keyvaluestorage-interface/-/keyvaluestorage-interface-1.0.0.tgz#13ebdf71f5284ad54be94bd1ad9ed79adad515ff" - integrity sha512-8t6Q3TclQ4uZynJY9IGr2+SsIGwK9JHcO6ootkHCGA0CrQCRy+VkouYNO2xicET6b9al7QKzpebNow+gkpCL8g== - - kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: - version "3.2.2" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" - integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ== - dependencies: - is-buffer "^1.1.5" - - kind-of@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57" - integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw== - dependencies: - is-buffer "^1.1.5" - - kind-of@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" - integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== - - kind-of@^6.0.0, kind-of@^6.0.2: - version "6.0.3" - resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" - integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== - - klaw@^1.0.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" - integrity sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw== - optionalDependencies: - graceful-fs "^4.1.9" - - kleur@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/kleur/-/kleur-3.0.3.tgz#a79c9ecc86ee1ce3fa6206d1216c501f147fc07e" - integrity sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w== - - kuler@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3" - integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A== - - lcid@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf" - integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA== - dependencies: - invert-kv "^2.0.0" - - lcov-parse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/lcov-parse/-/lcov-parse-1.0.0.tgz#eb0d46b54111ebc561acb4c408ef9363bdc8f7e0" - integrity sha512-aprLII/vPzuQvYZnDRU78Fns9I2Ag3gi4Ipga/hxnVMCZC8DnR2nI7XBqrPoywGfxqIx/DgarGvDJZAD3YBTgQ== - - level-codec@9.0.2, level-codec@^9.0.0: - version "9.0.2" - resolved "https://registry.yarnpkg.com/level-codec/-/level-codec-9.0.2.tgz#fd60df8c64786a80d44e63423096ffead63d8cbc" - integrity sha512-UyIwNb1lJBChJnGfjmO0OR+ezh2iVu1Kas3nvBS/BzGnx79dv6g7unpKIDNPMhfdTEGoc7mC8uAu51XEtX+FHQ== - dependencies: - buffer "^5.6.0" - - level-concat-iterator@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-3.1.0.tgz#5235b1f744bc34847ed65a50548aa88d22e881cf" - integrity sha512-BWRCMHBxbIqPxJ8vHOvKUsaO0v1sLYZtjN3K2iZJsRBYtp+ONsY6Jfi6hy9K3+zolgQRryhIn2NRZjZnWJ9NmQ== - dependencies: - catering "^2.1.0" - - level-concat-iterator@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/level-concat-iterator/-/level-concat-iterator-2.0.1.tgz#1d1009cf108340252cb38c51f9727311193e6263" - integrity sha512-OTKKOqeav2QWcERMJR7IS9CUo1sHnke2C0gkSmcR7QuEtFNLLzHQAvnMw8ykvEcv0Qtkg0p7FOwP1v9e5Smdcw== - - level-errors@^2.0.0, level-errors@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/level-errors/-/level-errors-2.0.1.tgz#2132a677bf4e679ce029f517c2f17432800c05c8" - integrity sha512-UVprBJXite4gPS+3VznfgDSU8PTRuVX0NXwoWW50KLxd2yw4Y1t2JUR5In1itQnudZqRMT9DlAM3Q//9NCjCFw== - dependencies: - errno "~0.1.1" - - level-iterator-stream@~4.0.0: - version "4.0.2" - resolved "https://registry.yarnpkg.com/level-iterator-stream/-/level-iterator-stream-4.0.2.tgz#7ceba69b713b0d7e22fcc0d1f128ccdc8a24f79c" - integrity sha512-ZSthfEqzGSOMWoUGhTXdX9jv26d32XJuHz/5YnuHZzH6wldfWMOVwI9TBtKcya4BKTyTt3XVA0A3cF3q5CY30Q== - dependencies: - inherits "^2.0.4" - readable-stream "^3.4.0" - xtend "^4.0.2" - - level-js@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/level-js/-/level-js-5.0.2.tgz#5e280b8f93abd9ef3a305b13faf0b5397c969b55" - integrity sha512-SnBIDo2pdO5VXh02ZmtAyPP6/+6YTJg2ibLtl9C34pWvmtMEmRTWpra+qO/hifkUtBTOtfx6S9vLDjBsBK4gRg== - dependencies: - abstract-leveldown "~6.2.3" - buffer "^5.5.0" - inherits "^2.0.3" - ltgt "^2.1.2" - - level-packager@^5.1.0: - version "5.1.1" - resolved "https://registry.yarnpkg.com/level-packager/-/level-packager-5.1.1.tgz#323ec842d6babe7336f70299c14df2e329c18939" - integrity sha512-HMwMaQPlTC1IlcwT3+swhqf/NUO+ZhXVz6TY1zZIIZlIR0YSn8GtAAWmIvKjNY16ZkEg/JcpAuQskxsXqC0yOQ== - dependencies: - encoding-down "^6.3.0" - levelup "^4.3.2" - - level-supports@^2.0.1: - version "2.1.0" - resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-2.1.0.tgz#9af908d853597ecd592293b2fad124375be79c5f" - integrity sha512-E486g1NCjW5cF78KGPrMDRBYzPuueMZ6VBXHT6gC7A8UYWGiM14fGgp+s/L1oFfDWSPV/+SFkYCmZ0SiESkRKA== - - level-supports@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-4.0.1.tgz#431546f9d81f10ff0fea0e74533a0e875c08c66a" - integrity sha512-PbXpve8rKeNcZ9C1mUicC9auIYFyGpkV9/i6g76tLgANwWhtG2v7I4xNBUlkn3lE2/dZF3Pi0ygYGtLc4RXXdA== - - level-supports@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/level-supports/-/level-supports-1.0.1.tgz#2f530a596834c7301622521988e2c36bb77d122d" - integrity sha512-rXM7GYnW8gsl1vedTJIbzOrRv85c/2uCMpiiCzO2fndd06U/kUXEEU9evYn4zFggBOg36IsBW8LzqIpETwwQzg== - dependencies: - xtend "^4.0.2" - - level-transcoder@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/level-transcoder/-/level-transcoder-1.0.1.tgz#f8cef5990c4f1283d4c86d949e73631b0bc8ba9c" - integrity sha512-t7bFwFtsQeD8cl8NIoQ2iwxA0CL/9IFw7/9gAjOonH0PWTTiRfY7Hq+Ejbsxh86tXobDQ6IOiddjNYIfOBs06w== - dependencies: - buffer "^6.0.3" - module-error "^1.0.1" - - level-write-stream@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/level-write-stream/-/level-write-stream-1.0.0.tgz#3f7fbb679a55137c0feb303dee766e12ee13c1dc" - integrity sha512-bBNKOEOMl8msO+uIM9YX/gUO6ckokZ/4pCwTm/lwvs46x6Xs8Zy0sn3Vh37eDqse4mhy4fOMIb/JsSM2nyQFtw== - dependencies: - end-stream "~0.1.0" - - level@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/level/-/level-6.0.1.tgz#dc34c5edb81846a6de5079eac15706334b0d7cd6" - integrity sha512-psRSqJZCsC/irNhfHzrVZbmPYXDcEYhA5TVNwr+V92jF44rbf86hqGp8fiT702FyiArScYIlPSBTDUASCVNSpw== - dependencies: - level-js "^5.0.0" - level-packager "^5.1.0" - leveldown "^5.4.0" - - level@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/level/-/level-8.0.0.tgz#41b4c515dabe28212a3e881b61c161ffead14394" - integrity sha512-ypf0jjAk2BWI33yzEaaotpq7fkOPALKAgDBxggO6Q9HGX2MRXn0wbP1Jn/tJv1gtL867+YOjOB49WaUF3UoJNQ== - dependencies: - browser-level "^1.0.1" - classic-level "^1.2.0" - - leveldown@5.6.0, leveldown@^5.4.0: - version "5.6.0" - resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-5.6.0.tgz#16ba937bb2991c6094e13ac5a6898ee66d3eee98" - integrity sha512-iB8O/7Db9lPaITU1aA2txU/cBEXAt4vWwKQRrrWuS6XDgbP4QZGj9BL2aNbwb002atoQ/lIotJkfyzz+ygQnUQ== - dependencies: - abstract-leveldown "~6.2.1" - napi-macros "~2.0.0" - node-gyp-build "~4.1.0" - - leveldown@6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/leveldown/-/leveldown-6.1.0.tgz#7ab1297706f70c657d1a72b31b40323aa612b9ee" - integrity sha512-8C7oJDT44JXxh04aSSsfcMI8YiaGRhOFI9/pMEL7nWJLVsWajDPTRxsSHTM2WcTVY5nXM+SuRHzPPi0GbnDX+w== - dependencies: - abstract-leveldown "^7.2.0" - napi-macros "~2.0.0" - node-gyp-build "^4.3.0" - - levelup@4.4.0, levelup@^4.3.2: - version "4.4.0" - resolved "https://registry.yarnpkg.com/levelup/-/levelup-4.4.0.tgz#f89da3a228c38deb49c48f88a70fb71f01cafed6" - integrity sha512-94++VFO3qN95cM/d6eBXvd894oJE0w3cInq9USsyQzzoJxmiYzPAocNcuGCPGGjoXqDVJcr3C1jzt1TSjyaiLQ== - dependencies: - deferred-leveldown "~5.3.0" - level-errors "~2.0.0" - level-iterator-stream "~4.0.0" - level-supports "~1.0.0" - xtend "~4.0.0" - - leven@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/leven/-/leven-3.1.0.tgz#77891de834064cccba82ae7842bb6b14a13ed7f2" - integrity sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A== - - levn@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade" - integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ== - dependencies: - prelude-ls "^1.2.1" - type-check "~0.4.0" - - levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - - libsodium-wrappers@^0.7.6: - version "0.7.11" - resolved "https://registry.yarnpkg.com/libsodium-wrappers/-/libsodium-wrappers-0.7.11.tgz#53bd20606dffcc54ea2122133c7da38218f575f7" - integrity sha512-SrcLtXj7BM19vUKtQuyQKiQCRJPgbpauzl3s0rSwD+60wtHqSUuqcoawlMDheCJga85nKOQwxNYQxf/CKAvs6Q== - dependencies: - libsodium "^0.7.11" - - libsodium@^0.7.11: - version "0.7.11" - resolved "https://registry.yarnpkg.com/libsodium/-/libsodium-0.7.11.tgz#cd10aae7bcc34a300cc6ad0ac88fcca674cfbc2e" - integrity sha512-WPfJ7sS53I2s4iM58QxY3Inb83/6mjlYgcmZs7DJsvDlnmVUwNinBCi5vBT43P6bHRy01O4zsMU2CoVR6xJ40A== - - lines-and-columns@^1.1.6: - version "1.2.4" - resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632" - integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== - - link-module-alias@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/link-module-alias/-/link-module-alias-1.2.0.tgz#6a3b7b014cfe18b2759a1222fffce6a40fc120e4" - integrity sha512-ahPjXepbSVKbahTB6LxR//VHm8HPfI+QQygCH+E82spBY4HR5VPJTvlhKBc9F7muVxnS6C1rRfoPOXAbWO/fyw== - dependencies: - chalk "^2.4.1" - - locate-path@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e" - integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA== - dependencies: - p-locate "^2.0.0" - path-exists "^3.0.0" - - locate-path@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e" - integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A== - dependencies: - p-locate "^3.0.0" - path-exists "^3.0.0" - - locate-path@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0" - integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== - dependencies: - p-locate "^4.1.0" - - locate-path@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286" - integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw== - dependencies: - p-locate "^5.0.0" - - lodash-es@^4.17.21, lodash-es@^4.2.1: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" - integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== - - lodash.flatmap@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.flatmap/-/lodash.flatmap-4.5.0.tgz#ef8cbf408f6e48268663345305c6acc0b778702e" - integrity sha512-/OcpcAGWlrZyoHGeHh3cAoa6nGdX6QYtmzNP84Jqol6UEQQ2gIaU3H+0eICcjcKGl0/XF8LWOujNn9lffsnaOg== - - lodash.isequal@4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - - lodash.memoize@4.x: - version "4.1.2" - resolved "https://registry.yarnpkg.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe" - integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag== - - lodash.merge@^4.6.2: - version "4.6.2" - resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" - integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== - - lodash.sortby@^4.7.0: - version "4.7.0" - resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" - integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA== - - lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw== - - lodash.values@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" - integrity sha512-r0RwvdCv8id9TUblb/O7rYPwVy6lerCbcawrfdo9iC/1t1wsNMJknO79WNBgwkH0hIeJ08jmvvESbFpNb4jH0Q== - - lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.7.0: - version "4.17.21" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" - integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== - - log-symbols@4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/log-symbols/-/log-symbols-4.1.0.tgz#3fbdbb95b4683ac9fc785111e792e558d4abd503" - integrity sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg== - dependencies: - chalk "^4.1.0" - is-unicode-supported "^0.1.0" - - logform@^2.3.2, logform@^2.4.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/logform/-/logform-2.5.1.tgz#44c77c34becd71b3a42a3970c77929e52c6ed48b" - integrity sha512-9FyqAm9o9NKKfiAKfZoYo9bGXXuwMkxQiQttkT4YjjVtQVIQtK6LmVtlxmCaFswo6N4AfEkHqZTV0taDtPotNg== - dependencies: - "@colors/colors" "1.5.0" - "@types/triple-beam" "^1.3.2" - fecha "^4.2.0" - ms "^2.1.1" - safe-stable-stringify "^2.3.1" - triple-beam "^1.3.0" - - loglevel@^1.6.8, loglevel@^1.8.1: - version "1.8.1" - resolved "https://registry.yarnpkg.com/loglevel/-/loglevel-1.8.1.tgz#5c621f83d5b48c54ae93b6156353f555963377b4" - integrity sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg== - - long@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28" - integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA== - - long@^5.0.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/long/-/long-5.2.1.tgz#e27595d0083d103d2fa2c20c7699f8e0c92b897f" - integrity sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A== - - long@^5.2.1: - version "5.2.3" - resolved "https://registry.yarnpkg.com/long/-/long-5.2.3.tgz#a3ba97f3877cf1d778eccbcb048525ebb77499e1" - integrity sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q== - - long@~3: - version "3.2.0" - resolved "https://registry.yarnpkg.com/long/-/long-3.2.0.tgz#d821b7138ca1cb581c172990ef14db200b5c474b" - integrity sha512-ZYvPPOMqUwPoDsbJaR10iQJYnMuZhRTvHYl62ErLIEX7RgFlziSBUUvrt3OVfc47QlHHpzPZYP17g3Fv7oeJkg== - - loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" - integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== - dependencies: - js-tokens "^3.0.0 || ^4.0.0" - - loupe@^2.3.1: - version "2.3.6" - resolved "https://registry.yarnpkg.com/loupe/-/loupe-2.3.6.tgz#76e4af498103c532d1ecc9be102036a21f787b53" - integrity sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA== - dependencies: - get-func-name "^2.0.0" - - lower-case-first@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1" - integrity sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA== - dependencies: - lower-case "^1.1.2" - - lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac" - integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA== - - lower-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/lower-case/-/lower-case-2.0.2.tgz#6fa237c63dbdc4a82ca0fd882e4722dc5e634e28" - integrity sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg== - dependencies: - tslib "^2.0.3" - - lowercase-keys@^1.0.0, lowercase-keys@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - - lowercase-keys@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479" - integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA== - - lowercase-keys@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-3.0.0.tgz#c5e7d442e37ead247ae9db117a9d0a467c89d4f2" - integrity sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ== - - "lru-cache@7.10.1 - 7.13.1": - version "7.13.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.13.1.tgz#267a81fbd0881327c46a81c5922606a2cfe336c4" - integrity sha512-CHqbAq7NFlW3RSnoWXLJBxCWaZVBrfa9UEHId2M3AW8iEBurbqduNexEUCGc3SHc6iCYXNJCDi903LajSVAEPQ== - - lru-cache@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920" - integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w== - dependencies: - yallist "^3.0.2" - - lru-cache@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94" - integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== - dependencies: - yallist "^4.0.0" - - lru-cache@^7.14.1: - version "7.18.3" - resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-7.18.3.tgz#f793896e0fd0e954a59dfdd82f0773808df6aa89" - integrity sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA== - - lru-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/lru-queue/-/lru-queue-0.1.0.tgz#2738bd9f0d3cf4f84490c5736c48699ac632cda3" - integrity sha512-BpdYkt9EvGl8OfWHDQPISVpcl5xZthb+XPsbELj5AQXxIC8IriDZIQYjBJPEm5rS420sjZ0TLEzRcq5KdBhYrQ== - dependencies: - es5-ext "~0.10.2" - - lru_map@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/lru_map/-/lru_map-0.3.3.tgz#b5c8351b9464cbd750335a79650a0ec0e56118dd" - integrity sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ== - - ltgt@2.2.1, ltgt@^2.1.2, ltgt@~2.2.0: - version "2.2.1" - resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" - integrity sha512-AI2r85+4MquTw9ZYqabu4nMwy9Oftlfa/e/52t9IjtfG+mGBbTNdAoZ3RQKLHR6r0wQnwZnPIEh/Ya6XTWAKNA== - - make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - - make-dir@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f" - integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw== - dependencies: - semver "^6.0.0" - - make-error@1.x, make-error@^1.1.1: - version "1.3.6" - resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" - integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== - - makeerror@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" - integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg== - dependencies: - tmpl "1.0.5" - - map-age-cleaner@^0.1.1: - version "0.1.3" - resolved "https://registry.yarnpkg.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a" - integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w== - dependencies: - p-defer "^1.0.0" - - map-cache@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf" - integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg== - - map-obj@^4.1.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/map-obj/-/map-obj-4.3.0.tgz#9304f906e93faae70880da102a9f1df0ea8bb05a" - integrity sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== - - map-visit@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f" - integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w== - dependencies: - object-visit "^1.0.0" - - mathjs@*: - version "11.7.0" - resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-11.7.0.tgz#a197e82c760c57744b20324a8c4eed677bddf179" - integrity sha512-RCXtrP5xGIbl9PUc5+7QL81rBCUjzoIZ0ugNqKsarOUxg+x7deY0BzfNai+bGfUL/T+1uYq1xs5w2xVdL3lp0g== - dependencies: - "@babel/runtime" "^7.21.0" - complex.js "^2.1.1" - decimal.js "^10.4.3" - escape-latex "^1.2.0" - fraction.js "^4.2.0" - javascript-natural-sort "^0.7.1" - seedrandom "^3.0.5" - tiny-emitter "^2.1.0" - typed-function "^4.1.0" - - mathjs@^10.5.0: - version "10.6.4" - resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-10.6.4.tgz#1b87a1268781d64f0c8b4e5e1b36cf7ecf58bb05" - integrity sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA== - dependencies: - "@babel/runtime" "^7.18.6" - complex.js "^2.1.1" - decimal.js "^10.3.1" - escape-latex "^1.2.0" - fraction.js "^4.2.0" - javascript-natural-sort "^0.7.1" - seedrandom "^3.0.5" - tiny-emitter "^2.1.0" - typed-function "^2.1.0" - - mathjs@^9.3.0: - version "9.5.2" - resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-9.5.2.tgz#e0f3279320dc6f49e45d99c4fcdd8b52231f0462" - integrity sha512-c0erTq0GP503/Ch2OtDOAn50GIOsuxTMjmE00NI/vKJFSWrDaQHRjx6ai+16xYv70yBSnnpUgHZGNf9FR9IwmA== - dependencies: - "@babel/runtime" "^7.15.4" - complex.js "^2.0.15" - decimal.js "^10.3.1" - escape-latex "^1.2.0" - fraction.js "^4.1.1" - javascript-natural-sort "^0.7.1" - seedrandom "^3.0.5" - tiny-emitter "^2.1.0" - typed-function "^2.0.0" - - mcl-wasm@^0.7.1: - version "0.7.9" - resolved "https://registry.yarnpkg.com/mcl-wasm/-/mcl-wasm-0.7.9.tgz#c1588ce90042a8700c3b60e40efb339fc07ab87f" - integrity sha512-iJIUcQWA88IJB/5L15GnJVnSQJmf/YaxxV6zRavv83HILHaJQb6y0iFyDMdDO0gN8X37tdxmAOrH/P8B6RB8sQ== - - md5.js@^1.3.4: - version "1.3.5" - resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" - integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - safe-buffer "^5.1.2" - - media-typer@0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748" - integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ== - - mem@^4.0.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178" - integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w== - dependencies: - map-age-cleaner "^0.1.1" - mimic-fn "^2.0.0" - p-is-promise "^2.0.0" - - memdown@1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/memdown/-/memdown-1.4.1.tgz#b4e4e192174664ffbae41361aa500f3119efe215" - integrity sha512-iVrGHZB8i4OQfM155xx8akvG9FIj+ht14DX5CQkCTG4EHzZ3d3sgckIf/Lm9ivZalEsFuEVnWv2B2WZvbrro2w== - dependencies: - abstract-leveldown "~2.7.1" - functional-red-black-tree "^1.0.1" - immediate "^3.2.3" - inherits "~2.0.1" - ltgt "~2.2.0" - safe-buffer "~5.1.1" - - memoizee@^0.4.15: - version "0.4.15" - resolved "https://registry.yarnpkg.com/memoizee/-/memoizee-0.4.15.tgz#e6f3d2da863f318d02225391829a6c5956555b72" - integrity sha512-UBWmJpLZd5STPm7PMUlOw/TSy972M+z8gcyQ5veOnSDRREz/0bmpyTfKt3/51DhEBqCZQn1udM/5flcSPYhkdQ== - dependencies: - d "^1.0.1" - es5-ext "^0.10.53" - es6-weak-map "^2.0.3" - event-emitter "^0.3.5" - is-promise "^2.2.2" - lru-queue "^0.1.0" - next-tick "^1.1.0" - timers-ext "^0.1.7" - - memory-level@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/memory-level/-/memory-level-1.0.0.tgz#7323c3fd368f9af2f71c3cd76ba403a17ac41692" - integrity sha512-UXzwewuWeHBz5krr7EvehKcmLFNoXxGcvuYhC41tRnkrTbJohtS7kVn9akmgirtRygg+f7Yjsfi8Uu5SGSQ4Og== - dependencies: - abstract-level "^1.0.0" - functional-red-black-tree "^1.0.1" - module-error "^1.0.1" - - memorystream@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/memorystream/-/memorystream-0.3.1.tgz#86d7090b30ce455d63fbae12dda51a47ddcaf9b2" - integrity sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw== - - merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== - - merge-stream@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60" - integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w== - - merge2@^1.2.3, merge2@^1.3.0, merge2@^1.4.1: - version "1.4.1" - resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae" - integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg== - - methods@^1.1.2, methods@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" - integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== - - micro-ftch@^0.3.1: - version "0.3.1" - resolved "https://registry.yarnpkg.com/micro-ftch/-/micro-ftch-0.3.1.tgz#6cb83388de4c1f279a034fb0cf96dfc050853c5f" - integrity sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg== - - micromatch@^3.1.10: - version "3.1.10" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" - integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - braces "^2.3.1" - define-property "^2.0.2" - extend-shallow "^3.0.2" - extglob "^2.0.4" - fragment-cache "^0.2.1" - kind-of "^6.0.2" - nanomatch "^1.2.9" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.2" - - micromatch@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.5.tgz#bc8999a7cbbf77cdc89f132f6e467051b49090c6" - integrity sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA== - dependencies: - braces "^3.0.2" - picomatch "^2.3.1" - - miller-rabin@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d" - integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA== - dependencies: - bn.js "^4.0.0" - brorand "^1.0.1" - - mime-db@1.52.0: - version "1.52.0" - resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70" - integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg== - - mime-types@^2.1.12, mime-types@^2.1.16, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34: - version "2.1.35" - resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a" - integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw== - dependencies: - mime-db "1.52.0" - - mime@1.6.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1" - integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg== - - mime@2.6.0: - version "2.6.0" - resolved "https://registry.yarnpkg.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367" - integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg== - - mimic-fn@^2.0.0, mimic-fn@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" - integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== - - mimic-fn@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-3.1.0.tgz#65755145bbf3e36954b949c16450427451d5ca74" - integrity sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ== - - mimic-response@^1.0.0, mimic-response@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b" - integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ== - - mimic-response@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9" - integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== - - min-document@^2.19.0: - version "2.19.0" - resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" - integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== - dependencies: - dom-walk "^0.1.0" - - minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7" - integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A== - - minimalistic-crypto-utils@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" - integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== - - "minimatch@2 || 3", minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1, minimatch@^3.1.2: - version "3.1.2" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" - integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== - dependencies: - brace-expansion "^1.1.7" - - minimatch@3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083" - integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA== - dependencies: - brace-expansion "^1.1.7" - - minimatch@5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.0.1.tgz#fb9022f7528125187c92bd9e9b6366be1cf3415b" - integrity sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g== - dependencies: - brace-expansion "^2.0.1" - - minimist@0.0.8: - version "0.0.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-0.0.8.tgz#857fcabfc3397d2625b8228262e86aa7a011b05d" - integrity sha512-miQKw5Hv4NS1Psg2517mV4e4dYNaO3++hjAvLOAzKqZ61rH8NS1SK+vbfBWZ5PY/Me/bEWhUwqMghEW5Fb9T7Q== - - minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.6: - version "1.2.8" - resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c" - integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== - - minipass@^2.6.0, minipass@^2.9.0: - version "2.9.0" - resolved "https://registry.yarnpkg.com/minipass/-/minipass-2.9.0.tgz#e713762e7d3e32fed803115cf93e04bca9fcc9a6" - integrity sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg== - dependencies: - safe-buffer "^5.1.2" - yallist "^3.0.0" - - minizlib@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/minizlib/-/minizlib-1.3.3.tgz#2290de96818a34c29551c8a8d301216bd65a861d" - integrity sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q== - dependencies: - minipass "^2.9.0" - - mitt@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/mitt/-/mitt-1.2.0.tgz#cb24e6569c806e31bd4e3995787fe38a04fdf90d" - integrity sha512-r6lj77KlwqLhIUku9UWYes7KJtsczvolZkzp8hbaDPPaE24OmWl5s539Mytlj22siEQKosZ26qCBgda2PKwoJw== - - mixin-deep@^1.2.0: - version "1.3.2" - resolved "https://registry.yarnpkg.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566" - integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA== - dependencies: - for-in "^1.0.2" - is-extendable "^1.0.1" - - mkdirp-promise@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/mkdirp-promise/-/mkdirp-promise-5.0.1.tgz#e9b8f68e552c68a9c1713b84883f7a1dd039b8a1" - integrity sha512-Hepn5kb1lJPtVW84RFT40YG1OddBNTOVUZR2bzQUHc+Z03en8/3uX0+060JDhcEzyO08HmipsN9DcnFMxhIL9w== - dependencies: - mkdirp "*" - - mkdirp@*: - version "2.1.5" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-2.1.5.tgz#78d7eaf15e069ba7b6b47d76dd94cfadf7a4062f" - integrity sha512-jbjfql+shJtAPrFoKxHOXip4xS+kul9W3OzfzzrqueWK2QMGon2bFH2opl6W9EagBThjEz+iysyi/swOoVfB/w== - - mkdirp@0.5.1: - version "0.5.1" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.1.tgz#30057438eac6cf7f8c4767f38648d6697d75c903" - integrity sha512-SknJC52obPfGQPnjIkXbmA6+5H15E+fR+E4iR2oQ3zzCLbd7/ONua69R/Gw7AgkTLsRG+r5fzksYwWe1AgTyWA== - dependencies: - minimist "0.0.8" - - mkdirp@^0.5.5, mkdirp@~0.5.1: - version "0.5.6" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6" - integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw== - dependencies: - minimist "^1.2.6" - - mkdirp@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-1.0.4.tgz#3eb5ed62622756d79a5f0e2a221dfebad75c2f7e" - integrity sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw== - - mnemonist@^0.38.0, mnemonist@^0.38.3: - version "0.38.5" - resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.5.tgz#4adc7f4200491237fe0fa689ac0b86539685cade" - integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== - dependencies: - obliterator "^2.0.0" - - mocha@10.1.0: - version "10.1.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.1.0.tgz#dbf1114b7c3f9d0ca5de3133906aea3dfc89ef7a" - integrity sha512-vUF7IYxEoN7XhQpFLxQAEMtE4W91acW4B6En9l97MwE9stL1A9gusXfoHZCLVHDUJ/7V5+lbCM6yMqzo5vNymg== - dependencies: - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.4" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "5.0.1" - ms "2.1.3" - nanoid "3.3.3" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - workerpool "6.2.1" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - - mocha@5.0.5: - version "5.0.5" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.0.5.tgz#e228e3386b9387a4710007a641f127b00be44b52" - integrity sha512-3MM3UjZ5p8EJrYpG7s+29HAI9G7sTzKEe4+w37Dg0QP7qL4XGsV+Q2xet2cE37AqdgN1OtYQB6Vl98YiPV3PgA== - dependencies: - browser-stdout "1.3.1" - commander "2.11.0" - debug "3.1.0" - diff "3.5.0" - escape-string-regexp "1.0.5" - glob "7.1.2" - growl "1.10.3" - he "1.1.1" - mkdirp "0.5.1" - supports-color "4.4.0" - - mocha@^10.0.0, mocha@^10.2.0: - version "10.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-10.2.0.tgz#1fd4a7c32ba5ac372e03a17eef435bd00e5c68b8" - integrity sha512-IDY7fl/BecMwFHzoqF2sg/SHHANeBoMMXFlS9r0OXKDssYE1M5O43wUY/9BVPeIvfH2zmEbBfseqN9gBQZzXkg== - dependencies: - ansi-colors "4.1.1" - browser-stdout "1.3.1" - chokidar "3.5.3" - debug "4.3.4" - diff "5.0.0" - escape-string-regexp "4.0.0" - find-up "5.0.0" - glob "7.2.0" - he "1.2.0" - js-yaml "4.1.0" - log-symbols "4.1.0" - minimatch "5.0.1" - ms "2.1.3" - nanoid "3.3.3" - serialize-javascript "6.0.0" - strip-json-comments "3.1.1" - supports-color "8.1.1" - workerpool "6.2.1" - yargs "16.2.0" - yargs-parser "20.2.4" - yargs-unparser "2.0.0" - - mocha@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/mocha/-/mocha-5.2.0.tgz#6d8ae508f59167f940f2b5b3c4a612ae50c90ae6" - integrity sha512-2IUgKDhc3J7Uug+FxMXuqIyYzH7gJjXECKe/w43IGgQHTSj3InJi+yAA7T24L9bQMRKiUEHxEX37G5JpVUGLcQ== - dependencies: - browser-stdout "1.3.1" - commander "2.15.1" - debug "3.1.0" - diff "3.5.0" - escape-string-regexp "1.0.5" - glob "7.1.2" - growl "1.10.5" - he "1.1.1" - minimatch "3.0.4" - mkdirp "0.5.1" - supports-color "5.4.0" - - mock-ethers-provider@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/mock-ethers-provider/-/mock-ethers-provider-1.0.2.tgz#e63966d9c3f088987c9f47b52b2c7e9a5157de68" - integrity sha512-bxNEAGoHpjOi8Used1GUfT/rT42UekmbsByxyEdcZRlr7zZwxoL0ONIS9pgWkpWcSzqzzQvlElNblyUK/FqcXg== - dependencies: - ethers "^5.0.19" - - mock-fs@^4.1.0: - version "4.14.0" - resolved "https://registry.yarnpkg.com/mock-fs/-/mock-fs-4.14.0.tgz#ce5124d2c601421255985e6e94da80a7357b1b18" - integrity sha512-qYvlv/exQ4+svI3UOvPUpLDF0OMX5euvUH0Ny4N5QyRyhNdgAgUrVH3iUINSzEPLvx0kbo/Bp28GJKIqvE7URw== - - module-error@^1.0.1, module-error@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/module-error/-/module-error-1.0.2.tgz#8d1a48897ca883f47a45816d4fb3e3c6ba404d86" - integrity sha512-0yuvsqSCv8LbaOKhnsQ/T5JhyFlCYLPXK3U2sgV10zoKQwzs/MyfuQUOZQ1V/6OCOJsK/TRgNVrPuPDqtdMFtA== - - moment@^2.19.3, moment@^2.29.1: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== - - morgan@^1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7" - integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ== - dependencies: - basic-auth "~2.0.1" - debug "2.6.9" - depd "~2.0.0" - on-finished "~2.3.0" - on-headers "~1.0.2" - - ms@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" - integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== - - ms@2.1.2: - version "2.1.2" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - - ms@2.1.3, ms@^2.0.0, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - - multibase@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.7.0.tgz#1adfc1c50abe05eefeb5091ac0c2728d6b84581b" - integrity sha512-TW8q03O0f6PNFTQDvh3xxH03c8CjGaaYrjkl9UQPG6rz53TQzzxJVCIWVjzcbN/Q5Y53Zd0IBQBMVktVgNx4Fg== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - - multibase@~0.6.0: - version "0.6.1" - resolved "https://registry.yarnpkg.com/multibase/-/multibase-0.6.1.tgz#b76df6298536cc17b9f6a6db53ec88f85f8cc12b" - integrity sha512-pFfAwyTjbbQgNc3G7D48JkJxWtoJoBMaR4xQUOuB8RnCgRqaYmWNFeJTTvrJ2w51bjLq2zTby6Rqj9TQ9elSUw== - dependencies: - base-x "^3.0.8" - buffer "^5.5.0" - - multicodec@^0.5.5: - version "0.5.7" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-0.5.7.tgz#1fb3f9dd866a10a55d226e194abba2dcc1ee9ffd" - integrity sha512-PscoRxm3f+88fAtELwUnZxGDkduE2HD9Q6GHUOywQLjOGT/HAdhjLDYNZ1e7VR0s0TP0EwZ16LNUTFpoBGivOA== - dependencies: - varint "^5.0.0" - - multicodec@^1.0.0: - version "1.0.4" - resolved "https://registry.yarnpkg.com/multicodec/-/multicodec-1.0.4.tgz#46ac064657c40380c28367c90304d8ed175a714f" - integrity sha512-NDd7FeS3QamVtbgfvu5h7fd1IlbaC4EQ0/pgU4zqE2vdHCmBGsUa0TiM8/TdSeG6BMPC92OOCf8F1ocE/Wkrrg== - dependencies: - buffer "^5.6.0" - varint "^5.0.0" - - multiformats@^9.4.2: - version "9.9.0" - resolved "https://registry.yarnpkg.com/multiformats/-/multiformats-9.9.0.tgz#c68354e7d21037a8f1f8833c8ccd68618e8f1d37" - integrity sha512-HoMUjhH9T8DDBNT+6xzkrd9ga/XiBI4xLr58LJACwK6G3HTOPeMz4nB4KJs33L2BelrIJa7P0VuNaVF3hMYfjg== - - multihashes@^0.4.15, multihashes@~0.4.15: - version "0.4.21" - resolved "https://registry.yarnpkg.com/multihashes/-/multihashes-0.4.21.tgz#dc02d525579f334a7909ade8a122dabb58ccfcb5" - integrity sha512-uVSvmeCWf36pU2nB4/1kzYZjsXD9vofZKpgudqkceYY5g2aZZXJ5r9lxuzoRLl1OAp28XljXsEJ/X/85ZsKmKw== - dependencies: - buffer "^5.5.0" - multibase "^0.7.0" - varint "^5.0.0" - - mustache@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" - integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== - - mv@~2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" - integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== - dependencies: - mkdirp "~0.5.1" - ncp "~2.0.0" - rimraf "~2.4.0" - - nan@2.14.0: - version "2.14.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c" - integrity sha512-INOFj37C7k3AfaNTtX8RhsTw7qRy7eLET14cROi9+5HAVbbHuIWUHEauBv5qT4Av2tWasiTY1Jw6puUNqRJXQg== - - nan@^2.13.2, nan@^2.14.0: - version "2.17.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== - - nano-json-stream-parser@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/nano-json-stream-parser/-/nano-json-stream-parser-0.1.2.tgz#0cc8f6d0e2b622b479c40d499c46d64b755c6f5f" - integrity sha512-9MqxMH/BSJC7dnLsEMPyfN5Dvoo49IsPFYMcHw3Bcfc2kN0lpHRBSzlMSVx4HGyJ7s9B31CyBTVehWJoQ8Ctew== - - nanoid@3.3.3: - version "3.3.3" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.3.tgz#fd8e8b7aa761fe807dba2d1b98fb7241bb724a25" - integrity sha512-p1sjXuopFs0xg+fPASzQ28agW1oHD7xDsd9Xkf3T15H3c/cifrFHVwrh74PdoklAPi+i7MdRsE47vm2r6JoB+w== - - nanomatch@^1.2.9: - version "1.2.13" - resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" - integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA== - dependencies: - arr-diff "^4.0.0" - array-unique "^0.3.2" - define-property "^2.0.2" - extend-shallow "^3.0.2" - fragment-cache "^0.2.1" - is-windows "^1.0.2" - kind-of "^6.0.2" - object.pick "^1.3.0" - regex-not "^1.0.0" - snapdragon "^0.8.1" - to-regex "^3.0.1" - - napi-macros@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/napi-macros/-/napi-macros-2.0.0.tgz#2b6bae421e7b96eb687aa6c77a7858640670001b" - integrity sha512-A0xLykHtARfueITVDernsAWdtIMbOJgKgcluwENp3AlsKN/PloyO10HtmoqnFAQAcxPkgZN7wdfPfEd0zNGxbg== - - natural-compare@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" - integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== - - ncp@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" - integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== - - near-api-js@0.44.2: - version "0.44.2" - resolved "https://registry.yarnpkg.com/near-api-js/-/near-api-js-0.44.2.tgz#e451f68f2c56bd885c7b918db5818a3e6e9423d0" - integrity sha512-eMnc4V+geggapEUa3nU2p8HSHn/njtloI4P2mceHQWO8vDE1NGpnAw8FuTBrLmXSgIv9m6oocgFc9t3VNf5zwg== - dependencies: - bn.js "5.2.0" - borsh "^0.6.0" - bs58 "^4.0.0" - depd "^2.0.0" - error-polyfill "^0.1.3" - http-errors "^1.7.2" - js-sha256 "^0.9.0" - mustache "^4.0.0" - node-fetch "^2.6.1" - text-encoding-utf-8 "^1.0.2" - tweetnacl "^1.0.1" - - near-api-js@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/near-api-js/-/near-api-js-1.0.0.tgz#7aebc8e538071114ed242e6cce3b8fa956267691" - integrity sha512-OYItaQIYlKK27FG5PrqqtkTI8Vv9TEOCi7gXePYigS4o6WofXciAXNjr4sihDJ8Vzi6s7+eEkf3zTNP3042FBw== - dependencies: - bn.js "5.2.1" - borsh "^0.7.0" - bs58 "^4.0.0" - depd "^2.0.0" - error-polyfill "^0.1.3" - http-errors "^1.7.2" - js-sha256 "^0.9.0" - mustache "^4.0.0" - node-fetch "^2.6.1" - text-encoding-utf-8 "^1.0.2" - tweetnacl "^1.0.1" - - negotiator@0.6.3: - version "0.6.3" - resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" - integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg== - - next-tick@1, next-tick@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/next-tick/-/next-tick-1.1.0.tgz#1836ee30ad56d67ef281b22bd199f709449b35eb" - integrity sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ== - - nice-try@^1.0.4: - version "1.0.5" - resolved "https://registry.yarnpkg.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366" - integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ== - - no-case@^2.2.0, no-case@^2.3.2: - version "2.3.2" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac" - integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ== - dependencies: - lower-case "^1.1.1" - - no-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/no-case/-/no-case-3.0.4.tgz#d361fd5c9800f558551a8369fc0dcd4662b6124d" - integrity sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg== - dependencies: - lower-case "^2.0.2" - tslib "^2.0.3" - - node-abort-controller@^3.0.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" - integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== - - node-addon-api@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-2.0.2.tgz#432cfa82962ce494b132e9d72a15b29f71ff5d32" - integrity sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA== - - node-addon-api@^3.0.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" - integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== - - node-addon-api@^5.0.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-5.1.0.tgz#49da1ca055e109a23d537e9de43c09cca21eb762" - integrity sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA== - - node-cache@5.1.2, node-cache@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-5.1.2.tgz#f264dc2ccad0a780e76253a694e9fd0ed19c398d" - integrity sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg== - dependencies: - clone "2.x" - - node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - - node-fetch@^2.6.1, node-fetch@^2.6.7: - version "2.6.9" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.9.tgz#7c7f744b5cc6eb5fd404e0c7a9fec630a55657e6" - integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== - dependencies: - whatwg-url "^5.0.0" - - node-gyp-build@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.4.0.tgz#42e99687ce87ddeaf3a10b99dc06abc11021f3f4" - integrity sha512-amJnQCcgtRVw9SvoebO3BKGESClrfXGCUTX9hSn1OuGQTQBOZmVd0Z0OlecpuRksKvbsUqALE8jls/ErClAPuQ== - - node-gyp-build@^4.2.0, node-gyp-build@^4.2.2, node-gyp-build@^4.3.0: - version "4.6.0" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.6.0.tgz#0c52e4cbf54bbd28b709820ef7b6a3c2d6209055" - integrity sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ== - - node-gyp-build@~4.1.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.1.1.tgz#d7270b5d86717068d114cc57fff352f96d745feb" - integrity sha512-dSq1xmcPDKPZ2EED2S6zw/b9NKsqzXRE6dVr8TVQnI3FJOTteUMuqF3Qqs6LZg+mLGYJWqQzMbIjMtJqTv87nQ== - - node-int64@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b" - integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw== - - node-interval-tree@^1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/node-interval-tree/-/node-interval-tree-1.3.3.tgz#15ffb904cde08270214acace8dc7653e89ae32b7" - integrity sha512-K9vk96HdTK5fEipJwxSvIIqwTqr4e3HRJeJrNxBSeVMNSC/JWARRaX7etOLOuTmrRMeOI/K5TCJu3aWIwZiNTw== - dependencies: - shallowequal "^1.0.2" - - node-releases@^2.0.8: - version "2.0.10" - resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" - integrity sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w== - - nodemon@^2.0.16: - version "2.0.21" - resolved "https://registry.yarnpkg.com/nodemon/-/nodemon-2.0.21.tgz#267edff25578da91075d6aa54346ef77ecb7b302" - integrity sha512-djN/n2549DUtY33S7o1djRCd7dEm0kBnj9c7S9XVXqRUbuggN1MZH/Nqa+5RFQr63Fbefq37nFXAE9VU86yL1A== - dependencies: - chokidar "^3.5.2" - debug "^3.2.7" - ignore-by-default "^1.0.1" - minimatch "^3.1.2" - pstree.remy "^1.1.8" - semver "^5.7.1" - simple-update-notifier "^1.0.7" - supports-color "^5.5.0" - touch "^3.1.0" - undefsafe "^2.0.5" - - nofilter@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-1.0.4.tgz#78d6f4b6a613e7ced8b015cec534625f7667006e" - integrity sha512-N8lidFp+fCz+TD51+haYdbDGrcBWwuHX40F5+z0qkUjMJ5Tp+rdSuAkMJ9N9eoolDlEVTf6u5icM+cNKkKW2mA== - - noms@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/noms/-/noms-0.0.0.tgz#da8ebd9f3af9d6760919b27d9cdc8092a7332859" - integrity sha512-lNDU9VJaOPxUmXcLb+HQFeUgQQPtMI24Gt6hgfuMHRJgMRHMF/qZ4HJD3GDru4sSw9IQl2jPjAYnQrdIeLbwow== - dependencies: - inherits "^2.0.1" - readable-stream "~1.0.31" - - nopt@~1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/nopt/-/nopt-1.0.10.tgz#6ddd21bd2a31417b92727dd585f8a6f37608ebee" - integrity sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg== - dependencies: - abbrev "1" - - normalize-path@^3.0.0, normalize-path@~3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65" - integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA== - - normalize-url@^4.1.0: - version "4.5.1" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a" - integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA== - - normalize-url@^6.0.1: - version "6.1.0" - resolved "https://registry.yarnpkg.com/normalize-url/-/normalize-url-6.1.0.tgz#40d0885b535deffe3f3147bec877d05fe4c5668a" - integrity sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A== - - npm-run-path@^2.0.0: - version "2.0.2" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f" - integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw== - dependencies: - path-key "^2.0.0" - - npm-run-path@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea" - integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw== - dependencies: - path-key "^3.0.0" - - number-is-nan@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" - integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== - - number-to-bn@1.7.0: - version "1.7.0" - resolved "https://registry.yarnpkg.com/number-to-bn/-/number-to-bn-1.7.0.tgz#bb3623592f7e5f9e0030b1977bd41a0c53fe1ea0" - integrity sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig== - dependencies: - bn.js "4.11.6" - strip-hex-prefix "1.0.0" - - nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== - - o3@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/o3/-/o3-1.0.3.tgz#192ce877a882dfa6751f0412a865fafb2da1dac0" - integrity sha512-f+4n+vC6s4ysy7YO7O2gslWZBUu8Qj2i2OUJOvjRxQva7jVjYjB29jrr9NCjmxZQR0gzrOcv1RnqoYOeMs5VRQ== - dependencies: - capability "^0.2.5" - - oauth-sign@~0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" - integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== - - object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: - version "4.1.1" - resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" - integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg== - - object-copy@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c" - integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ== - dependencies: - copy-descriptor "^0.1.0" - define-property "^0.2.5" - kind-of "^3.0.3" - - object-hash@^2.0.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/object-hash/-/object-hash-2.2.0.tgz#5ad518581eefc443bd763472b8ff2e9c2c0d54a5" - integrity sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw== - - object-inspect@^1.12.3, object-inspect@^1.9.0: - version "1.12.3" - resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.3.tgz#ba62dffd67ee256c8c086dfae69e016cd1f198b9" - integrity sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g== - - object-is@^1.0.1: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - - object-keys@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" - integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA== - - object-visit@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb" - integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA== - dependencies: - isobject "^3.0.0" - - object.assign@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.4.tgz#9673c7c7c351ab8c4d0b516f4343ebf4dfb7799f" - integrity sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - has-symbols "^1.0.3" - object-keys "^1.1.1" - - object.pick@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" - integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== - dependencies: - isobject "^3.0.1" - - object.values@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.6.tgz#4abbaa71eba47d63589d402856f908243eea9b1d" - integrity sha512-FVVTkD1vENCsAcwNs9k6jea2uHC/X0+JcjG8YA60FN5CMaJmG95wT9jek/xX9nornqGRrBkKtzuAu2wuHpKqvw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - - obliterator@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.4.tgz#fa650e019b2d075d745e44f1effeb13a2adbe816" - integrity sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ== - - oblivious-set@1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/oblivious-set/-/oblivious-set-1.1.1.tgz#d9d38e9491d51f27a5c3ec1681d2ba40aa81e98b" - integrity sha512-Oh+8fK09mgGmAshFdH6hSVco6KZmd1tTwNFWj35OvzdmJTMZtAkbn05zar2iG3v6sDs1JLEtOiBGNb6BHwkb2w== - - oboe@2.1.4: - version "2.1.4" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.4.tgz#20c88cdb0c15371bb04119257d4fdd34b0aa49f6" - integrity sha512-ymBJ4xSC6GBXLT9Y7lirj+xbqBLa+jADGJldGEYG7u8sZbS9GyG+u1Xk9c5cbriKwSpCg41qUhPjvU5xOpvIyQ== - dependencies: - http-https "^1.0.0" - - oboe@2.1.5: - version "2.1.5" - resolved "https://registry.yarnpkg.com/oboe/-/oboe-2.1.5.tgz#5554284c543a2266d7a38f17e073821fbde393cd" - integrity sha512-zRFWiF+FoicxEs3jNI/WYUrVEgA7DeET/InK0XQuudGHRg8iIob3cNPrJTKaz4004uaA9Pbe+Dwa8iluhjLZWA== - dependencies: - http-https "^1.0.0" - - on-exit-leak-free@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/on-exit-leak-free/-/on-exit-leak-free-0.2.0.tgz#b39c9e3bf7690d890f4861558b0d7b90a442d209" - integrity sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg== - - on-finished@2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" - integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg== - dependencies: - ee-first "1.1.1" - - on-finished@~2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947" - integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww== - dependencies: - ee-first "1.1.1" - - on-headers@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f" - integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA== - - once@^1.3.0, once@^1.3.1, once@^1.4.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1" - integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w== - dependencies: - wrappy "1" - - one-time@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45" - integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g== - dependencies: - fn.name "1.x.x" - - onetime@^5.1.0, onetime@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e" - integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg== - dependencies: - mimic-fn "^2.1.0" - - optimism@^0.16.1: - version "0.16.2" - resolved "https://registry.yarnpkg.com/optimism/-/optimism-0.16.2.tgz#519b0c78b3b30954baed0defe5143de7776bf081" - integrity sha512-zWNbgWj+3vLEjZNIh/okkY2EUfX+vB9TJopzIZwT1xxaMqC5hRLLraePod4c5n4He08xuXNH+zhKFFCu390wiQ== - dependencies: - "@wry/context" "^0.7.0" - "@wry/trie" "^0.3.0" - - optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - - optionator@^0.9.1: - version "0.9.1" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" - integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw== - dependencies: - deep-is "^0.1.3" - fast-levenshtein "^2.0.6" - levn "^0.4.1" - prelude-ls "^1.2.1" - type-check "^0.4.0" - word-wrap "^1.2.3" - - original-require@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/original-require/-/original-require-1.0.1.tgz#0f130471584cd33511c5ec38c8d59213f9ac5e20" - integrity sha512-5vdKMbE58WaE61uVD+PKyh8xdM398UnjPBLotW2sjG5MzHARwta/+NtMBCBA0t2WQblGYBvq5vsiZpWokwno+A== - - os-locale@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a" - integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q== - dependencies: - execa "^1.0.0" - lcid "^2.0.0" - mem "^4.0.0" - - os-tmpdir@~1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274" - integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g== - - p-cancelable@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-0.3.0.tgz#b9e123800bcebb7ac13a479be195b507b98d30fa" - integrity sha512-RVbZPLso8+jFeq1MfNvgXtCRED2raz/dKpacfTNxsx6pLEpEomM7gah6VeHSYV3+vo0OAi4MkArtQcWWXuQoyw== - - p-cancelable@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc" - integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw== - - p-cancelable@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-2.1.1.tgz#aab7fbd416582fa32a3db49859c122487c5ed2cf" - integrity sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg== - - p-cancelable@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-cancelable/-/p-cancelable-3.0.0.tgz#63826694b54d61ca1c20ebcb6d3ecf5e14cd8050" - integrity sha512-mlVgR3PGuzlo0MmTdk4cXqXWlwQDLnONTAg6sm62XkMJEiRxN3GL3SffkYvqwonbkJBcrI7Uvv5Zh9yjvn2iUw== - - p-defer@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c" - integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw== - - p-finally@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae" - integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow== - - p-is-promise@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e" - integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg== - - p-limit@^1.1.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8" - integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q== - dependencies: - p-try "^1.0.0" - - p-limit@^2.0.0, p-limit@^2.2.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1" - integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== - dependencies: - p-try "^2.0.0" - - p-limit@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" - integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== - dependencies: - yocto-queue "^0.1.0" - - p-locate@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43" - integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg== - dependencies: - p-limit "^1.1.0" - - p-locate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4" - integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ== - dependencies: - p-limit "^2.0.0" - - p-locate@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07" - integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== - dependencies: - p-limit "^2.2.0" - - p-locate@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834" - integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw== - dependencies: - p-limit "^3.0.2" - - p-map@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b" - integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ== - dependencies: - aggregate-error "^3.0.0" - - p-timeout@^1.1.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/p-timeout/-/p-timeout-1.2.1.tgz#5eb3b353b7fce99f101a1038880bb054ebbea386" - integrity sha512-gb0ryzr+K2qFqFv6qi3khoeqMZF/+ajxQipEF6NteZVnvz9tzdsfAVj3lYtn1gAXvH5lfLwfxEII799gt/mRIA== - dependencies: - p-finally "^1.0.0" - - p-try@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3" - integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww== - - p-try@^2.0.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" - integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== - - param-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247" - integrity sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w== - dependencies: - no-case "^2.2.0" - - parent-module@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2" - integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g== - dependencies: - callsites "^3.0.0" - - parse-asn1@^5.0.0, parse-asn1@^5.1.5: - version "5.1.6" - resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" - integrity sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw== - dependencies: - asn1.js "^5.2.0" - browserify-aes "^1.0.0" - evp_bytestokey "^1.0.0" - pbkdf2 "^3.0.3" - safe-buffer "^5.1.1" - - parse-headers@^2.0.0: - version "2.0.5" - resolved "https://registry.yarnpkg.com/parse-headers/-/parse-headers-2.0.5.tgz#069793f9356a54008571eb7f9761153e6c770da9" - integrity sha512-ft3iAoLOB/MlwbNXgzy43SWGP6sQki2jQvAyBg/zDFAgr9bfNWZIUj42Kw2eJIl8kEi4PbgE6U1Zau/HwI75HA== - - parse-json@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" - integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== - dependencies: - "@babel/code-frame" "^7.0.0" - error-ex "^1.3.1" - json-parse-even-better-errors "^2.3.0" - lines-and-columns "^1.1.6" - - parse-uri@1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/parse-uri/-/parse-uri-1.0.7.tgz#287629a09328a97e398468f21b8a00c4a2d9cc73" - integrity sha512-eWuZCMKNlVkXrEoANdXxbmqhu2SQO9jUMCSpdbJDObin0JxISn6e400EWsSRbr/czdKvWKkhZnMKEGUwf/Plmg== - - parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - - parseurl@^1.3.3, parseurl@~1.3.3: - version "1.3.3" - resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" - integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ== - - pascal-case@^2.0.0, pascal-case@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e" - integrity sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ== - dependencies: - camel-case "^3.0.0" - upper-case-first "^1.1.0" - - pascalcase@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" - integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw== - - path-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5" - integrity sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q== - dependencies: - no-case "^2.2.0" - - path-dirname@^1.0.0: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0" - integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q== - - path-exists@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" - integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ== - - path-exists@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3" - integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== - - path-is-absolute@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" - integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== - - path-key@^2.0.0, path-key@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" - integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw== - - path-key@^3.0.0, path-key@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" - integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== - - path-parse@^1.0.6, path-parse@^1.0.7: - version "1.0.7" - resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" - integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== - - path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== - - path-type@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" - integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== - - pathval@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/pathval/-/pathval-1.1.1.tgz#8534e77a77ce7ac5a2512ea21e0fdb8fcf6c3d8d" - integrity sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ== - - pbkdf2@^3.0.17, pbkdf2@^3.0.3, pbkdf2@^3.0.9: - version "3.1.2" - resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.1.2.tgz#dd822aa0887580e52f1a039dc3eda108efae3075" - integrity sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA== - dependencies: - create-hash "^1.1.2" - create-hmac "^1.1.4" - ripemd160 "^2.0.1" - safe-buffer "^5.0.1" - sha.js "^2.4.8" - - pend@~1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" - integrity sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg== - - performance-now@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" - integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== - - picocolors@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" - integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== - - picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3, picomatch@^2.3.1: - version "2.3.1" - resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" - integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== - - pify@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" - integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog== - - pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg== - - pinkie-promise@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa" - integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw== - dependencies: - pinkie "^2.0.0" - - pinkie@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870" - integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg== - - pino-abstract-transport@v0.5.0: - version "0.5.0" - resolved "https://registry.yarnpkg.com/pino-abstract-transport/-/pino-abstract-transport-0.5.0.tgz#4b54348d8f73713bfd14e3dc44228739aa13d9c0" - integrity sha512-+KAgmVeqXYbTtU2FScx1XS3kNyfZ5TrXY07V96QnUSFqo2gAqlvmaxH67Lj7SWazqsMabf+58ctdTcBgnOLUOQ== - dependencies: - duplexify "^4.1.2" - split2 "^4.0.0" - - pino-std-serializers@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/pino-std-serializers/-/pino-std-serializers-4.0.0.tgz#1791ccd2539c091ae49ce9993205e2cd5dbba1e2" - integrity sha512-cK0pekc1Kjy5w9V2/n+8MkZwusa6EyyxfeQCB799CQRhRt/CqYKiWs5adeu8Shve2ZNffvfC/7J64A2PJo1W/Q== - - pino@7.11.0: - version "7.11.0" - resolved "https://registry.yarnpkg.com/pino/-/pino-7.11.0.tgz#0f0ea5c4683dc91388081d44bff10c83125066f6" - integrity sha512-dMACeu63HtRLmCG8VKdy4cShCPKaYDR4youZqoSWLxl5Gu99HUw8bw75thbPv9Nip+H+QYX8o3ZJbTdVZZ2TVg== - dependencies: - atomic-sleep "^1.0.0" - fast-redact "^3.0.0" - on-exit-leak-free "^0.2.0" - pino-abstract-transport v0.5.0 - pino-std-serializers "^4.0.0" - process-warning "^1.0.0" - quick-format-unescaped "^4.0.3" - real-require "^0.1.0" - safe-stable-stringify "^2.1.0" - sonic-boom "^2.2.1" - thread-stream "^0.15.1" - - pirates@^4.0.4: - version "4.0.5" - resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.5.tgz#feec352ea5c3268fb23a37c702ab1699f35a5f3b" - integrity sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ== - - pkg-dir@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3" - integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ== - dependencies: - find-up "^4.0.0" - - pkg-up@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/pkg-up/-/pkg-up-3.1.0.tgz#100ec235cc150e4fd42519412596a28512a0def5" - integrity sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA== - dependencies: - find-up "^3.0.0" - - pluralize@^8.0.0: - version "8.0.0" - resolved "https://registry.yarnpkg.com/pluralize/-/pluralize-8.0.0.tgz#1a6fa16a38d12a1901e0320fa017051c539ce3b1" - integrity sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA== - - pngjs@^3.3.0: - version "3.4.0" - resolved "https://registry.yarnpkg.com/pngjs/-/pngjs-3.4.0.tgz#99ca7d725965fb655814eaf65f38f12bbdbf555f" - integrity sha512-NCrCHhWmnQklfH4MtJMRjZ2a8c80qXeMlQMv2uVp9ISJMTt562SbGd6n2oq0PaPgKm7Z6pL9E2UlLIhC+SHL3w== - - posix-character-classes@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" - integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg== - - pouchdb-abstract-mapreduce@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-abstract-mapreduce/-/pouchdb-abstract-mapreduce-7.3.1.tgz#96ff4a0f41cbe273f3f52fde003b719005a2093c" - integrity sha512-0zKXVFBvrfc1KnN0ggrB762JDmZnUpePHywo9Bq3Jy+L1FnoG7fXM5luFfvv5/T0gEw+ZTIwoocZECMnESBI9w== - dependencies: - pouchdb-binary-utils "7.3.1" - pouchdb-collate "7.3.1" - pouchdb-collections "7.3.1" - pouchdb-errors "7.3.1" - pouchdb-fetch "7.3.1" - pouchdb-mapreduce-utils "7.3.1" - pouchdb-md5 "7.3.1" - pouchdb-utils "7.3.1" - - pouchdb-adapter-leveldb-core@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-adapter-leveldb-core/-/pouchdb-adapter-leveldb-core-7.3.1.tgz#3c71dce7ff06c2e483d873d7aabc1fded56372ca" - integrity sha512-mxShHlqLMPz2gChrgtA9okV1ogFmQrRAoM/O4EN0CrQWPLXqYtpL1f7sI2asIvFe7SmpnvbLx7kkZyFmLTfwjA== - dependencies: - argsarray "0.0.1" - buffer-from "1.1.2" - double-ended-queue "2.1.0-0" - levelup "4.4.0" - pouchdb-adapter-utils "7.3.1" - pouchdb-binary-utils "7.3.1" - pouchdb-collections "7.3.1" - pouchdb-errors "7.3.1" - pouchdb-json "7.3.1" - pouchdb-md5 "7.3.1" - pouchdb-merge "7.3.1" - pouchdb-utils "7.3.1" - sublevel-pouchdb "7.3.1" - through2 "3.0.2" - - pouchdb-adapter-memory@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-adapter-memory/-/pouchdb-adapter-memory-7.3.1.tgz#7be4b0601326cb93eb1141ed910fdfdf40c36616" - integrity sha512-iHdWGJAHONqQv0we3Oi1MYen69ZS8McLW9wUyaAYcWTJnAIIAr2ZM0/TeTDVSHfMUwYqEYk7X8jRtJZEMwLnwg== - dependencies: - memdown "1.4.1" - pouchdb-adapter-leveldb-core "7.3.1" - pouchdb-utils "7.3.1" - - pouchdb-adapter-utils@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-adapter-utils/-/pouchdb-adapter-utils-7.3.1.tgz#7237cb597f8d337057df15d4859bfe3c881d8832" - integrity sha512-uKLG6dClwTs/sLIJ4WkLAi9wlnDBpOnfyhpeAgOjlOGN/XLz5nKHrA4UJRnURDyc+uv79S9r/Unc4hVpmbSPUw== - dependencies: - pouchdb-binary-utils "7.3.1" - pouchdb-collections "7.3.1" - pouchdb-errors "7.3.1" - pouchdb-md5 "7.3.1" - pouchdb-merge "7.3.1" - pouchdb-utils "7.3.1" - - pouchdb-binary-utils@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-binary-utils/-/pouchdb-binary-utils-7.3.1.tgz#eea22d9a5f880fcd95062476f4f5484cdf61496f" - integrity sha512-crZJNfAEOnUoRk977Qtmk4cxEv6sNKllQ6vDDKgQrQLFjMUXma35EHzNyIJr1s76J77Q4sqKQAmxz9Y40yHGtw== - dependencies: - buffer-from "1.1.2" - - pouchdb-collate@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-collate/-/pouchdb-collate-7.3.1.tgz#19d7b87dd173d1c765da8cc9987c5aa9eb24f11f" - integrity sha512-o4gyGqDMLMSNzf6EDTr3eHaH/JRMoqRhdc+eV+oA8u00nTBtr9wD+jypVe2LbgKLJ4NWqx2qVkXiTiQdUFtsLQ== - - pouchdb-collections@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-collections/-/pouchdb-collections-7.3.1.tgz#4f1819cf4dd6936a422c29f7fa26a9b5dca428f5" - integrity sha512-yUyDqR+OJmtwgExOSJegpBJXDLAEC84TWnbAYycyh+DZoA51Yw0+XVQF5Vh8Ii90/Ut2xo88fmrmp0t6kqom8w== - - pouchdb-debug@^7.1.1: - version "7.2.1" - resolved "https://registry.yarnpkg.com/pouchdb-debug/-/pouchdb-debug-7.2.1.tgz#f5f869f6113c12ccb97cddf5b0a32b6e0e67e961" - integrity sha512-eP3ht/AKavLF2RjTzBM6S9gaI2/apcW6xvaKRQhEdOfiANqerFuksFqHCal3aikVQuDO+cB/cw+a4RyJn/glBw== - dependencies: - debug "3.1.0" - - pouchdb-errors@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-errors/-/pouchdb-errors-7.3.1.tgz#78be36721e2edc446fac158a236a9218c7bcdb14" - integrity sha512-Zktz4gnXEUcZcty8FmyvtYUYsHskoST05m6H5/E2gg/0mCfEXq/XeyyLkZHaZmqD0ZPS9yNmASB1VaFWEKEaDw== - dependencies: - inherits "2.0.4" - - pouchdb-fetch@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-fetch/-/pouchdb-fetch-7.3.1.tgz#d54b1807be0f0a5d4b6d06e416c7d54952bbc348" - integrity sha512-205xAtvdHRPQ4fp1h9+RmT9oQabo9gafuPmWsS9aEl3ER54WbY8Vaj1JHZGbU4KtMTYvW7H5088zLS7Nrusuag== - dependencies: - abort-controller "3.0.0" - fetch-cookie "0.11.0" - node-fetch "2.6.7" - - pouchdb-find@^7.0.0: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-find/-/pouchdb-find-7.3.1.tgz#07a633d5ee2bd731dae9f991281cd25212088d29" - integrity sha512-AeqUfAVY1c7IFaY36BRT0vIz9r4VTKq/YOWTmiqndOZUQ/pDGxyO2fNFal6NN3PyYww0JijlD377cPvhnrhJVA== - dependencies: - pouchdb-abstract-mapreduce "7.3.1" - pouchdb-collate "7.3.1" - pouchdb-errors "7.3.1" - pouchdb-fetch "7.3.1" - pouchdb-md5 "7.3.1" - pouchdb-selector-core "7.3.1" - pouchdb-utils "7.3.1" - - pouchdb-json@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-json/-/pouchdb-json-7.3.1.tgz#a80a3060aa2914959e4dca7a4e2022ab20c7119a" - integrity sha512-AyOKsmc85/GtHjMZyEacqzja8qLVfycS1hh1oskR+Bm5PIITX52Fb8zyi0hEetV6VC0yuGbn0RqiLjJxQePeqQ== - dependencies: - vuvuzela "1.0.3" - - pouchdb-mapreduce-utils@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-mapreduce-utils/-/pouchdb-mapreduce-utils-7.3.1.tgz#f0ac2c8400fbedb705e9226082453ac7d3f2a066" - integrity sha512-oUMcq82+4pTGQ6dtrhgORHOVHZSr6w/5tFIUGlv7RABIDvJarL4snMawADjlpiEwPdiQ/ESG8Fqt8cxqvqsIgg== - dependencies: - argsarray "0.0.1" - inherits "2.0.4" - pouchdb-collections "7.3.1" - pouchdb-utils "7.3.1" - - pouchdb-md5@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-md5/-/pouchdb-md5-7.3.1.tgz#70fae44f9d27eb4c6a8e7106156b4593d31c1762" - integrity sha512-aDV8ui/mprnL3xmt0gT/81DFtTtJiKyn+OxIAbwKPMfz/rDFdPYvF0BmDC9QxMMzGfkV+JJUjU6at0PPs2mRLg== - dependencies: - pouchdb-binary-utils "7.3.1" - spark-md5 "3.0.2" - - pouchdb-merge@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-merge/-/pouchdb-merge-7.3.1.tgz#97aae682d7d8499b62b6ce234dcb9527c7bf6f02" - integrity sha512-FeK3r35mKimokf2PQ2tUI523QWyZ4lYZ0Yd75FfSch/SPY6wIokz5XBZZ6PHdu5aOJsEKzoLUxr8CpSg9DhcAw== - - pouchdb-selector-core@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-selector-core/-/pouchdb-selector-core-7.3.1.tgz#08245662de3d61f16ab8dae2b56ef622935b3fb3" - integrity sha512-HBX+nNGXcaL9z0uNpwSMRq2GNZd3EZXW+fe9rJHS0hvJohjZL7aRJLoaXfEdHPRTNW+CpjM3Rny60eGekQdI/w== - dependencies: - pouchdb-collate "7.3.1" - pouchdb-utils "7.3.1" - - pouchdb-utils@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/pouchdb-utils/-/pouchdb-utils-7.3.1.tgz#d25f0a034427f388ba5ae37d9ae3fbed210e8720" - integrity sha512-R3hHBo1zTdTu/NFs3iqkcaQAPwhIH0gMIdfVKd5lbDYlmP26rCG5pdS+v7NuoSSFLJ4xxnaGV+Gjf4duYsJ8wQ== - dependencies: - argsarray "0.0.1" - clone-buffer "1.0.0" - immediate "3.3.0" - inherits "2.0.4" - pouchdb-collections "7.3.1" - pouchdb-errors "7.3.1" - pouchdb-md5 "7.3.1" - uuid "8.3.2" - - pouchdb@7.3.0: - version "7.3.0" - resolved "https://registry.yarnpkg.com/pouchdb/-/pouchdb-7.3.0.tgz#440fbef12dfd8f9002320802528665e883a3b7f8" - integrity sha512-OwsIQGXsfx3TrU1pLruj6PGSwFH+h5k4hGNxFkZ76Um7/ZI8F5TzUHFrpldVVIhfXYi2vP31q0q7ot1FSLFYOw== - dependencies: - abort-controller "3.0.0" - argsarray "0.0.1" - buffer-from "1.1.2" - clone-buffer "1.0.0" - double-ended-queue "2.1.0-0" - fetch-cookie "0.11.0" - immediate "3.3.0" - inherits "2.0.4" - level "6.0.1" - level-codec "9.0.2" - level-write-stream "1.0.0" - leveldown "5.6.0" - levelup "4.4.0" - ltgt "2.2.1" - node-fetch "2.6.7" - readable-stream "1.1.14" - spark-md5 "3.0.2" - through2 "3.0.2" - uuid "8.3.2" - vuvuzela "1.0.3" - - preact@10.4.1: - version "10.4.1" - resolved "https://registry.yarnpkg.com/preact/-/preact-10.4.1.tgz#9b3ba020547673a231c6cf16f0fbaef0e8863431" - integrity sha512-WKrRpCSwL2t3tpOOGhf2WfTpcmbpxaWtDbdJdKdjd0aEiTkvOmS4NBkG6kzlaAHI9AkQ3iVqbFWM3Ei7mZ4o1Q== - - prelude-ls@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" - integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== - - prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - - prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha512-PhmXi5XmoyKw1Un4E+opM2KcsJInDvKyuOumcjjw3waw86ZNjHwVUOOWLc4bCzLdcKNaWBH9e99sbWzDQsVaYg== - - prepend-http@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897" - integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA== - - prettier-linter-helpers@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b" - integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w== - dependencies: - fast-diff "^1.1.2" - - prettier@2.8.4: - version "2.8.4" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.4.tgz#34dd2595629bfbb79d344ac4a91ff948694463c3" - integrity sha512-vIS4Rlc2FNh0BySk3Wkd6xmwxB0FpOndW5fisM5H8hsZSxU2VWVB5CWIkIjWvrHjIhxk2g3bfMKM87zNTrZddw== - - prettier@^2.3.0: - version "2.8.5" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.5.tgz#3dd8ae1ebddc4f6aa419c9b64d8c8319a7e0d982" - integrity sha512-3gzuxrHbKUePRBB4ZeU08VNkUcqEHaUaouNt0m7LGP4Hti/NuB07C7PPTM/LkWqXoJYJn2McEo5+kxPNrtQkLQ== - - pretty-format@^22.4.3: - version "22.4.3" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" - integrity sha512-S4oT9/sT6MN7/3COoOy+ZJeA92VmOnveLHgrwBE3Z1W5N9S2A1QGNYiE1z75DAENbJrXXUb+OWXhpJcg05QKQQ== - dependencies: - ansi-regex "^3.0.0" - ansi-styles "^3.2.0" - - pretty-format@^24.9.0: - version "24.9.0" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-24.9.0.tgz#12fac31b37019a4eea3c11aa9a959eb7628aa7c9" - integrity sha512-00ZMZUiHaJrNfk33guavqgvfJS30sLYf0f8+Srklv0AMPodGGHcoHgksZ3OThYnIvOd+8yMCn0YiEOogjlgsnA== - dependencies: - "@jest/types" "^24.9.0" - ansi-regex "^4.0.0" - ansi-styles "^3.2.0" - react-is "^16.8.4" - - pretty-format@^27.0.0, pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== - dependencies: - ansi-regex "^5.0.1" - ansi-styles "^5.0.0" - react-is "^17.0.1" - - process-nextick-args@~2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" - integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== - - process-warning@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/process-warning/-/process-warning-1.0.0.tgz#980a0b25dc38cd6034181be4b7726d89066b4616" - integrity sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q== - - process@^0.11.10: - version "0.11.10" - resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182" - integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A== - - progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - - promise-retry@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/promise-retry/-/promise-retry-2.0.1.tgz#ff747a13620ab57ba688f5fc67855410c370da22" - integrity sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g== - dependencies: - err-code "^2.0.2" - retry "^0.12.0" - - prompts@^2.0.1: - version "2.4.2" - resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.2.tgz#7b57e73b3a48029ad10ebd44f74b01722a4cb069" - integrity sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q== - dependencies: - kleur "^3.0.3" - sisteransi "^1.0.5" - - prop-types@^15.6.0, prop-types@^15.6.2, prop-types@^15.7.2: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - - protobufjs@^6.11.2, protobufjs@^6.11.3, protobufjs@^6.8.8, protobufjs@~6.11.2, protobufjs@~6.11.3: - version "6.11.3" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.3.tgz#637a527205a35caa4f3e2a9a4a13ddffe0e7af74" - integrity sha512-xL96WDdCZYdU7Slin569tFX712BxsxslWwAfAhCYjQKGTq7dAU91Lomy6nLLhh/dyGhk/YH4TwTSRxTzhuHyZg== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/long" "^4.0.1" - "@types/node" ">=13.7.0" - long "^4.0.0" - - protobufjs@^7.0.0: - version "7.2.2" - resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-7.2.2.tgz#2af401d8c547b9476fb37ffc65782cf302342ca3" - integrity sha512-++PrQIjrom+bFDPpfmqXfAGSQs40116JRrqqyf53dymUMvvb5d/LMRyicRoF1AUKoXVS1/IgJXlEgcpr4gTF3Q== - dependencies: - "@protobufjs/aspromise" "^1.1.2" - "@protobufjs/base64" "^1.1.2" - "@protobufjs/codegen" "^2.0.4" - "@protobufjs/eventemitter" "^1.1.0" - "@protobufjs/fetch" "^1.1.0" - "@protobufjs/float" "^1.0.2" - "@protobufjs/inquire" "^1.1.0" - "@protobufjs/path" "^1.1.2" - "@protobufjs/pool" "^1.1.0" - "@protobufjs/utf8" "^1.1.0" - "@types/node" ">=13.7.0" - long "^5.0.0" - - proxy-addr@~2.0.7: - version "2.0.7" - resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025" - integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg== - dependencies: - forwarded "0.2.0" - ipaddr.js "1.9.1" - - proxy-from-env@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" - integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== - - prr@~1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476" - integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw== - - psl@^1.1.28, psl@^1.1.33: - version "1.9.0" - resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" - integrity sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag== - - pstree.remy@^1.1.8: - version "1.1.8" - resolved "https://registry.yarnpkg.com/pstree.remy/-/pstree.remy-1.1.8.tgz#c242224f4a67c21f686839bbdb4ac282b8373d3a" - integrity sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w== - - public-encrypt@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0" - integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q== - dependencies: - bn.js "^4.1.0" - browserify-rsa "^4.0.0" - create-hash "^1.1.0" - parse-asn1 "^5.0.0" - randombytes "^2.0.1" - safe-buffer "^5.1.2" - - pump@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64" - integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww== - dependencies: - end-of-stream "^1.1.0" - once "^1.3.1" - - punycode@2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.0.tgz#5f863edc89b96db09074bad7947bf09056ca4e7d" - integrity sha512-Yxz2kRwT90aPiWEMHVYnEf4+rhwF1tBmmZ4KepCP+Wkium9JxtWnUm1nqGwpiAHr/tnTSeHqr3wb++jgSkXjhA== - - punycode@^2.1.0, punycode@^2.1.1: - version "2.3.0" - resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.3.0.tgz#f67fa67c94da8f4d0cfff981aee4118064199b8f" - integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA== - - pure-rand@^5.0.1: - version "5.0.5" - resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-5.0.5.tgz#bda2a7f6a1fc0f284d78d78ca5902f26f2ad35cf" - integrity sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw== - - pushdata-bitcoin@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/pushdata-bitcoin/-/pushdata-bitcoin-1.0.1.tgz#15931d3cd967ade52206f523aa7331aef7d43af7" - integrity sha512-hw7rcYTJRAl4olM8Owe8x0fBuJJ+WGbMhQuLWOXEMN3PxPCKQHRkhfL+XG0+iXUmSHjkMmb3Ba55Mt21cZc9kQ== - dependencies: - bitcoin-ops "^1.3.0" - - qr.js@0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/qr.js/-/qr.js-0.0.0.tgz#cace86386f59a0db8050fa90d9b6b0e88a1e364f" - integrity sha512-c4iYnWb+k2E+vYpRimHqSu575b1/wKl4XFeJGpFmrJQz5I88v9aY2czh7s0w36srfCM1sXgC/xpoJz5dJfq+OQ== - - qrcode.react@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/qrcode.react/-/qrcode.react-1.0.1.tgz#2834bb50e5e275ffe5af6906eff15391fe9e38a5" - integrity sha512-8d3Tackk8IRLXTo67Y+c1rpaiXjoz/Dd2HpcMdW//62/x8J1Nbho14Kh8x974t9prsLHN6XqVgcnRiBGFptQmg== - dependencies: - loose-envify "^1.4.0" - prop-types "^15.6.0" - qr.js "0.0.0" - - qrcode@1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/qrcode/-/qrcode-1.4.4.tgz#f0c43568a7e7510a55efc3b88d9602f71963ea83" - integrity sha512-oLzEC5+NKFou9P0bMj5+v6Z40evexeE29Z9cummZXZ9QXyMr3lphkURzxjXgPJC5azpxcshoDWV1xE46z+/c3Q== - dependencies: - buffer "^5.4.3" - buffer-alloc "^1.2.0" - buffer-from "^1.1.1" - dijkstrajs "^1.0.1" - isarray "^2.0.1" - pngjs "^3.3.0" - yargs "^13.2.4" - - qs@6.11.0: - version "6.11.0" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - - qs@^6.11.0, qs@^6.7.0: - version "6.11.1" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.1.tgz#6c29dff97f0c0060765911ba65cbc9764186109f" - integrity sha512-0wsrzgTz/kAVIeuxSjnpGC56rzYtr6JT/2BwEvMaPhFIoYa1aGO8LbzuU1R0uUYQkLpWBTOj0l/CLAJB64J6nQ== - dependencies: - side-channel "^1.0.4" - - qs@~6.5.2: - version "6.5.3" - resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad" - integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA== - - query-string@7.1.1: - version "7.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-7.1.1.tgz#754620669db978625a90f635f12617c271a088e1" - integrity sha512-MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w== - dependencies: - decode-uri-component "^0.2.0" - filter-obj "^1.1.0" - split-on-first "^1.0.0" - strict-uri-encode "^2.0.0" - - query-string@^5.0.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/query-string/-/query-string-5.1.1.tgz#a78c012b71c17e05f2e3fa2319dd330682efb3cb" - integrity sha512-gjWOsm2SoGlgLEdAGt7a6slVOk9mGiXmPFMqrEhLQ68rhQuBnpfs3+EmlvqKyxnCo9/PPlF+9MtY02S1aFg+Jw== - dependencies: - decode-uri-component "^0.2.0" - object-assign "^4.1.0" - strict-uri-encode "^1.0.0" - - querystringify@^2.1.1: - version "2.2.0" - resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" - integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== - - queue-microtask@^1.2.2, queue-microtask@^1.2.3: - version "1.2.3" - resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" - integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== - - quick-format-unescaped@^4.0.3: - version "4.0.4" - resolved "https://registry.yarnpkg.com/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz#93ef6dd8d3453cbc7970dd614fad4c5954d6b5a7" - integrity sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== - - quick-lru@^5.1.1: - version "5.1.1" - resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" - integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== - - quickswap-sdk@^3.0.8: - version "3.0.14" - resolved "https://registry.yarnpkg.com/quickswap-sdk/-/quickswap-sdk-3.0.14.tgz#820e26027c2a6d6fdd027d6bceeb2a7ab782cc06" - integrity sha512-/Hp1fo6iHjQOlCuinKNgY6YGNuLk0Brg+Ltg/rM+qjMFhdij54DIXJrerKbuB6dQ+7EMvyaT9DxyCwiE/d8GTg== - dependencies: - "@uniswap/v2-core" "^1.0.0" - big.js "^5.2.2" - decimal.js-light "^2.5.0" - jsbi "^3.1.1" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - randombytes@2.1.0, randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a" - integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ== - dependencies: - safe-buffer "^5.1.0" - - randomfill@^1.0.3: - version "1.0.4" - resolved "https://registry.yarnpkg.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458" - integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw== - dependencies: - randombytes "^2.0.5" - safe-buffer "^5.1.0" - - range-parser@~1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" - integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== - - raw-body@2.5.1: - version "2.5.1" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.1.tgz#fe1b1628b181b700215e5fd42389f98b71392857" - integrity sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - - raw-body@2.5.2, raw-body@^2.4.1: - version "2.5.2" - resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a" - integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA== - dependencies: - bytes "3.1.2" - http-errors "2.0.0" - iconv-lite "0.4.24" - unpipe "1.0.0" - - react-dom@16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-16.13.1.tgz#c1bd37331a0486c078ee54c4740720993b2e0e7f" - integrity sha512-81PIMmVLnCNLO/fFOQxdQkvEq/+Hfpv24XNJfpyZhTRfO0QcmQIF/PgCa1zCOj2w1hrn12MFLyaJ/G0+Mxtfag== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - scheduler "^0.19.1" - - react-dom@^18: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" - integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== - dependencies: - loose-envify "^1.1.0" - scheduler "^0.23.0" - - react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.4: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" - integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== - - react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== - - react-lifecycles-compat@^3.0.0: - version "3.0.4" - resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" - integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== - - react-modal@^3.12.1: - version "3.16.1" - resolved "https://registry.yarnpkg.com/react-modal/-/react-modal-3.16.1.tgz#34018528fc206561b1a5467fc3beeaddafb39b2b" - integrity sha512-VStHgI3BVcGo7OXczvnJN7yT2TWHJPDXZWyI/a0ssFNhGZWsPmB8cF0z33ewDXq4VfYMO1vXgiv/g8Nj9NDyWg== - dependencies: - exenv "^1.2.0" - prop-types "^15.7.2" - react-lifecycles-compat "^3.0.0" - warning "^4.0.3" - - react-qr-reader@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/react-qr-reader/-/react-qr-reader-2.2.1.tgz#dc89046d1c1a1da837a683dd970de5926817d55b" - integrity sha512-EL5JEj53u2yAOgtpAKAVBzD/SiKWn0Bl7AZy6ZrSf1lub7xHwtaXe6XSx36Wbhl1VMGmvmrwYMRwO1aSCT2fwA== - dependencies: - jsqr "^1.2.0" - prop-types "^15.7.2" - webrtc-adapter "^7.2.1" - - react@16.13.1: - version "16.13.1" - resolved "https://registry.yarnpkg.com/react/-/react-16.13.1.tgz#2e818822f1a9743122c063d6410d85c1e3afe48e" - integrity sha512-YMZQQq32xHLX0bz5Mnibv1/LHb3Sqzngu7xstSM+vrkE5Kzr9xE0yMByK5kMoTK30YVJE61WfbxIFFvfeDKT1w== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - prop-types "^15.6.2" - - react@^18: - version "18.2.0" - resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" - integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== - dependencies: - loose-envify "^1.1.0" - - readable-stream@1.1.14: - version "1.1.14" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.1.14.tgz#7cf4c54ef648e3813084c636dd2079e166c081d9" - integrity sha512-+MeVjFf4L44XUkhM1eYbD8fyEsxcV81pqMSR5gblfcLCHfZvbrqy4/qYHE+/R5HoBUT11WV5O08Cr1n3YXkWVQ== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - - "readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.5.0, readable-stream@^3.6.0, readable-stream@^3.6.2: - version "3.6.2" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967" - integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== - dependencies: - inherits "^2.0.3" - string_decoder "^1.1.1" - util-deprecate "^1.0.1" - - readable-stream@^2.3.0, readable-stream@^2.3.5, readable-stream@~2.3.6: - version "2.3.8" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b" - integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.3" - isarray "~1.0.0" - process-nextick-args "~2.0.0" - safe-buffer "~5.1.1" - string_decoder "~1.1.1" - util-deprecate "~1.0.1" - - readable-stream@~0.0.2: - version "0.0.4" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-0.0.4.tgz#f32d76e3fb863344a548d79923007173665b3b8d" - integrity sha512-azrivNydKRYt7zwLV5wWUK7YzKTWs3q87xSmY6DlHapPrCvaT6ZrukvM5erV+yCSSPmZT8zkSdttOHQpWWm9zw== - - readable-stream@~1.0.31: - version "1.0.34" - resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c" - integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg== - dependencies: - core-util-is "~1.0.0" - inherits "~2.0.1" - isarray "0.0.1" - string_decoder "~0.10.x" - - readdirp@~3.6.0: - version "3.6.0" - resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" - integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA== - dependencies: - picomatch "^2.2.1" - - readonly-date@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/readonly-date/-/readonly-date-1.0.0.tgz#5af785464d8c7d7c40b9d738cbde8c646f97dcd9" - integrity sha512-tMKIV7hlk0h4mO3JTmmVuIlJVXjKk3Sep9Bf5OH0O+758ruuVkUy2J9SttDLm91IEX/WHlXPSpxMGjPj4beMIQ== - - real-require@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/real-require/-/real-require-0.1.0.tgz#736ac214caa20632847b7ca8c1056a0767df9381" - integrity sha512-r/H9MzAWtrv8aSVjPCMFpDMl5q66GqtmmRkRjpHTsp4zBAa+snZyiQNlMONiUmEJcsnaw0wCauJ2GWODr/aFkg== - - rechoir@^0.6.2: - version "0.6.2" - resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384" - integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw== - dependencies: - resolve "^1.1.6" - - redux-saga@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/redux-saga/-/redux-saga-1.0.0.tgz#acb8b3ed9180fecbe75f342011d75af3ac11045b" - integrity sha512-GvJWs/SzMvEQgeaw6sRMXnS2FghlvEGsHiEtTLpJqc/FHF3I5EE/B+Hq5lyHZ8LSoT2r/X/46uWvkdCnK9WgHA== - dependencies: - "@redux-saga/core" "^1.0.0" - - redux@^3.7.2: - version "3.7.2" - resolved "https://registry.yarnpkg.com/redux/-/redux-3.7.2.tgz#06b73123215901d25d065be342eb026bc1c8537b" - integrity sha512-pNqnf9q1hI5HHZRBkj3bAngGZW/JMCmexDlOxw4XagXY2o1327nHH54LoTjiPJ0gizoqPDRqWyX/00g0hD6w+A== - dependencies: - lodash "^4.2.1" - lodash-es "^4.2.1" - loose-envify "^1.1.0" - symbol-observable "^1.0.3" - - redux@^4.0.4: - version "4.2.1" - resolved "https://registry.yarnpkg.com/redux/-/redux-4.2.1.tgz#c08f4306826c49b5e9dc901dee0452ea8fce6197" - integrity sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w== - dependencies: - "@babel/runtime" "^7.9.2" - - ref-sdk@^0.1.4, ref-sdk@^0.1.5: - version "0.1.5" - resolved "https://registry.yarnpkg.com/ref-sdk/-/ref-sdk-0.1.5.tgz#d6e4cfca38a6f2a2433d97a930ed4eebb81de8c4" - integrity sha512-Gr40hYT+xY+rsj47s+HHejFENWkcBNELMbi67HZ8DmTyOq8VHUhXUY7gP5bMicw03jFAVU3+6jZ90iGM82IoXw== - dependencies: - "@types/big.js" "^6.1.5" - "@types/bn.js" "^5.1.1" - "@types/lodash" "^4.14.182" - big.js "^6.2.1" - mathjs "^9.3.0" - near-api-js "0.44.2" - ref-sdk "^0.1.4" - - regenerator-runtime@^0.13.11: - version "0.13.11" - resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz#f6dca3e7ceec20590d07ada785636a90cdca17f9" - integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== - - regex-not@^1.0.0, regex-not@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" - integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A== - dependencies: - extend-shallow "^3.0.2" - safe-regex "^1.1.0" - - regexp.prototype.flags@^1.4.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz#87cab30f80f66660181a3bb7bf5981a872b367ac" - integrity sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - functions-have-names "^1.2.2" - - regexpp@^3.0.0, regexpp@^3.1.0: - version "3.2.0" - resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" - integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== - - repeat-element@^1.1.2: - version "1.1.4" - resolved "https://registry.yarnpkg.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9" - integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ== - - repeat-string@^1.6.1: - version "1.6.1" - resolved "https://registry.yarnpkg.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637" - integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w== - - request@^2.79.0, request@^2.85.0: - version "2.88.2" - resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" - integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== - dependencies: - aws-sign2 "~0.7.0" - aws4 "^1.8.0" - caseless "~0.12.0" - combined-stream "~1.0.6" - extend "~3.0.2" - forever-agent "~0.6.1" - form-data "~2.3.2" - har-validator "~5.1.3" - http-signature "~1.2.0" - is-typedarray "~1.0.0" - isstream "~0.1.2" - json-stringify-safe "~5.0.1" - mime-types "~2.1.19" - oauth-sign "~0.9.0" - performance-now "^2.1.0" - qs "~6.5.2" - safe-buffer "^5.1.2" - tough-cookie "~2.5.0" - tunnel-agent "^0.6.0" - uuid "^3.3.2" - - require-directory@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" - integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== - - require-from-string@^2.0.0, require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - - require-main-filename@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1" - integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug== - - require-main-filename@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" - integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg== - - requires-port@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff" - integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ== - - reselect-tree@^1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/reselect-tree/-/reselect-tree-1.3.7.tgz#c3eca58765d9df96bae0017f6ff3504c304cdea0" - integrity sha512-kZN+C1cVJ6fFN2smSb0l4UvYZlRzttgnu183svH4NrU22cBY++ikgr2QT75Uuk4MYpv5gXSVijw4c5U6cx6GKg== - dependencies: - debug "^3.1.0" - json-pointer "^0.6.1" - reselect "^4.0.0" - - reselect@^4.0.0: - version "4.1.7" - resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.7.tgz#56480d9ff3d3188970ee2b76527bd94a95567a42" - integrity sha512-Zu1xbUt3/OPwsXL46hvOOoQrap2azE7ZQbokq61BQfiXvhewsKDwhMeZjTX9sX0nvw1t/U5Audyn1I9P/m9z0A== - - resolve-alpn@^1.0.0, resolve-alpn@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/resolve-alpn/-/resolve-alpn-1.2.1.tgz#b7adbdac3546aaaec20b45e7d8265927072726f9" - integrity sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g== - - resolve-cwd@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" - integrity sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg== - dependencies: - resolve-from "^5.0.0" - - resolve-from@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" - integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== - - resolve-from@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-5.0.0.tgz#c35225843df8f776df21c57557bc087e9dfdfc69" - integrity sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw== - - resolve-url@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" - integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== - - resolve.exports@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" - integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== - - resolve@1.17.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444" - integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w== - dependencies: - path-parse "^1.0.6" - - resolve@^1.1.6, resolve@^1.10.1, resolve@^1.20.0, resolve@^1.22.1: - version "1.22.1" - resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" - integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== - dependencies: - is-core-module "^2.9.0" - path-parse "^1.0.7" - supports-preserve-symlinks-flag "^1.0.0" - - response-iterator@^0.2.6: - version "0.2.6" - resolved "https://registry.yarnpkg.com/response-iterator/-/response-iterator-0.2.6.tgz#249005fb14d2e4eeb478a3f735a28fd8b4c9f3da" - integrity sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw== - - responselike@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" - integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ== - dependencies: - lowercase-keys "^1.0.0" - - responselike@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/responselike/-/responselike-2.0.1.tgz#9a0bc8fdc252f3fb1cca68b016591059ba1422bc" - integrity sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw== - dependencies: - lowercase-keys "^2.0.0" - - restore-cursor@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e" - integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA== - dependencies: - onetime "^5.1.0" - signal-exit "^3.0.2" - - ret@~0.1.10: - version "0.1.15" - resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc" - integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg== - - retry@0.13.1: - version "0.13.1" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" - integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== - - retry@^0.12.0: - version "0.12.0" - resolved "https://registry.yarnpkg.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b" - integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow== - - reusify@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" - integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== - - rimraf@^2.2.8: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - - rimraf@^3.0.0, rimraf@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" - integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== - dependencies: - glob "^7.1.3" - - rimraf@~2.4.0: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" - integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ== - dependencies: - glob "^6.0.1" - - ripemd160@^2.0.0, ripemd160@^2.0.1, ripemd160@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c" - integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA== - dependencies: - hash-base "^3.0.0" - inherits "^2.0.1" - - ripple-address-codec@^4.1.1, ripple-address-codec@^4.2.5: - version "4.2.5" - resolved "https://registry.yarnpkg.com/ripple-address-codec/-/ripple-address-codec-4.2.5.tgz#9d31b2066abd4cf1a135cd865b4e8e63269701e7" - integrity sha512-SZ96zZH+0REeyEcYVFl0vqcsGRXiFXS2RUgHupHhtVkOEk6men53vngVjJwBrSnY+oa6Cri15q1zSni3DEoxNw== - dependencies: - base-x "^3.0.9" - create-hash "^1.1.2" - - ripple-binary-codec@^1.1.3: - version "1.4.3" - resolved "https://registry.yarnpkg.com/ripple-binary-codec/-/ripple-binary-codec-1.4.3.tgz#4737044f2aa5da496c1d57619339f26df01cd494" - integrity sha512-P4ALjAJWBJpRApTQO+dJCrHE6mZxm7ypZot9OS0a3RCKOWTReNw0pDWfdhCGh1qXh71TeQnAk4CHdMLwR/76oQ== - dependencies: - assert "^2.0.0" - big-integer "^1.6.48" - buffer "5.6.0" - create-hash "^1.2.0" - decimal.js "^10.2.0" - ripple-address-codec "^4.2.5" - - ripple-keypairs@^1.0.3: - version "1.1.5" - resolved "https://registry.yarnpkg.com/ripple-keypairs/-/ripple-keypairs-1.1.5.tgz#eabfc371f2ef293fdc462664e18cbba32c4f5c7e" - integrity sha512-wLJXIBsMVazn2Yp/7oP4PvgA4Gd1HtuZLftdEJFNOLgraf82phqa2AnNK3t9f3XeQnApW1jAe/FcFFOY6QUn5w== - dependencies: - bn.js "^5.1.1" - brorand "^1.0.5" - elliptic "^6.5.4" - hash.js "^1.0.3" - ripple-address-codec "^4.2.5" - - ripple-lib-transactionparser@0.8.2: - version "0.8.2" - resolved "https://registry.yarnpkg.com/ripple-lib-transactionparser/-/ripple-lib-transactionparser-0.8.2.tgz#7aaad3ba1e1aeee1d5bcff32334a7a838f834dce" - integrity sha512-1teosQLjYHLyOQrKUQfYyMjDR3MAq/Ga+MJuLUfpBMypl4LZB4bEoMcmG99/+WVTEiZOezJmH9iCSvm/MyxD+g== - dependencies: - bignumber.js "^9.0.0" - lodash "^4.17.15" - - ripple-lib@^1.10.1: - version "1.10.1" - resolved "https://registry.yarnpkg.com/ripple-lib/-/ripple-lib-1.10.1.tgz#9c353702792b25465cdb269265d6f5bb27b1471b" - integrity sha512-OQk+Syl2JfxKxV2KuF/kBMtnh012I5tNnziP3G4WDGCGSIAgeqkOgkR59IQ0YDNrs1YW8GbApxrdMSRi/QClcA== - dependencies: - "@types/lodash" "^4.14.136" - "@types/ws" "^7.2.0" - bignumber.js "^9.0.0" - https-proxy-agent "^5.0.0" - jsonschema "1.2.2" - lodash "^4.17.4" - ripple-address-codec "^4.1.1" - ripple-binary-codec "^1.1.3" - ripple-keypairs "^1.0.3" - ripple-lib-transactionparser "0.8.2" - ws "^7.2.0" - - rlp@^2.0.0, rlp@^2.2.3, rlp@^2.2.4: - version "2.2.7" - resolved "https://registry.yarnpkg.com/rlp/-/rlp-2.2.7.tgz#33f31c4afac81124ac4b283e2bd4d9720b30beaf" - integrity sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ== - dependencies: - bn.js "^5.2.0" - - rpc-websockets@^7.5.1: - version "7.5.1" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.1.tgz#e0a05d525a97e7efc31a0617f093a13a2e10c401" - integrity sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w== - dependencies: - "@babel/runtime" "^7.17.2" - eventemitter3 "^4.0.7" - uuid "^8.3.2" - ws "^8.5.0" - optionalDependencies: - bufferutil "^4.0.1" - utf-8-validate "^5.0.2" - - rtcpeerconnection-shim@^1.2.15: - version "1.2.15" - resolved "https://registry.yarnpkg.com/rtcpeerconnection-shim/-/rtcpeerconnection-shim-1.2.15.tgz#e7cc189a81b435324c4949aa3dfb51888684b243" - integrity sha512-C6DxhXt7bssQ1nHb154lqeL0SXz5Dx4RczXZu2Aa/L1NJFnEVDxFwCBo3fqtuljhHIGceg5JKBV4XJ0gW5JKyw== - dependencies: - sdp "^2.6.0" - - run-parallel-limit@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/run-parallel-limit/-/run-parallel-limit-1.1.0.tgz#be80e936f5768623a38a963262d6bef8ff11e7ba" - integrity sha512-jJA7irRNM91jaKc3Hcl1npHsFLOXOoTkPCUL1JEa1R82O2miplXXRaGdjW/KM/98YQWDhJLiSs793CnXfblJUw== - dependencies: - queue-microtask "^1.2.2" - - run-parallel@^1.1.9: - version "1.2.0" - resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" - integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA== - dependencies: - queue-microtask "^1.2.2" - - rustbn.js@~0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" - integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== - - rxjs@6, rxjs@^6.6.3: - version "6.6.7" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9" - integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ== - dependencies: - tslib "^1.9.0" - - rxjs@^7.4.0, rxjs@^7.8.0: - version "7.8.0" - resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.8.0.tgz#90a938862a82888ff4c7359811a595e14e1e09a4" - integrity sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg== - dependencies: - tslib "^2.1.0" - - safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: - version "5.1.2" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" - integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== - - safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0: - version "5.2.1" - resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" - integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== - - safe-json-stringify@~1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" - integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== - - safe-json-utils@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/safe-json-utils/-/safe-json-utils-1.1.1.tgz#0e883874467d95ab914c3f511096b89bfb3e63b1" - integrity sha512-SAJWGKDs50tAbiDXLf89PDwt9XYkWyANFWVzn4dTXl5QyI8t2o/bW5/OJl3lvc2WVU4MEpTo9Yz5NVFNsp+OJQ== - - safe-regex-test@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" - integrity sha512-JBUUzyOgEwXQY1NuPtvcj/qcBDbDmEvWufhlnXZIm75DEHp+afM1r1ujJpJsV/gSM4t59tpDyPi1sd6ZaPFfsA== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.3" - is-regex "^1.1.4" - - safe-regex@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e" - integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg== - dependencies: - ret "~0.1.10" - - safe-stable-stringify@^2.1.0, safe-stable-stringify@^2.3.1: - version "2.4.3" - resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.4.3.tgz#138c84b6f6edb3db5f8ef3ef7115b8f55ccbf886" - integrity sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g== - - "safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0: - version "2.1.2" - resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a" - integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== - - salmon-adapter-sdk@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/salmon-adapter-sdk/-/salmon-adapter-sdk-1.1.1.tgz#d5fdd2d27b1a6c58e38c188c977eeeeface8b20c" - integrity sha512-28ysSzmDjx2AbotxSggqdclh9MCwlPJUldKkCph48oS5Xtwu0QOg8T9ZRHS2Mben4Y8sTq6VvxXznKssCYFBJA== - dependencies: - "@project-serum/sol-wallet-adapter" "^0.2.6" - eventemitter3 "^4.0.7" - - sax@>=0.6.0: - version "1.2.4" - resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" - integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== - - saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - - scheduler@^0.19.1: - version "0.19.1" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.19.1.tgz#4f3e2ed2c1a7d65681f4c854fa8c5a1ccb40f196" - integrity sha512-n/zwRWRYSUj0/3g/otKDRPMh6qv2SYMWNq85IEa8iZyAv8od9zDYpGSnpBEjNgcMNq6Scbu5KfIPxNF72R/2EA== - dependencies: - loose-envify "^1.1.0" - object-assign "^4.1.1" - - scheduler@^0.23.0: - version "0.23.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" - integrity sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw== - dependencies: - loose-envify "^1.1.0" - - scrypt-js@2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.3.tgz#bb0040be03043da9a012a2cea9fc9f852cfc87d4" - integrity sha512-d8DzQxNivoNDogyYmb/9RD5mEQE/Q7vG2dLDUgvfPmKL9xCVzgqUntOdS0me9Cq9Sh9VxIZuoNEFcsfyXRnyUw== - - scrypt-js@2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-2.0.4.tgz#32f8c5149f0797672e551c07e230f834b6af5f16" - integrity sha512-4KsaGcPnuhtCZQCxFxN3GVYIhKFPTdLd8PLC552XwbMndtD0cjRFAhDuuydXQ0h08ZfPgzqe6EKHozpuH74iDw== - - scrypt-js@3.0.1, scrypt-js@^3.0.0, scrypt-js@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/scrypt-js/-/scrypt-js-3.0.1.tgz#d314a57c2aef69d1ad98a138a21fe9eafa9ee312" - integrity sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA== - - "scrypt-shim@github:web3-js/scrypt-shim": - version "0.1.0" - resolved "https://codeload.github.com/web3-js/scrypt-shim/tar.gz/aafdadda13e660e25e1c525d1f5b2443f5eb1ebb" - dependencies: - scryptsy "^2.1.0" - semver "^6.3.0" - - scryptsy@2.1.0, scryptsy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/scryptsy/-/scryptsy-2.1.0.tgz#8d1e8d0c025b58fdd25b6fa9a0dc905ee8faa790" - integrity sha512-1CdSqHQowJBnMAFyPEBRfqag/YP9OF394FV+4YREIJX4ljD7OxvQRDayyoyyCk+senRjSkP6VnUNQmVQqB6g7w== - - sdp@^2.12.0, sdp@^2.6.0: - version "2.12.0" - resolved "https://registry.yarnpkg.com/sdp/-/sdp-2.12.0.tgz#338a106af7560c86e4523f858349680350d53b22" - integrity sha512-jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw== - - secp256k1@3.7.1: - version "3.7.1" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.7.1.tgz#12e473e0e9a7c2f2d4d4818e722ad0e14cc1e2f1" - integrity sha512-1cf8sbnRreXrQFdH6qsg2H71Xw91fCCS9Yp021GnUNJzWJS/py96fS4lHbnTnouLp08Xj6jBoBB6V78Tdbdu5g== - dependencies: - bindings "^1.5.0" - bip66 "^1.1.5" - bn.js "^4.11.8" - create-hash "^1.2.0" - drbg.js "^1.0.1" - elliptic "^6.4.1" - nan "^2.14.0" - safe-buffer "^5.1.2" - - secp256k1@4.0.3, secp256k1@^4.0.0, secp256k1@^4.0.1, secp256k1@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-4.0.3.tgz#c4559ecd1b8d3c1827ed2d1b94190d69ce267303" - integrity sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^2.0.0" - node-gyp-build "^4.2.0" - - secp256k1@5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-5.0.0.tgz#be6f0c8c7722e2481e9773336d351de8cddd12f7" - integrity sha512-TKWX8xvoGHrxVdqbYeZM9w+izTF4b9z3NhSaDkdn81btvuh+ivbIMGT/zQvDtTFWhRlThpoz6LEYTr7n8A5GcA== - dependencies: - elliptic "^6.5.4" - node-addon-api "^5.0.0" - node-gyp-build "^4.2.0" - - secp256k1@^3.0.1: - version "3.8.0" - resolved "https://registry.yarnpkg.com/secp256k1/-/secp256k1-3.8.0.tgz#28f59f4b01dbee9575f56a47034b7d2e3b3b352d" - integrity sha512-k5ke5avRZbtl9Tqx/SA7CbY3NF6Ro+Sj9cZxezFzuBlLDmyqPiL8hJJ+EmzD8Ig4LUDByHJ3/iPOVoRixs/hmw== - dependencies: - bindings "^1.5.0" - bip66 "^1.1.5" - bn.js "^4.11.8" - create-hash "^1.2.0" - drbg.js "^1.0.1" - elliptic "^6.5.2" - nan "^2.14.0" - safe-buffer "^5.1.2" - - seedrandom@^3.0.5: - version "3.0.5" - resolved "https://registry.yarnpkg.com/seedrandom/-/seedrandom-3.0.5.tgz#54edc85c95222525b0c7a6f6b3543d8e0b3aa0a7" - integrity sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg== - - seek-bzip@^1.0.5: - version "1.0.6" - resolved "https://registry.yarnpkg.com/seek-bzip/-/seek-bzip-1.0.6.tgz#35c4171f55a680916b52a07859ecf3b5857f21c4" - integrity sha512-e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ== - dependencies: - commander "^2.8.1" - - semver@6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.2.0.tgz#4d813d9590aaf8a9192693d6c85b9344de5901db" - integrity sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A== - - semver@7.3.7: - version "7.3.7" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.7.tgz#12c5b649afdbf9049707796e22a4028814ce523f" - integrity sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g== - dependencies: - lru-cache "^6.0.0" - - semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5, semver@^7.3.8: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - - semver@^5.5.0, semver@^5.7.1: - version "5.7.1" - resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" - integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== - - semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: - version "6.3.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" - integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== - - semver@~7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" - integrity sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A== - - send@0.18.0: - version "0.18.0" - resolved "https://registry.yarnpkg.com/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== - dependencies: - debug "2.6.9" - depd "2.0.0" - destroy "1.2.0" - encodeurl "~1.0.2" - escape-html "~1.0.3" - etag "~1.8.1" - fresh "0.5.2" - http-errors "2.0.0" - mime "1.6.0" - ms "2.1.3" - on-finished "2.4.1" - range-parser "~1.2.1" - statuses "2.0.1" - - sentence-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4" - integrity sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ== - dependencies: - no-case "^2.2.0" - upper-case-first "^1.1.2" - - serialize-javascript@6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.0.tgz#efae5d88f45d7924141da8b5c3a7a7e663fefeb8" - integrity sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag== - dependencies: - randombytes "^2.1.0" - - serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== - dependencies: - encodeurl "~1.0.2" - escape-html "~1.0.3" - parseurl "~1.3.3" - send "0.18.0" - - servify@^0.1.12: - version "0.1.12" - resolved "https://registry.yarnpkg.com/servify/-/servify-0.1.12.tgz#142ab7bee1f1d033b66d0707086085b17c06db95" - integrity sha512-/xE6GvsKKqyo1BAY+KxOWXcLpPsUUyji7Qg3bVD7hh1eRze5bR1uYiuDA/k3Gof1s9BTzQZEJK8sNcNGFIzeWw== - dependencies: - body-parser "^1.16.0" - cors "^2.8.1" - express "^4.14.0" - request "^2.79.0" - xhr "^2.3.3" - - set-blocking@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" - integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw== - - set-value@^2.0.0, set-value@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b" - integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw== - dependencies: - extend-shallow "^2.0.1" - is-extendable "^0.1.1" - is-plain-object "^2.0.3" - split-string "^3.0.1" - - setimmediate@1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.4.tgz#20e81de622d4a02588ce0c8da8973cbcf1d3138f" - integrity sha512-/TjEmXQVEzdod/FFskf3o7oOAsGhHf2j1dZqRFbDzq4F3mvvxflIIi4Hd3bLQE9y/CpwqfSQam5JakI/mi3Pog== - - setimmediate@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" - integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA== - - setprototypeof@1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424" - integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw== - - sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8: - version "2.4.11" - resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7" - integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ== - dependencies: - inherits "^2.0.1" - safe-buffer "^5.0.1" - - shallowequal@^1.0.2: - version "1.1.0" - resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" - integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== - - shebang-command@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea" - integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg== - dependencies: - shebang-regex "^1.0.0" - - shebang-command@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea" - integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA== - dependencies: - shebang-regex "^3.0.0" - - shebang-regex@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3" - integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ== - - shebang-regex@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172" - integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A== - - shelljs@^0.8.5: - version "0.8.5" - resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c" - integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow== - dependencies: - glob "^7.0.0" - interpret "^1.0.0" - rechoir "^0.6.2" - - shx@^0.3.2, shx@^0.3.3: - version "0.3.4" - resolved "https://registry.yarnpkg.com/shx/-/shx-0.3.4.tgz#74289230b4b663979167f94e1935901406e40f02" - integrity sha512-N6A9MLVqjxZYcVn8hLmtneQWIJtp8IKzMP4eMnx+nqkvXoqinUPCbUFLp2UcWTEIUONhlk0ewxr/jaVGlc+J+g== - dependencies: - minimist "^1.2.3" - shelljs "^0.8.5" - - side-channel@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" - integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw== - dependencies: - call-bind "^1.0.0" - get-intrinsic "^1.0.2" - object-inspect "^1.9.0" - - signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: - version "3.0.7" - resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" - integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== - - simple-concat@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f" - integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q== - - simple-get@^2.7.0: - version "2.8.2" - resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-2.8.2.tgz#5708fb0919d440657326cd5fe7d2599d07705019" - integrity sha512-Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw== - dependencies: - decompress-response "^3.3.0" - once "^1.3.1" - simple-concat "^1.0.0" - - simple-swizzle@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a" - integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg== - dependencies: - is-arrayish "^0.3.1" - - simple-update-notifier@^1.0.7: - version "1.1.0" - resolved "https://registry.yarnpkg.com/simple-update-notifier/-/simple-update-notifier-1.1.0.tgz#67694c121de354af592b347cdba798463ed49c82" - integrity sha512-VpsrsJSUcJEseSbMHkrsrAVSdvVS5I96Qo1QAQ4FxQ9wXFcB+pjj7FB7/us9+GcgfW4ziHtYMc1J0PLczb55mg== - dependencies: - semver "~7.0.0" - - sisteransi@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/sisteransi/-/sisteransi-1.0.5.tgz#134d681297756437cc05ca01370d3a7a571075ed" - integrity sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg== - - slash@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44" - integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A== - - slash@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" - integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== - - slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - - smart-buffer@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/smart-buffer/-/smart-buffer-4.2.0.tgz#6e1d71fa4f18c05f7d0ff216dd16a481d0e8d9ae" - integrity sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg== - - snake-case@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f" - integrity sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q== - dependencies: - no-case "^2.2.0" - - snake-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/snake-case/-/snake-case-3.0.4.tgz#4f2bbd568e9935abdfd593f34c691dadb49c452c" - integrity sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - - snakecase-keys@^5.1.2, snakecase-keys@^5.4.1: - version "5.4.5" - resolved "https://registry.yarnpkg.com/snakecase-keys/-/snakecase-keys-5.4.5.tgz#1d452c1557faf8d68f17f04a4991ccfd27afa239" - integrity sha512-qSQVcgcWk8mQUN1miVGnRMAUye1dbj9+F9PVkR7wZUXNCidQwrl/kOKmoYf+WbH2ju6c9pXnlmbS2he7pb2/9A== - dependencies: - map-obj "^4.1.0" - snake-case "^3.0.4" - type-fest "^2.5.2" - - snapdragon-node@^2.0.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b" - integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw== - dependencies: - define-property "^1.0.0" - isobject "^3.0.0" - snapdragon-util "^3.0.1" - - snapdragon-util@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2" - integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ== - dependencies: - kind-of "^3.2.0" - - snapdragon@^0.8.1: - version "0.8.2" - resolved "https://registry.yarnpkg.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d" - integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg== - dependencies: - base "^0.11.1" - debug "^2.2.0" - define-property "^0.2.5" - extend-shallow "^2.0.1" - map-cache "^0.2.2" - source-map "^0.5.6" - source-map-resolve "^0.5.0" - use "^3.1.0" - - socket.io-client@^4.6.1: - version "4.6.1" - resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.6.1.tgz#80d97d5eb0feca448a0fb6d69a7b222d3d547eab" - integrity sha512-5UswCV6hpaRsNg5kkEHVcbBIXEYoVbMQaHJBXJCyEQ+CiFPV1NIOY0XOFWG4XR4GZcB8Kn6AsRs/9cy9TbqVMQ== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.2" - engine.io-client "~6.4.0" - socket.io-parser "~4.2.1" - - socket.io-parser@~4.2.1: - version "4.2.4" - resolved "https://registry.yarnpkg.com/socket.io-parser/-/socket.io-parser-4.2.4.tgz#c806966cf7270601e47469ddeec30fbdfda44c83" - integrity sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew== - dependencies: - "@socket.io/component-emitter" "~3.1.0" - debug "~4.3.1" - - socks-proxy-agent@6.1.1: - version "6.1.1" - resolved "https://registry.yarnpkg.com/socks-proxy-agent/-/socks-proxy-agent-6.1.1.tgz#e664e8f1aaf4e1fb3df945f09e3d94f911137f87" - integrity sha512-t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew== - dependencies: - agent-base "^6.0.2" - debug "^4.3.1" - socks "^2.6.1" - - socks@^2.6.1: - version "2.7.1" - resolved "https://registry.yarnpkg.com/socks/-/socks-2.7.1.tgz#d8e651247178fde79c0663043e07240196857d55" - integrity sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ== - dependencies: - ip "^2.0.0" - smart-buffer "^4.2.0" - - solc@0.7.3: - version "0.7.3" - resolved "https://registry.yarnpkg.com/solc/-/solc-0.7.3.tgz#04646961bd867a744f63d2b4e3c0701ffdc7d78a" - integrity sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA== - dependencies: - command-exists "^1.2.8" - commander "3.0.2" - follow-redirects "^1.12.1" - fs-extra "^0.30.0" - js-sha3 "0.8.0" - memorystream "^0.3.1" - require-from-string "^2.0.0" - semver "^5.5.0" - tmp "0.0.33" - - sonic-boom@^2.2.1: - version "2.8.0" - resolved "https://registry.yarnpkg.com/sonic-boom/-/sonic-boom-2.8.0.tgz#c1def62a77425090e6ad7516aad8eb402e047611" - integrity sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg== - dependencies: - atomic-sleep "^1.0.0" - - source-map-resolve@^0.5.0: - version "0.5.3" - resolved "https://registry.yarnpkg.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a" - integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw== - dependencies: - atob "^2.1.2" - decode-uri-component "^0.2.0" - resolve-url "^0.2.1" - source-map-url "^0.4.0" - urix "^0.1.0" - - source-map-support@^0.5.13, source-map-support@^0.5.6: - version "0.5.21" - resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" - integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== - dependencies: - buffer-from "^1.0.0" - source-map "^0.6.0" - - source-map-url@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56" - integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw== - - source-map@^0.5.6: - version "0.5.7" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" - integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== - - source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: - version "0.6.1" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" - integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== - - source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - - spark-md5@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.2.tgz#7952c4a30784347abcee73268e473b9c0167e3fc" - integrity sha512-wcFzz9cDfbuqe0FZzfi2or1sgyIrsDwmPwfZC4hiNidPdPINjeUwNfv5kldczoEAcjl9Y1L3SM7Uz2PUEQzxQw== - - split-on-first@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/split-on-first/-/split-on-first-1.1.0.tgz#f610afeee3b12bce1d0c30425e76398b78249a5f" - integrity sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw== - - split-string@^3.0.1, split-string@^3.0.2: - version "3.1.0" - resolved "https://registry.yarnpkg.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2" - integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw== - dependencies: - extend-shallow "^3.0.0" - - split2@^4.0.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809" - integrity sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ== - - sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g== - - sshpk@^1.7.0: - version "1.17.0" - resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" - integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ== - dependencies: - asn1 "~0.2.3" - assert-plus "^1.0.0" - bcrypt-pbkdf "^1.0.0" - dashdash "^1.12.0" - ecc-jsbn "~0.1.1" - getpass "^0.1.1" - jsbn "~0.1.0" - safer-buffer "^2.0.2" - tweetnacl "~0.14.0" - - stack-trace@0.0.x: - version "0.0.10" - resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" - integrity sha512-KGzahc7puUKkzyMt+IqAep+TVNbKP+k2Lmwhub39m1AsTSkaDutx56aDCo+HLDzf/D26BIHTJWNiTG1KAJiQCg== - - stack-utils@^1.0.1: - version "1.0.5" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b" - integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ== - dependencies: - escape-string-regexp "^2.0.0" - - stack-utils@^2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/stack-utils/-/stack-utils-2.0.6.tgz#aaf0748169c02fc33c8232abccf933f54a1cc34f" - integrity sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ== - dependencies: - escape-string-regexp "^2.0.0" - - stacktrace-parser@^0.1.10: - version "0.1.10" - resolved "https://registry.yarnpkg.com/stacktrace-parser/-/stacktrace-parser-0.1.10.tgz#29fb0cae4e0d0b85155879402857a1639eb6051a" - integrity sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg== - dependencies: - type-fest "^0.7.1" - - static-extend@^0.1.1: - version "0.1.2" - resolved "https://registry.yarnpkg.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6" - integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g== - dependencies: - define-property "^0.2.5" - object-copy "^0.1.0" - - stats-lite@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/stats-lite/-/stats-lite-2.2.0.tgz#278a5571fa1d2e8b1691295dccc0235282393bbf" - integrity sha512-/Kz55rgUIv2KP2MKphwYT/NCuSfAlbbMRv2ZWw7wyXayu230zdtzhxxuXXcvsc6EmmhS8bSJl3uS1wmMHFumbA== - dependencies: - isnumber "~1.0.0" - - statuses@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" - integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ== - - "statuses@>= 1.5.0 < 2": - version "1.5.0" - resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" - integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== - - store2@^2.12.0: - version "2.14.2" - resolved "https://registry.yarnpkg.com/store2/-/store2-2.14.2.tgz#56138d200f9fe5f582ad63bc2704dbc0e4a45068" - integrity sha512-siT1RiqlfQnGqgT/YzXVUNsom9S0H1OX+dpdGN1xkyYATo4I6sep5NmsRD/40s3IIOvlCq6akxkqG82urIZW1w== - - stream-blackhole@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/stream-blackhole/-/stream-blackhole-1.0.3.tgz#6fc2e2c2e9d9fde6be8c68d3db88de09802e4d63" - integrity sha512-7NWl3dkmCd12mPkEwTbBPGxwvxj7L4O9DTjJudn02Fmk9K+RuPaDF8zeGo3kmjbsffU5E1aGpZ1dTR9AaRg6AQ== - - stream-browserify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-3.0.0.tgz#22b0a2850cdf6503e73085da1fc7b7d0c2122f2f" - integrity sha512-H73RAHsVBapbim0tU2JwwOiXUj+fikfiaoYAKHF3VJfA0pe2BCzkhAHBlLG6REzE+2WNZcxOXjK7lkso+9euLA== - dependencies: - inherits "~2.0.4" - readable-stream "^3.5.0" - - stream-shift@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/stream-shift/-/stream-shift-1.0.1.tgz#d7088281559ab2778424279b0877da3c392d5a3d" - integrity sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ== - - streamsearch@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/streamsearch/-/streamsearch-1.1.0.tgz#404dd1e2247ca94af554e841a8ef0eaa238da764" - integrity sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg== - - strict-uri-encode@^1.0.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" - integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ== - - strict-uri-encode@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-2.0.0.tgz#b9c7330c7042862f6b142dc274bbcc5866ce3546" - integrity sha512-QwiXZgpRcKkhTj2Scnn++4PKtWsH0kpzZ62L2R6c/LUVYv7hVnZqcg2+sMuT6R7Jusu1vviK/MFsu6kNJfWlEQ== - - string-length@^4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" - integrity sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ== - dependencies: - char-regex "^1.0.2" - strip-ansi "^6.0.0" - - string-width@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" - integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw== - dependencies: - code-point-at "^1.0.0" - is-fullwidth-code-point "^1.0.0" - strip-ansi "^3.0.0" - - string-width@^2.0.0, string-width@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" - integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw== - dependencies: - is-fullwidth-code-point "^2.0.0" - strip-ansi "^4.0.0" - - string-width@^3.0.0, string-width@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" - integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w== - dependencies: - emoji-regex "^7.0.1" - is-fullwidth-code-point "^2.0.0" - strip-ansi "^5.1.0" - - string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - - string.prototype.trim@^1.2.7: - version "1.2.7" - resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.7.tgz#a68352740859f6893f14ce3ef1bb3037f7a90533" - integrity sha512-p6TmeT1T3411M8Cgg9wBTMRtY2q9+PNy9EV1i2lIXUN/btt763oIfxwN3RR8VU6wHX8j/1CFy0L+YuThm6bgOg== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - - string.prototype.trimend@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.6.tgz#c4a27fa026d979d79c04f17397f250a462944533" - integrity sha512-JySq+4mrPf9EsDBEDYMOb/lM7XQLulwg5R/m1r0PXEFqrV0qHvl58sdTilSXtKOflCsK2E8jxf+GKC0T07RWwQ== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - - string.prototype.trimstart@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.6.tgz#e90ab66aa8e4007d92ef591bbf3cd422c56bdcf4" - integrity sha512-omqjMDaY92pbn5HOX7f9IccLA+U1tA9GvtU4JrodiXFfYB7jPzzHpRzpglLAjtUV6bB557zwClJezTqnAiYnQA== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.4" - es-abstract "^1.20.4" - - string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - - string_decoder@~0.10.x: - version "0.10.31" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94" - integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ== - - string_decoder@~1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" - integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== - dependencies: - safe-buffer "~5.1.0" - - strip-ansi@^3.0.0, strip-ansi@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf" - integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg== - dependencies: - ansi-regex "^2.0.0" - - strip-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f" - integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow== - dependencies: - ansi-regex "^3.0.0" - - strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0: - version "5.2.0" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae" - integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA== - dependencies: - ansi-regex "^4.1.0" - - strip-ansi@^6.0.0, strip-ansi@^6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - - strip-bom@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3" - integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA== - - strip-bom@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/strip-bom/-/strip-bom-4.0.0.tgz#9c3505c1db45bcedca3d9cf7a16f5c5aa3901878" - integrity sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w== - - strip-dirs@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/strip-dirs/-/strip-dirs-2.1.0.tgz#4987736264fc344cf20f6c34aca9d13d1d4ed6c5" - integrity sha512-JOCxOeKLm2CAS73y/U4ZeZPTkE+gNVCzKt7Eox84Iej1LT/2pTWYpZKJuxwQpvX1LiZb1xokNR7RLfuBAa7T3g== - dependencies: - is-natural-number "^4.0.1" - - strip-eof@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf" - integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q== - - strip-final-newline@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" - integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== - - strip-hex-prefix@1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/strip-hex-prefix/-/strip-hex-prefix-1.0.0.tgz#0c5f155fef1151373377de9dbb588da05500e36f" - integrity sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A== - dependencies: - is-hex-prefixed "1.0.0" - - strip-json-comments@3.1.1, strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" - integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig== - - sturdy-websocket@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/sturdy-websocket/-/sturdy-websocket-0.2.1.tgz#20a58fd53372ef96eaa08f3c61c91a10b07c7c05" - integrity sha512-NnzSOEKyv4I83qbuKw9ROtJrrT6Z/Xt7I0HiP/e6H6GnpeTDvzwGIGeJ8slai+VwODSHQDooW2CAilJwT9SpRg== - - sublevel-pouchdb@7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/sublevel-pouchdb/-/sublevel-pouchdb-7.3.1.tgz#c1cc03af45081345c7c82821d6dcaa74564ae2ef" - integrity sha512-n+4fK72F/ORdqPwoGgMGYeOrW2HaPpW9o9k80bT1B3Cim5BSvkKkr9WbWOWynni/GHkbCEdvLVFJL1ktosAdhQ== - dependencies: - inherits "2.0.4" - level-codec "9.0.2" - ltgt "2.2.1" - readable-stream "1.1.14" - - superagent@^8.0.5: - version "8.0.9" - resolved "https://registry.yarnpkg.com/superagent/-/superagent-8.0.9.tgz#2c6fda6fadb40516515f93e9098c0eb1602e0535" - integrity sha512-4C7Bh5pyHTvU33KpZgwrNKh/VQnvgtCSqPRfJAUdmrtSYePVzVg4E4OzsrbkhJj9O7SO6Bnv75K/F8XVZT8YHA== - dependencies: - component-emitter "^1.3.0" - cookiejar "^2.1.4" - debug "^4.3.4" - fast-safe-stringify "^2.1.1" - form-data "^4.0.0" - formidable "^2.1.2" - methods "^1.1.2" - mime "2.6.0" - qs "^6.11.0" - semver "^7.3.8" - - superstruct@^0.10.12: - version "0.10.13" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.10.13.tgz#705535a5598ff231bd976601a7b6b534a71a821b" - integrity sha512-W4SitSZ9MOyMPbHreoZVEneSZyPEeNGbdfJo/7FkJyRs/M3wQRFzq+t3S/NBwlrFSWdx1ONLjLb9pB+UKe4IqQ== - - superstruct@^0.14.2: - version "0.14.2" - resolved "https://registry.yarnpkg.com/superstruct/-/superstruct-0.14.2.tgz#0dbcdf3d83676588828f1cf5ed35cda02f59025b" - integrity sha512-nPewA6m9mR3d6k7WkZ8N8zpTWfenFH3q9pA2PkuiZxINr9DKB2+40wEQf0ixn8VaGuJ78AB6iWOtStI+/4FKZQ== - - supertest@^6.1.6: - version "6.3.3" - resolved "https://registry.yarnpkg.com/supertest/-/supertest-6.3.3.tgz#42f4da199fee656106fd422c094cf6c9578141db" - integrity sha512-EMCG6G8gDu5qEqRQ3JjjPs6+FYT1a7Hv5ApHvtSghmOFJYtsU5S+pSb6Y2EUeCEY3CmEL3mmQ8YWlPOzQomabA== - dependencies: - methods "^1.1.2" - superagent "^8.0.5" - - supports-color@4.4.0: - version "4.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-4.4.0.tgz#883f7ddabc165142b2a61427f3352ded195d1a3e" - integrity sha512-rKC3+DyXWgK0ZLKwmRsrkyHVZAjNkfzeehuFWdGGcqGDTZFH73+RH6S/RDAAxl9GusSjZSUWYLmT9N5pzXFOXQ== - dependencies: - has-flag "^2.0.0" - - supports-color@5.4.0: - version "5.4.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.4.0.tgz#1c6b337402c2137605efe19f10fec390f6faab54" - integrity sha512-zjaXglF5nnWpsq470jSv6P9DwPvgLkuapYmfDm3JWOm0vkNTVF2tI4UrN2r6jH1qM/uc/WtxYY1hYoA2dOKj5w== - dependencies: - has-flag "^3.0.0" - - supports-color@8.1.1, supports-color@^8.0.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c" - integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q== - dependencies: - has-flag "^4.0.0" - - supports-color@^5.3.0, supports-color@^5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f" - integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow== - dependencies: - has-flag "^3.0.0" - - supports-color@^7.0.0, supports-color@^7.1.0: - version "7.2.0" - resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" - integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== - dependencies: - has-flag "^4.0.0" - - supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - - supports-preserve-symlinks-flag@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" - integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== - - swagger-ui-dist@>=4.11.0: - version "4.18.1" - resolved "https://registry.yarnpkg.com/swagger-ui-dist/-/swagger-ui-dist-4.18.1.tgz#da77cee1531af3f989b3da9dd8cddc5b9fa5715d" - integrity sha512-n7AT4wzKIPpHy/BGflJOepGMrbY/7Cd5yVd9ptVczaJGAKScbVJrZxFbAE2ZSZa8KmqdQ0+pOs3/5mWY5tSMZQ== - - swagger-ui-express@^4.1.6: - version "4.6.2" - resolved "https://registry.yarnpkg.com/swagger-ui-express/-/swagger-ui-express-4.6.2.tgz#61b2cb9fd7932cdccff99e0efdf700a5459e493c" - integrity sha512-MHIOaq9JrTTB3ygUJD+08PbjM5Tt/q7x80yz9VTFIatw8j5uIWKcr90S0h5NLMzFEDC6+eVprtoeA5MDZXCUKQ== - dependencies: - swagger-ui-dist ">=4.11.0" - - swap-case@^1.1.0: - version "1.1.2" - resolved "https://registry.yarnpkg.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3" - integrity sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ== - dependencies: - lower-case "^1.1.1" - upper-case "^1.1.1" - - swarm-js@0.1.39: - version "0.1.39" - resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.39.tgz#79becb07f291d4b2a178c50fee7aa6e10342c0e8" - integrity sha512-QLMqL2rzF6n5s50BptyD6Oi0R1aWlJC5Y17SRIVXRj6OR1DRIPM7nepvrxxkjA1zNzFz6mUOMjfeqeDaWB7OOg== - dependencies: - bluebird "^3.5.0" - buffer "^5.0.5" - decompress "^4.0.0" - eth-lib "^0.1.26" - fs-extra "^4.0.2" - got "^7.1.0" - mime-types "^2.1.16" - mkdirp-promise "^5.0.1" - mock-fs "^4.1.0" - setimmediate "^1.0.5" - tar "^4.0.2" - xhr-request-promise "^0.1.2" - - swarm-js@^0.1.40: - version "0.1.42" - resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.42.tgz#497995c62df6696f6e22372f457120e43e727979" - integrity sha512-BV7c/dVlA3R6ya1lMlSSNPLYrntt0LUq4YMgy3iwpCIc6rZnS5W2wUoctarZ5pXlpKtxDDf9hNziEkcfrxdhqQ== - dependencies: - bluebird "^3.5.0" - buffer "^5.0.5" - eth-lib "^0.1.26" - fs-extra "^4.0.2" - got "^11.8.5" - mime-types "^2.1.16" - mkdirp-promise "^5.0.1" - mock-fs "^4.1.0" - setimmediate "^1.0.5" - tar "^4.0.2" - xhr-request "^1.0.1" - - symbol-observable@^1.0.3: - version "1.2.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804" - integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ== - - symbol-observable@^2.0.3: - version "2.0.3" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-2.0.3.tgz#5b521d3d07a43c351055fa43b8355b62d33fd16a" - integrity sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA== - - symbol-observable@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" - integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== - - symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - - table@^6.0.9: - version "6.8.1" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" - integrity sha512-Y4X9zqrCftUhMeH2EptSSERdVKt/nEdijTOacGD/97EKjhQ/Qs8RTlEGABSJNNN8lac9kheH+af7yAkEWlgneA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - - tar-stream@^1.5.2: - version "1.6.2" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" - integrity sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A== - dependencies: - bl "^1.0.0" - buffer-alloc "^1.2.0" - end-of-stream "^1.0.0" - fs-constants "^1.0.0" - readable-stream "^2.3.0" - to-buffer "^1.1.1" - xtend "^4.0.0" - - tar@^4.0.2: - version "4.4.19" - resolved "https://registry.yarnpkg.com/tar/-/tar-4.4.19.tgz#2e4d7263df26f2b914dee10c825ab132123742f3" - integrity sha512-a20gEsvHnWe0ygBY8JbxoM4w3SJdhc7ZAuxkLqh+nvNQN2IOt0B5lLgM490X5Hl8FF0dl0tOf2ewFYAlIFgzVA== - dependencies: - chownr "^1.1.4" - fs-minipass "^1.2.7" - minipass "^2.9.0" - minizlib "^1.3.3" - mkdirp "^0.5.5" - safe-buffer "^5.2.1" - yallist "^3.1.1" - - terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - - test-exclude@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" - integrity sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w== - dependencies: - "@istanbuljs/schema" "^0.1.2" - glob "^7.1.4" - minimatch "^3.0.4" - - text-encoding-utf-8@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz#585b62197b0ae437e3c7b5d0af27ac1021e10d13" - integrity sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg== - - text-encoding@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/text-encoding/-/text-encoding-0.7.0.tgz#f895e836e45990624086601798ea98e8f36ee643" - integrity sha512-oJQ3f1hrOnbRLOcwKz0Liq2IcrvDeZRHXhd9RgLrsT+DjWY/nty1Hi7v3dtkaEYbPYe0mUoOfzRrMwfXXwgPUA== - - text-hex@1.0.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5" - integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg== - - text-table@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" - integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== - - thread-stream@^0.15.1: - version "0.15.2" - resolved "https://registry.yarnpkg.com/thread-stream/-/thread-stream-0.15.2.tgz#fb95ad87d2f1e28f07116eb23d85aba3bc0425f4" - integrity sha512-UkEhKIg2pD+fjkHQKyJO3yoIvAP3N6RlNFt2dUhcS1FGvCD1cQa1M/PGknCLFIyZdtJOWQjejp7bdNqmN7zwdA== - dependencies: - real-require "^0.1.0" - - throat@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" - integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== - - through2@3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" - integrity sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ== - dependencies: - inherits "^2.0.4" - readable-stream "2 || 3" - - through2@^2.0.1, through2@^2.0.3: - version "2.0.5" - resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" - integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ== - dependencies: - readable-stream "~2.3.6" - xtend "~4.0.1" - - "through@>=2.2.7 <3", through@^2.3.8: - version "2.3.8" - resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5" - integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== - - timed-out@^4.0.0, timed-out@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha512-G7r3AhovYtr5YKOWQkta8RKAPb+J9IsO4uVmzjl8AZwfhs8UcUwTiD6gcJYSgOtzyjvQKrKYn41syHbUWMkafA== - - timers-ext@^0.1.7: - version "0.1.7" - resolved "https://registry.yarnpkg.com/timers-ext/-/timers-ext-0.1.7.tgz#6f57ad8578e07a3fb9f91d9387d65647555e25c6" - integrity sha512-b85NUNzTSdodShTIbky6ZF02e8STtVVfD+fu4aXXShEELpozH+bCpJLYMPZbsABN2wDH7fJpqIoXxJpzbf0NqQ== - dependencies: - es5-ext "~0.10.46" - next-tick "1" - - tiny-emitter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" - integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== - - tiny-invariant@^1.1.0: - version "1.3.1" - resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" - integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== - - tiny-secp256k1@^1.1.3, tiny-secp256k1@^1.1.6: - version "1.1.6" - resolved "https://registry.yarnpkg.com/tiny-secp256k1/-/tiny-secp256k1-1.1.6.tgz#7e224d2bee8ab8283f284e40e6b4acb74ffe047c" - integrity sha512-FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA== - dependencies: - bindings "^1.3.0" - bn.js "^4.11.8" - create-hmac "^1.1.7" - elliptic "^6.4.0" - nan "^2.13.2" - - tiny-typed-emitter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tiny-typed-emitter/-/tiny-typed-emitter-2.1.0.tgz#b3b027fdd389ff81a152c8e847ee2f5be9fad7b5" - integrity sha512-qVtvMxeXbVej0cQWKqVSSAHmKZEHAvxdF8HEUBFWts8h+xEo5m/lEiPakuyZ3BnCBjOD8i24kzNOiOLLgsSxhA== - - tiny-warning@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" - integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== - - title-case@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa" - integrity sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q== - dependencies: - no-case "^2.2.0" - upper-case "^1.0.3" - - tmp@0.0.33: - version "0.0.33" - resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" - integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw== - dependencies: - os-tmpdir "~1.0.2" - - tmpl@1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc" - integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw== - - to-buffer@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/to-buffer/-/to-buffer-1.1.1.tgz#493bd48f62d7c43fcded313a03dcadb2e1213a80" - integrity sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg== - - to-fast-properties@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" - integrity sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog== - - to-object-path@^0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af" - integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg== - dependencies: - kind-of "^3.0.2" - - to-readable-stream@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771" - integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q== - - to-regex-range@^2.1.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38" - integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg== - dependencies: - is-number "^3.0.0" - repeat-string "^1.6.1" - - to-regex-range@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4" - integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ== - dependencies: - is-number "^7.0.0" - - to-regex@^3.0.1, to-regex@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce" - integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw== - dependencies: - define-property "^2.0.2" - extend-shallow "^3.0.2" - regex-not "^1.0.2" - safe-regex "^1.1.0" - - toformat@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/toformat/-/toformat-2.0.0.tgz#7a043fd2dfbe9021a4e36e508835ba32056739d8" - integrity sha512-03SWBVop6nU8bpyZCx7SodpYznbZF5R4ljwNLBcTQzKOD9xuihRo/psX58llS1BMFhhAI08H3luot5GoXJz2pQ== - - toggle-selection@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/toggle-selection/-/toggle-selection-1.0.6.tgz#6e45b1263f2017fa0acc7d89d78b15b8bf77da32" - integrity sha512-BiZS+C1OS8g/q2RRbJmy59xpyghNBqrr6k5L/uKBGRsTfxmu3ffiRnd8mlGPUVayg8pvfi5urfnu8TU7DVOkLQ== - - toidentifier@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35" - integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA== - - touch@^3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/touch/-/touch-3.1.0.tgz#fe365f5f75ec9ed4e56825e0bb76d24ab74af83b" - integrity sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA== - dependencies: - nopt "~1.0.10" - - "tough-cookie@^2.3.3 || ^3.0.1 || ^4.0.0", tough-cookie@^4.0.0: - version "4.1.2" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" - integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== - dependencies: - psl "^1.1.33" - punycode "^2.1.1" - universalify "^0.2.0" - url-parse "^1.5.3" - - tough-cookie@~2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2" - integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g== - dependencies: - psl "^1.1.28" - punycode "^2.1.1" - - tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - - tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - - triple-beam@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9" - integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw== - - truffle-flattener@^1.4.4: - version "1.6.0" - resolved "https://registry.yarnpkg.com/truffle-flattener/-/truffle-flattener-1.6.0.tgz#abb64488b711e6cca0a9d3e449f6a85e35964c5d" - integrity sha512-scS5Bsi4CZyvlrmD4iQcLHTiG2RQFUXVheTgWeH6PuafmI+Lk5U87Es98loM3w3ImqC9/fPHq+3QIXbcPuoJ1Q== - dependencies: - "@resolver-engine/imports-fs" "^0.2.2" - "@solidity-parser/parser" "^0.14.1" - find-up "^2.1.0" - mkdirp "^1.0.4" - tsort "0.0.1" - - truffle-hdwallet-provider@^1.0.17: - version "1.0.17" - resolved "https://registry.yarnpkg.com/truffle-hdwallet-provider/-/truffle-hdwallet-provider-1.0.17.tgz#fe8edd0d6974eeb31af9959e41525fb19abd74ca" - integrity sha512-s6DvSP83jiIAc6TUcpr7Uqnja1+sLGJ8og3X7n41vfyC4OCaKmBtXL5HOHf+SsU3iblOvnbFDgmN6Y1VBL/fsg== - dependencies: - any-promise "^1.3.0" - bindings "^1.3.1" - web3 "1.2.1" - websocket "^1.0.28" - - truffle@^5.1.41: - version "5.8.1" - resolved "https://registry.yarnpkg.com/truffle/-/truffle-5.8.1.tgz#5d9a819e8d303d4e4078e3a475828c36773982f7" - integrity sha512-IxKn2urrbM7FVJP/3aQfC4sw2nG2he5tQehYFQ54M6S5yfWpl4PsxMZuRqid7CqnrkoruoYH6tZXypHqcFVc5Q== - dependencies: - "@truffle/db-loader" "^0.2.20" - "@truffle/debugger" "^11.0.31" - app-module-path "^2.2.0" - ganache "7.7.7" - mocha "10.1.0" - original-require "^1.0.1" - optionalDependencies: - "@truffle/db" "^2.0.20" - - ts-invariant@^0.10.3: - version "0.10.3" - resolved "https://registry.yarnpkg.com/ts-invariant/-/ts-invariant-0.10.3.tgz#3e048ff96e91459ffca01304dbc7f61c1f642f6c" - integrity sha512-uivwYcQaxAucv1CzRp2n/QdYPo4ILf9VXgH19zEIjFx2EJufV16P0JtJVpYHy89DItG6Kwj2oIUjrcK5au+4tQ== - dependencies: - tslib "^2.1.0" - - ts-jest@^27.0.5: - version "27.1.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.5.tgz#0ddf1b163fbaae3d5b7504a1e65c914a95cff297" - integrity sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA== - dependencies: - bs-logger "0.x" - fast-json-stable-stringify "2.x" - jest-util "^27.0.0" - json5 "2.x" - lodash.memoize "4.x" - make-error "1.x" - semver "7.x" - yargs-parser "20.x" - - ts-node@^10.0.0, ts-node@^10.9.1: - version "10.9.1" - resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.1.tgz#e73de9102958af9e1f0b168a6ff320e25adcff4b" - integrity sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw== - dependencies: - "@cspotcode/source-map-support" "^0.8.0" - "@tsconfig/node10" "^1.0.7" - "@tsconfig/node12" "^1.0.7" - "@tsconfig/node14" "^1.0.0" - "@tsconfig/node16" "^1.0.2" - acorn "^8.4.1" - acorn-walk "^8.1.1" - arg "^4.1.0" - create-require "^1.1.0" - diff "^4.0.1" - make-error "^1.1.1" - v8-compile-cache-lib "^3.0.1" - yn "3.1.1" - - tsconfig-paths@^3.14.1: - version "3.14.2" - resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz#6e32f1f79412decd261f92d633a9dc1cfa99f088" - integrity sha512-o/9iXgCYc5L/JxCHPe3Hvh8Q/2xm5Z+p18PESBU6Ff33695QnCHBEjcytY2q19ua7Mbl/DavtBOLq+oG0RCL+g== - dependencies: - "@types/json5" "^0.0.29" - json5 "^1.0.2" - minimist "^1.2.6" - strip-bom "^3.0.0" - - tslib@1.14.1, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== - - tslib@2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" - integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== - - tslib@2.5.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.3.0, tslib@^2.3.1, tslib@^2.4.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.5.0.tgz#42bfed86f5787aeb41d031866c8f402429e0fddf" - integrity sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg== - - tslib@~2.4.0: - version "2.4.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.1.tgz#0d0bfbaac2880b91e22df0768e55be9753a5b17e" - integrity sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA== - - tsort@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/tsort/-/tsort-0.0.1.tgz#e2280f5e817f8bf4275657fd0f9aebd44f5a2786" - integrity sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw== - - tsutils@^3.21.0: - version "3.21.0" - resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" - integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== - dependencies: - tslib "^1.8.1" - - tunnel-agent@^0.6.0: - version "0.6.0" - resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd" - integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w== - dependencies: - safe-buffer "^5.0.1" - - tweetnacl-util@^0.15.0, tweetnacl-util@^0.15.1: - version "0.15.1" - resolved "https://registry.yarnpkg.com/tweetnacl-util/-/tweetnacl-util-0.15.1.tgz#b80fcdb5c97bcc508be18c44a4be50f022eea00b" - integrity sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw== - - tweetnacl@^0.14.3, tweetnacl@~0.14.0: - version "0.14.5" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64" - integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA== - - tweetnacl@^1.0.1, tweetnacl@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/tweetnacl/-/tweetnacl-1.0.3.tgz#ac0af71680458d8a6378d0d0d050ab1407d35596" - integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw== - - type-check@^0.4.0, type-check@~0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" - integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew== - dependencies: - prelude-ls "^1.2.1" - - type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - - type-detect@4.0.8, type-detect@^4.0.0, type-detect@^4.0.5: - version "4.0.8" - resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" - integrity sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g== - - type-fest@^0.20.2: - version "0.20.2" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4" - integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ== - - type-fest@^0.21.3: - version "0.21.3" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37" - integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w== - - type-fest@^0.7.1: - version "0.7.1" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.7.1.tgz#8dda65feaf03ed78f0a3f9678f1869147f7c5c48" - integrity sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg== - - type-fest@^2.5.2: - version "2.19.0" - resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" - integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== - - type-is@~1.6.18: - version "1.6.18" - resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" - integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g== - dependencies: - media-typer "0.3.0" - mime-types "~2.1.24" - - type@^1.0.1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/type/-/type-1.2.0.tgz#848dd7698dafa3e54a6c479e759c4bc3f18847a0" - integrity sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg== - - type@^2.7.2: - version "2.7.2" - resolved "https://registry.yarnpkg.com/type/-/type-2.7.2.tgz#2376a15a3a28b1efa0f5350dcf72d24df6ef98d0" - integrity sha512-dzlvlNlt6AXU7EBSfpAscydQ7gXB+pPGsPnfJnZpiNJBDj7IaJzQlBZYGdEi4R9HmPdBv2XmWJ6YUtoTa7lmCw== - - typed-array-length@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb" - integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng== - dependencies: - call-bind "^1.0.2" - for-each "^0.3.3" - is-typed-array "^1.1.9" - - typed-function@^2.0.0, typed-function@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/typed-function/-/typed-function-2.1.0.tgz#ded6f8a442ba8749ff3fe75bc41419c8d46ccc3f" - integrity sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ== - - typed-function@^4.1.0: - version "4.1.0" - resolved "https://registry.yarnpkg.com/typed-function/-/typed-function-4.1.0.tgz#da4bdd8a6d19a89e22732f75e4a410860aaf9712" - integrity sha512-DGwUl6cioBW5gw2L+6SMupGwH/kZOqivy17E4nsh1JI9fKF87orMmlQx3KISQPmg3sfnOUGlwVkroosvgddrlg== - - typedarray-to-buffer@^3.1.5: - version "3.1.5" - resolved "https://registry.yarnpkg.com/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz#a97ee7a9ff42691b9f783ff1bc5112fe3fca9080" - integrity sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q== - dependencies: - is-typedarray "^1.0.0" - - typeforce@^1.11.5, typeforce@^1.18.0: - version "1.18.0" - resolved "https://registry.yarnpkg.com/typeforce/-/typeforce-1.18.0.tgz#d7416a2c5845e085034d70fcc5b6cc4a90edbfdc" - integrity sha512-7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g== - - typescript-compare@^0.0.2: - version "0.0.2" - resolved "https://registry.yarnpkg.com/typescript-compare/-/typescript-compare-0.0.2.tgz#7ee40a400a406c2ea0a7e551efd3309021d5f425" - integrity sha512-8ja4j7pMHkfLJQO2/8tut7ub+J3Lw2S3061eJLFQcvs3tsmJKp8KG5NtpLn7KcY2w08edF74BSVN7qJS0U6oHA== - dependencies: - typescript-logic "^0.0.0" - - typescript-logic@^0.0.0: - version "0.0.0" - resolved "https://registry.yarnpkg.com/typescript-logic/-/typescript-logic-0.0.0.tgz#66ebd82a2548f2b444a43667bec120b496890196" - integrity sha512-zXFars5LUkI3zP492ls0VskH3TtdeHCqu0i7/duGt60i5IGPIpAHE/DWo5FqJ6EjQ15YKXrt+AETjv60Dat34Q== - - typescript-tuple@^2.2.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/typescript-tuple/-/typescript-tuple-2.2.1.tgz#7d9813fb4b355f69ac55032e0363e8bb0f04dad2" - integrity sha512-Zcr0lbt8z5ZdEzERHAMAniTiIKerFCMgd7yjq1fPnDJ43et/k9twIFQMUYff9k5oXcsQ0WpvFcgzK2ZKASoW6Q== - dependencies: - typescript-compare "^0.0.2" - - typescript@^4.3.2, typescript@^4.6.2: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== - - u3@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/u3/-/u3-0.1.1.tgz#5f52044f42ee76cd8de33148829e14528494b73b" - integrity sha512-+J5D5ir763y+Am/QY6hXNRlwljIeRMZMGs0cT6qqZVVzzT3X3nFPXVyPOFRMOR4kupB0T8JnCdpWdp6Q/iXn3w== - - uint8arrays@^3.0.0, uint8arrays@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/uint8arrays/-/uint8arrays-3.1.1.tgz#2d8762acce159ccd9936057572dade9459f65ae0" - integrity sha512-+QJa8QRnbdXVpHYjLoTpJIdCTiw9Ir62nocClWuXIq2JIh4Uta0cQsTSpFL678p2CN8B+XSApwcU+pQEqVpKWg== - dependencies: - multiformats "^9.4.2" - - ultron@~1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/ultron/-/ultron-1.1.1.tgz#9fe1536a10a664a65266a1e3ccf85fd36302bc9c" - integrity sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og== - - unbox-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.2.tgz#29032021057d5e6cdbd08c5129c226dff8ed6f9e" - integrity sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw== - dependencies: - call-bind "^1.0.2" - has-bigints "^1.0.2" - has-symbols "^1.0.3" - which-boxed-primitive "^1.0.2" - - unbzip2-stream@^1.0.9: - version "1.4.3" - resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7" - integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg== - dependencies: - buffer "^5.2.1" - through "^2.3.8" - - undefsafe@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/undefsafe/-/undefsafe-2.0.5.tgz#38733b9327bdcd226db889fb723a6efd162e6e2c" - integrity sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA== - - underscore@1.9.1: - version "1.9.1" - resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.9.1.tgz#06dce34a0e68a7babc29b365b8e74b8925203961" - integrity sha512-5/4etnCkd9c8gwgowi5/om/mYO5ajCaOgdzj/oW+0eQV9WxKBDZw5+ycmKmeaTXjInS/W0BzpGLo2xR2aBwZdg== - - undici@^5.14.0: - version "5.21.0" - resolved "https://registry.yarnpkg.com/undici/-/undici-5.21.0.tgz#b00dfc381f202565ab7f52023222ab862bb2494f" - integrity sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA== - dependencies: - busboy "^1.6.0" - - unfetch@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/unfetch/-/unfetch-4.2.0.tgz#7e21b0ef7d363d8d9af0fb929a5555f6ef97a3be" - integrity sha512-F9p7yYCn6cIW9El1zi0HI6vqpeIvBsr3dSuRO6Xuppb1u5rXpCPmMvLSyECLhybr9isec8Ohl0hPekMVrEinDA== - - union-value@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847" - integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg== - dependencies: - arr-union "^3.1.0" - get-value "^2.0.6" - is-extendable "^0.1.1" - set-value "^2.0.1" - - universalify@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" - integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg== - - universalify@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.2.0.tgz#6451760566fa857534745ab1dde952d1b1761be0" - integrity sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg== - - universalify@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717" - integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ== - - unload@^2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/unload/-/unload-2.4.1.tgz#b0c5b7fb44e17fcbf50dcb8fb53929c59dd226a5" - integrity sha512-IViSAm8Z3sRBYA+9wc0fLQmU9Nrxb16rcDmIiR6Y9LJSZzI7QY5QsDhqPpKOjAn0O9/kfK1TfNEMMAGPTIraPw== - - unorm@^1.3.3: - version "1.6.0" - resolved "https://registry.yarnpkg.com/unorm/-/unorm-1.6.0.tgz#029b289661fba714f1a9af439eb51d9b16c205af" - integrity sha512-b2/KCUlYZUeA7JFUuRJZPUtr4gZvBh7tavtv4fvk4+KV9pfGiR6CQAQAWl49ZpR3ts2dk4FYkP7EIgDJoiOLDA== - - unpipe@1.0.0, unpipe@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec" - integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== - - unset-value@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559" - integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ== - dependencies: - has-value "^0.3.1" - isobject "^3.0.0" - - untildify@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" - integrity sha512-KK8xQ1mkzZeg9inewmFVDNkg3l5LUhoq9kN6iWYB/CC9YMG8HA+c1Q8HwDe6dEX7kErrEVNVBO3fWsVq5iDgtw== - - update-browserslist-db@^1.0.10: - version "1.0.10" - resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz#0f54b876545726f17d00cd9a2561e6dade943ff3" - integrity sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ== - dependencies: - escalade "^3.1.1" - picocolors "^1.0.0" - - upper-case-first@^1.1.0, upper-case-first@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" - integrity sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ== - dependencies: - upper-case "^1.1.1" - - upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3: - version "1.1.3" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" - integrity sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA== - - uri-js@^4.2.2: - version "4.4.1" - resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" - integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg== - dependencies: - punycode "^2.1.0" - - urix@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" - integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg== - - url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha512-BVA4lR5PIviy2PMseNd2jbFQ+jwSwQGdJejf5ctd1rEXt0Ypd7yanUK9+lYechVlN5VaTJGsu2U/3MDDu6KgBA== - dependencies: - prepend-http "^1.0.1" - - url-parse-lax@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c" - integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ== - dependencies: - prepend-http "^2.0.0" - - url-parse@^1.5.3: - version "1.5.10" - resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1" - integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ== - dependencies: - querystringify "^2.1.1" - requires-port "^1.0.0" - - url-set-query@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-set-query/-/url-set-query-1.0.0.tgz#016e8cfd7c20ee05cafe7795e892bd0702faa339" - integrity sha512-3AChu4NiXquPfeckE5R5cGdiHCMWJx1dwCWOmWIL4KHAziJNOFIYJlpGFeKDvwLPHovZRCxK3cYlwzqI9Vp+Gg== - - url-to-options@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/url-to-options/-/url-to-options-1.0.1.tgz#1505a03a289a48cbd7a434efbaeec5055f5633a9" - integrity sha512-0kQLIzG4fdk/G5NONku64rSH/x32NOA39LVQqlK8Le6lvTF6GGRJpqaQFGgU+CLwySIqBSMdwYM0sYcW9f6P4A== - - use@^3.1.0: - version "3.1.1" - resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" - integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ== - - utf-8-validate@5.0.7: - version "5.0.7" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.7.tgz#c15a19a6af1f7ad9ec7ddc425747ca28c3644922" - integrity sha512-vLt1O5Pp+flcArHGIyKEQq883nBt8nN8tVBcoL0qUXj2XT1n7p70yGIq2VK98I5FdZ1YHc0wk/koOnHjnXWk1Q== - dependencies: - node-gyp-build "^4.3.0" - - utf-8-validate@^5.0.2: - version "5.0.10" - resolved "https://registry.yarnpkg.com/utf-8-validate/-/utf-8-validate-5.0.10.tgz#d7d10ea39318171ca982718b6b96a8d2442571a2" - integrity sha512-Z6czzLq4u8fPOyx7TU6X3dvUZVvoJmxSQ+IcrlmagKhilxlhZgxPK6C5Jqbkw1IDUmFTM+cz9QDnnLTwDz/2gQ== - dependencies: - node-gyp-build "^4.3.0" - - utf8@3.0.0, utf8@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/utf8/-/utf8-3.0.0.tgz#f052eed1364d696e769ef058b183df88c87f69d1" - integrity sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ== - - util-deprecate@^1.0.1, util-deprecate@~1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" - integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== - - util@^0.12.0, util@^0.12.5: - version "0.12.5" - resolved "https://registry.yarnpkg.com/util/-/util-0.12.5.tgz#5f17a6059b73db61a875668781a1c2b136bd6fbc" - integrity sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA== - dependencies: - inherits "^2.0.3" - is-arguments "^1.0.4" - is-generator-function "^1.0.7" - is-typed-array "^1.1.3" - which-typed-array "^1.1.2" - - utility-types@^3.10.0: - version "3.10.0" - resolved "https://registry.yarnpkg.com/utility-types/-/utility-types-3.10.0.tgz#ea4148f9a741015f05ed74fd615e1d20e6bed82b" - integrity sha512-O11mqxmi7wMKCo6HKFt5AhO4BwY3VV68YU07tgxfz8zJTIxr4BpsezN49Ffwy9j3ZpwwJp4fkRwjRzq3uWE6Rg== - - utils-merge@1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA== - - uuid@2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-2.0.1.tgz#c2a30dedb3e535d72ccf82e343941a50ba8533ac" - integrity sha512-nWg9+Oa3qD2CQzHIP4qKUqwNfzKn8P0LtFhotaCTFchsV7ZfDhAybeip/HZVeMIpZi9JgY1E3nUlwaCmZT1sEg== - - uuid@3.3.2: - version "3.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" - integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA== - - uuid@8.3.2, uuid@^8.3.2: - version "8.3.2" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2" - integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg== - - uuid@^3.3.2: - version "3.4.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee" - integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A== - - uuid@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.0.tgz#592f550650024a38ceb0c562f2f6aa435761efb5" - integrity sha512-MXcSTerfPa4uqyzStbRoTgt5XIe3x5+42+q1sDuy3R5MDk66URdLMOZe5aPX/SQd+kuYAh0FdP/pO28IkQyTeg== - - v8-compile-cache-lib@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz#6336e8d71965cb3d35a1bbb7868445a7c05264bf" - integrity sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg== - - v8-compile-cache@^2.0.3: - version "2.3.0" - resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" - integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== - - v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== - dependencies: - "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" - - value-or-promise@1.0.11: - version "1.0.11" - resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.11.tgz#3e90299af31dd014fe843fe309cefa7c1d94b140" - integrity sha512-41BrgH+dIbCFXClcSapVs5M6GkENd3gQOJpEfPDNa71LsUGMXDL0jMWpI/Rh7WhX+Aalfz2TTS3Zt5pUsbnhLg== - - value-or-promise@1.0.12: - version "1.0.12" - resolved "https://registry.yarnpkg.com/value-or-promise/-/value-or-promise-1.0.12.tgz#0e5abfeec70148c78460a849f6b003ea7986f15c" - integrity sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q== - - varint@^5.0.0: - version "5.0.2" - resolved "https://registry.yarnpkg.com/varint/-/varint-5.0.2.tgz#5b47f8a947eb668b848e034dcfa87d0ff8a7f7a4" - integrity sha512-lKxKYG6H03yCZUpAGOPOsMcGxd1RHCu1iKvEHYDPmTyq2HueGhD73ssNBqqQWfvYs04G9iUFRvmAVLW20Jw6ow== - - varuint-bitcoin@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/varuint-bitcoin/-/varuint-bitcoin-1.1.2.tgz#e76c138249d06138b480d4c5b40ef53693e24e92" - integrity sha512-4EVb+w4rx+YfVM32HQX42AbbT7/1f5zwAYhIujKXKk8NQK+JfRVl3pqT3hjNn/L+RstigmGGKVwHA/P0wgITZw== - dependencies: - safe-buffer "^5.1.1" - - vary@^1, vary@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc" - integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg== - - verror@1.10.0: - version "1.10.0" - resolved "https://registry.yarnpkg.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400" - integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw== - dependencies: - assert-plus "^1.0.0" - core-util-is "1.0.2" - extsprintf "^1.2.0" - - viem@^0.3.x: - version "0.3.50" - resolved "https://registry.yarnpkg.com/viem/-/viem-0.3.50.tgz#999a7682eda7eabc48c923f4b9923c3f098fc1ab" - integrity sha512-s+LxCYZTR9F/qPk1/n1YDVAX9vSeVz7GraqBZWGrDuenCJxo9ArCoIceJ6ksI0WwSeNzcZ0VVbD/kWRzTxkipw== - dependencies: - "@adraffy/ens-normalize" "1.9.0" - "@noble/curves" "1.0.0" - "@noble/hashes" "1.3.0" - "@scure/bip32" "1.3.0" - "@scure/bip39" "1.2.0" - "@wagmi/chains" "1.0.0" - abitype "0.8.7" - isomorphic-ws "5.0.0" - ws "8.12.0" - - vlq@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/vlq/-/vlq-2.0.4.tgz#6057b85729245b9829e3cc7755f95b228d4fe041" - integrity sha512-aodjPa2wPQFkra1G8CzJBTHXhgk3EVSwxSWXNPr1fgdFLUb8kvLV1iEb6rFgasIsjP82HWI6dsb5Io26DDnasA== - - vuvuzela@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/vuvuzela/-/vuvuzela-1.0.3.tgz#3be145e58271c73ca55279dd851f12a682114b0b" - integrity sha512-Tm7jR1xTzBbPW+6y1tknKiEhz04Wf/1iZkcTJjSFcpNko43+dFW6+OOeQe9taJIug3NdfUAjFKgUSyQrIKaDvQ== - - vvs-sdk@^2.4.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/vvs-sdk/-/vvs-sdk-2.4.0.tgz#bbc807b84b312b7cac47778f2722ef3d7d00fa08" - integrity sha512-xy/ICGVonDINDAjvMoWIlUzCB1JpZmJe/cXTzOHbzKqXFNFtRiKThlYZqZ1/ANT+pXIEvRGM4xfagBH1HIeLXw== - dependencies: - "@pancakeswap-libs/pancake-swap-core" "^0.1.0" - big.js "^5.2.2" - decimal.js-light "^2.5.0" - jsbi "^3.1.1" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - - w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - - walker@^1.0.7: - version "1.0.8" - resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" - integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== - dependencies: - makeerror "1.0.12" - - warning@^4.0.3: - version "4.0.3" - resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" - integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== - dependencies: - loose-envify "^1.0.0" - - web3-bzz@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.2.1.tgz#c3bd1e8f0c02a13cd6d4e3c3e9e1713f144f6f0d" - integrity sha512-LdOO44TuYbGIPfL4ilkuS89GQovxUpmLz6C1UC7VYVVRILeZS740FVB3j9V4P4FHUk1RenaDfKhcntqgVCHtjw== - dependencies: - got "9.6.0" - swarm-js "0.1.39" - underscore "1.9.1" - - web3-bzz@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-bzz/-/web3-bzz-1.8.2.tgz#67ea1c775874056250eece551ded22905ed08784" - integrity sha512-1EEnxjPnFnvNWw3XeeKuTR8PBxYd0+XWzvaLK7OJC/Go9O8llLGxrxICbKV+8cgIE0sDRBxiYx02X+6OhoAQ9w== - dependencies: - "@types/node" "^12.12.6" - got "12.1.0" - swarm-js "^0.1.40" - - web3-core-helpers@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.2.1.tgz#f5f32d71c60a4a3bd14786118e633ce7ca6d5d0d" - integrity sha512-Gx3sTEajD5r96bJgfuW377PZVFmXIH4TdqDhgGwd2lZQCcMi+DA4TgxJNJGxn0R3aUVzyyE76j4LBrh412mXrw== - dependencies: - underscore "1.9.1" - web3-eth-iban "1.2.1" - web3-utils "1.2.1" - - web3-core-helpers@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-core-helpers/-/web3-core-helpers-1.8.2.tgz#82066560f8085e6c7b93bcc8e88b441289ea9f9f" - integrity sha512-6B1eLlq9JFrfealZBomd1fmlq1o4A09vrCVQSa51ANoib/jllT3atZrRDr0zt1rfI7TSZTZBXdN/aTdeN99DWw== - dependencies: - web3-eth-iban "1.8.2" - web3-utils "1.8.2" - - web3-core-method@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.2.1.tgz#9df1bafa2cd8be9d9937e01c6a47fc768d15d90a" - integrity sha512-Ghg2WS23qi6Xj8Od3VCzaImLHseEA7/usvnOItluiIc5cKs00WYWsNy2YRStzU9a2+z8lwQywPYp0nTzR/QXdQ== - dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.1" - web3-core-promievent "1.2.1" - web3-core-subscriptions "1.2.1" - web3-utils "1.2.1" - - web3-core-method@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-core-method/-/web3-core-method-1.8.2.tgz#ba5ec68084e903f0516415010477618be017eac2" - integrity sha512-1qnr5mw5wVyULzLOrk4B+ryO3gfGjGd/fx8NR+J2xCGLf1e6OSjxT9vbfuQ3fErk/NjSTWWreieYWLMhaogcRA== - dependencies: - "@ethersproject/transactions" "^5.6.2" - web3-core-helpers "1.8.2" - web3-core-promievent "1.8.2" - web3-core-subscriptions "1.8.2" - web3-utils "1.8.2" - - web3-core-promievent@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.2.1.tgz#003e8a3eb82fb27b6164a6d5b9cad04acf733838" - integrity sha512-IVUqgpIKoeOYblwpex4Hye6npM0aMR+kU49VP06secPeN0rHMyhGF0ZGveWBrGvf8WDPI7jhqPBFIC6Jf3Q3zw== - dependencies: - any-promise "1.3.0" - eventemitter3 "3.1.2" - - web3-core-promievent@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-core-promievent/-/web3-core-promievent-1.8.2.tgz#e670d6b4453632e6ecfd9ad82da44f77ac1585c9" - integrity sha512-nvkJWDVgoOSsolJldN33tKW6bKKRJX3MCPDYMwP5SUFOA/mCzDEoI88N0JFofDTXkh1k7gOqp1pvwi9heuaxGg== - dependencies: - eventemitter3 "4.0.4" - - web3-core-requestmanager@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.2.1.tgz#fa2e2206c3d738db38db7c8fe9c107006f5c6e3d" - integrity sha512-xfknTC69RfYmLKC+83Jz73IC3/sS2ZLhGtX33D4Q5nQ8yc39ElyAolxr9sJQS8kihOcM6u4J+8gyGMqsLcpIBg== - dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.1" - web3-providers-http "1.2.1" - web3-providers-ipc "1.2.1" - web3-providers-ws "1.2.1" - - web3-core-requestmanager@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-core-requestmanager/-/web3-core-requestmanager-1.8.2.tgz#dda95e83ca4808949612a41e54ecea557f78ef26" - integrity sha512-p1d090RYs5Mu7DK1yyc3GCBVZB/03rBtFhYFoS2EruGzOWs/5Q0grgtpwS/DScdRAm8wB8mYEBhY/RKJWF6B2g== - dependencies: - util "^0.12.5" - web3-core-helpers "1.8.2" - web3-providers-http "1.8.2" - web3-providers-ipc "1.8.2" - web3-providers-ws "1.8.2" - - web3-core-subscriptions@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.2.1.tgz#8c2368a839d4eec1c01a4b5650bbeb82d0e4a099" - integrity sha512-nmOwe3NsB8V8UFsY1r+sW6KjdOS68h8nuh7NzlWxBQT/19QSUGiERRTaZXWu5BYvo1EoZRMxCKyCQpSSXLc08g== - dependencies: - eventemitter3 "3.1.2" - underscore "1.9.1" - web3-core-helpers "1.2.1" - - web3-core-subscriptions@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-core-subscriptions/-/web3-core-subscriptions-1.8.2.tgz#0c8bd49439d83c6f0a03c70f00b24a915a70a5ed" - integrity sha512-vXQogHDmAIQcKpXvGiMddBUeP9lnKgYF64+yQJhPNE5PnWr1sAibXuIPV7mIPihpFr/n/DORRj6Wh1pUv9zaTw== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.8.2" - - web3-core@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.2.1.tgz#7278b58fb6495065e73a77efbbce781a7fddf1a9" - integrity sha512-5ODwIqgl8oIg/0+Ai4jsLxkKFWJYE0uLuE1yUKHNVCL4zL6n3rFjRMpKPokd6id6nJCNgeA64KdWQ4XfpnjdMg== - dependencies: - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-core-requestmanager "1.2.1" - web3-utils "1.2.1" - - web3-core@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-core/-/web3-core-1.8.2.tgz#333e93d7872b1a36efe758ed8b89a7acbdd962c2" - integrity sha512-DJTVEAYcNqxkqruJE+Rxp3CIv0y5AZMwPHQmOkz/cz+MM75SIzMTc0AUdXzGyTS8xMF8h3YWMQGgGEy8SBf1PQ== - dependencies: - "@types/bn.js" "^5.1.0" - "@types/node" "^12.12.6" - bignumber.js "^9.0.0" - web3-core-helpers "1.8.2" - web3-core-method "1.8.2" - web3-core-requestmanager "1.8.2" - web3-utils "1.8.2" - - web3-eth-abi@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.2.1.tgz#9b915b1c9ebf82f70cca631147035d5419064689" - integrity sha512-jI/KhU2a/DQPZXHjo2GW0myEljzfiKOn+h1qxK1+Y9OQfTcBMxrQJyH5AP89O6l6NZ1QvNdq99ThAxBFoy5L+g== - dependencies: - ethers "4.0.0-beta.3" - underscore "1.9.1" - web3-utils "1.2.1" - - web3-eth-abi@1.8.2, web3-eth-abi@^1.2.1: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-eth-abi/-/web3-eth-abi-1.8.2.tgz#16e1e9be40e2527404f041a4745111211488f31a" - integrity sha512-Om9g3kaRNjqiNPAgKwGT16y+ZwtBzRe4ZJFGjLiSs6v5I7TPNF+rRMWuKnR6jq0azQZDj6rblvKFMA49/k48Og== - dependencies: - "@ethersproject/abi" "^5.6.3" - web3-utils "1.8.2" - - web3-eth-accounts@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.2.1.tgz#2741a8ef337a7219d57959ac8bd118b9d68d63cf" - integrity sha512-26I4qq42STQ8IeKUyur3MdQ1NzrzCqPsmzqpux0j6X/XBD7EjZ+Cs0lhGNkSKH5dI3V8CJasnQ5T1mNKeWB7nQ== - dependencies: - any-promise "1.3.0" - crypto-browserify "3.12.0" - eth-lib "0.2.7" - scryptsy "2.1.0" - semver "6.2.0" - underscore "1.9.1" - uuid "3.3.2" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-utils "1.2.1" - - web3-eth-accounts@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-eth-accounts/-/web3-eth-accounts-1.8.2.tgz#b894f5d5158fcae429da42de75d96520d0712971" - integrity sha512-c367Ij63VCz9YdyjiHHWLFtN85l6QghgwMQH2B1eM/p9Y5lTlTX7t/Eg/8+f1yoIStXbk2w/PYM2lk+IkbqdLA== - dependencies: - "@ethereumjs/common" "2.5.0" - "@ethereumjs/tx" "3.3.2" - eth-lib "0.2.8" - ethereumjs-util "^7.1.5" - scrypt-js "^3.0.1" - uuid "^9.0.0" - web3-core "1.8.2" - web3-core-helpers "1.8.2" - web3-core-method "1.8.2" - web3-utils "1.8.2" - - web3-eth-contract@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.2.1.tgz#3542424f3d341386fd9ff65e78060b85ac0ea8c4" - integrity sha512-kYFESbQ3boC9bl2rYVghj7O8UKMiuKaiMkxvRH5cEDHil8V7MGEGZNH0slSdoyeftZVlaWSMqkRP/chfnKND0g== - dependencies: - underscore "1.9.1" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-core-promievent "1.2.1" - web3-core-subscriptions "1.2.1" - web3-eth-abi "1.2.1" - web3-utils "1.2.1" - - web3-eth-contract@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-eth-contract/-/web3-eth-contract-1.8.2.tgz#5388b7130923d2b790c09a420391a81312a867fb" - integrity sha512-ID5A25tHTSBNwOPjiXSVzxruz006ULRIDbzWTYIFTp7NJ7vXu/kynKK2ag/ObuTqBpMbobP8nXcA9b5EDkIdQA== - dependencies: - "@types/bn.js" "^5.1.0" - web3-core "1.8.2" - web3-core-helpers "1.8.2" - web3-core-method "1.8.2" - web3-core-promievent "1.8.2" - web3-core-subscriptions "1.8.2" - web3-eth-abi "1.8.2" - web3-utils "1.8.2" - - web3-eth-ens@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.2.1.tgz#a0e52eee68c42a8b9865ceb04e5fb022c2d971d5" - integrity sha512-lhP1kFhqZr2nnbu3CGIFFrAnNxk2veXpOXBY48Tub37RtobDyHijHgrj+xTh+mFiPokyrapVjpFsbGa+Xzye4Q== - dependencies: - eth-ens-namehash "2.0.8" - underscore "1.9.1" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-promievent "1.2.1" - web3-eth-abi "1.2.1" - web3-eth-contract "1.2.1" - web3-utils "1.2.1" - - web3-eth-ens@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-eth-ens/-/web3-eth-ens-1.8.2.tgz#0a086ad4d919102e28b9fd3036df246add9df22a" - integrity sha512-PWph7C/CnqdWuu1+SH4U4zdrK4t2HNt0I4XzPYFdv9ugE8EuojselioPQXsVGvjql+Nt3jDLvQvggPqlMbvwRw== - dependencies: - content-hash "^2.5.2" - eth-ens-namehash "2.0.8" - web3-core "1.8.2" - web3-core-helpers "1.8.2" - web3-core-promievent "1.8.2" - web3-eth-abi "1.8.2" - web3-eth-contract "1.8.2" - web3-utils "1.8.2" - - web3-eth-iban@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.2.1.tgz#2c3801718946bea24e9296993a975c80b5acf880" - integrity sha512-9gkr4QPl1jCU+wkgmZ8EwODVO3ovVj6d6JKMos52ggdT2YCmlfvFVF6wlGLwi0VvNa/p+0BjJzaqxnnG/JewjQ== - dependencies: - bn.js "4.11.8" - web3-utils "1.2.1" - - web3-eth-iban@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-eth-iban/-/web3-eth-iban-1.8.2.tgz#5cb3022234b13986f086353b53f0379a881feeaf" - integrity sha512-h3vNblDWkWMuYx93Q27TAJz6lhzpP93EiC3+45D6xoz983p6si773vntoQ+H+5aZhwglBtoiBzdh7PSSOnP/xQ== - dependencies: - bn.js "^5.2.1" - web3-utils "1.8.2" - - web3-eth-personal@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.2.1.tgz#244e9911b7b482dc17c02f23a061a627c6e47faf" - integrity sha512-RNDVSiaSoY4aIp8+Hc7z+X72H7lMb3fmAChuSBADoEc7DsJrY/d0R5qQDK9g9t2BO8oxgLrLNyBP/9ub2Hc6Bg== - dependencies: - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-net "1.2.1" - web3-utils "1.2.1" - - web3-eth-personal@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-eth-personal/-/web3-eth-personal-1.8.2.tgz#3526c1ebaa4e7bf3a0a8ec77e34f067cc9a750b2" - integrity sha512-Vg4HfwCr7doiUF/RC+Jz0wT4+cYaXcOWMAW2AHIjHX6Z7Xwa8nrURIeQgeEE62qcEHAzajyAdB1u6bJyTfuCXw== - dependencies: - "@types/node" "^12.12.6" - web3-core "1.8.2" - web3-core-helpers "1.8.2" - web3-core-method "1.8.2" - web3-net "1.8.2" - web3-utils "1.8.2" - - web3-eth@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.2.1.tgz#b9989e2557c73a9e8ffdc107c6dafbe72c79c1b0" - integrity sha512-/2xly4Yry5FW1i+uygPjhfvgUP/MS/Dk+PDqmzp5M88tS86A+j8BzKc23GrlA8sgGs0645cpZK/999LpEF5UdA== - dependencies: - underscore "1.9.1" - web3-core "1.2.1" - web3-core-helpers "1.2.1" - web3-core-method "1.2.1" - web3-core-subscriptions "1.2.1" - web3-eth-abi "1.2.1" - web3-eth-accounts "1.2.1" - web3-eth-contract "1.2.1" - web3-eth-ens "1.2.1" - web3-eth-iban "1.2.1" - web3-eth-personal "1.2.1" - web3-net "1.2.1" - web3-utils "1.2.1" - - web3-eth@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-eth/-/web3-eth-1.8.2.tgz#8562287ae1803c30eb54dc7d832092e5739ce06a" - integrity sha512-JoTiWWc4F4TInpbvDUGb0WgDYJsFhuIjJlinc5ByjWD88Gvh+GKLsRjjFdbqe5YtwIGT4NymwoC5LQd1K6u/QQ== - dependencies: - web3-core "1.8.2" - web3-core-helpers "1.8.2" - web3-core-method "1.8.2" - web3-core-subscriptions "1.8.2" - web3-eth-abi "1.8.2" - web3-eth-accounts "1.8.2" - web3-eth-contract "1.8.2" - web3-eth-ens "1.8.2" - web3-eth-iban "1.8.2" - web3-eth-personal "1.8.2" - web3-net "1.8.2" - web3-utils "1.8.2" - - web3-net@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.2.1.tgz#edd249503315dd5ab4fa00220f6509d95bb7ab10" - integrity sha512-Yt1Bs7WgnLESPe0rri/ZoPWzSy55ovioaP35w1KZydrNtQ5Yq4WcrAdhBzcOW7vAkIwrsLQsvA+hrOCy7mNauw== - dependencies: - web3-core "1.2.1" - web3-core-method "1.2.1" - web3-utils "1.2.1" - - web3-net@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-net/-/web3-net-1.8.2.tgz#97e1e0015fabc4cda31017813e98d0b5468dd04f" - integrity sha512-1itkDMGmbgb83Dg9nporFes9/fxsU7smJ3oRXlFkg4ZHn8YJyP1MSQFPJWWwSc+GrcCFt4O5IrUTvEkHqE3xag== - dependencies: - web3-core "1.8.2" - web3-core-method "1.8.2" - web3-utils "1.8.2" - - web3-providers-http@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.2.1.tgz#c93ea003a42e7b894556f7e19dd3540f947f5013" - integrity sha512-BDtVUVolT9b3CAzeGVA/np1hhn7RPUZ6YYGB/sYky+GjeO311Yoq8SRDUSezU92x8yImSC2B+SMReGhd1zL+bQ== - dependencies: - web3-core-helpers "1.2.1" - xhr2-cookies "1.1.0" - - web3-providers-http@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-providers-http/-/web3-providers-http-1.8.2.tgz#fbda3a3bbc8db004af36e91bec35f80273b37885" - integrity sha512-2xY94IIEQd16+b+vIBF4IC1p7GVaz9q4EUFscvMUjtEq4ru4Atdzjs9GP+jmcoo49p70II0UV3bqQcz0TQfVyQ== - dependencies: - abortcontroller-polyfill "^1.7.3" - cross-fetch "^3.1.4" - es6-promise "^4.2.8" - web3-core-helpers "1.8.2" - - web3-providers-ipc@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.2.1.tgz#017bfc687a8fc5398df2241eb98f135e3edd672c" - integrity sha512-oPEuOCwxVx8L4CPD0TUdnlOUZwGBSRKScCz/Ws2YHdr9Ium+whm+0NLmOZjkjQp5wovQbyBzNa6zJz1noFRvFA== - dependencies: - oboe "2.1.4" - underscore "1.9.1" - web3-core-helpers "1.2.1" - - web3-providers-ipc@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-providers-ipc/-/web3-providers-ipc-1.8.2.tgz#e52a7250f40c83b99a2482ec5b4cf2728377ae5c" - integrity sha512-p6fqKVGFg+WiXGHWnB1hu43PbvPkDHTz4RgoEzbXugv5rtv5zfYLqm8Ba6lrJOS5ks9kGKR21a0y3NzE3u7V4w== - dependencies: - oboe "2.1.5" - web3-core-helpers "1.8.2" - - web3-providers-ws@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.2.1.tgz#2d941eaf3d5a8caa3214eff8dc16d96252b842cb" - integrity sha512-oqsQXzu+ejJACVHy864WwIyw+oB21nw/pI65/sD95Zi98+/HQzFfNcIFneF1NC4bVF3VNX4YHTNq2I2o97LAiA== - dependencies: - underscore "1.9.1" - web3-core-helpers "1.2.1" - websocket "github:web3-js/WebSocket-Node#polyfill/globalThis" - - web3-providers-ws@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-providers-ws/-/web3-providers-ws-1.8.2.tgz#56a2b701387011aca9154ca4bc06ea4b5f27e4ef" - integrity sha512-3s/4K+wHgbiN+Zrp9YjMq2eqAF6QGABw7wFftPdx+m5hWImV27/MoIx57c6HffNRqZXmCHnfWWFCNHHsi7wXnA== - dependencies: - eventemitter3 "4.0.4" - web3-core-helpers "1.8.2" - websocket "^1.0.32" - - web3-shh@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.2.1.tgz#4460e3c1e07faf73ddec24ccd00da46f89152b0c" - integrity sha512-/3Cl04nza5kuFn25bV3FJWa0s3Vafr5BlT933h26xovQ6HIIz61LmvNQlvX1AhFL+SNJOTcQmK1SM59vcyC8bA== - dependencies: - web3-core "1.2.1" - web3-core-method "1.2.1" - web3-core-subscriptions "1.2.1" - web3-net "1.2.1" - - web3-shh@1.8.2: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3-shh/-/web3-shh-1.8.2.tgz#217a417f0d6e243dd4d441848ffc2bd164cea8a0" - integrity sha512-uZ+3MAoNcaJsXXNCDnizKJ5viBNeHOFYsCbFhV755Uu52FswzTOw6DtE7yK9nYXMtIhiSgi7nwl1RYzP8pystw== - dependencies: - web3-core "1.8.2" - web3-core-method "1.8.2" - web3-core-subscriptions "1.8.2" - web3-net "1.8.2" - - web3-utils@1.2.1, web3-utils@1.7.3, web3-utils@1.8.2, web3-utils@^1.2.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/web3-utils/-/web3-utils-1.7.3.tgz#b214d05f124530d8694ad364509ac454d05f207c" - integrity sha512-g6nQgvb/bUpVUIxJE+ezVN+rYwYmlFyMvMIRSuqpi1dk6ApDD00YNArrk7sPcZnjvxOJ76813Xs2vIN2rgh4lg== - dependencies: - bn.js "^4.11.9" - ethereum-bloom-filters "^1.0.6" - ethereumjs-util "^7.1.0" - ethjs-unit "0.1.6" - number-to-bn "1.7.0" - randombytes "^2.1.0" - utf8 "3.0.0" - - web3@1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.2.1.tgz#5d8158bcca47838ab8c2b784a2dee4c3ceb4179b" - integrity sha512-nNMzeCK0agb5i/oTWNdQ1aGtwYfXzHottFP2Dz0oGIzavPMGSKyVlr8ibVb1yK5sJBjrWVnTdGaOC2zKDFuFRw== - dependencies: - web3-bzz "1.2.1" - web3-core "1.2.1" - web3-eth "1.2.1" - web3-eth-personal "1.2.1" - web3-net "1.2.1" - web3-shh "1.2.1" - web3-utils "1.2.1" - - web3@1.8.2, web3@^1.7.3: - version "1.8.2" - resolved "https://registry.yarnpkg.com/web3/-/web3-1.8.2.tgz#95a4e5398fd0f01325264bf8e5e8cdc69a7afe86" - integrity sha512-92h0GdEHW9wqDICQQKyG4foZBYi0OQkyg4CRml2F7XBl/NG+fu9o6J19kzfFXzSBoA4DnJXbyRgj/RHZv5LRiw== - dependencies: - web3-bzz "1.8.2" - web3-core "1.8.2" - web3-eth "1.8.2" - web3-eth-personal "1.8.2" - web3-net "1.8.2" - web3-shh "1.8.2" - web3-utils "1.8.2" - - webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - - webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - - webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - - webrtc-adapter@^7.2.1: - version "7.7.1" - resolved "https://registry.yarnpkg.com/webrtc-adapter/-/webrtc-adapter-7.7.1.tgz#b2c227a6144983b35057df67bd984a7d4bfd17f1" - integrity sha512-TbrbBmiQBL9n0/5bvDdORc6ZfRY/Z7JnEj+EYOD1ghseZdpJ+nF2yx14k3LgQKc7JZnG7HAcL+zHnY25So9d7A== - dependencies: - rtcpeerconnection-shim "^1.2.15" - sdp "^2.12.0" - - websocket@^1.0.28, websocket@^1.0.32, websocket@^1.0.34: - version "1.0.34" - resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" - integrity sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ== - dependencies: - bufferutil "^4.0.1" - debug "^2.2.0" - es5-ext "^0.10.50" - typedarray-to-buffer "^3.1.5" - utf-8-validate "^5.0.2" - yaeti "^0.0.6" - - "websocket@github:web3-js/WebSocket-Node#polyfill/globalThis": - version "1.0.29" - resolved "https://codeload.github.com/web3-js/WebSocket-Node/tar.gz/ef5ea2f41daf4a2113b80c9223df884b4d56c400" - dependencies: - debug "^2.2.0" - es5-ext "^0.10.50" - nan "^2.14.0" - typedarray-to-buffer "^3.1.5" - yaeti "^0.0.6" - - whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - - whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - - whatwg-mimetype@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" - integrity sha512-nt+N2dzIutVRxARx1nghPKGv1xHikU7HKdfafKkLNLindmPU/ch3U31NOCGGA/dmPcmb1VlofO0vnKAcsm0o/Q== - - whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - - whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - - which-boxed-primitive@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" - integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg== - dependencies: - is-bigint "^1.0.1" - is-boolean-object "^1.1.0" - is-number-object "^1.0.4" - is-string "^1.0.5" - is-symbol "^1.0.3" - - which-module@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/which-module/-/which-module-2.0.0.tgz#d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a" - integrity sha512-B+enWhmw6cjfVC7kS8Pj9pCrKSc5txArRyaYGe088shv/FGWH+0Rjx/xPgtsWfsUtS27FkP697E4DDhgrgoc0Q== - - which-typed-array@^1.1.2, which-typed-array@^1.1.9: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - - which@^1.2.9: - version "1.3.1" - resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" - integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ== - dependencies: - isexe "^2.0.0" - - which@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1" - integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA== - dependencies: - isexe "^2.0.0" - - wif@^2.0.6: - version "2.0.6" - resolved "https://registry.yarnpkg.com/wif/-/wif-2.0.6.tgz#08d3f52056c66679299726fade0d432ae74b4704" - integrity sha512-HIanZn1zmduSF+BQhkE+YXIbEiH0xPr1012QbFEGB0xsKqJii0/SqJjyn8dFv6y36kOznMgMB+LGcbZTJ1xACQ== - dependencies: - bs58check "<3.0.0" - - winston-daily-rotate-file@^4.5.5: - version "4.7.1" - resolved "https://registry.yarnpkg.com/winston-daily-rotate-file/-/winston-daily-rotate-file-4.7.1.tgz#f60a643af87f8867f23170d8cd87dbe3603a625f" - integrity sha512-7LGPiYGBPNyGHLn9z33i96zx/bd71pjBn9tqQzO3I4Tayv94WPmBNwKC7CO1wPHdP9uvu+Md/1nr6VSH9h0iaA== - dependencies: - file-stream-rotator "^0.6.1" - object-hash "^2.0.1" - triple-beam "^1.3.0" - winston-transport "^4.4.0" - - winston-transport@^4.4.0, winston-transport@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa" - integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q== - dependencies: - logform "^2.3.2" - readable-stream "^3.6.0" - triple-beam "^1.3.0" - - winston@^3.3.3: - version "3.8.2" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.8.2.tgz#56e16b34022eb4cff2638196d9646d7430fdad50" - integrity sha512-MsE1gRx1m5jdTTO9Ld/vND4krP2To+lgDoMEHGGa4HIlAUyXJtfc7CxQcGXVyz2IBpw5hbFkj2b/AtUdQwyRew== - dependencies: - "@colors/colors" "1.5.0" - "@dabh/diagnostics" "^2.0.2" - async "^3.2.3" - is-stream "^2.0.0" - logform "^2.4.0" - one-time "^1.0.0" - readable-stream "^3.4.0" - safe-stable-stringify "^2.3.1" - stack-trace "0.0.x" - triple-beam "^1.3.0" - winston-transport "^4.5.0" - - word-wrap@^1.2.3, word-wrap@~1.2.3: - version "1.2.4" - resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" - integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== - - workerpool@6.2.1: - version "6.2.1" - resolved "https://registry.yarnpkg.com/workerpool/-/workerpool-6.2.1.tgz#46fc150c17d826b86a008e5a4508656777e9c343" - integrity sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw== - - wrap-ansi@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85" - integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw== - dependencies: - string-width "^1.0.1" - strip-ansi "^3.0.1" - - wrap-ansi@^5.1.0: - version "5.1.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09" - integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q== - dependencies: - ansi-styles "^3.2.0" - string-width "^3.0.0" - strip-ansi "^5.0.0" - - wrap-ansi@^7.0.0: - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - - wrappy@1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" - integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== - - write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== - dependencies: - imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" - - write-stream@~0.4.3: - version "0.4.3" - resolved "https://registry.yarnpkg.com/write-stream/-/write-stream-0.4.3.tgz#83cc8c0347d0af6057a93862b4e3ae01de5c81c1" - integrity sha512-IJrvkhbAnj89W/GAVdVgbnPiVw5Ntg/B4tc/MUCIEwj/g6JIww1DWJyB/yBMT3yw2/TkT6IUZ0+IYef3flEw8A== - dependencies: - readable-stream "~0.0.2" - - ws@7.4.6: - version "7.4.6" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c" - integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A== - - ws@7.5.9, ws@^7, ws@^7.2.0, ws@^7.4.0, ws@^7.4.5, ws@^7.4.6, ws@^7.5.1: - version "7.5.9" - resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" - integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== - - ws@8.12.0: - version "8.12.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" - integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== - - ws@8.5.0: - version "8.5.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f" - integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg== - - ws@^3.0.0: - version "3.3.3" - resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" - integrity sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA== - dependencies: - async-limiter "~1.0.0" - safe-buffer "~5.1.0" - ultron "~1.1.0" - - ws@^8.5.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - - ws@~8.11.0: - version "8.11.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.11.0.tgz#6a0d36b8edfd9f96d8b25683db2f8d7de6e8e143" - integrity sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg== - - xhr-request-promise@^0.1.2: - version "0.1.3" - resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" - integrity sha512-YUBytBsuwgitWtdRzXDDkWAXzhdGB8bYm0sSzMPZT7Z2MBjMSTHFsyCT1yCRATY+XC69DUrQraRAEgcoCRaIPg== - dependencies: - xhr-request "^1.1.0" - - xhr-request@^1.0.1, xhr-request@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr-request/-/xhr-request-1.1.0.tgz#f4a7c1868b9f198723444d82dcae317643f2e2ed" - integrity sha512-Y7qzEaR3FDtL3fP30k9wO/e+FBnBByZeybKOhASsGP30NIkRAAkKD/sCnLvgEfAIEC1rcmK7YG8f4oEnIrrWzA== - dependencies: - buffer-to-arraybuffer "^0.0.5" - object-assign "^4.1.1" - query-string "^5.0.1" - simple-get "^2.7.0" - timed-out "^4.0.1" - url-set-query "^1.0.0" - xhr "^2.0.4" - - xhr2-cookies@1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/xhr2-cookies/-/xhr2-cookies-1.1.0.tgz#7d77449d0999197f155cb73b23df72505ed89d48" - integrity sha512-hjXUA6q+jl/bd8ADHcVfFsSPIf+tyLIjuO9TwJC9WI6JP2zKcS7C+p56I9kCLLsaCiNT035iYvEUUzdEFj/8+g== - dependencies: - cookiejar "^2.1.1" - - xhr@^2.0.4, xhr@^2.3.3: - version "2.6.0" - resolved "https://registry.yarnpkg.com/xhr/-/xhr-2.6.0.tgz#b69d4395e792b4173d6b7df077f0fc5e4e2b249d" - integrity sha512-/eCGLb5rxjx5e3mF1A7s+pLlR6CGyqWN91fv1JgER5mVWg1MZmlhBvy9kjcsOdRk8RrIujotWyJamfyrp+WIcA== - dependencies: - global "~4.4.0" - is-function "^1.0.1" - parse-headers "^2.0.0" - xtend "^4.0.0" - - xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - - xml2js@0.4.19: - version "0.4.19" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" - integrity sha512-esZnJZJOiJR9wWKMyuvSE1y6Dq5LCuJanqhxslH2bxM6duahNZ+HMpCLhBQGZkbX6xRf8x1Y2eJlgt2q3qo49Q== - dependencies: - sax ">=0.6.0" - xmlbuilder "~9.0.1" - - xml2js@^0.4.19, xml2js@^0.4.9: - version "0.4.23" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66" - integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug== - dependencies: - sax ">=0.6.0" - xmlbuilder "~11.0.0" - - xmlbuilder@~11.0.0: - version "11.0.1" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3" - integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA== - - xmlbuilder@~9.0.1: - version "9.0.7" - resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" - integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ== - - xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - - xmlhttprequest-ssl@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz#91360c86b914e67f44dce769180027c0da618c67" - integrity sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A== - - xmlhttprequest@1.8.0: - version "1.8.0" - resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" - integrity sha512-58Im/U0mlVBLM38NdZjHyhuMtCqa61469k2YP/AaPbvCoV9aQGUpbJBj1QRm2ytRiVQBD/fsw7L2bJGDVQswBA== - - xss@^1.0.8: - version "1.0.14" - resolved "https://registry.yarnpkg.com/xss/-/xss-1.0.14.tgz#4f3efbde75ad0d82e9921cc3c95e6590dd336694" - integrity sha512-og7TEJhXvn1a7kzZGQ7ETjdQVS2UfZyTlsEdDOqvQF7GoxNfY+0YLCzBy1kPdsDDx4QuNAonQPddpsn6Xl/7sw== - dependencies: - commander "^2.20.3" - cssfilter "0.0.10" - - xsswap-sdk@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/xsswap-sdk/-/xsswap-sdk-1.0.1.tgz#39a3b3a5e946b750d8a801a6f1fa78db64b96bbb" - integrity sha512-erBr5eDlzqrxbto+uDkVGE0G5oKZZ05Na3150g8dnEf5zeAnmwl3+ze7cjpeLgCbO2vidCQqgs9dFeGC7KShlw== - dependencies: - "@uniswap/v2-core" "^1.0.0" - big.js "^5.2.2" - decimal.js-light "^2.5.0" - jsbi "^3.1.1" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - - xstream@^11.14.0: - version "11.14.0" - resolved "https://registry.yarnpkg.com/xstream/-/xstream-11.14.0.tgz#2c071d26b18310523b6877e86b4e54df068a9ae5" - integrity sha512-1bLb+kKKtKPbgTK6i/BaoAn03g47PpFstlbe1BA+y3pNS/LfvcaghS5BFf9+EE1J+KwSQsEpfJvFN5GqFtiNmw== - dependencies: - globalthis "^1.0.1" - symbol-observable "^2.0.3" - - xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.0, xtend@~4.0.1: - version "4.0.2" - resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" - integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ== - - "y18n@^3.2.1 || ^4.0.0", y18n@^4.0.0: - version "4.0.3" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf" - integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ== - - y18n@^5.0.5: - version "5.0.8" - resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55" - integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== - - yaeti@^0.0.6: - version "0.0.6" - resolved "https://registry.yarnpkg.com/yaeti/-/yaeti-0.0.6.tgz#f26f484d72684cf42bedfb76970aa1608fbf9577" - integrity sha512-MvQa//+KcZCUkBTIC9blM+CU9J2GzuTytsOUwf2lidtvkx/6gnEp1QvJv34t9vdjhFmha/mUiNDbN0D0mJWdug== - - yallist@^3.0.0, yallist@^3.0.2, yallist@^3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd" - integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g== - - yallist@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72" - integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== - - yargs-parser@20.2.4: - version "20.2.4" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" - integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== - - yargs-parser@20.x, yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - - yargs-parser@^11.1.1: - version "11.1.1" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" - integrity sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - - yargs-parser@^13.1.2: - version "13.1.2" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38" - integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg== - dependencies: - camelcase "^5.0.0" - decamelize "^1.2.0" - - yargs-unparser@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" - integrity sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA== - dependencies: - camelcase "^6.0.0" - decamelize "^4.0.0" - flat "^5.0.2" - is-plain-obj "^2.1.0" - - yargs@16.2.0, yargs@^16.1.0, yargs@^16.2.0: - version "16.2.0" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" - integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== - dependencies: - cliui "^7.0.2" - escalade "^3.1.1" - get-caller-file "^2.0.5" - require-directory "^2.1.1" - string-width "^4.2.0" - y18n "^5.0.5" - yargs-parser "^20.2.2" - - yargs@^12.0.2: - version "12.0.5" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-12.0.5.tgz#05f5997b609647b64f66b81e3b4b10a368e7ad13" - integrity sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw== - dependencies: - cliui "^4.0.0" - decamelize "^1.2.0" - find-up "^3.0.0" - get-caller-file "^1.0.1" - os-locale "^3.0.0" - require-directory "^2.1.1" - require-main-filename "^1.0.1" - set-blocking "^2.0.0" - string-width "^2.0.0" - which-module "^2.0.0" - y18n "^3.2.1 || ^4.0.0" - yargs-parser "^11.1.1" - - yargs@^13.2.4: - version "13.3.2" - resolved "https://registry.yarnpkg.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd" - integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw== - dependencies: - cliui "^5.0.0" - find-up "^3.0.0" - get-caller-file "^2.0.1" - require-directory "^2.1.1" - require-main-filename "^2.0.0" - set-blocking "^2.0.0" - string-width "^3.0.0" - which-module "^2.0.0" - y18n "^4.0.0" - yargs-parser "^13.1.2" - - yarn@^1.22.17: - version "1.22.19" - resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.19.tgz#4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447" - integrity sha512-/0V5q0WbslqnwP91tirOvldvYISzaqhClxzyUKXYxs07yUILIs5jx/k6CFe8bvKSkds5w+eiOqta39Wk3WxdcQ== - - yauzl@^2.4.2: - version "2.10.0" - resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9" - integrity sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g== - dependencies: - buffer-crc32 "~0.2.3" - fd-slicer "~1.1.0" - - yn@3.1.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/yn/-/yn-3.1.1.tgz#1e87401a09d767c1d5eab26a6e4c185182d2eb50" - integrity sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q== - - yocto-queue@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b" - integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q== - - zen-observable-ts@^1.2.5: - version "1.2.5" - resolved "https://registry.yarnpkg.com/zen-observable-ts/-/zen-observable-ts-1.2.5.tgz#6c6d9ea3d3a842812c6e9519209365a122ba8b58" - integrity sha512-QZWQekv6iB72Naeake9hS1KxHlotfRpe+WGNbNx5/ta+R3DNjVO2bswf63gXlWDcs+EMd7XY8HfVQyP1X6T4Zg== - dependencies: - zen-observable "0.8.15" - - zen-observable@0.8.15: - version "0.8.15" - resolved "https://registry.yarnpkg.com/zen-observable/-/zen-observable-0.8.15.tgz#96415c512d8e3ffd920afd3889604e30b9eaac15" - integrity sha512-PQ2PC7R9rslx84ndNBZB/Dkv8V8fZEpk83RLgXtYd0fwUgEjseMn1Dgajh2x6S8QbZAFa9p2qVCEuYZNgve0dQ== diff --git a/yarn.lock b/yarn.lock index 8e6c3eb9f9..11893b2ee9 100644 --- a/yarn.lock +++ b/yarn.lock @@ -968,137 +968,137 @@ "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-b01626c6-2d8e-4680-b8f6-733e96fa406b-1699808116703/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-9b01c829-8b75-4cd7-b23a-ac360818143b-1699808116700/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-ab9181c5-5c1b-4151-a92b-faabf2ebd46f-1699808116706/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-6fe54cd0-b02d-4691-97f1-6b74e1513f3c-1699808116702/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-f0eef86e-4120-4e67-b776-44b982b01005-1699808116707/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-d886fd5d-a177-4278-9701-1f45025567b9-1699808116709/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-d886fd5d-a177-4278-9701-1f45025567b9-1699808116709/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-256f7156-89f7-4852-9675-79910897219e-1699808116712/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-256f7156-89f7-4852-9675-79910897219e-1699808116712/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" bn.js "^5.2.1" "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-231e37da-fa65-413e-bc5f-96686282064b-1699808116710/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-ee4a7187-79ff-4387-ac08-67ee437adb01-1699808116713/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": version "5.6.0" dependencies: - "@ethersproject-xdc/abi" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-b1ebeaf1-ce5b-4e96-b48e-76229d9ffbc7-1699808116714/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:vendor/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-4da5a58a-1491-4957-a153-d0b2eb05d2c6-1699808116718/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-b6e31c1c-1af6-42a6-9ff3-e10f1fa9634a-1699808116716/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-bcf76d38-27d1-40ba-a840-1bcd3a0909ab-1699808116720/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" aes-js "3.0.0" scrypt-js "3.0.1" "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-188ea95f-ad6e-47e0-8adb-1e52a54937b0-1699808116725/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1107,67 +1107,67 @@ "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": version "5.7.1" dependencies: - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-5b29b692-7b30-4ad2-8962-a8da5af476ba-1699808116720/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-e249b2da-bae3-4999-b8d4-0fad9d777df9-1699808116722/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-e249b2da-bae3-4999-b8d4-0fad9d777df9-1699808116722/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-93345a08-2f52-4593-b47b-5f2fdc2c66e0-1699808116724/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": version "5.6.2" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-7a6fe707-5690-4537-b122-6020f76dc985-1699808116722/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" bech32 "1.1.4" ws "7.4.6" "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-c9bc0c85-ff36-47e3-87b4-1c63792ee255-1699808116739/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-c9bc0c85-ff36-47e3-87b4-1c63792ee255-1699808116739/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-0a00c316-60b3-4f17-b453-48568996e3c6-1699808116726/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-0a00c316-60b3-4f17-b453-48568996e3c6-1699808116726/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-fd94e7ec-6ae8-4fbd-b25a-08ef7cd4fb0f-1699808116726/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-fd94e7ec-6ae8-4fbd-b25a-08ef7cd4fb0f-1699808116726/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" hash.js "1.1.7" "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-e878416c-bd88-4527-b37e-323091adf84e-1699808116742/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-e878416c-bd88-4527-b37e-323091adf84e-1699808116742/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-e878416c-bd88-4527-b37e-323091adf84e-1699808116742/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1175,76 +1175,76 @@ "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-7975dd6e-236e-4e63-9c78-00b8beabf970-1699808116744/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-cc8a7302-879f-4bb1-a132-579591add571-1699808116745/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-cc8a7302-879f-4bb1-a132-579591add571-1699808116745/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-cc8a7302-879f-4bb1-a132-579591add571-1699808116745/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-7fa402e5-d37c-4dbd-8656-7b9c900715ed-1699808116739/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-94fb7855-9cd2-4843-8e11-d4f2bcf2c385-1699808116748/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-94fb7855-9cd2-4843-8e11-d4f2bcf2c385-1699808116748/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-94fb7855-9cd2-4843-8e11-d4f2bcf2c385-1699808116748/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-65fa0c8a-2697-4190-ba12-cba8e3d42150-1699808116747/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:vendor/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": version "5.7.1" dependencies: - "@ethersproject-xdc/base64" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-3e3b8730-76d0-4f4e-bf55-f8d99a3438c7-1699808116749/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-767c58b4-795c-401f-bfa6-5899bba01a61-1699808116750/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -7237,36 +7237,36 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: "ethers-xdc@file:./vendor/ethers-xdc": version "5.7.2" dependencies: - "@ethersproject-xdc/abi" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-e3f4ed19-553f-4268-9c76-ca6a68714870-1699808116656/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:vendor/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:vendor/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:vendor/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:vendor/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:vendor/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:vendor/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:vendor/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" From 3f21ec11671346f6aca809f455dfedfb8f002c30 Mon Sep 17 00:00:00 2001 From: Michael Feng Date: Fri, 1 Dec 2023 13:57:34 -0800 Subject: [PATCH 48/67] (update) Bump axios from 0.21.4 to 1.6.0 --- package.json | 2 +- yarn.lock | 373 ++++++++++++++++++++++++++------------------------- 2 files changed, 192 insertions(+), 183 deletions(-) diff --git a/package.json b/package.json index f0687e0b28..4e18a65131 100644 --- a/package.json +++ b/package.json @@ -60,7 +60,7 @@ "ajv": "^8.6.3", "algosdk": "^2.2.0", "app-root-path": "^3.0.0", - "axios": "^0.21.1", + "axios": "^1.6.0", "big.js": "6.1.1", "bn.js": "^5.2.1", "body-parser": "^1.19.0", diff --git a/yarn.lock b/yarn.lock index 11893b2ee9..9eb73597ca 100644 --- a/yarn.lock +++ b/yarn.lock @@ -968,137 +968,137 @@ "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/web" "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/rlp" "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-d8a93a33-9e6d-4918-a1fb-59362de1ecaf-1701467791796/node_modules/@ethersproject-xdc/bytes" "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-183ce3a7-537c-439b-bc35-0bbe599cb73e-1701467791796/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-183ce3a7-537c-439b-bc35-0bbe599cb73e-1701467791796/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-11c13e2d-1d5e-4291-847b-101bfdad0ee9-1701467791797/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-11c13e2d-1d5e-4291-847b-101bfdad0ee9-1701467791797/node_modules/@ethersproject-xdc/logger" bn.js "^5.2.1" "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-6844b107-6a37-44e8-bfde-48b9173c0b97-1701467791798/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-73301618-8f8f-46a6-bc96-1e37dc5a7b9d-1701467791798/node_modules/@ethersproject-xdc/bignumber" "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": version "5.6.0" dependencies: - "@ethersproject-xdc/abi" "file:vendor/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/transactions" "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/transactions" aes-js "3.0.0" scrypt-js "3.0.1" "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-43230638-19cc-42ae-8fbb-c038cf7b907a-1701467791802/node_modules/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1107,67 +1107,67 @@ "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": version "5.7.1" dependencies: - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-dde07042-3579-4860-9b69-c56d14deb56d-1701467791803/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-6fc8781f-cb4f-41ea-a944-a37c41ad02ed-1701467791803/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-6fc8781f-cb4f-41ea-a944-a37c41ad02ed-1701467791803/node_modules/@ethersproject-xdc/sha2" "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-158bf4aa-23a6-4849-8fcb-8409447e0df2-1701467791803/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": version "5.6.2" dependencies: - "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/web" bech32 "1.1.4" ws "7.4.6" "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-adebdc93-330c-46e2-b765-960495d5240f-1701467791807/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-adebdc93-330c-46e2-b765-960495d5240f-1701467791807/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-e81161a7-27fc-4d68-be0c-7518b6ca43d3-1701467791809/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-e81161a7-27fc-4d68-be0c-7518b6ca43d3-1701467791809/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-bcc38d45-175c-43ee-b119-4929df61a2d1-1701467791807/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-bcc38d45-175c-43ee-b119-4929df61a2d1-1701467791807/node_modules/@ethersproject-xdc/logger" hash.js "1.1.7" "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-3c010138-7369-4012-9479-a78d44f11992-1701467791808/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-3c010138-7369-4012-9479-a78d44f11992-1701467791808/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-3c010138-7369-4012-9479-a78d44f11992-1701467791808/node_modules/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1175,76 +1175,76 @@ "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-33582a97-297a-40c5-aa32-623df1d736bd-1701467791809/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-33582a97-297a-40c5-aa32-623df1d736bd-1701467791809/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-33582a97-297a-40c5-aa32-623df1d736bd-1701467791809/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/signing-key" "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-006548eb-a7b9-4fe3-a66f-b72c3d92015c-1701467791818/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-006548eb-a7b9-4fe3-a66f-b72c3d92015c-1701467791818/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-006548eb-a7b9-4fe3-a66f-b72c3d92015c-1701467791818/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:vendor/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": version "5.7.1" dependencies: - "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/strings" "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -4944,6 +4944,15 @@ axios@^0.27.2: follow-redirects "^1.14.9" form-data "^4.0.0" +axios@^1.6.0: + version "1.6.2" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.2.tgz#de67d42c755b571d3e698df1b6504cde9b0ee9f2" + integrity sha512-7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A== + dependencies: + follow-redirects "^1.15.0" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + babel-jest@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" @@ -7237,36 +7246,36 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: "ethers-xdc@file:./vendor/ethers-xdc": version "5.7.2" dependencies: - "@ethersproject-xdc/abi" "file:vendor/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:vendor/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:vendor/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:vendor/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:vendor/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:vendor/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:vendor/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" From e9ac1e9ff3debe3f98114b685eae127e99ab02f9 Mon Sep 17 00:00:00 2001 From: Michael Feng Date: Fri, 1 Dec 2023 13:53:30 -0800 Subject: [PATCH 49/67] (fix) updates yarn.lock and bumps axios --- yarn.lock | 364 +++++++++++++++++++++++++++--------------------------- 1 file changed, 182 insertions(+), 182 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9eb73597ca..6160bb8485 100644 --- a/yarn.lock +++ b/yarn.lock @@ -968,137 +968,137 @@ "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-fa3e96f8-96c6-47de-94e7-bc1b5a8ad7f8-1701467791795/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0fb3a863-a9f5-4727-844e-415d59fda228-1701467791794/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-3d8ee3b3-ab29-49bf-9666-981ec3d950a4-1701467791794/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-aa196e6a-8c3c-42ba-84a8-0d1aeac63976-1701467791795/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-d8a93a33-9e6d-4918-a1fb-59362de1ecaf-1701467791796/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-183ce3a7-537c-439b-bc35-0bbe599cb73e-1701467791796/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-183ce3a7-537c-439b-bc35-0bbe599cb73e-1701467791796/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-11c13e2d-1d5e-4291-847b-101bfdad0ee9-1701467791797/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-11c13e2d-1d5e-4291-847b-101bfdad0ee9-1701467791797/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" bn.js "^5.2.1" "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-6844b107-6a37-44e8-bfde-48b9173c0b97-1701467791798/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-73301618-8f8f-46a6-bc96-1e37dc5a7b9d-1701467791798/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": version "5.6.0" dependencies: - "@ethersproject-xdc/abi" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-4a0e09ef-fb07-492c-a367-b2ff094aa198-1701467791799/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:vendor/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-8db4b060-abbe-4ab1-93dd-7ce60206bab6-1701467791798/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-16e81d3c-d415-4271-b586-e4446764f055-1701467791800/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-e453a843-7fb2-44e1-8fce-203fa937c031-1701467791801/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" aes-js "3.0.0" scrypt-js "3.0.1" "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-43230638-19cc-42ae-8fbb-c038cf7b907a-1701467791802/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1107,67 +1107,67 @@ "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": version "5.7.1" dependencies: - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-dde07042-3579-4860-9b69-c56d14deb56d-1701467791803/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-6fc8781f-cb4f-41ea-a944-a37c41ad02ed-1701467791803/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-6fc8781f-cb4f-41ea-a944-a37c41ad02ed-1701467791803/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-158bf4aa-23a6-4849-8fcb-8409447e0df2-1701467791803/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": version "5.6.2" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-3437a201-f664-477f-8dee-ea3741b9026b-1701467791804/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" bech32 "1.1.4" ws "7.4.6" "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-adebdc93-330c-46e2-b765-960495d5240f-1701467791807/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-adebdc93-330c-46e2-b765-960495d5240f-1701467791807/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-e81161a7-27fc-4d68-be0c-7518b6ca43d3-1701467791809/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-e81161a7-27fc-4d68-be0c-7518b6ca43d3-1701467791809/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-bcc38d45-175c-43ee-b119-4929df61a2d1-1701467791807/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-bcc38d45-175c-43ee-b119-4929df61a2d1-1701467791807/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" hash.js "1.1.7" "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-3c010138-7369-4012-9479-a78d44f11992-1701467791808/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-3c010138-7369-4012-9479-a78d44f11992-1701467791808/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-3c010138-7369-4012-9479-a78d44f11992-1701467791808/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1175,76 +1175,76 @@ "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-3e8a073e-0b0f-40a8-b73c-fa3c0e4515e2-1701467791822/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-33582a97-297a-40c5-aa32-623df1d736bd-1701467791809/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-33582a97-297a-40c5-aa32-623df1d736bd-1701467791809/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-33582a97-297a-40c5-aa32-623df1d736bd-1701467791809/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-1e293b62-9c44-49fe-9146-5cd32fe9dfa9-1701467791809/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-006548eb-a7b9-4fe3-a66f-b72c3d92015c-1701467791818/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-006548eb-a7b9-4fe3-a66f-b72c3d92015c-1701467791818/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-006548eb-a7b9-4fe3-a66f-b72c3d92015c-1701467791818/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-cc05a72f-cb0e-4d41-8f7a-6c4cd3e07a86-1701467791811/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:vendor/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": version "5.7.1" dependencies: - "@ethersproject-xdc/base64" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c8b10b15-00b2-4ff8-8320-584015500cfc-1701467791814/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eec34c56-309a-49a3-8ec0-ff84efc2cb48-1701467791815/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -7246,36 +7246,36 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: "ethers-xdc@file:./vendor/ethers-xdc": version "5.7.2" dependencies: - "@ethersproject-xdc/abi" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-a68e3c99-011e-49ee-a3df-7e66dce2df87-1701467791781/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:vendor/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:vendor/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:vendor/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:vendor/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:vendor/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:vendor/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:vendor/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" From e9da133445ed58212a408f7d60f98b573be3d14f Mon Sep 17 00:00:00 2001 From: vic-en Date: Sat, 2 Dec 2023 01:14:24 -0600 Subject: [PATCH 50/67] Add 'pancakeswapLP' as a valid spender --- src/chains/ethereum/ethereum.validators.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/chains/ethereum/ethereum.validators.ts b/src/chains/ethereum/ethereum.validators.ts index f89c1e353d..d9256a7486 100644 --- a/src/chains/ethereum/ethereum.validators.ts +++ b/src/chains/ethereum/ethereum.validators.ts @@ -60,6 +60,7 @@ export const validateSpender: Validator = mkValidator( val === 'mad_meerkat' || val === 'vvs' || val === 'pancakeswap' || + val === 'pancakeswapLP' || val === 'xsswap' || val === 'curve' || isAddress(val)) From 15dea28903a0b2ed32989fe392e01d4bc76546f5 Mon Sep 17 00:00:00 2001 From: vic-en Date: Sat, 2 Dec 2023 01:15:18 -0600 Subject: [PATCH 51/67] Update ttl value in pancakeswap.yml --- src/templates/pancakeswap.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templates/pancakeswap.yml b/src/templates/pancakeswap.yml index 1f901ae189..d0f730c2d1 100644 --- a/src/templates/pancakeswap.yml +++ b/src/templates/pancakeswap.yml @@ -7,7 +7,7 @@ gasLimitEstimate: 150688 # how long a trade is valid in seconds. After time passes pancakeswap will not # perform the trade, but the gas will still be spent. -ttl: 300 +ttl: 86400 # For each swap, the maximum number of hops to consider. # Note: More hops will increase latency of the algorithm. From d9e13ac219bbe3a38015c8091edda0db93bf1499 Mon Sep 17 00:00:00 2001 From: vic-en Date: Sat, 2 Dec 2023 21:03:58 -0600 Subject: [PATCH 52/67] add unit tests --- .../pancakeswap/pancakeswap.lp.helper.ts | 2 +- .../pancakeswap/pancakeswap.lp.routes.test.ts | 442 ++++++++++++++++++ .../pancakeswap/pancakeswap.lp.test.ts | 278 +++++++++++ 3 files changed, 721 insertions(+), 1 deletion(-) create mode 100644 test/connectors/pancakeswap/pancakeswap.lp.routes.test.ts create mode 100644 test/connectors/pancakeswap/pancakeswap.lp.test.ts diff --git a/src/connectors/pancakeswap/pancakeswap.lp.helper.ts b/src/connectors/pancakeswap/pancakeswap.lp.helper.ts index 76953de53a..a542d3e89e 100644 --- a/src/connectors/pancakeswap/pancakeswap.lp.helper.ts +++ b/src/connectors/pancakeswap/pancakeswap.lp.helper.ts @@ -110,7 +110,7 @@ export class PancakeswapLPHelper { public async init() { if (this._chainName == 'binance-smart-chain' && !this.chain.ready()) throw new InitializationError( - SERVICE_UNITIALIZED_ERROR_MESSAGE('ETH'), + SERVICE_UNITIALIZED_ERROR_MESSAGE('BinanceSmartChain'), SERVICE_UNITIALIZED_ERROR_CODE ); for (const token of this.chain.storedTokenList) { diff --git a/test/connectors/pancakeswap/pancakeswap.lp.routes.test.ts b/test/connectors/pancakeswap/pancakeswap.lp.routes.test.ts new file mode 100644 index 0000000000..007e502dd6 --- /dev/null +++ b/test/connectors/pancakeswap/pancakeswap.lp.routes.test.ts @@ -0,0 +1,442 @@ +import express from 'express'; +import { Express } from 'express-serve-static-core'; +import request from 'supertest'; +import { BinanceSmartChain } from '../../../src/chains/binance-smart-chain/binance-smart-chain'; +import { PancakeswapLP } from '../../../src/connectors/pancakeswap/pancakeswap.lp'; +import { AmmLiquidityRoutes } from '../../../src/amm/amm.routes'; +import { patch, unpatch } from '../../services/patch'; +import { patchEVMNonceManager } from '../../evm.nonce.mock'; + +let app: Express; +let bsc: BinanceSmartChain; +let pancakeswap: PancakeswapLP; + +beforeAll(async () => { + app = express(); + app.use(express.json()); + bsc = BinanceSmartChain.getInstance('testnet'); + patchEVMNonceManager(bsc.nonceManager); + await bsc.init(); + + pancakeswap = PancakeswapLP.getInstance('binance-smart-chain', 'testnet'); + await pancakeswap.init(); + app.use('/amm/liquidity', AmmLiquidityRoutes.router); +}); + +beforeEach(() => { + patchEVMNonceManager(bsc.nonceManager); +}); + +afterEach(() => { + unpatch(); +}); + +afterAll(async () => { + await bsc.close(); +}); + +const address: string = '0xFaA12FD102FE8623C9299c72B03E45107F2772B5'; + +const patchGetWallet = () => { + patch(bsc, 'getWallet', () => { + return { + address: '0xFaA12FD102FE8623C9299c72B03E45107F2772B5', + }; + }); +}; + +const patchInit = () => { + patch(pancakeswap, 'init', async () => { + return; + }); +}; + +const patchStoredTokenList = () => { + patch(bsc, 'tokenList', () => { + return [ + { + chainId: 97, + name: 'WETH', + symbol: 'WETH', + address: '0xd0A1E359811322d97991E03f863a0C30C2cF029C', + decimals: 18, + }, + { + chainId: 97, + name: 'DAI', + symbol: 'DAI', + address: '0x4f96fe3b7a6cf9725f59d353f723c1bdb64ca6aa', + decimals: 18, + }, + ]; + }); +}; + +const patchGetTokenBySymbol = () => { + patch(bsc, 'getTokenBySymbol', (symbol: string) => { + if (symbol === 'WETH') { + return { + chainId: 97, + name: 'WETH', + symbol: 'WETH', + address: '0xd0A1E359811322d97991E03f863a0C30C2cF029C', + decimals: 18, + }; + } else { + return { + chainId: 97, + name: 'DAI', + symbol: 'DAI', + address: '0x4f96fe3b7a6cf9725f59d353f723c1bdb64ca6aa', + decimals: 18, + }; + } + }); +}; + +const patchGetTokenByAddress = () => { + patch(pancakeswap, 'getTokenByAddress', () => { + return { + chainId: 97, + name: 'WETH', + symbol: 'WETH', + address: '0xd0A1E359811322d97991E03f863a0C30C2cF029C', + decimals: 18, + }; + }); +}; + +const patchGasPrice = () => { + patch(bsc, 'gasPrice', () => 100); +}; + +const patchGetNonce = () => { + patch(bsc.nonceManager, 'getNonce', () => 21); +}; + +const patchAddPosition = () => { + patch(pancakeswap, 'addPosition', () => { + return { nonce: 21, hash: '000000000000000' }; + }); +}; + +const patchRemovePosition = () => { + patch(pancakeswap, 'reducePosition', () => { + return { nonce: 21, hash: '000000000000000' }; + }); +}; + +const patchCollectFees = () => { + patch(pancakeswap, 'collectFees', () => { + return { nonce: 21, hash: '000000000000000' }; + }); +}; + +const patchPosition = () => { + patch(pancakeswap, 'getPosition', () => { + return { + token0: 'DAI', + token1: 'WETH', + fee: 300, + lowerPrice: '1', + upperPrice: '5', + amount0: '1', + amount1: '1', + unclaimedToken0: '1', + unclaimedToken1: '1', + }; + }); +}; + +describe('POST /liquidity/add', () => { + it('should return 200 when all parameter are OK', async () => { + patchGetWallet(); + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + patchGasPrice(); + patchAddPosition(); + patchGetNonce(); + + await request(app) + .post(`/amm/liquidity/add`) + .send({ + address: address, + token0: 'DAI', + token1: 'WETH', + amount0: '1', + amount1: '1', + fee: 'LOW', + lowerPrice: '1', + upperPrice: '5', + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(200); + }); + + it('should return 500 for unrecognized token0 symbol', async () => { + patchGetWallet(); + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + + await request(app) + .post(`/amm/liquidity/add`) + .send({ + address: address, + token0: 'DOGE', + token1: 'WETH', + amount0: '1', + amount1: '1', + fee: 'LOW', + lowerPrice: '1', + upperPrice: '5', + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(500); + }); + + it('should return 404 for invalid fee tier', async () => { + patchGetWallet(); + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + + await request(app) + .post(`/amm/liquidity/add`) + .send({ + address: address, + token0: 'DAI', + token1: 'WETH', + amount0: '1', + amount1: '1', + fee: 300, + lowerPrice: '1', + upperPrice: '5', + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(404); + }); + + it('should return 500 when the helper operation fails', async () => { + patchGetWallet(); + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + patch(pancakeswap, 'addPositionHelper', () => { + return 'error'; + }); + + await request(app) + .post(`/amm/liquidity/add`) + .send({ + address: address, + token0: 'DAI', + token1: 'WETH', + amount0: '1', + amount1: '1', + fee: 'LOW', + lowerPrice: '1', + upperPrice: '5', + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(500); + }); +}); + +describe('POST /liquidity/remove', () => { + const patchForBuy = () => { + patchGetWallet(); + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + patchGasPrice(); + patchRemovePosition(); + patchGetNonce(); + }; + it('should return 200 when all parameter are OK', async () => { + patchForBuy(); + await request(app) + .post(`/amm/liquidity/remove`) + .send({ + address: address, + tokenId: 2732, + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(200); + }); + + it('should return 404 when the tokenId is invalid', async () => { + patchGetWallet(); + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + + await request(app) + .post(`/amm/liquidity/remove`) + .send({ + address: address, + tokenId: 'Invalid', + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(404); + }); +}); + +describe('POST /liquidity/collect_fees', () => { + const patchForBuy = () => { + patchGetWallet(); + patchInit(); + patchGasPrice(); + patchCollectFees(); + patchGetNonce(); + }; + it('should return 200 when all parameter are OK', async () => { + patchForBuy(); + await request(app) + .post(`/amm/liquidity/collect_fees`) + .send({ + address: address, + tokenId: 2732, + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(200); + }); + + it('should return 404 when the tokenId is invalid', async () => { + patchGetWallet(); + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + + await request(app) + .post(`/amm/liquidity/collect_fees`) + .send({ + address: address, + tokenId: 'Invalid', + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(404); + }); +}); + +describe('POST /liquidity/position', () => { + it('should return 200 when all parameter are OK', async () => { + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + patchPosition(); + + await request(app) + .post(`/amm/liquidity/position`) + .send({ + tokenId: 2732, + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(200); + }); + + it('should return 404 when the tokenId is invalid', async () => { + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + + await request(app) + .post(`/amm/liquidity/position`) + .send({ + tokenId: 'Invalid', + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(404); + }); +}); + +describe('POST /liquidity/price', () => { + const patchForBuy = () => { + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + patch(pancakeswap, 'poolPrice', () => { + return ['100', '105']; + }); + }; + it('should return 200 when all parameter are OK', async () => { + patchForBuy(); + await request(app) + .post(`/amm/liquidity/price`) + .send({ + token0: 'DAI', + token1: 'WETH', + fee: 'LOW', + period: 120, + interval: 60, + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(200); + }); + + it('should return 404 when the fee is invalid', async () => { + patchGetWallet(); + patchInit(); + patchStoredTokenList(); + patchGetTokenBySymbol(); + patchGetTokenByAddress(); + + await request(app) + .post(`/amm/liquidity/price`) + .send({ + token0: 'DAI', + token1: 'WETH', + fee: 11, + period: 120, + interval: 60, + chain: 'binance-smart-chain', + network: 'testnet', + connector: 'pancakeswapLP', + }) + .set('Accept', 'application/json') + .expect(404); + }); +}); diff --git a/test/connectors/pancakeswap/pancakeswap.lp.test.ts b/test/connectors/pancakeswap/pancakeswap.lp.test.ts new file mode 100644 index 0000000000..2cfd545e26 --- /dev/null +++ b/test/connectors/pancakeswap/pancakeswap.lp.test.ts @@ -0,0 +1,278 @@ +jest.useFakeTimers(); +import { Token } from '@pancakeswap/swap-sdk-core'; +import * as v3 from '@pancakeswap/v3-sdk'; +import { BigNumber, Transaction, Wallet } from 'ethers'; +import { BinanceSmartChain } from '../../../src/chains/binance-smart-chain/binance-smart-chain'; +import { PancakeswapLP } from '../../../src/connectors/pancakeswap/pancakeswap.lp'; +import { patch, unpatch } from '../../services/patch'; +import { patchEVMNonceManager } from '../../evm.nonce.mock'; +let bsc: BinanceSmartChain; +let pancakeswapLP: PancakeswapLP; +let wallet: Wallet; + +const WETH = new Token( + 97, + '0x8babbb98678facc7342735486c851abd7a0d17ca', + 18, + 'WETH' +); + +const DAI = new Token( + 97, + '0x8a9424745056Eb399FD19a0EC26A14316684e274', + 18, + 'DAI' +); + +const USDC = new Token( + 97, + '0x7ef95a0fee0dd31b22626fa2e10ee6a223f8a684', + 6, + 'USDC' +); + +const TX = { + type: 2, + chainId: 97, + nonce: 115, + maxPriorityFeePerGas: { toString: () => '106000000000' }, + maxFeePerGas: { toString: () => '106000000000' }, + gasPrice: { toString: () => null }, + gasLimit: { toString: () => '100000' }, + to: '0xdc31Ee1784292379Fbb2964b3B9C4124D8F89C60', + value: { toString: () => '0' }, + data: '0x095ea7b30000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488dffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', // noqa: mock + accessList: [], + hash: '0x75f98675a8f64dcf14927ccde9a1d59b67fa09b72cc2642ad055dae4074853d9', // noqa: mock + v: 0, + r: '0xbeb9aa40028d79b9fdab108fcef5de635457a05f3a254410414c095b02c64643', // noqa: mock + s: '0x5a1506fa4b7f8b4f3826d8648f27ebaa9c0ee4bd67f569414b8cd8884c073100', // noqa: mock + from: '0xFaA12FD102FE8623C9299c72B03E45107F2772B5', + confirmations: 0, +}; + +const POOL_SQRT_RATIO_START = v3.encodeSqrtRatioX96(100e6, 100e18); + +const POOL_TICK_CURRENT = v3.TickMath.getTickAtSqrtRatio( + POOL_SQRT_RATIO_START +); + +const DAI_USDC_POOL = new v3.Pool( + DAI, + USDC, + 500, + POOL_SQRT_RATIO_START, + 0, + POOL_TICK_CURRENT, + [] +); + +beforeAll(async () => { + bsc = BinanceSmartChain.getInstance('testnet'); + + patchEVMNonceManager(bsc.nonceManager); + await bsc.init(); + + wallet = new Wallet( + '0000000000000000000000000000000000000000000000000000000000000002', // noqa: mock + bsc.provider + ); + pancakeswapLP = PancakeswapLP.getInstance('binance-smart-chain', 'testnet'); + await pancakeswapLP.init(); +}); + +beforeEach(() => { + patchEVMNonceManager(bsc.nonceManager); +}); + +afterEach(() => { + unpatch(); +}); + +afterAll(async () => { + await bsc.close(); +}); + +const patchPoolState = () => { + patch(pancakeswapLP, 'getPoolContract', () => { + return { + liquidity() { + return DAI_USDC_POOL.liquidity; + }, + slot0() { + return [ + DAI_USDC_POOL.sqrtRatioX96, + DAI_USDC_POOL.tickCurrent, + 0, + 1, + 1, + 0, + true, + ]; + }, + ticks() { + return ['-118445039955967015140', '118445039955967015140']; + }, + }; + }); +}; + +const patchContract = () => { + patch(pancakeswapLP, 'getContract', () => { + return { + estimateGas: { + multicall() { + return BigNumber.from(5); + }, + }, + positions() { + return { + token0: WETH.address, + token1: USDC.address, + fee: 500, + tickLower: 0, + tickUpper: 23030, + liquidity: '6025055903594410671025', + }; + }, + multicall() { + return TX; + }, + collect() { + return TX; + }, + }; + }); +}; + +const patchWallet = () => { + patch(wallet, 'sendTransaction', () => { + return TX; + }); +}; + +describe('verify PancakeswapLP Nft functions', () => { + it('Should return correct contract addresses', async () => { + expect(pancakeswapLP.router).toEqual( + '0x1b81D678ffb9C0263b24A97847620C99d213eB14' + ); + expect(pancakeswapLP.nftManager).toEqual( + '0x427bF5b37357632377eCbEC9de3626C71A5396c1' + ); + }); + + it('Should return correct contract abi', async () => { + expect(Array.isArray(pancakeswapLP.routerAbi)).toEqual(true); + expect(Array.isArray(pancakeswapLP.nftAbi)).toEqual(true); + expect(Array.isArray(pancakeswapLP.poolAbi)).toEqual(true); + }); + + it('addPositionHelper returns calldata and value', async () => { + patchPoolState(); + + const callData = await pancakeswapLP.addPositionHelper( + wallet, + DAI, + WETH, + '10', + '10', + 500, + 1, + 10 + ); + expect(callData).toHaveProperty('calldata'); + expect(callData).toHaveProperty('value'); + }); + + it('reducePositionHelper returns calldata and value', async () => { + patchPoolState(); + patchContract(); + + const callData = await pancakeswapLP.reducePositionHelper(wallet, 1, 100); + expect(callData).toHaveProperty('calldata'); + expect(callData).toHaveProperty('value'); + }); + + it('basic functions should work', async () => { + patchContract(); + patchPoolState(); + + expect(pancakeswapLP.ready()).toEqual(true); + expect(pancakeswapLP.gasLimitEstimate).toBeGreaterThan(0); + expect(typeof pancakeswapLP.getContract('nft', bsc.provider)).toEqual( + 'object' + ); + expect( + typeof pancakeswapLP.getPoolContract( + '0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa', + wallet + ) + ).toEqual('object'); + }); + + it('generateOverrides returns overrides correctly', async () => { + const overrides = pancakeswapLP.generateOverrides( + 1, + 2, + 3, + BigNumber.from(4), + BigNumber.from(5), + '6' + ); + expect(overrides.gasLimit).toEqual(BigNumber.from('1')); + expect(overrides.gasPrice).toBeUndefined(); + expect(overrides.nonce).toEqual(BigNumber.from(3)); + expect(overrides.maxFeePerGas as BigNumber).toEqual(BigNumber.from(4)); + expect(overrides.maxPriorityFeePerGas as BigNumber).toEqual( + BigNumber.from(5) + ); + expect(overrides.value).toEqual(BigNumber.from('6')); + }); + + it('reducePosition should work', async () => { + patchPoolState(); + patchContract(); + + const reduceTx = (await pancakeswapLP.reducePosition( + wallet, + 1, + 100, + 50000, + 10 + )) as Transaction; + expect(reduceTx.hash).toEqual( + '0x75f98675a8f64dcf14927ccde9a1d59b67fa09b72cc2642ad055dae4074853d9' // noqa: mock + ); + }); + + it('addPosition should work', async () => { + patchPoolState(); + patchWallet(); + + const addTx = await pancakeswapLP.addPosition( + wallet, + DAI, + WETH, + '10', + '10', + 'LOWEST', + 1, + 10, + 0, + 1, + 1 + ); + expect(addTx.hash).toEqual( + '0x75f98675a8f64dcf14927ccde9a1d59b67fa09b72cc2642ad055dae4074853d9' // noqa: mock + ); + }); + + it('collectFees should work', async () => { + patchContract(); + + const collectTx = (await pancakeswapLP.collectFees(wallet, 1)) as Transaction; + expect(collectTx.hash).toEqual( + '0x75f98675a8f64dcf14927ccde9a1d59b67fa09b72cc2642ad055dae4074853d9' // noqa: mock + ); + }); +}); From cf2b05b5a82c40eff0e2bb5156054cd436cbdae6 Mon Sep 17 00:00:00 2001 From: vic-en Date: Sat, 2 Dec 2023 21:22:43 -0600 Subject: [PATCH 53/67] update yarn lock --- yarn.lock | 369 +++++++++++++++++++++++++++--------------------------- 1 file changed, 187 insertions(+), 182 deletions(-) diff --git a/yarn.lock b/yarn.lock index 884fa9722b..9d3b281360 100644 --- a/yarn.lock +++ b/yarn.lock @@ -978,137 +978,137 @@ "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-86bd0d2c-e6a7-4d94-aedf-f4343a928502-1701315088385/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-0e950230-d9b7-4d4c-9ef6-653ccb83557e-1701315088389/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/web" "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-69611057-63e1-4840-8dc0-4acd70e70598-1701315088388/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-daa1149f-5de9-4959-b36e-e3869d62bd5e-1701315088387/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/rlp" "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-e7d4afe5-7170-4558-815e-13913655fa1c-1701315088389/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-72ae2ca5-18b2-48a0-a79d-ad337ea85f2d-1701573291703/node_modules/@ethersproject-xdc/bytes" "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-340312ca-9bc5-484d-bd97-449779d75717-1701315088391/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-340312ca-9bc5-484d-bd97-449779d75717-1701315088391/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-1e3d3f03-909f-426b-b389-afb771a3bc29-1701573291710/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-1e3d3f03-909f-426b-b389-afb771a3bc29-1701573291710/node_modules/@ethersproject-xdc/properties" "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-847f1576-9bc2-4c4f-9c79-778de5d1dd5c-1701315088392/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-847f1576-9bc2-4c4f-9c79-778de5d1dd5c-1701315088392/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-81939cc2-4fea-438c-87b0-0c0ed2a797ae-1701573291704/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-81939cc2-4fea-438c-87b0-0c0ed2a797ae-1701573291704/node_modules/@ethersproject-xdc/logger" bn.js "^5.2.1" "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-75cb8462-50cf-42a3-a69d-f0ff5699cfce-1701315088406/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-7aea8193-af48-41b8-b5a3-55d06c372fad-1701573291704/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-6de51dc1-6ce8-4819-8365-e260d0f15238-1701315088406/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-a8e750bd-272d-4216-9776-1ae63f9348b9-1701573291707/node_modules/@ethersproject-xdc/bignumber" "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": version "5.6.0" dependencies: - "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-0c348127-d559-4009-bb39-4f98ffd35be1-1701315088393/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/transactions" "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b4ffee98-939d-41cc-b755-cfccd935a3ed-1701315088395/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-f31790ca-4e72-4763-a3f5-8de71748a0f2-1701315088407/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-41a6b3f4-b545-49e7-9972-66a7668d0329-1701315088398/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/transactions" aes-js "3.0.0" scrypt-js "3.0.1" "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-d1c9a2eb-77d3-46d1-abc8-0cd3a8a4f06a-1701315088409/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-f5d2a1f6-3f07-42ef-bc1d-ba738a9e9720-1701573291715/node_modules/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1117,67 +1117,67 @@ "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": version "5.7.1" dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-ee7b64c7-f006-480c-8ec4-6b592e57c3fe-1701315088409/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-769a411b-e36c-4f62-a725-60ba234e399a-1701573291716/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-95554abb-48d5-4b88-82ac-b8422741a990-1701315088409/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-95554abb-48d5-4b88-82ac-b8422741a990-1701315088409/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-b6614048-9145-4fda-a86c-a0e488c4b348-1701573291716/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-b6614048-9145-4fda-a86c-a0e488c4b348-1701573291716/node_modules/@ethersproject-xdc/sha2" "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-4d24b841-016b-44fc-a3c3-cb1cf8146c50-1701315088412/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-d38ada3d-755a-4e17-a343-15698e0d8abd-1701573291716/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": version "5.6.2" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0dc1ed1b-2012-43ee-a8c9-41428aa2d1cd-1701315088410/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/web" bech32 "1.1.4" ws "7.4.6" "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-2e2e4eb3-c128-4de5-9820-a8d87fa173a0-1701315088414/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-2e2e4eb3-c128-4de5-9820-a8d87fa173a0-1701315088414/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-ddac0cc7-d8d4-4765-9c07-fca09860bdc9-1701573291720/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-ddac0cc7-d8d4-4765-9c07-fca09860bdc9-1701573291720/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-cd4cad76-381c-4faa-8666-8ddd6eb93810-1701315088412/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-cd4cad76-381c-4faa-8666-8ddd6eb93810-1701315088412/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-cc3f1461-9779-4692-a5ba-c22a2df22e73-1701573291721/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-cc3f1461-9779-4692-a5ba-c22a2df22e73-1701573291721/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-9b420930-c6ff-41f8-834d-1fe8f9f7cd81-1701315088414/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-9b420930-c6ff-41f8-834d-1fe8f9f7cd81-1701315088414/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-5ebada10-fcbe-43e0-a519-b6d96f4306a9-1701573291726/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-5ebada10-fcbe-43e0-a519-b6d96f4306a9-1701573291726/node_modules/@ethersproject-xdc/logger" hash.js "1.1.7" "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-5e9c23bc-7626-4e3b-87fc-3d8bc6111212-1701315088413/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-5e9c23bc-7626-4e3b-87fc-3d8bc6111212-1701315088413/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-5e9c23bc-7626-4e3b-87fc-3d8bc6111212-1701315088413/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-71ac487d-cfed-49af-98d9-acc555758ddf-1701573291721/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-71ac487d-cfed-49af-98d9-acc555758ddf-1701573291721/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-71ac487d-cfed-49af-98d9-acc555758ddf-1701573291721/node_modules/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1185,76 +1185,76 @@ "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-70e48fc3-3807-4c8a-9d49-38fb2463b5ef-1701315088414/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-898f9c06-0ebd-46d7-90ad-2a2456d814f5-1701315088415/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-898f9c06-0ebd-46d7-90ad-2a2456d814f5-1701315088415/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-898f9c06-0ebd-46d7-90ad-2a2456d814f5-1701315088415/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-9510da04-ef24-4b19-8af6-e0a82a00890f-1701573291722/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-9510da04-ef24-4b19-8af6-e0a82a00890f-1701573291722/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-9510da04-ef24-4b19-8af6-e0a82a00890f-1701573291722/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-8b085146-b6a5-4fe4-a9fd-8f5ee654b0b3-1701315088416/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/signing-key" "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-ebf9fc11-cfd2-41ef-a384-0fb60edecb99-1701315088423/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-ebf9fc11-cfd2-41ef-a384-0fb60edecb99-1701315088423/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-ebf9fc11-cfd2-41ef-a384-0fb60edecb99-1701315088423/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-9dda8dcd-d17b-4f5c-8123-a309733c777a-1701573291727/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-9dda8dcd-d17b-4f5c-8123-a309733c777a-1701573291727/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-9dda8dcd-d17b-4f5c-8123-a309733c777a-1701573291727/node_modules/@ethersproject-xdc/logger" "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-37b8bb5c-509e-458f-a8e0-4d8953f82ca7-1701315088424/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/wordlists" "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": version "5.7.1" dependencies: - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-99476fe7-00f8-4015-b880-c43173df0a87-1701315088426/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/strings" "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-ca41491e-7468-44ab-bd93-310c2ca1b6b4-1701315088448/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/strings" "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -7388,36 +7388,36 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: "ethers-xdc@file:./vendor/ethers-xdc": version "5.7.2" dependencies: - "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-3e4fbda4-16a4-454e-a57d-ffff0e832b85-1701315088345/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" @@ -15310,6 +15310,11 @@ ws@^7, ws@^7.2.0, ws@^7.4.5, ws@^7.4.6: resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.9.tgz#54fa7db29f4c7cec68b1ddd3a89de099942bb591" integrity sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q== +ws@^8.2.2: + version "8.14.2" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" + integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== + xhr-request-promise@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" From a1f8adf0bbb3fe0d07a4b75ffaf8088c70aaef6a Mon Sep 17 00:00:00 2001 From: vic-en Date: Mon, 4 Dec 2023 19:09:09 -0600 Subject: [PATCH 54/67] revert changes to yarn lock --- yarn.lock | 560 +++++++++++++++++++----------------------------------- 1 file changed, 192 insertions(+), 368 deletions(-) diff --git a/yarn.lock b/yarn.lock index 9d3b281360..6160bb8485 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,21 +2,11 @@ # yarn lockfile v1 -"@adraffy/ens-normalize@1.10.0": - version "1.10.0" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" - integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== - "@adraffy/ens-normalize@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" integrity sha512-iowxq3U30sghZotgl4s/oJRci6WPBfNO5YYgk2cIOMCHr3LeGPcsZjCEr+33Q4N+oV3OABDAtA+pyvWjbvBifQ== -"@adraffy/ens-normalize@1.9.4": - version "1.9.4" - resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.4.tgz#aae21cb858bbb0411949d5b7b3051f4209043f62" - integrity sha512-UK0bHA7hh9cR39V+4gl2/NnBBjoXIxkuWAPCaY4X7fbH4L/azIi7ilWOCjMUYfpJgraLUAqkRi2BqrjME8Rynw== - "@ampproject/remapping@^2.2.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -978,137 +968,137 @@ "@ethersproject-xdc/abi@file:vendor/@ethersproject-xdc/abi": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-c99fb10e-6e34-4123-a945-38973cd5bd96-1701573291698/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/abstract-provider@file:vendor/@ethersproject-xdc/abstract-provider": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-41b0af96-0a7a-4d02-b047-e1ab535a1f51-1701573291701/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" "@ethersproject-xdc/abstract-signer@file:vendor/@ethersproject-xdc/abstract-signer": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-6ef1e6f6-757b-41ca-95c7-7f95be93e0ba-1701573291699/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" "@ethersproject-xdc/address@file:vendor/@ethersproject-xdc/address": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-address-5.7.0-08dabb2e-e0c7-4dcc-94f2-cc93e2cb354b-1701573291703/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" "@ethersproject-xdc/base64@file:vendor/@ethersproject-xdc/base64": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-72ae2ca5-18b2-48a0-a79d-ad337ea85f2d-1701573291703/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" "@ethersproject-xdc/basex@file:vendor/@ethersproject-xdc/basex": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-1e3d3f03-909f-426b-b389-afb771a3bc29-1701573291710/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-1e3d3f03-909f-426b-b389-afb771a3bc29-1701573291710/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" "@ethersproject-xdc/bignumber@file:vendor/@ethersproject-xdc/bignumber": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-81939cc2-4fea-438c-87b0-0c0ed2a797ae-1701573291704/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-81939cc2-4fea-438c-87b0-0c0ed2a797ae-1701573291704/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" bn.js "^5.2.1" "@ethersproject-xdc/bytes@file:vendor/@ethersproject-xdc/bytes": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-7aea8193-af48-41b8-b5a3-55d06c372fad-1701573291704/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/constants@file:vendor/@ethersproject-xdc/constants": version "5.7.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-a8e750bd-272d-4216-9776-1ae63f9348b9-1701573291707/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" "@ethersproject-xdc/contracts@file:vendor/@ethersproject-xdc/contracts": version "5.6.0" dependencies: - "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-14262639-e189-4b04-a275-03c35a52a6ec-1701573291705/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:vendor/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" "@ethersproject-xdc/hash@file:vendor/@ethersproject-xdc/hash": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-455b4910-0394-4fc0-976d-04d0b37154e9-1701573291709/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/hdnode@file:vendor/@ethersproject-xdc/hdnode": version "5.7.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-d4f57d96-d937-49d9-9d96-7433911e4fd4-1701573291711/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" "@ethersproject-xdc/json-wallets@file:vendor/@ethersproject-xdc/json-wallets": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-ed7fdacd-93b6-4ab5-bae5-a628a5611df9-1701573291713/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" aes-js "3.0.0" scrypt-js "3.0.1" "@ethersproject-xdc/keccak256@file:vendor/@ethersproject-xdc/keccak256": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-f5d2a1f6-3f07-42ef-bc1d-ba738a9e9720-1701573291715/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1117,67 +1107,67 @@ "@ethersproject-xdc/networks@file:vendor/@ethersproject-xdc/networks": version "5.7.1" dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-769a411b-e36c-4f62-a725-60ba234e399a-1701573291716/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/pbkdf2@file:vendor/@ethersproject-xdc/pbkdf2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-b6614048-9145-4fda-a86c-a0e488c4b348-1701573291716/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-b6614048-9145-4fda-a86c-a0e488c4b348-1701573291716/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" "@ethersproject-xdc/properties@file:vendor/@ethersproject-xdc/properties": version "5.7.0" dependencies: - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-d38ada3d-755a-4e17-a343-15698e0d8abd-1701573291716/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/providers@file:vendor/@ethersproject-xdc/providers": version "5.6.2" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-8b1cc795-e37f-4596-a48c-f460693a4b62-1701573291717/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" bech32 "1.1.4" ws "7.4.6" "@ethersproject-xdc/random@file:vendor/@ethersproject-xdc/random": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-ddac0cc7-d8d4-4765-9c07-fca09860bdc9-1701573291720/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-random-5.7.0-ddac0cc7-d8d4-4765-9c07-fca09860bdc9-1701573291720/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/rlp@file:vendor/@ethersproject-xdc/rlp": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-cc3f1461-9779-4692-a5ba-c22a2df22e73-1701573291721/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-cc3f1461-9779-4692-a5ba-c22a2df22e73-1701573291721/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/sha2@file:vendor/@ethersproject-xdc/sha2": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-5ebada10-fcbe-43e0-a519-b6d96f4306a9-1701573291726/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-5ebada10-fcbe-43e0-a519-b6d96f4306a9-1701573291726/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" hash.js "1.1.7" "@ethersproject-xdc/signing-key@file:vendor/@ethersproject-xdc/signing-key": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-71ac487d-cfed-49af-98d9-acc555758ddf-1701573291721/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-71ac487d-cfed-49af-98d9-acc555758ddf-1701573291721/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-71ac487d-cfed-49af-98d9-acc555758ddf-1701573291721/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1185,76 +1175,76 @@ "@ethersproject-xdc/solidity@file:vendor/@ethersproject-xdc/solidity": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-8f1c7155-e886-4cfd-89d5-def0ceb167e7-1701573291732/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/strings@file:vendor/@ethersproject-xdc/strings": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-9510da04-ef24-4b19-8af6-e0a82a00890f-1701573291722/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-9510da04-ef24-4b19-8af6-e0a82a00890f-1701573291722/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-9510da04-ef24-4b19-8af6-e0a82a00890f-1701573291722/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/transactions@file:vendor/@ethersproject-xdc/transactions": version "5.7.0" dependencies: - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6e60e75a-ae8c-4ba1-ac83-dc31500da7d0-1701573291722/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" "@ethersproject-xdc/units@file:vendor/@ethersproject-xdc/units": version "5.6.0" dependencies: - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-9dda8dcd-d17b-4f5c-8123-a309733c777a-1701573291727/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-9dda8dcd-d17b-4f5c-8123-a309733c777a-1701573291727/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-units-5.6.0-9dda8dcd-d17b-4f5c-8123-a309733c777a-1701573291727/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" "@ethersproject-xdc/wallet@file:vendor/@ethersproject-xdc/wallet": version "5.6.0" dependencies: - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-e57ed9d3-28c1-4fca-9a88-1d8e92bebe66-1701573291728/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:vendor/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" "@ethersproject-xdc/web@file:vendor/@ethersproject-xdc/web": version "5.7.1" dependencies: - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-web-5.7.1-1f99e7f9-29fa-4183-824b-bac26ea59056-1701573291731/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject-xdc/wordlists@file:vendor/@ethersproject-xdc/wordlists": version "5.7.0" dependencies: - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-f69f6a0a-197d-48cd-9c19-6bb669a84c08-1701573291731/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" "@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.1.2", "@ethersproject/abi@^5.4.0", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.6.3", "@ethersproject/abi@^5.7.0": version "5.7.0" @@ -2361,13 +2351,6 @@ dependencies: "@noble/hashes" "1.3.0" -"@noble/curves@1.2.0", "@noble/curves@~1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" - integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== - dependencies: - "@noble/hashes" "1.3.2" - "@noble/ed25519@^1.7.0": version "1.7.3" resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" @@ -2383,11 +2366,6 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== -"@noble/hashes@1.3.2", "@noble/hashes@~1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" - integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== - "@noble/secp256k1@1.7.1", "@noble/secp256k1@^1.6.3", "@noble/secp256k1@~1.7.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" @@ -2617,11 +2595,6 @@ "@nomicfoundation/solidity-analyzer-win32-ia32-msvc" "0.1.1" "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.1" -"@openzeppelin/contracts-upgradeable@3.4.2-solc-0.7": - version "3.4.2-solc-0.7" - resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2-solc-0.7.tgz#9a5cdaf9f65bcd9a3b7e865f44a6f672afe7785e" - integrity sha512-I5iKKS8U9L1XdSxsNAIBQekN0U9hTgdleoyntIdR7Jy3U/z/NZ/1oUM0v5HnUMrmn/bXLvYL94rBvaLF++Ndnw== - "@openzeppelin/contracts@3.4.1-solc-0.7-2": version "3.4.1-solc-0.7-2" resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.1-solc-0.7-2.tgz#371c67ebffe50f551c3146a9eec5fe6ffe862e92" @@ -2641,25 +2614,6 @@ truffle-flattener "^1.4.4" truffle-hdwallet-provider "^1.0.17" -"@pancakeswap/chains@0.3.0", "@pancakeswap/chains@^0.3.0": - version "0.3.0" - resolved "https://registry.yarnpkg.com/@pancakeswap/chains/-/chains-0.3.0.tgz#e509dfd9c8387f76b893e3a0a5b835331752b32c" - integrity sha512-a4U8pzfxQsnS0nUpvi8qL2X6l2C/IUTFJcmt3UNAQv2L2CPUSryt1rLarG91O1Bb/UMfv90UCPrXJcHWpaYSMg== - -"@pancakeswap/sdk@5.7.2": - version "5.7.2" - resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-5.7.2.tgz#d3923142227e04514927098ebd69733621d36891" - integrity sha512-hn1ZWA8uKFqs2GjW5AMv1smnnlJcKugbwyZRPWTftogch/wQYatvXwmolnTFFUrrvAEKHSsEsxNP4dxrbYq6Vw== - dependencies: - "@pancakeswap/chains" "^0.3.0" - "@pancakeswap/swap-sdk-core" "1.0.0" - big.js "^5.2.2" - decimal.js-light "^2.5.0" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - viem "^1.15.1" - "@pancakeswap/sdk@^2.4.5": version "2.4.5" resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-2.4.5.tgz#783c02efc7ca89d2297b0b07040639d90c3e610d" @@ -2672,68 +2626,6 @@ tiny-warning "^1.0.3" toformat "^2.0.0" -"@pancakeswap/swap-sdk-core@1.0.0", "@pancakeswap/swap-sdk-core@^1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@pancakeswap/swap-sdk-core/-/swap-sdk-core-1.0.0.tgz#30ab333943ecca5484cd10cbc493841fb553728d" - integrity sha512-MZBF8FHpCX/ffY8/gd2zz6TpiftwqRouVPr1kB88wm7desYh+E2y4kWPcZX1roWR38UkjBv4/DoXVSDeSTBgRg== - dependencies: - big.js "^5.2.2" - decimal.js-light "^2.5.0" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - -"@pancakeswap/token-lists@0.0.9": - version "0.0.9" - resolved "https://registry.yarnpkg.com/@pancakeswap/token-lists/-/token-lists-0.0.9.tgz#ffa2e7eb4e8d0ef1b8984b22d8b2fb529787693f" - integrity sha512-V11cFNucyiTeEPsS7fyLldr1XsQqPNzdXQDmeGB54M4dESA/bBi9xaWYCVUihyW3lImNoqr2X1fds7SltfFHOQ== - dependencies: - "@pancakeswap/swap-sdk-core" "1.0.0" - ajv "^6.12.3" - lodash "^4.17.21" - -"@pancakeswap/tokens@0.5.4": - version "0.5.4" - resolved "https://registry.yarnpkg.com/@pancakeswap/tokens/-/tokens-0.5.4.tgz#1508b2b71a259a534ddf18ec120d79b8e6e44945" - integrity sha512-NRc8OIiwL1fNbGRQgcTdpaxbjZfTz6sAnkGZlmaLUt9yCGmGF0hK8uqc4B1YGYSVUkgamd3UJS9z7j673PVbxQ== - dependencies: - "@pancakeswap/chains" "0.3.0" - "@pancakeswap/sdk" "5.7.2" - "@pancakeswap/token-lists" "0.0.9" - -"@pancakeswap/v3-core@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@pancakeswap/v3-core/-/v3-core-1.0.2.tgz#f5abf6a98535f33edebbfc11ab40b4fdcee51420" - integrity sha512-9aZU8I1J6SbZOSW7NcNxuyaAC17tGkOaZJM9aJgvl6MMUOExpq0i0EC/jc3HxWbpC8sbZL+8eG544NEJs8CS+w== - -"@pancakeswap/v3-periphery@^1.0.2": - version "1.0.2" - resolved "https://registry.yarnpkg.com/@pancakeswap/v3-periphery/-/v3-periphery-1.0.2.tgz#f5b899c60bae0fadcfff1cc2b72c802b9d5a5596" - integrity sha512-kWQhJsAG5Ij1cubKlX0JuJ3GEPFiPBR+NQt77SxHNjk62eallLyfbWJYk2NMnTO0crbjBFO5GKKQAXfp2n76vg== - dependencies: - "@openzeppelin/contracts" "3.4.2-solc-0.7" - "@openzeppelin/contracts-upgradeable" "3.4.2-solc-0.7" - "@uniswap/lib" "^4.0.1-alpha" - "@uniswap/v2-core" "1.0.1" - base64-sol "1.0.1" - -"@pancakeswap/v3-sdk@^3.7.0": - version "3.7.0" - resolved "https://registry.yarnpkg.com/@pancakeswap/v3-sdk/-/v3-sdk-3.7.0.tgz#1a246e6b9946e2a20e9cb742f42bdaca1b1ff570" - integrity sha512-Qkq28f6TYVsfNuT34SDXy150X1+iIYVO/rnGp9IllOLcQIlDYeM9QY8wz1Gs+IRP6QE51tUntRFCN7UTojpKFg== - dependencies: - "@pancakeswap/chains" "0.3.0" - "@pancakeswap/sdk" "5.7.2" - "@pancakeswap/swap-sdk-core" "1.0.0" - "@pancakeswap/tokens" "0.5.4" - "@uniswap/v3-staker" "1.0.0" - big.js "^5.2.2" - decimal.js-light "^2.5.0" - tiny-invariant "^1.3.0" - tiny-warning "^1.0.3" - toformat "^2.0.0" - viem "1.15.1" - "@pangolindex/exchange-contracts@^1.0.1": version "1.0.2" resolved "https://registry.yarnpkg.com/@pangolindex/exchange-contracts/-/exchange-contracts-1.0.2.tgz#2d5be49d9e63a311cb3c2de53b21815923b3a996" @@ -2904,11 +2796,6 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== -"@scure/base@~1.1.2": - version "1.1.3" - resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" - integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== - "@scure/bip32@1.1.5": version "1.1.5" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" @@ -2927,15 +2814,6 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" -"@scure/bip32@1.3.2": - version "1.3.2" - resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" - integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA== - dependencies: - "@noble/curves" "~1.2.0" - "@noble/hashes" "~1.3.2" - "@scure/base" "~1.1.2" - "@scure/bip39@1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" @@ -2952,14 +2830,6 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" -"@scure/bip39@1.2.1": - version "1.2.1" - resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" - integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== - dependencies: - "@noble/hashes" "~1.3.0" - "@scure/base" "~1.1.0" - "@sentry/core@5.30.0": version "5.30.0" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" @@ -4117,13 +3987,6 @@ dependencies: "@types/node" "*" -"@types/ws@^8.5.5": - version "8.5.10" - resolved "https://registry.yarnpkg.com/@types/ws/-/ws-8.5.10.tgz#4acfb517970853fa6574a3a6886791d04a396787" - integrity sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A== - dependencies: - "@types/node" "*" - "@types/yargs-parser@*": version "21.0.0" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-21.0.0.tgz#0c60e537fa790f5f9472ed2776c2b71ec117351b" @@ -4457,11 +4320,6 @@ abitype@0.8.7: resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== -abitype@0.9.8: - version "0.9.8" - resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.8.tgz#1f120b6b717459deafd213dfbf3a3dd1bf10ae8c" - integrity sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ== - abort-controller@3.0.0, abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -7388,36 +7246,36 @@ ethereumjs-util@^6.0.0, ethereumjs-util@^6.2.1: "ethers-xdc@file:./vendor/ethers-xdc": version "5.7.2" dependencies: - "@ethersproject-xdc/abi" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../.cache/yarn/v6/npm-ethers-xdc-5.7.2-c9894796-41df-4419-87ee-631f2401c485-1701573291656/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:vendor/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:vendor/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:vendor/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:vendor/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:vendor/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:vendor/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:vendor/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:vendor/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:vendor/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:vendor/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:vendor/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:vendor/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:vendor/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:vendor/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:vendor/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:vendor/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:vendor/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:vendor/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:vendor/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:vendor/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:vendor/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:vendor/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:vendor/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:vendor/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:vendor/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:vendor/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:vendor/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:vendor/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:vendor/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:vendor/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" @@ -9341,11 +9199,6 @@ isomorphic-ws@^4.0.1: resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== -isows@1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74" - integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg== - isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -13866,7 +13719,7 @@ tiny-emitter@^2.1.0: resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== -tiny-invariant@^1.1.0, tiny-invariant@^1.3.0: +tiny-invariant@^1.1.0: version "1.3.1" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== @@ -14257,10 +14110,10 @@ typescript-tuple@^2.2.1: dependencies: typescript-compare "^0.0.2" -typescript@^5.3.2: - version "5.3.2" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.2.tgz#00d1c7c1c46928c5845c1ee8d0cc2791031d4c43" - integrity sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ== +typescript@^4.3.2: + version "4.9.5" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" + integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== u3@^0.1.1: version "0.1.1" @@ -14542,21 +14395,6 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" -viem@1.15.1: - version "1.15.1" - resolved "https://registry.yarnpkg.com/viem/-/viem-1.15.1.tgz#030fb900d8099e6a1bd16164fa4e1e5b8e24607a" - integrity sha512-lxk8wwUK7ZivYAUZ6pH+9Y6jjrfXXjafCOoASa4lw3ULUCT2BajU4SELarlxJQimpsFd7OZD4m4iEXYLF/bt6w== - dependencies: - "@adraffy/ens-normalize" "1.9.4" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@scure/bip32" "1.3.2" - "@scure/bip39" "1.2.1" - "@types/ws" "^8.5.5" - abitype "0.9.8" - isomorphic-ws "5.0.0" - ws "8.13.0" - viem@^0.3.x: version "0.3.50" resolved "https://registry.yarnpkg.com/viem/-/viem-0.3.50.tgz#999a7682eda7eabc48c923f4b9923c3f098fc1ab" @@ -14572,20 +14410,6 @@ viem@^0.3.x: isomorphic-ws "5.0.0" ws "8.12.0" -viem@^1.15.1: - version "1.19.9" - resolved "https://registry.yarnpkg.com/viem/-/viem-1.19.9.tgz#a11f3ad4a3323994ebd2010dbc659d1a2b12e583" - integrity sha512-Sf9U2x4jU0S/FALqYypcspWOGene0NZyD470oUripNhE0Ta6uOE/OgE4toTDVfRxov8qw0JFinr/wPGxYE3+HQ== - dependencies: - "@adraffy/ens-normalize" "1.10.0" - "@noble/curves" "1.2.0" - "@noble/hashes" "1.3.2" - "@scure/bip32" "1.3.2" - "@scure/bip39" "1.2.1" - abitype "0.9.8" - isows "1.0.3" - ws "8.13.0" - vlq@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/vlq/-/vlq-2.0.4.tgz#6057b85729245b9829e3cc7755f95b228d4fe041" @@ -15291,11 +15115,6 @@ ws@8.12.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== -ws@8.13.0, ws@^8.5.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - ws@^3.0.0: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -15315,6 +15134,11 @@ ws@^8.2.2: resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== +ws@^8.5.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + xhr-request-promise@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" From 1bcf36c6fa46044dc20f682df3cd4191e6d8524c Mon Sep 17 00:00:00 2001 From: vic-en Date: Tue, 5 Dec 2023 16:39:54 -0600 Subject: [PATCH 55/67] update yarn lock --- yarn.lock | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 159 insertions(+), 10 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6160bb8485..8126ec3dd1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@adraffy/ens-normalize@1.10.0": + version "1.10.0" + resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.10.0.tgz#d2a39395c587e092d77cbbc80acf956a54f38bf7" + integrity sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q== + "@adraffy/ens-normalize@1.9.0": version "1.9.0" resolved "https://registry.yarnpkg.com/@adraffy/ens-normalize/-/ens-normalize-1.9.0.tgz#223572538f6bea336750039bb43a4016dcc8182d" @@ -2351,6 +2356,13 @@ dependencies: "@noble/hashes" "1.3.0" +"@noble/curves@1.2.0", "@noble/curves@~1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.2.0.tgz#92d7e12e4e49b23105a2555c6984d41733d65c35" + integrity sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw== + dependencies: + "@noble/hashes" "1.3.2" + "@noble/ed25519@^1.7.0": version "1.7.3" resolved "https://registry.yarnpkg.com/@noble/ed25519/-/ed25519-1.7.3.tgz#57e1677bf6885354b466c38e2b620c62f45a7123" @@ -2366,6 +2378,11 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.0.tgz#085fd70f6d7d9d109671090ccae1d3bec62554a1" integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== +"@noble/hashes@1.3.2", "@noble/hashes@~1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.2.tgz#6f26dbc8fbc7205873ce3cee2f690eba0d421b39" + integrity sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ== + "@noble/secp256k1@1.7.1", "@noble/secp256k1@^1.6.3", "@noble/secp256k1@~1.7.0": version "1.7.1" resolved "https://registry.yarnpkg.com/@noble/secp256k1/-/secp256k1-1.7.1.tgz#b251c70f824ce3ca7f8dc3df08d58f005cc0507c" @@ -2595,6 +2612,11 @@ "@nomicfoundation/solidity-analyzer-win32-ia32-msvc" "0.1.1" "@nomicfoundation/solidity-analyzer-win32-x64-msvc" "0.1.1" +"@openzeppelin/contracts-upgradeable@3.4.2-solc-0.7": + version "3.4.2-solc-0.7" + resolved "https://registry.yarnpkg.com/@openzeppelin/contracts-upgradeable/-/contracts-upgradeable-3.4.2-solc-0.7.tgz#9a5cdaf9f65bcd9a3b7e865f44a6f672afe7785e" + integrity sha512-I5iKKS8U9L1XdSxsNAIBQekN0U9hTgdleoyntIdR7Jy3U/z/NZ/1oUM0v5HnUMrmn/bXLvYL94rBvaLF++Ndnw== + "@openzeppelin/contracts@3.4.1-solc-0.7-2": version "3.4.1-solc-0.7-2" resolved "https://registry.yarnpkg.com/@openzeppelin/contracts/-/contracts-3.4.1-solc-0.7-2.tgz#371c67ebffe50f551c3146a9eec5fe6ffe862e92" @@ -2614,6 +2636,25 @@ truffle-flattener "^1.4.4" truffle-hdwallet-provider "^1.0.17" +"@pancakeswap/chains@0.3.0", "@pancakeswap/chains@^0.3.0": + version "0.3.0" + resolved "https://registry.yarnpkg.com/@pancakeswap/chains/-/chains-0.3.0.tgz#e509dfd9c8387f76b893e3a0a5b835331752b32c" + integrity sha512-a4U8pzfxQsnS0nUpvi8qL2X6l2C/IUTFJcmt3UNAQv2L2CPUSryt1rLarG91O1Bb/UMfv90UCPrXJcHWpaYSMg== + +"@pancakeswap/sdk@5.7.3": + version "5.7.3" + resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-5.7.3.tgz#973ac77f0ac9920dea4c711f2bea396a88efdeb5" + integrity sha512-9Qe5mlhXaAiuFiZ4i1BYNduZHS97VoJgNtqyxRTRXsZ6HhyW9P3z3fr4dU/XecAemrfNJL0KJHDLzihM+D7Row== + dependencies: + "@pancakeswap/chains" "^0.3.0" + "@pancakeswap/swap-sdk-core" "1.0.0" + big.js "^5.2.2" + decimal.js-light "^2.5.0" + tiny-invariant "^1.3.0" + tiny-warning "^1.0.3" + toformat "^2.0.0" + viem "1.19.9" + "@pancakeswap/sdk@^2.4.5": version "2.4.5" resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-2.4.5.tgz#783c02efc7ca89d2297b0b07040639d90c3e610d" @@ -2626,6 +2667,68 @@ tiny-warning "^1.0.3" toformat "^2.0.0" +"@pancakeswap/swap-sdk-core@1.0.0", "@pancakeswap/swap-sdk-core@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@pancakeswap/swap-sdk-core/-/swap-sdk-core-1.0.0.tgz#30ab333943ecca5484cd10cbc493841fb553728d" + integrity sha512-MZBF8FHpCX/ffY8/gd2zz6TpiftwqRouVPr1kB88wm7desYh+E2y4kWPcZX1roWR38UkjBv4/DoXVSDeSTBgRg== + dependencies: + big.js "^5.2.2" + decimal.js-light "^2.5.0" + tiny-invariant "^1.1.0" + tiny-warning "^1.0.3" + toformat "^2.0.0" + +"@pancakeswap/token-lists@0.0.9": + version "0.0.9" + resolved "https://registry.yarnpkg.com/@pancakeswap/token-lists/-/token-lists-0.0.9.tgz#ffa2e7eb4e8d0ef1b8984b22d8b2fb529787693f" + integrity sha512-V11cFNucyiTeEPsS7fyLldr1XsQqPNzdXQDmeGB54M4dESA/bBi9xaWYCVUihyW3lImNoqr2X1fds7SltfFHOQ== + dependencies: + "@pancakeswap/swap-sdk-core" "1.0.0" + ajv "^6.12.3" + lodash "^4.17.21" + +"@pancakeswap/tokens@0.5.6": + version "0.5.6" + resolved "https://registry.yarnpkg.com/@pancakeswap/tokens/-/tokens-0.5.6.tgz#0111120be9beae66ba4e7deff8c88514bafa7bde" + integrity sha512-MvQTY2AMW5T9MtswswWnJQ7ElDeLSU0Rw3We22TKzi86dO55FelqpWVGAdN9i0i0aT6zn0kxNEXGA6owQVoOOQ== + dependencies: + "@pancakeswap/chains" "0.3.0" + "@pancakeswap/sdk" "5.7.3" + "@pancakeswap/token-lists" "0.0.9" + +"@pancakeswap/v3-core@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pancakeswap/v3-core/-/v3-core-1.0.2.tgz#f5abf6a98535f33edebbfc11ab40b4fdcee51420" + integrity sha512-9aZU8I1J6SbZOSW7NcNxuyaAC17tGkOaZJM9aJgvl6MMUOExpq0i0EC/jc3HxWbpC8sbZL+8eG544NEJs8CS+w== + +"@pancakeswap/v3-periphery@^1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@pancakeswap/v3-periphery/-/v3-periphery-1.0.2.tgz#f5b899c60bae0fadcfff1cc2b72c802b9d5a5596" + integrity sha512-kWQhJsAG5Ij1cubKlX0JuJ3GEPFiPBR+NQt77SxHNjk62eallLyfbWJYk2NMnTO0crbjBFO5GKKQAXfp2n76vg== + dependencies: + "@openzeppelin/contracts" "3.4.2-solc-0.7" + "@openzeppelin/contracts-upgradeable" "3.4.2-solc-0.7" + "@uniswap/lib" "^4.0.1-alpha" + "@uniswap/v2-core" "1.0.1" + base64-sol "1.0.1" + +"@pancakeswap/v3-sdk@^3.7.0": + version "3.7.2" + resolved "https://registry.yarnpkg.com/@pancakeswap/v3-sdk/-/v3-sdk-3.7.2.tgz#ce475303802ada6c9b7d6781529b0c23033f638c" + integrity sha512-8uSMUaDo69zx+PhODH1TiTdPvuaTlLzyyudpODV8Ig6LKWO2owVIRuhXwQHKXE8N3/0j7JN6ejJrM/sbY3kadA== + dependencies: + "@pancakeswap/chains" "0.3.0" + "@pancakeswap/sdk" "5.7.3" + "@pancakeswap/swap-sdk-core" "1.0.0" + "@pancakeswap/tokens" "0.5.6" + "@uniswap/v3-staker" "1.0.0" + big.js "^5.2.2" + decimal.js-light "^2.5.0" + tiny-invariant "^1.3.0" + tiny-warning "^1.0.3" + toformat "^2.0.0" + viem "1.19.9" + "@pangolindex/exchange-contracts@^1.0.1": version "1.0.2" resolved "https://registry.yarnpkg.com/@pangolindex/exchange-contracts/-/exchange-contracts-1.0.2.tgz#2d5be49d9e63a311cb3c2de53b21815923b3a996" @@ -2796,6 +2899,11 @@ resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.1.tgz#ebb651ee52ff84f420097055f4bf46cfba403938" integrity sha512-ZxOhsSyxYwLJj3pLZCefNitxsj093tb2vq90mp2txoYeBqbcjDjqFhyM8eUjq/uFm6zJ+mUuqxlS2FkuSY1MTA== +"@scure/base@~1.1.2": + version "1.1.3" + resolved "https://registry.yarnpkg.com/@scure/base/-/base-1.1.3.tgz#8584115565228290a6c6c4961973e0903bb3df2f" + integrity sha512-/+SgoRjLq7Xlf0CWuLHq2LUZeL/w65kfzAPG5NH9pcmBhs+nunQTn4gvdwgMTIXnt9b2C/1SeL2XiysZEyIC9Q== + "@scure/bip32@1.1.5": version "1.1.5" resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.1.5.tgz#d2ccae16dcc2e75bc1d75f5ef3c66a338d1ba300" @@ -2814,6 +2922,15 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" +"@scure/bip32@1.3.2": + version "1.3.2" + resolved "https://registry.yarnpkg.com/@scure/bip32/-/bip32-1.3.2.tgz#90e78c027d5e30f0b22c1f8d50ff12f3fb7559f8" + integrity sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA== + dependencies: + "@noble/curves" "~1.2.0" + "@noble/hashes" "~1.3.2" + "@scure/base" "~1.1.2" + "@scure/bip39@1.1.1": version "1.1.1" resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.1.1.tgz#b54557b2e86214319405db819c4b6a370cf340c5" @@ -2830,6 +2947,14 @@ "@noble/hashes" "~1.3.0" "@scure/base" "~1.1.0" +"@scure/bip39@1.2.1": + version "1.2.1" + resolved "https://registry.yarnpkg.com/@scure/bip39/-/bip39-1.2.1.tgz#5cee8978656b272a917b7871c981e0541ad6ac2a" + integrity sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg== + dependencies: + "@noble/hashes" "~1.3.0" + "@scure/base" "~1.1.0" + "@sentry/core@5.30.0": version "5.30.0" resolved "https://registry.yarnpkg.com/@sentry/core/-/core-5.30.0.tgz#6b203664f69e75106ee8b5a2fe1d717379b331f3" @@ -4320,6 +4445,11 @@ abitype@0.8.7: resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.8.7.tgz#e4b3f051febd08111f486c0cc6a98fa72d033622" integrity sha512-wQ7hV8Yg/yKmGyFpqrNZufCxbszDe5es4AZGYPBitocfSqXtjrTG9JMWFcc4N30ukl2ve48aBTwt7NJxVQdU3w== +abitype@0.9.8: + version "0.9.8" + resolved "https://registry.yarnpkg.com/abitype/-/abitype-0.9.8.tgz#1f120b6b717459deafd213dfbf3a3dd1bf10ae8c" + integrity sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ== + abort-controller@3.0.0, abort-controller@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/abort-controller/-/abort-controller-3.0.0.tgz#eaf54d53b62bae4138e809ca225c8439a6efb392" @@ -9199,6 +9329,11 @@ isomorphic-ws@^4.0.1: resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" integrity sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w== +isows@1.0.3: + version "1.0.3" + resolved "https://registry.yarnpkg.com/isows/-/isows-1.0.3.tgz#93c1cf0575daf56e7120bab5c8c448b0809d0d74" + integrity sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg== + isstream@~0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a" @@ -13719,7 +13854,7 @@ tiny-emitter@^2.1.0: resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423" integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q== -tiny-invariant@^1.1.0: +tiny-invariant@^1.1.0, tiny-invariant@^1.3.0: version "1.3.1" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== @@ -14110,10 +14245,10 @@ typescript-tuple@^2.2.1: dependencies: typescript-compare "^0.0.2" -typescript@^4.3.2: - version "4.9.5" - resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a" - integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +typescript@^5.3.2: + version "5.3.2" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.2.tgz#00d1c7c1c46928c5845c1ee8d0cc2791031d4c43" + integrity sha512-6l+RyNy7oAHDfxC4FzSJcz9vnjTKxrLpDG5M2Vu4SHRVNg6xzqZp6LYSR9zjqQTu8DU/f5xwxUdADOkbrIX2gQ== u3@^0.1.1: version "0.1.1" @@ -14395,6 +14530,20 @@ verror@1.10.0: core-util-is "1.0.2" extsprintf "^1.2.0" +viem@1.19.9: + version "1.19.9" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.19.9.tgz#a11f3ad4a3323994ebd2010dbc659d1a2b12e583" + integrity sha512-Sf9U2x4jU0S/FALqYypcspWOGene0NZyD470oUripNhE0Ta6uOE/OgE4toTDVfRxov8qw0JFinr/wPGxYE3+HQ== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@scure/bip32" "1.3.2" + "@scure/bip39" "1.2.1" + abitype "0.9.8" + isows "1.0.3" + ws "8.13.0" + viem@^0.3.x: version "0.3.50" resolved "https://registry.yarnpkg.com/viem/-/viem-0.3.50.tgz#999a7682eda7eabc48c923f4b9923c3f098fc1ab" @@ -15115,6 +15264,11 @@ ws@8.12.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.12.0.tgz#485074cc392689da78e1828a9ff23585e06cddd8" integrity sha512-kU62emKIdKVeEIOIKVegvqpXMSTAMLJozpHZaJNDYqBjzlSYXQGviYwN1osDLJ9av68qHd4a2oSjd7yD4pacig== +ws@8.13.0, ws@^8.5.0: + version "8.13.0" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" + integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== + ws@^3.0.0: version "3.3.3" resolved "https://registry.yarnpkg.com/ws/-/ws-3.3.3.tgz#f1cf84fe2d5e901ebce94efaece785f187a228f2" @@ -15134,11 +15288,6 @@ ws@^8.2.2: resolved "https://registry.yarnpkg.com/ws/-/ws-8.14.2.tgz#6c249a806eb2db7a20d26d51e7709eab7b2e6c7f" integrity sha512-wEBG1ftX4jcglPxgFCMJmZ2PLtSbJ2Peg6TmpJFTbe9GZYOQCDPdMYu/Tm0/bGZkw8paZnJY45J4K2PZrLYq8g== -ws@^8.5.0: - version "8.13.0" - resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" - integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== - xhr-request-promise@^0.1.2: version "0.1.3" resolved "https://registry.yarnpkg.com/xhr-request-promise/-/xhr-request-promise-0.1.3.tgz#2d5f4b16d8c6c893be97f1a62b0ed4cf3ca5f96c" From 086faaec8ab6191422ec708f71e057000f1af91c Mon Sep 17 00:00:00 2001 From: mlguys Date: Mon, 11 Dec 2023 00:41:04 +0700 Subject: [PATCH 56/67] Update get account balances + fix SOLO hex symbol --- src/chains/xrpl/xrpl.controllers.ts | 20 ++++- src/chains/xrpl/xrpl.requests.ts | 7 +- src/chains/xrpl/xrpl.ts | 112 +++++++++++++++++++++++++++- src/connectors/xrpl/xrpl.ts | 37 +++++---- src/connectors/xrpl/xrpl.utils.ts | 10 +++ 5 files changed, 165 insertions(+), 21 deletions(-) diff --git a/src/chains/xrpl/xrpl.controllers.ts b/src/chains/xrpl/xrpl.controllers.ts index f632484fbf..4137115592 100644 --- a/src/chains/xrpl/xrpl.controllers.ts +++ b/src/chains/xrpl/xrpl.controllers.ts @@ -13,6 +13,7 @@ import { XRPLBalanceResponse, XRPLPollRequest, XRPLPollResponse, + BalanceRecord, } from './xrpl.requests'; import { @@ -48,9 +49,24 @@ export class XRPLController { const xrplBalances = await xrplish.getAllBalance(wallet); - const balances: Record = {}; + const xrplSubtractedBalances = await xrplish.subtractBalancesWithOpenOffers( + xrplBalances, + wallet + ); + + const balances: Record = {}; xrplBalances.forEach((balance) => { - balances[balance.currency] = balance.value; + balances[balance.currency] = { + total_balance: balance.value, + available_balance: balance.value, + }; + }); + + xrplSubtractedBalances.forEach((balance) => { + balances[balance.currency] = { + ...balances[balance.currency], + available_balance: balance.value, + }; }); return { diff --git a/src/chains/xrpl/xrpl.requests.ts b/src/chains/xrpl/xrpl.requests.ts index a4682054ed..5767f5e345 100644 --- a/src/chains/xrpl/xrpl.requests.ts +++ b/src/chains/xrpl/xrpl.requests.ts @@ -11,7 +11,12 @@ export interface XRPLBalanceResponse { timestamp: number; latency: number; address: string; - balances: Record; + balances: Record; +} + +export interface BalanceRecord { + total_balance: string; + available_balance: string; } export type TokenBalance = { diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index de63335f22..910508c5af 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -9,6 +9,8 @@ import { PathFindStream, TxResponse, TransactionMetadata, + AccountOffersResponse, + dropsToXrp, } from 'xrpl'; import axios from 'axios'; import { promises as fs } from 'fs'; @@ -25,6 +27,7 @@ import { XRPLOrderStorage } from './xrpl.order-storage'; import { OrderTracker } from './xrpl.order-tracker'; import { ReferenceCountingCloseable } from '../../services/refcounting-closeable'; import { XRPLController } from './xrpl.controllers'; +import { convertHexToString } from '../../connectors/xrpl/xrpl.utils'; export type XRPTokenInfo = { id: number; @@ -39,7 +42,9 @@ export type MarketInfo = { id: number; marketId: string; baseIssuer: string; + baseCode: string; quoteIssuer: string; + quoteCode: string; baseTokenID: number; quoteTokenID: number; }; @@ -58,7 +63,7 @@ export class XRPL implements XRPLish { protected tokenList: XRPTokenInfo[] = []; protected marketList: MarketInfo[] = []; - private _tokenMap: Record = {}; + private _tokenMap: Record = {}; // TODO: tokenMap should be identified by code and issuer to prevent duplicate codes private _marketMap: Record = {}; private _client: Client; @@ -71,6 +76,8 @@ export class XRPL implements XRPLish { private _marketListSource: string; private _tokenListType: TokenListType; private _marketListType: MarketListType; + private _reserveBaseXrp: number; + private _reserveIncrementXrp: number; private _ready: boolean = false; private initializing: boolean = false; @@ -91,6 +98,8 @@ export class XRPL implements XRPLish { this._tokenListType = config.network.tokenListType; this._marketListSource = config.network.marketListSource; this._marketListType = config.network.marketListType; + this._reserveBaseXrp = 0; + this._reserveIncrementXrp = 0; this._client = new Client(this.rpcUrl, { timeout: config.requestTimeout, @@ -189,6 +198,7 @@ export class XRPL implements XRPLish { if (!this.ready() && !this.initializing) { this.initializing = true; await this.ensureConnection(); + await this.getReserveInfo(); await this.loadTokens(this._tokenListSource, this._tokenListType); await this.loadMarkets(this._marketListSource, this._marketListType); await this.getFee(); @@ -270,7 +280,14 @@ export class XRPL implements XRPLish { } public getTokenForSymbol(code: string): XRPTokenInfo[] | undefined { - return this._tokenMap[code] ? this._tokenMap[code] : undefined; + let query = code; + + // Special case for SOLO on mainnet + if (code === 'SOLO') { + query = '534F4C4F00000000000000000000000000000000'; + } + + return this._tokenMap[query] ? this._tokenMap[query] : undefined; } public getWalletFromSeed(seed: string): Wallet { @@ -339,6 +356,24 @@ export class XRPL implements XRPLish { return balance; } + async getNativeAvailableBalance(wallet: Wallet): Promise { + await this.ensureConnection(); + + const AccountInfoResponse = await this._client.request({ + command: 'account_info', + account: wallet.address, + }); + + const ownerItem = AccountInfoResponse.result.account_data.OwnerCount; + const totalReserve = + this._reserveBaseXrp + ownerItem * this._reserveIncrementXrp; + + const balance = + parseFloat(await this._client.getXrpBalance(wallet.address)) - + totalReserve; + return balance.toString(); + } + async getAllBalance(wallet: Wallet): Promise> { await this.ensureConnection(); const balances: Array = []; @@ -359,7 +394,7 @@ export class XRPL implements XRPLish { } balances.push({ - currency: token.currency, + currency: convertHexToString(token.currency), issuer: token.issuer, value: token.value, }); @@ -383,6 +418,17 @@ export class XRPL implements XRPLish { } } + async getReserveInfo() { + await this.ensureConnection(); + const reserveInfoResp = await this._client.request({ + command: 'server_info', + }); + this._reserveBaseXrp = + reserveInfoResp.result.info.validated_ledger?.reserve_base_xrp ?? 0; + this._reserveIncrementXrp = + reserveInfoResp.result.info.validated_ledger?.reserve_inc_xrp ?? 0; + } + public get chain(): string { return this._chain; } @@ -495,6 +541,66 @@ export class XRPL implements XRPLish { public get orderStorage(): XRPLOrderStorage { return this._orderStorage; } + + async subtractBalancesWithOpenOffers( + balances: TokenBalance[], + wallet: Wallet + ) { + const accountOffcersResp: AccountOffersResponse = + await this._client.request({ + command: 'account_offers', + account: wallet.address, + }); + + const offers = accountOffcersResp.result.offers; + + // create new balances array with deepcopy + const subtractedBalances: TokenBalance[] = JSON.parse( + JSON.stringify(balances) + ); + + // Subtract XRP balance with reverses + const xrpBalance = subtractedBalances.find( + (balance) => balance.currency === 'XRP' + ); + + const currentNativeBalance = await this.getNativeAvailableBalance(wallet); + if (xrpBalance) xrpBalance.value = currentNativeBalance; + + // Subtract balances with open offers + if (offers !== undefined) { + offers.forEach((offer) => { + const takerGetsBalance = offer.taker_gets as TokenBalance | string; + + if (typeof takerGetsBalance === 'string') { + // XRP open offer, find XRP in balances and subtract it + const xrpBalance = subtractedBalances.find( + (balance) => balance.currency === 'XRP' + ); + if (xrpBalance) { + xrpBalance.value = ( + parseFloat(xrpBalance.value) - + parseFloat(dropsToXrp(takerGetsBalance)) + ).toString(); + } + } else { + // Token open offer, find token in balances and subtract it + const tokenBalance = subtractedBalances.find( + (balance) => + balance.currency === convertHexToString(takerGetsBalance.currency) + ); + if (tokenBalance) { + tokenBalance.value = ( + parseFloat(tokenBalance.value) - + parseFloat(takerGetsBalance.value) + ).toString(); + } + } + }); + } + + return subtractedBalances; + } } export type XRPLish = XRPL; diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index f065ee75e4..04cfc95535 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -23,6 +23,7 @@ import { getTakerPaysAmount, getTakerGetsFundedAmount, getTakerPaysFundedAmount, + convertHexToString, } from './xrpl.utils'; import { ClobMarketsRequest, @@ -153,7 +154,8 @@ export class XRPLCLOB implements CLOBish { quoteTransferRate: number; const zeroTransferRate = 1000000000; - const [baseCurrency, quoteCurrency] = market.marketId.split('-'); + const baseCurrency = market.baseCode; + const quoteCurrency = market.quoteCode; const baseIssuer = market.baseIssuer; const quoteIssuer = market.quoteIssuer; @@ -220,26 +222,27 @@ export class XRPLCLOB implements CLOBish { } async getOrderBook( - market: MarketInfo, + market: Market, limit: number = ORDERBOOK_LIMIT ): Promise { - const [baseCurrency, quoteCurrency] = market.marketId.split('-'); - const baseIssuer = market.baseIssuer; - const quoteIssuer = market.quoteIssuer; - const baseRequest: any = { - currency: baseCurrency, + currency: market.baseCurrency, + issuer: market.baseIssuer, }; const quoteRequest: any = { - currency: quoteCurrency, + currency: market.quoteCurrency, + issuer: market.quoteIssuer, }; - if (baseIssuer) { - baseRequest['issuer'] = baseIssuer; + if (market.baseCurrency == 'XRP') { + // remove issuer + delete baseRequest['issuer']; } - if (quoteIssuer) { - quoteRequest['issuer'] = quoteIssuer; + + if (market.quoteCurrency == 'XRP') { + // remove issuer + delete quoteRequest['issuer']; } const { bids, asks } = await this.getOrderBookFromXRPL( @@ -380,7 +383,8 @@ export class XRPLCLOB implements CLOBish { req: ClobPostOrderRequest ): Promise<{ txHash: string }> { const market = this.parsedMarkets[req.market] as Market; - const [baseCurrency, quoteCurrency] = market.marketId.split('-'); + const baseCurrency = market.baseCurrency; + const quoteCurrency = market.quoteCurrency; const baseIssuer = market.baseIssuer; const quoteIssuer = market.quoteIssuer; @@ -444,7 +448,10 @@ export class XRPLCLOB implements CLOBish { const order: Order = { hash: prepared.Sequence ? prepared.Sequence : 0, - marketId: baseCurrency + '-' + quoteCurrency, + marketId: + convertHexToString(baseCurrency) + + '-' + + convertHexToString(quoteCurrency), price: req.price, amount: req.amount, filledAmount: '0', @@ -595,7 +602,7 @@ export class XRPLCLOB implements CLOBish { await orderTracker.addOrder(order); } - private async getMidPriceForMarket(market: MarketInfo) { + private async getMidPriceForMarket(market: Market) { const orderbook = await this.getOrderBook(market, 1); try { const bestAsk = orderbook.sells[0]; diff --git a/src/connectors/xrpl/xrpl.utils.ts b/src/connectors/xrpl/xrpl.utils.ts index 78c5f4008a..ba36bf655e 100644 --- a/src/connectors/xrpl/xrpl.utils.ts +++ b/src/connectors/xrpl/xrpl.utils.ts @@ -112,3 +112,13 @@ export async function getsSequenceNumberFromTxn( return undefined; } + +// check if string is 160-bit hexadecimal, if so convert it to string +export function convertHexToString(hex: string): string { + if (hex.length === 40) { + const str = Buffer.from(hex, 'hex').toString(); + return str.replace(/\0/g, ''); + } + + return hex; +} From 2975b53fa3d28a40d6d344cd1a25cf9aefb1ef0e Mon Sep 17 00:00:00 2001 From: mlguys Date: Mon, 11 Dec 2023 20:42:35 +0700 Subject: [PATCH 57/67] Update XRPL order book limit + improve connection --- src/chains/xrpl/xrpl.ts | 5 +++++ src/connectors/xrpl/xrpl.ts | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index 910508c5af..d5d5f0587f 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -128,6 +128,10 @@ export class XRPL implements XRPLish { ); this._orderStorage.declareOwnership(this._refCountingHandle); this.controller = XRPLController; + + this.onDisconnected(async (_code: number) => { + this.ensureConnection(); + }); } public static getInstance(network: string): XRPL { @@ -546,6 +550,7 @@ export class XRPL implements XRPLish { balances: TokenBalance[], wallet: Wallet ) { + await this.ensureConnection(); const accountOffcersResp: AccountOffersResponse = await this._client.request({ command: 'account_offers', diff --git a/src/connectors/xrpl/xrpl.ts b/src/connectors/xrpl/xrpl.ts index 04cfc95535..75fc418bda 100644 --- a/src/connectors/xrpl/xrpl.ts +++ b/src/connectors/xrpl/xrpl.ts @@ -45,7 +45,7 @@ import { getXRPLConfig } from '../../chains/xrpl/xrpl.config'; import { isUndefined } from 'mathjs'; // const XRP_FACTOR = 1000000; -const ORDERBOOK_LIMIT = 100; +const ORDERBOOK_LIMIT = 50; const TXN_SUBMIT_DELAY = 100; export class XRPLCLOB implements CLOBish { private static _instances: LRUCache; @@ -160,6 +160,7 @@ export class XRPLCLOB implements CLOBish { const quoteIssuer = market.quoteIssuer; if (baseCurrency != 'XRP') { + await this._xrpl.ensureConnection(); const baseMarketResp: AccountInfoResponse = await this._client.request({ command: 'account_info', ledger_index: 'validated', @@ -181,6 +182,7 @@ export class XRPLCLOB implements CLOBish { } if (quoteCurrency != 'XRP') { + await this._xrpl.ensureConnection(); const quoteMarketResp: AccountInfoResponse = await this._client.request({ command: 'account_info', ledger_index: 'validated', @@ -531,6 +533,7 @@ export class XRPLCLOB implements CLOBish { this._isSubmittingTxn = true; const prepared = await this._client.autofill(offer); const signed = wallet.sign(prepared); + await this._xrpl.ensureConnection(); await this._client.submit(signed.tx_blob); this._isSubmittingTxn = false; return { prepared, signed }; @@ -546,6 +549,7 @@ export class XRPLCLOB implements CLOBish { quoteRequest: any, limit: number ) { + await this._xrpl.ensureConnection(); const orderbook_resp_ask: BookOffersResponse = await this._client.request({ command: 'book_offers', ledger_index: 'validated', @@ -554,6 +558,7 @@ export class XRPLCLOB implements CLOBish { limit, }); + await this._xrpl.ensureConnection(); const orderbook_resp_bid: BookOffersResponse = await this._client.request({ command: 'book_offers', ledger_index: 'validated', @@ -568,6 +573,7 @@ export class XRPLCLOB implements CLOBish { } private async getCurrentBlockNumber() { + await this._xrpl.ensureConnection(); return await this._client.getLedgerIndex(); } From 3994b51e29e53ea0e80f26386a944fb254c06a26 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 12 Dec 2023 12:10:33 +0700 Subject: [PATCH 58/67] update mainnet token list and market info --- src/templates/lists/xrpl_markets.json | 23 +++++++++++++++++++++++ src/templates/lists/xrpl_tokens.json | 2 +- 2 files changed, 24 insertions(+), 1 deletion(-) diff --git a/src/templates/lists/xrpl_markets.json b/src/templates/lists/xrpl_markets.json index b385debb72..ec4a4a1e9b 100644 --- a/src/templates/lists/xrpl_markets.json +++ b/src/templates/lists/xrpl_markets.json @@ -3,7 +3,9 @@ "id": 1, "marketId": "SOLO-XRP", "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "baseCode": "534F4C4F00000000000000000000000000000000", "quoteIssuer": "", + "quoteCode": "XRP", "baseTokenID": 31, "quoteTokenID": 0 }, @@ -11,7 +13,9 @@ "id": 2, "marketId": "SOLO-USDC", "baseIssuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", + "baseCode": "534F4C4F00000000000000000000000000000000", "quoteIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "quoteCode": "USDC", "baseTokenID": 31, "quoteTokenID": 18465 }, @@ -19,7 +23,9 @@ "id": 3, "marketId": "USDC-XRP", "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "baseCode": "USDC", "quoteIssuer": "", + "quoteCode": "XRP", "baseTokenID": 18465, "quoteTokenID": 0 }, @@ -27,7 +33,9 @@ "id": 4, "marketId": "USDC-USD", "baseIssuer": "rcEGREd8NmkKRE8GE424sksyt1tJVFZwu", + "baseCode": "USDC", "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "quoteCode": "USD", "baseTokenID": 18465, "quoteTokenID": 16603 }, @@ -35,7 +43,9 @@ "id": 5, "marketId": "BTC-XRP", "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", + "baseCode": "BTC", "quoteIssuer": "", + "quoteCode": "XRP", "baseTokenID": 1381, "quoteTokenID": 0 }, @@ -43,8 +53,21 @@ "id": 6, "marketId": "BTC-USD", "baseIssuer": "rchGBxcD1A1C2tdxF6papQYZ8kjRKMYcL", + "baseCode": "BTC", "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "quoteCode": "USD", "baseTokenID": 1381, "quoteTokenID": 16603 } + , + { + "id": 7, + "marketId": "XRP-USD", + "baseIssuer": "", + "baseCode": "XRP", + "quoteIssuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq", + "quoteCode": "USD", + "baseTokenID": 0, + "quoteTokenID": 16603 + } ] diff --git a/src/templates/lists/xrpl_tokens.json b/src/templates/lists/xrpl_tokens.json index 2cf5cadba0..c343b41892 100644 --- a/src/templates/lists/xrpl_tokens.json +++ b/src/templates/lists/xrpl_tokens.json @@ -9,7 +9,7 @@ }, { "id": 31, - "code": "SOLO", + "code": "534F4C4F00000000000000000000000000000000", "issuer": "rsoLo2S1kiGeCcn6hCUXVrCpGMWLrRrLZz", "title": "Sologenic", "trustlines": 288976, From 85ea53e03290c8d3d7f176e2241e9d0653b22a84 Mon Sep 17 00:00:00 2001 From: vic-en Date: Thu, 14 Dec 2023 14:54:13 -0600 Subject: [PATCH 59/67] fix jest --- package.json | 6 +- yarn.lock | 1593 +++++++++++++++++++++++++------------------------- 2 files changed, 793 insertions(+), 806 deletions(-) diff --git a/package.json b/package.json index 5de6959cd5..41aa75ebd8 100644 --- a/package.json +++ b/package.json @@ -112,7 +112,7 @@ "@types/bs58": "^4.0.1", "@types/express": "^4.17.12", "@types/fs-extra": "^9.0.13", - "@types/jest": "^27.4.1", + "@types/jest": "^29.5.11", "@types/js-yaml": "^4.0.2", "@types/level": "^6.0.0", "@types/lodash": "^4.14.178", @@ -139,7 +139,7 @@ "eslint-plugin-standard": "^4.0.1", "google-protobuf": "^3.2.0", "hardhat": "^2.13.0", - "jest": "^27.3.1", + "jest": "^29.7.0", "jest-extended": "^0.11.5", "jsbi": "^3.2.0", "mock-ethers-provider": "^1.0.2", @@ -150,7 +150,7 @@ "react-dom": "^18", "rimraf": "^3.0.2", "supertest": "^6.1.6", - "ts-jest": "^27.0.5", + "ts-jest": "^29.1.1", "ts-node": "^10.0.0", "typescript": "^5.3.2", "viem": "^0.3.x" diff --git a/yarn.lock b/yarn.lock index 8126ec3dd1..6c5493e1fe 100644 --- a/yarn.lock +++ b/yarn.lock @@ -169,12 +169,25 @@ "@babel/highlight" "^7.22.13" chalk "^2.4.2" +"@babel/code-frame@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244" + integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA== + dependencies: + "@babel/highlight" "^7.23.4" + chalk "^2.4.2" + "@babel/compat-data@^7.20.5": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.21.0.tgz#c241dc454e5b5917e40d37e525e2f4530c399298" integrity sha512-gMuZsmsgxk/ENC3O/fRw5QY8A9/uxQbbCEypnLIiYYc/qVJtEV7ouxC3EllIIwNzMqAQee5tanFabWsUOutS7g== -"@babel/core@^7.0.0-0", "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.8.0": +"@babel/compat-data@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98" + integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw== + +"@babel/core@^7.0.0-0", "@babel/core@^7.12.3": version "7.21.3" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.21.3.tgz#cf1c877284a469da5d1ce1d1e53665253fae712e" integrity sha512-qIJONzoa/qiHghnm0l1n4i/6IIziDpzqc36FBs4pzMhDUraHqponwJLiAKm1hGLP3OSB/TVNz6rMwVGpwxxySw== @@ -195,6 +208,27 @@ json5 "^2.2.2" semver "^6.3.0" +"@babel/core@^7.11.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.6.tgz#8be77cd77c55baadcc1eae1c33df90ab6d2151d4" + integrity sha512-FxpRyGjrMJXh7X3wGLGhNDCRiwpWEF74sKjTLDJSG5Kyvow3QZaG0Adbqzi9ZrVjTWpsX+2cxWXD71NMg93kdw== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-compilation-targets" "^7.23.6" + "@babel/helper-module-transforms" "^7.23.3" + "@babel/helpers" "^7.23.6" + "@babel/parser" "^7.23.6" + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.6" + "@babel/types" "^7.23.6" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/generator@^7.21.3", "@babel/generator@^7.7.2": version "7.21.3" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.21.3.tgz#232359d0874b392df04045d72ce2fd9bb5045fce" @@ -215,6 +249,16 @@ "@jridgewell/trace-mapping" "^0.3.17" jsesc "^2.5.1" +"@babel/generator@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e" + integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw== + dependencies: + "@babel/types" "^7.23.6" + "@jridgewell/gen-mapping" "^0.3.2" + "@jridgewell/trace-mapping" "^0.3.17" + jsesc "^2.5.1" + "@babel/helper-compilation-targets@^7.20.7": version "7.20.7" resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.20.7.tgz#a6cd33e93629f5eb473b021aac05df62c4cd09bb" @@ -226,6 +270,17 @@ lru-cache "^5.1.1" semver "^6.3.0" +"@babel/helper-compilation-targets@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991" + integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ== + dependencies: + "@babel/compat-data" "^7.23.5" + "@babel/helper-validator-option" "^7.23.5" + browserslist "^4.22.2" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-environment-visitor@^7.18.9": version "7.18.9" resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.9.tgz#0c0cee9b35d2ca190478756865bb3528422f51be" @@ -258,6 +313,13 @@ dependencies: "@babel/types" "^7.18.6" +"@babel/helper-module-imports@^7.22.15": + version "7.22.15" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0" + integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w== + dependencies: + "@babel/types" "^7.22.15" + "@babel/helper-module-transforms@^7.21.2": version "7.21.2" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.21.2.tgz#160caafa4978ac8c00ac66636cb0fa37b024e2d2" @@ -272,11 +334,27 @@ "@babel/traverse" "^7.21.2" "@babel/types" "^7.21.2" +"@babel/helper-module-transforms@^7.23.3": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz#d7d12c3c5d30af5b3c0fcab2a6d5217773e2d0f1" + integrity sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ== + dependencies: + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-module-imports" "^7.22.15" + "@babel/helper-simple-access" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/helper-validator-identifier" "^7.22.20" + "@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.19.0", "@babel/helper-plugin-utils@^7.8.0": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.20.2.tgz#d1b9000752b18d0877cff85a5c376ce5c3121629" integrity sha512-8RvlJG2mj4huQ4pZ+rU9lqKi9ZKiRmuvGuM2HlWmkmgOhbs6zEAw6IEiJ5cQqGbDzGZOhwuOQNtZMi/ENLjZoQ== +"@babel/helper-plugin-utils@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295" + integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg== + "@babel/helper-simple-access@^7.20.2": version "7.20.2" resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.20.2.tgz#0ab452687fe0c2cfb1e2b9e0015de07fc2d62dd9" @@ -284,6 +362,13 @@ dependencies: "@babel/types" "^7.20.2" +"@babel/helper-simple-access@^7.22.5": + version "7.22.5" + resolved "https://registry.yarnpkg.com/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz#4938357dc7d782b80ed6dbb03a0fba3d22b1d5de" + integrity sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w== + dependencies: + "@babel/types" "^7.22.5" + "@babel/helper-split-export-declaration@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz#7367949bc75b20c6d5a5d4a97bba2824ae8ef075" @@ -308,6 +393,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz#533f36457a25814cf1df6488523ad547d784a99f" integrity sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw== +"@babel/helper-string-parser@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83" + integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ== + "@babel/helper-validator-identifier@^7.18.6", "@babel/helper-validator-identifier@^7.19.1": version "7.19.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz#7eea834cf32901ffdc1a7ee555e2f9c27e249ca2" @@ -323,6 +413,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz#8224c7e13ace4bafdc4004da2cf064ef42673180" integrity sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ== +"@babel/helper-validator-option@^7.23.5": + version "7.23.5" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz#907a3fbd4523426285365d1206c423c4c5520307" + integrity sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw== + "@babel/helpers@^7.21.0": version "7.21.0" resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.21.0.tgz#9dd184fb5599862037917cdc9eecb84577dc4e7e" @@ -332,6 +427,15 @@ "@babel/traverse" "^7.21.0" "@babel/types" "^7.21.0" +"@babel/helpers@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.6.tgz#d03af2ee5fb34691eec0cda90f5ecbb4d4da145a" + integrity sha512-wCfsbN4nBidDRhpDhvcKlzHWCTlgJYUUdSJfzXb2NuBssDSIjc3xcb+znA7l+zYsFljAcGM0aFkN40cR3lXiGA== + dependencies: + "@babel/template" "^7.22.15" + "@babel/traverse" "^7.23.6" + "@babel/types" "^7.23.6" + "@babel/highlight@^7.10.4", "@babel/highlight@^7.18.6": version "7.18.6" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.18.6.tgz#81158601e93e2563795adcbfbdf5d64be3f2ecdf" @@ -350,6 +454,15 @@ chalk "^2.4.2" js-tokens "^4.0.0" +"@babel/highlight@^7.23.4": + version "7.23.4" + resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b" + integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A== + dependencies: + "@babel/helper-validator-identifier" "^7.22.20" + chalk "^2.4.2" + js-tokens "^4.0.0" + "@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.21.3": version "7.21.3" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.21.3.tgz#1d285d67a19162ff9daa358d4cb41d50c06220b3" @@ -360,6 +473,11 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.0.tgz#da950e622420bf96ca0d0f2909cdddac3acd8719" integrity sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw== +"@babel/parser@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.6.tgz#ba1c9e512bda72a47e285ae42aff9d2a635a9e3b" + integrity sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ== + "@babel/plugin-syntax-async-generators@^7.8.4": version "7.8.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d" @@ -395,6 +513,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" +"@babel/plugin-syntax-jsx@^7.7.2": + version "7.23.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz#8f2e4f8a9b5f9aa16067e142c1ac9cd9f810f473" + integrity sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg== + dependencies: + "@babel/helper-plugin-utils" "^7.22.5" + "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": version "7.10.4" resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" @@ -483,7 +608,7 @@ "@babel/parser" "^7.22.15" "@babel/types" "^7.22.15" -"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3", "@babel/traverse@^7.7.2": +"@babel/traverse@^7.21.0", "@babel/traverse@^7.21.2", "@babel/traverse@^7.21.3": version "7.23.2" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.2.tgz#329c7a06735e144a506bdb2cad0268b7f46f4ad8" integrity sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw== @@ -499,6 +624,22 @@ debug "^4.1.0" globals "^11.1.0" +"@babel/traverse@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.6.tgz#b53526a2367a0dd6edc423637f3d2d0f2521abc5" + integrity sha512-czastdK1e8YByZqezMPFiZ8ahwVMh/ESl9vPgvgdB9AmFMGP5jfpFax74AQgl5zj4XHzqeYAg2l8PuUeRS1MgQ== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.23.6" + "@babel/types" "^7.23.6" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.18.6", "@babel/types@^7.20.2", "@babel/types@^7.20.7", "@babel/types@^7.21.0", "@babel/types@^7.21.2", "@babel/types@^7.21.3", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.21.3" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.21.3.tgz#4865a5357ce40f64e3400b0f3b737dc6d4f64d05" @@ -517,6 +658,15 @@ "@babel/helper-validator-identifier" "^7.22.20" to-fast-properties "^2.0.0" +"@babel/types@^7.23.6": + version "7.23.6" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.6.tgz#be33fdb151e1f5a56877d704492c240fc71c7ccd" + integrity sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg== + dependencies: + "@babel/helper-string-parser" "^7.23.4" + "@babel/helper-validator-identifier" "^7.22.20" + to-fast-properties "^2.0.0" + "@bcoe/v8-coverage@^0.2.3": version "0.2.3" resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" @@ -2073,113 +2223,135 @@ chalk "^2.0.1" slash "^2.0.0" -"@jest/console@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/console/-/console-27.5.1.tgz#260fe7239602fe5130a94f1aa386eff54b014bba" - integrity sha512-kZ/tNpS3NXn0mlXXXPNuDZnb4c0oZ20r4K5eemM2k30ZC3G0T02nXUvyhf5YdbXWHPEJLc9qGLxEZ216MdL+Zg== +"@jest/console@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/console/-/console-29.7.0.tgz#cd4822dbdb84529265c5a2bdb529a3c9cc950ffc" + integrity sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - jest-message-util "^27.5.1" - jest-util "^27.5.1" + jest-message-util "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" -"@jest/core@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/core/-/core-27.5.1.tgz#267ac5f704e09dc52de2922cbf3af9edcd64b626" - integrity sha512-AK6/UTrvQD0Cd24NSqmIA6rKsu0tKIxfiCducZvqxYdmMisOYAsdItspT+fQDQYARPf8XgjAFZi0ogW2agH5nQ== +"@jest/core@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/core/-/core-29.7.0.tgz#b6cccc239f30ff36609658c5a5e2291757ce448f" + integrity sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg== dependencies: - "@jest/console" "^27.5.1" - "@jest/reporters" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.7.0" + "@jest/reporters" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - emittery "^0.8.1" + ci-info "^3.2.0" exit "^0.1.2" graceful-fs "^4.2.9" - jest-changed-files "^27.5.1" - jest-config "^27.5.1" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-resolve-dependencies "^27.5.1" - jest-runner "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - jest-watcher "^27.5.1" + jest-changed-files "^29.7.0" + jest-config "^29.7.0" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-resolve-dependencies "^29.7.0" + jest-runner "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + jest-watcher "^29.7.0" micromatch "^4.0.4" - rimraf "^3.0.0" + pretty-format "^29.7.0" slash "^3.0.0" strip-ansi "^6.0.0" -"@jest/environment@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-27.5.1.tgz#d7425820511fe7158abbecc010140c3fd3be9c74" - integrity sha512-/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA== +"@jest/environment@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/environment/-/environment-29.7.0.tgz#24d61f54ff1f786f3cd4073b4b94416383baf2a7" + integrity sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw== dependencies: - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - jest-mock "^27.5.1" + jest-mock "^29.7.0" -"@jest/fake-timers@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" - integrity sha512-/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ== +"@jest/expect-utils@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.7.0.tgz#023efe5d26a8a70f21677d0a1afc0f0a44e3a1c6" + integrity sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA== dependencies: - "@jest/types" "^27.5.1" - "@sinonjs/fake-timers" "^8.0.1" + jest-get-type "^29.6.3" + +"@jest/expect@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/expect/-/expect-29.7.0.tgz#76a3edb0cb753b70dfbfe23283510d3d45432bf2" + integrity sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ== + dependencies: + expect "^29.7.0" + jest-snapshot "^29.7.0" + +"@jest/fake-timers@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-29.7.0.tgz#fd91bf1fffb16d7d0d24a426ab1a47a49881a565" + integrity sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ== + dependencies: + "@jest/types" "^29.6.3" + "@sinonjs/fake-timers" "^10.0.2" "@types/node" "*" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-util "^27.5.1" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-util "^29.7.0" -"@jest/globals@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-27.5.1.tgz#7ac06ce57ab966566c7963431cef458434601b2b" - integrity sha512-ZEJNB41OBQQgGzgyInAv0UUfDDj3upmHydjieSxFvTRuZElrx7tXg/uVQ5hYVEwiXs3+aMsAeEc9X7xiSKCm4Q== +"@jest/globals@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/globals/-/globals-29.7.0.tgz#8d9290f9ec47ff772607fa864ca1d5a2efae1d4d" + integrity sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ== dependencies: - "@jest/environment" "^27.5.1" - "@jest/types" "^27.5.1" - expect "^27.5.1" + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/types" "^29.6.3" + jest-mock "^29.7.0" -"@jest/reporters@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-27.5.1.tgz#ceda7be96170b03c923c37987b64015812ffec04" - integrity sha512-cPXh9hWIlVJMQkVk84aIvXuBB4uQQmFqZiacloFuGiP3ah1sbCxCosidXFDfqG8+6fO1oR2dTJTlsOy4VFmUfw== +"@jest/reporters@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/reporters/-/reporters-29.7.0.tgz#04b262ecb3b8faa83b0b3d321623972393e8f4c7" + integrity sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg== dependencies: "@bcoe/v8-coverage" "^0.2.3" - "@jest/console" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" "@types/node" "*" chalk "^4.0.0" collect-v8-coverage "^1.0.0" exit "^0.1.2" - glob "^7.1.2" + glob "^7.1.3" graceful-fs "^4.2.9" istanbul-lib-coverage "^3.0.0" - istanbul-lib-instrument "^5.1.0" + istanbul-lib-instrument "^6.0.0" istanbul-lib-report "^3.0.0" istanbul-lib-source-maps "^4.0.0" istanbul-reports "^3.1.3" - jest-haste-map "^27.5.1" - jest-resolve "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" + jest-message-util "^29.7.0" + jest-util "^29.7.0" + jest-worker "^29.7.0" slash "^3.0.0" - source-map "^0.6.0" string-length "^4.0.1" - terminal-link "^2.0.0" - v8-to-istanbul "^8.1.0" + strip-ansi "^6.0.0" + v8-to-istanbul "^9.0.1" + +"@jest/schemas@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.6.3.tgz#430b5ce8a4e0044a7e3819663305a7b3091c8e03" + integrity sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA== + dependencies: + "@sinclair/typebox" "^0.27.8" "@jest/source-map@^24.9.0": version "24.9.0" @@ -2190,14 +2362,14 @@ graceful-fs "^4.1.15" source-map "^0.6.0" -"@jest/source-map@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" - integrity sha512-y9NIHUYF3PJRlHk98NdC/N1gl88BL08aQQgu4k4ZopQkCw9t9cV8mtl3TV8b/YCB8XaVTFrmUTAJvjsntDireg== +"@jest/source-map@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-29.6.3.tgz#d90ba772095cf37a34a5eb9413f1b562a08554c4" + integrity sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw== dependencies: + "@jridgewell/trace-mapping" "^0.3.18" callsites "^3.0.0" graceful-fs "^4.2.9" - source-map "^0.6.0" "@jest/test-result@^24.9.0": version "24.9.0" @@ -2208,46 +2380,46 @@ "@jest/types" "^24.9.0" "@types/istanbul-lib-coverage" "^2.0.0" -"@jest/test-result@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-27.5.1.tgz#56a6585fa80f7cdab72b8c5fc2e871d03832f5bb" - integrity sha512-EW35l2RYFUcUQxFJz5Cv5MTOxlJIQs4I7gxzi2zVU7PJhOwfYq1MdC5nhSmYjX1gmMmLPvB3sIaC+BkcHRBfag== +"@jest/test-result@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-result/-/test-result-29.7.0.tgz#8db9a80aa1a097bb2262572686734baed9b1657c" + integrity sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA== dependencies: - "@jest/console" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.7.0" + "@jest/types" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" collect-v8-coverage "^1.0.0" -"@jest/test-sequencer@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-27.5.1.tgz#4057e0e9cea4439e544c6353c6affe58d095745b" - integrity sha512-LCheJF7WB2+9JuCS7VB/EmGIdQuhtqjRNI9A43idHv3E4KltCTsPsLxvdaubFHSYwY/fNjMWjl6vNRhDiN7vpQ== +"@jest/test-sequencer@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz#6cef977ce1d39834a3aea887a1726628a6f072ce" + integrity sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw== dependencies: - "@jest/test-result" "^27.5.1" + "@jest/test-result" "^29.7.0" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-runtime "^27.5.1" + jest-haste-map "^29.7.0" + slash "^3.0.0" -"@jest/transform@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-27.5.1.tgz#6c3501dcc00c4c08915f292a600ece5ecfe1f409" - integrity sha512-ipON6WtYgl/1329g5AIJVbUuEh0wZVbdpGwC99Jw4LwuoBNS95MVphU6zOeD9pDkon+LLbFL7lOQRapbB8SCHw== +"@jest/transform@^29.7.0": + version "29.7.0" + resolved "https://registry.yarnpkg.com/@jest/transform/-/transform-29.7.0.tgz#df2dd9c346c7d7768b8a06639994640c642e284c" + integrity sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw== dependencies: - "@babel/core" "^7.1.0" - "@jest/types" "^27.5.1" + "@babel/core" "^7.11.6" + "@jest/types" "^29.6.3" + "@jridgewell/trace-mapping" "^0.3.18" babel-plugin-istanbul "^6.1.1" chalk "^4.0.0" - convert-source-map "^1.4.0" - fast-json-stable-stringify "^2.0.0" + convert-source-map "^2.0.0" + fast-json-stable-stringify "^2.1.0" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-regex-util "^27.5.1" - jest-util "^27.5.1" + jest-haste-map "^29.7.0" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" micromatch "^4.0.4" pirates "^4.0.4" slash "^3.0.0" - source-map "^0.6.1" - write-file-atomic "^3.0.0" + write-file-atomic "^4.0.2" "@jest/types@^24.9.0": version "24.9.0" @@ -2258,15 +2430,16 @@ "@types/istanbul-reports" "^1.1.1" "@types/yargs" "^13.0.0" -"@jest/types@^27.5.1": - version "27.5.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-27.5.1.tgz#3c79ec4a8ba61c170bf937bcf9e98a9df175ec80" - integrity sha512-Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw== +"@jest/types@^29.6.3": + version "29.6.3" + resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.6.3.tgz#1131f8cf634e7e84c5e77bab12f052af585fba59" + integrity sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw== dependencies: + "@jest/schemas" "^29.6.3" "@types/istanbul-lib-coverage" "^2.0.0" "@types/istanbul-reports" "^3.0.0" "@types/node" "*" - "@types/yargs" "^16.0.0" + "@types/yargs" "^17.0.8" chalk "^4.0.0" "@josephg/resolvable@^1.0.0": @@ -2296,6 +2469,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz#2203b118c157721addfe69d47b70465463066d78" integrity sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w== +"@jridgewell/resolve-uri@^3.1.0": + version "3.1.1" + resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721" + integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA== + "@jridgewell/set-array@^1.0.0", "@jridgewell/set-array@^1.0.1": version "1.1.2" resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72" @@ -2306,6 +2484,11 @@ resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz#add4c98d341472a289190b424efbdb096991bb24" integrity sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw== +"@jridgewell/sourcemap-codec@^1.4.14": + version "1.4.15" + resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32" + integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg== + "@jridgewell/trace-mapping@0.3.9": version "0.3.9" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz#6534fd5933a53ba7cbf3a17615e273a0d1273ff9" @@ -2314,6 +2497,14 @@ "@jridgewell/resolve-uri" "^3.0.3" "@jridgewell/sourcemap-codec" "^1.4.10" +"@jridgewell/trace-mapping@^0.3.12", "@jridgewell/trace-mapping@^0.3.18": + version "0.3.20" + resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz#72e45707cf240fa6b081d0366f8265b0cd10197f" + integrity sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q== + dependencies: + "@jridgewell/resolve-uri" "^3.1.0" + "@jridgewell/sourcemap-codec" "^1.4.14" + "@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9": version "0.3.17" resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.17.tgz#793041277af9073b0951a7fe0f0d8c4c98c36985" @@ -3023,6 +3214,11 @@ "@sentry/types" "5.30.0" tslib "^1.9.3" +"@sinclair/typebox@^0.27.8": + version "0.27.8" + resolved "https://registry.yarnpkg.com/@sinclair/typebox/-/typebox-0.27.8.tgz#6667fac16c436b5434a387a34dedb013198f6e6e" + integrity sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA== + "@sindresorhus/is@^0.14.0": version "0.14.0" resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea" @@ -3033,19 +3229,19 @@ resolved "https://registry.yarnpkg.com/@sindresorhus/is/-/is-4.6.0.tgz#3c7c9c46e678feefe7a2e5bb609d3dbd665ffb3f" integrity sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw== -"@sinonjs/commons@^1.7.0": - version "1.8.6" - resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-1.8.6.tgz#80c516a4dc264c2a69115e7578d62581ff455ed9" - integrity sha512-Ky+XkAkqPZSm3NLBeUng77EBQl3cmeJhITaGHdYH8kjVB+aun3S4XBRti2zt17mtt0mIUDiNxYeoJm6drVvBJQ== +"@sinonjs/commons@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@sinonjs/commons/-/commons-3.0.0.tgz#beb434fe875d965265e04722ccfc21df7f755d72" + integrity sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA== dependencies: type-detect "4.0.8" -"@sinonjs/fake-timers@^8.0.1": - version "8.1.0" - resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz#3fdc2b6cb58935b21bfb8d1625eb1300484316e7" - integrity sha512-OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg== +"@sinonjs/fake-timers@^10.0.2": + version "10.3.0" + resolved "https://registry.yarnpkg.com/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz#55fdff1ecab9f354019129daf4df0dd4d923ea66" + integrity sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA== dependencies: - "@sinonjs/commons" "^1.7.0" + "@sinonjs/commons" "^3.0.0" "@solana/buffer-layout@^4.0.0": version "4.0.1" @@ -3382,11 +3578,6 @@ algosdk "^2.1.0" base64-js "^1.5.1" -"@tootallnate/once@1": - version "1.1.2" - resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" - integrity sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw== - "@traderjoe-xyz/sdk-v2@^2.0.5": version "2.0.5" resolved "https://registry.yarnpkg.com/@traderjoe-xyz/sdk-v2/-/sdk-v2-2.0.5.tgz#9dc6037d2f3ea28664684e5f8ce4db48eccc80ff" @@ -3654,7 +3845,7 @@ resolved "https://registry.yarnpkg.com/@types/async-eventemitter/-/async-eventemitter-0.2.1.tgz#f8e6280e87e8c60b2b938624b0a3530fb3e24712" integrity sha512-M2P4Ng26QbAeITiH7w1d7OxtldgfAe0wobpyJzVK/XOb0cUGKU2R4pfAhqcJBXAe2ife5ZOhSv4wk7p+ffURtg== -"@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": +"@types/babel__core@^7.1.14": version "7.20.0" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.20.0.tgz#61bc5a4cae505ce98e1e36c5445e4bee060d8891" integrity sha512-+n8dL/9GWblDO0iU6eZAwEIJVr5DWigtle+Q6HLOrh/pdbXOhOtqzq8VPPE2zvNJzSKY4vH/z3iT3tn0A3ypiQ== @@ -3680,7 +3871,7 @@ "@babel/parser" "^7.1.0" "@babel/types" "^7.0.0" -"@types/babel__traverse@*", "@types/babel__traverse@^7.0.4", "@types/babel__traverse@^7.0.6": +"@types/babel__traverse@*", "@types/babel__traverse@^7.0.6": version "7.18.3" resolved "https://registry.yarnpkg.com/@types/babel__traverse/-/babel__traverse-7.18.3.tgz#dfc508a85781e5698d5b33443416b6268c4b3e8d" integrity sha512-1kbcJ40lLB7MHsj39U4Sh1uTd2E7rLEa79kmDpI6cy+XiXsteB3POdQomoq4FxszMrO3ZYchkhYJw7A2862b3w== @@ -3813,10 +4004,10 @@ resolved "https://registry.yarnpkg.com/@types/google-protobuf/-/google-protobuf-3.15.6.tgz#674a69493ef2c849b95eafe69167ea59079eb504" integrity sha512-pYVNNJ+winC4aek+lZp93sIKxnXt5qMkuKmaqS3WGuTq0Bw1ZDYNBgzG5kkdtwcv+GmYJGo3yEg6z2cKKAiEdw== -"@types/graceful-fs@^4.1.2": - version "4.1.6" - resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.6.tgz#e14b2576a1c25026b7f02ede1de3b84c3a1efeae" - integrity sha512-Sig0SNORX9fdW+bQuTEovKj3uHcUL6LQKbCrrqb1X7J6/ReAbhCXRAhc+SMejhLELFj2QcyuxmUooZ4bt5ReSw== +"@types/graceful-fs@^4.1.3": + version "4.1.9" + resolved "https://registry.yarnpkg.com/@types/graceful-fs/-/graceful-fs-4.1.9.tgz#2a06bc0f68a20ab37b3e36aa238be6abdf49e8b4" + integrity sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ== dependencies: "@types/node" "*" @@ -3852,13 +4043,13 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@^27.4.1": - version "27.5.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c" - integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== +"@types/jest@^29.5.11": + version "29.5.11" + resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.5.11.tgz#0c13aa0da7d0929f078ab080ae5d4ced80fa2f2c" + integrity sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ== dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" + expect "^29.0.0" + pretty-format "^29.0.0" "@types/js-yaml@^4.0.2": version "4.0.5" @@ -4001,11 +4192,6 @@ dependencies: "@types/node" "*" -"@types/prettier@^2.1.5": - version "2.7.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.7.2.tgz#6c2324641cc4ba050a8c710b2b251b377581fbf0" - integrity sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg== - "@types/promise-retry@^1.1.3": version "1.1.3" resolved "https://registry.yarnpkg.com/@types/promise-retry/-/promise-retry-1.1.3.tgz#baab427419da9088a1d2f21bf56249c21b3dd43c" @@ -4124,10 +4310,10 @@ dependencies: "@types/yargs-parser" "*" -"@types/yargs@^16.0.0": - version "16.0.5" - resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-16.0.5.tgz#12cc86393985735a283e387936398c2f9e5f88e3" - integrity sha512-AxO/ADJOBFJScHbWhq2xAhlWP24rY4aCEG/NFaMvbT3X2MgRsLjhjQwsn0Zi5zn0LG9jUhCCZMeX9Dkuw6k+vQ== +"@types/yargs@^17.0.8": + version "17.0.32" + resolved "https://registry.yarnpkg.com/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" + integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== dependencies: "@types/yargs-parser" "*" @@ -4422,11 +4608,6 @@ JSONStream@^1.3.5: jsonparse "^1.2.0" through ">=2.2.7 <3" -abab@^2.0.3, abab@^2.0.5: - version "2.0.6" - resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291" - integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA== - abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -4524,24 +4705,11 @@ accepts@^1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-globals@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/acorn-globals/-/acorn-globals-6.0.0.tgz#46cdd39f0f8ff08a876619b55f5ac8a6dc770b45" - integrity sha512-ZQl7LOWaF5ePqqcX4hLuv/bLXYQNfNWw2c0/yX/TsPRKamzHcTGQnlCjHT3TsmkOUVEPS3crCxiPfdzE/Trlhg== - dependencies: - acorn "^7.1.1" - acorn-walk "^7.1.1" - acorn-jsx@^5.3.1: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -acorn-walk@^7.1.1: - version "7.2.0" - resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc" - integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== - acorn-walk@^8.1.1: version "8.2.0" resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" @@ -4552,12 +4720,12 @@ acorn@7.1.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf" integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg== -acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.4.0: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.4.1: +acorn@^8.4.1: version "8.8.2" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== @@ -5083,16 +5251,15 @@ axios@^1.6.0: form-data "^4.0.0" proxy-from-env "^1.1.0" -babel-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-27.5.1.tgz#a1bf8d61928edfefd21da27eb86a695bfd691444" - integrity sha512-cdQ5dXjGRd0IBRATiQ4mZGlGlRE8kJpjPOixdNRdT+m3UcNqmYWN6rK6nvtXYfY3D76cb8s/O1Ss8ea24PIwcg== +babel-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" + integrity sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg== dependencies: - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/transform" "^29.7.0" "@types/babel__core" "^7.1.14" babel-plugin-istanbul "^6.1.1" - babel-preset-jest "^27.5.1" + babel-preset-jest "^29.6.3" chalk "^4.0.0" graceful-fs "^4.2.9" slash "^3.0.0" @@ -5108,14 +5275,14 @@ babel-plugin-istanbul@^6.1.1: istanbul-lib-instrument "^5.0.4" test-exclude "^6.0.0" -babel-plugin-jest-hoist@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-27.5.1.tgz#9be98ecf28c331eb9f5df9c72d6f89deb8181c2e" - integrity sha512-50wCwD5EMNW4aRpOwtqzyZHIewTYNxLA4nhB+09d8BIssfNfzBRhkBIHiaPv1Si226TQSvp8gxAJm2iY2qs2hQ== +babel-plugin-jest-hoist@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz#aadbe943464182a8922c3c927c3067ff40d24626" + integrity sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg== dependencies: "@babel/template" "^7.3.3" "@babel/types" "^7.3.3" - "@types/babel__core" "^7.0.0" + "@types/babel__core" "^7.1.14" "@types/babel__traverse" "^7.0.6" babel-preset-current-node-syntax@^1.0.0: @@ -5136,12 +5303,12 @@ babel-preset-current-node-syntax@^1.0.0: "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-syntax-top-level-await" "^7.8.3" -babel-preset-jest@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-27.5.1.tgz#91f10f58034cb7989cb4f962b69fa6eef6a6bc81" - integrity sha512-Nptf2FzlPCWYuJg41HBqXVT8ym6bXOevuCTbhxlUpjwtysGaIWFvDEjp4y+G7fl13FgOdjs7P/DmErqH7da0Ag== +babel-preset-jest@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz#fa05fa510e7d493896d7b0dd2033601c840f171c" + integrity sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA== dependencies: - babel-plugin-jest-hoist "^27.5.1" + babel-plugin-jest-hoist "^29.6.3" babel-preset-current-node-syntax "^1.0.0" balanced-match@^1.0.0: @@ -5462,11 +5629,6 @@ browser-level@^1.0.1: module-error "^1.0.2" run-parallel-limit "^1.1.0" -browser-process-hrtime@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626" - integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow== - browser-stdout@1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/browser-stdout/-/browser-stdout-1.3.1.tgz#baa559ee14ced73452229bad7326467c61fabd60" @@ -5536,6 +5698,16 @@ browserslist@^4.21.3: node-releases "^2.0.8" update-browserslist-db "^1.0.10" +browserslist@^4.22.2: + version "4.22.2" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.2.tgz#704c4943072bd81ea18997f3bd2180e89c77874b" + integrity sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A== + dependencies: + caniuse-lite "^1.0.30001565" + electron-to-chromium "^1.4.601" + node-releases "^2.0.14" + update-browserslist-db "^1.0.13" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -5763,6 +5935,11 @@ caniuse-lite@^1.0.30001449: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001468.tgz#0101837c6a4e38e6331104c33dcfb3bdf367a4b7" integrity sha512-zgAo8D5kbOyUcRAgSmgyuvBkjrGk5CGYG5TYgFdpQv+ywcyEpo1LOWoG8YmoflGnh+V+UsNuKYedsoYs0hzV5A== +caniuse-lite@^1.0.30001565: + version "1.0.30001570" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001570.tgz#b4e5c1fa786f733ab78fc70f592df6b3f23244ca" + integrity sha512-+3e0ASu4sw1SWaoCtvPeyXp+5PsjigkSt8OXZbF9StH5pQWbxEjLAZE3n8Aup5udop1uRiKA7a4utUk/uoSpUw== + capability@^0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/capability/-/capability-0.2.5.tgz#51ad87353f1936ffd77f2f21c74633a4dea88801" @@ -5950,6 +6127,15 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" +cliui@^8.0.1: + version "8.0.1" + resolved "https://registry.yarnpkg.com/cliui/-/cliui-8.0.1.tgz#0c04b075db02cbfe60dc8e6cf2f5486b1a3608aa" + integrity sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== + dependencies: + string-width "^4.2.0" + strip-ansi "^6.0.1" + wrap-ansi "^7.0.0" + clone-buffer@1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/clone-buffer/-/clone-buffer-1.0.0.tgz#e3e25b207ac4e701af721e2cb5a16792cac3dc58" @@ -6157,11 +6343,16 @@ content-type@~1.0.4, content-type@~1.0.5: resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918" integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA== -convert-source-map@^1.4.0, convert-source-map@^1.6.0, convert-source-map@^1.7.0: +convert-source-map@^1.7.0: version "1.9.0" resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f" integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A== +convert-source-map@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a" + integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg== + cookie-signature@1.0.6: version "1.0.6" resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" @@ -6270,6 +6461,19 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" +create-jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/create-jest/-/create-jest-29.7.0.tgz#a355c5b3cb1e1af02ba177fe7afd7feee49a5320" + integrity sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q== + dependencies: + "@jest/types" "^29.6.3" + chalk "^4.0.0" + exit "^0.1.2" + graceful-fs "^4.2.9" + jest-config "^29.7.0" + jest-util "^29.7.0" + prompts "^2.0.1" + create-require@^1.1.0: version "1.1.1" resolved "https://registry.yarnpkg.com/create-require/-/create-require-1.1.1.tgz#c1d7e8f1e5f6cfc9ff65f9cd352d37348756c333" @@ -6324,23 +6528,6 @@ cssfilter@0.0.10: resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae" integrity sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw== -cssom@^0.4.4: - version "0.4.4" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.4.4.tgz#5a66cf93d2d0b661d80bf6a44fb65f5c2e4e0a10" - integrity sha512-p3pvU7r1MyyqbTk+WbNJIgJjG2VmTIaB10rI93LzVPrmDJKkzKYMtxxyAvQXR/NS6otuzveI7+7BBq3SjBS2mw== - -cssom@~0.3.6: - version "0.3.8" - resolved "https://registry.yarnpkg.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a" - integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg== - -cssstyle@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/cssstyle/-/cssstyle-2.3.0.tgz#ff665a0ddbdc31864b09647f34163443d90b0852" - integrity sha512-AZL67abkUzIuvcHqk7c09cezpGNcxUxU4Ioi/05xHk4DQeTkWmGYftIE6ctU6AEt+Gn4n1lDStOtj7FKycP71A== - dependencies: - cssom "~0.3.6" - d@1, d@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/d/-/d-1.0.1.tgz#8698095372d58dbee346ffd0c7093f99f8f9eb5a" @@ -6356,15 +6543,6 @@ dashdash@^1.12.0: dependencies: assert-plus "^1.0.0" -data-urls@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" - integrity sha512-X5eWTSXO/BJmpdIKCRuKUgSCgAN0OwliVK3yPKbwIWU1Tdw5BRajxlzMidvh+gwko9AfQ9zIj52pzF91Q3YAvQ== - dependencies: - abab "^2.0.3" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.0.0" - dataloader@2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-2.1.0.tgz#c69c538235e85e7ac6c6c444bae8ecabf5de9df7" @@ -6430,7 +6608,7 @@ decimal.js@^10.2.0, decimal.js@^10.4.3: resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.4.3.tgz#1044092884d245d1b7f65725fa4ad4c6f781cc23" integrity sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA== -decimal.js@^10.2.1, decimal.js@^10.3.1: +decimal.js@^10.3.1: version "10.3.1" resolved "https://registry.yarnpkg.com/decimal.js/-/decimal.js-10.3.1.tgz#d8c3a444a9c6774ba60ca6ad7261c3a94fd5e783" integrity sha512-V0pfhfr8suzyPGOx3nmq4aHqabehUZn6Ch9kyFpV79TGDTWFmHqUqXdabR7QHqxzrYolF4+tVmJhUG4OURg5dQ== @@ -6507,12 +6685,12 @@ decompress@^4.0.0: pify "^2.3.0" strip-dirs "^2.0.0" -dedent@^0.7.0: - version "0.7.0" - resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" - integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== +dedent@^1.0.0: + version "1.5.1" + resolved "https://registry.yarnpkg.com/dedent/-/dedent-1.5.1.tgz#4f3fc94c8b711e9bb2800d185cd6ad20f2a90aff" + integrity sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg== -deep-is@^0.1.3, deep-is@~0.1.3: +deep-is@^0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== @@ -6621,10 +6799,10 @@ diff-sequences@^24.9.0: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-24.9.0.tgz#5715d6244e2aa65f48bba0bc972db0b0b11e95b5" integrity sha512-Dj6Wk3tWyTE+Fo1rW8v0Xhwk80um6yFYKbuAxc9c3EZxIHFDYwbi34Uk42u1CdnIiVorvt4RmlSDjIPyzGC2ew== -diff-sequences@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" - integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== +diff-sequences@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.6.3.tgz#4deaf894d11407c51efc8418012f9e70b84ea921" + integrity sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q== diff@3.5.0: version "3.5.0" @@ -6681,13 +6859,6 @@ dom-walk@^0.1.0: resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== -domexception@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/domexception/-/domexception-2.0.1.tgz#fb44aefba793e1574b0af6aed2801d057529f304" - integrity sha512-yxJ2mFy/sibVQlu5qHjOkf9J3K6zgmCxgJ94u2EdvDOV09H+32LtRswEcUsmUWN72pVLOEnTSRaIVVzVQgS0dg== - dependencies: - webidl-conversions "^5.0.0" - dot-case@^2.1.0: version "2.1.1" resolved "https://registry.yarnpkg.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee" @@ -6780,6 +6951,11 @@ electron-to-chromium@^1.4.284: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.333.tgz#ebb21f860f8a29923717b06ec0cb54e77ed34c04" integrity sha512-YyE8+GKyGtPEP1/kpvqsdhD6rA/TP1DUFDN4uiU/YI52NzDxmwHkEb3qjId8hLBa5siJvG0sfC3O66501jMruQ== +electron-to-chromium@^1.4.601: + version "1.4.613" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.613.tgz#529e4fc65576ecfd055d7d4619fade4fac446af2" + integrity sha512-r4x5+FowKG6q+/Wj0W9nidx7QO31BJwmR2uEo+Qh3YLGQ8SbBAFuDFpTxzly/I2gsbrFwBuIjrMp423L3O5U3w== + elliptic@6.3.3: version "6.3.3" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.3.3.tgz#5482d9646d54bcb89fd7d994fc9e2e9568876e3f" @@ -6808,16 +6984,16 @@ emittery@0.10.0: resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.10.0.tgz#bb373c660a9d421bb44706ec4967ed50c02a8026" integrity sha512-AGvFfs+d0JKCJQ4o01ASQLGPmSCxgfU9RFXvzPvZdjKK8oscynksuJhWrSTSw7j7Ep/sZct5b5ZhYCi8S/t0HQ== +emittery@^0.13.1: + version "0.13.1" + resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.13.1.tgz#c04b8c3457490e0847ae51fced3af52d338e3dad" + integrity sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ== + emittery@^0.4.1: version "0.4.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.4.1.tgz#abe9d3297389ba424ac87e53d1c701962ce7433d" integrity sha512-r4eRSeStEGf6M5SKdrQhhLK5bOwOBxQhIE3YSTnZE3GpKiLfnnhE+tPtrJE79+eDJgm39BM6LSoI8SCx4HbwlQ== -emittery@^0.8.1: - version "0.8.1" - resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" - integrity sha512-uDfvUjVrfGJJhymx/kz6prltenw1u7WrCg1oa94zYY8xxVpLLUu045LAT0dhDZdXG58/EpPL/5kA180fQ/qudg== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -7030,18 +7206,6 @@ escape-string-regexp@^2.0.0: resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344" integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w== -escodegen@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd" - integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw== - dependencies: - esprima "^4.0.1" - estraverse "^5.2.0" - esutils "^2.0.2" - optionator "^0.8.1" - optionalDependencies: - source-map "~0.6.1" - eslint-config-prettier@^8.3.0: version "8.7.0" resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.7.0.tgz#f1cc58a8afebc50980bd53475451df146c13182d" @@ -7213,7 +7377,7 @@ espree@^7.3.0, espree@^7.3.1: acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.0: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -7576,15 +7740,16 @@ expect@^24.1.0: jest-message-util "^24.9.0" jest-regex-util "^24.9.0" -expect@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-27.5.1.tgz#83ce59f1e5bdf5f9d2b94b61d2050db48f3fef74" - integrity sha512-E1q5hSUG2AmYQwQJ041nvgpkODHQvB+RKlB4IYdru6uJsyFTRyZAP463M+1lINorwbqAmUggi6+WwkD8lCS/Dw== +expect@^29.0.0, expect@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/expect/-/expect-29.7.0.tgz#578874590dcb3214514084c08115d8aee61e11bc" + integrity sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw== dependencies: - "@jest/types" "^27.5.1" - jest-get-type "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" + "@jest/expect-utils" "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" exponential-backoff@3.1.0: version "3.1.0" @@ -7742,7 +7907,7 @@ fast-json-stable-stringify@2.x, fast-json-stable-stringify@^2.0.0, fast-json-sta resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633" integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw== -fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6: +fast-levenshtein@^2.0.6: version "2.0.6" resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917" integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== @@ -8264,7 +8429,7 @@ glob@^6.0.1: once "^1.3.0" path-is-absolute "^1.0.0" -glob@^7.0.0, glob@^7.0.5, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4: +glob@^7.0.0, glob@^7.0.5, glob@^7.1.3, glob@^7.1.4: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== @@ -8708,13 +8873,6 @@ hosted-git-info@^2.6.0: resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== -html-encoding-sniffer@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/html-encoding-sniffer/-/html-encoding-sniffer-2.0.1.tgz#42a6dc4fd33f00281176e8b23759ca4e4fa185f3" - integrity sha512-D5JbOMBIR/TVZkubHT+OyT2705QvogUW4IBn6nHd756OwieSF9aDYFj4dv6HHEVGYbHaLETa3WggZYWWMyy3ZQ== - dependencies: - whatwg-encoding "^1.0.5" - html-escaper@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" @@ -8752,15 +8910,6 @@ http-https@^1.0.0: resolved "https://registry.yarnpkg.com/http-https/-/http-https-1.0.0.tgz#2f908dd5f1db4068c058cd6e6d4ce392c913389b" integrity sha512-o0PWwVCSp3O0wS6FvNr6xfBCHgt0m1tvPLFOCc2iFDKTRAXhB7m8klDf7ErowFH8POa6dVdGatKU5I1YYwzUyg== -http-proxy-agent@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz#8a8c8ef7f5932ccf953c296ca8291b95aa74aa3a" - integrity sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg== - dependencies: - "@tootallnate/once" "1" - agent-base "6" - debug "4" - http-signature@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1" @@ -9190,11 +9339,6 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4: dependencies: isobject "^3.0.1" -is-potential-custom-element-name@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-potential-custom-element-name/-/is-potential-custom-element-name-1.0.1.tgz#171ed6f19e3ac554394edf78caa05784a45bebb5" - integrity sha512-bCYeRA2rVibKZd+s2625gGnGF/t7DSqDs4dP7CrLA1m7jKWz6pps0LpYLJN8Q64HtmPKJ1hrN3nzPNKFEKOUiQ== - is-regex@^1.1.4: version "1.1.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958" @@ -9344,7 +9488,7 @@ istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" integrity sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw== -istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: +istanbul-lib-instrument@^5.0.4: version "5.2.1" resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== @@ -9355,6 +9499,17 @@ istanbul-lib-instrument@^5.0.4, istanbul-lib-instrument@^5.1.0: istanbul-lib-coverage "^3.2.0" semver "^6.3.0" +istanbul-lib-instrument@^6.0.0: + version "6.0.1" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz#71e87707e8041428732518c6fb5211761753fbdf" + integrity sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA== + dependencies: + "@babel/core" "^7.12.3" + "@babel/parser" "^7.14.7" + "@istanbuljs/schema" "^0.1.2" + istanbul-lib-coverage "^3.2.0" + semver "^7.5.4" + istanbul-lib-report@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz#7518fe52ea44de372f460a76b5ecda9ffb73d8a6" @@ -9421,85 +9576,83 @@ jayson@^3.4.4: uuid "^8.3.2" ws "^7.4.5" -jest-changed-files@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-27.5.1.tgz#a348aed00ec9bf671cc58a66fcbe7c3dfd6a68f5" - integrity sha512-buBLMiByfWGCoMsLLzGUUSpAmIAGnbR2KJoMN10ziLhOLvP4e0SlypHnAel8iqQXTrcbmfEY9sSqae5sgUsTvw== +jest-changed-files@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-29.7.0.tgz#1c06d07e77c78e1585d020424dedc10d6e17ac3a" + integrity sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w== dependencies: - "@jest/types" "^27.5.1" execa "^5.0.0" - throat "^6.0.1" - -jest-circus@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-27.5.1.tgz#37a5a4459b7bf4406e53d637b49d22c65d125ecc" - integrity sha512-D95R7x5UtlMA5iBYsOHFFbMD/GVA4R/Kdq15f7xYWUfWHBto9NYRsOvnSauTgdF+ogCpJ4tyKOXhUifxS65gdw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + jest-util "^29.7.0" + p-limit "^3.1.0" + +jest-circus@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-circus/-/jest-circus-29.7.0.tgz#b6817a45fcc835d8b16d5962d0c026473ee3668a" + integrity sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/expect" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" co "^4.6.0" - dedent "^0.7.0" - expect "^27.5.1" + dedent "^1.0.0" is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" + jest-each "^29.7.0" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-runtime "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" + p-limit "^3.1.0" + pretty-format "^29.7.0" + pure-rand "^6.0.0" slash "^3.0.0" stack-utils "^2.0.3" - throat "^6.0.1" -jest-cli@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-27.5.1.tgz#278794a6e6458ea8029547e6c6cbf673bd30b145" - integrity sha512-Hc6HOOwYq4/74/c62dEE3r5elx8wjYqxY0r0G/nFrLDPMFRu6RA/u8qINOIkvhxG7mMQ5EJsOGfRpI8L6eFUVw== +jest-cli@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-cli/-/jest-cli-29.7.0.tgz#5592c940798e0cae677eec169264f2d839a37995" + integrity sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg== dependencies: - "@jest/core" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/core" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" chalk "^4.0.0" + create-jest "^29.7.0" exit "^0.1.2" - graceful-fs "^4.2.9" import-local "^3.0.2" - jest-config "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" - prompts "^2.0.1" - yargs "^16.2.0" - -jest-config@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-27.5.1.tgz#5c387de33dca3f99ad6357ddeccd91bf3a0e4a41" - integrity sha512-5sAsjm6tGdsVbW9ahcChPAFCk4IlkQUknH5AvKjuLTSlcO/wCZKyFdn7Rg0EkC+OGgWODEy2hDpWB1PgzH0JNA== - dependencies: - "@babel/core" "^7.8.0" - "@jest/test-sequencer" "^27.5.1" - "@jest/types" "^27.5.1" - babel-jest "^27.5.1" + jest-config "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" + yargs "^17.3.1" + +jest-config@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-config/-/jest-config-29.7.0.tgz#bcbda8806dbcc01b1e316a46bb74085a84b0245f" + integrity sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ== + dependencies: + "@babel/core" "^7.11.6" + "@jest/test-sequencer" "^29.7.0" + "@jest/types" "^29.6.3" + babel-jest "^29.7.0" chalk "^4.0.0" ci-info "^3.2.0" deepmerge "^4.2.2" - glob "^7.1.1" + glob "^7.1.3" graceful-fs "^4.2.9" - jest-circus "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-get-type "^27.5.1" - jest-jasmine2 "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runner "^27.5.1" - jest-util "^27.5.1" - jest-validate "^27.5.1" + jest-circus "^29.7.0" + jest-environment-node "^29.7.0" + jest-get-type "^29.6.3" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-runner "^29.7.0" + jest-util "^29.7.0" + jest-validate "^29.7.0" micromatch "^4.0.4" parse-json "^5.2.0" - pretty-format "^27.5.1" + pretty-format "^29.7.0" slash "^3.0.0" strip-json-comments "^3.1.1" @@ -9513,58 +9666,45 @@ jest-diff@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-diff@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-27.5.1.tgz#a07f5011ac9e6643cf8a95a462b7b1ecf6680def" - integrity sha512-m0NvkX55LDt9T4mctTEgnZk3fmEg3NRYutvMPWM/0iPnkFj2wIeF45O1718cMSOFO1vINkqmxqD8vE37uTEbqw== +jest-diff@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.7.0.tgz#017934a66ebb7ecf6f205e84699be10afd70458a" + integrity sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw== dependencies: chalk "^4.0.0" - diff-sequences "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + diff-sequences "^29.6.3" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" -jest-docblock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" - integrity sha512-rl7hlABeTsRYxKiUfpHrQrG4e2obOiTQWfMEH3PxPjOtdsfLQO4ReWSZaQ7DETm4xu07rl4q/h4zcKXyU0/OzQ== +jest-docblock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-29.7.0.tgz#8fddb6adc3cdc955c93e2a87f61cfd350d5d119a" + integrity sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g== dependencies: detect-newline "^3.0.0" -jest-each@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-27.5.1.tgz#5bc87016f45ed9507fed6e4702a5b468a5b2c44e" - integrity sha512-1Ff6p+FbhT/bXQnEouYy00bkNSY7OUpfIcmdl8vZ31A1UUaurOLPA8a8BbJOF2RDUElwJhmeaV7LnagI+5UwNQ== +jest-each@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-each/-/jest-each-29.7.0.tgz#162a9b3f2328bdd991beaabffbb74745e56577d1" + integrity sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" chalk "^4.0.0" - jest-get-type "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - -jest-environment-jsdom@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-jsdom/-/jest-environment-jsdom-27.5.1.tgz#ea9ccd1fc610209655a77898f86b2b559516a546" - integrity sha512-TFBvkTC1Hnnnrka/fUb56atfDtJ9VMZ94JkjTbggl1PEpwrYtUBKMezB3inLmWqQsXYLcMwNoDQwoBTAvFfsfw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" - jsdom "^16.6.0" - -jest-environment-node@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-27.5.1.tgz#dedc2cfe52fab6b8f5714b4808aefa85357a365e" - integrity sha512-Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/types" "^27.5.1" + jest-get-type "^29.6.3" + jest-util "^29.7.0" + pretty-format "^29.7.0" + +jest-environment-node@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-environment-node/-/jest-environment-node-29.7.0.tgz#0b93e111dda8ec120bc8300e6d1fb9576e164376" + integrity sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" - jest-mock "^27.5.1" - jest-util "^27.5.1" + jest-mock "^29.7.0" + jest-util "^29.7.0" jest-extended@^0.11.5: version "0.11.5" @@ -9585,61 +9725,37 @@ jest-get-type@^24.9.0: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-24.9.0.tgz#1684a0c8a50f2e4901b6644ae861f579eed2ef0e" integrity sha512-lUseMzAley4LhIcpSP9Jf+fTrQ4a1yHQwLNeeVa2cEmbCGeoZAtYPOIv8JaxLD/sUpKxetKGP+gsHl8f8TSj8Q== -jest-get-type@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" - integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== +jest-get-type@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.6.3.tgz#36f499fdcea197c1045a127319c0481723908fd1" + integrity sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw== -jest-haste-map@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" - integrity sha512-7GgkZ4Fw4NFbMSDSpZwXeBiIbx+t/46nJ2QitkOjvwPYyZmqttu2TDSimMHP1EkPOi4xUZAN1doE5Vd25H4Jng== +jest-haste-map@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-29.7.0.tgz#3c2396524482f5a0506376e6c858c3bbcc17b104" + integrity sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA== dependencies: - "@jest/types" "^27.5.1" - "@types/graceful-fs" "^4.1.2" + "@jest/types" "^29.6.3" + "@types/graceful-fs" "^4.1.3" "@types/node" "*" anymatch "^3.0.3" fb-watchman "^2.0.0" graceful-fs "^4.2.9" - jest-regex-util "^27.5.1" - jest-serializer "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" + jest-regex-util "^29.6.3" + jest-util "^29.7.0" + jest-worker "^29.7.0" micromatch "^4.0.4" - walker "^1.0.7" + walker "^1.0.8" optionalDependencies: fsevents "^2.3.2" -jest-jasmine2@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-jasmine2/-/jest-jasmine2-27.5.1.tgz#a037b0034ef49a9f3d71c4375a796f3b230d1ac4" - integrity sha512-jtq7VVyG8SqAorDpApwiJJImd0V2wv1xzdheGHRGyuT7gZm6gG47QEskOlzsN1PG/6WNaCo5pmwMHDf3AkG2pQ== +jest-leak-detector@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz#5b7ec0dadfdfec0ca383dc9aa016d36b5ea4c728" + integrity sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw== dependencies: - "@jest/environment" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/node" "*" - chalk "^4.0.0" - co "^4.6.0" - expect "^27.5.1" - is-generator-fn "^2.0.0" - jest-each "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-runtime "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" - pretty-format "^27.5.1" - throat "^6.0.1" - -jest-leak-detector@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-leak-detector/-/jest-leak-detector-27.5.1.tgz#6ec9d54c3579dd6e3e66d70e3498adf80fde3fb8" - integrity sha512-POXfWAMvfU6WMUXftV4HolnJfnPOGEu10fscNCA76KBpRRhcMN2c8d3iT2pxQS3HLbA+5X4sOUPzYO2NUyIlHQ== - dependencies: - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" jest-matcher-utils@^22.0.0: version "22.4.3" @@ -9660,15 +9776,15 @@ jest-matcher-utils@^24.9.0: jest-get-type "^24.9.0" pretty-format "^24.9.0" -jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" - integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== +jest-matcher-utils@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz#ae8fec79ff249fd592ce80e3ee474e83a6c44f12" + integrity sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g== dependencies: chalk "^4.0.0" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - pretty-format "^27.5.1" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + pretty-format "^29.7.0" jest-message-util@^24.9.0: version "24.9.0" @@ -9684,28 +9800,29 @@ jest-message-util@^24.9.0: slash "^2.0.0" stack-utils "^1.0.1" -jest-message-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" - integrity sha512-rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g== +jest-message-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.7.0.tgz#8bc392e204e95dfe7564abbe72a404e28e51f7f3" + integrity sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w== dependencies: "@babel/code-frame" "^7.12.13" - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" "@types/stack-utils" "^2.0.0" chalk "^4.0.0" graceful-fs "^4.2.9" micromatch "^4.0.4" - pretty-format "^27.5.1" + pretty-format "^29.7.0" slash "^3.0.0" stack-utils "^2.0.3" -jest-mock@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" - integrity sha512-K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og== +jest-mock@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-29.7.0.tgz#4e836cf60e99c6fcfabe9f99d017f3fdd50a6347" + integrity sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" "@types/node" "*" + jest-util "^29.7.0" jest-pnp-resolver@^1.2.2: version "1.2.3" @@ -9717,181 +9834,172 @@ jest-regex-util@^24.9.0: resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-24.9.0.tgz#c13fb3380bde22bf6575432c493ea8fe37965636" integrity sha512-05Cmb6CuxaA+Ys6fjr3PhvV3bGQmO+2p2La4hFbU+W5uOc479f7FdLXUWXw4pYMAhhSZIuKHwSXSu6CsSBAXQA== -jest-regex-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-27.5.1.tgz#4da143f7e9fd1e542d4aa69617b38e4a78365b95" - integrity sha512-4bfKq2zie+x16okqDXjXn9ql2B0dScQu+vcwe4TvFVhkVyuWLqpZrZtXxLLWoXYgn0E87I6r6GRYHF7wFZBUvg== +jest-regex-util@^29.6.3: + version "29.6.3" + resolved "https://registry.yarnpkg.com/jest-regex-util/-/jest-regex-util-29.6.3.tgz#4a556d9c776af68e1c5f48194f4d0327d24e8a52" + integrity sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg== -jest-resolve-dependencies@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-27.5.1.tgz#d811ecc8305e731cc86dd79741ee98fed06f1da8" - integrity sha512-QQOOdY4PE39iawDn5rzbIePNigfe5B9Z91GDD1ae/xNDlu9kaat8QQ5EKnNmVWPV54hUdxCVwwj6YMgR2O7IOg== +jest-resolve-dependencies@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz#1b04f2c095f37fc776ff40803dc92921b1e88428" + integrity sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA== dependencies: - "@jest/types" "^27.5.1" - jest-regex-util "^27.5.1" - jest-snapshot "^27.5.1" + jest-regex-util "^29.6.3" + jest-snapshot "^29.7.0" -jest-resolve@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-27.5.1.tgz#a2f1c5a0796ec18fe9eb1536ac3814c23617b384" - integrity sha512-FFDy8/9E6CV83IMbDpcjOhumAQPDyETnU2KZ1O98DwTnz8AOBsW/Xv3GySr1mOZdItLR+zDZ7I/UdTFbgSOVCw== +jest-resolve@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-resolve/-/jest-resolve-29.7.0.tgz#64d6a8992dd26f635ab0c01e5eef4399c6bcbc30" + integrity sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA== dependencies: - "@jest/types" "^27.5.1" chalk "^4.0.0" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" + jest-haste-map "^29.7.0" jest-pnp-resolver "^1.2.2" - jest-util "^27.5.1" - jest-validate "^27.5.1" + jest-util "^29.7.0" + jest-validate "^29.7.0" resolve "^1.20.0" - resolve.exports "^1.1.0" + resolve.exports "^2.0.0" slash "^3.0.0" -jest-runner@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-27.5.1.tgz#071b27c1fa30d90540805c5645a0ec167c7b62e5" - integrity sha512-g4NPsM4mFCOwFKXO4p/H/kWGdJp9V8kURY2lX8Me2drgXqG7rrZAx5kv+5H7wtt/cdFIjhqYx1HrlqWHaOvDaQ== +jest-runner@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runner/-/jest-runner-29.7.0.tgz#809af072d408a53dcfd2e849a4c976d3132f718e" + integrity sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ== dependencies: - "@jest/console" "^27.5.1" - "@jest/environment" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/console" "^29.7.0" + "@jest/environment" "^29.7.0" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" - emittery "^0.8.1" + emittery "^0.13.1" graceful-fs "^4.2.9" - jest-docblock "^27.5.1" - jest-environment-jsdom "^27.5.1" - jest-environment-node "^27.5.1" - jest-haste-map "^27.5.1" - jest-leak-detector "^27.5.1" - jest-message-util "^27.5.1" - jest-resolve "^27.5.1" - jest-runtime "^27.5.1" - jest-util "^27.5.1" - jest-worker "^27.5.1" - source-map-support "^0.5.6" - throat "^6.0.1" - -jest-runtime@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-27.5.1.tgz#4896003d7a334f7e8e4a53ba93fb9bcd3db0a1af" - integrity sha512-o7gxw3Gf+H2IGt8fv0RiyE1+r83FJBRruoA+FXrlHw6xEyBsU8ugA6IPfTdVyA0w8HClpbK+DGJxH59UrNMx8A== - dependencies: - "@jest/environment" "^27.5.1" - "@jest/fake-timers" "^27.5.1" - "@jest/globals" "^27.5.1" - "@jest/source-map" "^27.5.1" - "@jest/test-result" "^27.5.1" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" + jest-docblock "^29.7.0" + jest-environment-node "^29.7.0" + jest-haste-map "^29.7.0" + jest-leak-detector "^29.7.0" + jest-message-util "^29.7.0" + jest-resolve "^29.7.0" + jest-runtime "^29.7.0" + jest-util "^29.7.0" + jest-watcher "^29.7.0" + jest-worker "^29.7.0" + p-limit "^3.1.0" + source-map-support "0.5.13" + +jest-runtime@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-runtime/-/jest-runtime-29.7.0.tgz#efecb3141cf7d3767a3a0cc8f7c9990587d3d817" + integrity sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ== + dependencies: + "@jest/environment" "^29.7.0" + "@jest/fake-timers" "^29.7.0" + "@jest/globals" "^29.7.0" + "@jest/source-map" "^29.6.3" + "@jest/test-result" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" + "@types/node" "*" chalk "^4.0.0" cjs-module-lexer "^1.0.0" collect-v8-coverage "^1.0.0" - execa "^5.0.0" glob "^7.1.3" graceful-fs "^4.2.9" - jest-haste-map "^27.5.1" - jest-message-util "^27.5.1" - jest-mock "^27.5.1" - jest-regex-util "^27.5.1" - jest-resolve "^27.5.1" - jest-snapshot "^27.5.1" - jest-util "^27.5.1" + jest-haste-map "^29.7.0" + jest-message-util "^29.7.0" + jest-mock "^29.7.0" + jest-regex-util "^29.6.3" + jest-resolve "^29.7.0" + jest-snapshot "^29.7.0" + jest-util "^29.7.0" slash "^3.0.0" strip-bom "^4.0.0" -jest-serializer@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-serializer/-/jest-serializer-27.5.1.tgz#81438410a30ea66fd57ff730835123dea1fb1f64" - integrity sha512-jZCyo6iIxO1aqUxpuBlwTDMkzOAJS4a3eYz3YzgxxVQFwLeSA7Jfq5cbqCY+JLvTDrWirgusI/0KwxKMgrdf7w== +jest-snapshot@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-29.7.0.tgz#c2c574c3f51865da1bb329036778a69bf88a6be5" + integrity sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw== dependencies: - "@types/node" "*" - graceful-fs "^4.2.9" - -jest-snapshot@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-snapshot/-/jest-snapshot-27.5.1.tgz#b668d50d23d38054a51b42c4039cab59ae6eb6a1" - integrity sha512-yYykXI5a0I31xX67mgeLw1DZ0bJB+gpq5IpSuCAoyDi0+BhgU/RIrL+RTzDmkNTchvDFWKP8lp+w/42Z3us5sA== - dependencies: - "@babel/core" "^7.7.2" + "@babel/core" "^7.11.6" "@babel/generator" "^7.7.2" + "@babel/plugin-syntax-jsx" "^7.7.2" "@babel/plugin-syntax-typescript" "^7.7.2" - "@babel/traverse" "^7.7.2" - "@babel/types" "^7.0.0" - "@jest/transform" "^27.5.1" - "@jest/types" "^27.5.1" - "@types/babel__traverse" "^7.0.4" - "@types/prettier" "^2.1.5" + "@babel/types" "^7.3.3" + "@jest/expect-utils" "^29.7.0" + "@jest/transform" "^29.7.0" + "@jest/types" "^29.6.3" babel-preset-current-node-syntax "^1.0.0" chalk "^4.0.0" - expect "^27.5.1" + expect "^29.7.0" graceful-fs "^4.2.9" - jest-diff "^27.5.1" - jest-get-type "^27.5.1" - jest-haste-map "^27.5.1" - jest-matcher-utils "^27.5.1" - jest-message-util "^27.5.1" - jest-util "^27.5.1" + jest-diff "^29.7.0" + jest-get-type "^29.6.3" + jest-matcher-utils "^29.7.0" + jest-message-util "^29.7.0" + jest-util "^29.7.0" natural-compare "^1.4.0" - pretty-format "^27.5.1" - semver "^7.3.2" + pretty-format "^29.7.0" + semver "^7.5.3" -jest-util@^27.0.0, jest-util@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-27.5.1.tgz#3ba9771e8e31a0b85da48fe0b0891fb86c01c2f9" - integrity sha512-Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw== +jest-util@^29.0.0, jest-util@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.7.0.tgz#23c2b62bfb22be82b44de98055802ff3710fc0bc" + integrity sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" "@types/node" "*" chalk "^4.0.0" ci-info "^3.2.0" graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-validate@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" - integrity sha512-thkNli0LYTmOI1tDB3FI1S1RTp/Bqyd9pTarJwL87OIBFuqEb5Apv5EaApEudYg4g86e3CT6kM0RowkhtEnCBQ== +jest-validate@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-29.7.0.tgz#7bf705511c64da591d46b15fce41400d52147d9c" + integrity sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw== dependencies: - "@jest/types" "^27.5.1" + "@jest/types" "^29.6.3" camelcase "^6.2.0" chalk "^4.0.0" - jest-get-type "^27.5.1" + jest-get-type "^29.6.3" leven "^3.1.0" - pretty-format "^27.5.1" + pretty-format "^29.7.0" -jest-watcher@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-27.5.1.tgz#71bd85fb9bde3a2c2ec4dc353437971c43c642a2" - integrity sha512-z676SuD6Z8o8qbmEGhoEUFOM1+jfEiL3DXHK/xgEiG2EyNYfFG60jluWcupY6dATjfEsKQuibReS1djInQnoVw== +jest-watcher@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-watcher/-/jest-watcher-29.7.0.tgz#7810d30d619c3a62093223ce6bb359ca1b28a2f2" + integrity sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g== dependencies: - "@jest/test-result" "^27.5.1" - "@jest/types" "^27.5.1" + "@jest/test-result" "^29.7.0" + "@jest/types" "^29.6.3" "@types/node" "*" ansi-escapes "^4.2.1" chalk "^4.0.0" - jest-util "^27.5.1" + emittery "^0.13.1" + jest-util "^29.7.0" string-length "^4.0.1" -jest-worker@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-27.5.1.tgz#8d146f0900e8973b106b6f73cc1e9a8cb86f8db0" - integrity sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg== +jest-worker@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-29.7.0.tgz#acad073acbbaeb7262bd5389e1bcf43e10058d4a" + integrity sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw== dependencies: "@types/node" "*" + jest-util "^29.7.0" merge-stream "^2.0.0" supports-color "^8.0.0" -jest@^27.3.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/jest/-/jest-27.5.1.tgz#dadf33ba70a779be7a6fc33015843b51494f63fc" - integrity sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ== +jest@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/jest/-/jest-29.7.0.tgz#994676fc24177f088f1c5e3737f5697204ff2613" + integrity sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw== dependencies: - "@jest/core" "^27.5.1" + "@jest/core" "^29.7.0" + "@jest/types" "^29.6.3" import-local "^3.0.2" - jest-cli "^27.5.1" + jest-cli "^29.7.0" js-sha256@^0.9.0: version "0.9.0" @@ -9953,39 +10061,6 @@ jscrypto@^1.0.3: resolved "https://registry.yarnpkg.com/jscrypto/-/jscrypto-1.0.3.tgz#598febca2a939d6f679c54f56e1fe364cef30cc9" integrity sha512-lryZl0flhodv4SZHOqyb1bx5sKcJxj0VBo0Kzb4QMAg3L021IC9uGpl0RCZa+9KJwlRGSK2C80ITcwbe19OKLQ== -jsdom@^16.6.0: - version "16.7.0" - resolved "https://registry.yarnpkg.com/jsdom/-/jsdom-16.7.0.tgz#918ae71965424b197c819f8183a754e18977b710" - integrity sha512-u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw== - dependencies: - abab "^2.0.5" - acorn "^8.2.4" - acorn-globals "^6.0.0" - cssom "^0.4.4" - cssstyle "^2.3.0" - data-urls "^2.0.0" - decimal.js "^10.2.1" - domexception "^2.0.1" - escodegen "^2.0.0" - form-data "^3.0.0" - html-encoding-sniffer "^2.0.1" - http-proxy-agent "^4.0.1" - https-proxy-agent "^5.0.0" - is-potential-custom-element-name "^1.0.1" - nwsapi "^2.2.0" - parse5 "6.0.1" - saxes "^5.0.1" - symbol-tree "^3.2.4" - tough-cookie "^4.0.0" - w3c-hr-time "^1.0.2" - w3c-xmlserializer "^2.0.0" - webidl-conversions "^6.1.0" - whatwg-encoding "^1.0.5" - whatwg-mimetype "^2.3.0" - whatwg-url "^8.5.0" - ws "^7.4.6" - xml-name-validator "^3.0.0" - jsesc@^2.5.1: version "2.5.2" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" @@ -10057,11 +10132,6 @@ json-stringify-safe@^5.0.1, json-stringify-safe@~5.0.1: resolved "https://registry.yarnpkg.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb" integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== -json5@2.x, json5@^2.2.2: - version "2.2.3" - resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" - integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== - json5@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593" @@ -10069,6 +10139,11 @@ json5@^1.0.2: dependencies: minimist "^1.2.0" +json5@^2.2.2, json5@^2.2.3: + version "2.2.3" + resolved "https://registry.yarnpkg.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283" + integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg== + jsonfile@^2.1.0: version "2.4.0" resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-2.4.0.tgz#3736a2b428b87bbda0cc83b53fa3d633a35c2ae8" @@ -10374,14 +10449,6 @@ levn@^0.4.1: prelude-ls "^1.2.1" type-check "~0.4.0" -levn@~0.3.0: - version "0.3.0" - resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee" - integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA== - dependencies: - prelude-ls "~1.1.2" - type-check "~0.3.2" - libsodium-sumo@^0.7.13: version "0.7.13" resolved "https://registry.yarnpkg.com/libsodium-sumo/-/libsodium-sumo-0.7.13.tgz#533b97d2be44b1277e59c1f9f60805978ac5542d" @@ -10483,7 +10550,7 @@ lodash.values@^4.3.0: resolved "https://registry.yarnpkg.com/lodash.values/-/lodash.values-4.3.0.tgz#a3a6c2b0ebecc5c2cba1c17e6e620fe81b53d347" integrity sha512-r0RwvdCv8id9TUblb/O7rYPwVy6lerCbcawrfdo9iC/1t1wsNMJknO79WNBgwkH0hIeJ08jmvvESbFpNb4jH0Q== -lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.1, lodash@^4.7.0: +lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.2.1: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -11331,6 +11398,11 @@ node-interval-tree@^1.3.3: dependencies: shallowequal "^1.0.2" +node-releases@^2.0.14: + version "2.0.14" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" + integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== + node-releases@^2.0.8: version "2.0.10" resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.10.tgz#c311ebae3b6a148c89b1813fd7c4d3c024ef537f" @@ -11414,11 +11486,6 @@ number-to-bn@1.7.0: bn.js "4.11.6" strip-hex-prefix "1.0.0" -nwsapi@^2.2.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.2.tgz#e5418863e7905df67d51ec95938d67bf801f0bb0" - integrity sha512-90yv+6538zuvUMnN+zCr8LuV6bPFdq50304114vJYJ8RDyK8D5O9Phpbd6SZWgI7PwzmmfN1upeOJlvybDSgCw== - o3@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/o3/-/o3-1.0.3.tgz#192ce877a882dfa6751f0412a865fafb2da1dac0" @@ -11568,18 +11635,6 @@ optimism@^0.16.1: "@wry/context" "^0.7.0" "@wry/trie" "^0.3.0" -optionator@^0.8.1: - version "0.8.3" - resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495" - integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA== - dependencies: - deep-is "~0.1.3" - fast-levenshtein "~2.0.6" - levn "~0.3.0" - prelude-ls "~1.1.2" - type-check "~0.3.2" - word-wrap "~1.2.3" - optionator@^0.9.1: version "0.9.1" resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499" @@ -11660,7 +11715,7 @@ p-limit@^2.0.0, p-limit@^2.2.0: dependencies: p-try "^2.0.0" -p-limit@^3.0.2: +p-limit@^3.0.2, p-limit@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b" integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ== @@ -11764,11 +11819,6 @@ parse-json@^5.2.0: json-parse-even-better-errors "^2.3.0" lines-and-columns "^1.1.6" -parse5@6.0.1: - version "6.0.1" - resolved "https://registry.yarnpkg.com/parse5/-/parse5-6.0.1.tgz#e1a1c085c569b3dc08321184f19a39cc27f7c30b" - integrity sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw== - parseurl@^1.3.3, parseurl@~1.3.3: version "1.3.3" resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4" @@ -12112,11 +12162,6 @@ prelude-ls@^1.2.1: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g== -prelude-ls@~1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" - integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w== - prepend-http@^1.0.1: version "1.0.4" resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" @@ -12157,14 +12202,14 @@ pretty-format@^24.9.0: ansi-styles "^3.2.0" react-is "^16.8.4" -pretty-format@^27.0.0, pretty-format@^27.5.1: - version "27.5.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" - integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== +pretty-format@^29.0.0, pretty-format@^29.7.0: + version "29.7.0" + resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.7.0.tgz#ca42c758310f365bfa71a0bda0a807160b776812" + integrity sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ== dependencies: - ansi-regex "^5.0.1" + "@jest/schemas" "^29.6.3" ansi-styles "^5.0.0" - react-is "^17.0.1" + react-is "^18.0.0" process-nextick-args@~2.0.0: version "2.0.1" @@ -12306,6 +12351,11 @@ pure-rand@^5.0.1: resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-5.0.5.tgz#bda2a7f6a1fc0f284d78d78ca5902f26f2ad35cf" integrity sha512-BwQpbqxSCBJVpamI6ydzcKqyFmnd5msMWUGvzXLm1aXvusbbgkbOto/EUPM00hjveJEaJtdbhUjKSzWRhQVkaw== +pure-rand@^6.0.0: + version "6.0.4" + resolved "https://registry.yarnpkg.com/pure-rand/-/pure-rand-6.0.4.tgz#50b737f6a925468679bff00ad20eade53f37d5c7" + integrity sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA== + qs@6.11.0: version "6.11.0" resolved "https://registry.yarnpkg.com/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" @@ -12415,10 +12465,10 @@ react-is@^16.13.1, react-is@^16.7.0, react-is@^16.8.4: resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ== -react-is@^17.0.1: - version "17.0.2" - resolved "https://registry.yarnpkg.com/react-is/-/react-is-17.0.2.tgz#e691d4a8e9c789365655539ab372762b0efb54f0" - integrity sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w== +react-is@^18.0.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" + integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== react@^18: version "18.2.0" @@ -12654,10 +12704,10 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg== -resolve.exports@^1.1.0: - version "1.1.1" - resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-1.1.1.tgz#05cfd5b3edf641571fd46fa608b610dda9ead999" - integrity sha512-/NtpHNDN7jWhAaQ9BvBUYZ6YTXsRBgfqWFWP7BZBaoMJO/I3G5OFzvTuWNlZC3aPjins1F+TNrLKsGbH4rfsRQ== +resolve.exports@^2.0.0: + version "2.0.2" + resolved "https://registry.yarnpkg.com/resolve.exports/-/resolve.exports-2.0.2.tgz#f8c934b8e6a13f539e38b7098e2e36134f01e800" + integrity sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg== resolve@1.17.0: version "1.17.0" @@ -12729,7 +12779,7 @@ rimraf@^2.2.8: dependencies: glob "^7.1.3" -rimraf@^3.0.0, rimraf@^3.0.2: +rimraf@^3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA== @@ -12881,13 +12931,6 @@ sax@>=0.6.0: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== -saxes@^5.0.1: - version "5.0.1" - resolved "https://registry.yarnpkg.com/saxes/-/saxes-5.0.1.tgz#eebab953fa3b7608dbe94e5dadb15c888fa6696d" - integrity sha512-5LBh1Tls8c9xgGjw3QrMwETmTMVk0oFgvrFSvWx62llR2hcEInrKNZ2GZCCuuy2lvWrdl5jhbpeqc5hRYKFOcw== - dependencies: - xmlchars "^2.2.0" - scheduler@^0.23.0: version "0.23.0" resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.0.tgz#ba8041afc3d30eb206a487b6b384002e4e61fdfe" @@ -12992,13 +13035,6 @@ semver@7.3.7: dependencies: lru-cache "^6.0.0" -semver@7.x, semver@^7.2.1, semver@^7.3.2, semver@^7.3.5, semver@^7.3.8: - version "7.3.8" - resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" - integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== - dependencies: - lru-cache "^6.0.0" - semver@^5.5.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" @@ -13009,6 +13045,25 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.3.0: resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== +semver@^6.3.1: + version "6.3.1" + resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4" + integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA== + +semver@^7.2.1, semver@^7.3.5, semver@^7.3.8: + version "7.3.8" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.8.tgz#07a78feafb3f7b32347d725e33de7e2a2df67798" + integrity sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A== + dependencies: + lru-cache "^6.0.0" + +semver@^7.5.3, semver@^7.5.4: + version "7.5.4" + resolved "https://registry.yarnpkg.com/semver/-/semver-7.5.4.tgz#483986ec4ed38e1c6c48c34894a9182dbff68a6e" + integrity sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA== + dependencies: + lru-cache "^6.0.0" + semver@~7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/semver/-/semver-7.0.0.tgz#5f3ca35761e47e05b206c6daff2cf814f0316b8e" @@ -13162,7 +13217,7 @@ side-channel@^1.0.4: get-intrinsic "^1.0.2" object-inspect "^1.9.0" -signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3: +signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3, signal-exit@^3.0.7: version "3.0.7" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9" integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ== @@ -13299,7 +13354,15 @@ source-map-resolve@^0.5.0: source-map-url "^0.4.0" urix "^0.1.0" -source-map-support@^0.5.13, source-map-support@^0.5.6: +source-map-support@0.5.13: + version "0.5.13" + resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.13.tgz#31b24a9c2e73c2de85066c0feb7d44767ed52932" + integrity sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w== + dependencies: + buffer-from "^1.0.0" + source-map "^0.6.0" + +source-map-support@^0.5.13: version "0.5.21" resolved "https://registry.yarnpkg.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f" integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w== @@ -13317,16 +13380,11 @@ source-map@^0.5.6: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc" integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ== -source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.1: +source-map@^0.6.0, source-map@^0.6.1: version "0.6.1" resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== -source-map@^0.7.3: - version "0.7.4" - resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.4.tgz#a9bbe705c9d8846f4e08ff6765acf0f1b0898656" - integrity sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA== - spark-md5@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.2.tgz#7952c4a30784347abcee73268e473b9c0167e3fc" @@ -13649,21 +13707,13 @@ supports-color@^5.3.0, supports-color@^5.5.0: dependencies: has-flag "^3.0.0" -supports-color@^7.0.0, supports-color@^7.1.0: +supports-color@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da" integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== dependencies: has-flag "^4.0.0" -supports-hyperlinks@^2.0.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/supports-hyperlinks/-/supports-hyperlinks-2.3.0.tgz#3943544347c1ff90b15effb03fc14ae45ec10624" - integrity sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA== - dependencies: - has-flag "^4.0.0" - supports-color "^7.0.0" - supports-preserve-symlinks-flag@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" @@ -13739,11 +13789,6 @@ symbol-observable@^4.0.0: resolved "https://registry.yarnpkg.com/symbol-observable/-/symbol-observable-4.0.0.tgz#5b425f192279e87f2f9b937ac8540d1984b39205" integrity sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ== -symbol-tree@^3.2.4: - version "3.2.4" - resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" - integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== - table@^6.0.9: version "6.8.1" resolved "https://registry.yarnpkg.com/table/-/table-6.8.1.tgz#ea2b71359fe03b017a5fbc296204471158080bdf" @@ -13781,14 +13826,6 @@ tar@^4.0.2: safe-buffer "^5.2.1" yallist "^3.1.1" -terminal-link@^2.0.0: - version "2.1.1" - resolved "https://registry.yarnpkg.com/terminal-link/-/terminal-link-2.1.1.tgz#14a64a27ab3c0df933ea546fba55f2d078edc994" - integrity sha512-un0FmiRUQNr5PJqy9kP7c40F5BOfpGlYTrxonDChEZB7pzZxRNp/bt+ymiy9/npwXya9KH99nJ/GXFIiUkYGFQ== - dependencies: - ansi-escapes "^4.2.1" - supports-hyperlinks "^2.0.0" - test-exclude@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/test-exclude/-/test-exclude-6.0.0.tgz#04a8698661d805ea6fa293b6cb9e63ac044ef15e" @@ -13818,11 +13855,6 @@ text-table@^0.2.0: resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4" integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw== -throat@^6.0.1: - version "6.0.2" - resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.2.tgz#51a3fbb5e11ae72e2cf74861ed5c8020f89f29fe" - integrity sha512-WKexMoJj3vEuK0yFEapj8y64V0A6xcuPuK9Gt1d0R+dzCSJc0lHqQytAbSB4cDAK0dWh4T0E2ETkoLE2WZ41OQ== - through2@3.0.2: version "3.0.2" resolved "https://registry.yarnpkg.com/through2/-/through2-3.0.2.tgz#99f88931cfc761ec7678b41d5d7336b5b6a07bf4" @@ -13964,7 +13996,7 @@ touch@^3.1.0: dependencies: nopt "~1.0.10" -"tough-cookie@^2.3.3 || ^3.0.1 || ^4.0.0", tough-cookie@^4.0.0: +"tough-cookie@^2.3.3 || ^3.0.1 || ^4.0.0": version "4.1.2" resolved "https://registry.yarnpkg.com/tough-cookie/-/tough-cookie-4.1.2.tgz#e53e84b85f24e0b65dd526f46628db6c85f6b874" integrity sha512-G9fqXWoYFZgTc2z8Q5zaHy/vJMjm+WV0AkAeHxVCQiEB1b+dGvWzFW6QV07cY5jQ5gRkeid2qIkzkxUnmoQZUQ== @@ -13982,13 +14014,6 @@ tough-cookie@~2.5.0: psl "^1.1.28" punycode "^2.1.1" -tr46@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-2.1.0.tgz#fa87aa81ca5d5941da8cbf1f9b749dc969a4e240" - integrity sha512-15Ih7phfcdP5YxqiB+iDtLoaTz4Nd35+IiAv0kQ5FNKHzXgdWqPoTIqEDDJmXceQt4JZk6lVPT8lnDlPpGDppw== - dependencies: - punycode "^2.1.1" - tr46@~0.0.3: version "0.0.3" resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" @@ -14041,19 +14066,19 @@ ts-invariant@^0.10.3: dependencies: tslib "^2.1.0" -ts-jest@^27.0.5: - version "27.1.5" - resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-27.1.5.tgz#0ddf1b163fbaae3d5b7504a1e65c914a95cff297" - integrity sha512-Xv6jBQPoBEvBq/5i2TeSG9tt/nqkbpcurrEG1b+2yfBrcJelOZF9Ml6dmyMh7bcW9JyFbRYpR5rxROSlBLTZHA== +ts-jest@^29.1.1: + version "29.1.1" + resolved "https://registry.yarnpkg.com/ts-jest/-/ts-jest-29.1.1.tgz#f58fe62c63caf7bfcc5cc6472082f79180f0815b" + integrity sha512-D6xjnnbP17cC85nliwGiL+tpoKN0StpgE0TeOjXQTU6MVCfsB4v7aW05CgQ/1OywGb0x/oy9hHFnN+sczTiRaA== dependencies: bs-logger "0.x" fast-json-stable-stringify "2.x" - jest-util "^27.0.0" - json5 "2.x" + jest-util "^29.0.0" + json5 "^2.2.3" lodash.memoize "4.x" make-error "1.x" - semver "7.x" - yargs-parser "20.x" + semver "^7.5.3" + yargs-parser "^21.0.1" ts-node@^10.0.0: version "10.9.1" @@ -14140,13 +14165,6 @@ type-check@^0.4.0, type-check@~0.4.0: dependencies: prelude-ls "^1.2.1" -type-check@~0.3.2: - version "0.3.2" - resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72" - integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg== - dependencies: - prelude-ls "~1.1.2" - type-detect@4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/type-detect/-/type-detect-4.0.8.tgz#7646fb5f18871cfbb7749e69bd39a6388eb7450c" @@ -14356,6 +14374,14 @@ update-browserslist-db@^1.0.10: escalade "^3.1.1" picocolors "^1.0.0" +update-browserslist-db@^1.0.13: + version "1.0.13" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz#3c5e4f5c083661bd38ef64b6328c26ed6c8248c4" + integrity sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg== + dependencies: + escalade "^3.1.1" + picocolors "^1.0.0" + upper-case-first@^1.1.0, upper-case-first@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115" @@ -14492,14 +14518,14 @@ v8-compile-cache@^2.0.3: resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee" integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA== -v8-to-istanbul@^8.1.0: - version "8.1.1" - resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-8.1.1.tgz#77b752fd3975e31bbcef938f85e9bd1c7a8d60ed" - integrity sha512-FGtKtv3xIpR6BYhvgH8MI/y78oT7d8Au3ww4QIxymrCtZEh5b8gCw2siywE+puhEmuWKDtmfrvF5UlB298ut3w== +v8-to-istanbul@^9.0.1: + version "9.2.0" + resolved "https://registry.yarnpkg.com/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz#2ed7644a245cddd83d4e087b9b33b3e62dfd10ad" + integrity sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA== dependencies: + "@jridgewell/trace-mapping" "^0.3.12" "@types/istanbul-lib-coverage" "^2.0.1" - convert-source-map "^1.6.0" - source-map "^0.7.3" + convert-source-map "^2.0.0" value-or-promise@1.0.11: version "1.0.11" @@ -14582,21 +14608,7 @@ vvs-sdk@^2.4.0: tiny-warning "^1.0.3" toformat "^2.0.0" -w3c-hr-time@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd" - integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ== - dependencies: - browser-process-hrtime "^1.0.0" - -w3c-xmlserializer@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" - integrity sha512-4tzD0mF8iSiMiNs30BiLO3EpfGLZUT2MSX/G+o7ZywDzliWQ3OPtTZ0PTC3B3ca1UAf4cJMHB+2Bf56EriJuRA== - dependencies: - xml-name-validator "^3.0.0" - -walker@^1.0.7: +walker@^1.0.8: version "1.0.8" resolved "https://registry.yarnpkg.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f" integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ== @@ -15054,16 +15066,6 @@ webidl-conversions@^3.0.0: resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== -webidl-conversions@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-5.0.0.tgz#ae59c8a00b121543a2acc65c0434f57b0fc11aff" - integrity sha512-VlZwKPCkYKxQgeSbH5EyngOmRp7Ww7I9rQLERETtf5ofd9pGeswWiOtogpEO850jziPRarreGxn5QIiTqpb2wA== - -webidl-conversions@^6.1.0: - version "6.1.0" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-6.1.0.tgz#9111b4d7ea80acd40f5270d666621afa78b69514" - integrity sha512-qBIvFLGiBpLjfwmYAaHPXsn+ho5xZnGvyGvsarywGNc8VyQJUMHJ8OBKGGrPER0okBeMDaan4mNBlgBROxuI8w== - websocket@^1.0.28, websocket@^1.0.32: version "1.0.34" resolved "https://registry.yarnpkg.com/websocket/-/websocket-1.0.34.tgz#2bdc2602c08bf2c82253b730655c0ef7dcab3111" @@ -15086,18 +15088,6 @@ websocket@^1.0.28, websocket@^1.0.32: typedarray-to-buffer "^3.1.5" yaeti "^0.0.6" -whatwg-encoding@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0" - integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw== - dependencies: - iconv-lite "0.4.24" - -whatwg-mimetype@^2.3.0: - version "2.3.0" - resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" - integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== - whatwg-mimetype@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-3.0.0.tgz#5fa1a7623867ff1af6ca3dc72ad6b8a4208beba7" @@ -15111,15 +15101,6 @@ whatwg-url@^5.0.0: tr46 "~0.0.3" webidl-conversions "^3.0.0" -whatwg-url@^8.0.0, whatwg-url@^8.5.0: - version "8.7.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-8.7.0.tgz#656a78e510ff8f3937bc0bcbe9f5c0ac35941b77" - integrity sha512-gAojqb/m9Q8a5IV96E3fHJM70AzCkgt4uXYX2O7EmuyOnLrViCQlsEBmF9UQIu3/aeAIp2U17rtbpZWNntQqdg== - dependencies: - lodash "^4.7.0" - tr46 "^2.1.0" - webidl-conversions "^6.1.0" - which-boxed-primitive@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6" @@ -15205,7 +15186,7 @@ winston@^3.3.3: triple-beam "^1.3.0" winston-transport "^4.5.0" -word-wrap@^1.2.3, word-wrap@~1.2.3: +word-wrap@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.4.tgz#cb4b50ec9aca570abd1f52f33cd45b6c61739a9f" integrity sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA== @@ -15237,15 +15218,13 @@ wrappy@1: resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f" integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ== -write-file-atomic@^3.0.0: - version "3.0.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-3.0.3.tgz#56bd5c5a5c70481cd19c571bd39ab965a5de56e8" - integrity sha512-AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q== +write-file-atomic@^4.0.2: + version "4.0.2" + resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-4.0.2.tgz#a9df01ae5b77858a027fd2e80768ee433555fcfd" + integrity sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg== dependencies: imurmurhash "^0.1.4" - is-typedarray "^1.0.0" - signal-exit "^3.0.2" - typedarray-to-buffer "^3.1.5" + signal-exit "^3.0.7" write-stream@~0.4.3: version "0.4.3" @@ -15325,11 +15304,6 @@ xhr@^2.0.4, xhr@^2.3.3: parse-headers "^2.0.0" xtend "^4.0.0" -xml-name-validator@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a" - integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw== - xml2js@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" @@ -15356,11 +15330,6 @@ xmlbuilder@~9.0.1: resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" integrity sha512-7YXTQc3P2l9+0rjaUbLwMKRhtmwg1M1eDf6nag7urC7pIPYLD9W/jmzQ4ptRSUbodw5S0jfoGTflLemQibSpeQ== -xmlchars@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" - integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== - xmlhttprequest@1.8.0: version "1.8.0" resolved "https://registry.yarnpkg.com/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz#67fe075c5c24fef39f9d65f5f7b7fe75171968fc" @@ -15445,11 +15414,6 @@ yargs-parser@20.2.4: resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.4.tgz#b42890f14566796f85ae8e3a25290d205f154a54" integrity sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA== -yargs-parser@20.x, yargs-parser@^20.2.2: - version "20.2.9" - resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" - integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== - yargs-parser@^11.1.1: version "11.1.1" resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-11.1.1.tgz#879a0865973bca9f6bab5cbdf3b1c67ec7d3bcf4" @@ -15458,6 +15422,16 @@ yargs-parser@^11.1.1: camelcase "^5.0.0" decamelize "^1.2.0" +yargs-parser@^20.2.2: + version "20.2.9" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee" + integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== + +yargs-parser@^21.0.1, yargs-parser@^21.1.1: + version "21.1.1" + resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-21.1.1.tgz#9096bceebf990d21bb31fa9516e0ede294a77d35" + integrity sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== + yargs-unparser@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/yargs-unparser/-/yargs-unparser-2.0.0.tgz#f131f9226911ae5d9ad38c432fe809366c2325eb" @@ -15468,7 +15442,7 @@ yargs-unparser@2.0.0: flat "^5.0.2" is-plain-obj "^2.1.0" -yargs@16.2.0, yargs@^16.1.0, yargs@^16.2.0: +yargs@16.2.0, yargs@^16.1.0: version "16.2.0" resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66" integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw== @@ -15499,6 +15473,19 @@ yargs@^12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" +yargs@^17.3.1: + version "17.7.2" + resolved "https://registry.yarnpkg.com/yargs/-/yargs-17.7.2.tgz#991df39aca675a192b816e1e0363f9d75d2aa269" + integrity sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w== + dependencies: + cliui "^8.0.1" + escalade "^3.1.1" + get-caller-file "^2.0.5" + require-directory "^2.1.1" + string-width "^4.2.3" + y18n "^5.0.5" + yargs-parser "^21.1.1" + yarn@^1.22.17, yarn@^1.22.19: version "1.22.19" resolved "https://registry.yarnpkg.com/yarn/-/yarn-1.22.19.tgz#4ba7fc5c6e704fce2066ecbfb0b0d8976fe62447" From 03f95c97e4c74d5a69e537329c21eaf705ad6c18 Mon Sep 17 00:00:00 2001 From: nikspz <83953535+nikspz@users.noreply.github.com> Date: Tue, 19 Dec 2023 19:37:19 +0700 Subject: [PATCH 60/67] fix-gateway-version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 41aa75ebd8..6e7da37e24 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hummingbot-gateway", - "version": "dev-1.23.0", + "version": "1.23.0", "description": "Middleware that helps Hummingbot clients access standardized DEX API endpoints on different blockchain networks", "main": "index.js", "license": "Apache-2.0", From 42b6908d5a431f4974fdc1e4669d99d4aadac5d2 Mon Sep 17 00:00:00 2001 From: nikspz <83953535+nikspz@users.noreply.github.com> Date: Tue, 19 Dec 2023 19:38:21 +0700 Subject: [PATCH 61/67] Update app.ts --- src/app.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/app.ts b/src/app.ts index b9768f4907..cc87758a31 100644 --- a/src/app.ts +++ b/src/app.ts @@ -112,7 +112,7 @@ export const startSwagger = async () => { export const startGateway = async () => { const port = ConfigManagerV2.getInstance().get('server.port'); - const gateway_version="dev-1.23.0"; // gateway version + const gateway_version="1.23.0"; // gateway version if (!ConfigManagerV2.getInstance().get('server.id')) { ConfigManagerV2.getInstance().set( 'server.id', From 2ac30af395fae7a6be9f945e99c11dff59b906e3 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 26 Dec 2023 22:07:16 +0700 Subject: [PATCH 62/67] Update XRPL markets and tokens for testnet --- src/templates/lists/xrpl_markets_testnet.json | 8 ++++++++ src/templates/lists/xrpl_tokens_testnet.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/templates/lists/xrpl_markets_testnet.json b/src/templates/lists/xrpl_markets_testnet.json index 806f37894e..14d9d1bac2 100644 --- a/src/templates/lists/xrpl_markets_testnet.json +++ b/src/templates/lists/xrpl_markets_testnet.json @@ -3,7 +3,9 @@ "id": 1, "marketId": "SOLO-XRP", "baseIssuer": "rHZwvHEs56GCmHupwjA4RY7oPA3EoAJWuN", + "baseCode": "534F4C4F00000000000000000000000000000000", "quoteIssuer": "", + "quoteCode": "XRP", "baseTokenID": 3, "quoteTokenID": 0 }, @@ -11,7 +13,9 @@ "id": 2, "marketId": "SOLO-USD", "baseIssuer": "rHZwvHEs56GCmHupwjA4RY7oPA3EoAJWuN", + "baseCode": "534F4C4F00000000000000000000000000000000", "quoteIssuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "quoteCode": "USD", "baseTokenID": 3, "quoteTokenID": 2 }, @@ -19,7 +23,9 @@ "id": 3, "marketId": "USD-XRP", "baseIssuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "baseCode": "USD", "quoteIssuer": "", + "quoteCode": "XRP", "baseTokenID": 2, "quoteTokenID": 0 }, @@ -27,7 +33,9 @@ "id": 4, "marketId": "USD-VND", "baseIssuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "baseCode": "USD", "quoteIssuer": "rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx", + "quoteCode": "VND", "baseTokenID": 2, "quoteTokenID": 1 } diff --git a/src/templates/lists/xrpl_tokens_testnet.json b/src/templates/lists/xrpl_tokens_testnet.json index 20eda9535b..c7026a615e 100644 --- a/src/templates/lists/xrpl_tokens_testnet.json +++ b/src/templates/lists/xrpl_tokens_testnet.json @@ -25,7 +25,7 @@ }, { "id": 3, - "code": "SOLO", + "code": "534F4C4F00000000000000000000000000000000", "issuer": "rHZwvHEs56GCmHupwjA4RY7oPA3EoAJWuN", "title": "Sologenic", "trustlines": 999, From 9b96c14a59c3dc54357f77c289c7851f53a2b620 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 26 Dec 2023 22:12:52 +0700 Subject: [PATCH 63/67] change nodeURL for testnet --- src/templates/xrpl.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/templates/xrpl.yml b/src/templates/xrpl.yml index f689206695..16706840fc 100644 --- a/src/templates/xrpl.yml +++ b/src/templates/xrpl.yml @@ -7,7 +7,7 @@ networks: marketListSource: "/home/gateway/conf/lists/xrpl_markets.json" nativeCurrencySymbol: "XRP" testnet: - nodeURL: wss://s.altnet.rippletest.net:51233/ + nodeURL: wss://testnet.xrpl-labs.com/ tokenListType: "FILE" tokenListSource: "/home/gateway/conf/lists/xrpl_tokens_testnet.json" marketListType: "FILE" From 842933f39e0c1eeb73c5bf56476ad625e1503fc8 Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 26 Dec 2023 23:09:01 +0700 Subject: [PATCH 64/67] Fix XRPL getReserveInfo error handling --- src/chains/xrpl/xrpl.ts | 18 +++++++++++------- test/connectors/xrpl/xrpl.routes.test.ts | 7 +++++++ 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/src/chains/xrpl/xrpl.ts b/src/chains/xrpl/xrpl.ts index d5d5f0587f..f35d5cdfc2 100644 --- a/src/chains/xrpl/xrpl.ts +++ b/src/chains/xrpl/xrpl.ts @@ -424,13 +424,17 @@ export class XRPL implements XRPLish { async getReserveInfo() { await this.ensureConnection(); - const reserveInfoResp = await this._client.request({ - command: 'server_info', - }); - this._reserveBaseXrp = - reserveInfoResp.result.info.validated_ledger?.reserve_base_xrp ?? 0; - this._reserveIncrementXrp = - reserveInfoResp.result.info.validated_ledger?.reserve_inc_xrp ?? 0; + try { + const reserveInfoResp = await this._client.request({ + command: 'server_info', + }); + this._reserveBaseXrp = + reserveInfoResp.result.info.validated_ledger?.reserve_base_xrp ?? 0; + this._reserveIncrementXrp = + reserveInfoResp.result.info.validated_ledger?.reserve_inc_xrp ?? 0; + } catch (error) { + throw new Error("Can't get reserve info: " + String(error)); + } } public get chain(): string { diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts index cbd6da15be..ad56328dfa 100644 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ b/test/connectors/xrpl/xrpl.routes.test.ts @@ -293,6 +293,7 @@ beforeAll(async () => { // eslint-disable-next-line @typescript-eslint/no-empty-function beforeEach(() => { patchConnect(); + patchGetReserveInfo(); patchFee(); patchOrderTracking(); patchCurrentBlockNumber(); @@ -403,6 +404,12 @@ const patchGasPrices = () => { }); }; +const patchGetReserveInfo = () => { + patch(xrpl, 'getReserveInfo', async () => { + return Promise.resolve(); + }); +}; + describe('GET /clob/markets', () => { it('should return 200 with proper request', async () => { patchMarkets(); From f277033583af8d579414354a373fffd9e7b6dcce Mon Sep 17 00:00:00 2001 From: mlguys Date: Tue, 26 Dec 2023 23:27:58 +0700 Subject: [PATCH 65/67] Update XRPL nodeURL and timeout values --- src/chains/xrpl/xrpl.controllers.ts | 1 + src/templates/xrpl.yml | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/chains/xrpl/xrpl.controllers.ts b/src/chains/xrpl/xrpl.controllers.ts index 4137115592..d8940f0d37 100644 --- a/src/chains/xrpl/xrpl.controllers.ts +++ b/src/chains/xrpl/xrpl.controllers.ts @@ -85,6 +85,7 @@ export class XRPLController { validateXRPLPollRequest(req); const initTime = Date.now(); + await xrplish.ensureConnection(); const currentLedgerIndex = await xrplish.getCurrentLedgerIndex(); const txData = await xrplish.getTransaction(req.txHash); const txStatus = await xrplish.getTransactionStatusCode(txData); diff --git a/src/templates/xrpl.yml b/src/templates/xrpl.yml index 16706840fc..f5072942e8 100644 --- a/src/templates/xrpl.yml +++ b/src/templates/xrpl.yml @@ -7,7 +7,7 @@ networks: marketListSource: "/home/gateway/conf/lists/xrpl_markets.json" nativeCurrencySymbol: "XRP" testnet: - nodeURL: wss://testnet.xrpl-labs.com/ + nodeURL: wss://s.altnet.rippletest.net:51233/ tokenListType: "FILE" tokenListSource: "/home/gateway/conf/lists/xrpl_tokens_testnet.json" marketListType: "FILE" @@ -21,8 +21,8 @@ networks: marketListSource: "/home/gateway/conf/lists/xrpl_markets_devnet.json" nativeCurrencySymbol: "XRP" network: "xrpl" -requestTimeout: 2000 -connectionTimeout: 2000 +requestTimeout: 5000 +connectionTimeout: 5000 feeCushion: 1.2 maxFeeXRP: "2" orderDbPath: "db/xrpl.level" From 9b59c8b33d5931bbf7d36dd35c3e512a818e37af Mon Sep 17 00:00:00 2001 From: Michael Feng Date: Tue, 26 Dec 2023 08:50:15 -0800 Subject: [PATCH 66/67] (fix) move xrpl tests to test-bronze --- .../chains/xrpl/xrpl.routes.test.ts | 0 .../chains/xrpl/xrpl.validator.test.ts | 0 .../connectors/xrpl/xrpl.e2e.test.ts | 2 +- .../connectors/xrpl/xrpl.routes.test.ts | 635 ++++++++++++++++++ 4 files changed, 636 insertions(+), 1 deletion(-) rename {test => test-bronze}/chains/xrpl/xrpl.routes.test.ts (100%) rename {test => test-bronze}/chains/xrpl/xrpl.validator.test.ts (100%) rename {test => test-bronze}/connectors/xrpl/xrpl.e2e.test.ts (99%) create mode 100644 test-bronze/connectors/xrpl/xrpl.routes.test.ts diff --git a/test/chains/xrpl/xrpl.routes.test.ts b/test-bronze/chains/xrpl/xrpl.routes.test.ts similarity index 100% rename from test/chains/xrpl/xrpl.routes.test.ts rename to test-bronze/chains/xrpl/xrpl.routes.test.ts diff --git a/test/chains/xrpl/xrpl.validator.test.ts b/test-bronze/chains/xrpl/xrpl.validator.test.ts similarity index 100% rename from test/chains/xrpl/xrpl.validator.test.ts rename to test-bronze/chains/xrpl/xrpl.validator.test.ts diff --git a/test/connectors/xrpl/xrpl.e2e.test.ts b/test-bronze/connectors/xrpl/xrpl.e2e.test.ts similarity index 99% rename from test/connectors/xrpl/xrpl.e2e.test.ts rename to test-bronze/connectors/xrpl/xrpl.e2e.test.ts index 60d87dc21d..8b6615870b 100644 --- a/test/connectors/xrpl/xrpl.e2e.test.ts +++ b/test-bronze/connectors/xrpl/xrpl.e2e.test.ts @@ -4,7 +4,7 @@ import { Wallet } from 'xrpl'; import { XRPL } from '../../../src/chains/xrpl/xrpl'; import { XRPLCLOB } from '../../../src/connectors/xrpl/xrpl'; import { getsSequenceNumberFromTxn } from '../../../src/connectors/xrpl/xrpl.utils'; -import { patch, unpatch } from '../../services/patch'; +import { patch, unpatch } from '../../../test/services/patch'; import { Order } from '../../../src/connectors/xrpl/xrpl.types'; let xrpl: XRPL; diff --git a/test-bronze/connectors/xrpl/xrpl.routes.test.ts b/test-bronze/connectors/xrpl/xrpl.routes.test.ts new file mode 100644 index 0000000000..ad56328dfa --- /dev/null +++ b/test-bronze/connectors/xrpl/xrpl.routes.test.ts @@ -0,0 +1,635 @@ +import request from 'supertest'; +import { gatewayApp } from '../../../src/app'; +import { XRPL } from '../../../src/chains/xrpl/xrpl'; +import { XRPLCLOB } from '../../../src/connectors/xrpl/xrpl'; +import {} from '../../../src/chains/xrpl/xrpl.order-tracker'; +import { Order } from '../../../src/connectors/xrpl/xrpl.types'; +import { patch, unpatch } from '../../services/patch'; + +let xrpl: XRPL; +let xrplCLOB: XRPLCLOB; + +const TX_HASH = + 'ADEC6FF35C49B9FF5D06741B5D219D194568919A57876E29296AC530EB25F1CB'; // noqa: mock +const MARKET = 'USD-XRP'; + +const MARKETS = { + 'USD-XRP': { + marketId: 'USD-XRP', + minimumOrderSize: 1, + tickSize: 1, + baseTransferRate: 1, + quoteTransferRate: 1, + baseIssuer: 'r999', + quoteIssuer: '', + baseCurrency: 'USD', + quoteCurrency: 'XRP', + }, + 'BTC-XRP': { + marketId: 'BTC-XRP', + minimumOrderSize: 1, + tickSize: 1, + baseTransferRate: 1, + quoteTransferRate: 1, + baseIssuer: 'r888', + quoteIssuer: '', + baseCurrency: 'BTC', + quoteCurrency: 'XRP', + }, +}; + +const ORDER = { + hash: 1234567, + marketId: 'USD-XRP', + price: '1', + amount: '1', + filledAmount: '0', + state: 'OPEN', + tradeType: 'BUY', + orderType: 'LIMIT', + createdAt: 1234567, + createdAtLedgerIndex: 1234567, + updatedAt: 1234567, + updatedAtLedgerIndex: 1234567, + associatedTxns: [TX_HASH], + associatedFills: [], +}; + +const ORDER_BOOK_1 = { + asks: [ + { + Account: 'rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E1282583CD33780', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + '5F8F23607A58A936A5F1D355A7A7491474AABB115C70F5773F3510082EE9B9CB', + PreviousTxnLgrSeq: 80327788, + Sequence: 95908936, + TakerGets: '60133000000', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '31328.481625431', + }, + index: 'BBA5F7052917489072A98DDBE46D3258C5A58BB00771FB784A315F6F9C27A9F2', + owner_funds: '60199074323', + quality: '0.000000520986507', + }, + { + Account: 'rBndiPPKs9k5rjBb7HsEiqXKrz8AfUnqWq', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E12826062F5399E', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + 'AEA372417F1BEA783D317ADA70ECE577424F186F663AD621C2B26350784611AC', + PreviousTxnLgrSeq: 80327786, + Sequence: 2591399, + TakerGets: '2618294750', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '1364.1054', + }, + index: '6F758711E36E2DBDD6806F123B0266FF7C2556D6918F068573E9B8B6F0FA44B0', + owner_funds: '2648294730', + quality: '0.0000005209900069501342', + }, + { + Account: 'r39rBggWHTUN95x31mAdxPCC7XnhuHRHor', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E12843D2E482F0A', + BookNode: '0', + Flags: 131072, + LedgerEntryType: 'Offer', + OwnerNode: '1024a', + PreviousTxnID: + '4C9178098581A43C88E8C42760D9CF86CCDC9B18B99DDA20E91CEA63BC156559', + PreviousTxnLgrSeq: 80327776, + Sequence: 3289832, + TakerGets: '404927402', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '211.046051649151', + }, + index: '41E60EC5FE55577CC6B9DDE07EF0A6659D2B069E25F12F75BCEDCF94E2007B7B', + owner_funds: '23953272168', + quality: '0.0000005211947885145866', + }, + ], + bids: [ + { + Account: 'rhG9NsvuiG9q3acfR8YbuQd5MabMVDocpc', + BookDirectory: + '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5B06E2259ADB6200', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '3', + PreviousTxnID: + 'F4D2C5D67C38C30E611815222D1402ECD438DE167252BF434E2CFA58BF69E804', + PreviousTxnLgrSeq: 80326053, + Sequence: 79612812, + TakerGets: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '5', + }, + TakerPays: '9687505', + index: '379709FE07C7209BF66F31255822049087E1B4977B556462E46D5F26183C2CC7', + owner_funds: '67.76153742499045', + quality: '1937501', + }, + { + Account: 'rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah', + BookDirectory: + '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5B06E72B1C323523', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + '79759B2B346BADF16A3E0A7CC52F7EE77AAE356FAB04178F097329CAEBD25FB5', + PreviousTxnLgrSeq: 80327788, + Sequence: 95908935, + TakerGets: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '102932.4316', + }, + TakerPays: '200000000000', + index: '2C61AF858D251FE41FDF7768B42C412C39A49FC562B063A1A40A4C175AD8C6A6', + owner_funds: '192823.71422378', + quality: '1943022.202926371', + }, + { + Account: 'r39rBggWHTUN95x31mAdxPCC7XnhuHRHor', + BookDirectory: + '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5B06E72BAB10809A', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '1024a', + PreviousTxnID: + 'A5F18BB1F514F879E6B896F2353E84E5AD67D537B494D5C3237B7AA7B93CA9EC', + PreviousTxnLgrSeq: 80327776, + Sequence: 3289831, + TakerGets: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '14.1299883707017', + }, + TakerPays: '27454915', + index: '65D89D4C9EE529A927E4C831EE873F94BEBCDF29D3CCADD676AE77F7B1283A60', + owner_funds: '537.8134698861974', + quality: '1943024.599859354', + }, + ], +}; + +const ORDER_BOOK_2 = { + asks: [ + { + Account: 'rhWVeCa6aL7U5argwYiUpMD9Gxtd6kxkNw', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE491CC6E836AE4000', + BookNode: '0', + Flags: 131072, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + '44A811F5EE120D2215A7F482BDC4C0AF048C82C895C69E7E0FEC6163FCA5A48E', + PreviousTxnLgrSeq: 33839380, + Sequence: 33834963, + TakerGets: '2000000', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '0.0000162', + }, + index: '772B28EBC0CB840329A49BF6B696EC454444560C1EA343EB1C29C9421889C45F', + owner_funds: '1383999940', + quality: '8100000000000000e-27', + }, + { + Account: 'rJHjA2WqqYWSh4ttCPW1b9aSyFkisfz93j', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE491CDAE1056DB731', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + '5AA8D0E7FAB6E1C854F8E69C3C84A095FC9FEFF3BF29072D2D435758CA52DB9E', + PreviousTxnLgrSeq: 17154522, + Sequence: 17130191, + TakerGets: '123123000000', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '1', + }, + index: 'BC91DD45090AC3C2955A1877706BB8E637E1AE9D4A5731A942A06C2887839DB0', + owner_funds: '967999808', + quality: '8121959341471537e-27', + taker_gets_funded: '967999808', + taker_pays_funded: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '0.007862055083128254', + }, + }, + { + Account: 'rMFwQW3F5EvvJ4mu9dBZ3kWnEwj9SHjoGd', + BookDirectory: + 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4D1D9B1F5D20D555', + BookNode: '0', + Flags: 0, + LedgerEntryType: 'Offer', + OwnerNode: '0', + PreviousTxnID: + 'CF1FDE17372D00219401EB4847B3281A2AF76485BEB0EDF7DF7A6D5DC387C6C6', + PreviousTxnLgrSeq: 16948251, + Sequence: 16801746, + TakerGets: '12000000', + TakerPays: { + currency: 'USD', + issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', + value: '1', + }, + index: '52F6B9F706D7324BBC6DC35EAFBE54E213930C99BD2432261D452E937C2817B8', + owner_funds: '175107078', + quality: '0.00000008333333333333333', + }, + ], + bids: [], +}; + +const GAS_PRICES = { + gasPrice: '500000000', + gasPriceToken: 'Token', + gasLimit: '1000', + gasCost: '100', +}; + +const INVALID_REQUEST = { + chain: 'unknown', + network: 'testnet', +}; + +beforeAll(async () => { + xrpl = XRPL.getInstance('testnet'); + xrplCLOB = XRPLCLOB.getInstance('xrpl', 'testnet'); + patchConnect(); +}); + +// eslint-disable-next-line @typescript-eslint/no-empty-function +beforeEach(() => { + patchConnect(); + patchGetReserveInfo(); + patchFee(); + patchOrderTracking(); + patchCurrentBlockNumber(); + patchMarkets(); +}); + +// afterEach(() => { +// unpatch(); +// }); + +afterAll(async () => { + await xrpl.close(); + unpatch(); +}); + +const patchConnect = () => { + patch(xrpl, 'ensureConnection', async () => { + return Promise.resolve(); + }); +}; + +const patchFee = () => { + patch(xrpl, 'getFee', () => { + return { + base: '1', + median: '1', + minimum: '1', + openLedger: '1', + }; + }); +}; + +const patchOrderTracking = () => { + patch(xrplCLOB, 'trackOrder', () => { + return Promise.resolve(); + }); +}; + +const patchGetOrder = () => { + patch(xrplCLOB, 'getOrder', () => { + return undefined; + }); +}; + +const patchCurrentBlockNumber = (withError: boolean = false) => { + patch(xrplCLOB, 'getCurrentBlockNumber', () => { + return withError ? -1 : 100; + }); +}; + +const patchMarkets = () => { + patch(xrplCLOB, 'parsedMarkets', MARKETS); +}; + +const patchGetMidPriceForMarket = () => { + patch(xrplCLOB, 'getMidPriceForMarket', () => { + return 1.0; + }); +}; + +const patchGetOrderBookFromXRPL = (orderbook: any) => { + patch(xrplCLOB, 'getOrderBookFromXRPL', () => { + return orderbook; + }); +}; + +const patchOrders = () => { + patch(xrplCLOB, '_orderStorage', { + async getOrdersByHash() { + const orders: Record = { [ORDER.hash]: ORDER }; + return orders; + }, + // async getOrderByMarketAndHash() { + // const orders: Record = { [ORDER.hash]: ORDER }; + // return orders; + // }, + async getOrdersByMarket() { + const orders: Record = { [ORDER.hash]: ORDER }; + return orders; + }, + }); +}; + +const patchSubmitTxn = () => { + patch(xrplCLOB, 'submitTxn', () => { + return { + prepared: { + Sequence: 1234567, + }, + signed: { + hash: TX_HASH, + }, + }; + }); +}; + +const patchGetWallet = () => { + patch(xrplCLOB, 'getWallet', () => { + return { + classicAddress: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', + }; + }); +}; + +const patchGasPrices = () => { + patch(xrplCLOB, 'getFeeEstimate', () => { + return GAS_PRICES; + }); +}; + +const patchGetReserveInfo = () => { + patch(xrpl, 'getReserveInfo', async () => { + return Promise.resolve(); + }); +}; + +describe('GET /clob/markets', () => { + it('should return 200 with proper request', async () => { + patchMarkets(); + await request(gatewayApp) + .get(`/clob/markets`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(Object.values(res.body.markets).length).toEqual(2); + }); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/markets`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('GET /clob/orderBook', () => { + it('should return 200 with proper request with ORDER_BOOK_1', async () => { + patchMarkets(); + patchGetOrderBookFromXRPL(ORDER_BOOK_1); + await request(gatewayApp) + .get(`/clob/orderBook`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.buys[0].price).toEqual('0.5161287658690241'); + }) + .expect((res) => expect(res.body.buys[0].quantity).toEqual('9.687505')) + .expect((res) => + expect(res.body.sells[0].price).toEqual('0.5209865069999999') + ) + .expect((res) => expect(res.body.sells[0].quantity).toEqual('60133')); + }); + + it('should return 200 with proper request with ORDER_BOOK_2', async () => { + patchMarkets(); + patchGetOrderBookFromXRPL(ORDER_BOOK_2); + await request(gatewayApp) + .get(`/clob/orderBook`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.buys[0]).toBeUndefined()) + .expect((res) => expect(res.body.sells[0].price).toEqual('0.0000081')) + .expect((res) => expect(res.body.sells[0].quantity).toEqual('2')); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/orderBook`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('GET /clob/ticker', () => { + it('should return 200 with proper request', async () => { + patchMarkets(); + patchGetMidPriceForMarket(); + await request(gatewayApp) + .get(`/clob/ticker`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.markets[0].baseCurrency).toEqual('USD'); + }) + .expect((res) => expect(res.body.markets[0].quoteCurrency).toEqual('XRP')) + .expect((res) => expect(res.body.markets[0].midprice).toEqual(1)); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/ticker`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('GET /clob/orders', () => { + it('should return 200 with proper request', async () => { + patchMarkets(); + patchOrders(); + await request(gatewayApp) + .get(`/clob/orders`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + market: MARKET, + address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock + orderId: '1234567', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => { + expect(res.body.orders.length).toEqual(1); + }); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/orders`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('POST /clob/orders', () => { + it('should return 200 with proper request', async () => { + patchMarkets(); + patchSubmitTxn(); + patchGetWallet(); + await request(gatewayApp) + .post(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock + market: MARKET, + price: '1', + amount: '1', + side: 'BUY', + orderType: 'LIMIT', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.txHash).toEqual(TX_HASH)); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .post(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('DELETE /clob/orders', () => { + it('should return 200 with proper request', async () => { + patchSubmitTxn(); + patchGetWallet(); + patchGetOrder(); + await request(gatewayApp) + .delete(`/clob/orders`) + .send({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock + market: MARKET, + orderId: '1234567', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.txHash).toEqual(TX_HASH)); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .delete(`/clob/orders`) + .send(INVALID_REQUEST) + .expect(404); + }); +}); + +describe('GET /clob/estimateGas', () => { + it('should return 200 with proper request', async () => { + patchGasPrices(); + patchGetOrder(); + await request(gatewayApp) + .get(`/clob/estimateGas`) + .query({ + chain: 'xrpl', + network: 'testnet', + connector: 'xrpl', + }) + .set('Accept', 'application/json') + .expect('Content-Type', /json/) + .expect(200) + .expect((res) => expect(res.body.gasPrice).toEqual(GAS_PRICES.gasPrice)); + }); + + it('should return 404 when parameters are invalid', async () => { + await request(gatewayApp) + .get(`/clob/estimateGas`) + .query(INVALID_REQUEST) + .expect(404); + }); +}); From 3f0480739474182c9d0550f90ed6156f5c16f1b5 Mon Sep 17 00:00:00 2001 From: Michael Feng Date: Tue, 26 Dec 2023 08:56:49 -0800 Subject: [PATCH 67/67] (fix) move routes test --- .../connectors/xrpl/xrpl.routes.test.ts | 2 +- test/connectors/xrpl/xrpl.routes.test.ts | 635 ------------------ 2 files changed, 1 insertion(+), 636 deletions(-) delete mode 100644 test/connectors/xrpl/xrpl.routes.test.ts diff --git a/test-bronze/connectors/xrpl/xrpl.routes.test.ts b/test-bronze/connectors/xrpl/xrpl.routes.test.ts index ad56328dfa..cbd321e44c 100644 --- a/test-bronze/connectors/xrpl/xrpl.routes.test.ts +++ b/test-bronze/connectors/xrpl/xrpl.routes.test.ts @@ -4,7 +4,7 @@ import { XRPL } from '../../../src/chains/xrpl/xrpl'; import { XRPLCLOB } from '../../../src/connectors/xrpl/xrpl'; import {} from '../../../src/chains/xrpl/xrpl.order-tracker'; import { Order } from '../../../src/connectors/xrpl/xrpl.types'; -import { patch, unpatch } from '../../services/patch'; +import { patch, unpatch } from '../../../test/services/patch'; let xrpl: XRPL; let xrplCLOB: XRPLCLOB; diff --git a/test/connectors/xrpl/xrpl.routes.test.ts b/test/connectors/xrpl/xrpl.routes.test.ts deleted file mode 100644 index ad56328dfa..0000000000 --- a/test/connectors/xrpl/xrpl.routes.test.ts +++ /dev/null @@ -1,635 +0,0 @@ -import request from 'supertest'; -import { gatewayApp } from '../../../src/app'; -import { XRPL } from '../../../src/chains/xrpl/xrpl'; -import { XRPLCLOB } from '../../../src/connectors/xrpl/xrpl'; -import {} from '../../../src/chains/xrpl/xrpl.order-tracker'; -import { Order } from '../../../src/connectors/xrpl/xrpl.types'; -import { patch, unpatch } from '../../services/patch'; - -let xrpl: XRPL; -let xrplCLOB: XRPLCLOB; - -const TX_HASH = - 'ADEC6FF35C49B9FF5D06741B5D219D194568919A57876E29296AC530EB25F1CB'; // noqa: mock -const MARKET = 'USD-XRP'; - -const MARKETS = { - 'USD-XRP': { - marketId: 'USD-XRP', - minimumOrderSize: 1, - tickSize: 1, - baseTransferRate: 1, - quoteTransferRate: 1, - baseIssuer: 'r999', - quoteIssuer: '', - baseCurrency: 'USD', - quoteCurrency: 'XRP', - }, - 'BTC-XRP': { - marketId: 'BTC-XRP', - minimumOrderSize: 1, - tickSize: 1, - baseTransferRate: 1, - quoteTransferRate: 1, - baseIssuer: 'r888', - quoteIssuer: '', - baseCurrency: 'BTC', - quoteCurrency: 'XRP', - }, -}; - -const ORDER = { - hash: 1234567, - marketId: 'USD-XRP', - price: '1', - amount: '1', - filledAmount: '0', - state: 'OPEN', - tradeType: 'BUY', - orderType: 'LIMIT', - createdAt: 1234567, - createdAtLedgerIndex: 1234567, - updatedAt: 1234567, - updatedAtLedgerIndex: 1234567, - associatedTxns: [TX_HASH], - associatedFills: [], -}; - -const ORDER_BOOK_1 = { - asks: [ - { - Account: 'rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah', - BookDirectory: - 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E1282583CD33780', - BookNode: '0', - Flags: 0, - LedgerEntryType: 'Offer', - OwnerNode: '0', - PreviousTxnID: - '5F8F23607A58A936A5F1D355A7A7491474AABB115C70F5773F3510082EE9B9CB', - PreviousTxnLgrSeq: 80327788, - Sequence: 95908936, - TakerGets: '60133000000', - TakerPays: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '31328.481625431', - }, - index: 'BBA5F7052917489072A98DDBE46D3258C5A58BB00771FB784A315F6F9C27A9F2', - owner_funds: '60199074323', - quality: '0.000000520986507', - }, - { - Account: 'rBndiPPKs9k5rjBb7HsEiqXKrz8AfUnqWq', - BookDirectory: - 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E12826062F5399E', - BookNode: '0', - Flags: 0, - LedgerEntryType: 'Offer', - OwnerNode: '0', - PreviousTxnID: - 'AEA372417F1BEA783D317ADA70ECE577424F186F663AD621C2B26350784611AC', - PreviousTxnLgrSeq: 80327786, - Sequence: 2591399, - TakerGets: '2618294750', - TakerPays: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '1364.1054', - }, - index: '6F758711E36E2DBDD6806F123B0266FF7C2556D6918F068573E9B8B6F0FA44B0', - owner_funds: '2648294730', - quality: '0.0000005209900069501342', - }, - { - Account: 'r39rBggWHTUN95x31mAdxPCC7XnhuHRHor', - BookDirectory: - 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4E12843D2E482F0A', - BookNode: '0', - Flags: 131072, - LedgerEntryType: 'Offer', - OwnerNode: '1024a', - PreviousTxnID: - '4C9178098581A43C88E8C42760D9CF86CCDC9B18B99DDA20E91CEA63BC156559', - PreviousTxnLgrSeq: 80327776, - Sequence: 3289832, - TakerGets: '404927402', - TakerPays: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '211.046051649151', - }, - index: '41E60EC5FE55577CC6B9DDE07EF0A6659D2B069E25F12F75BCEDCF94E2007B7B', - owner_funds: '23953272168', - quality: '0.0000005211947885145866', - }, - ], - bids: [ - { - Account: 'rhG9NsvuiG9q3acfR8YbuQd5MabMVDocpc', - BookDirectory: - '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5B06E2259ADB6200', - BookNode: '0', - Flags: 0, - LedgerEntryType: 'Offer', - OwnerNode: '3', - PreviousTxnID: - 'F4D2C5D67C38C30E611815222D1402ECD438DE167252BF434E2CFA58BF69E804', - PreviousTxnLgrSeq: 80326053, - Sequence: 79612812, - TakerGets: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '5', - }, - TakerPays: '9687505', - index: '379709FE07C7209BF66F31255822049087E1B4977B556462E46D5F26183C2CC7', - owner_funds: '67.76153742499045', - quality: '1937501', - }, - { - Account: 'rBTwLga3i2gz3doX6Gva3MgEV8ZCD8jjah', - BookDirectory: - '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5B06E72B1C323523', - BookNode: '0', - Flags: 0, - LedgerEntryType: 'Offer', - OwnerNode: '0', - PreviousTxnID: - '79759B2B346BADF16A3E0A7CC52F7EE77AAE356FAB04178F097329CAEBD25FB5', - PreviousTxnLgrSeq: 80327788, - Sequence: 95908935, - TakerGets: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '102932.4316', - }, - TakerPays: '200000000000', - index: '2C61AF858D251FE41FDF7768B42C412C39A49FC562B063A1A40A4C175AD8C6A6', - owner_funds: '192823.71422378', - quality: '1943022.202926371', - }, - { - Account: 'r39rBggWHTUN95x31mAdxPCC7XnhuHRHor', - BookDirectory: - '4627DFFCFF8B5A265EDBD8AE8C14A52325DBFEDAF4F5C32E5B06E72BAB10809A', - BookNode: '0', - Flags: 0, - LedgerEntryType: 'Offer', - OwnerNode: '1024a', - PreviousTxnID: - 'A5F18BB1F514F879E6B896F2353E84E5AD67D537B494D5C3237B7AA7B93CA9EC', - PreviousTxnLgrSeq: 80327776, - Sequence: 3289831, - TakerGets: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '14.1299883707017', - }, - TakerPays: '27454915', - index: '65D89D4C9EE529A927E4C831EE873F94BEBCDF29D3CCADD676AE77F7B1283A60', - owner_funds: '537.8134698861974', - quality: '1943024.599859354', - }, - ], -}; - -const ORDER_BOOK_2 = { - asks: [ - { - Account: 'rhWVeCa6aL7U5argwYiUpMD9Gxtd6kxkNw', - BookDirectory: - 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE491CC6E836AE4000', - BookNode: '0', - Flags: 131072, - LedgerEntryType: 'Offer', - OwnerNode: '0', - PreviousTxnID: - '44A811F5EE120D2215A7F482BDC4C0AF048C82C895C69E7E0FEC6163FCA5A48E', - PreviousTxnLgrSeq: 33839380, - Sequence: 33834963, - TakerGets: '2000000', - TakerPays: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '0.0000162', - }, - index: '772B28EBC0CB840329A49BF6B696EC454444560C1EA343EB1C29C9421889C45F', - owner_funds: '1383999940', - quality: '8100000000000000e-27', - }, - { - Account: 'rJHjA2WqqYWSh4ttCPW1b9aSyFkisfz93j', - BookDirectory: - 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE491CDAE1056DB731', - BookNode: '0', - Flags: 0, - LedgerEntryType: 'Offer', - OwnerNode: '0', - PreviousTxnID: - '5AA8D0E7FAB6E1C854F8E69C3C84A095FC9FEFF3BF29072D2D435758CA52DB9E', - PreviousTxnLgrSeq: 17154522, - Sequence: 17130191, - TakerGets: '123123000000', - TakerPays: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '1', - }, - index: 'BC91DD45090AC3C2955A1877706BB8E637E1AE9D4A5731A942A06C2887839DB0', - owner_funds: '967999808', - quality: '8121959341471537e-27', - taker_gets_funded: '967999808', - taker_pays_funded: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '0.007862055083128254', - }, - }, - { - Account: 'rMFwQW3F5EvvJ4mu9dBZ3kWnEwj9SHjoGd', - BookDirectory: - 'DFA3B6DDAB58C7E8E5D944E736DA4B7046C30E4F460FD9DE4D1D9B1F5D20D555', - BookNode: '0', - Flags: 0, - LedgerEntryType: 'Offer', - OwnerNode: '0', - PreviousTxnID: - 'CF1FDE17372D00219401EB4847B3281A2AF76485BEB0EDF7DF7A6D5DC387C6C6', - PreviousTxnLgrSeq: 16948251, - Sequence: 16801746, - TakerGets: '12000000', - TakerPays: { - currency: 'USD', - issuer: 'rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B', - value: '1', - }, - index: '52F6B9F706D7324BBC6DC35EAFBE54E213930C99BD2432261D452E937C2817B8', - owner_funds: '175107078', - quality: '0.00000008333333333333333', - }, - ], - bids: [], -}; - -const GAS_PRICES = { - gasPrice: '500000000', - gasPriceToken: 'Token', - gasLimit: '1000', - gasCost: '100', -}; - -const INVALID_REQUEST = { - chain: 'unknown', - network: 'testnet', -}; - -beforeAll(async () => { - xrpl = XRPL.getInstance('testnet'); - xrplCLOB = XRPLCLOB.getInstance('xrpl', 'testnet'); - patchConnect(); -}); - -// eslint-disable-next-line @typescript-eslint/no-empty-function -beforeEach(() => { - patchConnect(); - patchGetReserveInfo(); - patchFee(); - patchOrderTracking(); - patchCurrentBlockNumber(); - patchMarkets(); -}); - -// afterEach(() => { -// unpatch(); -// }); - -afterAll(async () => { - await xrpl.close(); - unpatch(); -}); - -const patchConnect = () => { - patch(xrpl, 'ensureConnection', async () => { - return Promise.resolve(); - }); -}; - -const patchFee = () => { - patch(xrpl, 'getFee', () => { - return { - base: '1', - median: '1', - minimum: '1', - openLedger: '1', - }; - }); -}; - -const patchOrderTracking = () => { - patch(xrplCLOB, 'trackOrder', () => { - return Promise.resolve(); - }); -}; - -const patchGetOrder = () => { - patch(xrplCLOB, 'getOrder', () => { - return undefined; - }); -}; - -const patchCurrentBlockNumber = (withError: boolean = false) => { - patch(xrplCLOB, 'getCurrentBlockNumber', () => { - return withError ? -1 : 100; - }); -}; - -const patchMarkets = () => { - patch(xrplCLOB, 'parsedMarkets', MARKETS); -}; - -const patchGetMidPriceForMarket = () => { - patch(xrplCLOB, 'getMidPriceForMarket', () => { - return 1.0; - }); -}; - -const patchGetOrderBookFromXRPL = (orderbook: any) => { - patch(xrplCLOB, 'getOrderBookFromXRPL', () => { - return orderbook; - }); -}; - -const patchOrders = () => { - patch(xrplCLOB, '_orderStorage', { - async getOrdersByHash() { - const orders: Record = { [ORDER.hash]: ORDER }; - return orders; - }, - // async getOrderByMarketAndHash() { - // const orders: Record = { [ORDER.hash]: ORDER }; - // return orders; - // }, - async getOrdersByMarket() { - const orders: Record = { [ORDER.hash]: ORDER }; - return orders; - }, - }); -}; - -const patchSubmitTxn = () => { - patch(xrplCLOB, 'submitTxn', () => { - return { - prepared: { - Sequence: 1234567, - }, - signed: { - hash: TX_HASH, - }, - }; - }); -}; - -const patchGetWallet = () => { - patch(xrplCLOB, 'getWallet', () => { - return { - classicAddress: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', - }; - }); -}; - -const patchGasPrices = () => { - patch(xrplCLOB, 'getFeeEstimate', () => { - return GAS_PRICES; - }); -}; - -const patchGetReserveInfo = () => { - patch(xrpl, 'getReserveInfo', async () => { - return Promise.resolve(); - }); -}; - -describe('GET /clob/markets', () => { - it('should return 200 with proper request', async () => { - patchMarkets(); - await request(gatewayApp) - .get(`/clob/markets`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => { - expect(Object.values(res.body.markets).length).toEqual(2); - }); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .get(`/clob/markets`) - .query(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('GET /clob/orderBook', () => { - it('should return 200 with proper request with ORDER_BOOK_1', async () => { - patchMarkets(); - patchGetOrderBookFromXRPL(ORDER_BOOK_1); - await request(gatewayApp) - .get(`/clob/orderBook`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - market: MARKET, - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => { - expect(res.body.buys[0].price).toEqual('0.5161287658690241'); - }) - .expect((res) => expect(res.body.buys[0].quantity).toEqual('9.687505')) - .expect((res) => - expect(res.body.sells[0].price).toEqual('0.5209865069999999') - ) - .expect((res) => expect(res.body.sells[0].quantity).toEqual('60133')); - }); - - it('should return 200 with proper request with ORDER_BOOK_2', async () => { - patchMarkets(); - patchGetOrderBookFromXRPL(ORDER_BOOK_2); - await request(gatewayApp) - .get(`/clob/orderBook`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - market: MARKET, - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.buys[0]).toBeUndefined()) - .expect((res) => expect(res.body.sells[0].price).toEqual('0.0000081')) - .expect((res) => expect(res.body.sells[0].quantity).toEqual('2')); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .get(`/clob/orderBook`) - .query(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('GET /clob/ticker', () => { - it('should return 200 with proper request', async () => { - patchMarkets(); - patchGetMidPriceForMarket(); - await request(gatewayApp) - .get(`/clob/ticker`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - market: MARKET, - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => { - expect(res.body.markets[0].baseCurrency).toEqual('USD'); - }) - .expect((res) => expect(res.body.markets[0].quoteCurrency).toEqual('XRP')) - .expect((res) => expect(res.body.markets[0].midprice).toEqual(1)); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .get(`/clob/ticker`) - .query(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('GET /clob/orders', () => { - it('should return 200 with proper request', async () => { - patchMarkets(); - patchOrders(); - await request(gatewayApp) - .get(`/clob/orders`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - market: MARKET, - address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock - orderId: '1234567', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => { - expect(res.body.orders.length).toEqual(1); - }); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .get(`/clob/orders`) - .query(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('POST /clob/orders', () => { - it('should return 200 with proper request', async () => { - patchMarkets(); - patchSubmitTxn(); - patchGetWallet(); - await request(gatewayApp) - .post(`/clob/orders`) - .send({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock - market: MARKET, - price: '1', - amount: '1', - side: 'BUY', - orderType: 'LIMIT', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.txHash).toEqual(TX_HASH)); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .post(`/clob/orders`) - .send(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('DELETE /clob/orders', () => { - it('should return 200 with proper request', async () => { - patchSubmitTxn(); - patchGetWallet(); - patchGetOrder(); - await request(gatewayApp) - .delete(`/clob/orders`) - .send({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - address: 'rh8LssQyeBdEXk7Zv86HxHrx8k2R2DBUrx', // noqa: mock - market: MARKET, - orderId: '1234567', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.txHash).toEqual(TX_HASH)); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .delete(`/clob/orders`) - .send(INVALID_REQUEST) - .expect(404); - }); -}); - -describe('GET /clob/estimateGas', () => { - it('should return 200 with proper request', async () => { - patchGasPrices(); - patchGetOrder(); - await request(gatewayApp) - .get(`/clob/estimateGas`) - .query({ - chain: 'xrpl', - network: 'testnet', - connector: 'xrpl', - }) - .set('Accept', 'application/json') - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.gasPrice).toEqual(GAS_PRICES.gasPrice)); - }); - - it('should return 404 when parameters are invalid', async () => { - await request(gatewayApp) - .get(`/clob/estimateGas`) - .query(INVALID_REQUEST) - .expect(404); - }); -});