From c85fbf022e0e24b21401c776b0e385700f9a177e Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Tue, 19 Dec 2023 18:52:31 +0100 Subject: [PATCH 01/11] Update quoting example for sdk release version --- v3-sdk/quoting/package.json | 2 +- v3-sdk/quoting/src/config.ts | 2 +- v3-sdk/quoting/src/libs/quote.ts | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/v3-sdk/quoting/package.json b/v3-sdk/quoting/package.json index 59f41ee2..e1e0b14a 100644 --- a/v3-sdk/quoting/package.json +++ b/v3-sdk/quoting/package.json @@ -7,7 +7,7 @@ "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@3.15.1", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.0", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/v3-sdk/quoting/src/config.ts b/v3-sdk/quoting/src/config.ts index 995bedf9..89db1e27 100644 --- a/v3-sdk/quoting/src/config.ts +++ b/v3-sdk/quoting/src/config.ts @@ -19,7 +19,7 @@ export interface ExampleConfig { export const CurrentConfig: ExampleConfig = { rpc: { - mainnet: '', + mainnet: 'https://mainnet.infura.io/v3/0ac57a06f2994538829c14745750d721', }, tokens: { in: USDC_TOKEN, diff --git a/v3-sdk/quoting/src/libs/quote.ts b/v3-sdk/quoting/src/libs/quote.ts index ecc2c3ec..9bf988d8 100644 --- a/v3-sdk/quoting/src/libs/quote.ts +++ b/v3-sdk/quoting/src/libs/quote.ts @@ -17,12 +17,12 @@ export async function quote(): Promise { const provider = getProvider() - const currencyAmountOut = await SwapQuoter.quoteExactInputSingle( - currencyAmountIn, - CurrentConfig.tokens.out, - CurrentConfig.tokens.poolFee, - provider - ) + const currencyAmountOut = await SwapQuoter.quoteExactInputSingle({ + amountIn: currencyAmountIn, + tokenOut: CurrentConfig.tokens.out, + poolFee: CurrentConfig.tokens.poolFee, + provider, + }) return toReadableAmount( currencyAmountOut.quotientBigInt, From 6fc2cabb794bba711b028b1d42eaeeb3937895f4 Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Tue, 19 Dec 2023 19:15:03 +0100 Subject: [PATCH 02/11] Update trading example for sdk release version --- v3-sdk/trading/package.json | 2 +- v3-sdk/trading/src/libs/trading.ts | 26 +++++++++++++++----------- v3-sdk/trading/src/libs/utils.ts | 4 +++- v3-sdk/trading/yarn.lock | 8 ++++---- 4 files changed, 23 insertions(+), 17 deletions(-) diff --git a/v3-sdk/trading/package.json b/v3-sdk/trading/package.json index 35892325..cf3bdec7 100644 --- a/v3-sdk/trading/package.json +++ b/v3-sdk/trading/package.json @@ -7,7 +7,7 @@ "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.13", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.0", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/v3-sdk/trading/src/libs/trading.ts b/v3-sdk/trading/src/libs/trading.ts index fbdf567f..af070146 100644 --- a/v3-sdk/trading/src/libs/trading.ts +++ b/v3-sdk/trading/src/libs/trading.ts @@ -34,12 +34,12 @@ export async function createTrade(): Promise { throw new Error('No network connection to fetch Pool metadata') } - const pool = await Pool.initFromChain( + const pool = await Pool.initFromChain({ provider, - CurrentConfig.tokens.in, - CurrentConfig.tokens.out, - CurrentConfig.tokens.poolFee - ) + tokenA: CurrentConfig.tokens.in, + tokenB: CurrentConfig.tokens.out, + fee: CurrentConfig.tokens.poolFee, + }) const swapRoute = new Route( [pool], @@ -87,7 +87,11 @@ export async function executeTrade( while (response === null) { try { - response = await SwapRouter.executeTrade(trade, options, wallet) + response = await SwapRouter.executeTrade({ + trades: trade, + options, + signer: wallet, + }) if (response === null) { continue @@ -112,18 +116,18 @@ export async function getOutputQuote(route: Route) { throw new Error('Provider required to get pool state') } - const outputQuote = await SwapQuoter.callQuoter( + const outputQuote = await SwapQuoter.callQuoter({ route, - CurrencyAmount.fromRawAmount( + amount: CurrencyAmount.fromRawAmount( CurrentConfig.tokens.in, fromReadableAmount( CurrentConfig.tokens.amountIn, CurrentConfig.tokens.in.decimals ).toString() ), - TradeType.EXACT_INPUT, - provider - ) + tradeType: TradeType.EXACT_INPUT, + provider, + }) return outputQuote } diff --git a/v3-sdk/trading/src/libs/utils.ts b/v3-sdk/trading/src/libs/utils.ts index d28fe8e1..f267eb20 100644 --- a/v3-sdk/trading/src/libs/utils.ts +++ b/v3-sdk/trading/src/libs/utils.ts @@ -12,7 +12,9 @@ export function fromReadableAmount( } export function toReadableAmount(rawAmount: number, decimals: number): string { - return ethers.utils.formatUnits(rawAmount, decimals).slice(0, MAX_DECIMALS) + const rawString = ethers.utils.formatUnits(rawAmount, decimals) + const parts = rawString.split('.') + return `${parts[0]}.${parts[1] ? parts[1].slice(0, MAX_DECIMALS) : ''}` } export function displayTrade(trade: Trade): string { diff --git a/v3-sdk/trading/yarn.lock b/v3-sdk/trading/yarn.lock index db125a5a..14091936 100644 --- a/v3-sdk/trading/yarn.lock +++ b/v3-sdk/trading/yarn.lock @@ -2644,10 +2644,10 @@ "@uniswap/v3-core" "^1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.13": - version "3.15.13" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-3.15.13.tgz#d98398d3d1cb6e46c6bc075207f468591797db93" - integrity sha512-a+1Mp+dvzovRhXieU01HxNQDXw7E5XyrPI+K0d/Cd4ltAB5a+bnaIDA9+S3xwcspPYoA6AAxdyJy81UiD/AAsw== +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.0.tgz#627880d647a783bed2b779bd01cf64188e8c4eb5" + integrity sha512-ZMA8+cqp7OjSAG1ZKbk7x0NHudzb4Xxyi1/zV5Q7RbeJbQRqRrg3PbQHF+nQSHEYIvueohMTUlMnAXYq8IZ/Og== dependencies: "@ethersproject/abi" "^5.0.12" "@ethersproject/solidity" "^5.0.9" From 383cc5cbbd2af0f4a2164c904d6ff7edc789b3bd Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Tue, 19 Dec 2023 19:28:49 +0100 Subject: [PATCH 03/11] Update routing example for sdk release version --- v3-sdk/routing/.yarnrc | 2 +- v3-sdk/routing/package.json | 2 +- v3-sdk/routing/yarn.lock | 17 ++++++++++++++++- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/v3-sdk/routing/.yarnrc b/v3-sdk/routing/.yarnrc index 7ec3acae..7f742089 100644 --- a/v3-sdk/routing/.yarnrc +++ b/v3-sdk/routing/.yarnrc @@ -1 +1 @@ ---frozen-lockfile false \ No newline at end of file +--frozen-lockfile true \ No newline at end of file diff --git a/v3-sdk/routing/package.json b/v3-sdk/routing/package.json index 4a2a573b..f0693188 100644 --- a/v3-sdk/routing/package.json +++ b/v3-sdk/routing/package.json @@ -7,7 +7,7 @@ "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@3.15.12", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.0", "@uniswap/smart-order-router": "npm:@florian-s-a-w/uniswap-smart-order-router@^3.18.8", "ethers": "^5.7.2", "react": "^18.2.0", diff --git a/v3-sdk/routing/yarn.lock b/v3-sdk/routing/yarn.lock index b5e8a14b..d4dff26a 100644 --- a/v3-sdk/routing/yarn.lock +++ b/v3-sdk/routing/yarn.lock @@ -2740,7 +2740,22 @@ "@uniswap/v3-core" "^1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@3.15.12", "@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12": +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.0.tgz#627880d647a783bed2b779bd01cf64188e8c4eb5" + integrity sha512-ZMA8+cqp7OjSAG1ZKbk7x0NHudzb4Xxyi1/zV5Q7RbeJbQRqRrg3PbQHF+nQSHEYIvueohMTUlMnAXYq8IZ/Og== + dependencies: + "@ethersproject/abi" "^5.0.12" + "@ethersproject/solidity" "^5.0.9" + "@uniswap/sdk-core" "npm:@koraykoska/uniswap-sdk-core@^6.0.9" + "@uniswap/swap-router-contracts" "^1.2.1" + "@uniswap/v3-periphery" "^1.1.1" + "@uniswap/v3-staker" "1.0.2" + ethers-multicall "^0.2.3" + tiny-invariant "^1.1.0" + tiny-warning "^1.0.3" + +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12": version "3.15.12" resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-3.15.12.tgz#abb26e8f2e4380cef2ac96f391dad2c71e99eca3" integrity sha512-KtXUrsKY91EI8CLUpUdY+I41qpAbdcaXh8GsTdaoQdMBZpoo4anZ1WX3uweD3yeFNo/MjOYgunJ7jy4Rwjb40Q== From 8143ca08781278241cc5eab66d1589ed0bfd8789 Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Tue, 19 Dec 2023 21:02:34 +0100 Subject: [PATCH 04/11] Update minting position guide for sdk release version --- v3-sdk/minting-position/package.json | 6 +- v3-sdk/minting-position/src/config.ts | 4 +- .../minting-position/src/example/Example.tsx | 45 +- v3-sdk/minting-position/src/libs/constants.ts | 6 +- v3-sdk/minting-position/src/libs/pool.ts | 49 +- v3-sdk/minting-position/src/libs/positions.ts | 224 ++---- v3-sdk/minting-position/src/libs/providers.ts | 67 +- v3-sdk/minting-position/yarn.lock | 734 +----------------- 8 files changed, 144 insertions(+), 991 deletions(-) diff --git a/v3-sdk/minting-position/package.json b/v3-sdk/minting-position/package.json index 41104873..ae0a08f3 100644 --- a/v3-sdk/minting-position/package.json +++ b/v3-sdk/minting-position/package.json @@ -6,8 +6,8 @@ "@types/node": "^16.7.13", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", - "@uniswap/sdk-core": "^3.1.0", - "@uniswap/v3-sdk": "^3.9.0", + "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.1", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -19,7 +19,7 @@ "build": "react-scripts build", "lint": "yarn eslint .", "install:chain": "curl -L https://foundry.paradigm.xyz | bash && clear && echo $0 | exec && foundryup", - "start:chain": "anvil --chain-id 1337 --fork-url" + "start:chain": "anvil --chain-id 1 --fork-url" }, "eslintConfig": { "extends": [ diff --git a/v3-sdk/minting-position/src/config.ts b/v3-sdk/minting-position/src/config.ts index d2bc0e1c..0b31ef25 100644 --- a/v3-sdk/minting-position/src/config.ts +++ b/v3-sdk/minting-position/src/config.ts @@ -43,9 +43,9 @@ export const CurrentConfig: ExampleConfig = { '0xac0974bec39a17e36ba4a6b4d238ff944bacb478cbed5efcae784d7bf4f2ff80', }, tokens: { - token0: USDC_TOKEN, + token0: DAI_TOKEN, token0Amount: 1000, - token1: DAI_TOKEN, + token1: USDC_TOKEN, token1Amount: 1000, poolFee: FeeAmount.LOW, }, diff --git a/v3-sdk/minting-position/src/example/Example.tsx b/v3-sdk/minting-position/src/example/Example.tsx index 45c3a3b1..f58ccd34 100644 --- a/v3-sdk/minting-position/src/example/Example.tsx +++ b/v3-sdk/minting-position/src/example/Example.tsx @@ -2,18 +2,14 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react' import './Example.css' import { Environment, CurrentConfig } from '../config' import { getCurrencyBalance } from '../libs/balance' -import { - getPositionIds, - getPositionInfo, - mintPosition, - PositionInfo, -} from '../libs/positions' +import { getPositions, mintPosition } from '../libs/positions' import { connectBrowserExtensionWallet, getProvider, TransactionState, getWalletAddress, } from '../libs/providers' +import { Position } from '@uniswap/v3-sdk' const useOnBlockUpdated = (callback: (blockNumber: number) => void) => { useEffect(() => { @@ -27,8 +23,7 @@ const useOnBlockUpdated = (callback: (blockNumber: number) => void) => { const Example = () => { const [token0Balance, setToken0Balance] = useState() const [token1Balance, setToken1Balance] = useState() - const [positionIds, setPositionIds] = useState([]) - const [positionsInfo, setPositionsInfo] = useState([]) + const [positions, setPositions] = useState([]) const [txState, setTxState] = useState(TransactionState.New) const [blockNumber, setBlockNumber] = useState(0) @@ -54,10 +49,8 @@ const Example = () => { await getCurrencyBalance(provider, address, CurrentConfig.tokens.token1) ) - // Set Position Info - const ids = await getPositionIds() - setPositionIds(ids) - setPositionsInfo(await Promise.all(ids.map(getPositionInfo))) + // Set Positions + setPositions(await getPositions()) }, []) // Event Handlers @@ -75,19 +68,15 @@ const Example = () => { // Formatted Data - const positionInfoStrings: string[] = useMemo(() => { - if (positionIds.length !== positionsInfo.length) { - return [] - } - - return positionIds - .map((id, index) => [id, positionsInfo[index]]) - .map((info) => { - const id = info[0] - const posInfo = info[1] as PositionInfo - return `${id}: ${posInfo.liquidity.toString()} liquidity, owed ${posInfo.tokensOwed0.toString()} and ${posInfo.tokensOwed1.toString()}` - }) - }, [positionIds, positionsInfo]) + const positionStrings: string[] = useMemo(() => { + return positions.map((pos) => { + return `${ + pos.positionId ? pos.positionId : 'No id' + }: ${pos.amount0.toSignificant()} and ${pos.amount1.toSignificant()} liquidity , owed ${ + pos.tokensOwed0 ? pos.tokensOwed0.toString() : '0' + } and ${pos.tokensOwed1 ? pos.tokensOwed1.toString() : '0'}` + }) + }, [positions]) return (
@@ -117,16 +106,14 @@ const Example = () => {

{`${CurrentConfig.tokens.token1.symbol} Balance: ${token1Balance}`}

Positions:{' '} - {positionInfoStrings.map((s, i) => ( + {positionStrings.map((s, i) => (

{s}

))}
diff --git a/v3-sdk/minting-position/src/libs/constants.ts b/v3-sdk/minting-position/src/libs/constants.ts index 1df27cac..c66acebf 100644 --- a/v3-sdk/minting-position/src/libs/constants.ts +++ b/v3-sdk/minting-position/src/libs/constants.ts @@ -1,6 +1,6 @@ // This file stores web3 related constants such as addresses, token definitions, ETH currency references and ABI's -import { SupportedChainId, Token } from '@uniswap/sdk-core' +import { ChainId, Token } from '@uniswap/sdk-core' // Addresses @@ -12,7 +12,7 @@ export const NONFUNGIBLE_POSITION_MANAGER_CONTRACT_ADDRESS = // Currencies and Tokens export const USDC_TOKEN = new Token( - SupportedChainId.MAINNET, + ChainId.MAINNET, '0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48', 6, 'USDC', @@ -20,7 +20,7 @@ export const USDC_TOKEN = new Token( ) export const DAI_TOKEN = new Token( - SupportedChainId.MAINNET, + ChainId.MAINNET, '0x6B175474E89094C44Da98b954EedeAC495271d0F', 18, 'DAI', diff --git a/v3-sdk/minting-position/src/libs/pool.ts b/v3-sdk/minting-position/src/libs/pool.ts index 312130a2..3f0d03a2 100644 --- a/v3-sdk/minting-position/src/libs/pool.ts +++ b/v3-sdk/minting-position/src/libs/pool.ts @@ -1,56 +1,17 @@ -import { ethers } from 'ethers' import { CurrentConfig } from '../config' -import IUniswapV3PoolABI from '@uniswap/v3-core/artifacts/contracts/interfaces/IUniswapV3Pool.sol/IUniswapV3Pool.json' -import { POOL_FACTORY_CONTRACT_ADDRESS } from './constants' -import { getProvider } from './providers' -import { computePoolAddress } from '@uniswap/v3-sdk' +import { getProvider } from '../libs/providers' +import { Pool } from '@uniswap/v3-sdk' -interface PoolInfo { - token0: string - token1: string - fee: number - tickSpacing: number - sqrtPriceX96: ethers.BigNumber - liquidity: ethers.BigNumber - tick: number -} - -export async function getPoolInfo(): Promise { +export async function getPool(): Promise { const provider = getProvider() if (!provider) { throw new Error('No provider') } - const currentPoolAddress = computePoolAddress({ - factoryAddress: POOL_FACTORY_CONTRACT_ADDRESS, + return Pool.initFromChain({ + provider, tokenA: CurrentConfig.tokens.token0, tokenB: CurrentConfig.tokens.token1, fee: CurrentConfig.tokens.poolFee, }) - - const poolContract = new ethers.Contract( - currentPoolAddress, - IUniswapV3PoolABI.abi, - provider - ) - - const [token0, token1, fee, tickSpacing, liquidity, slot0] = - await Promise.all([ - poolContract.token0(), - poolContract.token1(), - poolContract.fee(), - poolContract.tickSpacing(), - poolContract.liquidity(), - poolContract.slot0(), - ]) - - return { - token0, - token1, - fee, - tickSpacing, - liquidity, - sqrtPriceX96: slot0[0], - tick: slot0[1], - } } diff --git a/v3-sdk/minting-position/src/libs/positions.ts b/v3-sdk/minting-position/src/libs/positions.ts index 677d1139..57dd7a7d 100644 --- a/v3-sdk/minting-position/src/libs/positions.ts +++ b/v3-sdk/minting-position/src/libs/positions.ts @@ -1,40 +1,24 @@ -import { CurrencyAmount, Percent, Token } from '@uniswap/sdk-core' import { + NONFUNGIBLE_POSITION_MANAGER_ADDRESSES, + Percent, +} from '@uniswap/sdk-core' +import { + approveTokenTransfer, MintOptions, nearestUsableTick, - NonfungiblePositionManager, - Pool, Position, } from '@uniswap/v3-sdk' -import { BigNumber, ethers } from 'ethers' import { CurrentConfig } from '../config' -import { - ERC20_ABI, - MAX_FEE_PER_GAS, - MAX_PRIORITY_FEE_PER_GAS, - NONFUNGIBLE_POSITION_MANAGER_ABI, - NONFUNGIBLE_POSITION_MANAGER_CONTRACT_ADDRESS, -} from './constants' -import { TOKEN_AMOUNT_TO_APPROVE_FOR_TRANSFER } from './constants' import { fromReadableAmount } from './conversion' -import { getPoolInfo } from './pool' +import { getPool } from './pool' import { getProvider, + getWallet, getWalletAddress, - sendTransaction, TransactionState, + waitForReceipt, } from './providers' -export interface PositionInfo { - tickLower: number - tickUpper: number - liquidity: BigNumber - feeGrowthInside0LastX128: BigNumber - feeGrowthInside1LastX128: BigNumber - tokensOwed0: BigNumber - tokensOwed1: BigNumber -} - export async function mintPosition(): Promise { const address = getWalletAddress() const provider = getProvider() @@ -43,37 +27,49 @@ export async function mintPosition(): Promise { } // Give approval to the contract to transfer tokens - const tokenInApproval = await getTokenTransferApproval( - CurrentConfig.tokens.token0 + const positionManagerAddress = + NONFUNGIBLE_POSITION_MANAGER_ADDRESSES[CurrentConfig.tokens.token0.chainId] + + const amount0 = fromReadableAmount( + CurrentConfig.tokens.token0Amount, + CurrentConfig.tokens.token0.decimals ) - const tokenOutApproval = await getTokenTransferApproval( - CurrentConfig.tokens.token1 + const amount1 = fromReadableAmount( + CurrentConfig.tokens.token1Amount, + CurrentConfig.tokens.token1.decimals ) + const token0Approval = await approveTokenTransfer({ + contractAddress: positionManagerAddress, + tokenAddress: CurrentConfig.tokens.token0.address, + amount: amount0, + signer: getWallet(), + }) + const token1Approval = await approveTokenTransfer({ + contractAddress: positionManagerAddress, + tokenAddress: CurrentConfig.tokens.token1.address, + amount: amount1, + signer: getWallet(), + }) // Fail if transfer approvals do not go through - if ( - tokenInApproval !== TransactionState.Sent || - tokenOutApproval !== TransactionState.Sent - ) { + if (token0Approval.status !== 1 || token1Approval.status !== 1) { return TransactionState.Failed } - const positionToMint = await constructPosition( - CurrencyAmount.fromRawAmount( - CurrentConfig.tokens.token0, - fromReadableAmount( - CurrentConfig.tokens.token0Amount, - CurrentConfig.tokens.token0.decimals - ) - ), - CurrencyAmount.fromRawAmount( - CurrentConfig.tokens.token1, - fromReadableAmount( - CurrentConfig.tokens.token1Amount, - CurrentConfig.tokens.token1.decimals - ) - ) - ) + const pool = await getPool() + + const positionToMint = Position.fromAmounts({ + pool: pool, + tickLower: + nearestUsableTick(pool.tickCurrent, pool.tickSpacing) - + pool.tickSpacing * 2, + tickUpper: + nearestUsableTick(pool.tickCurrent, pool.tickSpacing) + + pool.tickSpacing * 2, + amount0: amount0, + amount1: amount1, + useFullPrecision: true, + }) const mintOptions: MintOptions = { recipient: address, @@ -82,136 +78,22 @@ export async function mintPosition(): Promise { } // get calldata for minting a position - const { calldata, value } = NonfungiblePositionManager.addCallParameters( - positionToMint, - mintOptions - ) - - // build transaction - const transaction = { - data: calldata, - to: NONFUNGIBLE_POSITION_MANAGER_CONTRACT_ADDRESS, - value: value, - from: address, - maxFeePerGas: MAX_FEE_PER_GAS, - maxPriorityFeePerGas: MAX_PRIORITY_FEE_PER_GAS, - } - - return sendTransaction(transaction) -} - -export async function constructPosition( - token0Amount: CurrencyAmount, - token1Amount: CurrencyAmount -): Promise { - // get pool info - const poolInfo = await getPoolInfo() - - // construct pool instance - const configuredPool = new Pool( - token0Amount.currency, - token1Amount.currency, - poolInfo.fee, - poolInfo.sqrtPriceX96.toString(), - poolInfo.liquidity.toString(), - poolInfo.tick - ) - - // create position using the maximum liquidity from input amounts - return Position.fromAmounts({ - pool: configuredPool, - tickLower: - nearestUsableTick(poolInfo.tick, poolInfo.tickSpacing) - - poolInfo.tickSpacing * 2, - tickUpper: - nearestUsableTick(poolInfo.tick, poolInfo.tickSpacing) + - poolInfo.tickSpacing * 2, - amount0: token0Amount.quotient, - amount1: token1Amount.quotient, - useFullPrecision: true, + const txResponse = await positionToMint.mint({ + signer: getWallet(), + provider, + options: mintOptions, }) + + return waitForReceipt(txResponse) } -export async function getPositionIds(): Promise { +export async function getPositions(): Promise { const provider = getProvider() const address = getWalletAddress() + if (!provider || !address) { throw new Error('No provider available') } - - const positionContract = new ethers.Contract( - NONFUNGIBLE_POSITION_MANAGER_CONTRACT_ADDRESS, - NONFUNGIBLE_POSITION_MANAGER_ABI, - provider - ) - - // Get number of positions - const balance: number = await positionContract.balanceOf(address) - // Get all positions - const tokenIds = [] - for (let i = 0; i < balance; i++) { - const tokenOfOwnerByIndex: number = - await positionContract.tokenOfOwnerByIndex(address, i) - tokenIds.push(tokenOfOwnerByIndex) - } - - return tokenIds -} - -export async function getPositionInfo(tokenId: number): Promise { - const provider = getProvider() - if (!provider) { - throw new Error('No provider available') - } - - const positionContract = new ethers.Contract( - NONFUNGIBLE_POSITION_MANAGER_CONTRACT_ADDRESS, - NONFUNGIBLE_POSITION_MANAGER_ABI, - provider - ) - - const position = await positionContract.positions(tokenId) - - return { - tickLower: position.tickLower, - tickUpper: position.tickUpper, - liquidity: position.liquidity, - feeGrowthInside0LastX128: position.feeGrowthInside0LastX128, - feeGrowthInside1LastX128: position.feeGrowthInside1LastX128, - tokensOwed0: position.tokensOwed0, - tokensOwed1: position.tokensOwed1, - } -} - -export async function getTokenTransferApproval( - token: Token -): Promise { - const provider = getProvider() - const address = getWalletAddress() - if (!provider || !address) { - console.log('No Provider Found') - return TransactionState.Failed - } - - try { - const tokenContract = new ethers.Contract( - token.address, - ERC20_ABI, - provider - ) - - const transaction = await tokenContract.populateTransaction.approve( - NONFUNGIBLE_POSITION_MANAGER_CONTRACT_ADDRESS, - TOKEN_AMOUNT_TO_APPROVE_FOR_TRANSFER - ) - - return sendTransaction({ - ...transaction, - from: address, - }) - } catch (e) { - console.error(e) - return TransactionState.Failed - } + return Position.getAllPositionsForAddress(provider, address) } diff --git a/v3-sdk/minting-position/src/libs/providers.ts b/v3-sdk/minting-position/src/libs/providers.ts index f59fe477..b2a64a07 100644 --- a/v3-sdk/minting-position/src/libs/providers.ts +++ b/v3-sdk/minting-position/src/libs/providers.ts @@ -1,4 +1,4 @@ -import { ethers, providers, BigNumber } from 'ethers' +import { ethers, providers } from 'ethers' import { Environment, CurrentConfig } from '../config' import { BaseProvider } from '@ethersproject/providers' @@ -6,6 +6,9 @@ import { BaseProvider } from '@ethersproject/providers' const mainnetProvider = new ethers.providers.JsonRpcProvider( CurrentConfig.rpc.mainnet ) +const localProvider = new ethers.providers.JsonRpcProvider( + CurrentConfig.rpc.local +) const wallet = createWallet() const browserExtensionProvider = createBrowserExtensionProvider() @@ -27,10 +30,25 @@ export function getMainnetProvider(): BaseProvider { return mainnetProvider } -export function getProvider(): providers.Provider | null { - return CurrentConfig.env === Environment.WALLET_EXTENSION - ? browserExtensionProvider - : wallet.provider +export function getProvider(): + | providers.JsonRpcProvider + | providers.Web3Provider + | null { + if (CurrentConfig.env === Environment.WALLET_EXTENSION) { + return browserExtensionProvider + } else if (CurrentConfig.env === Environment.MAINNET) { + return mainnetProvider + } else { + return localProvider + } +} + +export function getWallet(): ethers.providers.JsonRpcSigner { + const provider = getProvider() + if (provider === null) { + throw new Error('Cannot get wallet without connected provider') + } + return provider.getSigner() } export function getWalletAddress(): string | null { @@ -39,16 +57,6 @@ export function getWalletAddress(): string | null { : wallet.address } -export async function sendTransaction( - transaction: ethers.providers.TransactionRequest -): Promise { - if (CurrentConfig.env === Environment.WALLET_EXTENSION) { - return sendTransactionViaExtension(transaction) - } else { - return sendTransactionViaWallet(transaction) - } -} - export async function connectBrowserExtensionWallet() { if (!window.ethereum) { return null @@ -85,34 +93,9 @@ function createBrowserExtensionProvider(): ethers.providers.Web3Provider | null } } -// Transacting with a wallet extension via a Web3 Provider -async function sendTransactionViaExtension( - transaction: ethers.providers.TransactionRequest -): Promise { - try { - const receipt = await browserExtensionProvider?.send( - 'eth_sendTransaction', - [transaction] - ) - if (receipt) { - return TransactionState.Sent - } else { - return TransactionState.Failed - } - } catch (e) { - console.log(e) - return TransactionState.Rejected - } -} - -async function sendTransactionViaWallet( - transaction: ethers.providers.TransactionRequest +export async function waitForReceipt( + txRes: ethers.providers.TransactionResponse ): Promise { - if (transaction.value) { - transaction.value = BigNumber.from(transaction.value) - } - const txRes = await wallet.sendTransaction(transaction) - let receipt = null const provider = getProvider() if (!provider) { diff --git a/v3-sdk/minting-position/yarn.lock b/v3-sdk/minting-position/yarn.lock index bebefbe5..60e092e7 100644 --- a/v3-sdk/minting-position/yarn.lock +++ b/v3-sdk/minting-position/yarn.lock @@ -2,11 +2,6 @@ # yarn lockfile v1 -"@adobe/css-tools@^4.0.1": - version "4.0.1" - resolved "https://registry.yarnpkg.com/@adobe/css-tools/-/css-tools-4.0.1.tgz#b38b444ad3aa5fedbb15f2f746dcd934226a12dd" - integrity sha512-+u76oB43nOHrF4DDWRLWDCtci7f3QJoEBigemIdIeTi1ODqjx6Tad9NCVnPRwewWlKkVab5PlK8DCtPTyX7S8g== - "@ampproject/remapping@^2.1.0": version "2.2.0" resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.0.tgz#56c133824780de3174aed5ab6834f3026790154d" @@ -1033,7 +1028,7 @@ core-js-pure "^3.25.1" regenerator-runtime "^0.13.11" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.8.4": version "7.20.6" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.20.6.tgz#facf4879bfed9b5326326273a64220f099b0fce3" integrity sha512-Q+8MqP7TiHMWzSfwiJwXCjyf4GYA4Dgw3emg/7xmwsdLJOZUp+nMqcOwOzzYheuM1rhDu8FSj2l0aoMygEuXuA== @@ -1205,7 +1200,7 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.5.0", "@ethersproject/abi@^5.7.0": +"@ethersproject/abi@5.7.0", "@ethersproject/abi@^5.0.12", "@ethersproject/abi@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/abi/-/abi-5.7.0.tgz#b3f3e045bbbeed1af3947335c247ad625a44e449" integrity sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA== @@ -1244,7 +1239,7 @@ "@ethersproject/logger" "^5.7.0" "@ethersproject/properties" "^5.7.0" -"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0": +"@ethersproject/address@5.7.0", "@ethersproject/address@^5.0.2", "@ethersproject/address@^5.7.0": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/address/-/address-5.7.0.tgz#19b56c4d74a3b0a46bfdbb6cfcc0a153fc697f37" integrity sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA== @@ -1459,7 +1454,7 @@ elliptic "6.5.4" hash.js "1.1.7" -"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.0.0", "@ethersproject/solidity@^5.0.9": +"@ethersproject/solidity@5.7.0", "@ethersproject/solidity@^5.0.9": version "5.7.0" resolved "https://registry.yarnpkg.com/@ethersproject/solidity/-/solidity-5.7.0.tgz#5e9c911d8a2acce2a5ebb48a5e2e0af20b631cb8" integrity sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA== @@ -1650,13 +1645,6 @@ "@types/node" "*" jest-mock "^27.5.1" -"@jest/expect-utils@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/expect-utils/-/expect-utils-29.3.1.tgz#531f737039e9b9e27c42449798acb5bba01935b6" - integrity sha512-wlrznINZI5sMjwvUoLVk617ll/UYfGIZNxmbU+Pa7wmkL4vYzhV9R2pwVqUh4NWWuLQWkI8+8mOkxs//prKQ3g== - dependencies: - jest-get-type "^29.2.0" - "@jest/fake-timers@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/fake-timers/-/fake-timers-27.5.1.tgz#76979745ce0579c8a94a4678af7a748eda8ada74" @@ -1716,13 +1704,6 @@ dependencies: "@sinclair/typebox" "^0.24.1" -"@jest/schemas@^29.0.0": - version "29.0.0" - resolved "https://registry.yarnpkg.com/@jest/schemas/-/schemas-29.0.0.tgz#5f47f5994dd4ef067fb7b4188ceac45f77fe952a" - integrity sha512-3Ab5HgYIIAnS0HjqJHQYZS+zXc4tUmTmBH3z83ajI6afXp8X3ZtdLX+nXx+I7LNkJD7uN9LAVhgnjDgZa2z0kA== - dependencies: - "@sinclair/typebox" "^0.24.1" - "@jest/source-map@^27.5.1": version "27.5.1" resolved "https://registry.yarnpkg.com/@jest/source-map/-/source-map-27.5.1.tgz#6608391e465add4205eae073b55e7f279e04e8cf" @@ -1806,18 +1787,6 @@ "@types/yargs" "^17.0.8" chalk "^4.0.0" -"@jest/types@^29.3.1": - version "29.3.1" - resolved "https://registry.yarnpkg.com/@jest/types/-/types-29.3.1.tgz#7c5a80777cb13e703aeec6788d044150341147e3" - integrity sha512-d0S0jmmTpjnhCmNpApgX3jrUZgZ22ivKJRvL2lli5hpCRoNnp1f85r2/wpKfXuYu8E7Jjh1hGfhPyup1NM5AmA== - dependencies: - "@jest/schemas" "^29.0.0" - "@types/istanbul-lib-coverage" "^2.0.0" - "@types/istanbul-reports" "^3.0.0" - "@types/node" "*" - "@types/yargs" "^17.0.8" - chalk "^4.0.0" - "@jridgewell/gen-mapping@^0.1.0": version "0.1.1" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz#e5d2e450306a9491e3bd77e323e38d7aff315996" @@ -2098,51 +2067,6 @@ "@svgr/plugin-svgo" "^5.5.0" loader-utils "^2.0.0" -"@testing-library/dom@^8.5.0": - version "8.19.0" - resolved "https://registry.yarnpkg.com/@testing-library/dom/-/dom-8.19.0.tgz#bd3f83c217ebac16694329e413d9ad5fdcfd785f" - integrity sha512-6YWYPPpxG3e/xOo6HIWwB/58HukkwIVTOaZ0VwdMVjhRUX/01E4FtQbck9GazOOj7MXHc5RBzMrU86iBJHbI+A== - dependencies: - "@babel/code-frame" "^7.10.4" - "@babel/runtime" "^7.12.5" - "@types/aria-query" "^4.2.0" - aria-query "^5.0.0" - chalk "^4.1.0" - dom-accessibility-api "^0.5.9" - lz-string "^1.4.4" - pretty-format "^27.0.2" - -"@testing-library/jest-dom@^5.14.1": - version "5.16.5" - resolved "https://registry.yarnpkg.com/@testing-library/jest-dom/-/jest-dom-5.16.5.tgz#3912846af19a29b2dbf32a6ae9c31ef52580074e" - integrity sha512-N5ixQ2qKpi5OLYfwQmUb/5mSV9LneAcaUfp32pn4yCnpb8r/Yz0pXFPck21dIicKmi+ta5WRAknkZCfA8refMA== - dependencies: - "@adobe/css-tools" "^4.0.1" - "@babel/runtime" "^7.9.2" - "@types/testing-library__jest-dom" "^5.9.1" - aria-query "^5.0.0" - chalk "^3.0.0" - css.escape "^1.5.1" - dom-accessibility-api "^0.5.6" - lodash "^4.17.15" - redent "^3.0.0" - -"@testing-library/react@^13.0.0": - version "13.4.0" - resolved "https://registry.yarnpkg.com/@testing-library/react/-/react-13.4.0.tgz#6a31e3bf5951615593ad984e96b9e5e2d9380966" - integrity sha512-sXOGON+WNTh3MLE9rve97ftaZukN3oNf2KjDy7YTx6hcTO2uuLHuCGynMDhFwGw/jYf4OJ2Qk0i4i79qMNNkyw== - dependencies: - "@babel/runtime" "^7.12.5" - "@testing-library/dom" "^8.5.0" - "@types/react-dom" "^18.0.0" - -"@testing-library/user-event@^13.2.1": - version "13.5.0" - resolved "https://registry.yarnpkg.com/@testing-library/user-event/-/user-event-13.5.0.tgz#69d77007f1e124d55314a2b73fd204b333b13295" - integrity sha512-5Kwtbo3Y/NowpkbRuSepbyMFkZmHgD+vPzYB/RJ4oxt5Gj/avFFBYjhw27cqSVPVw/3a67NK1PbiIr9k4Gwmdg== - dependencies: - "@babel/runtime" "^7.12.5" - "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -2153,11 +2077,6 @@ resolved "https://registry.yarnpkg.com/@trysound/sax/-/sax-0.2.0.tgz#cccaab758af56761eb7bf37af6f03f326dd798ad" integrity sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA== -"@types/aria-query@^4.2.0": - version "4.2.2" - resolved "https://registry.yarnpkg.com/@types/aria-query/-/aria-query-4.2.2.tgz#ed4e0ad92306a704f9fb132a0cfcf77486dbe2bc" - integrity sha512-HnYpAE1Y6kRyKM/XkEuiRQhTHvkzMBurTHnpFLYLBGPIylZNPs9jJcuOOYWxPLJCSEtmZT0Y8rHDokKN7rRTig== - "@types/babel__core@^7.0.0", "@types/babel__core@^7.1.14": version "7.1.20" resolved "https://registry.yarnpkg.com/@types/babel__core/-/babel__core-7.1.20.tgz#e168cdd612c92a2d335029ed62ac94c95b362359" @@ -2309,22 +2228,6 @@ dependencies: "@types/istanbul-lib-report" "*" -"@types/jest@*": - version "29.2.4" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-29.2.4.tgz#9c155c4b81c9570dbd183eb8604aa0ae80ba5a5b" - integrity sha512-PipFB04k2qTRPePduVLTRiPzQfvMeLwUN3Z21hsAKaB/W9IIzgB2pizCL466ftJlcyZqnHoC9ZHpxLGl3fS86A== - dependencies: - expect "^29.0.0" - pretty-format "^29.0.0" - -"@types/jest@^27.0.1": - version "27.5.2" - resolved "https://registry.yarnpkg.com/@types/jest/-/jest-27.5.2.tgz#ec49d29d926500ffb9fd22b84262e862049c026c" - integrity sha512-mpT8LJJ4CMeeahobofYWIjFo0xonRS/HfxnVEPMPFSQdGUt1uHCnoPT7Zhb+sjDU2wz0oKV0OLUR0WzrHNgfeA== - dependencies: - jest-matcher-utils "^27.0.0" - pretty-format "^27.0.0" - "@types/json-schema@*", "@types/json-schema@^7.0.4", "@types/json-schema@^7.0.5", "@types/json-schema@^7.0.8", "@types/json-schema@^7.0.9": version "7.0.11" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.11.tgz#d421b6c527a3037f7c84433fd2c4229e016863d3" @@ -2445,13 +2348,6 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== -"@types/testing-library__jest-dom@^5.9.1": - version "5.14.5" - resolved "https://registry.yarnpkg.com/@types/testing-library__jest-dom/-/testing-library__jest-dom-5.14.5.tgz#d113709c90b3c75fdb127ec338dad7d5f86c974f" - integrity sha512-SBwbxYoyPIvxHbeHxTZX2Pe/74F/tX2/D3mMvzabdeJ25bBojfW0TyB8BHrbq/9zaaKICJZjLP+8r6AeZMFCuQ== - dependencies: - "@types/jest" "*" - "@types/trusted-types@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" @@ -2573,39 +2469,15 @@ "@typescript-eslint/types" "5.45.1" eslint-visitor-keys "^3.3.0" -"@uniswap/default-token-list@^2.0.0": - version "2.3.0" - resolved "https://registry.yarnpkg.com/@uniswap/default-token-list/-/default-token-list-2.3.0.tgz#e5e522e775791999643aac9b0faf1ccfb4c49bd8" - integrity sha512-yfd4snv9K20tEbNwy9Vjym41RU3Yb2lN0seKxsgkr+m3f6oub2lWyXfTiNwgGFbOQPDvX4dxjMhA+M+S7mxqKg== - "@uniswap/lib@^4.0.1-alpha": version "4.0.1-alpha" resolved "https://registry.yarnpkg.com/@uniswap/lib/-/lib-4.0.1-alpha.tgz#2881008e55f075344675b3bca93f020b028fbd02" integrity sha512-f6UIliwBbRsgVLxIaBANF6w09tYqc6Y/qXdsrbEmXHyFA7ILiKrIwRFXe1yOg8M3cksgVsO9N7yuL2DdCGQKBA== -"@uniswap/permit2-sdk@^1.0.0", "@uniswap/permit2-sdk@^1.2.0": - version "1.2.0" - resolved "https://registry.yarnpkg.com/@uniswap/permit2-sdk/-/permit2-sdk-1.2.0.tgz#ed86440a87a6c318169c8e6f161fc263ad040891" - integrity sha512-Ietv3FxN7+RCXcPSED/i/8b0a2GUZrMdyX05k3FsSztvYKyPFAMS/hBXojF0NZqYB1bHecqYc7Ej+7tV/rdYXg== - dependencies: - ethers "^5.3.1" - tiny-invariant "^1.3.1" - -"@uniswap/router-sdk@^1.3.0", "@uniswap/router-sdk@^1.4.0": - version "1.4.0" - resolved "https://registry.yarnpkg.com/@uniswap/router-sdk/-/router-sdk-1.4.0.tgz#0e8d49f37b36e74b6a70ec257ec0561bf1f249c3" - integrity sha512-GyUX8x+hnwnh89DHyA/yKWUwhU3Eukx3B76vfvMMWfr++GA4CW6PzT5j4JgNZDrsBTOSJWxTdU5YbgOuwU2XGg== - dependencies: - "@ethersproject/abi" "^5.5.0" - "@uniswap/sdk-core" "^3.0.1" - "@uniswap/swap-router-contracts" "1.1.0" - "@uniswap/v2-sdk" "^3.0.1" - "@uniswap/v3-sdk" "^3.8.3" - -"@uniswap/sdk-core@^3.0.0-alpha.3", "@uniswap/sdk-core@^3.0.1", "@uniswap/sdk-core@^3.1.0": - version "3.1.0" - resolved "https://registry.yarnpkg.com/@uniswap/sdk-core/-/sdk-core-3.1.0.tgz#595b6396763fd2553531423c8eec83bfb4840a27" - integrity sha512-YRrp6vYAbYmi3uDXQGkvj2eT8BMpNnUdCFb8GifDG0Ei+ohIpC4RNAB+5/ru3zR2Byhx8VahGrSKuvdd6BVMyA== +"@uniswap/sdk-core@npm:@koraykoska/uniswap-sdk-core@^6.0.9": + version "6.0.9" + resolved "https://registry.yarnpkg.com/@koraykoska/uniswap-sdk-core/-/uniswap-sdk-core-6.0.9.tgz#720b149daef422f5cecf2967882482df8e40a879" + integrity sha512-dSaO7zKRpoN6U3N2uYYHPAHB3rOTiTnhFqBSWatCYcgzI2znnHc+M/fL0EU99+H6MyOFeb6b53qgWUC9VMahYQ== dependencies: "@ethersproject/address" "^5.0.2" big.js "^5.2.2" @@ -2614,45 +2486,7 @@ tiny-invariant "^1.1.0" toformat "^2.0.0" -"@uniswap/smart-order-router@^3.0.6": - version "3.0.6" - resolved "https://registry.yarnpkg.com/@uniswap/smart-order-router/-/smart-order-router-3.0.6.tgz#aae5a54074b062e2b5ab34e58e84ceae7f31539e" - integrity sha512-hKXzAhcA0NNKtY+QEA3brXD2OFx20NrhPJ9Mb9R7aaMF7uVmPjFEe4FVDPxYgY3qTwYG6hUCcvUYErTccZyt5w== - dependencies: - "@uniswap/default-token-list" "^2.0.0" - "@uniswap/permit2-sdk" "^1.0.0" - "@uniswap/router-sdk" "^1.3.0" - "@uniswap/swap-router-contracts" "^1.3.0" - "@uniswap/token-lists" "^1.0.0-beta.25" - "@uniswap/universal-router" "^1.0.1" - "@uniswap/universal-router-sdk" "^1.1.0" - "@uniswap/v2-sdk" "^3.0.1" - "@uniswap/v3-sdk" "^3.7.0" - async-retry "^1.3.1" - await-timeout "^1.1.1" - axios "^0.21.1" - bunyan "^1.8.15" - bunyan-blackhole "^1.1.1" - ethers "^5.7.2" - graphql "^15.5.0" - graphql-request "^3.4.0" - lodash "^4.17.21" - mnemonist "^0.38.3" - node-cache "^5.1.2" - stats-lite "^2.2.0" - -"@uniswap/swap-router-contracts@1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@uniswap/swap-router-contracts/-/swap-router-contracts-1.1.0.tgz#e027b14d4c172f231c53c48e1fd708a78d7d94d8" - integrity sha512-GPmpx1lvjXWloB95+YUabr3UHJYr3scnSS8EzaNXnNrIz9nYZ+XQcMaJxOKe85Yi7IfcUQpj0HzD2TW99dtolA== - dependencies: - "@openzeppelin/contracts" "3.4.1-solc-0.7-2" - "@uniswap/v2-core" "1.0.1" - "@uniswap/v3-core" "1.0.0" - "@uniswap/v3-periphery" "1.3.0" - hardhat-watcher "^2.1.1" - -"@uniswap/swap-router-contracts@^1.2.1", "@uniswap/swap-router-contracts@^1.3.0": +"@uniswap/swap-router-contracts@^1.2.1": version "1.3.0" resolved "https://registry.yarnpkg.com/@uniswap/swap-router-contracts/-/swap-router-contracts-1.3.0.tgz#8d555ca6d74b888d6e02a26ebb806ce315605f1f" integrity sha512-iKvCuRkHXEe0EMjOf8HFUISTIhlxI57kKFllf3C3PUIE0HmwxrayyoflwAz5u/TRsFGYqJ9IjX2UgzLCsrNa5A== @@ -2664,63 +2498,16 @@ dotenv "^14.2.0" hardhat-watcher "^2.1.1" -"@uniswap/token-lists@^1.0.0-beta.25": - version "1.0.0-beta.30" - resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.30.tgz#2103ca23b8007c59ec71718d34cdc97861c409e5" - integrity sha512-HwY2VvkQ8lNR6ks5NqQfAtg+4IZqz3KV1T8d2DlI8emIn9uMmaoFbIOg0nzjqAVKKnZSbMTRRtUoAh6mmjRvog== - -"@uniswap/universal-router-sdk@^1.1.0": - version "1.2.2" - resolved "https://registry.yarnpkg.com/@uniswap/universal-router-sdk/-/universal-router-sdk-1.2.2.tgz#26ece606279d1cd9823277b74cd43575caf160e9" - integrity sha512-L+MkvMiLyG1vfpEoLbe9xquSApSrfe1m0iLuIjgkZ4qR2Kb0NU8nZXNqeyTJmTZhNbYYIJA0AwRawAN+90NKIw== - dependencies: - "@uniswap/permit2-sdk" "^1.2.0" - "@uniswap/router-sdk" "^1.4.0" - "@uniswap/sdk-core" "^3.1.0" - "@uniswap/universal-router" "1.1.1" - "@uniswap/v2-sdk" "^3.0.1" - "@uniswap/v3-sdk" "^3.9.0" - bignumber.js "^9.0.2" - ethers "^5.3.1" - -"@uniswap/universal-router@1.1.1", "@uniswap/universal-router@^1.0.1": - version "1.1.1" - resolved "https://registry.yarnpkg.com/@uniswap/universal-router/-/universal-router-1.1.1.tgz#9d197e20fe830aaccca468a1d7b178a6c4c30e26" - integrity sha512-bDdFuzKiuvatCH5RENEEQuS7IhD2TjAS6TEFtWGCF+uOTf23TJCQA0pA9PuPyN2qMPNsNNcQlHVdcyIUD+IkWg== - "@uniswap/v2-core@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@uniswap/v2-core/-/v2-core-1.0.1.tgz#af8f508bf183204779938969e2e54043e147d425" integrity sha512-MtybtkUPSyysqLY2U210NBDeCHX+ltHt3oADGdjqoThZaFRDKwM6k1Nb3F0A3hk5hwuQvytFWhrWHOEq6nVJ8Q== -"@uniswap/v2-sdk@^3.0.1": - version "3.0.1" - resolved "https://registry.yarnpkg.com/@uniswap/v2-sdk/-/v2-sdk-3.0.1.tgz#690c484104c1debd1db56a236e5497def53d698b" - integrity sha512-eSpm2gjo2CZh9FACH5fq42str/oSNyWcDxB27o5k44bEew4sxb+pld4gGIf/byJndLBvArR9PtH8c0n/goNOTw== - dependencies: - "@ethersproject/address" "^5.0.0" - "@ethersproject/solidity" "^5.0.0" - "@uniswap/sdk-core" "^3.0.0-alpha.3" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - "@uniswap/v3-core@1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@uniswap/v3-core/-/v3-core-1.0.0.tgz#6c24adacc4c25dceee0ba3ca142b35adbd7e359d" integrity sha512-kSC4djMGKMHj7sLMYVnn61k9nu+lHjMIxgg9CDQT+s2QYLoA56GbSK9Oxr+qJXzzygbkrmuY6cwgP6cW2JXPFA== -"@uniswap/v3-periphery@1.3.0": - version "1.3.0" - resolved "https://registry.yarnpkg.com/@uniswap/v3-periphery/-/v3-periphery-1.3.0.tgz#37f0a1ef6025221722e50e9f3f2009c2d5d6e4ec" - integrity sha512-HjHdI5RkjBl8zz3bqHShrbULFoZSrjbbrRHoO2vbzn+WRzTa6xY4PWphZv2Tlcb38YEKfKHp6NPl5hVedac8uw== - dependencies: - "@openzeppelin/contracts" "3.4.1-solc-0.7-2" - "@uniswap/lib" "^4.0.1-alpha" - "@uniswap/v2-core" "1.0.1" - "@uniswap/v3-core" "1.0.0" - base64-sol "1.0.1" - hardhat-watcher "^2.1.1" - "@uniswap/v3-periphery@1.4.1": version "1.4.1" resolved "https://registry.yarnpkg.com/@uniswap/v3-periphery/-/v3-periphery-1.4.1.tgz#b90f08b7386163c0abfd7258831caef6339c7862" @@ -2744,24 +2531,25 @@ "@uniswap/v3-core" "1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@^3.7.0", "@uniswap/v3-sdk@^3.8.3", "@uniswap/v3-sdk@^3.9.0": - version "3.9.0" - resolved "https://registry.yarnpkg.com/@uniswap/v3-sdk/-/v3-sdk-3.9.0.tgz#de93fa19f89c29d460996aa4d0b4bb6531641105" - integrity sha512-LuoF3UcY1DxSAQKJ3E4/1Eq4HaNp+x+7q9mvbpiu+/PBj+O1DjLforAMrKxu+RsA0aarmZtz7yBnAPy+akgfgQ== +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.1.tgz#25c3ad8ee80c88192166caeb649aef1dc433fd6a" + integrity sha512-wQ0HGzhiJ39zIlrp8iyRMyYUzY8b6R1yQ/siqa1M1BImTpZnwvH9q87lHRhHhjt8qd05EMogoCxkdFDMhrIw4A== dependencies: "@ethersproject/abi" "^5.0.12" "@ethersproject/solidity" "^5.0.9" - "@uniswap/sdk-core" "^3.0.1" + "@uniswap/sdk-core" "npm:@koraykoska/uniswap-sdk-core@^6.0.9" "@uniswap/swap-router-contracts" "^1.2.1" "@uniswap/v3-periphery" "^1.1.1" - "@uniswap/v3-staker" "1.0.0" + "@uniswap/v3-staker" "1.0.2" + ethers-multicall "^0.2.3" tiny-invariant "^1.1.0" tiny-warning "^1.0.3" -"@uniswap/v3-staker@1.0.0": - version "1.0.0" - resolved "https://registry.yarnpkg.com/@uniswap/v3-staker/-/v3-staker-1.0.0.tgz#9a6915ec980852479dfc903f50baf822ff8fa66e" - integrity sha512-JV0Qc46Px5alvg6YWd+UIaGH9lDuYG/Js7ngxPit1SPaIP30AlVer1UYB7BRYeUVVxE+byUyIeN5jeQ7LLDjIw== +"@uniswap/v3-staker@1.0.2": + version "1.0.2" + resolved "https://registry.yarnpkg.com/@uniswap/v3-staker/-/v3-staker-1.0.2.tgz#febad4905903032bb114ab58138c2d5200c87a3c" + integrity sha512-+swIh/yhY9GQGyQxT4Gz54aXYLK+uc3qsmIvaAX+FjvhcL9TGOvS9tXbQsCZM4AJW63vj6TLsmHIjGMIePL1BQ== dependencies: "@openzeppelin/contracts" "3.4.1-solc-0.7-2" "@uniswap/v3-core" "1.0.0" @@ -3091,13 +2879,6 @@ aria-query@^4.2.2: "@babel/runtime" "^7.10.2" "@babel/runtime-corejs3" "^7.10.2" -aria-query@^5.0.0: - version "5.1.3" - resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-5.1.3.tgz#19db27cd101152773631396f7a95a3b58c22c35e" - integrity sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ== - dependencies: - deep-equal "^2.0.5" - array-flatten@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2" @@ -3176,13 +2957,6 @@ ast-types-flow@^0.0.7: resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" integrity sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag== -async-retry@^1.3.1: - version "1.3.3" - resolved "https://registry.yarnpkg.com/async-retry/-/async-retry-1.3.3.tgz#0e7f36c04d8478e7a58bdbed80cedf977785f280" - integrity sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== - dependencies: - retry "0.13.1" - async@^3.2.3: version "3.2.4" resolved "https://registry.yarnpkg.com/async/-/async-3.2.4.tgz#2d22e00f8cddeb5fde5dd33522b56d1cf569a81c" @@ -3210,28 +2984,11 @@ autoprefixer@^10.4.13: picocolors "^1.0.0" postcss-value-parser "^4.2.0" -available-typed-arrays@^1.0.5: - version "1.0.5" - resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz#92f95616501069d07d10edb2fc37d3e1c65123b7" - integrity sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw== - -await-timeout@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/await-timeout/-/await-timeout-1.1.1.tgz#d42062ee6bc4eb271fe4d4f851eb658dae7e3906" - integrity sha512-gsDXAS6XVc4Jt+7S92MPX6Noq69bdeXUPEaXd8dk3+yVr629LTDLxNt4j1ycBbrU+AStK2PhKIyNIM+xzWMVOQ== - axe-core@^4.4.3: version "4.5.2" resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.5.2.tgz#823fdf491ff717ac3c58a52631d4206930c1d9f7" integrity sha512-u2MVsXfew5HBvjsczCv+xlwdNnB1oQR9HlAcsejZttNjKKSkeDNVwB1vMThIUIFI9GoT57Vtk8iQLwqOfAkboA== -axios@^0.21.1: - version "0.21.4" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" - integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg== - dependencies: - follow-redirects "^1.14.0" - axobject-query@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" @@ -3408,11 +3165,6 @@ big.js@^5.2.2: resolved "https://registry.yarnpkg.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328" integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ== -bignumber.js@^9.0.2: - version "9.1.1" - resolved "https://registry.yarnpkg.com/bignumber.js/-/bignumber.js-9.1.1.tgz#c4df7dc496bd849d4c9464344c1aa74228b4dac6" - integrity sha512-pHm4LsMJ6lzgNGVfZHjMoO8sdoRhOzOH4MLmY65Jg70bpxCKu5iOHNJyfF6OyvYw7t8Fpf35RuzUyqnQsj8Vig== - binary-extensions@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d" @@ -3525,23 +3277,6 @@ builtin-modules@^3.1.0: resolved "https://registry.yarnpkg.com/builtin-modules/-/builtin-modules-3.3.0.tgz#cae62812b89801e9656336e46223e030386be7b6" integrity sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw== -bunyan-blackhole@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/bunyan-blackhole/-/bunyan-blackhole-1.1.1.tgz#b9208586dc0b4e47f4f713215b1bddd65e4f6257" - integrity sha512-UwzNPhbbSqbzeJhCbygqjlAY7p0ZUdv1ADXPQvDh3CA7VW3C/rCc1gaQO/8j9QL4vsKQCQZQSQIEwX+lxioPAQ== - dependencies: - stream-blackhole "^1.0.3" - -bunyan@^1.8.15: - version "1.8.15" - resolved "https://registry.yarnpkg.com/bunyan/-/bunyan-1.8.15.tgz#8ce34ca908a17d0776576ca1b2f6cbd916e93b46" - integrity sha512-0tECWShh6wUysgucJcBAoYegf3JJoZWibxdqhTm7OHPeT42qdjkZ29QCMcKwbgU1kiH+auSIasNRXMLWXafXig== - optionalDependencies: - dtrace-provider "~0.8" - moment "^2.19.3" - mv "~2" - safe-json-stringify "~1" - bytes@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048" @@ -3617,14 +3352,6 @@ chalk@^2.0.0, chalk@^2.4.1: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -chalk@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4" - integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg== - dependencies: - ansi-styles "^4.1.0" - supports-color "^7.1.0" - chalk@^4.0.0, chalk@^4.0.2, chalk@^4.1.0, chalk@^4.1.2: version "4.1.2" resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01" @@ -3694,11 +3421,6 @@ cliui@^7.0.2: strip-ansi "^6.0.0" wrap-ansi "^7.0.0" -clone@2.x: - version "2.1.2" - resolved "https://registry.yarnpkg.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f" - integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w== - co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -3895,13 +3617,6 @@ cosmiconfig@^7.0.0: path-type "^4.0.0" yaml "^1.10.0" -cross-fetch@^3.0.6: - version "3.1.5" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" - integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw== - dependencies: - node-fetch "2.6.7" - cross-spawn@^7.0.2, cross-spawn@^7.0.3: version "7.0.3" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6" @@ -4018,11 +3733,6 @@ css-what@^6.0.1: resolved "https://registry.yarnpkg.com/css-what/-/css-what-6.1.0.tgz#fb5effcf76f1ddea2c81bdfaa4de44e79bac70f4" integrity sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw== -css.escape@^1.5.1: - version "1.5.1" - resolved "https://registry.yarnpkg.com/css.escape/-/css.escape-1.5.1.tgz#42e27d4fa04ae32f931a4b4d4191fa9cddee97cb" - integrity sha512-YUifsXXuknHlUsmlgyY0PKzgPOr7/FjCePfHNt0jxm83wHZi44VDMQ7/fGNkjY3/jV1MC+1CmZbaHzugyeRtpg== - cssdb@^7.1.0: version "7.2.0" resolved "https://registry.yarnpkg.com/cssdb/-/cssdb-7.2.0.tgz#f44bd4abc430f0ff7f4c64b8a1fb857a753f77a8" @@ -4161,27 +3871,6 @@ dedent@^0.7.0: resolved "https://registry.yarnpkg.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c" integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA== -deep-equal@^2.0.5: - version "2.1.0" - resolved "https://registry.yarnpkg.com/deep-equal/-/deep-equal-2.1.0.tgz#5ba60402cf44ab92c2c07f3f3312c3d857a0e1dd" - integrity sha512-2pxgvWu3Alv1PoWEyVg7HS8YhGlUFUV7N5oOvfL6d+7xAmLSemMwv/c8Zv/i9KFzxV5Kt5CAvQc70fLwVuf4UA== - dependencies: - call-bind "^1.0.2" - es-get-iterator "^1.1.2" - get-intrinsic "^1.1.3" - is-arguments "^1.1.1" - is-date-object "^1.0.5" - is-regex "^1.1.4" - isarray "^2.0.5" - object-is "^1.1.5" - object-keys "^1.1.1" - object.assign "^4.1.4" - regexp.prototype.flags "^1.4.3" - side-channel "^1.0.4" - which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.8" - deep-is@^0.1.3, deep-is@~0.1.3: version "0.1.4" resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" @@ -4274,11 +3963,6 @@ diff-sequences@^27.5.1: resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-27.5.1.tgz#eaecc0d327fd68c8d9672a1e64ab8dccb2ef5327" integrity sha512-k1gCAXAsNgLwEL+Y8Wvl+M6oEFj5bgazfZULpS5CneoPPXRaCCW7dm+q21Ky2VEE5X+VeRDBVg1Pcvvsr4TtNQ== -diff-sequences@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/diff-sequences/-/diff-sequences-29.3.1.tgz#104b5b95fe725932421a9c6e5b4bef84c3f2249e" - integrity sha512-hlM3QR272NXCi4pq+N4Kok4kOp6EsgOM3ZSpJI7Da3UAs+Ttsi8MRmB6trM/lhyzUxGfOgnpkHtgqm5Q/CTcfQ== - dir-glob@^3.0.1: version "3.0.1" resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f" @@ -4317,11 +4001,6 @@ doctrine@^3.0.0: dependencies: esutils "^2.0.2" -dom-accessibility-api@^0.5.6, dom-accessibility-api@^0.5.9: - version "0.5.14" - resolved "https://registry.yarnpkg.com/dom-accessibility-api/-/dom-accessibility-api-0.5.14.tgz#56082f71b1dc7aac69d83c4285eef39c15d93f56" - integrity sha512-NMt+m9zFMPZe0JcY9gN224Qvk6qLIdqex29clBvc/y75ZBX9YA9wNK3frsYvu2DI1xcCIwxwnX+TlsJ2DSOADg== - dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -4410,13 +4089,6 @@ dotenv@^14.2.0: resolved "https://registry.yarnpkg.com/dotenv/-/dotenv-14.3.2.tgz#7c30b3a5f777c79a3429cb2db358eef6751e8369" integrity sha512-vwEppIphpFdvaMCaHfCEv9IgwcxMljMw2TnAQBB4VWPvzXQLTb82jwmdOKzlEVUL3gNFT4l4TPKO+Bn+sqcrVQ== -dtrace-provider@~0.8: - version "0.8.8" - resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.8.tgz#2996d5490c37e1347be263b423ed7b297fb0d97e" - integrity sha512-b7Z7cNtHPhH9EJhNNbbeqTcXB8LGFFZhq1PGgEvpeHlzd36bhbdTWoE/Ba/YguqpBSlAPKnARWhVlhunCMwfxg== - dependencies: - nan "^2.14.0" - duplexer@^0.1.2: version "0.1.2" resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6" @@ -4544,20 +4216,6 @@ es-array-method-boxes-properly@^1.0.0: resolved "https://registry.yarnpkg.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e" integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA== -es-get-iterator@^1.1.2: - version "1.1.2" - resolved "https://registry.yarnpkg.com/es-get-iterator/-/es-get-iterator-1.1.2.tgz#9234c54aba713486d7ebde0220864af5e2b283f7" - integrity sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.0" - has-symbols "^1.0.1" - is-arguments "^1.1.0" - is-map "^2.0.2" - is-set "^2.0.2" - is-string "^1.0.5" - isarray "^2.0.5" - es-module-lexer@^0.9.0: version "0.9.3" resolved "https://registry.yarnpkg.com/es-module-lexer/-/es-module-lexer-0.9.3.tgz#6f13db00cc38417137daf74366f535c8eb438f19" @@ -4917,7 +4575,14 @@ etag@~1.8.1: resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887" integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg== -ethers@^5.3.1, ethers@^5.7.2: +ethers-multicall@^0.2.3: + version "0.2.3" + resolved "https://registry.yarnpkg.com/ethers-multicall/-/ethers-multicall-0.2.3.tgz#872b5ad7d6b5d4d7f2960c33bf36bd46d034ac41" + integrity sha512-RaWQuLy+HzeKOibptlc9RZ6j7bT1H6VnkdAKTHiLx2t/lpyfS2ckXHdQhhRbCaXNc1iu6CgoisgMejxKHg84tg== + dependencies: + ethers "^5.0.0" + +ethers@^5.0.0, ethers@^5.7.2: version "5.7.2" resolved "https://registry.yarnpkg.com/ethers/-/ethers-5.7.2.tgz#3a7deeabbb8c030d4126b24f84e525466145872e" integrity sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg== @@ -4993,17 +4658,6 @@ expect@^27.5.1: jest-matcher-utils "^27.5.1" jest-message-util "^27.5.1" -expect@^29.0.0: - version "29.3.1" - resolved "https://registry.yarnpkg.com/expect/-/expect-29.3.1.tgz#92877aad3f7deefc2e3f6430dd195b92295554a6" - integrity sha512-gGb1yTgU30Q0O/tQq+z30KBWv24ApkMgFUpvKBkyLUBL68Wv8dHdJxTBZFl/iT8K/bqDHvUYRH6IIN3rToopPA== - dependencies: - "@jest/expect-utils" "^29.3.1" - jest-get-type "^29.2.0" - jest-matcher-utils "^29.3.1" - jest-message-util "^29.3.1" - jest-util "^29.3.1" - express@^4.17.3: version "4.18.2" resolved "https://registry.yarnpkg.com/express/-/express-4.18.2.tgz#3fabe08296e930c796c19e3c516979386ba9fd59" @@ -5041,11 +4695,6 @@ express@^4.17.3: utils-merge "1.0.1" vary "~1.1.2" -extract-files@^9.0.0: - version "9.0.0" - resolved "https://registry.yarnpkg.com/extract-files/-/extract-files-9.0.0.tgz#8a7744f2437f81f5ed3250ed9f1550de902fe54a" - integrity sha512-CvdFfHkC95B4bBBk36hcEmvdR2awOdhhVUYH6S/zrVj3477zven/fJMYg7121h4T1xHZC+tetUpubpAhxwI7hQ== - fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -5190,18 +4839,11 @@ flatted@^3.1.0: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.7.tgz#609f39207cb614b89d0765b477cb2d437fbf9787" integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ== -follow-redirects@^1.0.0, follow-redirects@^1.14.0: +follow-redirects@^1.0.0: version "1.15.2" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.2.tgz#b460864144ba63f2681096f274c4e57026da2c13" integrity sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA== -for-each@^0.3.3: - version "0.3.3" - resolved "https://registry.yarnpkg.com/for-each/-/for-each-0.3.3.tgz#69b447e88a0a5d32c3e7084f3f1710034b21376e" - integrity sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw== - dependencies: - is-callable "^1.1.3" - fork-ts-checker-webpack-plugin@^6.5.0: version "6.5.2" resolved "https://registry.yarnpkg.com/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.5.2.tgz#4f67183f2f9eb8ba7df7177ce3cf3e75cdafb340" @@ -5360,17 +5002,6 @@ glob-to-regexp@^0.4.1: resolved "https://registry.yarnpkg.com/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz#c75297087c851b9a578bd217dd59a92f59fe546e" integrity sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw== -glob@^6.0.1: - version "6.0.4" - resolved "https://registry.yarnpkg.com/glob/-/glob-6.0.4.tgz#0f08860f6a155127b2fadd4f9ce24b1aab6e4d22" - integrity sha512-MKZeRNyYZAVVVG1oZeLaWie1uweH40m9AZwIwxyPbTSX4hHrVYSzLg0Ro5Z5R7XKkIX+Cc6oD1rqeDJnwsB8/A== - dependencies: - inflight "^1.0.4" - inherits "2" - minimatch "2 || 3" - once "^1.3.0" - path-is-absolute "^1.0.0" - glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6: version "7.2.3" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b" @@ -5423,13 +5054,6 @@ globby@^11.0.4, globby@^11.1.0: merge2 "^1.4.1" slash "^3.0.0" -gopd@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/gopd/-/gopd-1.0.1.tgz#29ff76de69dac7489b7c0918a5788e56477c332c" - integrity sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA== - dependencies: - get-intrinsic "^1.1.3" - graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.2.0, graceful-fs@^4.2.4, graceful-fs@^4.2.6, graceful-fs@^4.2.9: version "4.2.10" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.10.tgz#147d3a006da4ca3ce14728c7aefc287c367d7a6c" @@ -5440,20 +5064,6 @@ grapheme-splitter@^1.0.4: resolved "https://registry.yarnpkg.com/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz#9cf3a665c6247479896834af35cf1dbb4400767e" integrity sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ== -graphql-request@^3.4.0: - version "3.7.0" - resolved "https://registry.yarnpkg.com/graphql-request/-/graphql-request-3.7.0.tgz#c7406e537084f8b9788541e3e6704340ca13055b" - integrity sha512-dw5PxHCgBneN2DDNqpWu8QkbbJ07oOziy8z+bK/TAXufsOLaETuVO4GkXrbs0WjhdKhBMN3BkpN/RIvUHkmNUQ== - dependencies: - cross-fetch "^3.0.6" - extract-files "^9.0.0" - form-data "^3.0.0" - -graphql@^15.5.0: - version "15.8.0" - resolved "https://registry.yarnpkg.com/graphql/-/graphql-15.8.0.tgz#33410e96b012fa3bdb1091cc99a94769db212b38" - integrity sha512-5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw== - gzip-size@^6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/gzip-size/-/gzip-size-6.0.0.tgz#065367fd50c239c0671cbcbad5be3e2eeb10e462" @@ -5742,11 +5352,6 @@ imurmurhash@^0.1.4: resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA== -indent-string@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251" - integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== - inflight@^1.0.4: version "1.0.6" resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9" @@ -5789,14 +5394,6 @@ ipaddr.js@^2.0.1: resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-2.0.1.tgz#eca256a7a877e917aeb368b0a7497ddf42ef81c0" integrity sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng== -is-arguments@^1.1.0, is-arguments@^1.1.1: - version "1.1.1" - resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" - integrity sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA== - dependencies: - call-bind "^1.0.2" - has-tostringtag "^1.0.0" - is-arrayish@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d" @@ -5824,7 +5421,7 @@ is-boolean-object@^1.1.0: call-bind "^1.0.2" has-tostringtag "^1.0.0" -is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: +is-callable@^1.1.4, is-callable@^1.2.7: version "1.2.7" resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== @@ -5836,7 +5433,7 @@ is-core-module@^2.8.1, is-core-module@^2.9.0: dependencies: has "^1.0.3" -is-date-object@^1.0.1, is-date-object@^1.0.5: +is-date-object@^1.0.1: version "1.0.5" resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f" integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ== @@ -5870,11 +5467,6 @@ is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1: dependencies: is-extglob "^2.1.1" -is-map@^2.0.1, is-map@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" - integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== - is-module@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591" @@ -5935,11 +5527,6 @@ is-root@^2.1.0: resolved "https://registry.yarnpkg.com/is-root/-/is-root-2.1.0.tgz#809e18129cf1129644302a4f8544035d51984a9c" integrity sha512-AGOriNp96vNBd3HtU+RzFEc75FfR5ymiYv8E553I71SCeXBiMsVDUtdio1OEFvrPyLIQ9tVR5RxXIFe5PUFjMg== -is-set@^2.0.1, is-set@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-set/-/is-set-2.0.2.tgz#90755fa4c2562dc1c5d4024760d6119b94ca18ec" - integrity sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g== - is-shared-array-buffer@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79" @@ -5966,27 +5553,11 @@ is-symbol@^1.0.2, is-symbol@^1.0.3: dependencies: has-symbols "^1.0.2" -is-typed-array@^1.1.10: - version "1.1.10" - resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.10.tgz#36a5b5cb4189b575d1a3e4b08536bfb485801e3f" - integrity sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typedarray@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a" integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA== -is-weakmap@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/is-weakmap/-/is-weakmap-2.0.1.tgz#5008b59bdc43b698201d18f62b37b2ca243e8cf2" - integrity sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA== - is-weakref@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2" @@ -5994,14 +5565,6 @@ is-weakref@^1.0.2: dependencies: call-bind "^1.0.2" -is-weakset@^2.0.1: - version "2.0.2" - resolved "https://registry.yarnpkg.com/is-weakset/-/is-weakset-2.0.2.tgz#4569d67a747a1ce5a994dfd4ef6dcea76e7c0a1d" - integrity sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg== - dependencies: - call-bind "^1.0.2" - get-intrinsic "^1.1.1" - is-wsl@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/is-wsl/-/is-wsl-2.2.0.tgz#74a4c76e77ca9fd3f932f290c17ea326cd157271" @@ -6009,11 +5572,6 @@ is-wsl@^2.2.0: dependencies: is-docker "^2.0.0" -isarray@^2.0.5: - version "2.0.5" - resolved "https://registry.yarnpkg.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723" - integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw== - isarray@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11" @@ -6024,11 +5582,6 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw== -isnumber@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/isnumber/-/isnumber-1.0.0.tgz#0e3f9759b581d99dd85086f0ec2a74909cfadd01" - integrity sha512-JLiSz/zsZcGFXPrB4I/AGBvtStkt+8QmksyZBZnVXnnK9XdTEyz0tX8CRYljtwYDuIuZzih6DpHQdi+3Q6zHPw== - istanbul-lib-coverage@^3.0.0, istanbul-lib-coverage@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz#189e7909d0a39fa5a3dfad5b03f71947770191d3" @@ -6173,16 +5726,6 @@ jest-diff@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-diff@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-diff/-/jest-diff-29.3.1.tgz#d8215b72fed8f1e647aed2cae6c752a89e757527" - integrity sha512-vU8vyiO7568tmin2lA3r2DP8oRvzhvRcD4DjpXc6uGveQodyk7CKLhQlCSiwgx3g0pFaE88/KLZ0yaTWMc4Uiw== - dependencies: - chalk "^4.0.0" - diff-sequences "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - jest-docblock@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-docblock/-/jest-docblock-27.5.1.tgz#14092f364a42c6108d42c33c8cf30e058e25f6c0" @@ -6231,11 +5774,6 @@ jest-get-type@^27.5.1: resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-27.5.1.tgz#3cd613c507b0f7ace013df407a1c1cd578bcb4f1" integrity sha512-2KY95ksYSaK7DMBWQn6dQz3kqAf3BB64y2udeG+hv4KfSOb9qwcYQstTJc1KCbsix+wLZWZYN8t7nwX3GOBLRw== -jest-get-type@^29.2.0: - version "29.2.0" - resolved "https://registry.yarnpkg.com/jest-get-type/-/jest-get-type-29.2.0.tgz#726646f927ef61d583a3b3adb1ab13f3a5036408" - integrity sha512-uXNJlg8hKFEnDgFsrCjznB+sTxdkuqiCL6zMgA75qEbAJjJYTs9XPrvDctrEig2GDow22T/LvHgO57iJhXB/UA== - jest-haste-map@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-haste-map/-/jest-haste-map-27.5.1.tgz#9fd8bd7e7b4fa502d9c6164c5640512b4e811e7f" @@ -6287,7 +5825,7 @@ jest-leak-detector@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: +jest-matcher-utils@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-27.5.1.tgz#9c0cdbda8245bc22d2331729d1091308b40cf8ab" integrity sha512-z2uTx/T6LBaCoNWNFWwChLBKYxTMcGBRjAt+2SbP929/Fflb9aa5LGma654Rz8z9HLxsrUaYzxE9T/EFIL/PAw== @@ -6297,16 +5835,6 @@ jest-matcher-utils@^27.0.0, jest-matcher-utils@^27.5.1: jest-get-type "^27.5.1" pretty-format "^27.5.1" -jest-matcher-utils@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-matcher-utils/-/jest-matcher-utils-29.3.1.tgz#6e7f53512f80e817dfa148672bd2d5d04914a572" - integrity sha512-fkRMZUAScup3txIKfMe3AIZZmPEjWEdsPJFK3AIy5qRohWqQFg1qrmKfYXR9qEkNc7OdAu2N4KPHibEmy4HPeQ== - dependencies: - chalk "^4.0.0" - jest-diff "^29.3.1" - jest-get-type "^29.2.0" - pretty-format "^29.3.1" - jest-message-util@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-27.5.1.tgz#bdda72806da10d9ed6425e12afff38cd1458b6cf" @@ -6337,21 +5865,6 @@ jest-message-util@^28.1.3: slash "^3.0.0" stack-utils "^2.0.3" -jest-message-util@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-message-util/-/jest-message-util-29.3.1.tgz#37bc5c468dfe5120712053dd03faf0f053bd6adb" - integrity sha512-lMJTbgNcDm5z+6KDxWtqOFWlGQxD6XaYwBqHR8kmpkP+WWWG90I35kdtQHY67Ay5CSuydkTBbJG+tH9JShFCyA== - dependencies: - "@babel/code-frame" "^7.12.13" - "@jest/types" "^29.3.1" - "@types/stack-utils" "^2.0.0" - chalk "^4.0.0" - graceful-fs "^4.2.9" - micromatch "^4.0.4" - pretty-format "^29.3.1" - slash "^3.0.0" - stack-utils "^2.0.3" - jest-mock@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-mock/-/jest-mock-27.5.1.tgz#19948336d49ef4d9c52021d34ac7b5f36ff967d6" @@ -6515,18 +6028,6 @@ jest-util@^28.1.3: graceful-fs "^4.2.9" picomatch "^2.2.3" -jest-util@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/jest-util/-/jest-util-29.3.1.tgz#1dda51e378bbcb7e3bc9d8ab651445591ed373e1" - integrity sha512-7YOVZaiX7RJLv76ZfHt4nbNEzzTRiMW/IiOG7ZOKmTXmoGBxUDefgMAxQubu6WPVqP5zSzAdZG0FfLcC7HOIFQ== - dependencies: - "@jest/types" "^29.3.1" - "@types/node" "*" - chalk "^4.0.0" - ci-info "^3.2.0" - graceful-fs "^4.2.9" - picomatch "^2.2.3" - jest-validate@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/jest-validate/-/jest-validate-27.5.1.tgz#9197d54dc0bdb52260b8db40b46ae668e04df067" @@ -6876,7 +6377,7 @@ lodash.uniq@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ== -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: +lodash@^4.17.20, lodash@^4.17.21, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -6902,11 +6403,6 @@ lru-cache@^6.0.0: dependencies: yallist "^4.0.0" -lz-string@^1.4.4: - version "1.4.4" - resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26" - integrity sha512-0ckx7ZHRPqb0oUm8zNr+90mtf9DQB60H1wMCjBtfi62Kl3a7JbHob6gA2bC+xRvZoOL+1hzUK8jeuEIQE8svEQ== - magic-string@^0.25.0, magic-string@^0.25.7: version "0.25.9" resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" @@ -7000,11 +6496,6 @@ mimic-fn@^2.1.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b" integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg== -min-indent@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" - integrity sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== - mini-css-extract-plugin@^2.4.5: version "2.7.2" resolved "https://registry.yarnpkg.com/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.2.tgz#e049d3ea7d3e4e773aad585c6cb329ce0c7b72d7" @@ -7022,7 +6513,7 @@ minimalistic-crypto-utils@^1.0.1: resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a" integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg== -"minimatch@2 || 3", minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: +minimatch@^3.0.4, minimatch@^3.0.5, minimatch@^3.1.1, minimatch@^3.1.2: version "3.1.2" resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b" integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw== @@ -7048,18 +6539,6 @@ mkdirp@~0.5.1: dependencies: minimist "^1.2.6" -mnemonist@^0.38.3: - version "0.38.5" - resolved "https://registry.yarnpkg.com/mnemonist/-/mnemonist-0.38.5.tgz#4adc7f4200491237fe0fa689ac0b86539685cade" - integrity sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg== - dependencies: - obliterator "^2.0.0" - -moment@^2.19.3: - version "2.29.4" - resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.4.tgz#3dbe052889fe7c1b2ed966fcb3a77328964ef108" - integrity sha512-5LC9SOxjSc2HF6vO2CyuTDNivEdoz2IvyJJGj6X8DJ0eFyfszE0QiEd+iXmBvUP3WHxSjFH/vIsA0EN00cgr8w== - ms@2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -7083,20 +6562,6 @@ multicast-dns@^7.2.5: dns-packet "^5.2.2" thunky "^1.0.2" -mv@~2: - version "2.1.1" - resolved "https://registry.yarnpkg.com/mv/-/mv-2.1.1.tgz#ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2" - integrity sha512-at/ZndSy3xEGJ8i0ygALh8ru9qy7gWW1cmkaqBN29JmMlIvM//MEO9y1sk/avxuwnPcfhkejkLsuPxH81BrkSg== - dependencies: - mkdirp "~0.5.1" - ncp "~2.0.0" - rimraf "~2.4.0" - -nan@^2.14.0: - version "2.17.0" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.17.0.tgz#c0150a2368a182f033e9aa5195ec76ea41a199cb" - integrity sha512-2ZTgtl0nJsO0KQCjEpxcIr5D+Yv90plTitZt9JBfQvVJDS5seMl3FOvsh3+9CoYWXf/1l5OaZzzF6nDm4cagaQ== - nanoid@^3.3.4: version "3.3.4" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" @@ -7112,11 +6577,6 @@ natural-compare@^1.4.0: resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7" integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw== -ncp@~2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3" - integrity sha512-zIdGUrPRFTUELUvr3Gmc7KZ2Sw/h1PiVM0Af/oHB6zgnV1ikqSfRk+TOufi79aHYCW3NiOXmr1BP5nWbzojLaA== - negotiator@0.6.3: version "0.6.3" resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd" @@ -7135,20 +6595,6 @@ no-case@^3.0.4: lower-case "^2.0.2" tslib "^2.0.3" -node-cache@^5.1.2: - version "5.1.2" - resolved "https://registry.yarnpkg.com/node-cache/-/node-cache-5.1.2.tgz#f264dc2ccad0a780e76253a694e9fd0ed19c398d" - integrity sha512-t1QzWwnk4sjLWaQAS8CHgOJ+RAfmHpxFWmc36IWTiWHQfs0w5JDMBS1b1ZxQteo0vVVuWJvIUKHDkkeK7vIGCg== - dependencies: - clone "2.x" - -node-fetch@2.6.7: - version "2.6.7" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad" - integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ== - dependencies: - whatwg-url "^5.0.0" - node-forge@^1: version "1.3.1" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" @@ -7220,14 +6666,6 @@ object-inspect@^1.12.2, object-inspect@^1.9.0: resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.2.tgz#c0641f26394532f28ab8d796ab954e43c009a8ea" integrity sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ== -object-is@^1.1.5: - version "1.1.5" - resolved "https://registry.yarnpkg.com/object-is/-/object-is-1.1.5.tgz#b9deeaa5fc7f1846a0faecdceec138e5778f53ac" - integrity sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw== - dependencies: - call-bind "^1.0.2" - define-properties "^1.1.3" - object-keys@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e" @@ -7288,11 +6726,6 @@ object.values@^1.1.0, object.values@^1.1.5, object.values@^1.1.6: define-properties "^1.1.4" es-abstract "^1.20.4" -obliterator@^2.0.0: - version "2.0.4" - resolved "https://registry.yarnpkg.com/obliterator/-/obliterator-2.0.4.tgz#fa650e019b2d075d745e44f1effeb13a2adbe816" - integrity sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ== - obuf@^1.0.0, obuf@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e" @@ -8114,7 +7547,7 @@ pretty-error@^4.0.0: lodash "^4.17.20" renderkid "^3.0.0" -pretty-format@^27.0.0, pretty-format@^27.0.2, pretty-format@^27.5.1: +pretty-format@^27.5.1: version "27.5.1" resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-27.5.1.tgz#2181879fdea51a7a5851fb39d920faa63f01d88e" integrity sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ== @@ -8133,15 +7566,6 @@ pretty-format@^28.1.3: ansi-styles "^5.0.0" react-is "^18.0.0" -pretty-format@^29.0.0, pretty-format@^29.3.1: - version "29.3.1" - resolved "https://registry.yarnpkg.com/pretty-format/-/pretty-format-29.3.1.tgz#1841cac822b02b4da8971dacb03e8a871b4722da" - integrity sha512-FyLnmb1cYJV8biEIiRyzRFvs2lry7PPIvOqKVe1GCUEYg4YGmlx1qG9EJNMxArYm7piII4qb8UV1Pncq5dxmcg== - dependencies: - "@jest/schemas" "^29.0.0" - ansi-styles "^5.0.0" - react-is "^18.0.0" - process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -8425,14 +7849,6 @@ recursive-readdir@^2.2.2: dependencies: minimatch "^3.0.5" -redent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/redent/-/redent-3.0.0.tgz#e557b7998316bb53c9f1f56fa626352c6963059f" - integrity sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== - dependencies: - indent-string "^4.0.0" - strip-indent "^3.0.0" - regenerate-unicode-properties@^10.1.0: version "10.1.0" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz#7c3192cab6dd24e21cb4461e5ddd7dd24fa8374c" @@ -8582,7 +7998,7 @@ resolve@^2.0.0-next.3: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" -retry@0.13.1, retry@^0.13.1: +retry@^0.13.1: version "0.13.1" resolved "https://registry.yarnpkg.com/retry/-/retry-0.13.1.tgz#185b1587acf67919d63b357349e03537b2484658" integrity sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== @@ -8599,13 +8015,6 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rimraf@~2.4.0: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.4.5.tgz#ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da" - integrity sha512-J5xnxTyqaiw06JjMftq7L9ouA448dw/E7dKghkP9WpKNuwmARNNg+Gk8/u5ryb9N/Yo2+z3MCwuqFK/+qPOPfQ== - dependencies: - glob "^6.0.1" - rollup-plugin-terser@^7.0.0: version "7.0.2" resolved "https://registry.yarnpkg.com/rollup-plugin-terser/-/rollup-plugin-terser-7.0.2.tgz#e8fbba4869981b2dc35ae7e8a502d5c6c04d324d" @@ -8640,11 +8049,6 @@ safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== -safe-json-stringify@~1: - version "1.2.0" - resolved "https://registry.yarnpkg.com/safe-json-stringify/-/safe-json-stringify-1.2.0.tgz#356e44bc98f1f93ce45df14bcd7c01cda86e0afd" - integrity sha512-gH8eh2nZudPQO6TytOvbxnuhYBOvDBBLW52tz5q6X58lJcd/tkmqFR+5Z9adS8aJtURSXWThWy/xJtJwixErvg== - safe-regex-test@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.0.tgz#793b874d524eb3640d1873aad03596db2d4f2295" @@ -8972,13 +8376,6 @@ stackframe@^1.3.4: resolved "https://registry.yarnpkg.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310" integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw== -stats-lite@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/stats-lite/-/stats-lite-2.2.0.tgz#278a5571fa1d2e8b1691295dccc0235282393bbf" - integrity sha512-/Kz55rgUIv2KP2MKphwYT/NCuSfAlbbMRv2ZWw7wyXayu230zdtzhxxuXXcvsc6EmmhS8bSJl3uS1wmMHFumbA== - dependencies: - isnumber "~1.0.0" - statuses@2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63" @@ -8989,11 +8386,6 @@ statuses@2.0.1: resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c" integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA== -stream-blackhole@^1.0.3: - version "1.0.3" - resolved "https://registry.yarnpkg.com/stream-blackhole/-/stream-blackhole-1.0.3.tgz#6fc2e2c2e9d9fde6be8c68d3db88de09802e4d63" - integrity sha512-7NWl3dkmCd12mPkEwTbBPGxwvxj7L4O9DTjJudn02Fmk9K+RuPaDF8zeGo3kmjbsffU5E1aGpZ1dTR9AaRg6AQ== - string-length@^4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/string-length/-/string-length-4.0.2.tgz#a8a8dc7bd5c1a82b9b3c8b87e125f66871b6e57a" @@ -9113,13 +8505,6 @@ strip-final-newline@^2.0.0: resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad" integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA== -strip-indent@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/strip-indent/-/strip-indent-3.0.0.tgz#c32e1cee940b6b3432c771bc2c54bcce73cd3001" - integrity sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== - dependencies: - min-indent "^1.0.0" - strip-json-comments@^3.1.0, strip-json-comments@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006" @@ -9321,7 +8706,7 @@ thunky@^1.0.2: resolved "https://registry.yarnpkg.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d" integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA== -tiny-invariant@^1.1.0, tiny-invariant@^1.3.1: +tiny-invariant@^1.1.0: version "1.3.1" resolved "https://registry.yarnpkg.com/tiny-invariant/-/tiny-invariant-1.3.1.tgz#8560808c916ef02ecfd55e66090df23a4b7aa642" integrity sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw== @@ -9382,11 +8767,6 @@ tr46@^2.1.0: dependencies: punycode "^2.1.1" -tr46@~0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a" - integrity sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw== - tryer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8" @@ -9641,16 +9021,6 @@ wbuf@^1.1.0, wbuf@^1.7.3: dependencies: minimalistic-assert "^1.0.0" -web-vitals@^2.1.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/web-vitals/-/web-vitals-2.1.4.tgz#76563175a475a5e835264d373704f9dde718290c" - integrity sha512-sVWcwhU5mX6crfI5Vd2dC4qchyTqxV8URinzt25XqVh+bHEPGH4C3NPrNionCP7Obx59wrYEbNlw4Z8sjALzZg== - -webidl-conversions@^3.0.0: - version "3.0.1" - resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" - integrity sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ== - webidl-conversions@^4.0.2: version "4.0.2" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad" @@ -9802,14 +9172,6 @@ whatwg-mimetype@^2.3.0: resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf" integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g== -whatwg-url@^5.0.0: - version "5.0.0" - resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d" - integrity sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw== - dependencies: - tr46 "~0.0.3" - webidl-conversions "^3.0.0" - whatwg-url@^7.0.0: version "7.1.0" resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06" @@ -9839,28 +9201,6 @@ which-boxed-primitive@^1.0.2: is-string "^1.0.5" is-symbol "^1.0.3" -which-collection@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/which-collection/-/which-collection-1.0.1.tgz#70eab71ebbbd2aefaf32f917082fc62cdcb70906" - integrity sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A== - dependencies: - is-map "^2.0.1" - is-set "^2.0.1" - is-weakmap "^2.0.1" - is-weakset "^2.0.1" - -which-typed-array@^1.1.8: - version "1.1.9" - resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.9.tgz#307cf898025848cf995e795e8423c7f337efbde6" - integrity sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA== - dependencies: - available-typed-arrays "^1.0.5" - call-bind "^1.0.2" - for-each "^0.3.3" - gopd "^1.0.1" - has-tostringtag "^1.0.0" - is-typed-array "^1.1.10" - which@^1.3.1: version "1.3.1" resolved "https://registry.yarnpkg.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a" From 90010dddfae95150824b6bfdfc0fb5546bff3b14 Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Wed, 20 Dec 2023 15:51:37 +0100 Subject: [PATCH 05/11] Update collecting fees for sdk release version --- v3-sdk/collecting-fees/package.json | 6 ++--- v3-sdk/collecting-fees/src/libs/liquidity.ts | 24 ++++++++++---------- v3-sdk/collecting-fees/yarn.lock | 8 +++---- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/v3-sdk/collecting-fees/package.json b/v3-sdk/collecting-fees/package.json index 2f04d040..39f6777d 100644 --- a/v3-sdk/collecting-fees/package.json +++ b/v3-sdk/collecting-fees/package.json @@ -1,13 +1,13 @@ { "name": "collecting-fees", - "version": "0.1.0", + "version": "0.2.0", "private": true, "dependencies": { "@types/node": "^16.7.13", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@3.15.18", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.1", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -19,7 +19,7 @@ "build": "react-scripts build", "lint": "yarn eslint .", "install:chain": "curl -L https://foundry.paradigm.xyz | bash && clear && echo $0 | exec && foundryup", - "start:chain": "anvil --chain-id 1337 --fork-url" + "start:chain": "anvil --chain-id 1 --fork-url" }, "eslintConfig": { "extends": [ diff --git a/v3-sdk/collecting-fees/src/libs/liquidity.ts b/v3-sdk/collecting-fees/src/libs/liquidity.ts index f234f902..e26f661a 100644 --- a/v3-sdk/collecting-fees/src/libs/liquidity.ts +++ b/v3-sdk/collecting-fees/src/libs/liquidity.ts @@ -29,7 +29,7 @@ export async function collectFees( return TransactionState.Failed } - const position = await Position.fetchWithPositionId(provider, positionId) + const position = await Position.fetchWithPositionId({ provider, positionId }) const transactionResponse = await position.collectFeesOnChain({ signer: wallet, provider, @@ -59,12 +59,12 @@ export async function getTokenTransferApproval( return TransactionState.Failed } - const receipt = await approveTokenTransfer( - NONFUNGIBLE_POSITION_MANAGER_ADDRESSES[token.chainId], - token.address, - TOKEN_AMOUNT_TO_APPROVE_FOR_TRANSFER, - getWallet() - ) + const receipt = await approveTokenTransfer({ + contractAddress: NONFUNGIBLE_POSITION_MANAGER_ADDRESSES[token.chainId], + tokenAddress: token.address, + amount: TOKEN_AMOUNT_TO_APPROVE_FOR_TRANSFER, + signer: getWallet(), + }) if (receipt) { return TransactionState.Sent } else { @@ -82,12 +82,12 @@ export async function constructPosition( } // construct pool instance - const pool = await Pool.initFromChain( + const pool = await Pool.initFromChain({ provider, - token0Amount.currency, - token1Amount.currency, - CurrentConfig.tokens.poolFee - ) + tokenA: token0Amount.currency, + tokenB: token1Amount.currency, + fee: CurrentConfig.tokens.poolFee, + }) // create position using the maximum liquidity from input amounts return Position.fromAmounts({ diff --git a/v3-sdk/collecting-fees/yarn.lock b/v3-sdk/collecting-fees/yarn.lock index 1ce7dc2b..60e092e7 100644 --- a/v3-sdk/collecting-fees/yarn.lock +++ b/v3-sdk/collecting-fees/yarn.lock @@ -2531,10 +2531,10 @@ "@uniswap/v3-core" "1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@3.15.18": - version "3.15.18" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-3.15.18.tgz#7396fa89834ef71eda944a3e697cca2a4b23ff2b" - integrity sha512-rPK/JiEuDIHP1F35uiupx7wMArnRO0WjoeNVe59FyhJYhyEyhoQHop3zT0OA+mn5ckWlOj6MHBv82tkhCPZwQQ== +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.1.tgz#25c3ad8ee80c88192166caeb649aef1dc433fd6a" + integrity sha512-wQ0HGzhiJ39zIlrp8iyRMyYUzY8b6R1yQ/siqa1M1BImTpZnwvH9q87lHRhHhjt8qd05EMogoCxkdFDMhrIw4A== dependencies: "@ethersproject/abi" "^5.0.12" "@ethersproject/solidity" "^5.0.9" From cd6506a9ce3702538829a3e0d88f50d3ea1cebde Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Wed, 20 Dec 2023 16:09:53 +0100 Subject: [PATCH 06/11] Update modifying position for sdk release version --- v3-sdk/modifying-position/package.json | 4 ++-- v3-sdk/modifying-position/src/libs/liquidity.ts | 4 ++-- v3-sdk/modifying-position/tsconfig.json | 2 +- v3-sdk/modifying-position/yarn.lock | 8 ++++---- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/v3-sdk/modifying-position/package.json b/v3-sdk/modifying-position/package.json index 4a760f46..c36e8b54 100644 --- a/v3-sdk/modifying-position/package.json +++ b/v3-sdk/modifying-position/package.json @@ -1,13 +1,13 @@ { "name": "modify-position", - "version": "0.1.0", + "version": "0.2.0", "private": true, "dependencies": { "@types/node": "^16.7.13", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@koraykoska/uniswap-v3-sdk@3.15.20", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.1", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/v3-sdk/modifying-position/src/libs/liquidity.ts b/v3-sdk/modifying-position/src/libs/liquidity.ts index ec6d1e3a..a037ab70 100644 --- a/v3-sdk/modifying-position/src/libs/liquidity.ts +++ b/v3-sdk/modifying-position/src/libs/liquidity.ts @@ -48,7 +48,7 @@ export async function addLiquidity( tokenId: positionId, } - const position = await Position.fetchWithPositionId(provider, positionId) + const position = await Position.fetchWithPositionId({ provider, positionId }) try { await position.increasePositionByPercentageOnChain({ @@ -82,7 +82,7 @@ export async function removeLiquidity( tokenId: positionId, } - const position = await Position.fetchWithPositionId(provider, positionId) + const position = await Position.fetchWithPositionId({ provider, positionId }) try { await position.decreasePositionByPercentageOnChain({ diff --git a/v3-sdk/modifying-position/tsconfig.json b/v3-sdk/modifying-position/tsconfig.json index 34bbca6b..1bdae4cf 100644 --- a/v3-sdk/modifying-position/tsconfig.json +++ b/v3-sdk/modifying-position/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "target": "ESNext", + "target": "esnext", "lib": [ "dom", "dom.iterable", diff --git a/v3-sdk/modifying-position/yarn.lock b/v3-sdk/modifying-position/yarn.lock index 1db50682..a7e29c8f 100644 --- a/v3-sdk/modifying-position/yarn.lock +++ b/v3-sdk/modifying-position/yarn.lock @@ -2646,10 +2646,10 @@ "@uniswap/v3-core" "^1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@npm:@koraykoska/uniswap-v3-sdk@3.15.20": - version "3.15.20" - resolved "https://registry.yarnpkg.com/@koraykoska/uniswap-v3-sdk/-/uniswap-v3-sdk-3.15.20.tgz#a595088eb7fbf1b07248bd6d1df77af1e0d6e27a" - integrity sha512-seXJQXADgpIC1y+QWabm6pAPqAiQ3aljZqfv7arjCKblrfTQJn1vTChy/bjSXKiDpTGr7hk/KLux8xk+8cyEYg== +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.1.tgz#25c3ad8ee80c88192166caeb649aef1dc433fd6a" + integrity sha512-wQ0HGzhiJ39zIlrp8iyRMyYUzY8b6R1yQ/siqa1M1BImTpZnwvH9q87lHRhHhjt8qd05EMogoCxkdFDMhrIw4A== dependencies: "@ethersproject/abi" "^5.0.12" "@ethersproject/solidity" "^5.0.9" From 8460fb944550da23579ae24cd26388fc8a46c94e Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Wed, 20 Dec 2023 16:44:37 +0100 Subject: [PATCH 07/11] Update offchain-simulation example for sdk release version --- v3-sdk/offchain-simulations/package.json | 4 ++-- v3-sdk/offchain-simulations/src/libs/simulate.ts | 15 +++++++++------ v3-sdk/offchain-simulations/yarn.lock | 8 ++++---- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/v3-sdk/offchain-simulations/package.json b/v3-sdk/offchain-simulations/package.json index 0588f97d..f298bbd1 100644 --- a/v3-sdk/offchain-simulations/package.json +++ b/v3-sdk/offchain-simulations/package.json @@ -1,13 +1,13 @@ { "name": "offchain-simulations", - "version": "1.0.0", + "version": "1.1.0", "private": true, "dependencies": { "@types/node": "^16.7.13", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@3.15.13", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.2", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/v3-sdk/offchain-simulations/src/libs/simulate.ts b/v3-sdk/offchain-simulations/src/libs/simulate.ts index 18cb9294..d2b1d52b 100644 --- a/v3-sdk/offchain-simulations/src/libs/simulate.ts +++ b/v3-sdk/offchain-simulations/src/libs/simulate.ts @@ -29,12 +29,12 @@ async function initializePool(poolIdentifier: PoolIdentifier): Promise { throw new Error('No Provider') } - const pool = await Pool.initFromChain( + const pool = await Pool.initFromChain({ provider, - poolIdentifier.tokenA, - poolIdentifier.tokenB, - poolIdentifier.fee - ) + tokenA: poolIdentifier.tokenA, + tokenB: poolIdentifier.tokenB, + fee: poolIdentifier.fee, + }) await pool.initializeTicks() @@ -80,7 +80,10 @@ export async function executeTrade( while (response === null) { try { - response = await SwapRouter.executeTrade(trade, undefined, wallet) + response = await SwapRouter.executeTrade({ + trades: trade, + signer: wallet, + }) if (response === null) { continue diff --git a/v3-sdk/offchain-simulations/yarn.lock b/v3-sdk/offchain-simulations/yarn.lock index dccfb8f6..914ff9f6 100644 --- a/v3-sdk/offchain-simulations/yarn.lock +++ b/v3-sdk/offchain-simulations/yarn.lock @@ -2644,10 +2644,10 @@ "@uniswap/v3-core" "^1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@3.15.13": - version "3.15.13" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-3.15.13.tgz#d98398d3d1cb6e46c6bc075207f468591797db93" - integrity sha512-a+1Mp+dvzovRhXieU01HxNQDXw7E5XyrPI+K0d/Cd4ltAB5a+bnaIDA9+S3xwcspPYoA6AAxdyJy81UiD/AAsw== +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.2.tgz#260942599aab4baf4d91a5643c204dba94dd0507" + integrity sha512-/8qO6E0rhsMQ9PGEf2pa+H8lbi7a7rpoHuQPbcvnauYD5KmaLiAnVC5MjYfO3SmX5ZENoDVLFibI3LXF05q1yg== dependencies: "@ethersproject/abi" "^5.0.12" "@ethersproject/solidity" "^5.0.9" From 9da5d849fa676617f683d700c859dfcdcd003819 Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Wed, 20 Dec 2023 16:55:53 +0100 Subject: [PATCH 08/11] Update oracle to sdk-release-version --- v3-sdk/oracle/package.json | 6 +++--- v3-sdk/oracle/src/libs/oracle.ts | 20 ++++++++++---------- v3-sdk/oracle/yarn.lock | 8 ++++---- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/v3-sdk/oracle/package.json b/v3-sdk/oracle/package.json index fe8869d0..3d032e89 100644 --- a/v3-sdk/oracle/package.json +++ b/v3-sdk/oracle/package.json @@ -1,13 +1,13 @@ { "name": "oracle", - "version": "2.0.0", + "version": "2.1.0", "private": true, "dependencies": { "@types/node": "^16.7.13", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@3.15.13", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.1", "ethers": "5.7.0", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -19,7 +19,7 @@ "build": "react-scripts build", "lint": "yarn eslint .", "install:chain": "curl -L https://foundry.paradigm.xyz | bash && clear && echo $0 | exec && foundryup", - "start:chain": "anvil --chain-id 1337 --fork-url" + "start:chain": "anvil --chain-id 1 --fork-url" }, "eslintConfig": { "extends": [ diff --git a/v3-sdk/oracle/src/libs/oracle.ts b/v3-sdk/oracle/src/libs/oracle.ts index b83a2752..8f5e3796 100644 --- a/v3-sdk/oracle/src/libs/oracle.ts +++ b/v3-sdk/oracle/src/libs/oracle.ts @@ -15,12 +15,12 @@ async function getPool(): Promise { throw new Error('Please connect a provider') } - const pool = await Pool.initFromChain( + const pool = await Pool.initFromChain({ provider, - CurrentConfig.pool.token0, - CurrentConfig.pool.token1, - CurrentConfig.pool.fee - ) + tokenA: CurrentConfig.pool.token0, + tokenB: CurrentConfig.pool.token1, + fee: CurrentConfig.pool.fee, + }) return pool } @@ -35,10 +35,10 @@ export async function increaseObservationCardinalityNext( observationCardinalityNext: number ) { const pool = await getPool() - return pool.rpcIncreaseObservationCardinalityNext( - wallet, - observationCardinalityNext - ) + return pool.rpcIncreaseObservationCardinalityNext({ + signer: wallet, + observationCardinalityNext, + }) } export async function getAverages(): Promise<{ @@ -61,7 +61,7 @@ async function observe(secondsAgo: number): Promise { const pool = await getPool() - const observeResponse = await pool.rpcObserve(timestamps) + const observeResponse = await pool.rpcObserve({ secondsAgo: timestamps }) const observations: Observation[] = timestamps.map((time, i) => { return { diff --git a/v3-sdk/oracle/yarn.lock b/v3-sdk/oracle/yarn.lock index 060ee415..433ab657 100644 --- a/v3-sdk/oracle/yarn.lock +++ b/v3-sdk/oracle/yarn.lock @@ -2575,10 +2575,10 @@ "@uniswap/v3-core" "1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@3.15.13": - version "3.15.13" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-3.15.13.tgz#d98398d3d1cb6e46c6bc075207f468591797db93" - integrity sha512-a+1Mp+dvzovRhXieU01HxNQDXw7E5XyrPI+K0d/Cd4ltAB5a+bnaIDA9+S3xwcspPYoA6AAxdyJy81UiD/AAsw== +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.1.tgz#25c3ad8ee80c88192166caeb649aef1dc433fd6a" + integrity sha512-wQ0HGzhiJ39zIlrp8iyRMyYUzY8b6R1yQ/siqa1M1BImTpZnwvH9q87lHRhHhjt8qd05EMogoCxkdFDMhrIw4A== dependencies: "@ethersproject/abi" "^5.0.12" "@ethersproject/solidity" "^5.0.9" From 3fe48d0bc0b37e82ebfe29a97a81b8d46907f3a6 Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Wed, 20 Dec 2023 17:07:56 +0100 Subject: [PATCH 09/11] Update range order for sdk release version --- v3-sdk/range-order/package.json | 4 +- .../range-order/src/libs/mockMarketMaker.ts | 61 +++++++++---------- v3-sdk/range-order/src/libs/pool.ts | 12 ++-- v3-sdk/range-order/src/libs/positions.ts | 14 ++--- v3-sdk/range-order/src/libs/range-order.ts | 28 ++++----- v3-sdk/range-order/yarn.lock | 8 +-- 6 files changed, 62 insertions(+), 65 deletions(-) diff --git a/v3-sdk/range-order/package.json b/v3-sdk/range-order/package.json index eb8df5ce..4f7b6afb 100644 --- a/v3-sdk/range-order/package.json +++ b/v3-sdk/range-order/package.json @@ -1,13 +1,13 @@ { "name": "range-order", - "version": "2.0.0", + "version": "2.1.0", "private": true, "dependencies": { "@types/node": "^16.7.13", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@3.15.17", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.2", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/v3-sdk/range-order/src/libs/mockMarketMaker.ts b/v3-sdk/range-order/src/libs/mockMarketMaker.ts index 8401d975..bd8ceae7 100644 --- a/v3-sdk/range-order/src/libs/mockMarketMaker.ts +++ b/v3-sdk/range-order/src/libs/mockMarketMaker.ts @@ -24,27 +24,26 @@ export async function buyWETH() { CurrentConfig.mockMarketMakerPool.token0.decimals ) ) - const pool = await Pool.initFromChain( - getProvider(), - CurrentConfig.tokens.token0, - CurrentConfig.tokens.token1, - CurrentConfig.tokens.poolFee - ) + const pool = await Pool.initFromChain({ + provider: getProvider(), + tokenA: CurrentConfig.tokens.token0, + tokenB: CurrentConfig.tokens.token1, + fee: CurrentConfig.tokens.poolFee, + }) const options: SwapOptions = { slippageTolerance: new Percent(50, 10_000), // 50 bips, or 0.50% deadline: Math.floor(Date.now() / 1000) + 60 * 20, // 20 minutes from the current Unix time recipient: CurrentConfig.mockMarketMakerWallet.address, } - console.log('Constructed Pool') - await SwapRouter.executeQuotedSwapOnPool( + await SwapRouter.executeQuotedSwapOnPool({ pool, - ethAmount, - TradeType.EXACT_OUTPUT, - options, - getMMMWallet() - ) + amount: ethAmount, + tradeType: TradeType.EXACT_OUTPUT, + swapOptions: options, + signer: getMMMWallet(), + }) return TransactionState.Sent } catch (err) { console.log(err) @@ -57,12 +56,12 @@ export async function sellWETH() { try { const ethAmount = CurrentConfig.mockMarketMakerPool.sellAmount - const pool = await Pool.initFromChain( - getProvider(), - CurrentConfig.tokens.token0, - CurrentConfig.tokens.token1, - CurrentConfig.tokens.poolFee - ) + const pool = await Pool.initFromChain({ + provider: getProvider(), + tokenA: CurrentConfig.tokens.token0, + tokenB: CurrentConfig.tokens.token1, + fee: CurrentConfig.tokens.poolFee, + }) const swapRoute = new Route( [pool], @@ -134,17 +133,16 @@ export async function getToken1FromMockPool(sellETHAmount: number) { CurrentConfig.mockMarketMakerWallet.address, CurrentConfig.mockMarketMakerPool.token0 ) - console.log('Balance 0: ' + balance0) if (Number(balance0) < sellETHAmount) { await wrapETHMMM(sellETHAmount) } - const pool = await Pool.initFromChain( - getProvider(), - CurrentConfig.mockMarketMakerPool.token0, - CurrentConfig.mockMarketMakerPool.token1, - CurrentConfig.mockMarketMakerPool.poolFee - ) + const pool = await Pool.initFromChain({ + provider: getProvider(), + tokenA: CurrentConfig.mockMarketMakerPool.token0, + tokenB: CurrentConfig.mockMarketMakerPool.token1, + fee: CurrentConfig.mockMarketMakerPool.poolFee, + }) const currencyAmount = CurrencyAmount.fromRawAmount( CurrentConfig.mockMarketMakerPool.token0, @@ -154,13 +152,12 @@ export async function getToken1FromMockPool(sellETHAmount: number) { ) ) - await SwapRouter.executeQuotedSwapOnPool( + await SwapRouter.executeQuotedSwapOnPool({ pool, - currencyAmount, - TradeType.EXACT_INPUT, - undefined, - getMMMWallet() - ) + amount: currencyAmount, + tradeType: TradeType.EXACT_INPUT, + signer: getMMMWallet(), + }) } function getMMMWallet(): ethers.Wallet { diff --git a/v3-sdk/range-order/src/libs/pool.ts b/v3-sdk/range-order/src/libs/pool.ts index aa494e34..a598b8db 100644 --- a/v3-sdk/range-order/src/libs/pool.ts +++ b/v3-sdk/range-order/src/libs/pool.ts @@ -4,12 +4,12 @@ import { Pool } from '@uniswap/v3-sdk' import { Price, Token } from '@uniswap/sdk-core' export async function getPrice(): Promise> { - const pool = await Pool.initFromChain( - getProvider(), - CurrentConfig.tokens.token0, - CurrentConfig.tokens.token1, - CurrentConfig.tokens.poolFee - ) + const pool = await Pool.initFromChain({ + provider: getProvider(), + tokenA: CurrentConfig.tokens.token0, + tokenB: CurrentConfig.tokens.token1, + fee: CurrentConfig.tokens.poolFee, + }) return pool.token0Price } diff --git a/v3-sdk/range-order/src/libs/positions.ts b/v3-sdk/range-order/src/libs/positions.ts index 163d1639..823c4c80 100644 --- a/v3-sdk/range-order/src/libs/positions.ts +++ b/v3-sdk/range-order/src/libs/positions.ts @@ -97,12 +97,12 @@ export async function constructPosition( token1Amount: CurrencyAmount ): Promise { // construct pool instance - const pool = await Pool.initFromChain( - getProvider(), - token0Amount.currency, - token1Amount.currency, - CurrentConfig.tokens.poolFee - ) + const pool = await Pool.initFromChain({ + provider: getProvider(), + tokenA: token0Amount.currency, + tokenB: token1Amount.currency, + fee: CurrentConfig.tokens.poolFee, + }) // create position using the maximum liquidity from input amounts return Position.fromAmounts({ @@ -147,7 +147,7 @@ export async function getPositionIds(): Promise { } export async function getPosition(positionId: number) { - return Position.fetchWithPositionId(getProvider(), positionId) + return Position.fetchWithPositionId({ provider: getProvider(), positionId }) } export async function getTokenTransferApproval( diff --git a/v3-sdk/range-order/src/libs/range-order.ts b/v3-sdk/range-order/src/libs/range-order.ts index ae782cd8..7f115c3a 100644 --- a/v3-sdk/range-order/src/libs/range-order.ts +++ b/v3-sdk/range-order/src/libs/range-order.ts @@ -50,16 +50,16 @@ export async function watchTakeProfitOrder( if (!address || !provider) { return TransactionState.Failed } - const pool = await Pool.initFromChain( + const pool = await Pool.initFromChain({ provider, - CurrentConfig.tokens.token0, - CurrentConfig.tokens.token1, - CurrentConfig.tokens.poolFee - ) - const currentPosition = await Position.fetchWithPositionId( + tokenA: CurrentConfig.tokens.token0, + tokenB: CurrentConfig.tokens.token1, + fee: CurrentConfig.tokens.poolFee, + }) + const currentPosition = await Position.fetchWithPositionId({ provider, - positionId - ) + positionId, + }) if ( currentPosition.tokensOwed0 === undefined || @@ -187,12 +187,12 @@ export async function constructTakeProfitOrder( zeroForOne: boolean, amount: number ): Promise { - const configuredPool = await Pool.initFromChain( - getProvider(), - CurrentConfig.tokens.token0, - CurrentConfig.tokens.token1, - CurrentConfig.tokens.poolFee - ) + const configuredPool = await Pool.initFromChain({ + provider: getProvider(), + tokenA: CurrentConfig.tokens.token0, + tokenB: CurrentConfig.tokens.token1, + fee: CurrentConfig.tokens.poolFee, + }) const current = await getPrice() const priceTarget = zeroForOne diff --git a/v3-sdk/range-order/yarn.lock b/v3-sdk/range-order/yarn.lock index 4091ad88..ac8d24c0 100644 --- a/v3-sdk/range-order/yarn.lock +++ b/v3-sdk/range-order/yarn.lock @@ -2531,10 +2531,10 @@ "@uniswap/v3-core" "1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@3.15.17": - version "3.15.17" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-3.15.17.tgz#73d183242a77135ce903a5e9aa8c0fbcceeffbb5" - integrity sha512-NKwwewrv7ySiDkGtXx+GmPkv3kpw6MimpmDRfVvjAatm3+emkyOwUW49TiW816PBHHkV9HExihSf8a0JdVGtEw== +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.2.tgz#260942599aab4baf4d91a5643c204dba94dd0507" + integrity sha512-/8qO6E0rhsMQ9PGEf2pa+H8lbi7a7rpoHuQPbcvnauYD5KmaLiAnVC5MjYfO3SmX5ZENoDVLFibI3LXF05q1yg== dependencies: "@ethersproject/abi" "^5.0.12" "@ethersproject/solidity" "^5.0.9" From f522e4bce7ffbf89e14e99f52d384f2f52de89dd Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Wed, 20 Dec 2023 18:06:59 +0100 Subject: [PATCH 10/11] Update swap and add liquidity dependencies to v3-sdk release version --- v3-sdk/swap-and-add-liquidity/package.json | 8 ++-- .../src/libs/liquidity.ts | 10 ++--- .../swap-and-add-liquidity/src/libs/pool.ts | 10 ++--- v3-sdk/swap-and-add-liquidity/yarn.lock | 44 +++++++++---------- 4 files changed, 36 insertions(+), 36 deletions(-) diff --git a/v3-sdk/swap-and-add-liquidity/package.json b/v3-sdk/swap-and-add-liquidity/package.json index f6a2f375..315e298b 100644 --- a/v3-sdk/swap-and-add-liquidity/package.json +++ b/v3-sdk/swap-and-add-liquidity/package.json @@ -1,14 +1,14 @@ { "name": "swap-and-add-liquidity", - "version": "0.1.0", + "version": "0.2.0", "private": true, "dependencies": { "@types/node": "^16.7.13", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@3.15.18", - "@uniswap/smart-order-router": "npm:@florian-s-a-w/uniswap-smart-order-router@^3.18.8", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.2", + "@uniswap/smart-order-router": "npm:@florian-s-a-w/uniswap-smart-order-router@^3.19.0", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", @@ -20,7 +20,7 @@ "build": "react-scripts build", "lint": "yarn eslint .", "install:chain": "curl -L https://foundry.paradigm.xyz | bash && clear && echo $0 | exec && foundryup", - "start:chain": "anvil --chain-id 1337 --fork-url" + "start:chain": "anvil --chain-id 1 --fork-url" }, "eslintConfig": { "extends": [ diff --git a/v3-sdk/swap-and-add-liquidity/src/libs/liquidity.ts b/v3-sdk/swap-and-add-liquidity/src/libs/liquidity.ts index ba501cb5..afc3a8d8 100644 --- a/v3-sdk/swap-and-add-liquidity/src/libs/liquidity.ts +++ b/v3-sdk/swap-and-add-liquidity/src/libs/liquidity.ts @@ -154,12 +154,12 @@ export async function getTokenTransferApproval( return TransactionState.Failed } - const receipt = await approveTokenTransfer( + const receipt = await approveTokenTransfer({ contractAddress, - token.address, - rawAmount, - getWallet() - ) + tokenAddress: token.address, + amount: rawAmount, + signer: getWallet(), + }) if (receipt) { return TransactionState.Sent } else { diff --git a/v3-sdk/swap-and-add-liquidity/src/libs/pool.ts b/v3-sdk/swap-and-add-liquidity/src/libs/pool.ts index 17c74cc6..3f0d03a2 100644 --- a/v3-sdk/swap-and-add-liquidity/src/libs/pool.ts +++ b/v3-sdk/swap-and-add-liquidity/src/libs/pool.ts @@ -8,10 +8,10 @@ export async function getPool(): Promise { throw new Error('No provider') } - return Pool.initFromChain( + return Pool.initFromChain({ provider, - CurrentConfig.tokens.token0, - CurrentConfig.tokens.token1, - CurrentConfig.tokens.poolFee - ) + tokenA: CurrentConfig.tokens.token0, + tokenB: CurrentConfig.tokens.token1, + fee: CurrentConfig.tokens.poolFee, + }) } diff --git a/v3-sdk/swap-and-add-liquidity/yarn.lock b/v3-sdk/swap-and-add-liquidity/yarn.lock index e8d839aa..950ac872 100644 --- a/v3-sdk/swap-and-add-liquidity/yarn.lock +++ b/v3-sdk/swap-and-add-liquidity/yarn.lock @@ -2614,16 +2614,16 @@ ethers "^5.3.1" tiny-invariant "^1.3.1" -"@uniswap/router-sdk@npm:@florian-s-a-w/uniswap-router-sdk@^1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-router-sdk/-/uniswap-router-sdk-1.7.2.tgz#8944f074d93043e9e41a9452c22d3a9323614514" - integrity sha512-mRfTU1Oc40Wh+qBoM3mva1G2xal9yUiyMUfrR89ifoB6j1gUM8qcJSsFqDGN/1VqAtkyFvhdDBXbPLguUBcs6A== +"@uniswap/router-sdk@npm:@florian-s-a-w/uniswap-router-sdk@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-router-sdk/-/uniswap-router-sdk-1.8.0.tgz#84a95a64c53727ffc2bf9bfbd131ec1ff9a9d184" + integrity sha512-EvTxQXh5I/9yv9RN7WiGs95PdqqA9QD6OqxkgrmsAyATDJImSnFPfnLO5WNd/RpnK4ihO4IEBFIGpGWIl4/Fjw== dependencies: "@ethersproject/abi" "^5.5.0" "@uniswap/sdk-core" "npm:@koraykoska/uniswap-sdk-core@^6.0.9" "@uniswap/swap-router-contracts" "^1.1.0" "@uniswap/v2-sdk" "npm:@florian-s-a-w/uniswap-v2-sdk@^3.2.4" - "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12" + "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.2" "@uniswap/sdk-core@npm:@koraykoska/uniswap-sdk-core@^6.0.9": version "6.0.9" @@ -2637,21 +2637,21 @@ tiny-invariant "^1.1.0" toformat "^2.0.0" -"@uniswap/smart-order-router@npm:@florian-s-a-w/uniswap-smart-order-router@^3.18.8": - version "3.18.8" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-smart-order-router/-/uniswap-smart-order-router-3.18.8.tgz#a7515df032e60a34bb3c7c86d7b8eb393f6b4656" - integrity sha512-SSVJGSdO0ig7ZyCxCcHDHWCZFU/VvCE4NYkNmlq+2Y5f+SUHpFNcVE6hYoutLVxamceylxQHuxWXoIgArqcvpw== +"@uniswap/smart-order-router@npm:@florian-s-a-w/uniswap-smart-order-router@^3.19.0": + version "3.19.0" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-smart-order-router/-/uniswap-smart-order-router-3.19.0.tgz#6694398bc8e5eedb5b309421d7bf33affce80af0" + integrity sha512-w7LF3bkAeK1LeM6wKc/QdCgRNT2B5BV4HgZ+rRb6W3g04zPPEo09W0+Zk/sOw1QslEqkG1+o33kFZV8xH4mxqA== dependencies: "@uniswap/default-token-list" "npm:@florian-s-a-w/uniswap-default-token-list@^11.10.0" "@uniswap/permit2-sdk" "^1.2.0" - "@uniswap/router-sdk" "npm:@florian-s-a-w/uniswap-router-sdk@^1.7.2" + "@uniswap/router-sdk" "npm:@florian-s-a-w/uniswap-router-sdk@^1.8.0" "@uniswap/sdk-core" "npm:@koraykoska/uniswap-sdk-core@^6.0.9" "@uniswap/swap-router-contracts" "^1.3.0" "@uniswap/token-lists" "^1.0.0-beta.31" "@uniswap/universal-router" "^1.0.1" - "@uniswap/universal-router-sdk" "npm:@florian-s-a-w/uniswap-universal-router-sdk@^2.1.0" + "@uniswap/universal-router-sdk" "npm:@florian-s-a-w/uniswap-universal-router-sdk@^2.2.0" "@uniswap/v2-sdk" "npm:@florian-s-a-w/uniswap-v2-sdk@^3.2.4" - "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12" + "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.2" async-retry "^1.3.1" await-timeout "^1.1.1" axios "^0.21.1" @@ -2682,17 +2682,17 @@ resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.33.tgz#966ba96c9ccc8f0e9e09809890b438203f2b1911" integrity sha512-JQkXcpRI3jFG8y3/CGC4TS8NkDgcxXaOQuYW8Qdvd6DcDiIyg2vVYCG9igFEzF0G6UvxgHkBKC7cWCgzZNYvQg== -"@uniswap/universal-router-sdk@npm:@florian-s-a-w/uniswap-universal-router-sdk@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-universal-router-sdk/-/uniswap-universal-router-sdk-2.1.0.tgz#c70fd0e8aaf9fec13fd8cb4d46113112f30afd09" - integrity sha512-TSYpV7Pk85odl5UXTR7c5c4+QFTVp235azgAKtJj7RayReDk+djGcWtCcj/qHGfvyHAlvPgbgGHAT/KW0WH3/A== +"@uniswap/universal-router-sdk@npm:@florian-s-a-w/uniswap-universal-router-sdk@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-universal-router-sdk/-/uniswap-universal-router-sdk-2.2.0.tgz#73963b4b1db0f7d1cec4e9bd825f5536ed28a31a" + integrity sha512-o/41lcxZbN4oFfF81izFi5mWoJHwAQlxFBkYoZWQJpqNeNjBV6BQRTCiC2xSo6a2emFrOD1fLB6H0Hf96ARqVg== dependencies: "@uniswap/permit2-sdk" "^1.2.0" - "@uniswap/router-sdk" "npm:@florian-s-a-w/uniswap-router-sdk@^1.7.2" + "@uniswap/router-sdk" "npm:@florian-s-a-w/uniswap-router-sdk@^1.8.0" "@uniswap/sdk-core" "npm:@koraykoska/uniswap-sdk-core@^6.0.9" "@uniswap/universal-router" "1.5.1" "@uniswap/v2-sdk" "npm:@florian-s-a-w/uniswap-v2-sdk@^3.2.4" - "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12" + "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.2" bignumber.js "^9.0.2" ethers "^5.3.1" @@ -2742,10 +2742,10 @@ "@uniswap/v3-core" "^1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@3.15.18", "@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12": - version "3.15.18" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-3.15.18.tgz#7396fa89834ef71eda944a3e697cca2a4b23ff2b" - integrity sha512-rPK/JiEuDIHP1F35uiupx7wMArnRO0WjoeNVe59FyhJYhyEyhoQHop3zT0OA+mn5ckWlOj6MHBv82tkhCPZwQQ== +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.2", "@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.2.tgz#260942599aab4baf4d91a5643c204dba94dd0507" + integrity sha512-/8qO6E0rhsMQ9PGEf2pa+H8lbi7a7rpoHuQPbcvnauYD5KmaLiAnVC5MjYfO3SmX5ZENoDVLFibI3LXF05q1yg== dependencies: "@ethersproject/abi" "^5.0.12" "@ethersproject/solidity" "^5.0.9" From 559578e7c468594380fb58e7373c1a1a4e2b02ad Mon Sep 17 00:00:00 2001 From: Florian Winkler Date: Wed, 20 Dec 2023 18:08:56 +0100 Subject: [PATCH 11/11] Update sor dependency in routing example --- v3-sdk/routing/package.json | 6 ++-- v3-sdk/routing/yarn.lock | 59 ++++++++++++++----------------------- 2 files changed, 25 insertions(+), 40 deletions(-) diff --git a/v3-sdk/routing/package.json b/v3-sdk/routing/package.json index f0693188..bbb8ff69 100644 --- a/v3-sdk/routing/package.json +++ b/v3-sdk/routing/package.json @@ -1,14 +1,14 @@ { "name": "routing", - "version": "0.1.0", + "version": "0.2.0", "private": true, "dependencies": { "@types/node": "^16.7.13", "@types/react": "^18.0.0", "@types/react-dom": "^18.0.0", "@uniswap/sdk-core": "npm:@koraykoska/uniswap-sdk-core@^6.0.9", - "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.0", - "@uniswap/smart-order-router": "npm:@florian-s-a-w/uniswap-smart-order-router@^3.18.8", + "@uniswap/v3-sdk": "npm:@florian-s-a-w/uniswap-v3-sdk@4.0.2", + "@uniswap/smart-order-router": "npm:@florian-s-a-w/uniswap-smart-order-router@^3.19.0", "ethers": "^5.7.2", "react": "^18.2.0", "react-dom": "^18.2.0", diff --git a/v3-sdk/routing/yarn.lock b/v3-sdk/routing/yarn.lock index d4dff26a..14a3f8c5 100644 --- a/v3-sdk/routing/yarn.lock +++ b/v3-sdk/routing/yarn.lock @@ -2612,16 +2612,16 @@ ethers "^5.3.1" tiny-invariant "^1.3.1" -"@uniswap/router-sdk@npm:@florian-s-a-w/uniswap-router-sdk@^1.7.2": - version "1.7.2" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-router-sdk/-/uniswap-router-sdk-1.7.2.tgz#8944f074d93043e9e41a9452c22d3a9323614514" - integrity sha512-mRfTU1Oc40Wh+qBoM3mva1G2xal9yUiyMUfrR89ifoB6j1gUM8qcJSsFqDGN/1VqAtkyFvhdDBXbPLguUBcs6A== +"@uniswap/router-sdk@npm:@florian-s-a-w/uniswap-router-sdk@^1.8.0": + version "1.8.0" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-router-sdk/-/uniswap-router-sdk-1.8.0.tgz#84a95a64c53727ffc2bf9bfbd131ec1ff9a9d184" + integrity sha512-EvTxQXh5I/9yv9RN7WiGs95PdqqA9QD6OqxkgrmsAyATDJImSnFPfnLO5WNd/RpnK4ihO4IEBFIGpGWIl4/Fjw== dependencies: "@ethersproject/abi" "^5.5.0" "@uniswap/sdk-core" "npm:@koraykoska/uniswap-sdk-core@^6.0.9" "@uniswap/swap-router-contracts" "^1.1.0" "@uniswap/v2-sdk" "npm:@florian-s-a-w/uniswap-v2-sdk@^3.2.4" - "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12" + "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.2" "@uniswap/sdk-core@npm:@koraykoska/uniswap-sdk-core@^6.0.9": version "6.0.9" @@ -2635,21 +2635,21 @@ tiny-invariant "^1.1.0" toformat "^2.0.0" -"@uniswap/smart-order-router@npm:@florian-s-a-w/uniswap-smart-order-router@^3.18.8": - version "3.18.8" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-smart-order-router/-/uniswap-smart-order-router-3.18.8.tgz#a7515df032e60a34bb3c7c86d7b8eb393f6b4656" - integrity sha512-SSVJGSdO0ig7ZyCxCcHDHWCZFU/VvCE4NYkNmlq+2Y5f+SUHpFNcVE6hYoutLVxamceylxQHuxWXoIgArqcvpw== +"@uniswap/smart-order-router@npm:@florian-s-a-w/uniswap-smart-order-router@^3.19.0": + version "3.19.0" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-smart-order-router/-/uniswap-smart-order-router-3.19.0.tgz#6694398bc8e5eedb5b309421d7bf33affce80af0" + integrity sha512-w7LF3bkAeK1LeM6wKc/QdCgRNT2B5BV4HgZ+rRb6W3g04zPPEo09W0+Zk/sOw1QslEqkG1+o33kFZV8xH4mxqA== dependencies: "@uniswap/default-token-list" "npm:@florian-s-a-w/uniswap-default-token-list@^11.10.0" "@uniswap/permit2-sdk" "^1.2.0" - "@uniswap/router-sdk" "npm:@florian-s-a-w/uniswap-router-sdk@^1.7.2" + "@uniswap/router-sdk" "npm:@florian-s-a-w/uniswap-router-sdk@^1.8.0" "@uniswap/sdk-core" "npm:@koraykoska/uniswap-sdk-core@^6.0.9" "@uniswap/swap-router-contracts" "^1.3.0" "@uniswap/token-lists" "^1.0.0-beta.31" "@uniswap/universal-router" "^1.0.1" - "@uniswap/universal-router-sdk" "npm:@florian-s-a-w/uniswap-universal-router-sdk@^2.1.0" + "@uniswap/universal-router-sdk" "npm:@florian-s-a-w/uniswap-universal-router-sdk@^2.2.0" "@uniswap/v2-sdk" "npm:@florian-s-a-w/uniswap-v2-sdk@^3.2.4" - "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12" + "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.2" async-retry "^1.3.1" await-timeout "^1.1.1" axios "^0.21.1" @@ -2680,17 +2680,17 @@ resolved "https://registry.yarnpkg.com/@uniswap/token-lists/-/token-lists-1.0.0-beta.33.tgz#966ba96c9ccc8f0e9e09809890b438203f2b1911" integrity sha512-JQkXcpRI3jFG8y3/CGC4TS8NkDgcxXaOQuYW8Qdvd6DcDiIyg2vVYCG9igFEzF0G6UvxgHkBKC7cWCgzZNYvQg== -"@uniswap/universal-router-sdk@npm:@florian-s-a-w/uniswap-universal-router-sdk@^2.1.0": - version "2.1.0" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-universal-router-sdk/-/uniswap-universal-router-sdk-2.1.0.tgz#c70fd0e8aaf9fec13fd8cb4d46113112f30afd09" - integrity sha512-TSYpV7Pk85odl5UXTR7c5c4+QFTVp235azgAKtJj7RayReDk+djGcWtCcj/qHGfvyHAlvPgbgGHAT/KW0WH3/A== +"@uniswap/universal-router-sdk@npm:@florian-s-a-w/uniswap-universal-router-sdk@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-universal-router-sdk/-/uniswap-universal-router-sdk-2.2.0.tgz#73963b4b1db0f7d1cec4e9bd825f5536ed28a31a" + integrity sha512-o/41lcxZbN4oFfF81izFi5mWoJHwAQlxFBkYoZWQJpqNeNjBV6BQRTCiC2xSo6a2emFrOD1fLB6H0Hf96ARqVg== dependencies: "@uniswap/permit2-sdk" "^1.2.0" - "@uniswap/router-sdk" "npm:@florian-s-a-w/uniswap-router-sdk@^1.7.2" + "@uniswap/router-sdk" "npm:@florian-s-a-w/uniswap-router-sdk@^1.8.0" "@uniswap/sdk-core" "npm:@koraykoska/uniswap-sdk-core@^6.0.9" "@uniswap/universal-router" "1.5.1" "@uniswap/v2-sdk" "npm:@florian-s-a-w/uniswap-v2-sdk@^3.2.4" - "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12" + "@uniswap/v3-sdk" "npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.2" bignumber.js "^9.0.2" ethers "^5.3.1" @@ -2740,25 +2740,10 @@ "@uniswap/v3-core" "^1.0.0" base64-sol "1.0.1" -"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.0": - version "4.0.0" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.0.tgz#627880d647a783bed2b779bd01cf64188e8c4eb5" - integrity sha512-ZMA8+cqp7OjSAG1ZKbk7x0NHudzb4Xxyi1/zV5Q7RbeJbQRqRrg3PbQHF+nQSHEYIvueohMTUlMnAXYq8IZ/Og== - dependencies: - "@ethersproject/abi" "^5.0.12" - "@ethersproject/solidity" "^5.0.9" - "@uniswap/sdk-core" "npm:@koraykoska/uniswap-sdk-core@^6.0.9" - "@uniswap/swap-router-contracts" "^1.2.1" - "@uniswap/v3-periphery" "^1.1.1" - "@uniswap/v3-staker" "1.0.2" - ethers-multicall "^0.2.3" - tiny-invariant "^1.1.0" - tiny-warning "^1.0.3" - -"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@^3.15.12": - version "3.15.12" - resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-3.15.12.tgz#abb26e8f2e4380cef2ac96f391dad2c71e99eca3" - integrity sha512-KtXUrsKY91EI8CLUpUdY+I41qpAbdcaXh8GsTdaoQdMBZpoo4anZ1WX3uweD3yeFNo/MjOYgunJ7jy4Rwjb40Q== +"@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@4.0.2", "@uniswap/v3-sdk@npm:@florian-s-a-w/uniswap-v3-sdk@^4.0.2": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@florian-s-a-w/uniswap-v3-sdk/-/uniswap-v3-sdk-4.0.2.tgz#260942599aab4baf4d91a5643c204dba94dd0507" + integrity sha512-/8qO6E0rhsMQ9PGEf2pa+H8lbi7a7rpoHuQPbcvnauYD5KmaLiAnVC5MjYfO3SmX5ZENoDVLFibI3LXF05q1yg== dependencies: "@ethersproject/abi" "^5.0.12" "@ethersproject/solidity" "^5.0.9"