From 4a9e9a2ee22b21bc9f239ed20db930bb4791567b Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Wed, 27 Dec 2023 17:29:26 +0800 Subject: [PATCH 01/13] chore: follow up on connectors --- src/chains/arbitrum/arbitrum.ts | 93 ++++++++++++++++++++++++ src/connectors/connectors.routes.ts | 10 +++ src/connectors/nftperp/nftperp.config.ts | 0 src/connectors/nftperp/nftperp.ts | 0 src/connectors/nftperp/nftperp_abi.json | 0 src/services/schema/nftperp-schema.json | 13 ++++ src/templates/nftperp.yml | 5 ++ test/connectors/nftperp/nftperp.test.ts | 0 8 files changed, 121 insertions(+) create mode 100644 src/chains/arbitrum/arbitrum.ts create mode 100644 src/connectors/nftperp/nftperp.config.ts create mode 100644 src/connectors/nftperp/nftperp.ts create mode 100644 src/connectors/nftperp/nftperp_abi.json create mode 100644 src/services/schema/nftperp-schema.json create mode 100644 src/templates/nftperp.yml create mode 100644 test/connectors/nftperp/nftperp.test.ts diff --git a/src/chains/arbitrum/arbitrum.ts b/src/chains/arbitrum/arbitrum.ts new file mode 100644 index 0000000000..14ff318245 --- /dev/null +++ b/src/chains/arbitrum/arbitrum.ts @@ -0,0 +1,93 @@ +import abi from '../ethereum/ethereum.abi.json'; +import { Contract, Transaction, Wallet } from 'ethers'; +import { Provider } from '@ethersproject/abstract-provider'; +import { Chain as Ethereumish } from '../../services/common-interfaces'; +import { ConfigManagerV2 } from '../../services/config-manager-v2'; +import { EthereumBase } from "../ethereum/ethereum-base"; +import { EVMController } from '../ethereum/evm.controllers'; +import { getEthereumConfig as getArbitrumConfig } from '../ethereum/ethereum.config'; +import { logger } from '../../services/logger'; + +export class Arbitrum extends EthereumBase implements Ethereumish { + private static _instances: { [name: string]: Arbitrum }; + private _chain: string; + private _gasPrice: number; + private _gasPriceRefreshInterval: number | null; + private _nativeTokenSymbol: string; + public controller; + + private constructor(network: string) { + const config = getArbitrumConfig('arbitrum', network); + super( + 'arbitrum', + config.network.chainID, + config.network.nodeURL, + config.network.tokenListSource, + config.network.tokenListType, + config.manualGasPrice, + config.gasLimitTransaction, + ConfigManagerV2.getInstance().get('server.nonceDbPath'), + ConfigManagerV2.getInstance().get('server.transactionDbPath') + ); + this._chain = config.network.name; + this._nativeTokenSymbol = config.nativeCurrencySymbol; + this._gasPrice = config.manualGasPrice; + this._gasPriceRefreshInterval = + config.network.gasPriceRefreshInterval !== undefined + ? config.network.gasPriceRefreshInterval + : null; + + this.updateGasPrice(); + this.controller = EVMController; + } + + // getters + + public get gasPrice(): number { + return this._gasPrice; + } + + public get nativeTokenSymbol(): string { + return this._nativeTokenSymbol; + } + + public get chain(): string { + return this._chain; + } + + /** + * Automatically update the prevailing gas price on the network from the connected RPC node. + */ + async updateGasPrice(): Promise { + if (this._gasPriceRefreshInterval === null) { + return; + } + + const gasPrice: number = (await this.provider.getGasPrice()).toNumber(); + + this._gasPrice = gasPrice * 1e-9; + + setTimeout( + this.updateGasPrice.bind(this), + this._gasPriceRefreshInterval * 1000 + ); + } + + getContract(tokenAddress: string, signerOrProvider?: Wallet | Provider) { + return new Contract(tokenAddress, abi.ERC20Abi, signerOrProvider); + } + + getSpender(reqSpender: string): string { + // WIP + let spender: string = ""; + return spender; + } + + // cancel transaction + async cancelTx(wallet: Wallet, nonce: number): Promise { + logger.info( + 'Canceling any existing transaction(s) with nonce number ' + nonce + '.' + ); + return super.cancelTxWithGasPrice(wallet, nonce, this._gasPrice * 2); + } +} diff --git a/src/connectors/connectors.routes.ts b/src/connectors/connectors.routes.ts index 9ea7187b97..206574dc38 100644 --- a/src/connectors/connectors.routes.ts +++ b/src/connectors/connectors.routes.ts @@ -162,6 +162,16 @@ export namespace ConnectorsRoutes { 'Enter your kujira account number (input 0 if unsure) >>> ', }, }, + { + name: 'nftperp', // SHOULD BE UPDATED + trading_type: DexalotCLOBConfig.config.tradingTypes('spot'), + chain_type: DexalotCLOBConfig.config.chainType, + available_networks: DexalotCLOBConfig.config.availableNetworks, + additional_add_wallet_prompts: { + api_key: + 'Enter a Dexalot API Key if you have one, otherwise hit return >>> ', + }, + }, ], }); }) diff --git a/src/connectors/nftperp/nftperp.config.ts b/src/connectors/nftperp/nftperp.config.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/connectors/nftperp/nftperp.ts b/src/connectors/nftperp/nftperp.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/connectors/nftperp/nftperp_abi.json b/src/connectors/nftperp/nftperp_abi.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/src/services/schema/nftperp-schema.json b/src/services/schema/nftperp-schema.json new file mode 100644 index 0000000000..28c2164e51 --- /dev/null +++ b/src/services/schema/nftperp-schema.json @@ -0,0 +1,13 @@ +{ + "$schema": "http://json-schema.org/draft-07/schema#", + "type": "object", + "properties": { + "allowedSlippage": { + "type": "string" + } + }, + "additionalProperties": false, + "required": [ + "allowedSlippage" + ] +} \ No newline at end of file diff --git a/src/templates/nftperp.yml b/src/templates/nftperp.yml new file mode 100644 index 0000000000..437be5ae69 --- /dev/null +++ b/src/templates/nftperp.yml @@ -0,0 +1,5 @@ +# Still Todo + +# how much the execution price is allowed to move unfavorably from the trade +# execution price. It uses a rational number for precision. +allowedSlippage: '2/100' \ No newline at end of file diff --git a/test/connectors/nftperp/nftperp.test.ts b/test/connectors/nftperp/nftperp.test.ts new file mode 100644 index 0000000000..e69de29bb2 From 1a6d4e4f434d005aa898270ae1f109b7be5956ca Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Wed, 3 Jan 2024 18:10:33 +0800 Subject: [PATCH 02/13] chore: getters --- src/chains/arbitrum/arbitrum.ts | 16 +++++++++++++++- src/services/config-manager-v2.ts | 2 +- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/src/chains/arbitrum/arbitrum.ts b/src/chains/arbitrum/arbitrum.ts index 14ff318245..c2436bbc37 100644 --- a/src/chains/arbitrum/arbitrum.ts +++ b/src/chains/arbitrum/arbitrum.ts @@ -41,8 +41,22 @@ export class Arbitrum extends EthereumBase implements Ethereumish { this.controller = EVMController; } - // getters + public static getInstance(network: string): Arbitrum { + if (Arbitrum._instances === undefined) { + Arbitrum._instances = {}; + } + if (!(network in Arbitrum._instances)) { + Arbitrum._instances[network] = new Arbitrum(network); + } + + return Arbitrum._instances[network]; + } + + public static getConnectedInstances(): { [name: string]: Arbitrum } { + return Arbitrum._instances; + } + // getters public get gasPrice(): number { return this._gasPrice; } diff --git a/src/services/config-manager-v2.ts b/src/services/config-manager-v2.ts index 5e11305117..8b0590dc98 100644 --- a/src/services/config-manager-v2.ts +++ b/src/services/config-manager-v2.ts @@ -221,7 +221,7 @@ export class ConfigurationNamespace { if (!this.#validator(configClone)) { throw new Error( `Cannot set ${this.id}.${configPath} to ${value}: ` + - 'JSON schema violation.' + 'JSON schema violation.' ); } From f4c5a6d5b8b83d753c5822b94dac287dea5ac468 Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Fri, 5 Jan 2024 22:31:56 +0800 Subject: [PATCH 03/13] feat: add nftperp-sdk,routes,config --- package.json | 5 +++-- src/chains/arbitrum/arbitrum.ts | 3 +-- src/connectors/connectors.routes.ts | 13 +++++-------- src/connectors/nftperp/nftperp.config.ts | 10 ++++++++++ src/connectors/nftperp/nftperp_abi.json | 0 src/services/schema/nftperp-schema.json | 10 ++-------- src/templates/nftperp.yml | 6 +----- 7 files changed, 22 insertions(+), 25 deletions(-) delete mode 100644 src/connectors/nftperp/nftperp_abi.json diff --git a/package.json b/package.json index 6e7da37e24..99b3df65c4 100644 --- a/package.json +++ b/package.json @@ -32,10 +32,11 @@ "@ethersproject/networks": "5.7.0", "@ethersproject/providers": "5.7.0", "@ethersproject/solidity": "5.7.0", - "@injectivelabs/sdk-ts": "^1.10.58", "@harmony-js/core": "^0.1.57", "@harmony-js/utils": "^0.1.56", "@improbable-eng/grpc-web": "^0.13.0", + "@injectivelabs/sdk-ts": "^1.10.58", + "@nftperp/sdk": "^5.3.0", "@pancakeswap/sdk": "^2.4.5", "@pancakeswap/swap-sdk-core": "^1.0.0", "@pancakeswap/v3-core": "^1.0.2", @@ -97,8 +98,8 @@ "web3": "^1.7.3", "winston": "^3.3.3", "winston-daily-rotate-file": "^4.5.5", - "xsswap-sdk": "^1.0.1", "xrpl": "^2.7.0", + "xsswap-sdk": "^1.0.1", "yarn": "^1.22.17" }, "devDependencies": { diff --git a/src/chains/arbitrum/arbitrum.ts b/src/chains/arbitrum/arbitrum.ts index c2436bbc37..55d38762e2 100644 --- a/src/chains/arbitrum/arbitrum.ts +++ b/src/chains/arbitrum/arbitrum.ts @@ -93,8 +93,7 @@ export class Arbitrum extends EthereumBase implements Ethereumish { getSpender(reqSpender: string): string { // WIP - let spender: string = ""; - return spender; + return reqSpender; } // cancel transaction diff --git a/src/connectors/connectors.routes.ts b/src/connectors/connectors.routes.ts index 206574dc38..d3d38abc22 100644 --- a/src/connectors/connectors.routes.ts +++ b/src/connectors/connectors.routes.ts @@ -21,6 +21,7 @@ import { CurveConfig } from './curve/curveswap.config'; import { PlentyConfig } from './plenty/plenty.config'; import { XRPLCLOBConfig } from './xrpl/xrpl.clob.config'; import { KujiraConfig } from './kujira/kujira.config'; +import { NftPerpConfig } from './nftperp/nftperp.config'; export namespace ConnectorsRoutes { export const router = Router(); @@ -163,14 +164,10 @@ export namespace ConnectorsRoutes { }, }, { - name: 'nftperp', // SHOULD BE UPDATED - trading_type: DexalotCLOBConfig.config.tradingTypes('spot'), - chain_type: DexalotCLOBConfig.config.chainType, - available_networks: DexalotCLOBConfig.config.availableNetworks, - additional_add_wallet_prompts: { - api_key: - 'Enter a Dexalot API Key if you have one, otherwise hit return >>> ', - }, + name: 'nftperp', + trading_type: NftPerpConfig.config.tradingTypes, + chain_type: NftPerpConfig.config.chainType, + available_networks: NftPerpConfig.config.availableNetworks }, ], }); diff --git a/src/connectors/nftperp/nftperp.config.ts b/src/connectors/nftperp/nftperp.config.ts index e69de29bb2..f4da20db51 100644 --- a/src/connectors/nftperp/nftperp.config.ts +++ b/src/connectors/nftperp/nftperp.config.ts @@ -0,0 +1,10 @@ +import { buildConfig, NetworkConfig } from '../../network/network.utils'; + +export namespace NftPerpConfig { + export const config: NetworkConfig = buildConfig( + 'nftperp', + ['MarketOrder', 'LimitOrder'], + [{ chain: 'ethereum', networks: ['arbitrum'] }], + 'EVM' + ); +} diff --git a/src/connectors/nftperp/nftperp_abi.json b/src/connectors/nftperp/nftperp_abi.json deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/src/services/schema/nftperp-schema.json b/src/services/schema/nftperp-schema.json index 28c2164e51..219874a1fc 100644 --- a/src/services/schema/nftperp-schema.json +++ b/src/services/schema/nftperp-schema.json @@ -1,13 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": { - "allowedSlippage": { - "type": "string" - } - }, + "properties": {}, "additionalProperties": false, - "required": [ - "allowedSlippage" - ] + "required": [] } \ No newline at end of file diff --git a/src/templates/nftperp.yml b/src/templates/nftperp.yml index 437be5ae69..1a1aebed6a 100644 --- a/src/templates/nftperp.yml +++ b/src/templates/nftperp.yml @@ -1,5 +1 @@ -# Still Todo - -# how much the execution price is allowed to move unfavorably from the trade -# execution price. It uses a rational number for precision. -allowedSlippage: '2/100' \ No newline at end of file +# WIP \ No newline at end of file From 39ef07481ffed7e86b4624ced0637f245c8e6465 Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Sun, 7 Jan 2024 22:32:00 +0800 Subject: [PATCH 04/13] feat: nftperpish interface --- src/connectors/nftperp/nftperp.ts | 28 +++++++++++ src/services/common-interfaces.ts | 81 +++++++++++++++++++++++++++++++ 2 files changed, 109 insertions(+) diff --git a/src/connectors/nftperp/nftperp.ts b/src/connectors/nftperp/nftperp.ts index e69de29bb2..f290c726c5 100644 --- a/src/connectors/nftperp/nftperp.ts +++ b/src/connectors/nftperp/nftperp.ts @@ -0,0 +1,28 @@ +import { ethers } from "ethers"; +import { Arbitrum } from "../../chains/arbitrum/arbitrum"; +import { NftPerpConfig } from "./nftperp.config"; +import { Amm, PositionResponse } from "@nftperp/sdk/types"; + +export class NftPerp { + private static _instances: { [name: string]: NftPerp }; + private _chain: Arbitrum; + private _config: typeof NftPerpConfig.config; + private _ready: boolean = false; + private _sdk; SDK; + public ttl: any; + + private constructor(network: string) { + this._chain = Arbitrum.getInstance(network); + + + + + } + + async test() { + const wallet = new ethers.Wallet("aaa", {} as any); + const nftperp = new SDK({ wallet }); + await nftperp.getPosition(Amm.BAYC); + + } +} diff --git a/src/services/common-interfaces.ts b/src/services/common-interfaces.ts index b42d0fc16d..5acab652be 100644 --- a/src/services/common-interfaces.ts +++ b/src/services/common-interfaces.ts @@ -109,6 +109,7 @@ import { import { BalanceRequest } from '../network/network.requests'; import { TradeV2 } from '@traderjoe-xyz/sdk-v2'; import { CurveTrade } from '../connectors/curve/curve'; +import { Amm, Side, PositionResponse, TriggerType } from "@nftperp/sdk/types"; // TODO Check the possibility to have clob/solana/serum equivalents here // Check this link https://hummingbot.org/developers/gateway/building-gateway-connectors/#5-add-sdk-classes-to-uniswapish-interface @@ -630,6 +631,86 @@ export interface Perpish { ): Promise; } +export interface NftPerpish { + init(): Promise; + + ready(): boolean; + + /** + * Gets a list of supported amms + * @returns A list of supported amm + */ + getSupportedAmms(): string[]; + + /** + * Gets available Position + * @param amm The name of amm + * @returns + */ + getPosition(amm: Amm): Promise; + + /** + * Gets trading price + * @param amm The name of amm + * @returns The mark price + */ + getMarkPrice(amm: Amm): Promise; + + /** + * Gets index price (oracle price - as per marketplaces) + * @param amm The name of amm + * @returns The index price + */ + getIndexPrice(amm: Amm): Promise; + + /** + * Gets funding info + * @param amm The name of amm + * @returns The funding info + */ + getFundingRate(amm: Amm): Promise; + + /** + * Creates a market order + * @param amm The name of amm + * @param side Side.BUY or Side.SELL + * @param margin The margin value + * @param leverage The leverage value + * @param slippagePercent The slippage value + * @returns The transaction instance + */ + openMarketOrder(amm: Amm, side: Side, margin: number, leverage: number, slippagePercent?: number): Promise; + + /** + * Creates a limit order + * @param amm The name of amm + * @param side Side.BUY or Side.SELL + * @param price The limit order price + * @param margin The margin value + * @param leverage The leverage value + * @returns The transaction instance + */ + openLimitOrder(amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean): Promise; + + /** + * Creates a trigger order + * @param amm The name of amm + * @param price The trigger price + * @param size The execution size + * @param type SL or TP + * @returns The transaction instance + */ + openCreateOrder(amm: Amm, price: number, size: number, type: TriggerType): Promise; + + /** + * Closes position for a given amm + * @param amm The amm name + * @returns The transaction instance + */ + closePosition(amm: Amm, closePercent?: number, slippagePercent?: number): Promise; + +} + export interface BasicChainMethods { getSpender(reqSpender: string): string; gasPrice: number; From 1522ff3ece39eb4d5adbd32c276360ba49604c8b Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Sun, 7 Jan 2024 23:19:56 +0800 Subject: [PATCH 05/13] feat: mvp of nftperp --- src/connectors/nftperp/nftperp.ts | 88 +++++++++++++++++++++++++++---- src/services/common-interfaces.ts | 11 ++-- 2 files changed, 86 insertions(+), 13 deletions(-) diff --git a/src/connectors/nftperp/nftperp.ts b/src/connectors/nftperp/nftperp.ts index f290c726c5..4238f4bb47 100644 --- a/src/connectors/nftperp/nftperp.ts +++ b/src/connectors/nftperp/nftperp.ts @@ -1,28 +1,96 @@ -import { ethers } from "ethers"; +import { SDK } from "@nftperp/sdk"; import { Arbitrum } from "../../chains/arbitrum/arbitrum"; import { NftPerpConfig } from "./nftperp.config"; -import { Amm, PositionResponse } from "@nftperp/sdk/types"; +import { NftPerpish } from "../../services/common-interfaces"; +import { Wallet, Transaction } from "ethers"; +import { Amm, PositionResponse, Side, TriggerType } from "@nftperp/sdk/types"; -export class NftPerp { +export class NftPerp implements NftPerpish { private static _instances: { [name: string]: NftPerp }; private _chain: Arbitrum; private _config: typeof NftPerpConfig.config; private _ready: boolean = false; - private _sdk; SDK; + private _sdk: SDK; public ttl: any; - private constructor(network: string) { - this._chain = Arbitrum.getInstance(network); + private constructor(chain: string, network: string) { + if (chain === "arbitrum") { + this._chain = Arbitrum.getInstance(network); + } else throw Error("Chain not supported"); + this._config = NftPerpConfig.config; + } + + public async init(privateKey: string) { + + const provider = this._chain.provider; + const wallet = new Wallet(privateKey, provider); + this._sdk = new SDK({ wallet }); + + this._ready = true; + } + + public static getInstance(chain: string, network: string): NftPerp { + if (NftPerp._instances === undefined) { + NftPerp._instances = {}; + } + if (!(chain + network in NftPerp._instances)) { + NftPerp._instances[chain + network] = new NftPerp(chain, network); + } + + return NftPerp._instances[chain + network]; + } + + public ready(): boolean { + return this._ready; + } + + public getSupportedAmms(): string[] { + return this._sdk.getSupportedAmms(); + } + + public async getPosition(amm: Amm): Promise { + return await this._sdk.getPosition(amm); + } + public async getMarkPrice(amm: Amm): Promise { + return await this._sdk.getMarkPrice(amm); + } + public async getIndexPrice(amm: Amm): Promise { + return await this._sdk.getIndexPrice(amm); + } + public async getFundingRate(amm: Amm): Promise { + return await this._sdk.getFundingRate(amm); + } + public async openMarketOrder(amm: Amm, side: Side, margin: number, leverage: number, slippagePercent?: number): Promise { + const marketOrderTx = await this._sdk.createMarketOrder({ amm, side, margin, leverage, slippagePercent }); + + // MUST convert ContractTransactionResponse to Transaction instance + return marketOrderTx; } - async test() { - const wallet = new ethers.Wallet("aaa", {} as any); - const nftperp = new SDK({ wallet }); - await nftperp.getPosition(Amm.BAYC); + public async openLimitOrder(amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean): Promise { + const limitOrderTx = await this._sdk.createLimitOrder({ amm, side, price, margin, leverage, reduceOnly }); + // MUST convert ContractTransactionResponse to Transaction instance + return limitOrderTx; } + + public async openTriggerOrder(amm: Amm, price: number, size: number, type: TriggerType): Promise { + const triggerOrderTx = await this._sdk.createTriggerOrder({ amm, price, size, type }); + + // MUST convert ContractTransactionResponse to Transaction instance + return triggerOrderTx; + } + + public async closePosition(amm: Amm, closePercent?: number, slippagePercent?: number): Promise { + const closePositionTx = await this._sdk.closePosition({ amm, closePercent }); + + // MUST convert ContractTransactionResponse to Transaction instance + return closePositionTx; + + } + } diff --git a/src/services/common-interfaces.ts b/src/services/common-interfaces.ts index 5acab652be..4304517e25 100644 --- a/src/services/common-interfaces.ts +++ b/src/services/common-interfaces.ts @@ -5,7 +5,6 @@ import { Wallet, ContractInterface, BigNumber, - ethers, } from 'ethers'; import { Contract as XdcContract, @@ -632,7 +631,13 @@ export interface Perpish { } export interface NftPerpish { - init(): Promise; + + /** + * Initialize a nftperp instance. + * The private key is needed to create a sdk instance. + * @param privateKey The private key string + */ + init(privateKey: string): Promise; ready(): boolean; @@ -700,7 +705,7 @@ export interface NftPerpish { * @param type SL or TP * @returns The transaction instance */ - openCreateOrder(amm: Amm, price: number, size: number, type: TriggerType): Promise; + openTriggerOrder(amm: Amm, price: number, size: number, type: TriggerType): Promise; /** * Closes position for a given amm From 01c2d9404488550170b61508f2dbb69e9814d4d5 Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Fri, 12 Jan 2024 12:21:13 +0800 Subject: [PATCH 06/13] upgrade nftperp sdk version --- package.json | 4 +- src/connectors/nftperp/nftperp.ts | 91 +++-- src/connectors/pancakeswap/pancakeswap.ts | 8 +- src/services/common-interfaces.ts | 78 +++- yarn.lock | 420 ++++++++++++---------- 5 files changed, 377 insertions(+), 224 deletions(-) diff --git a/package.json b/package.json index 99b3df65c4..301cdc5907 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@harmony-js/utils": "^0.1.56", "@improbable-eng/grpc-web": "^0.13.0", "@injectivelabs/sdk-ts": "^1.10.58", - "@nftperp/sdk": "^5.3.0", + "@nftperp/sdk": "^6.0.2", "@pancakeswap/sdk": "^2.4.5", "@pancakeswap/swap-sdk-core": "^1.0.0", "@pancakeswap/v3-core": "^1.0.2", @@ -159,4 +159,4 @@ "resolutions": { "web3-utils": "1.7.3" } -} +} \ No newline at end of file diff --git a/src/connectors/nftperp/nftperp.ts b/src/connectors/nftperp/nftperp.ts index 4238f4bb47..b9d2c8d255 100644 --- a/src/connectors/nftperp/nftperp.ts +++ b/src/connectors/nftperp/nftperp.ts @@ -2,30 +2,23 @@ import { SDK } from "@nftperp/sdk"; import { Arbitrum } from "../../chains/arbitrum/arbitrum"; import { NftPerpConfig } from "./nftperp.config"; import { NftPerpish } from "../../services/common-interfaces"; -import { Wallet, Transaction } from "ethers"; +import { Wallet } from "ethers"; import { Amm, PositionResponse, Side, TriggerType } from "@nftperp/sdk/types"; export class NftPerp implements NftPerpish { private static _instances: { [name: string]: NftPerp }; private _chain: Arbitrum; - private _config: typeof NftPerpConfig.config; private _ready: boolean = false; private _sdk: SDK; - public ttl: any; + private _ttl: number; private constructor(chain: string, network: string) { if (chain === "arbitrum") { this._chain = Arbitrum.getInstance(network); } else throw Error("Chain not supported"); - this._config = NftPerpConfig.config; - } - - public async init(privateKey: string) { - - const provider = this._chain.provider; - const wallet = new Wallet(privateKey, provider); - this._sdk = new SDK({ wallet }); - + const config = NftPerpConfig.config; + this._sdk = new SDK(); + this._ttl = config.ttl; this._ready = true; } @@ -40,10 +33,19 @@ export class NftPerp implements NftPerpish { return NftPerp._instances[chain + network]; } + public get ttl(): number { + return this._ttl; + } + public ready(): boolean { return this._ready; } + public async init(): Promise { + // TODO: Add methods for an initial setup. + this._ready = true; + } + public getSupportedAmms(): string[] { return this._sdk.getSupportedAmms(); } @@ -64,32 +66,65 @@ export class NftPerp implements NftPerpish { return await this._sdk.getFundingRate(amm); } - public async openMarketOrder(amm: Amm, side: Side, margin: number, leverage: number, slippagePercent?: number): Promise { - const marketOrderTx = await this._sdk.createMarketOrder({ amm, side, margin, leverage, slippagePercent }); + public async openMarketOrder(wallet: Wallet, amm: Amm, side: Side, margin: number, leverage: number, slippagePercent?: number): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const tx = await sdk.createMarketOrder({ amm, side, margin, leverage, slippagePercent }); + return tx.hash; + } - // MUST convert ContractTransactionResponse to Transaction instance - return marketOrderTx; + public async openLimitOrder(wallet: Wallet, amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const tx = await sdk.createLimitOrder({ amm, side, price, margin, leverage, reduceOnly }); + return tx.hash; } - public async openLimitOrder(amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean): Promise { - const limitOrderTx = await this._sdk.createLimitOrder({ amm, side, price, margin, leverage, reduceOnly }); + public async updateLimitOrder(wallet: Wallet, id: number, amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const tx = await sdk.updateLimitOrder(id, { amm, side, price, margin, leverage, reduceOnly }); + return tx.hash; + } - // MUST convert ContractTransactionResponse to Transaction instance - return limitOrderTx; + public async deleteLimitOrder(wallet: Wallet, id: number): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const tx = await sdk.deleteLimitOrder(id); + return tx.hash; } - public async openTriggerOrder(amm: Amm, price: number, size: number, type: TriggerType): Promise { - const triggerOrderTx = await this._sdk.createTriggerOrder({ amm, price, size, type }); + public async openLimitOrderBatch(wallet: Wallet, params: { amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean }[]): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const tx = await sdk.createLimitOrderBatch(params); + return tx.hash; + } + + public async updateLimitOrderBatch(wallet: Wallet, ids: number[], params: { amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean }[]): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const tx = await sdk.updateLimitOrderBatch(ids, params); + return tx.hash; + } + + public async deleteLimitOrderBatch(wallet: Wallet, ids: number[]): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const tx = await sdk.deleteLimitOrderBatch(ids); + return tx.hash; + } + + public async openTriggerOrder(wallet: Wallet, amm: Amm, price: number, size: number, type: TriggerType): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const tx = await sdk.createTriggerOrder({ amm, price, size, type }); + return tx.hash; + } - // MUST convert ContractTransactionResponse to Transaction instance - return triggerOrderTx; + public async deleteTriggerOrder(wallet: Wallet, id: number): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const tx = await sdk.deleteTriggerOrder(id); + return tx.hash; } - public async closePosition(amm: Amm, closePercent?: number, slippagePercent?: number): Promise { - const closePositionTx = await this._sdk.closePosition({ amm, closePercent }); - // MUST convert ContractTransactionResponse to Transaction instance - return closePositionTx; + public async closePosition(wallet: Wallet, amm: Amm, closePercent?: number, slippagePercent?: number): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + const closePositionTx = await sdk.closePosition({ amm, closePercent, slippagePercent }); + return closePositionTx.hash; } diff --git a/src/connectors/pancakeswap/pancakeswap.ts b/src/connectors/pancakeswap/pancakeswap.ts index 0ea4ab6242..ec6a807df3 100644 --- a/src/connectors/pancakeswap/pancakeswap.ts +++ b/src/connectors/pancakeswap/pancakeswap.ts @@ -192,8 +192,8 @@ export class PancakeSwap implements Uniswapish { } logger.info( `Best trade for ${quoteToken.address}-${baseToken.address}: ` + - `${trades[0].executionPrice.invert().toFixed(6)} ` + - `${baseToken.name}.` + `${trades[0].executionPrice.invert().toFixed(6)} ` + + `${baseToken.name}.` ); const expectedAmount = trades[0].maximumAmountIn( @@ -245,8 +245,8 @@ export class PancakeSwap implements Uniswapish { } logger.info( `Best trade for ${baseToken.address}-${quoteToken.address}: ` + - `${trades[0].executionPrice.toFixed(6)}` + - `${baseToken.name}.` + `${trades[0].executionPrice.toFixed(6)}` + + `${baseToken.name}.` ); const expectedAmount = trades[0].minimumAmountOut( this.getAllowedSlippage(allowedSlippage) diff --git a/src/services/common-interfaces.ts b/src/services/common-interfaces.ts index 4304517e25..206beea764 100644 --- a/src/services/common-interfaces.ts +++ b/src/services/common-interfaces.ts @@ -632,6 +632,11 @@ export interface Perpish { export interface NftPerpish { + /** + * Default time-to-live for transactions, in seconds. + */ + ttl: number; + /** * Initialize a nftperp instance. * The private key is needed to create a sdk instance. @@ -677,42 +682,99 @@ export interface NftPerpish { /** * Creates a market order + * @param wallet The wallet account to execute a tx * @param amm The name of amm * @param side Side.BUY or Side.SELL * @param margin The margin value * @param leverage The leverage value * @param slippagePercent The slippage value - * @returns The transaction instance + * @returns The transaction hash */ - openMarketOrder(amm: Amm, side: Side, margin: number, leverage: number, slippagePercent?: number): Promise; + openMarketOrder(wallet: Wallet, amm: Amm, side: Side, margin: number, leverage: number, slippagePercent?: number): Promise; /** * Creates a limit order + * @param wallet The wallet account to execute a tx * @param amm The name of amm * @param side Side.BUY or Side.SELL * @param price The limit order price * @param margin The margin value * @param leverage The leverage value - * @returns The transaction instance + * @returns The transaction hash + */ + openLimitOrder(wallet: Wallet, amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean): Promise; + + /** + * Updates a given limit order + * @param wallet The wallet account to execute a tx + * @param id The order id + * @param amm The name of amm + * @param side Side.BUY or Side.SELL + * @param price The limit order price + * @param margin The margin value + * @param leverage The leverage value + * @returns The transaction hash + */ + updateLimitOrder(wallet: Wallet, id: number, amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean): Promise; + + /** + * Deletes a given limit order + * @param wallet The wallet account to execute a tx + * @param id The order id + * @returns The transaction hash + * */ + deleteLimitOrder(wallet: Wallet, id: number): Promise; + + /** + * Creates limit orders in batch + * @param params The batch param + * @returns The transaction hash + */ + openLimitOrderBatch(wallet: Wallet, params: { amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean }[]): Promise; + + /** + * Update limit orders in batch + * @param wallet The wallet account to execute a tx + * @param ids - The list of limit order id + * @param params - The list of update param + * @returns The transaction hash */ - openLimitOrder(amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean): Promise; + updateLimitOrderBatch(wallet: Wallet, ids: number[], params: { amm: Amm, side: Side, price: number, margin: number, leverage: number, reduceOnly?: boolean }[]): Promise; + + /** + * Delete limit orders in batch + * @param wallet The wallet account to execute a tx + * @param ids The list of limit order to delete + * @returns The transaction hash + */ + deleteLimitOrderBatch(wallet: Wallet, ids: number[]): Promise; /** * Creates a trigger order + * @param wallet The wallet account to execute a tx * @param amm The name of amm * @param price The trigger price * @param size The execution size * @param type SL or TP - * @returns The transaction instance + * @returns The transaction hash + */ + openTriggerOrder(wallet: Wallet, amm: Amm, price: number, size: number, type: TriggerType): Promise; + + /** + * Deletes a trigger order + * @param wallet The wallet account to execute a tx + * @param id The order id + * @return The transaction hash */ - openTriggerOrder(amm: Amm, price: number, size: number, type: TriggerType): Promise; + deleteTriggerOrder(wallet: Wallet, id: number): Promise; /** * Closes position for a given amm + * @param wallet The wallet account to execute a tx * @param amm The amm name - * @returns The transaction instance + * @returns The transaction hash */ - closePosition(amm: Amm, closePercent?: number, slippagePercent?: number): Promise; + closePosition(wallet: Wallet, amm: Amm, closePercent?: number, slippagePercent?: number): Promise; } diff --git a/yarn.lock b/yarn.lock index 6c5493e1fe..3b4c102c9d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1123,137 +1123,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-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/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-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/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-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/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-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/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-8c8fa272-01be-40ae-98b3-f9c504c21c1c-1705029690920/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-c0317ec5-739c-4398-9f60-076d978aed14-1705029690915/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-c0317ec5-739c-4398-9f60-076d978aed14-1705029690915/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-69fe89ae-bff9-4dac-b528-9cf6ee5742b5-1705029690922/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-69fe89ae-bff9-4dac-b528-9cf6ee5742b5-1705029690922/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-6f824778-acdd-4ae6-87bf-6f055333f3c3-1705029690919/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-78af6b05-e008-4433-badd-d360102dcdf0-1705029690920/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-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/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-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/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-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/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-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/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-912ca7e2-0a8b-47bd-b708-702e289b1c6a-1705029690925/node_modules/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1262,67 +1262,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-3f56ce67-daef-459d-99a6-9902c3d707ce-1705029690933/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-eff90c58-be95-466d-bc46-98f6149d747d-1705029690933/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-eff90c58-be95-466d-bc46-98f6149d747d-1705029690933/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-9595fb98-395a-462e-9c0b-654eb5fd5972-1705029690932/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-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/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-bb976102-ae53-4e5f-a3f2-3bde5d72f4ec-1705029690936/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-bb976102-ae53-4e5f-a3f2-3bde5d72f4ec-1705029690936/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-77a64e7c-5875-480e-a238-cf3c832ebb93-1705029690940/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-77a64e7c-5875-480e-a238-cf3c832ebb93-1705029690940/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-f4a17a24-e6d7-4885-81a8-bbe19881c061-1705029690939/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-f4a17a24-e6d7-4885-81a8-bbe19881c061-1705029690939/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-d0efb7d8-5020-4b6a-bd5d-9af59b78423a-1705029690944/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-d0efb7d8-5020-4b6a-bd5d-9af59b78423a-1705029690944/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-d0efb7d8-5020-4b6a-bd5d-9af59b78423a-1705029690944/node_modules/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1330,76 +1330,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-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/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-0b24efb9-2bb4-4270-9f26-3c0217b14eb6-1705029690958/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-0b24efb9-2bb4-4270-9f26-3c0217b14eb6-1705029690958/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-0b24efb9-2bb4-4270-9f26-3c0217b14eb6-1705029690958/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-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/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-8f2e2d79-ec20-494a-bfc5-138825cd3d2d-1705029690959/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-8f2e2d79-ec20-494a-bfc5-138825cd3d2d-1705029690959/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-8f2e2d79-ec20-494a-bfc5-138825cd3d2d-1705029690959/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-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/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-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/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-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/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" @@ -2540,6 +2540,15 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" +"@nftperp/sdk@^6.0.2": + version "6.0.2" + resolved "https://registry.yarnpkg.com/@nftperp/sdk/-/sdk-6.0.2.tgz#700a1858c591f0285382c9b919c950a405f2a7a7" + integrity sha512-Nve4EJstkW7O9vcUAI8tpMrjqDe32kZBOa5VuBHmtb+POKrU8Y8+VaNR7PQbhMJMxnh8RU2oKvcFh0hrKKqBcg== + dependencies: + axios "^1.6.4" + big.js "^6.2.1" + ethers "^6.9.2" + "@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" @@ -4170,6 +4179,11 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-11.11.6.tgz#df929d1bb2eee5afdda598a41930fe50b43eaa6a" integrity sha512-Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ== +"@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" @@ -4740,6 +4754,11 @@ aes-js@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" @@ -5251,6 +5270,15 @@ axios@^1.6.0: form-data "^4.0.0" proxy-from-env "^1.1.0" +axios@^1.6.4: + version "1.6.5" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.5.tgz#2c090da14aeeab3770ad30c3a1461bc970fb0cd8" + integrity sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg== + dependencies: + follow-redirects "^1.15.4" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + babel-jest@^29.7.0: version "29.7.0" resolved "https://registry.yarnpkg.com/babel-jest/-/babel-jest-29.7.0.tgz#f4369919225b684c56085998ac63dbd05be020d5" @@ -7540,36 +7568,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-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" @@ -7638,6 +7666,19 @@ ethers@^4.0.32: uuid "2.0.1" xmlhttprequest "1.8.0" +ethers@^6.9.2: + version "6.9.2" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.9.2.tgz#6f4632f62e2350fa8354ff28624027a175ef85a4" + integrity sha512-YpkrtILnMQz5jSEsJQRTpduaGT/CXuLnUIuOYzHA0v/7c8IX91m2J48wSKjzGL5L9J/Us3tLoUdb+OwE3U+FFQ== + dependencies: + "@adraffy/ens-normalize" "1.10.0" + "@noble/curves" "1.2.0" + "@noble/hashes" "1.3.2" + "@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" @@ -8077,6 +8118,11 @@ follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.8, fo resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== +follow-redirects@^1.15.4: + version "1.15.4" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.4.tgz#cdc7d308bf6493126b17ea2191ea0ccf3e535adf" + integrity sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw== + for-each@^0.3.3: version "0.3.3" resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" @@ -14109,6 +14155,11 @@ tsconfig-paths@^3.14.1: minimist "^1.2.6" strip-bom "^3.0.0" +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@^1.8.1, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" @@ -15248,6 +15299,11 @@ ws@8.13.0, ws@^8.5.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.13.0.tgz#9a9fb92f93cf41512a0735c8f4dd09b8a1211cd0" integrity sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA== +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" From 787610aacf26b55a7f2ab3593cedf8ed0dd76277 Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Sun, 14 Jan 2024 18:40:46 +0800 Subject: [PATCH 07/13] feat: all done for nftperp, missing swagger --- src/app.ts | 3 +- src/chains/arbitrum/arbitrum.ts | 106 ------ src/connectors/nftperp/nftperp.ts | 9 +- src/connectors/uniswap/uniswap.controllers.ts | 2 +- src/nftperp/nftperp.controllers.ts | 311 ++++++++++++++++++ src/nftperp/nftperp.requests.ts | 99 ++++++ src/nftperp/nftperp.routes.ts | 241 ++++++++++++++ src/nftperp/nftperp.validators.ts | 57 ++++ src/services/common-interfaces.ts | 1 + src/services/connection-manager.ts | 9 +- src/services/schema/nftperp-schema.json | 6 +- src/services/schema/pancakeswap-schema.json | 45 ++- src/templates/nftperp.yml | 4 +- src/templates/root.yml | 4 + test/connectors/nftperp/nftperp.test.ts | 46 +++ 15 files changed, 815 insertions(+), 128 deletions(-) delete mode 100644 src/chains/arbitrum/arbitrum.ts create mode 100644 src/nftperp/nftperp.controllers.ts create mode 100644 src/nftperp/nftperp.requests.ts create mode 100644 src/nftperp/nftperp.routes.ts create mode 100644 src/nftperp/nftperp.validators.ts diff --git a/src/app.ts b/src/app.ts index cc87758a31..4d880b90eb 100644 --- a/src/app.ts +++ b/src/app.ts @@ -52,6 +52,7 @@ gatewayApp.use('/amm/liquidity', AmmLiquidityRoutes.router); gatewayApp.use('/wallet', WalletRoutes.router); gatewayApp.use('/clob', CLOBRoutes.router); gatewayApp.use('/clob/perp', PerpClobRoutes.router); +gatewayApp.use('/amm', AmmRoutes.router); // a simple route to test that the server is running gatewayApp.get('/', (_req: Request, res: Response) => { @@ -112,7 +113,7 @@ export const startSwagger = async () => { export const startGateway = async () => { const port = ConfigManagerV2.getInstance().get('server.port'); - const gateway_version="1.23.0"; // gateway version + const gateway_version = "1.23.0"; // gateway version if (!ConfigManagerV2.getInstance().get('server.id')) { ConfigManagerV2.getInstance().set( 'server.id', diff --git a/src/chains/arbitrum/arbitrum.ts b/src/chains/arbitrum/arbitrum.ts deleted file mode 100644 index 55d38762e2..0000000000 --- a/src/chains/arbitrum/arbitrum.ts +++ /dev/null @@ -1,106 +0,0 @@ -import abi from '../ethereum/ethereum.abi.json'; -import { Contract, Transaction, Wallet } from 'ethers'; -import { Provider } from '@ethersproject/abstract-provider'; -import { Chain as Ethereumish } from '../../services/common-interfaces'; -import { ConfigManagerV2 } from '../../services/config-manager-v2'; -import { EthereumBase } from "../ethereum/ethereum-base"; -import { EVMController } from '../ethereum/evm.controllers'; -import { getEthereumConfig as getArbitrumConfig } from '../ethereum/ethereum.config'; -import { logger } from '../../services/logger'; - -export class Arbitrum extends EthereumBase implements Ethereumish { - private static _instances: { [name: string]: Arbitrum }; - private _chain: string; - private _gasPrice: number; - private _gasPriceRefreshInterval: number | null; - private _nativeTokenSymbol: string; - public controller; - - private constructor(network: string) { - const config = getArbitrumConfig('arbitrum', network); - super( - 'arbitrum', - config.network.chainID, - config.network.nodeURL, - config.network.tokenListSource, - config.network.tokenListType, - config.manualGasPrice, - config.gasLimitTransaction, - ConfigManagerV2.getInstance().get('server.nonceDbPath'), - ConfigManagerV2.getInstance().get('server.transactionDbPath') - ); - this._chain = config.network.name; - this._nativeTokenSymbol = config.nativeCurrencySymbol; - this._gasPrice = config.manualGasPrice; - this._gasPriceRefreshInterval = - config.network.gasPriceRefreshInterval !== undefined - ? config.network.gasPriceRefreshInterval - : null; - - this.updateGasPrice(); - this.controller = EVMController; - } - - public static getInstance(network: string): Arbitrum { - if (Arbitrum._instances === undefined) { - Arbitrum._instances = {}; - } - if (!(network in Arbitrum._instances)) { - Arbitrum._instances[network] = new Arbitrum(network); - } - - return Arbitrum._instances[network]; - } - - public static getConnectedInstances(): { [name: string]: Arbitrum } { - return Arbitrum._instances; - } - - // getters - public get gasPrice(): number { - return this._gasPrice; - } - - public get nativeTokenSymbol(): string { - return this._nativeTokenSymbol; - } - - public get chain(): string { - return this._chain; - } - - /** - * Automatically update the prevailing gas price on the network from the connected RPC node. - */ - async updateGasPrice(): Promise { - if (this._gasPriceRefreshInterval === null) { - return; - } - - const gasPrice: number = (await this.provider.getGasPrice()).toNumber(); - - this._gasPrice = gasPrice * 1e-9; - - setTimeout( - this.updateGasPrice.bind(this), - this._gasPriceRefreshInterval * 1000 - ); - } - - getContract(tokenAddress: string, signerOrProvider?: Wallet | Provider) { - return new Contract(tokenAddress, abi.ERC20Abi, signerOrProvider); - } - - getSpender(reqSpender: string): string { - // WIP - return reqSpender; - } - - // cancel transaction - async cancelTx(wallet: Wallet, nonce: number): Promise { - logger.info( - 'Canceling any existing transaction(s) with nonce number ' + nonce + '.' - ); - return super.cancelTxWithGasPrice(wallet, nonce, this._gasPrice * 2); - } -} diff --git a/src/connectors/nftperp/nftperp.ts b/src/connectors/nftperp/nftperp.ts index b9d2c8d255..ea52e92626 100644 --- a/src/connectors/nftperp/nftperp.ts +++ b/src/connectors/nftperp/nftperp.ts @@ -1,20 +1,20 @@ import { SDK } from "@nftperp/sdk"; -import { Arbitrum } from "../../chains/arbitrum/arbitrum"; import { NftPerpConfig } from "./nftperp.config"; import { NftPerpish } from "../../services/common-interfaces"; import { Wallet } from "ethers"; import { Amm, PositionResponse, Side, TriggerType } from "@nftperp/sdk/types"; +import { Ethereum } from "../../chains/ethereum/ethereum"; export class NftPerp implements NftPerpish { private static _instances: { [name: string]: NftPerp }; - private _chain: Arbitrum; + private _chain: Ethereum; private _ready: boolean = false; private _sdk: SDK; private _ttl: number; private constructor(chain: string, network: string) { - if (chain === "arbitrum") { - this._chain = Arbitrum.getInstance(network); + if (chain === "ethereum") { + this._chain = Ethereum.getInstance(network); } else throw Error("Chain not supported"); const config = NftPerpConfig.config; this._sdk = new SDK(); @@ -120,7 +120,6 @@ export class NftPerp implements NftPerpish { return tx.hash; } - public async closePosition(wallet: Wallet, amm: Amm, closePercent?: number, slippagePercent?: number): Promise { const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); const closePositionTx = await sdk.closePosition({ amm, closePercent, slippagePercent }); diff --git a/src/connectors/uniswap/uniswap.controllers.ts b/src/connectors/uniswap/uniswap.controllers.ts index 6dfc303591..dd3b118117 100644 --- a/src/connectors/uniswap/uniswap.controllers.ts +++ b/src/connectors/uniswap/uniswap.controllers.ts @@ -308,7 +308,7 @@ export async function trade( const price: Fractionish = tradeInfo.expectedTrade.trade.executionPrice; logger.info( `Expected execution price is ${price.toFixed(6)}, ` + - `limit price is ${limitPrice}.` + `limit price is ${limitPrice}.` ); if ( limitPrice && diff --git a/src/nftperp/nftperp.controllers.ts b/src/nftperp/nftperp.controllers.ts new file mode 100644 index 0000000000..2204dd0cbc --- /dev/null +++ b/src/nftperp/nftperp.controllers.ts @@ -0,0 +1,311 @@ + +import { getConnector, getInitializedChain } from "../services/connection-manager"; +import { NftPerp } from "../connectors/nftperp/nftperp"; +import { Chain as Ethereumish, NetworkSelectionRequest } from '../services/common-interfaces'; +import { + ExecuteTxResponse, NftPerpCommonRequest, PositionResponse, PriceResponse, OpenMarketOrderRequest, OpenLimitOrderRequest, UpdateLimitOrderRequest, DeleteOrderRequest, + OpenLimitOrderBatchRequest, + UpdateLimitOrderBatchRequest, + DeleteOrdersRequest, + ClosePositionRequest, + OpenTriggerOrderRequest +} from "./nftperp.requests"; +import { logger } from '../services/logger'; +import { Wallet } from "ethers"; +import { HttpException, LOAD_WALLET_ERROR_CODE, LOAD_WALLET_ERROR_MESSAGE } from "../services/error-handler"; + + +export async function supportedAmms(req: NetworkSelectionRequest): Promise<{ amms: string[] }> { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + + const amms = connector.getSupportedAmms(); + return { amms }; +} + +export async function position(req: NftPerpCommonRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + + const positionInfo = await connector.getPosition(req.amm); + return positionInfo; +} + +export async function markPrice(req: NftPerpCommonRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + + const markPrice = await connector.getMarkPrice(req.amm); + return { price: markPrice } +} + +export async function indexPrice(req: NftPerpCommonRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + + const indexPrice = await connector.getIndexPrice(req.amm); + return { price: indexPrice } +} + +export async function fundingRate(req: NftPerpCommonRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + + const fundingRate = await connector.getFundingRate(req.amm); + return { price: fundingRate } +} + +export async function openMarketOrder(req: OpenMarketOrderRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.openMarketOrder(wallet, req.amm, req.side, req.margin, req.leverage, req.slippagePercent); + + return { txhash } +} + +export async function openLimitOrder(req: OpenLimitOrderRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.openLimitOrder(wallet, req.amm, req.side, req.price, req.margin, req.leverage, req.reduceOnly); + + return { txhash } +} + +export async function updateLimitOrder(req: UpdateLimitOrderRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.updateLimitOrder(wallet, req.id, req.amm, req.side, req.price, req.margin, req.leverage, req.reduceOnly); + + return { txhash } +} + +export async function deleteLimitOrder(req: DeleteOrderRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.deleteLimitOrder(wallet, req.id); + + return { txhash } +} + +export async function openLimitOrderBatch(req: OpenLimitOrderBatchRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.openLimitOrderBatch(wallet, req.params); + + return { txhash } +} + +export async function updateLimitOrderBatch(req: UpdateLimitOrderBatchRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.updateLimitOrderBatch(wallet, req.ids, req.params); + + return { txhash } +} + +export async function deleteLimitOrderBatch(req: DeleteOrdersRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.deleteLimitOrderBatch(wallet, req.ids); + + return { txhash } +} + +export async function openTriggerOrder(req: OpenTriggerOrderRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.openTriggerOrder(wallet, req.amm, req.price, req.size, req.type); + + return { txhash } +} + +export async function deleteTriggerOrder(req: DeleteOrderRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.deleteTriggerOrder(wallet, req.id); + + return { txhash } +} + +export async function closePosition(req: ClosePositionRequest): Promise { + const connector: NftPerp = await getConnector( + req.chain, + req.network, + req.connector + ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } + + const txhash = await connector.closePosition(wallet, req.amm, req.closePercent, req.slippagePercent); + + return { txhash } +} \ No newline at end of file diff --git a/src/nftperp/nftperp.requests.ts b/src/nftperp/nftperp.requests.ts new file mode 100644 index 0000000000..54df3ee5ac --- /dev/null +++ b/src/nftperp/nftperp.requests.ts @@ -0,0 +1,99 @@ +import { + NetworkSelectionRequest, +} from '../services/common-interfaces'; +import { Amm, Side, TriggerType } from "@nftperp/sdk/types"; + + +export interface SupportedAmmResponse { + amms: string[]; +} + +export interface NftPerpCommonRequest extends NetworkSelectionRequest { + amm: Amm +} + +export interface PositionResponse { + amm: Amm; + trader: string; + size: string; + side?: Side; + notional?: string; + margin?: string; + leverage?: string; + entryPrice?: string; + markPrice?: string; + liquidationPrice?: string; + unrealizedPnl?: string; + fundingPayment?: string; + lastPremiumFraction?: string; +}; + +export interface PriceResponse { + price: string; +} + +export interface OpenMarketOrderRequest extends NetworkSelectionRequest { + address: string, + amm: Amm, + side: Side, + margin: number, + leverage: number, + slippagePercent?: number +} + +export interface ExecuteTxResponse { + txhash: string; +} + +export interface LimitOrderBaseRequest { + amm: Amm, + side: Side, + price: number, + margin: number, + leverage: number, + reduceOnly?: boolean +} +export interface OpenLimitOrderRequest extends LimitOrderBaseRequest, NetworkSelectionRequest { + address: string, +} + +export interface OpenLimitOrderBatchRequest extends NetworkSelectionRequest { + address: string, + params: LimitOrderBaseRequest[] +} + +export interface UpdateLimitOrderRequest extends OpenLimitOrderRequest { + id: number +} + +export interface UpdateLimitOrderBatchRequest extends OpenLimitOrderBatchRequest { + ids: number[], +} + +export interface DeleteOrderRequest extends NetworkSelectionRequest { + address: string, + id: number +} + +export interface DeleteOrdersRequest extends NetworkSelectionRequest { + address: string, + ids: number[] +} + +export interface TriggerOrderBaseRequest { + amm: Amm, + price: number, + size: number, + type: TriggerType +} + +export interface OpenTriggerOrderRequest extends NetworkSelectionRequest, TriggerOrderBaseRequest { + address: string, +} + +export interface ClosePositionRequest extends NetworkSelectionRequest { + address: string, + amm: Amm, + closePercent?: number, + slippagePercent?: number +} diff --git a/src/nftperp/nftperp.routes.ts b/src/nftperp/nftperp.routes.ts new file mode 100644 index 0000000000..10e23f9b33 --- /dev/null +++ b/src/nftperp/nftperp.routes.ts @@ -0,0 +1,241 @@ +import { Router, Request, Response } from 'express'; +import { asyncHandler } from '../services/error-handler'; +import { + supportedAmms, + position, + markPrice, + indexPrice, + fundingRate, + openMarketOrder, + openLimitOrder, + updateLimitOrder, + deleteLimitOrder, + openLimitOrderBatch, + updateLimitOrderBatch, + deleteLimitOrderBatch, + openTriggerOrder, + deleteTriggerOrder, + closePosition, +} from './nftperp.controllers'; +import { + validateNetworkSelectionRequest, + validateNftPerpCommonRequest, + validateCommonWriteTxRequest, +} from './nftperp.validators'; +import { NetworkSelectionRequest } from '../services/common-interfaces'; +import { + NftPerpCommonRequest, + PriceResponse, + OpenMarketOrderRequest, + SupportedAmmResponse, + PositionResponse, + ExecuteTxResponse, + OpenLimitOrderRequest, + UpdateLimitOrderRequest, + DeleteOrderRequest, + OpenLimitOrderBatchRequest, + UpdateLimitOrderBatchRequest, + DeleteOrdersRequest, + ClosePositionRequest, + OpenTriggerOrderRequest, + +} from './nftperp.requests'; + +export namespace NftPerpRoutes { + export const router = Router(); + + router.post( + '/supported', + asyncHandler( + async ( + req: Request<{}, {}, NetworkSelectionRequest>, + res: Response + ) => { + validateNetworkSelectionRequest(req.body); + res.status(200).json(await supportedAmms(req.body)); + } + ) + ); + + router.post( + '/position', + asyncHandler( + async ( + req: Request<{}, {}, NftPerpCommonRequest>, + res: Response + ) => { + validateNftPerpCommonRequest(req.body); + res.status(200).json(await position(req.body)); + } + ) + ); + + router.post( + '/markPrice', + asyncHandler( + async ( + req: Request<{}, {}, NftPerpCommonRequest>, + res: Response + ) => { + validateNftPerpCommonRequest(req.body); + res.status(200).json(await markPrice(req.body)); + } + ) + ); + + router.post( + '/indexPrice', + asyncHandler( + async ( + req: Request<{}, {}, NftPerpCommonRequest>, + res: Response + ) => { + validateNftPerpCommonRequest(req.body); + res.status(200).json(await indexPrice(req.body)); + } + ) + ); + + router.post( + '/fundingRate', + asyncHandler( + async ( + req: Request<{}, {}, NftPerpCommonRequest>, + res: Response + ) => { + validateNftPerpCommonRequest(req.body); + res.status(200).json(await fundingRate(req.body)); + } + ) + ); + + router.post( + '/openMarketOrder', + asyncHandler( + async ( + req: Request<{}, {}, OpenMarketOrderRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await openMarketOrder(req.body)); + } + ) + ); + + router.post( + '/openLimitOrder', + asyncHandler( + async ( + req: Request<{}, {}, OpenLimitOrderRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await openLimitOrder(req.body)); + } + ) + ); + + router.post( + '/updateLimitOrder', + asyncHandler( + async ( + req: Request<{}, {}, UpdateLimitOrderRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await updateLimitOrder(req.body)); + } + ) + ); + + router.post( + '/deleteLimitOrder', + asyncHandler( + async ( + req: Request<{}, {}, DeleteOrderRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await deleteLimitOrder(req.body)); + } + ) + ); + + router.post( + '/openLimitOrderBatch', + asyncHandler( + async ( + req: Request<{}, {}, OpenLimitOrderBatchRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await openLimitOrderBatch(req.body)); + } + ) + ); + + router.post( + '/updateLimitOrderBatch', + asyncHandler( + async ( + req: Request<{}, {}, UpdateLimitOrderBatchRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await updateLimitOrderBatch(req.body)); + } + ) + ); + + router.post( + '/deleteLimitOrderBatch', + asyncHandler( + async ( + req: Request<{}, {}, DeleteOrdersRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await deleteLimitOrderBatch(req.body)); + } + ) + ); + + router.post( + '/openTriggerOrder', + asyncHandler( + async ( + req: Request<{}, {}, OpenTriggerOrderRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await openTriggerOrder(req.body)); + } + ) + ); + + router.post( + '/deleteTriggerOrder', + asyncHandler( + async ( + req: Request<{}, {}, DeleteOrderRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await deleteTriggerOrder(req.body)); + } + ) + ); + + router.post( + '/closePosition', + asyncHandler( + async ( + req: Request<{}, {}, ClosePositionRequest>, + res: Response + ) => { + validateCommonWriteTxRequest(req.body); + res.status(200).json(await closePosition(req.body)); + } + ) + ); +} diff --git a/src/nftperp/nftperp.validators.ts b/src/nftperp/nftperp.validators.ts new file mode 100644 index 0000000000..0a7087fe9a --- /dev/null +++ b/src/nftperp/nftperp.validators.ts @@ -0,0 +1,57 @@ +import { + mkValidator, + mkRequestValidator, + RequestValidator, + Validator, +} from '../services/validators'; +import { Amm } from "@nftperp/sdk/types"; +import { + validateAddress, + validateChain, + validateNetwork, +} from '../chains/ethereum/ethereum.validators'; + +export const invalidConnectorError: string = + 'The connector param is not a string.'; + +export const invalidSideError: string = + 'The side param must be a string of "BUY" or "SELL".'; + +export const invalidAmmError: string = + 'The amm param must be one of Amm enums'; + +export const validateConnector: Validator = mkValidator( + 'connector', + invalidConnectorError, + (val) => typeof val === 'string' +); + + +export const validateSide: Validator = mkValidator( + 'side', + invalidSideError, + (val) => typeof val === 'string' && (val === 'BUY' || val === 'SELL') +); + +export const validateAmm: Validator = mkValidator('amm', invalidAmmError, (val) => typeof val === 'string' && ((Object.values(Amm) as string[]).includes(val))) + +export const validateNetworkSelectionRequest: RequestValidator = mkRequestValidator([ + validateConnector, + validateChain, + validateNetwork +]); + +export const validateNftPerpCommonRequest: RequestValidator = mkRequestValidator([ + validateConnector, + validateChain, + validateNetwork, + validateAmm, +]); + +export const validateCommonWriteTxRequest: RequestValidator = mkRequestValidator([ + validateConnector, + validateChain, + validateNetwork, + validateAddress, +]); + diff --git a/src/services/common-interfaces.ts b/src/services/common-interfaces.ts index 206beea764..10bf5d75c1 100644 --- a/src/services/common-interfaces.ts +++ b/src/services/common-interfaces.ts @@ -5,6 +5,7 @@ import { Wallet, ContractInterface, BigNumber, + ethers } from 'ethers'; import { Contract as XdcContract, diff --git a/src/services/connection-manager.ts b/src/services/connection-manager.ts index 2000e494e4..59f9410f2d 100644 --- a/src/services/connection-manager.ts +++ b/src/services/connection-manager.ts @@ -42,6 +42,7 @@ import { Kujira } from '../chains/kujira/kujira'; import { KujiraCLOB } from '../connectors/kujira/kujira'; import { PancakeswapLP } from '../connectors/pancakeswap/pancakeswap.lp'; import { XRPLCLOB } from '../connectors/xrpl/xrpl'; +import { NftPerp } from '../connectors/nftperp/nftperp'; export type ChainUnion = | Algorand @@ -149,7 +150,8 @@ export type ConnectorUnion = | Plenty | XRPLCLOB | Curve - | KujiraCLOB; + | KujiraCLOB + | NftPerp; export type Connector = T extends Uniswapish ? Uniswapish @@ -228,7 +230,10 @@ export async function getConnector( connector === 'curve' ) { connectorInstance = Curve.getInstance(chain, network); - } else { + } else if (chain === 'ethereum' && network === 'arbitrum' && connector === 'nftperp') { + connectorInstance = NftPerp.getInstance(chain, network); + } + else { throw new Error('unsupported chain or connector'); } diff --git a/src/services/schema/nftperp-schema.json b/src/services/schema/nftperp-schema.json index 219874a1fc..ac1dd6759a 100644 --- a/src/services/schema/nftperp-schema.json +++ b/src/services/schema/nftperp-schema.json @@ -1,7 +1,11 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "type": "object", - "properties": {}, + "properties": { + "ttl": { + "type": "integer" + } + }, "additionalProperties": false, "required": [] } \ No newline at end of file diff --git a/src/services/schema/pancakeswap-schema.json b/src/services/schema/pancakeswap-schema.json index 221fc58649..c33f385e88 100644 --- a/src/services/schema/pancakeswap-schema.json +++ b/src/services/schema/pancakeswap-schema.json @@ -2,13 +2,28 @@ "$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" }, + "allowedSlippage": { + "type": "string" + }, + "gasLimitEstimate": { + "type": "integer" + }, + "ttl": { + "type": "integer" + }, + "maximumHops": { + "type": "integer" + }, + "useRouter": { + "type": "boolean" + }, "feeTier": { - "enum": ["LOWEST", "LOW", "MEDIUM", "HIGH"] + "enum": [ + "LOWEST", + "LOW", + "MEDIUM", + "HIGH" + ] }, "contractAddresses": { "type": "object", @@ -16,10 +31,18 @@ "^\\w+$": { "type": "object", "properties": { - "routerAddress": { "type": "string" }, - "pancakeswapV3SmartOrderRouterAddress": { "type": "string" }, - "pancakeswapV3NftManagerAddress": { "type": "string" }, - "pancakeswapV3QuoterV2ContractAddress": { "type": "string" } + "routerAddress": { + "type": "string" + }, + "pancakeswapV3SmartOrderRouterAddress": { + "type": "string" + }, + "pancakeswapV3NftManagerAddress": { + "type": "string" + }, + "pancakeswapV3QuoterV2ContractAddress": { + "type": "string" + } }, "required": [ "routerAddress", @@ -40,4 +63,4 @@ "maximumHops", "contractAddresses" ] -} +} \ No newline at end of file diff --git a/src/templates/nftperp.yml b/src/templates/nftperp.yml index 1a1aebed6a..529d502eb0 100644 --- a/src/templates/nftperp.yml +++ b/src/templates/nftperp.yml @@ -1 +1,3 @@ -# WIP \ No newline at end of file +# how long a trade is valid in seconds. After time passes openocean will not +# perform the trade, but the gas will still be spent. +ttl: 300 \ No newline at end of file diff --git a/src/templates/root.yml b/src/templates/root.yml index 39736c89cc..a80e4cd44d 100644 --- a/src/templates/root.yml +++ b/src/templates/root.yml @@ -119,3 +119,7 @@ configurations: $namespace kujira: configurationPath: kujira.yml schemaPath: kujira-schema.json + + $namespace nftperp: + configurationPath: nftperp.yml + schemaPath: nftperp-schema.json diff --git a/test/connectors/nftperp/nftperp.test.ts b/test/connectors/nftperp/nftperp.test.ts index e69de29bb2..b00baf9455 100644 --- a/test/connectors/nftperp/nftperp.test.ts +++ b/test/connectors/nftperp/nftperp.test.ts @@ -0,0 +1,46 @@ +import { NftPerp } from "../../../src/connectors/nftperp/nftperp"; +import { patchEVMNonceManager } from '../../evm.nonce.mock'; +import { unpatch } from '../../../test/services/patch'; +import { Ethereum } from "../../../src/chains/ethereum/ethereum"; + +let arbitrum: Ethereum; +let nftperp: NftPerp; + +beforeAll(async () => { + arbitrum = Ethereum.getInstance("arbitrum"); + patchEVMNonceManager(arbitrum.nonceManager); + await arbitrum.init(); + nftperp = NftPerp.getInstance("ethereum", "arbitrum"); + await nftperp.init(); +}); + +afterEach(() => { + unpatch(); +}) + +afterAll(async () => { + await arbitrum.close(); +}) + +describe("verify NftPerp getSupportedAmms", () => { + it("should return supported amms", () => { + // const supportedAmms = ["bayc", "milady", "ppg", "cdb", "cap", "sproto", "sofa", "degods"]; + const amms = nftperp.getSupportedAmms(); + expect(amms).toContain("bayc"); + expect(amms).toContain("milady"); + }) +}); +describe("verify NftPerp getPosition", () => { }); +describe("verify NftPerp getMarkPrice", () => { }); +describe("verify NftPerp getIndexPrice", () => { }); +describe("verify NftPerp getFundingRate", () => { }); +describe("verify NftPerp openMarketOrder", () => { }); +describe("verify NftPerp openLimitOrder", () => { }); +describe("verify NftPerp updateLimitOrder", () => { }); +describe("verify NftPerp deleteLimitOrder", () => { }); +describe("verify NftPerp openLimitOrderBatch", () => { }); +describe("verify NftPerp updateLimitOrderBatch", () => { }); +describe("verify NftPerp deleteLimitOrderBatch", () => { }); +describe("verify NftPerp openTriggerOrder", () => { }); +describe("verify NftPerp deleteTriggerOrder", () => { }); +describe("verify NftPerp closePosition", () => { }); From 95123c2252628241dd3ff3b98c3d5db8ac47dea3 Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Sun, 14 Jan 2024 18:41:42 +0800 Subject: [PATCH 08/13] fix: nftperp route --- src/app.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app.ts b/src/app.ts index 4d880b90eb..044ad54d5a 100644 --- a/src/app.ts +++ b/src/app.ts @@ -20,6 +20,7 @@ import { CLOBRoutes, PerpClobRoutes } from './clob/clob.routes'; import morgan from 'morgan'; import swaggerUi from 'swagger-ui-express'; import { ChainRoutes } from './chains/chain.routes'; +import { NftPerpRoutes } from './nftperp/nftperp.routes'; export const gatewayApp = express(); @@ -52,7 +53,7 @@ gatewayApp.use('/amm/liquidity', AmmLiquidityRoutes.router); gatewayApp.use('/wallet', WalletRoutes.router); gatewayApp.use('/clob', CLOBRoutes.router); gatewayApp.use('/clob/perp', PerpClobRoutes.router); -gatewayApp.use('/amm', AmmRoutes.router); +gatewayApp.use('/nftperp', NftPerpRoutes.router); // a simple route to test that the server is running gatewayApp.get('/', (_req: Request, res: Response) => { From c83e640a798030597e2d401860357435765f40f5 Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Sun, 14 Jan 2024 23:23:23 +0800 Subject: [PATCH 09/13] feat: swagger --- docs/swagger/definitions.yml | 432 +++++++++++++++++++++++++++++++- docs/swagger/nftperp-routes.yml | 315 +++++++++++++++++++++++ docs/swagger/swagger.yml | 2 + src/nftperp/nftperp.requests.ts | 10 +- 4 files changed, 753 insertions(+), 6 deletions(-) create mode 100644 docs/swagger/nftperp-routes.yml diff --git a/docs/swagger/definitions.yml b/docs/swagger/definitions.yml index ef441fec12..8aa13074e6 100644 --- a/docs/swagger/definitions.yml +++ b/docs/swagger/definitions.yml @@ -2103,4 +2103,434 @@ definitions: example: 0.5 txHash: type: 'string' - example: '0x...' \ No newline at end of file + example: '0x...' + + NftPerpSupportedRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + + NftPerpSupportedResponse: + type: 'object' + required: + - 'amms' + properties: + amms: + type: 'array' + items: 'string' + example: [ 'bayc', 'milady' ] + + NftPerpCommonRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'amm' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + amm: + type: 'string' + example: 'bayc' + + NftPerpPositionResponse: + type: 'object' + required: + - 'amm' + - 'trader' + - 'size' + properties: + amm: + type: 'string' + example: 'bayc' + trader: + type: 'string' + example: '0xaaa' + size: + type: 'string' + example: '1' + side: + type: 'string' + example: 'BUY' + notional: + type: 'string' + example: 'a' + margin: + type: 'string' + example: 'a' + leverage: + type: 'string' + example: '1' + entryPrice: + type: 'string' + example: '1' + markPrice: + type: 'string' + example: '1' + liquidationPrice: + type: 'string' + example: '1' + unrealizedPnl: + type: 'string' + example: '0.1' + fundingPayment: + type: 'string' + example: '1' + lastPremiumFraction: + type: 'string' + example: '1' + + NftPerpPriceResponse: + type: 'object' + required: + - 'price' + properties: + price: + type: 'string' + example: '1' + + NftPerpExecuteTxResponse: + type: 'object' + required: + - 'txhash' + properties: + txhash: + type: 'string' + example: '0xabc' + + NftPerpOpenMarketOrderRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'address' + - 'amm' + - 'side' + - 'margin' + - 'leverage' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + address: + type: 'string' + example: '0x123' + amm: + type: 'string' + example: 'bayc' + side: + type: 'string' + example: 'BUY' + margin: + type: 'number' + example: 0.1 + leverage: + type: 'number' + example: 0.1 + slippagePercent: + type: 'number' + example: 0.5 + + NftPerpOpenLimitOrderRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'address' + - 'amm' + - 'side' + - 'price' + - 'margin' + - 'leverage' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + address: + type: 'string' + example: '0x123' + amm: + type: 'string' + example: 'bayc' + side: + type: 'string' + example: 'BUY' + price: + type: 'number' + example: 1 + margin: + type: 'number' + example: 0.1 + leverage: + type: 'number' + example: 0.1 + reduceOnly: + type: 'boolean' + example: false + + NftPerpUpdateLimitOrderRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'address' + - 'id' + - 'amm' + - 'side' + - 'price' + - 'margin' + - 'leverage' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + address: + type: 'string' + example: '0x123' + id: + type: 'number' + example: 1 + amm: + type: 'string' + example: 'bayc' + side: + type: 'string' + example: 'BUY' + price: + type: 'number' + example: 1 + margin: + type: 'number' + example: 1 + leverage: + type: 'number' + example: 1 + reduceOnly: + type: 'boolean' + example: false + + NftPerpDeleteOrderRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'address' + - 'id' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + address: + type: 'string' + example: '0x123' + id: + type: 'number' + example: 1 + + NftPerpDeleteOrdersRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'address' + - 'ids' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + address: + type: 'string' + example: '0x123' + ids: + type: 'array' + items: 'number' + example: [1,2] + + + NftPerpOpenLimitOrderBatchRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'address' + - 'params' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + address: + type: 'string' + example: '0x123' + params: + type: 'array' + items: 'object' + example: [ + { amm: "bayc", side: "BUY", price: 1, margin: 1, leverage: 1}, + { amm: "milady", side: "BUY", price: 1, margin: 1, leverage: 1}, + ] + + NftPerpUpdateLimitOrderBatchRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'address' + - 'ids' + - 'params' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + address: + type: 'string' + example: '0x123' + ids: + type: 'array' + items: 'number' + example: [1,2] + params: + type: 'array' + items: 'object' + example: [ + { amm: "bayc", side: "BUY", price: 1, margin: 1, leverage: 1}, + { amm: "milady", side: "BUY", price: 1, margin: 1, leverage: 1}, + ] + + NftPerpOpenTriggerOrderRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'address' + - 'amm' + - 'price' + - 'size' + - 'type' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + address: + type: 'string' + example: '0x123' + amm: + type: 'string' + example: 'bayc' + price: + type: 'number' + example: 1 + size: + type: 'number' + example: 1 + type: + type: 'string' + example: 'STOP_LOSS' + + NftPerpClosePositionRequest: + type: 'object' + required: + - 'chain' + - 'network' + - 'connector' + - 'address' + - 'amm' + - 'closePercent' + - 'slippagePercent' + properties: + chain: + type: 'string' + example: 'ethereum' + network: + type: 'string' + example: 'arbitrum' + connector: + type: 'string' + example: 'nftperp' + address: + type: 'string' + example: '0x123' + amm: + type: 'string' + example: 'bayc' + closePercent: + type: 'number' + example: 1 + slippagePercent: + type: 'number' + example: 1 \ No newline at end of file diff --git a/docs/swagger/nftperp-routes.yml b/docs/swagger/nftperp-routes.yml new file mode 100644 index 0000000000..bfe07b2251 --- /dev/null +++ b/docs/swagger/nftperp-routes.yml @@ -0,0 +1,315 @@ +paths: + /nftperp/supported: + post: + tags: + - 'nftperp' + summary: 'Get the supported amms' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpSupportedRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpSupportedResponse' + + /nftperp/position: + post: + tags: + - 'nftperp' + summary: 'Get the position information' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpCommonRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpPositionResponse' + + /nftperp/markPrice: + post: + tags: + - 'nftperp' + summary: 'Get the mark price for a given amm' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpCommonRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpPriceResponse' + + /nftperp/indexPrice: + post: + tags: + - 'nftperp' + summary: 'Get the index price for a given amm' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpCommonRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpPriceResponse' + + /nftperp/fundingRate: + post: + tags: + - 'nftperp' + summary: 'Get the funding rate for a given amm' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpCommonRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpPriceResponse' + + /nftperp/openMarketOrder: + post: + tags: + - 'nftperp' + summary: 'Create a market order' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpOpenMarketOrderRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' + + /nftperp/openLimitOrder: + post: + tags: + - 'nftperp' + summary: 'Create a limit order' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpOpenLimitOrderRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' + + /nftperp/updateLimitOrder: + post: + tags: + - 'nftperp' + summary: 'Update a given limit order' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpUpdateLimitOrderRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' + + /nftperp/deleteLimitOrder: + post: + tags: + - 'nftperp' + summary: 'Delete a given limit order' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpDeleteOrderRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' + + /nftperp/openLimitOrderBatch: + post: + tags: + - 'nftperp' + summary: 'Create limit orders in batch' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpOpenLimitOrderBatchRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' + + /nftperp/updateLimitOrderBatch: + post: + tags: + - 'nftperp' + summary: 'Update given limit orders' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpUpdateLimitOrderBatchRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' + + /nftperp/deleteLimitOrderBatch: + post: + tags: + - 'nftperp' + summary: 'Delete given limit orders' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpDeleteOrdersRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' + + /nftperp/openTriggerOrder: + post: + tags: + - 'nftperp' + summary: 'Create a trigger order' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpDeleteOrdersRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' + + /nftperp/deleteTriggerOrder: + post: + tags: + - 'nftperp' + summary: 'Delete a given trigger order' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpDeleteOrderRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' + + /nftperp/closePosition: + post: + tags: + - 'nftperp' + summary: 'Close a given amm position' + operationId: 'poll' + consumes: + - 'application/json' + produces: + - 'application/json' + parameters: + - in: 'body' + name: 'body' + required: true + schema: + $ref: '#/definitions/NftPerpClosePositionRequest' + responses: + '200': + schema: + $ref: '#/definitions/NftPerpExecuteTxResponse' \ No newline at end of file diff --git a/docs/swagger/swagger.yml b/docs/swagger/swagger.yml index 77e722c16a..ad269d9143 100644 --- a/docs/swagger/swagger.yml +++ b/docs/swagger/swagger.yml @@ -25,6 +25,8 @@ tags: description: 'CLOB spot DEX endpoints' - name: 'clob/perp' description: 'CLOB perpetual DEX endpoints' + - name: 'nftperp' + description: 'NftPerp endpoints' schemes: - 'http' diff --git a/src/nftperp/nftperp.requests.ts b/src/nftperp/nftperp.requests.ts index 54df3ee5ac..f829cd1544 100644 --- a/src/nftperp/nftperp.requests.ts +++ b/src/nftperp/nftperp.requests.ts @@ -45,7 +45,7 @@ export interface ExecuteTxResponse { txhash: string; } -export interface LimitOrderBaseRequest { +export interface LimitOrderRequestBase { amm: Amm, side: Side, price: number, @@ -53,13 +53,13 @@ export interface LimitOrderBaseRequest { leverage: number, reduceOnly?: boolean } -export interface OpenLimitOrderRequest extends LimitOrderBaseRequest, NetworkSelectionRequest { +export interface OpenLimitOrderRequest extends LimitOrderRequestBase, NetworkSelectionRequest { address: string, } export interface OpenLimitOrderBatchRequest extends NetworkSelectionRequest { address: string, - params: LimitOrderBaseRequest[] + params: LimitOrderRequestBase[] } export interface UpdateLimitOrderRequest extends OpenLimitOrderRequest { @@ -80,14 +80,14 @@ export interface DeleteOrdersRequest extends NetworkSelectionRequest { ids: number[] } -export interface TriggerOrderBaseRequest { +export interface TriggerOrderRequestBase { amm: Amm, price: number, size: number, type: TriggerType } -export interface OpenTriggerOrderRequest extends NetworkSelectionRequest, TriggerOrderBaseRequest { +export interface OpenTriggerOrderRequest extends NetworkSelectionRequest, TriggerOrderRequestBase { address: string, } From 3731892e0b5ac61b0879821f917072b3ecbeb3fb Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Mon, 15 Jan 2024 00:03:09 +0800 Subject: [PATCH 10/13] fix: routes --- docs/swagger/nftperp-routes.yml | 30 +++++++++++++++--------------- src/app.ts | 5 +++-- 2 files changed, 18 insertions(+), 17 deletions(-) diff --git a/docs/swagger/nftperp-routes.yml b/docs/swagger/nftperp-routes.yml index bfe07b2251..d53bb4d239 100644 --- a/docs/swagger/nftperp-routes.yml +++ b/docs/swagger/nftperp-routes.yml @@ -4,7 +4,7 @@ paths: tags: - 'nftperp' summary: 'Get the supported amms' - operationId: 'poll' + operationId: 'supported' consumes: - 'application/json' produces: @@ -25,7 +25,7 @@ paths: tags: - 'nftperp' summary: 'Get the position information' - operationId: 'poll' + operationId: 'position' consumes: - 'application/json' produces: @@ -46,7 +46,7 @@ paths: tags: - 'nftperp' summary: 'Get the mark price for a given amm' - operationId: 'poll' + operationId: 'markPrice' consumes: - 'application/json' produces: @@ -67,7 +67,7 @@ paths: tags: - 'nftperp' summary: 'Get the index price for a given amm' - operationId: 'poll' + operationId: 'indexPrice' consumes: - 'application/json' produces: @@ -88,7 +88,7 @@ paths: tags: - 'nftperp' summary: 'Get the funding rate for a given amm' - operationId: 'poll' + operationId: 'fundingRate' consumes: - 'application/json' produces: @@ -109,7 +109,7 @@ paths: tags: - 'nftperp' summary: 'Create a market order' - operationId: 'poll' + operationId: 'openMarketOrder' consumes: - 'application/json' produces: @@ -130,7 +130,7 @@ paths: tags: - 'nftperp' summary: 'Create a limit order' - operationId: 'poll' + operationId: 'openLimitOrder' consumes: - 'application/json' produces: @@ -151,7 +151,7 @@ paths: tags: - 'nftperp' summary: 'Update a given limit order' - operationId: 'poll' + operationId: 'updateLimitOrder' consumes: - 'application/json' produces: @@ -172,7 +172,7 @@ paths: tags: - 'nftperp' summary: 'Delete a given limit order' - operationId: 'poll' + operationId: 'deleteLimitOrder' consumes: - 'application/json' produces: @@ -193,7 +193,7 @@ paths: tags: - 'nftperp' summary: 'Create limit orders in batch' - operationId: 'poll' + operationId: 'openLimitOrderBatch' consumes: - 'application/json' produces: @@ -214,7 +214,7 @@ paths: tags: - 'nftperp' summary: 'Update given limit orders' - operationId: 'poll' + operationId: 'updateLimitOrderBatch' consumes: - 'application/json' produces: @@ -235,7 +235,7 @@ paths: tags: - 'nftperp' summary: 'Delete given limit orders' - operationId: 'poll' + operationId: 'deleteLimitOrderBatch' consumes: - 'application/json' produces: @@ -256,7 +256,7 @@ paths: tags: - 'nftperp' summary: 'Create a trigger order' - operationId: 'poll' + operationId: 'openTriggerOrder' consumes: - 'application/json' produces: @@ -277,7 +277,7 @@ paths: tags: - 'nftperp' summary: 'Delete a given trigger order' - operationId: 'poll' + operationId: 'deleteTriggerOrder' consumes: - 'application/json' produces: @@ -298,7 +298,7 @@ paths: tags: - 'nftperp' summary: 'Close a given amm position' - operationId: 'poll' + operationId: 'closePosition' consumes: - 'application/json' produces: diff --git a/src/app.ts b/src/app.ts index 044ad54d5a..9661c84181 100644 --- a/src/app.ts +++ b/src/app.ts @@ -16,11 +16,11 @@ import { SwaggerManager } from './services/swagger-manager'; import { ConnectorsRoutes } from './connectors/connectors.routes'; import { AmmRoutes, AmmLiquidityRoutes, PerpAmmRoutes } from './amm/amm.routes'; import { CLOBRoutes, PerpClobRoutes } from './clob/clob.routes'; +import { ChainRoutes } from './chains/chain.routes'; +import { NftPerpRoutes } from './nftperp/nftperp.routes'; import morgan from 'morgan'; import swaggerUi from 'swagger-ui-express'; -import { ChainRoutes } from './chains/chain.routes'; -import { NftPerpRoutes } from './nftperp/nftperp.routes'; export const gatewayApp = express(); @@ -96,6 +96,7 @@ export const swaggerDocument = SwaggerManager.generateSwaggerJson( './docs/swagger/amm-routes.yml', './docs/swagger/amm-liquidity-routes.yml', './docs/swagger/chain-routes.yml', + './docs/swagger/nftperp-routes.yml' ] ); From 27b576042d51b9a85d3bcbce76678c45d7d96616 Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Tue, 16 Jan 2024 11:26:08 +0800 Subject: [PATCH 11/13] ci: add more tests --- src/connectors/nftperp/nftperp.ts | 5 +- src/nftperp/nftperp.controllers.ts | 19 ++- src/nftperp/nftperp.requests.ts | 4 + src/nftperp/nftperp.routes.ts | 6 +- src/nftperp/nftperp.validators.ts | 8 + src/services/common-interfaces.ts | 5 +- test/connectors/nftperp/nftperp.test.ts | 203 ++++++++++++++++++++++-- 7 files changed, 227 insertions(+), 23 deletions(-) diff --git a/src/connectors/nftperp/nftperp.ts b/src/connectors/nftperp/nftperp.ts index ea52e92626..c18e38d4e4 100644 --- a/src/connectors/nftperp/nftperp.ts +++ b/src/connectors/nftperp/nftperp.ts @@ -50,8 +50,9 @@ export class NftPerp implements NftPerpish { return this._sdk.getSupportedAmms(); } - public async getPosition(amm: Amm): Promise { - return await this._sdk.getPosition(amm); + public async getPosition(wallet: Wallet, amm: Amm): Promise { + const sdk = new SDK({ rpcUrl: this._chain.rpcUrl, privateKey: wallet.privateKey }); + return await sdk.getPosition(amm); } public async getMarkPrice(amm: Amm): Promise { diff --git a/src/nftperp/nftperp.controllers.ts b/src/nftperp/nftperp.controllers.ts index 2204dd0cbc..7365a643ff 100644 --- a/src/nftperp/nftperp.controllers.ts +++ b/src/nftperp/nftperp.controllers.ts @@ -8,7 +8,8 @@ import { UpdateLimitOrderBatchRequest, DeleteOrdersRequest, ClosePositionRequest, - OpenTriggerOrderRequest + OpenTriggerOrderRequest, + GetPositionRequest } from "./nftperp.requests"; import { logger } from '../services/logger'; import { Wallet } from "ethers"; @@ -26,14 +27,26 @@ export async function supportedAmms(req: NetworkSelectionRequest): Promise<{ amm return { amms }; } -export async function position(req: NftPerpCommonRequest): Promise { +export async function position(req: GetPositionRequest): Promise { const connector: NftPerp = await getConnector( req.chain, req.network, req.connector ); + const chain = await getInitializedChain(req.chain, req.network); + let wallet: Wallet; + try { + wallet = await chain.getWallet(req.address); + } catch (err) { + logger.error(`Wallet ${req.address} not available.`); + throw new HttpException( + 500, + LOAD_WALLET_ERROR_MESSAGE + err, + LOAD_WALLET_ERROR_CODE + ); + } - const positionInfo = await connector.getPosition(req.amm); + const positionInfo = await connector.getPosition(wallet, req.amm); return positionInfo; } diff --git a/src/nftperp/nftperp.requests.ts b/src/nftperp/nftperp.requests.ts index f829cd1544..1fd7f983be 100644 --- a/src/nftperp/nftperp.requests.ts +++ b/src/nftperp/nftperp.requests.ts @@ -12,6 +12,10 @@ export interface NftPerpCommonRequest extends NetworkSelectionRequest { amm: Amm } +export interface GetPositionRequest extends NftPerpCommonRequest { + address: string; +} + export interface PositionResponse { amm: Amm; trader: string; diff --git a/src/nftperp/nftperp.routes.ts b/src/nftperp/nftperp.routes.ts index 10e23f9b33..ab274315ed 100644 --- a/src/nftperp/nftperp.routes.ts +++ b/src/nftperp/nftperp.routes.ts @@ -21,6 +21,7 @@ import { validateNetworkSelectionRequest, validateNftPerpCommonRequest, validateCommonWriteTxRequest, + validateGetPositionRequest, } from './nftperp.validators'; import { NetworkSelectionRequest } from '../services/common-interfaces'; import { @@ -38,6 +39,7 @@ import { DeleteOrdersRequest, ClosePositionRequest, OpenTriggerOrderRequest, + GetPositionRequest, } from './nftperp.requests'; @@ -61,10 +63,10 @@ export namespace NftPerpRoutes { '/position', asyncHandler( async ( - req: Request<{}, {}, NftPerpCommonRequest>, + req: Request<{}, {}, GetPositionRequest>, res: Response ) => { - validateNftPerpCommonRequest(req.body); + validateGetPositionRequest(req.body); res.status(200).json(await position(req.body)); } ) diff --git a/src/nftperp/nftperp.validators.ts b/src/nftperp/nftperp.validators.ts index 0a7087fe9a..c2af101735 100644 --- a/src/nftperp/nftperp.validators.ts +++ b/src/nftperp/nftperp.validators.ts @@ -48,6 +48,14 @@ export const validateNftPerpCommonRequest: RequestValidator = mkRequestValidator validateAmm, ]); +export const validateGetPositionRequest: RequestValidator = mkRequestValidator([ + validateConnector, + validateChain, + validateNetwork, + validateAmm, + validateAddress, +]) + export const validateCommonWriteTxRequest: RequestValidator = mkRequestValidator([ validateConnector, validateChain, diff --git a/src/services/common-interfaces.ts b/src/services/common-interfaces.ts index 10bf5d75c1..bef83164ef 100644 --- a/src/services/common-interfaces.ts +++ b/src/services/common-interfaces.ts @@ -654,11 +654,12 @@ export interface NftPerpish { getSupportedAmms(): string[]; /** - * Gets available Position + * Gets available position for a given trader + * @param wallet The wallet account to get the position for * @param amm The name of amm * @returns */ - getPosition(amm: Amm): Promise; + getPosition(wallet: Wallet, amm: Amm): Promise; /** * Gets trading price diff --git a/test/connectors/nftperp/nftperp.test.ts b/test/connectors/nftperp/nftperp.test.ts index b00baf9455..bf09bfce4e 100644 --- a/test/connectors/nftperp/nftperp.test.ts +++ b/test/connectors/nftperp/nftperp.test.ts @@ -2,6 +2,8 @@ import { NftPerp } from "../../../src/connectors/nftperp/nftperp"; import { patchEVMNonceManager } from '../../evm.nonce.mock'; import { unpatch } from '../../../test/services/patch'; import { Ethereum } from "../../../src/chains/ethereum/ethereum"; +import { Amm, Side, TriggerType } from "@nftperp/sdk/types"; +import { Wallet } from "ethers"; let arbitrum: Ethereum; let nftperp: NftPerp; @@ -30,17 +32,190 @@ describe("verify NftPerp getSupportedAmms", () => { expect(amms).toContain("milady"); }) }); -describe("verify NftPerp getPosition", () => { }); -describe("verify NftPerp getMarkPrice", () => { }); -describe("verify NftPerp getIndexPrice", () => { }); -describe("verify NftPerp getFundingRate", () => { }); -describe("verify NftPerp openMarketOrder", () => { }); -describe("verify NftPerp openLimitOrder", () => { }); -describe("verify NftPerp updateLimitOrder", () => { }); -describe("verify NftPerp deleteLimitOrder", () => { }); -describe("verify NftPerp openLimitOrderBatch", () => { }); -describe("verify NftPerp updateLimitOrderBatch", () => { }); -describe("verify NftPerp deleteLimitOrderBatch", () => { }); -describe("verify NftPerp openTriggerOrder", () => { }); -describe("verify NftPerp deleteTriggerOrder", () => { }); -describe("verify NftPerp closePosition", () => { }); +describe("verify NftPerp getPosition", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.getPosition({} as any, Amm.BAYC); + }).rejects.toThrow(Error); + }) + it("should not throw if the wallet is configured", async () => { + const mockTrader = Wallet.createRandom(); + const position = await nftperp.getPosition(mockTrader, Amm.BAYC); + expect(position).toHaveProperty('amm'); + expect(position).toHaveProperty('trader'); + expect(position).toHaveProperty('size'); + }) +}); +describe("verify NftPerp getMarkPrice", () => { + it("should return the mark price without an error", async () => { + const markPrice = await nftperp.getMarkPrice(Amm.BAYC); + console.log({ markPrice }); + expect(+markPrice).toBeGreaterThan(0); + }) +}); +describe("verify NftPerp getIndexPrice", () => { + it("should return the index price without an error", async () => { + const indexPrice = await nftperp.getIndexPrice(Amm.BAYC); + console.log({ indexPrice }); + expect(+indexPrice).toBeGreaterThan(0); + }) +}); +describe("verify NftPerp getFundingRate", () => { + it("should return the funding rate without an error", async () => { + // funding rate can be positive/negative value + expect(async () => { + const fundingRate = await nftperp.getFundingRate(Amm.BAYC); + console.log({ amm: Amm.BAYC, fundingRate }); + }).not.toThrow(Error); + }) +}); +describe("verify NftPerp openMarketOrder", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.openMarketOrder({} as any, Amm.BAYC, Side.BUY, 1, 1, 0.1); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has insufficient balance", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw an `insufficient balance` error + await expect(async () => { + await nftperp.openMarketOrder(mockTrader, Amm.BAYC, Side.BUY, 1, 1, 0.1); + }).rejects.toThrow(/^insufficient balance/); + }) +}); +describe("verify NftPerp openLimitOrder", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.openLimitOrder({} as any, Amm.BAYC, Side.BUY, 1, 1, 0.1); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has insufficient balance", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw an execution` error + await expect(async () => { + await nftperp.openLimitOrder(mockTrader, Amm.BAYC, Side.BUY, 1, 1, 0.1); + }).rejects.toThrow(Error); + }) +}); +describe("verify NftPerp updateLimitOrder", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.updateLimitOrder({} as any, 1, Amm.BAYC, Side.BUY, 1, 1, 0.1); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has insufficient balance", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw an execution error + await expect(async () => { + await nftperp.updateLimitOrder(mockTrader, 1, Amm.BAYC, Side.BUY, 1, 1, 0.1); + }).rejects.toThrow(Error); + }) +}); +describe("verify NftPerp deleteLimitOrder", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.deleteLimitOrder({} as any, 1); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has no limit order", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw an execution error + await expect(async () => { + await nftperp.deleteLimitOrder(mockTrader, 1); + }).rejects.toThrow(Error); + }) +}); +describe("verify NftPerp openLimitOrderBatch", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.openLimitOrderBatch({} as any, [{ amm: Amm.BAYC, side: Side.BUY, price: 1, margin: 1, leverage: 0.1 }]); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has insufficient balance", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw an `insufficient balance` error + await expect(async () => { + await nftperp.openLimitOrderBatch(mockTrader, [{ amm: Amm.BAYC, side: Side.BUY, price: 1, margin: 1, leverage: 0.1 }]); + }).rejects.toThrow(Error); + }) +}); +describe("verify NftPerp updateLimitOrderBatch", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.updateLimitOrderBatch({} as any, [1], [{ amm: Amm.BAYC, side: Side.BUY, price: 1, margin: 1, leverage: 0.1 }]); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has insufficient balance", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw an `insufficient balance` error + await expect(async () => { + await nftperp.updateLimitOrderBatch(mockTrader, [1], [{ amm: Amm.BAYC, side: Side.BUY, price: 1, margin: 1, leverage: 0.1 }]); + }).rejects.toThrow(Error); + }) +}); +describe("verify NftPerp deleteLimitOrderBatch", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.deleteLimitOrderBatch({} as any, [1]); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has insufficient balance", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw an `insufficient balance` error + await expect(async () => { + await nftperp.deleteLimitOrderBatch(mockTrader, [1]); + }).rejects.toThrow(Error); + }) +}); +describe("verify NftPerp openTriggerOrder", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.openTriggerOrder({} as any, Amm.BAYC, 1, 1, TriggerType.STOP_LOSS); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has insufficient balance", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw an `insufficient balance` error + await expect(async () => { + await nftperp.openTriggerOrder(mockTrader, Amm.BAYC, 1, 1, TriggerType.STOP_LOSS); + }).rejects.toThrow(Error); + }) +}); +describe("verify NftPerp deleteTriggerOrder", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.deleteTriggerOrder({} as any, 1); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has no limit order", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw an execution error + await expect(async () => { + await nftperp.deleteTriggerOrder(mockTrader, 1); + }).rejects.toThrow(Error); + }) +}); +describe("verify NftPerp closePosition", () => { + it("should throw if the wallet isn't configured", async () => { + await expect(async () => { + await nftperp.closePosition({} as any, Amm.BAYC); + }).rejects.toThrow(new Error('sdk initialized as read-only, as private key is not provided')); + }) + it("should throw if the trader has no position", async () => { + const mockTrader = Wallet.createRandom(); + + // should throw a `no position found` error + await expect(async () => { + await nftperp.closePosition(mockTrader, Amm.BAYC); + }).rejects.toThrow(/^no position found/); + }) +}); From 7ecea0147c2248e4f274cc4ecca661e23d372c2c Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Tue, 16 Jan 2024 21:58:51 +0800 Subject: [PATCH 12/13] chore: yarn lock --- package.json | 4 +- yarn.lock | 879 +++++++++++++++++++++++++++++++++++++++------------ 2 files changed, 675 insertions(+), 208 deletions(-) diff --git a/package.json b/package.json index 4d1bb0961c..7960cf1980 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@harmony-js/utils": "^0.1.56", "@improbable-eng/grpc-web": "^0.13.0", "@injectivelabs/sdk-ts": "^1.10.58", - "@nftperp/sdk": "^6.0.2", + "@nftperp/sdk": "6.0.2", "@pancakeswap/sdk": "^4.0.0", "@pancakeswap/smart-router": "^4.2.1", "@pancakeswap/swap-sdk-core": "^1.0.0", @@ -164,4 +164,4 @@ "resolutions": { "web3-utils": "1.7.3" } -} \ No newline at end of file +} diff --git a/yarn.lock b/yarn.lock index 3b4c102c9d..2336bc0944 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,6 +2,11 @@ # yarn lockfile v1 +"@aashutoshrathi/word-wrap@^1.2.3": + version "1.2.6" + resolved "https://registry.yarnpkg.com/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz#bd9154aec9983f77b3a034ecaa015c2e4201f6cf" + integrity sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA== + "@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" @@ -1073,6 +1078,18 @@ enabled "2.0.x" kuler "^2.0.0" +"@eslint-community/eslint-utils@^4.2.0": + version "4.4.0" + resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" + integrity sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA== + dependencies: + eslint-visitor-keys "^3.3.0" + +"@eslint-community/regexpp@^4.6.1": + version "4.10.0" + resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.10.0.tgz#548f6de556857c8bb73bbee70c35dc82a2e74d63" + integrity sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA== + "@eslint/eslintrc@^0.4.3": version "0.4.3" resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" @@ -1088,6 +1105,26 @@ minimatch "^3.0.4" strip-json-comments "^3.1.1" +"@eslint/eslintrc@^2.1.4": + version "2.1.4" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.4.tgz#388a269f0f25c1b6adc317b5a2c55714894c70ad" + integrity sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ== + dependencies: + ajv "^6.12.4" + debug "^4.3.2" + espree "^9.6.0" + globals "^13.19.0" + ignore "^5.2.0" + import-fresh "^3.2.1" + js-yaml "^4.1.0" + minimatch "^3.1.2" + strip-json-comments "^3.1.1" + +"@eslint/js@8.56.0": + version "8.56.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.56.0.tgz#ef20350fec605a7f7035a01764731b2de0f3782b" + integrity sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A== + "@ethereumjs/common@2.5.0": version "2.5.0" resolved "https://registry.yarnpkg.com/@ethereumjs/common/-/common-2.5.0.tgz#ec61551b31bef7a69d1dc634d8932468866a4268" @@ -1123,137 +1160,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-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-3213c930-c202-4cf1-9c4d-4433835760dc-1705029690917/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0972d27b-f389-456f-ba17-85988cc551c8-1705413415026/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0972d27b-f389-456f-ba17-85988cc551c8-1705413415026/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0972d27b-f389-456f-ba17-85988cc551c8-1705413415026/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0972d27b-f389-456f-ba17-85988cc551c8-1705413415026/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0972d27b-f389-456f-ba17-85988cc551c8-1705413415026/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0972d27b-f389-456f-ba17-85988cc551c8-1705413415026/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0972d27b-f389-456f-ba17-85988cc551c8-1705413415026/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0972d27b-f389-456f-ba17-85988cc551c8-1705413415026/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-0972d27b-f389-456f-ba17-85988cc551c8-1705413415026/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-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ce784dbe-7dca-4a2e-bb33-0b75daccd17c-1705029690913/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ef86101f-9ef0-4aab-80c6-7cfd9f02912d-1705413415018/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ef86101f-9ef0-4aab-80c6-7cfd9f02912d-1705413415018/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ef86101f-9ef0-4aab-80c6-7cfd9f02912d-1705413415018/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ef86101f-9ef0-4aab-80c6-7cfd9f02912d-1705413415018/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ef86101f-9ef0-4aab-80c6-7cfd9f02912d-1705413415018/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ef86101f-9ef0-4aab-80c6-7cfd9f02912d-1705413415018/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-ef86101f-9ef0-4aab-80c6-7cfd9f02912d-1705413415018/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-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-709bba5b-53ad-492f-9658-8e4ae090feb9-1705029690916/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8856fe02-a155-4b6b-a863-67a0b607ceee-1705413415017/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8856fe02-a155-4b6b-a863-67a0b607ceee-1705413415017/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8856fe02-a155-4b6b-a863-67a0b607ceee-1705413415017/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8856fe02-a155-4b6b-a863-67a0b607ceee-1705413415017/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-8856fe02-a155-4b6b-a863-67a0b607ceee-1705413415017/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-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-fc91e9b6-14d3-403a-8dad-fbc43d23b9e8-1705029690915/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-1a665bf8-4093-41df-b029-7682c10b08a5-1705413415023/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-1a665bf8-4093-41df-b029-7682c10b08a5-1705413415023/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-1a665bf8-4093-41df-b029-7682c10b08a5-1705413415023/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-1a665bf8-4093-41df-b029-7682c10b08a5-1705413415023/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-1a665bf8-4093-41df-b029-7682c10b08a5-1705413415023/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-8c8fa272-01be-40ae-98b3-f9c504c21c1c-1705029690920/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-0586edbc-ae29-44b9-8f25-bdaec4fbdc41-1705413415018/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-c0317ec5-739c-4398-9f60-076d978aed14-1705029690915/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-c0317ec5-739c-4398-9f60-076d978aed14-1705029690915/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-67b82fc8-ef19-425a-a41c-1eddb0370c8a-1705413415020/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-67b82fc8-ef19-425a-a41c-1eddb0370c8a-1705413415020/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-69fe89ae-bff9-4dac-b528-9cf6ee5742b5-1705029690922/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-69fe89ae-bff9-4dac-b528-9cf6ee5742b5-1705029690922/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-f8c47f67-3207-447d-9256-2107e999209b-1705413415020/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-f8c47f67-3207-447d-9256-2107e999209b-1705413415020/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-6f824778-acdd-4ae6-87bf-6f055333f3c3-1705029690919/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-46c83f76-5ca0-48b7-9b7e-a4bb1e55af19-1705413415030/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-78af6b05-e008-4433-badd-d360102dcdf0-1705029690920/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-e01d5be0-14d5-4d03-9d90-efbf85cfa71a-1705413415022/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-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-d76b7a84-2776-4d33-a395-7488f6cae72a-1705029690923/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-7a147b0c-1b28-4fba-a4ed-5fbde24670f7-1705413415024/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-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-57870579-734a-4213-ab00-71bb51eddfb4-1705029690921/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-93a89bf2-6c08-472d-a700-83acfe86735e-1705413415021/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-93a89bf2-6c08-472d-a700-83acfe86735e-1705413415021/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-93a89bf2-6c08-472d-a700-83acfe86735e-1705413415021/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-93a89bf2-6c08-472d-a700-83acfe86735e-1705413415021/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-93a89bf2-6c08-472d-a700-83acfe86735e-1705413415021/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-93a89bf2-6c08-472d-a700-83acfe86735e-1705413415021/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-93a89bf2-6c08-472d-a700-83acfe86735e-1705413415021/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-93a89bf2-6c08-472d-a700-83acfe86735e-1705413415021/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-93a89bf2-6c08-472d-a700-83acfe86735e-1705413415021/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-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-44ac8631-cc65-4c6e-ba81-ea851df38783-1705029690926/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-2f507153-4036-45f2-a5a5-464bbbe63553-1705413415027/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-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-950ed012-1194-4238-aad2-352eaa8544ff-1705029690930/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-96b819f9-45b7-4fab-bf9f-32d33962d735-1705413415029/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-912ca7e2-0a8b-47bd-b708-702e289b1c6a-1705029690925/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-afb57091-6c22-4b86-9eb1-43e9addba420-1705413415033/node_modules/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1262,67 +1299,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-3f56ce67-daef-459d-99a6-9902c3d707ce-1705029690933/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-c59cf402-46d8-4e7e-8741-debb4806f3ae-1705413415028/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-eff90c58-be95-466d-bc46-98f6149d747d-1705029690933/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-eff90c58-be95-466d-bc46-98f6149d747d-1705029690933/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-247270f2-dc56-4a40-a89e-0ba9108c4c11-1705413415030/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-247270f2-dc56-4a40-a89e-0ba9108c4c11-1705413415030/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-9595fb98-395a-462e-9c0b-654eb5fd5972-1705029690932/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-1bfbaff3-6768-42d3-a542-196515f5e6bb-1705413415033/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-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-38e2ee49-92db-4fb7-a891-38e0a5c5ce34-1705029690934/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-29677cba-6572-4f2f-a273-81c0f89a296f-1705413415053/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-bb976102-ae53-4e5f-a3f2-3bde5d72f4ec-1705029690936/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-bb976102-ae53-4e5f-a3f2-3bde5d72f4ec-1705029690936/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-8f25e15b-f3e1-4741-bc5b-0e59c5a2c115-1705413415057/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-8f25e15b-f3e1-4741-bc5b-0e59c5a2c115-1705413415057/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-77a64e7c-5875-480e-a238-cf3c832ebb93-1705029690940/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-77a64e7c-5875-480e-a238-cf3c832ebb93-1705029690940/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-a8dc4756-0ac4-442c-a710-85e2d9832e7c-1705413415032/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-a8dc4756-0ac4-442c-a710-85e2d9832e7c-1705413415032/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-f4a17a24-e6d7-4885-81a8-bbe19881c061-1705029690939/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-f4a17a24-e6d7-4885-81a8-bbe19881c061-1705029690939/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-5c9cb38f-afe8-4358-99ab-f973b94f624e-1705413415033/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-5c9cb38f-afe8-4358-99ab-f973b94f624e-1705413415033/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-d0efb7d8-5020-4b6a-bd5d-9af59b78423a-1705029690944/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-d0efb7d8-5020-4b6a-bd5d-9af59b78423a-1705029690944/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-d0efb7d8-5020-4b6a-bd5d-9af59b78423a-1705029690944/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-14cce12e-b5dd-4711-b7c7-db0540d5eba8-1705413415031/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-14cce12e-b5dd-4711-b7c7-db0540d5eba8-1705413415031/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-14cce12e-b5dd-4711-b7c7-db0540d5eba8-1705413415031/node_modules/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1330,76 +1367,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-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-1a3c35d9-630b-4641-8c90-1c89571bef86-1705029690957/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f0b8f85f-ae7a-4d36-b618-97cbfb9cfdb3-1705413415036/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f0b8f85f-ae7a-4d36-b618-97cbfb9cfdb3-1705413415036/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f0b8f85f-ae7a-4d36-b618-97cbfb9cfdb3-1705413415036/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f0b8f85f-ae7a-4d36-b618-97cbfb9cfdb3-1705413415036/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f0b8f85f-ae7a-4d36-b618-97cbfb9cfdb3-1705413415036/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-f0b8f85f-ae7a-4d36-b618-97cbfb9cfdb3-1705413415036/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-0b24efb9-2bb4-4270-9f26-3c0217b14eb6-1705029690958/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-0b24efb9-2bb4-4270-9f26-3c0217b14eb6-1705029690958/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-0b24efb9-2bb4-4270-9f26-3c0217b14eb6-1705029690958/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-0febc919-2b0d-40f9-a0dc-7ff7fba3f120-1705413415037/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-0febc919-2b0d-40f9-a0dc-7ff7fba3f120-1705413415037/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-0febc919-2b0d-40f9-a0dc-7ff7fba3f120-1705413415037/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-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-6ca15cf7-c99e-44cf-908b-03684b1dc616-1705029690937/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-a23a5739-9b0e-43a7-ac0a-3edb35086d69-1705413415055/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-a23a5739-9b0e-43a7-ac0a-3edb35086d69-1705413415055/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-a23a5739-9b0e-43a7-ac0a-3edb35086d69-1705413415055/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-a23a5739-9b0e-43a7-ac0a-3edb35086d69-1705413415055/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-a23a5739-9b0e-43a7-ac0a-3edb35086d69-1705413415055/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-a23a5739-9b0e-43a7-ac0a-3edb35086d69-1705413415055/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-a23a5739-9b0e-43a7-ac0a-3edb35086d69-1705413415055/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-a23a5739-9b0e-43a7-ac0a-3edb35086d69-1705413415055/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-a23a5739-9b0e-43a7-ac0a-3edb35086d69-1705413415055/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-8f2e2d79-ec20-494a-bfc5-138825cd3d2d-1705029690959/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-8f2e2d79-ec20-494a-bfc5-138825cd3d2d-1705029690959/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-8f2e2d79-ec20-494a-bfc5-138825cd3d2d-1705029690959/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-6241e980-6aea-47c6-9e1d-91b79587eab6-1705413415035/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-6241e980-6aea-47c6-9e1d-91b79587eab6-1705413415035/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-6241e980-6aea-47c6-9e1d-91b79587eab6-1705413415035/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-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-3e105811-c778-4876-970c-dbe89807c516-1705029690962/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-928a4f48-6c26-4716-a882-604de1cf377b-1705413415034/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-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-4564e198-2661-483f-b0a7-82ed8ce3b03a-1705029690961/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-84bbb7a5-f6bc-43ac-a058-52277a3cb1d2-1705413415046/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-84bbb7a5-f6bc-43ac-a058-52277a3cb1d2-1705413415046/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-84bbb7a5-f6bc-43ac-a058-52277a3cb1d2-1705413415046/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-84bbb7a5-f6bc-43ac-a058-52277a3cb1d2-1705413415046/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-84bbb7a5-f6bc-43ac-a058-52277a3cb1d2-1705413415046/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-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-3ebc1b54-5077-42a0-8790-4ad09845830e-1705029690960/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-6f07f896-78cd-4b15-9b44-1be8beeca45b-1705413415051/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-6f07f896-78cd-4b15-9b44-1be8beeca45b-1705413415051/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-6f07f896-78cd-4b15-9b44-1be8beeca45b-1705413415051/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-6f07f896-78cd-4b15-9b44-1be8beeca45b-1705413415051/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-6f07f896-78cd-4b15-9b44-1be8beeca45b-1705413415051/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" @@ -1875,7 +1912,7 @@ "@graphql-typed-document-node/core" "^3.1.1" tslib "^2.4.0" -"@graphql-typed-document-node/core@^3.1.1": +"@graphql-typed-document-node/core@^3.1.1", "@graphql-typed-document-node/core@^3.2.0": 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== @@ -1996,6 +2033,15 @@ "@types/bn.js" "^4.11.3" bn.js "^4.11.8" +"@humanwhocodes/config-array@^0.11.13": + version "0.11.13" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.13.tgz#075dc9684f40a531d9b26b0822153c1e832ee297" + integrity sha512-JSBDMiDKSzQVngfRjOdFXgFfklaXI4K9nLF49Auh21lmBWRLIK3+xTErTWD4KU54pb6coM6ESE7Awz/FNU3zgQ== + dependencies: + "@humanwhocodes/object-schema" "^2.0.1" + debug "^4.1.1" + minimatch "^3.0.5" + "@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" @@ -2005,11 +2051,21 @@ debug "^4.1.1" minimatch "^3.0.4" +"@humanwhocodes/module-importer@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz#af5b2691a22b44be847b0ca81641c5fb6ad0172c" + integrity sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA== + "@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== +"@humanwhocodes/object-schema@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.1.tgz#e5211452df060fa8522b55c7b3c0c4d1981cb044" + integrity sha512-dvuCeX5fC9dXgJn9t+X5atfmgQAzUOWqS1254Gh0m6i8wKd10ebXkfNKiRK+1GWi/yTvvLDHpoxLr0xxxeslWw== + "@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" @@ -2540,7 +2596,7 @@ call-me-maybe "^1.0.1" glob-to-regexp "^0.3.0" -"@nftperp/sdk@^6.0.2": +"@nftperp/sdk@6.0.2": version "6.0.2" resolved "https://registry.yarnpkg.com/@nftperp/sdk/-/sdk-6.0.2.tgz#700a1858c591f0285382c9b919c950a405f2a7a7" integrity sha512-Nve4EJstkW7O9vcUAI8tpMrjqDe32kZBOa5VuBHmtb+POKrU8Y8+VaNR7PQbhMJMxnh8RU2oKvcFh0hrKKqBcg== @@ -2606,7 +2662,7 @@ 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": +"@nodelib/fs.walk@^1.2.3", "@nodelib/fs.walk@^1.2.8": 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== @@ -2841,6 +2897,28 @@ resolved "https://registry.yarnpkg.com/@pancakeswap/chains/-/chains-0.3.0.tgz#e509dfd9c8387f76b893e3a0a5b835331752b32c" integrity sha512-a4U8pzfxQsnS0nUpvi8qL2X6l2C/IUTFJcmt3UNAQv2L2CPUSryt1rLarG91O1Bb/UMfv90UCPrXJcHWpaYSMg== +"@pancakeswap/multicall@3.3.2": + version "3.3.2" + resolved "https://registry.yarnpkg.com/@pancakeswap/multicall/-/multicall-3.3.2.tgz#deaf60cfa0c25b76fbbd0c38333cee5b0110849a" + integrity sha512-H4DOyTYEXs49tgR0QrxkjJmDImxSu5rTJyaRc2kEDluU1kDsFffPiX4nrnewEmmvYFxAfin5jn9sp6D7dV7jEg== + dependencies: + "@pancakeswap/chains" "0.3.0" + "@pancakeswap/sdk" "5.7.3" + viem "1.19.9" + +"@pancakeswap/sdk@5.1.0": + version "5.1.0" + resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-5.1.0.tgz#ab15c565c081d62cf0d186d18c7fcac114a6b192" + integrity sha512-/vFAR8zzyWT9n0twC0MdnkV7QOr40IAgC48wkbL2S07Anjgkd38dkRfP8X3dYCsY8aGDT+c9cCJmGBdte82Lng== + dependencies: + "@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.2.9" + "@pancakeswap/sdk@5.7.3": version "5.7.3" resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-5.7.3.tgz#973ac77f0ac9920dea4c711f2bea396a88efdeb5" @@ -2855,18 +2933,41 @@ 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" - integrity sha512-qfHOPGXitDQ5y1dmYloe6UQe/0Ki0enow4MLtr5W49Jl7ZXr8oB6XV7usYtT63R7vqLSKY83rd8Wyw18vxP7dA== +"@pancakeswap/sdk@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@pancakeswap/sdk/-/sdk-4.0.0.tgz#6068bf3c1b031ef13f4b223ee3cbeff7ddbb5d96" + integrity sha512-gUQr3svj/gk85ef7Dztu1itK0HqfUYDki8d4WM4SpkIeqebo3r9DFuBJ7G6tlQaefNthQF0Loi1HB+wLP+2o3w== dependencies: + "@pancakeswap/swap-sdk-core" "1.0.0" 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" +"@pancakeswap/smart-router@^4.2.1": + version "4.11.1" + resolved "https://registry.yarnpkg.com/@pancakeswap/smart-router/-/smart-router-4.11.1.tgz#e5a1055c5427f0e41bc3de454efd1044e0798826" + integrity sha512-9iqyk+5GaHLB3CqXtCYbJ6OpDfROcI2yukojzXKyngTR6IGfpUGh9Tg2Ggh6TOgwDCEqD3dhDc1BooAvkceOIA== + dependencies: + "@pancakeswap/chains" "0.3.0" + "@pancakeswap/multicall" "3.3.2" + "@pancakeswap/sdk" "5.7.3" + "@pancakeswap/swap-sdk-core" "1.0.0" + "@pancakeswap/token-lists" "0.0.9" + "@pancakeswap/tokens" "0.5.6" + "@pancakeswap/v3-sdk" "3.7.2" + async-retry "^1.3.1" + debug "^4.3.4" + graphql "^16.8.1" + graphql-request "5.0.0" + lodash "^4.17.21" + mnemonist "^0.38.3" + stats-lite "^2.2.0" + tiny-invariant "^1.3.0" + viem "1.19.9" + zod "^3.22.3" + "@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" @@ -2878,6 +2979,15 @@ tiny-warning "^1.0.3" toformat "^2.0.0" +"@pancakeswap/token-lists@0.0.8": + version "0.0.8" + resolved "https://registry.yarnpkg.com/@pancakeswap/token-lists/-/token-lists-0.0.8.tgz#a168cb8cdc7bf224812cc0e7f0382c46f3b93166" + integrity sha512-KTq31adfPqwqpHBLZ/rRkVlFpVIehB8UcmsuZpY1hjXqdNXUf5lO/Kad4tIxYtIlx9nrWM6R1laYxfISGzAMYQ== + dependencies: + "@pancakeswap/swap-sdk-core" "1.0.0" + ajv "^6.12.3" + lodash "^4.17.21" + "@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" @@ -2896,6 +3006,14 @@ "@pancakeswap/sdk" "5.7.3" "@pancakeswap/token-lists" "0.0.9" +"@pancakeswap/tokens@^0.1.6": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@pancakeswap/tokens/-/tokens-0.1.6.tgz#c6f59c246bdc9f37322101acc2be700aee9b584b" + integrity sha512-JrHNVyBIxSRD62Prn+yeMbxcZdLs5yFY1Y1Xaex6+kCxDz/WNAKI+/Q9WnJZ7m/jsfuB/vjJN89gqCxGAc/VVw== + dependencies: + "@pancakeswap/sdk" "5.1.0" + "@pancakeswap/token-lists" "0.0.8" + "@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" @@ -2912,7 +3030,7 @@ "@uniswap/v2-core" "1.0.1" base64-sol "1.0.1" -"@pancakeswap/v3-sdk@^3.7.0": +"@pancakeswap/v3-sdk@3.7.2", "@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== @@ -3485,6 +3603,14 @@ resolved "https://registry.yarnpkg.com/@taquito/core/-/core-17.2.0.tgz#cf1e23ba5548aca36d2fb7263973e17806849536" integrity sha512-Sijn6uhSJUPgk9TzlxOAiJpfF7HogjNepmjGia3Eq9LidJMg6gqL+VRYYtCIAzNQl7Ge8dkqUx9yIibQFHPR7w== +"@taquito/http-utils@^15.0.1", "@taquito/http-utils@^15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@taquito/http-utils/-/http-utils-15.1.0.tgz#66f3ce220c483e33d6b31bca6e0c76b5b895ed9b" + integrity sha512-Uug5hN0XvMlFFN+rxSMW+Y9Z8pw5uqHRDZC83eLOBSijbpMo+ScG/2nKkC8MUUrqLaLeHru1HD4kT5DHc1fI+A== + dependencies: + "@vespaiach/axios-fetch-adapter" "github:ecadlabs/axios-fetch-adapter" + axios "^0.26.0" + "@taquito/http-utils@^17.2.0": version "17.2.0" resolved "https://registry.yarnpkg.com/@taquito/http-utils/-/http-utils-17.2.0.tgz#99a5c2e52d7553d7c256366b6629440e4507c955" @@ -3493,6 +3619,14 @@ "@taquito/core" "^17.2.0" axios "0.26.0" +"@taquito/local-forging@^15.0.1", "@taquito/local-forging@^15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@taquito/local-forging/-/local-forging-15.1.0.tgz#11404d4b90d4b1f4f6e3f7aa591e8227bf08e246" + integrity sha512-ib/2RqtxQQC9SjyTB9T5OSc5yUx9GUSdMOA4dmtiiFcN2+AG+aw7ixn6Hjt9Td8ZIOPt9H6HkyTypKrX7+cENw== + dependencies: + "@taquito/utils" "^15.1.0" + bignumber.js "^9.1.0" + "@taquito/local-forging@^17.2.0": version "17.2.0" resolved "https://registry.yarnpkg.com/@taquito/local-forging/-/local-forging-17.2.0.tgz#7a52da459aa87411df1dd2f477d6604eca91ec02" @@ -3502,6 +3636,11 @@ "@taquito/utils" "^17.2.0" bignumber.js "^9.1.0" +"@taquito/michel-codec@^15.0.1", "@taquito/michel-codec@^15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@taquito/michel-codec/-/michel-codec-15.1.0.tgz#b4452757ff02c40b110ec5ecafad1f659e1de4e3" + integrity sha512-wKucIhs7vhaq5H+YSF2f6Qu9+g+QiEL6MPc5ROpxBrXJTeKSwBOEIpfqcKfkfMuecJyHZJW3glNfkpAVTCgkxg== + "@taquito/michel-codec@^17.2.0": version "17.2.0" resolved "https://registry.yarnpkg.com/@taquito/michel-codec/-/michel-codec-17.2.0.tgz#6a71e50c3043fd31c0cc4b635eb14f38c8270963" @@ -3509,6 +3648,16 @@ dependencies: "@taquito/core" "^17.2.0" +"@taquito/michelson-encoder@^15.0.1", "@taquito/michelson-encoder@^15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@taquito/michelson-encoder/-/michelson-encoder-15.1.0.tgz#1b3250445d4cc7e945e6a0ed9f8deaf209e62ada" + integrity sha512-uQMEu3g+8WcYb5ZV6+XGvoWJhKoNxU0F2RqodLJB7UxQ1rI/OMa+VlxSLMt4niIxpKXqnO9j4tD7Y4mPC3ufaA== + dependencies: + "@taquito/rpc" "^15.1.0" + "@taquito/utils" "^15.1.0" + bignumber.js "^9.1.0" + fast-json-stable-stringify "^2.1.0" + "@taquito/michelson-encoder@^17.2.0": version "17.2.0" resolved "https://registry.yarnpkg.com/@taquito/michelson-encoder/-/michelson-encoder-17.2.0.tgz#ba32ee0214076a58b6e37fc83d802f1f5e123c58" @@ -3519,6 +3668,15 @@ bignumber.js "^9.1.0" fast-json-stable-stringify "^2.1.0" +"@taquito/rpc@^15.0.1", "@taquito/rpc@^15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@taquito/rpc/-/rpc-15.1.0.tgz#47f973d1f7d15cb56a4095c7a2a4d1803c5181c7" + integrity sha512-OeQA8QwT+s6IUmLaF5yeWruPYzWi/DVCA3kl+AaQ8IFfCMzmAW/MszbbNkJSzHpY2p4jPBwdRNxg3qeJdL482A== + dependencies: + "@taquito/http-utils" "^15.1.0" + "@taquito/utils" "^15.1.0" + bignumber.js "^9.1.0" + "@taquito/rpc@^17.0.0", "@taquito/rpc@^17.2.0": version "17.2.0" resolved "https://registry.yarnpkg.com/@taquito/rpc/-/rpc-17.2.0.tgz#2ab89aa5d2cbff6986ec212bc01c37c75a938760" @@ -3529,6 +3687,25 @@ "@taquito/utils" "^17.2.0" bignumber.js "^9.1.0" +"@taquito/signer@^15.0.1": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@taquito/signer/-/signer-15.1.0.tgz#0cb7bc9612e7f5ffbefc274f0aa6da27f5d755fd" + integrity sha512-VP7hS8cYQ6cMerVkbD5X3AqpoIXvh72xNuv3++R4reEjdl+E3VWs1CZZGnJj6yzlFV21SrdGKSILx8Rl3Ql4DA== + dependencies: + "@stablelib/blake2b" "^1.0.1" + "@stablelib/ed25519" "^1.0.3" + "@stablelib/hmac" "^1.0.1" + "@stablelib/nacl" "^1.0.4" + "@stablelib/pbkdf2" "^1.0.1" + "@stablelib/sha512" "^1.0.1" + "@taquito/taquito" "^15.1.0" + "@taquito/utils" "^15.1.0" + "@types/bn.js" "^5.1.1" + bip39 "^3.0.4" + elliptic "^6.5.4" + pbkdf2 "^3.1.2" + typedarray-to-buffer "^4.0.0" + "@taquito/signer@^17.0.0": version "17.2.0" resolved "https://registry.yarnpkg.com/@taquito/signer/-/signer-17.2.0.tgz#4173d4fab3b4a7599aa7be5f3934b691dff73e67" @@ -3548,6 +3725,34 @@ pbkdf2 "^3.1.2" typedarray-to-buffer "^4.0.0" +"@taquito/taquito@15.0.1": + version "15.0.1" + resolved "https://registry.yarnpkg.com/@taquito/taquito/-/taquito-15.0.1.tgz#da8d60e22c06de182bc745e735d7573604034dbd" + integrity sha512-DA0ikg/mSubmdQc2rCNoZkyTpwjoXsddTlptphkAGtqDGEb+VSO3fcQWa/T+NHupWraXXd+pqdOEewbR1cYhvw== + dependencies: + "@taquito/http-utils" "^15.0.1" + "@taquito/local-forging" "^15.0.1" + "@taquito/michel-codec" "^15.0.1" + "@taquito/michelson-encoder" "^15.0.1" + "@taquito/rpc" "^15.0.1" + "@taquito/utils" "^15.0.1" + bignumber.js "^9.1.0" + rxjs "^6.6.3" + +"@taquito/taquito@^15.0.1", "@taquito/taquito@^15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@taquito/taquito/-/taquito-15.1.0.tgz#9a3340a8bcaa8bd6e9567776cea1c1659aafe5e9" + integrity sha512-2AXWeNoXsmMOSkJVXtXjOlJkS+hKXITaSybMA6nJuS1YWY4e7iAr678Y6UgVEHRJxeGohX4R4Ww12Ymr3Sfedg== + dependencies: + "@taquito/http-utils" "^15.1.0" + "@taquito/local-forging" "^15.1.0" + "@taquito/michel-codec" "^15.1.0" + "@taquito/michelson-encoder" "^15.1.0" + "@taquito/rpc" "^15.1.0" + "@taquito/utils" "^15.1.0" + bignumber.js "^9.1.0" + rxjs "^6.6.3" + "@taquito/taquito@^17.0.0", "@taquito/taquito@^17.2.0": version "17.2.0" resolved "https://registry.yarnpkg.com/@taquito/taquito/-/taquito-17.2.0.tgz#cbf896340ed8ced8defbb01d98c286c166eea062" @@ -3563,6 +3768,21 @@ bignumber.js "^9.1.0" rxjs "^7.8.1" +"@taquito/utils@^15.0.1", "@taquito/utils@^15.1.0": + version "15.1.0" + resolved "https://registry.yarnpkg.com/@taquito/utils/-/utils-15.1.0.tgz#c72f07c4fe369920620809a23808817db4b7a221" + integrity sha512-lqVThoFMmOKPg9jyREr4A63cpeckf5esCwOyOAW3sm+yCxD9s5khnBPtH8s52cRVnChFdwk/eqmADka9gat5hw== + dependencies: + "@stablelib/blake2b" "^1.0.1" + "@stablelib/ed25519" "^1.0.3" + "@types/bs58check" "^2.1.0" + bignumber.js "^9.1.0" + blakejs "^1.2.1" + bs58check "^2.1.2" + buffer "^6.0.3" + elliptic "^6.5.4" + typedarray-to-buffer "^4.0.0" + "@taquito/utils@^17.2.0": version "17.2.0" resolved "https://registry.yarnpkg.com/@taquito/utils/-/utils-17.2.0.tgz#fca1a54fb0321bd1c99ecfe2a33b117a97df86c0" @@ -4401,6 +4621,11 @@ "@typescript-eslint/types" "4.33.0" eslint-visitor-keys "^2.0.0" +"@ungap/structured-clone@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406" + integrity sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ== + "@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" @@ -4588,6 +4813,10 @@ "@uniswap/v3-core" "1.0.0" "@uniswap/v3-periphery" "^1.0.1" +"@vespaiach/axios-fetch-adapter@github:ecadlabs/axios-fetch-adapter": + version "0.3.1" + resolved "https://codeload.github.com/ecadlabs/axios-fetch-adapter/tar.gz/167684f522e90343b9f3439d9a43ac571e2396f6" + "@wagmi/chains@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@wagmi/chains/-/chains-1.0.0.tgz#41710941f2c2a699a246c4e3a6112b4efd996171" @@ -4719,7 +4948,7 @@ accepts@^1.3.5, accepts@~1.3.8: mime-types "~2.1.34" negotiator "0.6.3" -acorn-jsx@^5.3.1: +acorn-jsx@^5.3.1, acorn-jsx@^5.3.2: version "5.3.2" resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== @@ -4744,6 +4973,11 @@ acorn@^8.4.1: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.8.2.tgz#1b2f25db02af965399b9776b0c2c391276d37c4a" integrity sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw== +acorn@^8.9.0: + version "8.11.3" + resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.11.3.tgz#71e0b14e13a4ec160724b38fb7b0f233b1b81d7a" + integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== + adm-zip@^0.4.16: version "0.4.16" resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.4.16.tgz#cf4c508fdffab02c269cbc7f471a875f05570365" @@ -5171,7 +5405,7 @@ async-limiter@~1.0.0: resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ== -async-retry@^1.2.1, async-retry@^1.3.1: +async-retry@1.3.3, 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== @@ -5253,6 +5487,13 @@ axios@^0.21.1, axios@^0.21.2: dependencies: follow-redirects "^1.14.0" +axios@^0.26.0: + 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" @@ -5510,7 +5751,7 @@ bl@^1.0.0: readable-stream "^2.3.5" safe-buffer "^5.1.1" -blakejs@^1.1.0, blakejs@^1.2.1: +blakejs@^1.1.0, blakejs@^1.1.1, 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== @@ -5991,6 +6232,11 @@ cbor@^5.2.0: bignumber.js "^9.0.1" nofilter "^1.0.4" +chai-bignumber@^3.0.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/chai-bignumber/-/chai-bignumber-3.1.0.tgz#e196456c760df21f0e124f6df922289ea15a7e4c" + integrity sha512-omxEc80jAU+pZwRmoWr3aEzeLad4JW3iBhLRQlgISvghBdIxrMT7mVAGsDz4WSyCkKowENshH2j9OABAhld7QQ== + chain-registry@^1.15.0: version "1.19.0" resolved "https://registry.yarnpkg.com/chain-registry/-/chain-registry-1.19.0.tgz#6d2d56b56efebee0d15ced8f9bd8329a099ce04d" @@ -6045,6 +6291,11 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +child_process@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/child_process/-/child_process-1.0.2.tgz#b1f7e7fc73d25e7fd1d455adc94e143830182b5a" + integrity sha512-Wmza/JzL0SiWz7kl6MhIKT5ceIlnFPJX+lwUGj7Clhy5MMldsSoJR0+uvRzOS5Kv45Mq7t1PoE8TsOA9bzvb6g== + 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" @@ -6602,7 +6853,7 @@ debug@3.1.0: 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, debug@4.3.4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3, debug@^4.3.4: version "4.3.4" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.4.tgz#1319f6579357f2338d3337d2cdd4914bb5dcc865" integrity sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ== @@ -6909,6 +7160,11 @@ dot-prop@^6.0.1: dependencies: is-obj "^2.0.0" +dotenv@10.0.0: + version "10.0.0" + resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-10.0.0.tgz#3d4227b8fb95f81096cdd2b66653fb2c7085ba81" + integrity sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q== + dotenv@^14.2.0: version "14.3.2" resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-14.3.2.tgz#7c30b3a5f777c79a3429cb2db358eef6751e8369" @@ -7326,6 +7582,14 @@ eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" +eslint-scope@^7.2.2: + version "7.2.2" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.2.2.tgz#deb4f92563390f32006894af62a22dba1c46423f" + integrity sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + 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" @@ -7350,6 +7614,11 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== + eslint@^7.25.0: version "7.32.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" @@ -7396,6 +7665,50 @@ eslint@^7.25.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" +eslint@^8.17.0: + version "8.56.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.56.0.tgz#4957ce8da409dc0809f99ab07a1b94832ab74b15" + integrity sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ== + dependencies: + "@eslint-community/eslint-utils" "^4.2.0" + "@eslint-community/regexpp" "^4.6.1" + "@eslint/eslintrc" "^2.1.4" + "@eslint/js" "8.56.0" + "@humanwhocodes/config-array" "^0.11.13" + "@humanwhocodes/module-importer" "^1.0.1" + "@nodelib/fs.walk" "^1.2.8" + "@ungap/structured-clone" "^1.2.0" + ajv "^6.12.4" + chalk "^4.0.0" + cross-spawn "^7.0.2" + debug "^4.3.2" + doctrine "^3.0.0" + escape-string-regexp "^4.0.0" + eslint-scope "^7.2.2" + eslint-visitor-keys "^3.4.3" + espree "^9.6.1" + esquery "^1.4.2" + esutils "^2.0.2" + fast-deep-equal "^3.1.3" + file-entry-cache "^6.0.1" + find-up "^5.0.0" + glob-parent "^6.0.2" + globals "^13.19.0" + graphemer "^1.4.0" + ignore "^5.2.0" + imurmurhash "^0.1.4" + is-glob "^4.0.0" + is-path-inside "^3.0.3" + js-yaml "^4.1.0" + json-stable-stringify-without-jsonify "^1.0.1" + levn "^0.4.1" + lodash.merge "^4.6.2" + minimatch "^3.1.2" + natural-compare "^1.4.0" + optionator "^0.9.3" + strip-ansi "^6.0.1" + text-table "^0.2.0" + espree@^7.3.0, espree@^7.3.1: version "7.3.1" resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" @@ -7405,12 +7718,21 @@ espree@^7.3.0, espree@^7.3.1: acorn-jsx "^5.3.1" eslint-visitor-keys "^1.3.0" +espree@^9.6.0, espree@^9.6.1: + version "9.6.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.6.1.tgz#a2a17b8e434690a5432f2f8018ce71d331a48c6f" + integrity sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ== + dependencies: + acorn "^8.9.0" + acorn-jsx "^5.3.2" + eslint-visitor-keys "^3.4.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== -esquery@^1.4.0: +esquery@^1.4.0, esquery@^1.4.2: version "1.5.0" resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.5.0.tgz#6ce17738de8577694edd7361c57182ac8cb0db0b" integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg== @@ -7568,36 +7890,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-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-643c422e-10e6-4945-a4b4-25dfc3bdb9df-1705029690860/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-625c5c8a-fd41-4e59-959f-e090c9404805-1705413414993/node_modules/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3" @@ -7667,9 +7989,9 @@ ethers@^4.0.32: xmlhttprequest "1.8.0" ethers@^6.9.2: - version "6.9.2" - resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.9.2.tgz#6f4632f62e2350fa8354ff28624027a175ef85a4" - integrity sha512-YpkrtILnMQz5jSEsJQRTpduaGT/CXuLnUIuOYzHA0v/7c8IX91m2J48wSKjzGL5L9J/Us3tLoUdb+OwE3U+FFQ== + version "6.10.0" + resolved "https://registry.yarnpkg.com/ethers/-/ethers-6.10.0.tgz#20f3c63c60d59a993f8090ad423d8a3854b3b1cd" + integrity sha512-nMNwYHzs6V1FR3Y4cdfxSQmNgZsRj1RiTU25JwvnJLmyzw9z3SKxNc2XKDuiXXo/v9ds5Mp9m6HBabgYQQ26tA== dependencies: "@adraffy/ens-normalize" "1.10.0" "@noble/curves" "1.2.0" @@ -8060,7 +8382,7 @@ finalhandler@1.2.0: statuses "2.0.1" unpipe "~1.0.0" -find-up@5.0.0: +find-up@5.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== @@ -8119,9 +8441,9 @@ follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.8, fo integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== follow-redirects@^1.15.4: - version "1.15.4" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.4.tgz#cdc7d308bf6493126b17ea2191ea0ccf3e535adf" - integrity sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw== + version "1.15.5" + resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020" + integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw== for-each@^0.3.3: version "0.3.3" @@ -8435,6 +8757,13 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" +glob-parent@^6.0.2: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + 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" @@ -8500,6 +8829,13 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== +globals@^13.19.0: + version "13.24.0" + resolved "https://registry.yarnpkg.com/globals/-/globals-13.24.0.tgz#8432a19d78ce0c1e833949c36adb345400bb1171" + integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ== + dependencies: + type-fest "^0.20.2" + globals@^13.6.0, globals@^13.9.0: version "13.20.0" resolved "https://registry.yarnpkg.com/globals/-/globals-13.20.0.tgz#ea276a1e508ffd4f1612888f9d1bad1e2717bf82" @@ -8623,6 +8959,21 @@ graceful-fs@^4.1.10, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6 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== +graphemer@^1.4.0: + version "1.4.0" + resolved "https://registry.yarnpkg.com/graphemer/-/graphemer-1.4.0.tgz#fb2f1d55e0e3a1849aeffc90c4fa0dd53a0e66c6" + integrity sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag== + +graphql-request@5.0.0: + version "5.0.0" + resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-5.0.0.tgz#7504a807d0e11be11a3c448e900f0cc316aa18ef" + integrity sha512-SpVEnIo2J5k2+Zf76cUkdvIRaq5FMZvGQYnA4lUWYbc99m+fHh4CZYRRO/Ff4tCLQ613fzCm3SiDT64ubW5Gyw== + dependencies: + "@graphql-typed-document-node/core" "^3.1.1" + cross-fetch "^3.1.5" + extract-files "^9.0.0" + form-data "^3.0.0" + graphql-request@^3.4.0: version "3.7.0" resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-3.7.0.tgz#c7406e537084f8b9788541e3e6704340ca13055b" @@ -8632,6 +8983,14 @@ graphql-request@^3.4.0: extract-files "^9.0.0" form-data "^3.0.0" +graphql-request@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-6.1.0.tgz#f4eb2107967af3c7a5907eb3131c671eac89be4f" + integrity sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw== + dependencies: + "@graphql-typed-document-node/core" "^3.2.0" + cross-fetch "^3.1.5" + 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" @@ -8649,6 +9008,11 @@ graphql@^16.3.0: resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.6.0.tgz#c2dcffa4649db149f6282af726c8c83f1c7c5fdb" integrity sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw== +graphql@^16.8.1: + version "16.8.1" + resolved "https://registry.yarnpkg.com/graphql/-/graphql-16.8.1.tgz#1930a965bef1170603702acdb68aedd3f3cf6f07" + integrity sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw== + growl@1.10.3: version "1.10.3" resolved "https://registry.yarnpkg.com/growl/-/growl-1.10.3.tgz#1926ba90cf3edfe2adb4927f5880bc22c66c790f" @@ -9368,6 +9732,11 @@ is-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== +is-path-inside@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" + integrity sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ== + 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" @@ -10974,7 +11343,7 @@ minimalistic-crypto-utils@^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: +"minimatch@2 || 3", minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.0.5, 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== @@ -11693,6 +12062,18 @@ optionator@^0.9.1: type-check "^0.4.0" word-wrap "^1.2.3" +optionator@^0.9.3: + version "0.9.3" + resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.3.tgz#007397d44ed1872fdc6ed31360190f81814e2c64" + integrity sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg== + dependencies: + "@aashutoshrathi/word-wrap" "^1.2.3" + deep-is "^0.1.3" + fast-levenshtein "^2.0.6" + levn "^0.4.1" + prelude-ls "^1.2.1" + type-check "^0.4.0" + original-require@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/original-require/-/original-require-1.0.1.tgz#0f130471584cd33511c5ec38c8d59213f9ac5e20" @@ -12230,6 +12611,11 @@ prettier@^2.3.0: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.5.tgz#3dd8ae1ebddc4f6aa419c9b64d8c8319a7e0d982" integrity sha512-3gzuxrHbKUePRBB4ZeU08VNkUcqEHaUaouNt0m7LGP4Hti/NuB07C7PPTM/LkWqXoJYJn2McEo5+kxPNrtQkLQ== +prettier@^2.7.0: + version "2.8.8" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da" + integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q== + pretty-format@^22.4.3: version "22.4.3" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-22.4.3.tgz#f873d780839a9c02e9664c8a082e9ee79eaac16f" @@ -12458,6 +12844,26 @@ quickswap-sdk@^3.0.8: tiny-warning "^1.0.3" toformat "^2.0.0" +quipuswap-v3-sdk@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/quipuswap-v3-sdk/-/quipuswap-v3-sdk-0.0.7.tgz#7b86a38eb7bf0f4c7e73ce68c637bac4eb07e37b" + integrity sha512-zkye1ykEGJ3TA2P1nmNQQ9cv4R4A4hK+3dfPJMk9AGp/GQuO30R2JxUobacDo4HvSTlmx6Xk3srEOTnajbwUTg== + dependencies: + "@taquito/http-utils" "^15.0.1" + "@taquito/local-forging" "^15.0.1" + "@taquito/michel-codec" "^15.0.1" + "@taquito/michelson-encoder" "^15.0.1" + "@taquito/rpc" "^15.0.1" + "@taquito/signer" "^15.0.1" + "@taquito/taquito" "^15.0.1" + blakejs "^1.1.1" + chai-bignumber "^3.0.0" + child_process "^1.0.2" + dotenv "10.0.0" + ts-node "^10.2.1" + typescript "^4.4.3" + yargs "^17.2.1" + 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" @@ -12917,6 +13323,13 @@ rustbn.js@~0.2.0: resolved "https://registry.yarnpkg.com/rustbn.js/-/rustbn.js-0.2.0.tgz#8082cb886e707155fd1cb6f23bd591ab8d55d0ca" integrity sha512-4VlvkRUuCJvr2J6Y0ImW7NvTCriMi7ErOAqWk1y69vAdoNIzCF3yPmgeNzx+RQTLEDFq5sHfscn1MwHxP9hNfA== +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" @@ -13785,6 +14198,17 @@ swap-case@^1.1.0: lower-case "^1.1.1" upper-case "^1.1.1" +swap-router-sdk@^1.21.1: + version "1.21.1" + resolved "https://registry.yarnpkg.com/swap-router-sdk/-/swap-router-sdk-1.21.1.tgz#e6febfd5564ce3482518383e938b200908daf140" + integrity sha512-Nz5m5074D+lmflF972NVnWvQOoBsdE6C9HRs0X6ZkXWtgfQiT8IfqMz03XPQeLmsL6OupCKmpLBj2YSmcV1APQ== + dependencies: + "@taquito/taquito" "15.0.1" + async-retry "1.3.3" + bignumber.js "^9.1.0" + eslint "^8.17.0" + prettier "^2.7.0" + swarm-js@0.1.39: version "0.1.39" resolved "https://registry.yarnpkg.com/swarm-js/-/swarm-js-0.1.39.tgz#79becb07f291d4b2a178c50fee7aa6e10342c0e8" @@ -14145,6 +14569,25 @@ ts-node@^10.0.0: v8-compile-cache-lib "^3.0.1" yn "3.1.1" +ts-node@^10.2.1: + version "10.9.2" + resolved "https://registry.yarnpkg.com/ts-node/-/ts-node-10.9.2.tgz#70f021c9e185bccdca820e26dc413805c101c71f" + integrity sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ== + 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" @@ -14160,7 +14603,7 @@ tslib@2.4.0: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.4.0.tgz#7cecaa7f073ce680a05847aa77be941098f36dc3" integrity sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ== -tslib@^1.8.1, tslib@^1.9.3: +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== @@ -14314,6 +14757,11 @@ typescript-tuple@^2.2.1: dependencies: typescript-compare "^0.0.2" +typescript@^4.4.3: + 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" @@ -14636,6 +15084,20 @@ viem@^0.3.x: isomorphic-ws "5.0.0" ws "8.12.0" +viem@^1.2.9: + version "1.19.15" + resolved "https://registry.yarnpkg.com/viem/-/viem-1.19.15.tgz#0f2307632fa0ef10dfab2d8fdd71fbb842a0a4f5" + integrity sha512-rc87AkyrUUsoOAgMNYP+X/wN4GYwbhP87DkmsqQCYKxxQyzTX0+yliKs6Bxljbjr8ybU72GOb12Oyus6393AjQ== + 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" @@ -15529,7 +15991,7 @@ yargs@^12.0.2: y18n "^3.2.1 || ^4.0.0" yargs-parser "^11.1.1" -yargs@^17.3.1: +yargs@^17.2.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== @@ -15576,3 +16038,8 @@ 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== + +zod@^3.22.3: + version "3.22.4" + resolved "https://registry.yarnpkg.com/zod/-/zod-3.22.4.tgz#f31c3a9386f61b1f228af56faa9255e845cf3fff" + integrity sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg== From a578716dcc609ffcef0e360c0870647e3da7316f Mon Sep 17 00:00:00 2001 From: 0xCodercrane <108444211+0xcodercrane@users.noreply.github.com> Date: Tue, 16 Jan 2024 22:12:05 +0800 Subject: [PATCH 13/13] fix: await --- test/chains/ethereum/ethereum.controllers.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/chains/ethereum/ethereum.controllers.test.ts b/test/chains/ethereum/ethereum.controllers.test.ts index a0fd3bc346..34b681730c 100644 --- a/test/chains/ethereum/ethereum.controllers.test.ts +++ b/test/chains/ethereum/ethereum.controllers.test.ts @@ -42,7 +42,7 @@ const mockAddress = '0xFaA12FD102FE8623C9299c72B03E45107F2772B5'; // noqa: mock describe('init', () => { it('should wait for the first init() call to finish in future immediate init() calls', async () => { let firstCallFullfilled = false; - eth.init().then(() => { + await eth.init().then(() => { firstCallFullfilled = true; }); await eth.init().then(() => {