diff --git a/package.json b/package.json index 40028efb8e..da576477f8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hummingbot-gateway", - "version": "1.26.0", + "version": "1.27.0", "description": "Middleware that helps Hummingbot clients access standardized DEX API endpoints on different blockchain networks", "main": "index.js", "license": "Apache-2.0", diff --git a/src/amm/amm.requests.ts b/src/amm/amm.requests.ts index 055561e7eb..a02f0470c9 100644 --- a/src/amm/amm.requests.ts +++ b/src/amm/amm.requests.ts @@ -15,6 +15,7 @@ export interface PriceRequest extends NetworkSelectionRequest { amount: string; side: Side; allowedSlippage?: string; + poolId?: string; } export interface PriceResponse { @@ -41,6 +42,7 @@ export interface PoolPriceRequest extends NetworkSelectionRequest { fee?: string; period?: number; interval?: number; + poolId?: string; } export interface PoolPriceResponse { @@ -67,6 +69,7 @@ export interface TradeRequest extends NetworkSelectionRequest { maxFeePerGas?: string; maxPriorityFeePerGas?: string; allowedSlippage?: string; + poolId?: string; } export interface TradeResponse { @@ -106,6 +109,7 @@ export interface AddLiquidityRequest extends NetworkSelectionRequest { // now al maxFeePerGas?: string; maxPriorityFeePerGas?: string; allowedSlippage?: string; // COSMOS: used to calc TokenMinAmount + poolId?: string; } export interface AddLiquidityResponse { diff --git a/src/amm/amm.validators.ts b/src/amm/amm.validators.ts index 111bf0d943..e867adc75b 100644 --- a/src/amm/amm.validators.ts +++ b/src/amm/amm.validators.ts @@ -62,6 +62,9 @@ export const invalidDecreasePercentError: string = export const invalidAllowedSlippageError: string = 'The allowedSlippage param may be null or a string of a fraction.'; +export const invalidPoolIdError: string = + 'PoolId(if supplied) must be a string.'; + export const validateConnector: Validator = mkValidator( 'connector', invalidConnectorError, @@ -194,6 +197,13 @@ export const validateAllowedSlippage: Validator = mkValidator( true ); +export const validatePoolId: Validator = mkValidator( + 'poolId', + invalidPoolIdError, + (val) => typeof val === 'string' && val.length !== 0, + true +); + export const validatePriceRequest: RequestValidator = mkRequestValidator([ validateConnector, validateChain, @@ -203,6 +213,7 @@ export const validatePriceRequest: RequestValidator = mkRequestValidator([ validateAmount, validateSide, validateAllowedSlippage, + validatePoolId, ]); export const validateTradeRequest: RequestValidator = mkRequestValidator([ @@ -218,6 +229,7 @@ export const validateTradeRequest: RequestValidator = mkRequestValidator([ validateMaxFeePerGas, validateMaxPriorityFeePerGas, validateAllowedSlippage, + validatePoolId, ]); export const validatePerpPositionRequest: RequestValidator = mkRequestValidator( @@ -302,6 +314,7 @@ export const validateAddLiquidityRequest: RequestValidator = mkRequestValidator( validateNonce, validateMaxFeePerGas, validateMaxPriorityFeePerGas, + validatePoolId, ] ); @@ -345,4 +358,5 @@ export const validatePoolPriceRequest: RequestValidator = mkRequestValidator([ validateFee, validateInterval, validatePeriod, + validatePoolId, ]); diff --git a/src/app.ts b/src/app.ts index 8266e1d4cd..08fbdb4323 100644 --- a/src/app.ts +++ b/src/app.ts @@ -112,7 +112,7 @@ export const startSwagger = async () => { export const startGateway = async () => { const port = ConfigManagerV2.getInstance().get('server.port'); - const gateway_version="1.26.0"; // gateway version + const gateway_version="1.27.0" if (!ConfigManagerV2.getInstance().get('server.id')) { ConfigManagerV2.getInstance().set( 'server.id', diff --git a/src/chains/ethereum/ethereum.ts b/src/chains/ethereum/ethereum.ts index 1694ac7820..3e73a0e1c8 100644 --- a/src/chains/ethereum/ethereum.ts +++ b/src/chains/ethereum/ethereum.ts @@ -3,6 +3,7 @@ import { logger } from '../../services/logger'; import { BigNumber, Contract, Transaction, Wallet } from 'ethers'; import { EthereumBase } from './ethereum-base'; import { getEthereumConfig } from './ethereum.config'; +import { PancakeSwapConfig } from '../../connectors/pancakeswap/pancakeswap.config'; import { Provider } from '@ethersproject/abstract-provider'; import { ConfigManagerV2 } from '../../services/config-manager-v2'; // import { throttleRetryWrapper } from '../../services/retry'; @@ -48,7 +49,7 @@ export class Ethereum extends EthereumBase implements Ethereumish { config.manualGasPrice, config.gasLimitTransaction, ConfigManagerV2.getInstance().get('server.nonceDbPath'), - ConfigManagerV2.getInstance().get('server.transactionDbPath') + ConfigManagerV2.getInstance().get('server.transactionDbPath'), ); this._chain = network; this._nativeTokenSymbol = config.nativeCurrencySymbol; @@ -66,7 +67,7 @@ export class Ethereum extends EthereumBase implements Ethereumish { this.onDebugMessage(this.requestCounter.bind(this)); this._metricTimer = setInterval( this.metricLogger.bind(this), - this.metricsLogInterval + this.metricsLogInterval, ); this.controller = EVMController; } @@ -95,7 +96,7 @@ export class Ethereum extends EthereumBase implements Ethereumish { this.requestCount + ' request(s) sent in last ' + this.metricsLogInterval / 1000 + - ' seconds.' + ' seconds.', ); this._requestCount = 0; // reset } @@ -146,7 +147,7 @@ export class Ethereum extends EthereumBase implements Ethereumish { setTimeout( this.updateGasPrice.bind(this), - this._gasPriceRefreshInterval * 1000 + this._gasPriceRefreshInterval * 1000, ); } @@ -159,7 +160,7 @@ export class Ethereum extends EthereumBase implements Ethereumish { let priorityFee: BigNumber = BigNumber.from('0'); if (this._chain === 'mainnet') { priorityFee = BigNumber.from( - await this.provider.send('eth_maxPriorityFeePerGas', []) + await this.provider.send('eth_maxPriorityFeePerGas', []), ); } return baseFee.add(priorityFee).toNumber() * 1e-9; @@ -167,7 +168,7 @@ export class Ethereum extends EthereumBase implements Ethereumish { getContract( tokenAddress: string, - signerOrProvider?: Wallet | Provider + signerOrProvider?: Wallet | Provider, ): Contract { return tokenAddress === MKR_ADDRESS ? new Contract(tokenAddress, abi.MKRAbi, signerOrProvider) @@ -180,19 +181,25 @@ export class Ethereum extends EthereumBase implements Ethereumish { let spender: string; if (reqSpender === 'uniswap') { spender = UniswapConfig.config.uniswapV3SmartOrderRouterAddress( - this._chain + this._chain, + ); + } else if (reqSpender === 'pancakeswap') { + spender = PancakeSwapConfig.config.routerAddress(this._chain); + } else if (reqSpender === 'pancakeswapLP') { + spender = PancakeSwapConfig.config.pancakeswapV3NftManagerAddress( + this._chain, ); } else if (reqSpender === 'sushiswap') { spender = SushiswapConfig.config.sushiswapRouterAddress( this.chainName, - this._chain + this._chain, ); } else if (reqSpender === 'uniswapLP') { spender = UniswapConfig.config.uniswapV3NftManagerAddress(this._chain); } else if (reqSpender === 'carbonamm') { spender = CarbonConfig.config.carbonContractsConfig( 'ethereum', - this._chain + this._chain, ).carbonControllerAddress; } else if (reqSpender === 'perp') { const perp = Perp.getInstance(this._chain, 'optimism'); @@ -219,7 +226,7 @@ export class Ethereum extends EthereumBase implements Ethereumish { // cancel transaction async cancelTx(wallet: Wallet, nonce: number): Promise { logger.info( - 'Canceling any existing transaction(s) with nonce number ' + nonce + '.' + 'Canceling any existing transaction(s) with nonce number ' + nonce + '.', ); return this.cancelTxWithGasPrice(wallet, nonce, this._gasPrice * 2); } diff --git a/src/connectors/pancakeswap/pancakeswap.config.ts b/src/connectors/pancakeswap/pancakeswap.config.ts index 68102901d7..d52080b53b 100644 --- a/src/connectors/pancakeswap/pancakeswap.config.ts +++ b/src/connectors/pancakeswap/pancakeswap.config.ts @@ -17,8 +17,11 @@ export namespace PancakeSwapConfig { export const v2Config: V2NetworkConfig = buildConfig( 'pancakeswap', ['AMM'], - [{ chain: 'binance-smart-chain', networks: ['mainnet', 'testnet'] }], - 'EVM' + [ + { chain: 'binance-smart-chain', networks: ['mainnet', 'testnet'] }, + { chain: 'ethereum', networks: ['mainnet', 'arbitrum', 'zksync'] }, + ], + 'EVM', ); export const config: NetworkConfig = { @@ -27,11 +30,11 @@ export namespace PancakeSwapConfig { maximumHops: ConfigManagerV2.getInstance().get(`pancakeswap.maximumHops`), pancakeswapV3SmartOrderRouterAddress: (network: string) => ConfigManagerV2.getInstance().get( - `pancakeswap.contractAddresses.${network}.pancakeswapV3SmartOrderRouterAddress` + `pancakeswap.contractAddresses.${network}.pancakeswapV3SmartOrderRouterAddress`, ), pancakeswapV3NftManagerAddress: (network: string) => ConfigManagerV2.getInstance().get( - `pancakeswap.contractAddresses.${network}.pancakeswapV3NftManagerAddress` + `pancakeswap.contractAddresses.${network}.pancakeswapV3NftManagerAddress`, ), tradingTypes: (type: string) => { return type === 'swap' ? ['AMM'] : ['AMM_LP']; diff --git a/src/connectors/pancakeswap/pancakeswap.lp.helper.ts b/src/connectors/pancakeswap/pancakeswap.lp.helper.ts index a542d3e89e..ede645044b 100644 --- a/src/connectors/pancakeswap/pancakeswap.lp.helper.ts +++ b/src/connectors/pancakeswap/pancakeswap.lp.helper.ts @@ -24,9 +24,10 @@ import * as math from 'mathjs'; import { getAddress } from 'ethers/lib/utils'; import { RemoveLiquidityOptions } from '@pancakeswap/v3-sdk'; import { BinanceSmartChain } from '../../chains/binance-smart-chain/binance-smart-chain'; +import { Ethereum } from '../../chains/ethereum/ethereum'; export class PancakeswapLPHelper { - protected chain: BinanceSmartChain; + protected chain: Ethereum | BinanceSmartChain; protected chainId; private _router: string; private _nftManager: string; @@ -36,14 +37,16 @@ export class PancakeswapLPHelper { private _poolAbi: ContractInterface; private _alphaRouter: AlphaRouter | undefined; private tokenList: Record = {}; - private _chainName: string; private _ready: boolean = false; public abiDecoder: any; constructor(chain: string, network: string) { - this.chain = BinanceSmartChain.getInstance(network); - this._chainName = chain; - this.chainId = this.chain.chainId; + if (chain === 'ethereum') { + this.chain = Ethereum.getInstance(network); + } else { + this.chain = BinanceSmartChain.getInstance(network); + } + this.chainId = this.getChainId(chain, network); // this._alphaRouter = new AlphaRouter({ // chainId: this.chainId, // provider: this.chain.provider, @@ -108,10 +111,11 @@ export class PancakeswapLPHelper { } public async init() { - if (this._chainName == 'binance-smart-chain' && !this.chain.ready()) + const chainName = this.chain.toString(); + if (!this.chain.ready()) throw new InitializationError( - SERVICE_UNITIALIZED_ERROR_MESSAGE('BinanceSmartChain'), - SERVICE_UNITIALIZED_ERROR_CODE + SERVICE_UNITIALIZED_ERROR_MESSAGE(chainName), + SERVICE_UNITIALIZED_ERROR_CODE, ); for (const token of this.chain.storedTokenList) { this.tokenList[token.address] = new Token( @@ -119,12 +123,18 @@ export class PancakeswapLPHelper { token.address, token.decimals, token.symbol, - token.name + token.name, ); } this._ready = true; } + public getChainId(chain: string, network: string): number { + if (chain === 'binance-smart-chain') { + return BinanceSmartChain.getInstance(network).chainId; + } else return Ethereum.getInstance(network).chainId; + } + getPercentage(rawPercent: number | string): Percent { const slippage = math.fraction(rawPercent) as math.Fraction; return new Percent(slippage.n, slippage.d * 100); @@ -135,13 +145,13 @@ export class PancakeswapLPHelper { const nd = allowedSlippage.match(percentRegexp); if (nd) return new Percent(nd[1], nd[2]); throw new Error( - 'Encountered a malformed percent string in the config for ALLOWED_SLIPPAGE.' + 'Encountered a malformed percent string in the config for ALLOWED_SLIPPAGE.', ); } getContract( contract: string, - signer: providers.StaticJsonRpcProvider | Signer + signer: providers.StaticJsonRpcProvider | Signer, ): Contract { if (contract === 'router') { return new Contract(this.router, this.routerAbi, signer); @@ -152,23 +162,23 @@ export class PancakeswapLPHelper { getPoolContract( pool: string, - wallet: providers.StaticJsonRpcProvider | Signer + wallet: providers.StaticJsonRpcProvider | Signer, ): Contract { return new Contract(pool, this.poolAbi, wallet); } async getPoolState( poolAddress: string, - fee: v3.FeeAmount + fee: v3.FeeAmount, ): Promise { const poolContract = this.getPoolContract(poolAddress, this.chain.provider); const minTick = v3.nearestUsableTick( v3.TickMath.MIN_TICK, - v3.TICK_SPACINGS[fee] + v3.TICK_SPACINGS[fee], ); const maxTick = v3.nearestUsableTick( v3.TickMath.MAX_TICK, - v3.TICK_SPACINGS[fee] + v3.TICK_SPACINGS[fee], ); const poolDataReq = await Promise.allSettled([ poolContract.liquidity(), @@ -178,14 +188,14 @@ export class PancakeswapLPHelper { ]); const rejected = poolDataReq.filter( - (r) => r.status === 'rejected' + (r) => r.status === 'rejected', ) as PromiseRejectedResult[]; if (rejected.length > 0) throw new Error('Unable to fetch pool state'); const poolData = ( poolDataReq.filter( - (r) => r.status === 'fulfilled' + (r) => r.status === 'fulfilled', ) as PromiseFulfilledResult[] ).map((r) => r.value); @@ -219,7 +229,7 @@ export class PancakeswapLPHelper { token1: Token, tier: string, period: number = 1, - interval: number = 1 + interval: number = 1, ): Promise { const fetchPriceTime = []; const prices = []; @@ -227,7 +237,7 @@ export class PancakeswapLPHelper { const poolContract = new Contract( v3.Pool.getAddress(token0, token1, fee), this.poolAbi, - this.chain.provider + this.chain.provider, ); for ( let x = Math.ceil(period / interval) * interval; @@ -246,11 +256,11 @@ export class PancakeswapLPHelper { token1, Math.ceil( response.tickCumulatives[twap + 1].sub( - response.tickCumulatives[twap].toNumber() - ) / interval - ) + response.tickCumulatives[twap].toNumber(), + ) / interval, + ), ) - .toFixed(8) + .toFixed(8), ); } } catch (e) { @@ -264,12 +274,12 @@ export class PancakeswapLPHelper { const requests = [contract.positions(tokenId)]; const positionInfoReq = await Promise.allSettled(requests); const rejected = positionInfoReq.filter( - (r) => r.status === 'rejected' + (r) => r.status === 'rejected', ) as PromiseRejectedResult[]; if (rejected.length > 0) throw new Error('Unable to fetch position'); const positionInfo = ( positionInfoReq.filter( - (r) => r.status === 'fulfilled' + (r) => r.status === 'fulfilled', ) as PromiseFulfilledResult[] ).map((r) => r.value); return positionInfo[0]; @@ -280,7 +290,7 @@ export class PancakeswapLPHelper { tokenId: number, token0: Token, token1: Token, - wallet: Wallet + wallet: Wallet, ): RemoveLiquidityOptions { // }; // recipient: string; // expectedCurrencyOwed1: CurrencyAmount; // expectedCurrencyOwed0: CurrencyAmount; // collectOptions: { // burnToken: boolean; // deadline: number; // slippageTolerance: Percent; // liquidityPercentage: Percent; // tokenId: number; // { return { @@ -306,7 +316,7 @@ export class PancakeswapLPHelper { fee: v3.FeeAmount, lowerPrice: number, upperPrice: number, - tokenId: number = 0 + tokenId: number = 0, ): Promise { if (token1.sortsBefore(token0)) { [token0, token1] = [token1, token0]; @@ -317,7 +327,7 @@ export class PancakeswapLPHelper { const upperPriceInFraction = math.fraction(upperPrice) as math.Fraction; const poolData = await this.getPoolState( v3.Pool.getAddress(token0, token1, fee), - fee + fee, ); const pool = new v3.Pool( token0, @@ -325,7 +335,7 @@ export class PancakeswapLPHelper { poolData.fee, poolData.sqrtPriceX96.toString(), poolData.liquidity.toString(), - poolData.tick + poolData.tick, ); const addLiquidityOptions = { @@ -349,10 +359,10 @@ export class PancakeswapLPHelper { .toString(), utils .parseUnits(lowerPriceInFraction.n.toString(), token1.decimals) - .toString() - ) + .toString(), + ), ), - v3.TICK_SPACINGS[fee] + v3.TICK_SPACINGS[fee], ); const tickUpper = v3.nearestUsableTick( @@ -365,10 +375,10 @@ export class PancakeswapLPHelper { .toString(), utils .parseUnits(upperPriceInFraction.n.toString(), token1.decimals) - .toString() - ) + .toString(), + ), ), - v3.TICK_SPACINGS[fee] + v3.TICK_SPACINGS[fee], ); const position = v3.Position.fromAmounts({ @@ -383,7 +393,7 @@ export class PancakeswapLPHelper { const methodParameters = v3.NonfungiblePositionManager.addCallParameters( position, - { ...swapOptions, ...addLiquidityOptions } + { ...swapOptions, ...addLiquidityOptions }, ); return { ...methodParameters, swapRequired: false }; } @@ -391,7 +401,7 @@ export class PancakeswapLPHelper { async reducePositionHelper( wallet: Wallet, tokenId: number, - decreasePercent: number + decreasePercent: number, ): Promise { // Reduce position and burn const positionData = await this.getRawPosition(wallet, tokenId); @@ -400,7 +410,7 @@ export class PancakeswapLPHelper { const fee = positionData.fee; if (!token0 || !token1) { throw new Error( - `One of the tokens in this position isn't recognized. $token0: ${token0}, $token1: ${token1}` + `One of the tokens in this position isn't recognized. $token0: ${token0}, $token1: ${token1}`, ); } const poolAddress = v3.Pool.getAddress(token0, token1, fee); @@ -412,7 +422,7 @@ export class PancakeswapLPHelper { poolData.fee, poolData.sqrtPriceX96.toString(), poolData.liquidity.toString(), - poolData.tick + poolData.tick, ), tickLower: positionData.tickLower, tickUpper: positionData.tickUpper, @@ -425,8 +435,8 @@ export class PancakeswapLPHelper { tokenId, token0, token1, - wallet - ) + wallet, + ), ); } } diff --git a/src/connectors/pancakeswap/pancakeswap.lp.ts b/src/connectors/pancakeswap/pancakeswap.lp.ts index 606c1938a5..133d874813 100644 --- a/src/connectors/pancakeswap/pancakeswap.lp.ts +++ b/src/connectors/pancakeswap/pancakeswap.lp.ts @@ -41,7 +41,7 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { if (!(chain + network in PancakeswapLP._instances)) { PancakeswapLP._instances[chain + network] = new PancakeswapLP( chain, - network + network, ); } @@ -63,13 +63,13 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { ]; const positionInfoReq = await Promise.allSettled(requests); const rejected = positionInfoReq.filter( - (r) => r.status === 'rejected' + (r) => r.status === 'rejected', ) as PromiseRejectedResult[]; if (rejected.length > 0) throw new Error(`Unable to fetch position with id ${tokenId}`); const positionInfo = ( positionInfoReq.filter( - (r) => r.status === 'fulfilled' + (r) => r.status === 'fulfilled', ) as PromiseFulfilledResult[] ).map((r) => r.value); const position = positionInfo[0]; @@ -89,7 +89,7 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { poolData.fee, poolData.sqrtPriceX96.toString(), poolData.liquidity.toString(), - poolData.tick + poolData.tick, ), tickLower: position.tickLower, tickUpper: position.tickUpper, @@ -105,11 +105,11 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { amount1: positionInst.amount1.toFixed(), unclaimedToken0: utils.formatUnits( feeInfo.amount0.toString(), - token0.decimals + token0.decimals, ), unclaimedToken1: utils.formatUnits( feeInfo.amount1.toString(), - token1.decimals + token1.decimals, ), }; } @@ -128,7 +128,7 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { gasPrice: number, nonce?: number, maxFeePerGas?: BigNumber, - maxPriorityFeePerGas?: BigNumber + maxPriorityFeePerGas?: BigNumber, ): Promise { const convertedFee = v3.FeeAmount[fee as keyof typeof v3.FeeAmount]; const addLiquidityResponse: AddPosReturn = await this.addPositionHelper( @@ -140,7 +140,7 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { convertedFee, lowerPrice, upperPrice, - tokenId + tokenId, ); if (nonce === undefined) { @@ -156,7 +156,7 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { nonce, maxFeePerGas, maxPriorityFeePerGas, - addLiquidityResponse.value + addLiquidityResponse.value, ), }); logger.info(`Pancakeswap V3 Add position Tx Hash: ${tx.hash}`); @@ -171,14 +171,14 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { gasPrice: number, nonce?: number, maxFeePerGas?: BigNumber, - maxPriorityFeePerGas?: BigNumber + maxPriorityFeePerGas?: BigNumber, ): Promise { // Reduce position and burn const contract = this.getContract('nft', wallet); const { calldata, value } = await this.reducePositionHelper( wallet, tokenId, - decreasePercent + decreasePercent, ); if (nonce === undefined) { @@ -193,8 +193,8 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { nonce, maxFeePerGas, maxPriorityFeePerGas, - value - ) + value, + ), ); logger.info(`Pancakeswap V3 Remove position Tx Hash: ${tx.hash}`); return tx; @@ -207,7 +207,7 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { gasPrice: number = 0, nonce?: number, maxFeePerGas?: BigNumber, - maxPriorityFeePerGas?: BigNumber + maxPriorityFeePerGas?: BigNumber, ): Promise { const contract = this.getContract('nft', wallet); const collectData = { @@ -231,8 +231,8 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { gasPrice, nonce, maxFeePerGas, - maxPriorityFeePerGas - ) + maxPriorityFeePerGas, + ), ); } } @@ -243,7 +243,7 @@ export class PancakeswapLP extends PancakeswapLPHelper implements UniswapLPish { nonce?: number, maxFeePerGas?: BigNumber, maxPriorityFeePerGas?: BigNumber, - value?: string + value?: string, ): Overrides { const overrides: Overrides = { gasLimit: BigNumber.from(String(gasLimit.toFixed(0))), diff --git a/src/connectors/pancakeswap/pancakeswap.ts b/src/connectors/pancakeswap/pancakeswap.ts index cfcb260fda..5f384ec081 100644 --- a/src/connectors/pancakeswap/pancakeswap.ts +++ b/src/connectors/pancakeswap/pancakeswap.ts @@ -14,6 +14,7 @@ import { Wallet, } from 'ethers'; import { BinanceSmartChain } from '../../chains/binance-smart-chain/binance-smart-chain'; +import { Ethereum } from '../../chains/ethereum/ethereum'; import { ExpectedTrade, Uniswapish, @@ -39,15 +40,14 @@ import { SmartRouterTrade, SwapRouter, } from '@pancakeswap/smart-router'; -import { bsc, bscTestnet } from '@wagmi/chains'; +import { mainnet, arbitrum, zkSync, bsc, bscTestnet } from '@wagmi/chains'; import { MethodParameters } from '@pancakeswap/v3-sdk'; export class PancakeSwap implements Uniswapish { private static _instances: { [name: string]: PancakeSwap }; - private bsc: BinanceSmartChain; private chainId; - private _chain: string; + private chain: Ethereum | BinanceSmartChain; private _router: string; private _routerAbi: ContractInterface; private _gasLimitEstimate: number; @@ -58,10 +58,14 @@ export class PancakeSwap implements Uniswapish { private constructor(chain: string, network: string) { const config = PancakeSwapConfig.config; - this.bsc = BinanceSmartChain.getInstance(network); - this.chainId = this.bsc.chainId; + if (chain === 'ethereum') { + this.chain = Ethereum.getInstance(network); + } else { + this.chain = BinanceSmartChain.getInstance(network); + } this._chain = chain; + this.chainId = this.getChainId(chain, network); this._router = config.routerAddress(network); this._ttl = config.ttl; this._maximumHops = config.maximumHops ?? 1; @@ -80,19 +84,26 @@ export class PancakeSwap implements Uniswapish { return PancakeSwap._instances[chain + network]; } + public getChainId(chain: string, network: string): number { + if (chain === 'binance-smart-chain') { + return BinanceSmartChain.getInstance(network).chainId; + } else return Ethereum.getInstance(network).chainId; + } + public async init() { - if (this._chain == 'binance-smart-chain' && !this.bsc.ready()) + const chainName = this.chain.toString(); + if (!this.chain.ready()) throw new InitializationError( - SERVICE_UNITIALIZED_ERROR_MESSAGE('BinanceSmartChain'), - SERVICE_UNITIALIZED_ERROR_CODE + SERVICE_UNITIALIZED_ERROR_MESSAGE(chainName), + SERVICE_UNITIALIZED_ERROR_CODE, ); - for (const token of this.bsc.storedTokenList) { + for (const token of this.chain.storedTokenList) { this.tokenList[token.address] = new Token( this.chainId, token.address, token.decimals, token.symbol, - token.name + token.name, ); } this._ready = true; @@ -166,7 +177,7 @@ export class PancakeSwap implements Uniswapish { const matches = allowedSlippage.match(percentRegexp); if (matches) return new Percent(matches[1], matches[2]); throw new Error( - 'Encountered a malformed percent string in the config for ALLOWED_SLIPPAGE.' + 'Encountered a malformed percent string in the config for ALLOWED_SLIPPAGE.', ); } @@ -185,23 +196,28 @@ export class PancakeSwap implements Uniswapish { quoteToken: Token, baseToken: Token, amount: BigNumber, - _allowedSlippage?: string + _allowedSlippage?: string, ): Promise { logger.info( - `Fetching pair data for ${quoteToken.address}-${baseToken.address}.` + `Fetching pair data for ${quoteToken.address}-${baseToken.address}.`, ); - const trade = await this.getBestTrade(baseToken, quoteToken, amount, TradeType.EXACT_OUTPUT); + const trade = await this.getBestTrade( + baseToken, + quoteToken, + amount, + TradeType.EXACT_OUTPUT, + ); if (!trade) { throw new UniswapishPriceError( - `priceSwapOut: no trade pair found for ${baseToken.address} to ${quoteToken.address}.` + `priceSwapOut: no trade pair found for ${baseToken.address} to ${quoteToken.address}.`, ); } logger.info( `Best trade for ${baseToken.address}-${quoteToken.address}: ` + - `${trade.inputAmount.toExact()}` + - `${baseToken.symbol}.` + `${trade.inputAmount.toExact()}` + + `${baseToken.symbol}.`, ); return { @@ -228,23 +244,28 @@ export class PancakeSwap implements Uniswapish { baseToken: Token, quoteToken: Token, amount: BigNumber, - _allowedSlippage?: string + _allowedSlippage?: string, ): Promise { logger.info( - `Fetching pair data for ${baseToken.address}-${quoteToken.address}.` + `Fetching pair data for ${baseToken.address}-${quoteToken.address}.`, ); - const trade = await this.getBestTrade(baseToken, quoteToken, amount, TradeType.EXACT_INPUT); + const trade = await this.getBestTrade( + baseToken, + quoteToken, + amount, + TradeType.EXACT_INPUT, + ); if (!trade) { throw new UniswapishPriceError( - `priceSwapIn: no trade pair found for ${baseToken.address} to ${quoteToken.address}.` + `priceSwapIn: no trade pair found for ${baseToken.address} to ${quoteToken.address}.`, ); } logger.info( `Best trade for ${baseToken.address}-${quoteToken.address}: ` + - `${trade.outputAmount.toExact()}` + - `${baseToken.symbol}.` + `${trade.outputAmount.toExact()}` + + `${baseToken.symbol}.`, ); return { @@ -282,7 +303,7 @@ export class PancakeSwap implements Uniswapish { nonce?: number, maxFeePerGas?: BigNumber, maxPriorityFeePerGas?: BigNumber, - allowedSlippage?: string + allowedSlippage?: string, ): Promise { const methodParameters: MethodParameters = SwapRouter.swapCallParameters( trade as SmartRouterTrade, @@ -290,12 +311,10 @@ export class PancakeSwap implements Uniswapish { deadlineOrPreviousBlockhash: Math.floor(Date.now() / 1000 + ttl), recipient: getAddress(wallet.address), slippageTolerance: this.getAllowedSlippage(allowedSlippage), - } + }, ); - if (nonce === undefined) { - nonce = await this.bsc.nonceManager.getNextNonce(wallet.address); - } + nonce = await this.chain.nonceManager.getNextNonce(wallet.address); let tx: ContractTransaction; if (maxFeePerGas !== undefined || maxPriorityFeePerGas !== undefined) { @@ -320,27 +339,54 @@ export class PancakeSwap implements Uniswapish { } logger.info(`Transaction Details: ${JSON.stringify(tx)}`); - await this.bsc.nonceManager.commitNonce(wallet.address, nonce); + nonce = await this.chain.nonceManager.getNextNonce(wallet.address); return tx; } async getPools(currencyA: Currency, currencyB: Currency): Promise { - const v3SubgraphClient = new GraphQLClient( - 'https://api.thegraph.com/subgraphs/name/pancakeswap/exchange-v3-bsc' - ); - const v2SubgraphClient = new GraphQLClient( - 'https://proxy-worker-api.pancakeswap.com/bsc-exchange' - ); + let v3SubgraphClient: GraphQLClient; + let v2SubgraphClient: GraphQLClient; + + const v3Bscurl: string = + 'https://api.thegraph.com/subgraphs/name/pancakeswap/exchange-v3-bsc'; + const v2Bscurl: string = + 'https://proxy-worker-api.pancakeswap.com/bsc-exchange'; + const v3Ethurl: string = + 'https://api.thegraph.com/subgraphs/name/pancakeswap/exchange-v3-eth'; + const v2Ethurl: string = + 'https://api.thegraph.com/subgraphs/name/pancakeswap/exhange-eth'; + const v3Zksurl: string = + 'https://api.studio.thegraph.com/query/45376/exchange-v3-zksync/version/latest'; + const v2Zksurl: string = + 'https://api.thegraph.com/subgraphs/name/freakyfractal/uniswap-v3-zksync-era'; + const v3Arburl: string = + 'https://api.studio.thegraph.com/query/45376/exchange-v3-arbitrum/version/latest'; + const v2Arburl: string = + 'https://api.studio.thegraph.com/query/45376/exchange-v2-arbitrum/version/latest'; + + if (this._chain === 'ethereum' && this.chainId === 324) { + v3SubgraphClient = new GraphQLClient(v3Zksurl); + v2SubgraphClient = new GraphQLClient(v2Zksurl); + } else if (this._chain === 'ethereum' && this.chainId === 42161) { + v3SubgraphClient = new GraphQLClient(v3Arburl); + v2SubgraphClient = new GraphQLClient(v2Arburl); + } else if (this._chain === 'binance-smart-chain') { + v3SubgraphClient = new GraphQLClient(v3Bscurl); + v2SubgraphClient = new GraphQLClient(v2Bscurl); + } else { + v3SubgraphClient = new GraphQLClient(v3Ethurl); + v2SubgraphClient = new GraphQLClient(v2Ethurl); + } const pairs = SmartRouter.getPairCombinations(currencyA, currencyB); // Create v2 candidate pool fetcher with your own on-chain fetcher const getV2PoolsByCommonTokenPrices = SmartRouter.createV2PoolsProviderByCommonTokenPrices( - SmartRouter.getCommonTokenPricesBySubgraph + SmartRouter.getCommonTokenPricesBySubgraph, ); const getV2CandidatePools = SmartRouter.createGetV2CandidatePools( - getV2PoolsByCommonTokenPrices + getV2PoolsByCommonTokenPrices, ); // Define v3 pool on-chain fetcher with customized tvl references @@ -352,7 +398,7 @@ export class PancakeSwap implements Uniswapish { // In millisecond // Will try fallback fetcher if the default doesn't respond in 2s fallbackTimeout: 1500, - } + }, ); const allPools = await Promise.allSettled([ @@ -388,10 +434,16 @@ export class PancakeSwap implements Uniswapish { return fulfilledPools.flat(); } - - async getBestTrade(baseToken: Token, quoteToken: Token, amount: BigNumber, tradeType: TradeType): Promise | null> { - const baseTokenAmount: CurrencyAmount = - CurrencyAmount.fromRawAmount(baseToken, amount.toString()); + async getBestTrade( + baseToken: Token, + quoteToken: Token, + amount: BigNumber, + tradeType: TradeType, + ): Promise | null> { + const baseTokenAmount: CurrencyAmount = CurrencyAmount.fromRawAmount( + baseToken, + amount.toString(), + ); const quoteProvider = SmartRouter.createQuoteProvider({ // @ts-ignore @@ -411,17 +463,26 @@ export class PancakeSwap implements Uniswapish { quoteProvider, quoterOptimization: true, allowedPoolTypes: [PoolType.V2, PoolType.V3, PoolType.STABLE], - } + }, ); return trade; } private createPublicClient(): PublicClient { - const transportUrl = this.bsc.rpcUrl; + const transportUrl: string = this.chain.rpcUrl; return createPublicClient({ - chain: this.chainId === 56 ? bsc : bscTestnet, + chain: + this.chainId === 56 + ? bsc + : this.chainId === 1 + ? mainnet + : this.chainId === 42161 + ? arbitrum + : this.chainId === 324 + ? zkSync + : bscTestnet, transport: http(transportUrl), batch: { multicall: { diff --git a/src/connectors/uniswap/uniswap.controllers.ts b/src/connectors/uniswap/uniswap.controllers.ts index 5aca4a8c80..fc9c50202d 100644 --- a/src/connectors/uniswap/uniswap.controllers.ts +++ b/src/connectors/uniswap/uniswap.controllers.ts @@ -93,7 +93,8 @@ export async function getTradeInfo( quoteAsset: string, baseAmount: Decimal, tradeSide: string, - allowedSlippage?: string + allowedSlippage?: string, + poolId?: string, ): Promise { const baseToken: Tokenish = getFullTokenFromSymbol( ethereumish, @@ -115,14 +116,16 @@ export async function getTradeInfo( quoteToken, baseToken, requestAmount, - allowedSlippage + allowedSlippage, + poolId ); } else { expectedTrade = await uniswapish.estimateSellTrade( baseToken, quoteToken, requestAmount, - allowedSlippage + allowedSlippage, + poolId ); } @@ -149,7 +152,8 @@ export async function price( req.quote, new Decimal(req.amount), req.side, - req.allowedSlippage + req.allowedSlippage, + req.poolId, ); } catch (e) { if (e instanceof Error) { @@ -217,7 +221,8 @@ export async function trade( req.base, req.quote, new Decimal(req.amount), - req.side + req.side, + req.poolId, ); } catch (e) { if (e instanceof Error) { @@ -270,7 +275,8 @@ export async function trade( req.nonce, maxFeePerGasBigNumber, maxPriorityFeePerGasBigNumber, - req.allowedSlippage + req.allowedSlippage, + req.poolId, ); if (tx.hash) { @@ -335,7 +341,8 @@ export async function trade( gasLimitTransaction, req.nonce, maxFeePerGasBigNumber, - maxPriorityFeePerGasBigNumber + maxPriorityFeePerGasBigNumber, + req.poolId, ); logger.info( @@ -407,7 +414,8 @@ export async function addLiquidity( gasPrice, req.nonce, maxFeePerGasBigNumber, - maxPriorityFeePerGasBigNumber + maxPriorityFeePerGasBigNumber, + req.poolId, ); logger.info( @@ -571,7 +579,8 @@ export async function poolPrice( token1, req.fee!.toUpperCase(), req.period!, - req.interval! + req.interval!, + req.poolId, ); return { diff --git a/src/services/common-interfaces.ts b/src/services/common-interfaces.ts index 0e26a115d2..464b06e29d 100644 --- a/src/services/common-interfaces.ts +++ b/src/services/common-interfaces.ts @@ -271,7 +271,8 @@ export interface Uniswapish { baseToken: Tokenish, quoteToken: Tokenish, amount: BigNumber, - allowedSlippage?: string + allowedSlippage?: string, + poolId?: string, ): Promise; /** @@ -288,7 +289,8 @@ export interface Uniswapish { quoteToken: Tokenish, baseToken: Tokenish, amount: BigNumber, - allowedSlippage?: string + allowedSlippage?: string, + poolId?: string, ): Promise; /** @@ -316,7 +318,8 @@ export interface Uniswapish { nonce?: number, maxFeePerGas?: BigNumber, maxPriorityFeePerGas?: BigNumber, - allowedSlippage?: string + allowedSlippage?: string, + poolId?: string, ): Promise; } @@ -509,7 +512,8 @@ export interface UniswapLPish { gasPrice: number, nonce?: number, maxFeePerGas?: BigNumber, - maxPriorityFeePerGas?: BigNumber + maxPriorityFeePerGas?: BigNumber, + poolId?: string, ): Promise; /** @@ -569,7 +573,8 @@ export interface UniswapLPish { token1: UniswapCoreToken, fee: string, period: number, - interval: number + interval: number, + poolId?: string, ): Promise; } diff --git a/src/services/connection-manager.ts b/src/services/connection-manager.ts index 706efb5511..e2bd6d4866 100644 --- a/src/services/connection-manager.ts +++ b/src/services/connection-manager.ts @@ -55,27 +55,27 @@ export type ChainUnion = | Tezosish | XRPLish | Kujira - | Osmosis;; + | Osmosis; export type Chain = T extends Algorand ? Algorand : T extends Cosmos - ? Cosmos - : T extends Ethereumish - ? Ethereumish - : T extends Nearish - ? Nearish - : T extends Xdcish - ? Xdcish - : T extends Tezosish - ? Tezosish - : T extends XRPLish - ? XRPLish - : T extends KujiraCLOB - ? KujiraCLOB - : T extends Osmosis - ? Osmosis - : never; + ? Cosmos + : T extends Ethereumish + ? Ethereumish + : T extends Nearish + ? Nearish + : T extends Xdcish + ? Xdcish + : T extends Tezosish + ? Tezosish + : T extends XRPLish + ? XRPLish + : T extends KujiraCLOB + ? KujiraCLOB + : T extends Osmosis + ? Osmosis + : never; export class UnsupportedChainException extends Error { constructor(message?: string) { @@ -91,7 +91,7 @@ export class UnsupportedChainException extends Error { export async function getInitializedChain( chain: string, - network: string + network: string, ): Promise> { const chainInstance = await getChainInstance(chain, network); @@ -108,7 +108,7 @@ export async function getInitializedChain( export async function getChainInstance( chain: string, - network: string + network: string, ): Promise { let connection: ChainUnion | undefined; @@ -163,30 +163,30 @@ export type ConnectorUnion = export type Connector = T extends Uniswapish ? Uniswapish : T extends UniswapLPish - ? UniswapLPish - : T extends Perpish - ? Perpish - : T extends RefAMMish - ? RefAMMish - : T extends CLOBish - ? CLOBish - : T extends Tinyman - ? Tinyman - : T extends Plenty - ? Plenty - : T extends XRPLish - ? XRPLCLOB - : T extends KujiraCLOB - ? KujiraCLOB - : T extends QuipuSwap - ? QuipuSwap - : never; + ? UniswapLPish + : T extends Perpish + ? Perpish + : T extends RefAMMish + ? RefAMMish + : T extends CLOBish + ? CLOBish + : T extends Tinyman + ? Tinyman + : T extends Plenty + ? Plenty + : T extends XRPLish + ? XRPLCLOB + : T extends KujiraCLOB + ? KujiraCLOB + : T extends QuipuSwap + ? QuipuSwap + : never; export async function getConnector( chain: string, network: string, connector: string | undefined, - address?: string + address?: string, ): Promise> { let connectorInstance: ConnectorUnion; @@ -216,9 +216,15 @@ export async function getConnector( connectorInstance = VVSConnector.getInstance(chain, network); } else if (chain === 'near' && connector === 'ref') { connectorInstance = Ref.getInstance(chain, network); - } else if (chain === 'binance-smart-chain' && connector === 'pancakeswap') { + } else if ( + (chain === 'binance-smart-chain' || chain === 'ethereum') && + connector === 'pancakeswap' + ) { connectorInstance = PancakeSwap.getInstance(chain, network); - } else if (chain === 'binance-smart-chain' && connector === 'pancakeswapLP') { + } else if ( + (chain === 'binance-smart-chain' || chain === 'ethereum') && + connector === 'pancakeswapLP' + ) { connectorInstance = PancakeswapLP.getInstance(chain, network); } else if (connector === 'sushiswap') { connectorInstance = Sushiswap.getInstance(chain, network); diff --git a/src/templates/ethereum.yml b/src/templates/ethereum.yml index 89f25aaeee..03469ccbbc 100644 --- a/src/templates/ethereum.yml +++ b/src/templates/ethereum.yml @@ -19,6 +19,13 @@ networks: nativeCurrencySymbol: ETH tokenListSource: /home/gateway/conf/lists/ethereum_coingecko_20230610.json gasPriceRefreshInterval: 60 + zksync: + chainID: 324 + nodeURL: https://mainnet.era.zksync.io + tokenListType: FILE + tokenListSource: conf/lists/zksync_quiknode_tokens.json + nativeCurrencySymbol: ETH + gasPriceRefreshInterval: 60 optimism: chainID: 10 nodeURL: https://rpc.ankr.com/optimism diff --git a/src/templates/lists/zksync_quiknode_tokens.json b/src/templates/lists/zksync_quiknode_tokens.json new file mode 100644 index 0000000000..379dfc2bbd --- /dev/null +++ b/src/templates/lists/zksync_quiknode_tokens.json @@ -0,0 +1,238 @@ +{ + "jsonrpc": "2.0", + "tokens": [ + { + "chainId": 324, + "l1Address": "0x111111111117dc0aa78b770fa6a738034120c302", + "address": "0x3f0b8b206a7fbdb3ecfc08c9407ca83f5ab1ce59", + "name": "1INCH Token", + "symbol": "1INCH", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xba100000625a3754423978a60c9317c58a424e3d", + "address": "0xaff169fca5086940c890c8a04c6db4b1db6e0dd6", + "name": "Balancer", + "symbol": "BAL", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0x4fabb145d64652a948d72533023f6e7a623c7c53", + "address": "0x9a455d1a2b4630ffdb9a2307f2e875400d28b3c5", + "name": "Binance USD", + "symbol": "BUSD", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xffffffff2ba8f66d4e51811c5190992176930278", + "address": "0xc2b13bb90e33f1e191b8aa8f44ce11534d5698e3", + "name": "Furucombo", + "symbol": "COMBO", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xa487bf43cf3b10dffc97a9a744cbb7036965d3b9", + "address": "0x140d5bc5b62d6cb492b1a475127f50d531023803", + "name": "Deri", + "symbol": "DERI", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0x5f64ab1544d28732f0a24f4713c2c8ec0da089f0", + "address": "0x9929bcac4417a21d7e6fc86f6dae1cc7f27a2e41", + "name": "DEXTF Token", + "symbol": "DEXTF", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xdddddd4301a082e62e84e43f474f044423921918", + "address": "0xbbd1ba24d589c319c86519646817f2f153c9b716", + "name": "DeversiFi Token", + "symbol": "DVF", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xcf0c122c6b73ff809c693db761e7baebe62b6a2e", + "address": "0xaa610193768223438866ad9e1973447d76e4cf4a", + "name": "FLOKI", + "symbol": "FLOKI", + "decimals": 9 + }, + { + "chainId": 324, + "l1Address": "0xeeaa40b28a2d1b0b08f6f97bb1dd4b75316c6107", + "address": "0xd63ef5e9c628c8a0e8984cdfb7444aee44b09044", + "name": "GOVI", + "symbol": "GOVI", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xdefa4e8a7bcba345f687a2f1456f5edd9ce97202", + "address": "0x6ee46cb7cd2f15ee1ec9534cf29a5b51c83283e6", + "name": "Kyber Network Crystal v2", + "symbol": "KNC", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0x6dea81c8171d0ba574754ef6f8b412f2ed88c54d", + "address": "0xf755cf4f0887279a8bcbe5e39ee062a5b7188401", + "name": "LQTY", + "symbol": "LQTY", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0x5f98805a4e8be255a32880fdec7f6728c6568ba0", + "address": "0x503234f203fc7eb888eec8513210612a43cf6115", + "name": "LUSD Stablecoin", + "symbol": "LUSD", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xa49d7499271ae71cd8ab9ac515e6694c755d400c", + "address": "0x0e97c7a0f8b2c9885c8ac9fc6136e829cbc21d42", + "name": "Mute.io", + "symbol": "MUTE", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0x6982508145454ce325ddbe47a25d4ec3d2311933", + "address": "0xfd282f16a64c6d304ac05d1a58da15bed0467c71", + "name": "Pepe", + "symbol": "PEPE", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xbc396689893d065f41bc2c6ecbee5e0085233447", + "address": "0x42c1c56be243c250ab24d2ecdcc77f9ccaa59601", + "name": "Perpetual", + "symbol": "PERP", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xd33526068d116ce69f19a9ee46f0bd304f21a51f", + "address": "0x1cf8553da5a75c20cdc33532cb19ef7e3bfff5bc", + "name": "Rocket Pool Protocol", + "symbol": "RPL", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0x95ad61b0a150d79219dcf64e1e6cc01f0b64c4ce", + "address": "0x5b09802d62d213c4503b4b1ef5f727ef62c9f4ef", + "name": "SHIBA INU", + "symbol": "SHIB", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xd38bb40815d2b0c2d2c866e0c72c5728ffc76dd9", + "address": "0xdd9f72afed3631a6c85b5369d84875e6c42f1827", + "name": "Symbiosis", + "symbol": "SIS", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0x95b3497bbcccc46a8f45f5cf54b0878b39f8d96c", + "address": "0xee1e88eb20becdebe1e88f50c9f8b1d72478f2d0", + "name": "UniDex", + "symbol": "UNIDX", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48", + "address": "0x3355df6d4c9c3035724fd0e3914de96a5a83aaf4", + "name": "USD Coin", + "symbol": "USDC", + "decimals": 6 + }, + { + "chainId": 324, + "l1Address": "0xdac17f958d2ee523a2206206994597c13d831ec7", + "address": "0x493257fd37edb34451f62edf8d2a0c418852ba4c", + "name": "Tether USD", + "symbol": "USDT", + "decimals": 6 + }, + { + "chainId": 324, + "l1Address": "0x2260fac5e5542a773aa44fbcfedf7c193bc2c599", + "address": "0xbbeb516fb02a01611cbbe0453fe3c580d7281011", + "name": "Wrapped BTC", + "symbol": "WBTC", + "decimals": 8 + }, + { + "chainId": 324, + "l1Address": "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2", + "address": "0xf00dad97284d0c6f06dc4db3c32454d4292c6813", + "name": "Wrapped Ether", + "symbol": "WETH", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0x4691937a7508860f876c9c0a2a617e7d9e945d4b", + "address": "0x9e22d758629761fc5708c171d06c2fabb60b5159", + "name": "Wootrade Network", + "symbol": "WOO", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xe4815ae53b124e7263f08dcdbbb757d41ed658c6", + "address": "0xa51710195cdc29c43d3beeeb6b255cfd97b3dd88", + "name": "Zks", + "symbol": "ZKS", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xc91a71a1ffa3d8b22ba615ba1b9c01b2bbbf55ad", + "address": "0x1ab721f531cab4c87d536be8b985eafce17f0184", + "name": "ZigZag", + "symbol": "ZZ", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xbe9895146f7af43049ca1c1ae358b0541ea49704", + "address": "0x75af292c1c9a37b3ea2e6041168b4e48875b9ed5", + "name": "Coinbase Wrapped Staked ETH", + "symbol": "cbETH", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xf939e0a03fb07f59a73314e73794be0e57ac1b4e", + "address": "0x43cd37cc4b9ec54833c8ac362dd55e58bfd62b86", + "name": "Curve.Fi USD Stablecoin", + "symbol": "crvUSD", + "decimals": 18 + }, + { + "chainId": 324, + "l1Address": "0xae78736cd615f374d3085123a210448e74fc6393", + "address": "0x32fd44bb869620c0ef993754c8a00be67c464806", + "name": "Rocket Pool ETH", + "symbol": "rETH", + "decimals": 18 + } + ], + "id": 1 +} diff --git a/src/templates/pancakeswap.yml b/src/templates/pancakeswap.yml index ec0a198055..a065e100b8 100644 --- a/src/templates/pancakeswap.yml +++ b/src/templates/pancakeswap.yml @@ -29,6 +29,16 @@ contractAddresses: pancakeswapV3SmartOrderRouterAddress: '0x1b81D678ffb9C0263b24A97847620C99d213eB14' pancakeswapV3NftManagerAddress: '0x46A15B0b27311cedF172AB29E4f4766fbE7F4364' pancakeswapV3QuoterV2ContractAddress: '0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997' + arbitrum: + routerAddress: '0x32226588378236Fd0c7c4053999F88aC0e5cAc77' + pancakeswapV3SmartOrderRouterAddress: '0x1b81D678ffb9C0263b24A97847620C99d213eB14' + pancakeswapV3NftManagerAddress: '0x46A15B0b27311cedF172AB29E4f4766fbE7F4364' + pancakeswapV3QuoterV2ContractAddress: '0xB048Bbc1Ee6b733FFfCFb9e9CeF7375518e25997' + zksync: + routerAddress: '0xf8b59f3c3Ab33200ec80a8A58b2aA5F5D2a8944C' + pancakeswapV3SmartOrderRouterAddress: '0xD70C70AD87aa8D45b8D59600342FB3AEe76E3c68' + pancakeswapV3NftManagerAddress: '0xa815e2eD7f7d5B0c49fda367F249232a1B9D2883' + pancakeswapV3QuoterV2ContractAddress: '0x3d146FcE6c1006857750cBe8aF44f76a28041CCc' testnet: routerAddress: '0x9a489505a00cE272eAa5e07Dba6491314CaE3796' pancakeswapV3SmartOrderRouterAddress: '0x1b81D678ffb9C0263b24A97847620C99d213eB14' diff --git a/test/amm/amm.validators.test.ts b/test/amm/amm.validators.test.ts index 82ccfeb61b..90c969d49f 100644 --- a/test/amm/amm.validators.test.ts +++ b/test/amm/amm.validators.test.ts @@ -9,6 +9,8 @@ import { validateLimitPrice, invalidAllowedSlippageError, validateAllowedSlippage, + validatePoolId, + invalidPoolIdError, } from '../../src/amm/amm.validators'; import { missingParameter } from '../../src/services/validators'; @@ -190,3 +192,36 @@ describe('validateAllowedSlippage', () => { ).toEqual([invalidAllowedSlippageError]); }); }); + +describe('validatePoolId', () => { + it('valid when req.poolId is a string', () => { + expect( + validatePoolId({ + poolId: '0x123...', + }) + ).toEqual([]); + + expect( + validatePoolId({ + poolId: '0123', + }) + ).toEqual([]); + }); + + it('pass when req.poolId does not exist', () => { + expect( + validatePoolId({ + hello: 'world', + }) + ).toEqual([]); + }); + + it('return error when req.poolId is a number', () => { + expect( + validatePoolId({ + poolId: 100, + }) + ).toEqual([invalidPoolIdError]); + }); +}); + diff --git a/test/network/network.routes.test.ts b/test/network/network.routes.test.ts index 600f7aea84..7b0a8d8fc9 100644 --- a/test/network/network.routes.test.ts +++ b/test/network/network.routes.test.ts @@ -1,49 +1,18 @@ import request from 'supertest'; import { gatewayApp } from '../../src/app'; -import { Avalanche } from '../../src/chains/avalanche/avalanche'; -import { Cronos } from '../../src/chains/cronos/cronos'; import { Ethereum } from '../../src/chains/ethereum/ethereum'; -import { Harmony } from '../../src/chains/harmony/harmony'; -import { Polygon } from '../../src/chains/polygon/polygon'; import { patchEVMNonceManager } from '../evm.nonce.mock'; import { patch, unpatch } from '../services/patch'; let eth: Ethereum; -let goerli: Ethereum; -let avalanche: Avalanche; -let harmony: Harmony; -let polygon: Polygon; -let cronos: Cronos; beforeAll(async () => { eth = Ethereum.getInstance('goerli'); patchEVMNonceManager(eth.nonceManager); await eth.init(); - - goerli = Ethereum.getInstance('goerli'); - patchEVMNonceManager(goerli.nonceManager); - await goerli.init(); - - avalanche = Avalanche.getInstance('fuji'); - patchEVMNonceManager(avalanche.nonceManager); - await avalanche.init(); - - harmony = Harmony.getInstance('testnet'); - await harmony.init(); - - polygon = Polygon.getInstance('mumbai'); - await polygon.init(); - - cronos = Cronos.getInstance('testnet'); - await cronos.init(); }); beforeEach(() => { patchEVMNonceManager(eth.nonceManager); - patchEVMNonceManager(goerli.nonceManager); - patchEVMNonceManager(avalanche.nonceManager); - patchEVMNonceManager(harmony.nonceManager); - patchEVMNonceManager(polygon.nonceManager); - patchEVMNonceManager(cronos.nonceManager); }); afterEach(async () => { @@ -52,44 +21,16 @@ afterEach(async () => { afterAll(async () => { await eth.close(); - await goerli.close(); - await avalanche.close(); - await harmony.close(); - await polygon.close(); - await cronos.close(); }); describe('GET /chain/status', () => { - it('should return 200 when asking for harmony network status', async () => { - patch(harmony, 'chain', () => { - return 'testnet'; - }); - patch(harmony, 'rpcUrl', 'http://...'); - patch(harmony, 'chainId', 88); - patch(harmony, 'getCurrentBlockNumber', () => { - return 3; - }); - await request(gatewayApp) - .get(`/chain/status`) - .query({ - chain: 'harmony', - network: 'testnet', - }) - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.chain).toBe('testnet')) - .expect((res) => expect(res.body.chainId).toBeDefined()) - .expect((res) => expect(res.body.rpcUrl).toBeDefined()) - .expect((res) => expect(res.body.currentBlockNumber).toBeDefined()); - }); - - it('should return 200 when asking for ethereum network status', async () => { + it('should return 200 when asking for goerli network status', async () => { patch(eth, 'chain', () => { return 'goerli'; }); patch(eth, 'rpcUrl', 'http://...'); - patch(eth, 'chainId', 34); + patch(eth, 'chainId', 5); patch(eth, 'getCurrentBlockNumber', () => { return 1; }); @@ -108,114 +49,11 @@ describe('GET /chain/status', () => { .expect((res) => expect(res.body.currentBlockNumber).toBeDefined()); }); - it('should return 200 when asking for goerli network status', async () => { - patch(goerli, 'chain', () => { - return 'goerli'; - }); - patch(goerli, 'rpcUrl', 'http://...'); - patch(goerli, 'chainId', 5); - patch(goerli, 'getCurrentBlockNumber', () => { - return 1; - }); - - await request(gatewayApp) - .get(`/chain/status`) - .query({ - chain: 'ethereum', - network: 'goerli', - }) - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.chain).toBe('goerli')) - .expect((res) => expect(res.body.chainId).toBeDefined()) - .expect((res) => expect(res.body.rpcUrl).toBeDefined()) - .expect((res) => expect(res.body.currentBlockNumber).toBeDefined()); - }); - - it('should return 200 when asking for avalance network status', async () => { - patch(avalanche, 'chain', () => { - return 'fuji'; - }); - patch(avalanche, 'rpcUrl', 'http://...'); - patch(avalanche, 'chainId', 20); - patch(avalanche, 'getCurrentBlockNumber', () => { - return 2; - }); - - await request(gatewayApp) - .get(`/chain/status`) - .query({ - chain: 'avalanche', - network: 'fuji', - }) - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.chain).toBe('fuji')) - .expect((res) => expect(res.body.chainId).toBeDefined()) - .expect((res) => expect(res.body.rpcUrl).toBeDefined()) - .expect((res) => expect(res.body.currentBlockNumber).toBeDefined()); - }); - - it('should return 200 when asking for polygon network status', async () => { - patch(polygon, 'chain', () => { - return 'mumbai'; - }); - patch(polygon, 'rpcUrl', 'http://...'); - patch(polygon, 'chainId', 80001); - patch(polygon, 'getCurrentBlockNumber', () => { - return 2; - }); - - await request(gatewayApp) - .get(`/chain/status`) - .query({ - chain: 'polygon', - network: 'mumbai', - }) - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.chain).toBe('mumbai')) - .expect((res) => expect(res.body.chainId).toBeDefined()) - .expect((res) => expect(res.body.rpcUrl).toBeDefined()) - .expect((res) => expect(res.body.currentBlockNumber).toBeDefined()); - }); - - it('should return 200 when asking for cronos network status', async () => { - patch(cronos, 'chain', () => { - return 'testnet'; - }); - patch(cronos, 'rpcUrl', 'http://...'); - patch(cronos, 'chainId', 338); - patch(cronos, 'getCurrentBlockNumber', () => { - return 2; - }); - - await request(gatewayApp) - .get(`/chain/status`) - .query({ - chain: 'cronos', - network: 'testnet', - }) - .expect('Content-Type', /json/) - .expect(200) - .expect((res) => expect(res.body.chain).toBe('testnet')) - .expect((res) => expect(res.body.chainId).toBeDefined()) - .expect((res) => expect(res.body.rpcUrl).toBeDefined()) - .expect((res) => expect(res.body.currentBlockNumber).toBeDefined()); - }); - it('should return 200 when requesting network status without specifying', async () => { patch(eth, 'getCurrentBlockNumber', () => { return 212; }); - patch(avalanche, 'getCurrentBlockNumber', () => { - return 204; - }); - patch(harmony, 'getCurrentBlockNumber', () => { - return 100; - }); - await request(gatewayApp) .get(`/chain/status`) .expect('Content-Type', /json/) @@ -289,51 +127,6 @@ describe('GET /chain/tokens', () => { .expect(200); }); - it('should return 200 when retrieving polygon-mumbai tokens, tokenSymbols parameter not provided', async () => { - await request(gatewayApp) - .get(`/chain/tokens`) - .query({ - chain: 'polygon', - network: 'mumbai', - }) - .expect('Content-Type', /json/) - .expect(200); - }); - - it('should return 200 when retrieving polygon-mumbai tokens, tokenSymbols parameter provided', async () => { - await request(gatewayApp) - .get(`/chain/tokens`) - .query({ - chain: 'polygon', - network: 'mumbai', - tokenSymbols: ['WMATIC', 'WETH'], - }) - .expect('Content-Type', /json/) - .expect(200); - }); - - it('should return 200 when retrieving cronos-testnet tokens, tokenSymbols parameter not provided', async () => { - await request(gatewayApp) - .get(`/chain/tokens`) - .query({ - chain: 'cronos', - network: 'testnet', - }) - .expect('Content-Type', /json/) - .expect(200); - }); - - it('should return 200 when retrieving cronos-testnet tokens, tokenSymbols parameter provided', async () => { - await request(gatewayApp) - .get(`/chain/tokens`) - .query({ - chain: 'cronos', - network: 'testnet', - tokenSymbols: ['WCRO', 'WETH'], - }) - .expect('Content-Type', /json/) - .expect(200); - }); it('should return 503 when retrieving tokens for invalid chain', async () => { await request(gatewayApp) diff --git a/yarn.lock b/yarn.lock index e24fddfcc8..be94faef31 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1434,137 +1434,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-75d1712e-ad90-4c0f-968d-06b7152210d0-1708867847017/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-75d1712e-ad90-4c0f-968d-06b7152210d0-1708867847017/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-75d1712e-ad90-4c0f-968d-06b7152210d0-1708867847017/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-75d1712e-ad90-4c0f-968d-06b7152210d0-1708867847017/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-75d1712e-ad90-4c0f-968d-06b7152210d0-1708867847017/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-75d1712e-ad90-4c0f-968d-06b7152210d0-1708867847017/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-75d1712e-ad90-4c0f-968d-06b7152210d0-1708867847017/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-75d1712e-ad90-4c0f-968d-06b7152210d0-1708867847017/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-75d1712e-ad90-4c0f-968d-06b7152210d0-1708867847017/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/address" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-dc6cad0a-b42e-41c0-add1-31aa9f73da8c-1711378365614/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-dc6cad0a-b42e-41c0-add1-31aa9f73da8c-1711378365614/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-dc6cad0a-b42e-41c0-add1-31aa9f73da8c-1711378365614/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-dc6cad0a-b42e-41c0-add1-31aa9f73da8c-1711378365614/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-dc6cad0a-b42e-41c0-add1-31aa9f73da8c-1711378365614/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/keccak256" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-dc6cad0a-b42e-41c0-add1-31aa9f73da8c-1711378365614/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-dc6cad0a-b42e-41c0-add1-31aa9f73da8c-1711378365614/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-dc6cad0a-b42e-41c0-add1-31aa9f73da8c-1711378365614/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abi-5.7.0-dc6cad0a-b42e-41c0-add1-31aa9f73da8c-1711378365614/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-d45c0f42-35fe-49df-8b75-8929d6997799-1708867847016/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-d45c0f42-35fe-49df-8b75-8929d6997799-1708867847016/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-d45c0f42-35fe-49df-8b75-8929d6997799-1708867847016/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-d45c0f42-35fe-49df-8b75-8929d6997799-1708867847016/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-d45c0f42-35fe-49df-8b75-8929d6997799-1708867847016/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-d45c0f42-35fe-49df-8b75-8929d6997799-1708867847016/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-d45c0f42-35fe-49df-8b75-8929d6997799-1708867847016/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-7563efea-d843-42b7-b285-fbeff4443c61-1711378365615/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-7563efea-d843-42b7-b285-fbeff4443c61-1711378365615/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-7563efea-d843-42b7-b285-fbeff4443c61-1711378365615/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-7563efea-d843-42b7-b285-fbeff4443c61-1711378365615/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-7563efea-d843-42b7-b285-fbeff4443c61-1711378365615/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-7563efea-d843-42b7-b285-fbeff4443c61-1711378365615/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-provider-5.7.0-7563efea-d843-42b7-b285-fbeff4443c61-1711378365615/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-0721817a-c104-457c-bfe9-01b57fdd0ebf-1708867847016/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-0721817a-c104-457c-bfe9-01b57fdd0ebf-1708867847016/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-0721817a-c104-457c-bfe9-01b57fdd0ebf-1708867847016/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-0721817a-c104-457c-bfe9-01b57fdd0ebf-1708867847016/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-0721817a-c104-457c-bfe9-01b57fdd0ebf-1708867847016/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/abstract-provider" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e30fa525-50b0-4a94-a2fc-4b012803d33e-1711378365615/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e30fa525-50b0-4a94-a2fc-4b012803d33e-1711378365615/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e30fa525-50b0-4a94-a2fc-4b012803d33e-1711378365615/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e30fa525-50b0-4a94-a2fc-4b012803d33e-1711378365615/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-abstract-signer-5.7.0-e30fa525-50b0-4a94-a2fc-4b012803d33e-1711378365615/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-67d0384d-9209-4f28-a7bb-a490960aa934-1708867847016/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-67d0384d-9209-4f28-a7bb-a490960aa934-1708867847016/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-67d0384d-9209-4f28-a7bb-a490960aa934-1708867847016/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-67d0384d-9209-4f28-a7bb-a490960aa934-1708867847016/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-67d0384d-9209-4f28-a7bb-a490960aa934-1708867847016/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ebb15099-34b3-4975-9cf8-7f3cae8cb2cf-1711378365616/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ebb15099-34b3-4975-9cf8-7f3cae8cb2cf-1711378365616/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ebb15099-34b3-4975-9cf8-7f3cae8cb2cf-1711378365616/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ebb15099-34b3-4975-9cf8-7f3cae8cb2cf-1711378365616/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/rlp" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-address-5.7.0-ebb15099-34b3-4975-9cf8-7f3cae8cb2cf-1711378365616/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-17501914-5c98-4dde-987e-648592bdf1a9-1708867847017/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-base64-5.7.0-ac940ee8-f7d7-44f8-a8e6-a8a2aa43673b-1711378365615/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-3c604ac0-7a4b-4d8c-b0bc-9ed667296e45-1708867847019/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-3c604ac0-7a4b-4d8c-b0bc-9ed667296e45-1708867847019/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-a3964cd6-3388-4e1e-8827-ccb5f8cddbea-1711378365615/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-basex-5.7.0-a3964cd6-3388-4e1e-8827-ccb5f8cddbea-1711378365615/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-0c9beeda-daef-485a-b1b6-e01d323ecf52-1708867847017/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-0c9beeda-daef-485a-b1b6-e01d323ecf52-1708867847017/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-bc93acda-27ae-4704-88d0-8826555c062b-1711378365615/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bignumber-5.7.0-bc93acda-27ae-4704-88d0-8826555c062b-1711378365615/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-5dfa9516-15cb-4795-b904-f2bf08d46f23-1708867847017/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-bytes-5.7.0-99ecb1f1-f3c4-4352-b857-7f806ce05f5d-1711378365616/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-2e0c1fc4-c462-4e17-a084-d8e607748e2b-1708867847017/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-constants-5.7.0-91a31af6-9be3-4e31-94b5-304ef35e3207-1711378365616/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-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-5a3a692d-d5b1-4a18-89ae-8f654097081a-1708867847020/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abi" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/transactions" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-contracts-5.6.0-3a1d2199-b3e9-4cf8-a8e5-111bb620bb2f-1711378365616/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-b28857d1-e695-42e7-b348-b68b350a5c27-1708867847019/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b28857d1-e695-42e7-b348-b68b350a5c27-1708867847019/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b28857d1-e695-42e7-b348-b68b350a5c27-1708867847019/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b28857d1-e695-42e7-b348-b68b350a5c27-1708867847019/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b28857d1-e695-42e7-b348-b68b350a5c27-1708867847019/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b28857d1-e695-42e7-b348-b68b350a5c27-1708867847019/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b28857d1-e695-42e7-b348-b68b350a5c27-1708867847019/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b28857d1-e695-42e7-b348-b68b350a5c27-1708867847019/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-b28857d1-e695-42e7-b348-b68b350a5c27-1708867847019/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/abstract-signer" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-e59c6ed5-6f74-42e7-b132-f4bea3ddfad0-1711378365617/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-e59c6ed5-6f74-42e7-b132-f4bea3ddfad0-1711378365617/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-e59c6ed5-6f74-42e7-b132-f4bea3ddfad0-1711378365617/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-e59c6ed5-6f74-42e7-b132-f4bea3ddfad0-1711378365617/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-e59c6ed5-6f74-42e7-b132-f4bea3ddfad0-1711378365617/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-e59c6ed5-6f74-42e7-b132-f4bea3ddfad0-1711378365617/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-e59c6ed5-6f74-42e7-b132-f4bea3ddfad0-1711378365617/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-e59c6ed5-6f74-42e7-b132-f4bea3ddfad0-1711378365617/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hash-5.7.0-e59c6ed5-6f74-42e7-b132-f4bea3ddfad0-1711378365617/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-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/basex" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-96f6d0e9-c33b-4eba-9b78-2b51fe612daa-1708867847025/node_modules/@ethersproject-xdc/wordlists" - + "@ethersproject-xdc/abstract-signer" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/basex" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/sha2" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/strings" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-hdnode-5.7.0-7df6d3a0-85a2-4dd8-84f0-7defb4301c82-1711378365618/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-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hdnode" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/pbkdf2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-0edb1ae6-e9b5-4c89-95f2-4e58c4e42d99-1708867847018/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/abstract-signer" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hdnode" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/keccak256" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/pbkdf2" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/strings" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-json-wallets-5.6.0-b09d5477-70d2-455d-95b9-95327c90a434-1711378365617/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-b5da59a1-eba3-417c-9687-d8fa14bd4f75-1708867847018/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-keccak256-5.7.0-9cb7534e-f2d4-4bb8-8726-aa8d2ae70a68-1711378365617/node_modules/@ethersproject-xdc/bytes" js-sha3 "0.8.0" "@ethersproject-xdc/logger@file:vendor/@ethersproject-xdc/logger": @@ -1573,67 +1573,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-41e8abd8-fd30-4e99-81a9-0166c220ed59-1708867847019/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-networks-5.7.1-3318040d-6ee2-4fe1-8d35-2e90df014a04-1711378365619/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-008da51d-6c74-46de-9505-20c9c7f170cd-1708867847019/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-008da51d-6c74-46de-9505-20c9c7f170cd-1708867847019/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-1db75448-b10f-4529-b48f-66f22c09a20a-1711378365617/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/sha2" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-pbkdf2-5.7.0-1db75448-b10f-4529-b48f-66f22c09a20a-1711378365617/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-a286e825-0bf8-456c-8301-7c3133d22953-1708867847025/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-properties-5.7.0-d600654f-dc20-45bd-8730-5aea66cd419c-1711378365618/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-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/basex" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/web" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-dd892364-5a09-4c98-9786-36aa800f8531-1708867847024/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/abstract-provider" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/basex" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/hash" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/web" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-providers-5.6.2-0e620e87-104e-4693-b0d6-cc54eba98645-1711378365618/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-851cc344-b20f-498d-b242-f02c37f6a65b-1708867847026/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-851cc344-b20f-498d-b242-f02c37f6a65b-1708867847026/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-98a7dd46-79c6-4335-9d15-21617d7f16a5-1711378365619/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-random-5.7.0-98a7dd46-79c6-4335-9d15-21617d7f16a5-1711378365619/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-7bd18564-9646-484e-9ec0-e133a70e4b6a-1708867847021/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-7bd18564-9646-484e-9ec0-e133a70e4b6a-1708867847021/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-7790503f-a04f-459f-8b5c-cf61ffd4ff12-1711378365619/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-rlp-5.7.0-7790503f-a04f-459f-8b5c-cf61ffd4ff12-1711378365619/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-2baa6d83-34d4-471a-a760-f40b9ba93a58-1708867847026/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-2baa6d83-34d4-471a-a760-f40b9ba93a58-1708867847026/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-c765449d-476b-4741-9e2e-dbccb8aa1809-1711378365619/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-sha2-5.7.0-c765449d-476b-4741-9e2e-dbccb8aa1809-1711378365619/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-fdfcf5e7-b04d-4e95-8675-2fc43a71051b-1708867847020/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-fdfcf5e7-b04d-4e95-8675-2fc43a71051b-1708867847020/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-fdfcf5e7-b04d-4e95-8675-2fc43a71051b-1708867847020/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-21971b50-7b39-465c-bb5a-2f8689e48cc2-1711378365620/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-21971b50-7b39-465c-bb5a-2f8689e48cc2-1711378365620/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-signing-key-5.7.0-21971b50-7b39-465c-bb5a-2f8689e48cc2-1711378365620/node_modules/@ethersproject-xdc/properties" bn.js "^5.2.1" elliptic "6.5.4" hash.js "1.1.7" @@ -1641,76 +1641,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-c6d9bb1f-1efd-4541-8f31-afbf5645aa33-1708867847020/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-c6d9bb1f-1efd-4541-8f31-afbf5645aa33-1708867847020/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-c6d9bb1f-1efd-4541-8f31-afbf5645aa33-1708867847020/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-c6d9bb1f-1efd-4541-8f31-afbf5645aa33-1708867847020/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-c6d9bb1f-1efd-4541-8f31-afbf5645aa33-1708867847020/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-c6d9bb1f-1efd-4541-8f31-afbf5645aa33-1708867847020/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-e3924149-bd04-4548-98cf-44195b92192d-1711378365619/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-e3924149-bd04-4548-98cf-44195b92192d-1711378365619/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/keccak256" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-e3924149-bd04-4548-98cf-44195b92192d-1711378365619/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-e3924149-bd04-4548-98cf-44195b92192d-1711378365619/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/sha2" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-e3924149-bd04-4548-98cf-44195b92192d-1711378365619/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/strings" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-solidity-5.6.0-e3924149-bd04-4548-98cf-44195b92192d-1711378365619/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-097a1444-8150-46f3-a5ae-275f11d6f403-1708867847025/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-097a1444-8150-46f3-a5ae-275f11d6f403-1708867847025/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-097a1444-8150-46f3-a5ae-275f11d6f403-1708867847025/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-42e9cb08-71fd-4932-bd36-6f05e0f1b34b-1711378365620/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-42e9cb08-71fd-4932-bd36-6f05e0f1b34b-1711378365620/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-strings-5.7.0-42e9cb08-71fd-4932-bd36-6f05e0f1b34b-1711378365620/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-821735e3-264f-4877-bc9e-d9d9e2e1f244-1708867847021/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-821735e3-264f-4877-bc9e-d9d9e2e1f244-1708867847021/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-821735e3-264f-4877-bc9e-d9d9e2e1f244-1708867847021/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-821735e3-264f-4877-bc9e-d9d9e2e1f244-1708867847021/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-821735e3-264f-4877-bc9e-d9d9e2e1f244-1708867847021/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-821735e3-264f-4877-bc9e-d9d9e2e1f244-1708867847021/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-821735e3-264f-4877-bc9e-d9d9e2e1f244-1708867847021/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-821735e3-264f-4877-bc9e-d9d9e2e1f244-1708867847021/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-821735e3-264f-4877-bc9e-d9d9e2e1f244-1708867847021/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/address" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-bb480f26-2b90-41a5-bfff-057ac9b6e8e9-1711378365622/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-bb480f26-2b90-41a5-bfff-057ac9b6e8e9-1711378365622/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-bb480f26-2b90-41a5-bfff-057ac9b6e8e9-1711378365622/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-bb480f26-2b90-41a5-bfff-057ac9b6e8e9-1711378365622/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/keccak256" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-bb480f26-2b90-41a5-bfff-057ac9b6e8e9-1711378365622/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-bb480f26-2b90-41a5-bfff-057ac9b6e8e9-1711378365622/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-bb480f26-2b90-41a5-bfff-057ac9b6e8e9-1711378365622/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/rlp" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-bb480f26-2b90-41a5-bfff-057ac9b6e8e9-1711378365622/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/signing-key" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-transactions-5.7.0-bb480f26-2b90-41a5-bfff-057ac9b6e8e9-1711378365622/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-489ab83b-56b9-4fff-b287-8a87b0bdeb27-1708867847027/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-489ab83b-56b9-4fff-b287-8a87b0bdeb27-1708867847027/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-489ab83b-56b9-4fff-b287-8a87b0bdeb27-1708867847027/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-5f41db51-35b1-4973-a795-080ed99a99b4-1711378365619/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/constants" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-5f41db51-35b1-4973-a795-080ed99a99b4-1711378365619/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-units-5.6.0-5f41db51-35b1-4973-a795-080ed99a99b4-1711378365619/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-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/wordlists" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-a09eb1ac-3a0c-442b-89bd-bb790d286986-1708867847026/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abstract-provider" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/random" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/signing-key" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/transactions" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/wordlists" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wallet-5.6.0-bc949dc4-090d-4ab9-b6c6-709a17fc75ad-1711378365622/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-c056f5c9-afe3-4b90-a0e5-20cab43d0727-1708867847027/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c056f5c9-afe3-4b90-a0e5-20cab43d0727-1708867847027/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c056f5c9-afe3-4b90-a0e5-20cab43d0727-1708867847027/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c056f5c9-afe3-4b90-a0e5-20cab43d0727-1708867847027/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-c056f5c9-afe3-4b90-a0e5-20cab43d0727-1708867847027/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/base64" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-9ac39370-4d32-4c38-96c7-4498ea524885-1711378365623/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-9ac39370-4d32-4c38-96c7-4498ea524885-1711378365623/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-9ac39370-4d32-4c38-96c7-4498ea524885-1711378365623/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-9ac39370-4d32-4c38-96c7-4498ea524885-1711378365623/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-web-5.7.1-9ac39370-4d32-4c38-96c7-4498ea524885-1711378365623/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-382bd085-e03b-480a-acbe-4add8973a5dc-1708867847026/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-382bd085-e03b-480a-acbe-4add8973a5dc-1708867847026/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-382bd085-e03b-480a-acbe-4add8973a5dc-1708867847026/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-382bd085-e03b-480a-acbe-4add8973a5dc-1708867847026/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-382bd085-e03b-480a-acbe-4add8973a5dc-1708867847026/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eafc2a13-cd67-4bf6-9256-aec79a731277-1711378365623/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/hash" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eafc2a13-cd67-4bf6-9256-aec79a731277-1711378365623/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eafc2a13-cd67-4bf6-9256-aec79a731277-1711378365623/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eafc2a13-cd67-4bf6-9256-aec79a731277-1711378365623/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/strings" "file:../Library/Caches/Yarn/v6/npm-@ethersproject-xdc-wordlists-5.7.0-eafc2a13-cd67-4bf6-9256-aec79a731277-1711378365623/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" @@ -2307,16 +2307,7 @@ "@types/bn.js" "^4.11.3" bn.js "^4.11.8" -"@humanwhocodes/config-array@^0.11.13": - version "0.11.14" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" - integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== - dependencies: - "@humanwhocodes/object-schema" "^2.0.2" - debug "^4.3.1" - minimatch "^3.0.5" - -"@humanwhocodes/config-array@^0.11.14": +"@humanwhocodes/config-array@^0.11.13", "@humanwhocodes/config-array@^0.11.14": version "0.11.14" resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.11.14.tgz#d78e481a039f7566ecc9660b4ea7fe6b1fec442b" integrity sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg== @@ -2330,16 +2321,6 @@ 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== - "@humanwhocodes/object-schema@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" @@ -8205,36 +8186,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-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/abi" - "@ethersproject-xdc/abstract-provider" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/abstract-provider" - "@ethersproject-xdc/abstract-signer" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/abstract-signer" - "@ethersproject-xdc/address" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/address" - "@ethersproject-xdc/base64" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/base64" - "@ethersproject-xdc/basex" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/basex" - "@ethersproject-xdc/bignumber" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/bignumber" - "@ethersproject-xdc/bytes" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/bytes" - "@ethersproject-xdc/constants" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/constants" - "@ethersproject-xdc/contracts" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/contracts" - "@ethersproject-xdc/hash" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/hash" - "@ethersproject-xdc/hdnode" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/hdnode" - "@ethersproject-xdc/json-wallets" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/json-wallets" - "@ethersproject-xdc/keccak256" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/keccak256" - "@ethersproject-xdc/logger" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/logger" - "@ethersproject-xdc/networks" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/networks" - "@ethersproject-xdc/pbkdf2" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/pbkdf2" - "@ethersproject-xdc/properties" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/properties" - "@ethersproject-xdc/providers" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/providers" - "@ethersproject-xdc/random" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/random" - "@ethersproject-xdc/rlp" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/rlp" - "@ethersproject-xdc/sha2" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/sha2" - "@ethersproject-xdc/signing-key" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/signing-key" - "@ethersproject-xdc/solidity" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/solidity" - "@ethersproject-xdc/strings" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/strings" - "@ethersproject-xdc/transactions" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/transactions" - "@ethersproject-xdc/units" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/units" - "@ethersproject-xdc/wallet" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/wallet" - "@ethersproject-xdc/web" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/web" - "@ethersproject-xdc/wordlists" "file:../../../../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-7ae06096-69a0-4901-bab0-8a6a4af3667d-1708867847000/node_modules/@ethersproject-xdc/wordlists" + "@ethersproject-xdc/abi" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/abi" + "@ethersproject-xdc/abstract-provider" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/abstract-provider" + "@ethersproject-xdc/abstract-signer" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/abstract-signer" + "@ethersproject-xdc/address" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/address" + "@ethersproject-xdc/base64" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/base64" + "@ethersproject-xdc/basex" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/basex" + "@ethersproject-xdc/bignumber" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/bignumber" + "@ethersproject-xdc/bytes" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/bytes" + "@ethersproject-xdc/constants" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/constants" + "@ethersproject-xdc/contracts" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/contracts" + "@ethersproject-xdc/hash" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/hash" + "@ethersproject-xdc/hdnode" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/hdnode" + "@ethersproject-xdc/json-wallets" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/json-wallets" + "@ethersproject-xdc/keccak256" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/keccak256" + "@ethersproject-xdc/logger" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/logger" + "@ethersproject-xdc/networks" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/networks" + "@ethersproject-xdc/pbkdf2" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/pbkdf2" + "@ethersproject-xdc/properties" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/properties" + "@ethersproject-xdc/providers" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/providers" + "@ethersproject-xdc/random" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/random" + "@ethersproject-xdc/rlp" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/rlp" + "@ethersproject-xdc/sha2" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/sha2" + "@ethersproject-xdc/signing-key" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/signing-key" + "@ethersproject-xdc/solidity" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/solidity" + "@ethersproject-xdc/strings" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/strings" + "@ethersproject-xdc/transactions" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/transactions" + "@ethersproject-xdc/units" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/units" + "@ethersproject-xdc/wallet" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/wallet" + "@ethersproject-xdc/web" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/web" + "@ethersproject-xdc/wordlists" "file:../Library/Caches/Yarn/v6/npm-ethers-xdc-5.7.2-ba402b8c-f1be-43c1-a0b9-2b2aeab75ab2-1711378365608/node_modules/@ethersproject-xdc/wordlists" ethers@4.0.0-beta.3: version "4.0.0-beta.3"