From b78c1b0f888997bea882961cdb0cd8a24e66b2cd Mon Sep 17 00:00:00 2001 From: Jacob Bryant Date: Mon, 15 May 2023 08:57:29 -0400 Subject: [PATCH] fixing lend history with new deposit event --- src/components/views/VaultPosition.tsx | 2 +- src/config/contracts.ts | 3 + src/contexts/HistoryContext.tsx | 40 +- src/contracts/VRRouter.d.ts | 158 ++++++++ src/contracts/VYToken.d.ts | 367 +++++++----------- src/contracts/abis/VRRouter.json | 26 ++ src/contracts/abis/VYToken.json | 87 ++--- src/contracts/factories/VRRouter__factory.ts | 73 ++++ src/contracts/factories/VYToken__factory.ts | 192 ++++----- src/contracts/index.ts | 2 + .../useClosePosition/useClosePositionVR.ts | 2 +- src/hooks/actionHooks/useLend/useLendVR.ts | 5 +- 12 files changed, 532 insertions(+), 425 deletions(-) create mode 100644 src/contracts/VRRouter.d.ts create mode 100644 src/contracts/abis/VRRouter.json create mode 100644 src/contracts/factories/VRRouter__factory.ts diff --git a/src/components/views/VaultPosition.tsx b/src/components/views/VaultPosition.tsx index 82e055694..6fbac00fc 100644 --- a/src/components/views/VaultPosition.tsx +++ b/src/components/views/VaultPosition.tsx @@ -851,7 +851,7 @@ const VaultPosition = () => { )} - {actionActive.index === 4 && } + {actionActive.index === 4 && } diff --git a/src/config/contracts.ts b/src/config/contracts.ts index 61fc5a5ae..0d121707a 100644 --- a/src/config/contracts.ts +++ b/src/config/contracts.ts @@ -11,6 +11,7 @@ export enum ContractNames { WRAP_ETHER_MODULE = 'WrapEtherModule', CONVEX_LADLE_MODULE = 'ConvexLadleModule', TRANSFER_1155_MODULE = 'Transfer1155Module', + VR_ROUTER = 'VRRouter', } export type ContractMap = Map; @@ -34,6 +35,7 @@ export const contractAddresses: ContractAddresses = { [ContractNames.TRANSFER_1155_MODULE, '0x97f1d43A217aDD678bB6Dcd3C5D51F40b6729d06'], [ContractNames.WRAP_ETHER_MODULE, '0x22768FCaFe7BB9F03e31cb49823d1Ece30C0b8eA'], [ContractNames.CONVEX_LADLE_MODULE, '0x9Bf195997581C99cef8be95a3a816Ca19Cf1A3e6'], + [ContractNames.VR_ROUTER, '0x2e0d7680d68cff941482f111f2ed1df867736576'], // <-- will need to update this, necessary to get Deposited Events ]), ], [ @@ -47,6 +49,7 @@ export const contractAddresses: ContractAddresses = { [ContractNames.VR_CAULDRON, '0x51453309441579de245a9e99800b6b7f19e48e1a'], [ContractNames.VR_WITCH, '0x090e8a0fc6df49f25c3f619bc3bc1cc6d6150b45'], [ContractNames.VR_LADLE, '0x2ad615c6a63186d4fe24fa6a82277832a7468601'], + [ContractNames.VR_ROUTER, '0x2e0d7680d68cff941482f111f2ed1df867736576'], ]), ], ]), diff --git a/src/contexts/HistoryContext.tsx b/src/contexts/HistoryContext.tsx index 7b1e396ef..d8c6383ee 100644 --- a/src/contexts/HistoryContext.tsx +++ b/src/contexts/HistoryContext.tsx @@ -29,9 +29,10 @@ import useContracts from '../hooks/useContracts'; import useAccountPlus from '../hooks/useAccountPlus'; import useFork from '../hooks/useFork'; -import { ContractNames } from '../config/contracts'; +import contractAddresses, { ContractNames } from '../config/contracts'; import { formatUnits } from 'ethers/lib/utils.js'; import useVYTokens from '../hooks/entities/useVYTokens'; +import useChainId from '../hooks/useChainId'; const dateFormat = (dateInSecs: number) => format(new Date(dateInSecs * 1000), 'dd MMM yyyy'); @@ -111,6 +112,7 @@ const HistoryProvider = ({ children }: any) => { const [historyState, updateState] = useReducer(historyReducer, initState); const { address: account } = useAccountPlus(); const { data: vyTokens } = useVYTokens(); + const chainId = useChainId(); const { settingsState: { diagnostics }, @@ -427,8 +429,6 @@ const HistoryProvider = ({ children }: any) => { ilk?.displaySymbol }`; - console.log('primaryInfo', primaryInfo, base_, cleanValue(vault.rate_, 2), vault); - return { /* histItem base */ blockNumber, @@ -592,8 +592,15 @@ const HistoryProvider = ({ children }: any) => { vyTokenAddresses.map(async (address) => { const vyToken = vyTokens?.get(address); const vyTokenContract = VYToken__factory.connect(vyToken?.proxyAddress!, provider); + + const vrRouterAddr = contractAddresses.addresses.get(chainId)?.get(ContractNames.VR_ROUTER); + const redeemEvents = await vyTokenContract.queryFilter( - vyTokenContract.filters.Redeemed(account, account), + vyTokenContract.filters.Redeemed(null, null), + useForkedEnv ? forkStartBlock : 'earliest' + ); + const depositEvents = await vyTokenContract.queryFilter( + vyTokenContract.filters.Deposited(vrRouterAddr, account), useForkedEnv ? forkStartBlock : 'earliest' ); @@ -620,7 +627,30 @@ const HistoryProvider = ({ children }: any) => { }) ); // TODO get deposit events and make logs - const depositLogs = [] as IHistItemPosition[]; + const depositLogs = await Promise.all( + depositEvents.map(async (e) => { + const { + blockNumber, + transactionHash, + args: { underlyingAmount }, + } = e; + const base = assetRootMap.get(vyToken?.baseId!); + const underlyingAmount_ = formatUnits(underlyingAmount, base?.decimals); + + const date = (await provider.getBlock(blockNumber)).timestamp; + + return { + blockNumber, + date, + transactionHash, + actionCode: ActionCodes.LEND, + primaryInfo: `${cleanValue(underlyingAmount_, 2)} ${base?.displaySymbol}`, + date_: dateFormat(date), + } as IHistItemPosition; + }) + ); + + // ^ getting deposit events const sorted = [...depositLogs, ...redeemLogs].sort((a, b) => a.blockNumber - b.blockNumber); vyTokenHistMap.set(address, sorted); }) diff --git a/src/contracts/VRRouter.d.ts b/src/contracts/VRRouter.d.ts new file mode 100644 index 000000000..9f6eb4b41 --- /dev/null +++ b/src/contracts/VRRouter.d.ts @@ -0,0 +1,158 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { + ethers, + EventFilter, + Signer, + BigNumber, + BigNumberish, + PopulatedTransaction, + BaseContract, + ContractTransaction, + Overrides, + PayableOverrides, + CallOverrides, +} from "ethers"; +import { BytesLike } from "@ethersproject/bytes"; +import { Listener, Provider } from "@ethersproject/providers"; +import { FunctionFragment, EventFragment, Result } from "@ethersproject/abi"; +import type { TypedEventFilter, TypedEvent, TypedListener } from "./common"; + +interface VRRouterInterface extends ethers.utils.Interface { + functions: { + "initialize(address)": FunctionFragment; + "owner()": FunctionFragment; + "route(address,bytes)": FunctionFragment; + }; + + encodeFunctionData(functionFragment: "initialize", values: [string]): string; + encodeFunctionData(functionFragment: "owner", values?: undefined): string; + encodeFunctionData( + functionFragment: "route", + values: [string, BytesLike] + ): string; + + decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result; + decodeFunctionResult(functionFragment: "route", data: BytesLike): Result; + + events: {}; +} + +export class VRRouter extends BaseContract { + connect(signerOrProvider: Signer | Provider | string): this; + attach(addressOrName: string): this; + deployed(): Promise; + + listeners, EventArgsObject>( + eventFilter?: TypedEventFilter + ): Array>; + off, EventArgsObject>( + eventFilter: TypedEventFilter, + listener: TypedListener + ): this; + on, EventArgsObject>( + eventFilter: TypedEventFilter, + listener: TypedListener + ): this; + once, EventArgsObject>( + eventFilter: TypedEventFilter, + listener: TypedListener + ): this; + removeListener, EventArgsObject>( + eventFilter: TypedEventFilter, + listener: TypedListener + ): this; + removeAllListeners, EventArgsObject>( + eventFilter: TypedEventFilter + ): this; + + listeners(eventName?: string): Array; + off(eventName: string, listener: Listener): this; + on(eventName: string, listener: Listener): this; + once(eventName: string, listener: Listener): this; + removeListener(eventName: string, listener: Listener): this; + removeAllListeners(eventName?: string): this; + + queryFilter, EventArgsObject>( + event: TypedEventFilter, + fromBlockOrBlockhash?: string | number | undefined, + toBlock?: string | number | undefined + ): Promise>>; + + interface: VRRouterInterface; + + functions: { + initialize( + owner_: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + owner(overrides?: CallOverrides): Promise<[string]>; + + route( + target: string, + data: BytesLike, + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + }; + + initialize( + owner_: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + route( + target: string, + data: BytesLike, + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + + callStatic: { + initialize(owner_: string, overrides?: CallOverrides): Promise; + + owner(overrides?: CallOverrides): Promise; + + route( + target: string, + data: BytesLike, + overrides?: CallOverrides + ): Promise; + }; + + filters: {}; + + estimateGas: { + initialize( + owner_: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + route( + target: string, + data: BytesLike, + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + }; + + populateTransaction: { + initialize( + owner_: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + + owner(overrides?: CallOverrides): Promise; + + route( + target: string, + data: BytesLike, + overrides?: PayableOverrides & { from?: string | Promise } + ): Promise; + }; +} diff --git a/src/contracts/VYToken.d.ts b/src/contracts/VYToken.d.ts index 787c4839b..0636abac2 100644 --- a/src/contracts/VYToken.d.ts +++ b/src/contracts/VYToken.d.ts @@ -36,19 +36,15 @@ interface VYTokenInterface extends ethers.utils.Interface { "decimals()": FunctionFragment; "deploymentChainId()": FunctionFragment; "deposit(address,uint256)": FunctionFragment; - "flashFee(address,uint256)": FunctionFragment; - "flashFeeFactor()": FunctionFragment; - "flashLoan(address,address,uint256,bytes)": FunctionFragment; "getRoleAdmin(bytes4)": FunctionFragment; "grantRole(bytes4,address)": FunctionFragment; "grantRoles(bytes4[],address)": FunctionFragment; "hasRole(bytes4,address)": FunctionFragment; - "initialize(address)": FunctionFragment; + "initialize(address,string,string,uint8)": FunctionFragment; "initialized()": FunctionFragment; "join()": FunctionFragment; "lockRole(bytes4)": FunctionFragment; "maxDeposit(address)": FunctionFragment; - "maxFlashLoan(address)": FunctionFragment; "maxMint(address)": FunctionFragment; "maxRedeem(address)": FunctionFragment; "maxWithdraw(address)": FunctionFragment; @@ -66,7 +62,6 @@ interface VYTokenInterface extends ethers.utils.Interface { "renounceRole(bytes4,address)": FunctionFragment; "revokeRole(bytes4,address)": FunctionFragment; "revokeRoles(bytes4[],address)": FunctionFragment; - "setFlashFeeFactor(uint256)": FunctionFragment; "setRoleAdmin(bytes4,bytes4)": FunctionFragment; "symbol()": FunctionFragment; "totalSupply()": FunctionFragment; @@ -124,18 +119,6 @@ interface VYTokenInterface extends ethers.utils.Interface { functionFragment: "deposit", values: [string, BigNumberish] ): string; - encodeFunctionData( - functionFragment: "flashFee", - values: [string, BigNumberish] - ): string; - encodeFunctionData( - functionFragment: "flashFeeFactor", - values?: undefined - ): string; - encodeFunctionData( - functionFragment: "flashLoan", - values: [string, string, BigNumberish, BytesLike] - ): string; encodeFunctionData( functionFragment: "getRoleAdmin", values: [BytesLike] @@ -152,7 +135,10 @@ interface VYTokenInterface extends ethers.utils.Interface { functionFragment: "hasRole", values: [BytesLike, string] ): string; - encodeFunctionData(functionFragment: "initialize", values: [string]): string; + encodeFunctionData( + functionFragment: "initialize", + values: [string, string, string, BigNumberish] + ): string; encodeFunctionData( functionFragment: "initialized", values?: undefined @@ -160,10 +146,6 @@ interface VYTokenInterface extends ethers.utils.Interface { encodeFunctionData(functionFragment: "join", values?: undefined): string; encodeFunctionData(functionFragment: "lockRole", values: [BytesLike]): string; encodeFunctionData(functionFragment: "maxDeposit", values: [string]): string; - encodeFunctionData( - functionFragment: "maxFlashLoan", - values: [string] - ): string; encodeFunctionData(functionFragment: "maxMint", values: [string]): string; encodeFunctionData(functionFragment: "maxRedeem", values: [string]): string; encodeFunctionData(functionFragment: "maxWithdraw", values: [string]): string; @@ -222,10 +204,6 @@ interface VYTokenInterface extends ethers.utils.Interface { functionFragment: "revokeRoles", values: [BytesLike[], string] ): string; - encodeFunctionData( - functionFragment: "setFlashFeeFactor", - values: [BigNumberish] - ): string; encodeFunctionData( functionFragment: "setRoleAdmin", values: [BytesLike, BytesLike] @@ -297,12 +275,6 @@ interface VYTokenInterface extends ethers.utils.Interface { data: BytesLike ): Result; decodeFunctionResult(functionFragment: "deposit", data: BytesLike): Result; - decodeFunctionResult(functionFragment: "flashFee", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "flashFeeFactor", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "flashLoan", data: BytesLike): Result; decodeFunctionResult( functionFragment: "getRoleAdmin", data: BytesLike @@ -318,10 +290,6 @@ interface VYTokenInterface extends ethers.utils.Interface { decodeFunctionResult(functionFragment: "join", data: BytesLike): Result; decodeFunctionResult(functionFragment: "lockRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxDeposit", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "maxFlashLoan", - data: BytesLike - ): Result; decodeFunctionResult(functionFragment: "maxMint", data: BytesLike): Result; decodeFunctionResult(functionFragment: "maxRedeem", data: BytesLike): Result; decodeFunctionResult( @@ -363,10 +331,6 @@ interface VYTokenInterface extends ethers.utils.Interface { functionFragment: "revokeRoles", data: BytesLike ): Result; - decodeFunctionResult( - functionFragment: "setFlashFeeFactor", - data: BytesLike - ): Result; decodeFunctionResult( functionFragment: "setRoleAdmin", data: BytesLike @@ -398,8 +362,7 @@ interface VYTokenInterface extends ethers.utils.Interface { "AdminChanged(address,address)": EventFragment; "Approval(address,address,uint256)": EventFragment; "BeaconUpgraded(address)": EventFragment; - "FlashFeeFactorSet(uint256)": EventFragment; - "Point(bytes32,address)": EventFragment; + "Deposited(address,address,uint256,uint256)": EventFragment; "Redeemed(address,address,uint256,uint256)": EventFragment; "RoleAdminChanged(bytes4,bytes4)": EventFragment; "RoleGranted(bytes4,address,address)": EventFragment; @@ -411,8 +374,7 @@ interface VYTokenInterface extends ethers.utils.Interface { getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "Approval"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; - getEvent(nameOrSignatureOrTopic: "FlashFeeFactorSet"): EventFragment; - getEvent(nameOrSignatureOrTopic: "Point"): EventFragment; + getEvent(nameOrSignatureOrTopic: "Deposited"): EventFragment; getEvent(nameOrSignatureOrTopic: "Redeemed"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleAdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "RoleGranted"): EventFragment; @@ -435,12 +397,13 @@ export type ApprovalEvent = TypedEvent< export type BeaconUpgradedEvent = TypedEvent<[string] & { beacon: string }>; -export type FlashFeeFactorSetEvent = TypedEvent< - [BigNumber] & { fee: BigNumber } ->; - -export type PointEvent = TypedEvent< - [string, string] & { param: string; value: string } +export type DepositedEvent = TypedEvent< + [string, string, BigNumber, BigNumber] & { + sender: string; + receiver: string; + underlyingAmount: BigNumber; + principalAmount: BigNumber; + } >; export type RedeemedEvent = TypedEvent< @@ -542,13 +505,13 @@ export class VYToken extends BaseContract { convertToPrincipal( underlyingAmount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber] & { principalAmount: BigNumber }>; + overrides?: Overrides & { from?: string | Promise } + ): Promise; convertToUnderlying( principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber] & { underlyingAmount: BigNumber }>; + overrides?: Overrides & { from?: string | Promise } + ): Promise; decimals(overrides?: CallOverrides): Promise<[number]>; @@ -560,22 +523,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - flashFee( - token: string, - principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - - flashFeeFactor(overrides?: CallOverrides): Promise<[BigNumber]>; - - flashLoan( - receiver: string, - token: string, - principalAmount: BigNumberish, - data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise<[string]>; grantRole( @@ -598,6 +545,9 @@ export class VYToken extends BaseContract { initialize( root_: string, + name_: string, + symbol_: string, + decimals_: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -615,11 +565,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - maxFlashLoan( - token: string, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - maxMint( arg0: string, overrides?: CallOverrides @@ -660,32 +605,39 @@ export class VYToken extends BaseContract { previewDeposit( underlyingAmount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber] & { principalAmount: BigNumber }>; + overrides?: Overrides & { from?: string | Promise } + ): Promise; previewMint( principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber] & { underlyingAmount: BigNumber }>; + overrides?: Overrides & { from?: string | Promise } + ): Promise; previewRedeem( principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber] & { underlyingAmount: BigNumber }>; + overrides?: Overrides & { from?: string | Promise } + ): Promise; previewWithdraw( underlyingAmount: BigNumberish, - overrides?: CallOverrides - ): Promise<[BigNumber] & { principalAmount: BigNumber }>; + overrides?: Overrides & { from?: string | Promise } + ): Promise; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; - redeem( + "redeem(address,uint256)"( receiver: string, principalAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; + "redeem(uint256,address,address)"( + principalAmount: BigNumberish, + receiver: string, + holder: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + renounceRole( role: BytesLike, account: string, @@ -704,11 +656,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - setFlashFeeFactor( - flashFeeFactor_: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - setRoleAdmin( role: BytesLike, adminRole: BytesLike, @@ -785,13 +732,13 @@ export class VYToken extends BaseContract { convertToPrincipal( underlyingAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; + overrides?: Overrides & { from?: string | Promise } + ): Promise; convertToUnderlying( principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; + overrides?: Overrides & { from?: string | Promise } + ): Promise; decimals(overrides?: CallOverrides): Promise; @@ -803,22 +750,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - flashFee( - token: string, - principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - flashFeeFactor(overrides?: CallOverrides): Promise; - - flashLoan( - receiver: string, - token: string, - principalAmount: BigNumberish, - data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; grantRole( @@ -841,6 +772,9 @@ export class VYToken extends BaseContract { initialize( root_: string, + name_: string, + symbol_: string, + decimals_: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -858,8 +792,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - maxFlashLoan(token: string, overrides?: CallOverrides): Promise; - maxMint(arg0: string, overrides?: CallOverrides): Promise; maxRedeem(holder: string, overrides?: CallOverrides): Promise; @@ -894,32 +826,39 @@ export class VYToken extends BaseContract { previewDeposit( underlyingAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; + overrides?: Overrides & { from?: string | Promise } + ): Promise; previewMint( principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; + overrides?: Overrides & { from?: string | Promise } + ): Promise; previewRedeem( principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; + overrides?: Overrides & { from?: string | Promise } + ): Promise; previewWithdraw( underlyingAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; + overrides?: Overrides & { from?: string | Promise } + ): Promise; proxiableUUID(overrides?: CallOverrides): Promise; - redeem( + "redeem(address,uint256)"( receiver: string, principalAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; + "redeem(uint256,address,address)"( + principalAmount: BigNumberish, + receiver: string, + holder: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + renounceRole( role: BytesLike, account: string, @@ -938,11 +877,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - setFlashFeeFactor( - flashFeeFactor_: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - setRoleAdmin( role: BytesLike, adminRole: BytesLike, @@ -1037,22 +971,6 @@ export class VYToken extends BaseContract { overrides?: CallOverrides ): Promise; - flashFee( - token: string, - principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - flashFeeFactor(overrides?: CallOverrides): Promise; - - flashLoan( - receiver: string, - token: string, - principalAmount: BigNumberish, - data: BytesLike, - overrides?: CallOverrides - ): Promise; - getRoleAdmin(role: BytesLike, overrides?: CallOverrides): Promise; grantRole( @@ -1073,7 +991,13 @@ export class VYToken extends BaseContract { overrides?: CallOverrides ): Promise; - initialize(root_: string, overrides?: CallOverrides): Promise; + initialize( + root_: string, + name_: string, + symbol_: string, + decimals_: BigNumberish, + overrides?: CallOverrides + ): Promise; initialized(overrides?: CallOverrides): Promise; @@ -1083,8 +1007,6 @@ export class VYToken extends BaseContract { maxDeposit(arg0: string, overrides?: CallOverrides): Promise; - maxFlashLoan(token: string, overrides?: CallOverrides): Promise; - maxMint(arg0: string, overrides?: CallOverrides): Promise; maxRedeem(holder: string, overrides?: CallOverrides): Promise; @@ -1136,12 +1058,19 @@ export class VYToken extends BaseContract { proxiableUUID(overrides?: CallOverrides): Promise; - redeem( + "redeem(address,uint256)"( receiver: string, principalAmount: BigNumberish, overrides?: CallOverrides ): Promise; + "redeem(uint256,address,address)"( + principalAmount: BigNumberish, + receiver: string, + holder: string, + overrides?: CallOverrides + ): Promise; + renounceRole( role: BytesLike, account: string, @@ -1160,11 +1089,6 @@ export class VYToken extends BaseContract { overrides?: CallOverrides ): Promise; - setFlashFeeFactor( - flashFeeFactor_: BigNumberish, - overrides?: CallOverrides - ): Promise; - setRoleAdmin( role: BytesLike, adminRole: BytesLike, @@ -1256,23 +1180,35 @@ export class VYToken extends BaseContract { beacon?: string | null ): TypedEventFilter<[string], { beacon: string }>; - "FlashFeeFactorSet(uint256)"( - fee?: BigNumberish | null - ): TypedEventFilter<[BigNumber], { fee: BigNumber }>; - - FlashFeeFactorSet( - fee?: BigNumberish | null - ): TypedEventFilter<[BigNumber], { fee: BigNumber }>; - - "Point(bytes32,address)"( - param?: BytesLike | null, - value?: null - ): TypedEventFilter<[string, string], { param: string; value: string }>; + "Deposited(address,address,uint256,uint256)"( + sender?: string | null, + receiver?: string | null, + underlyingAmount?: null, + principalAmount?: null + ): TypedEventFilter< + [string, string, BigNumber, BigNumber], + { + sender: string; + receiver: string; + underlyingAmount: BigNumber; + principalAmount: BigNumber; + } + >; - Point( - param?: BytesLike | null, - value?: null - ): TypedEventFilter<[string, string], { param: string; value: string }>; + Deposited( + sender?: string | null, + receiver?: string | null, + underlyingAmount?: null, + principalAmount?: null + ): TypedEventFilter< + [string, string, BigNumber, BigNumber], + { + sender: string; + receiver: string; + underlyingAmount: BigNumber; + principalAmount: BigNumber; + } + >; "Redeemed(address,address,uint256,uint256)"( holder?: string | null, @@ -1412,12 +1348,12 @@ export class VYToken extends BaseContract { convertToPrincipal( underlyingAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; convertToUnderlying( principalAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; decimals(overrides?: CallOverrides): Promise; @@ -1430,22 +1366,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - flashFee( - token: string, - principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - flashFeeFactor(overrides?: CallOverrides): Promise; - - flashLoan( - receiver: string, - token: string, - principalAmount: BigNumberish, - data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - getRoleAdmin( role: BytesLike, overrides?: CallOverrides @@ -1471,6 +1391,9 @@ export class VYToken extends BaseContract { initialize( root_: string, + name_: string, + symbol_: string, + decimals_: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -1488,8 +1411,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - maxFlashLoan(token: string, overrides?: CallOverrides): Promise; - maxMint(arg0: string, overrides?: CallOverrides): Promise; maxRedeem(holder: string, overrides?: CallOverrides): Promise; @@ -1524,32 +1445,39 @@ export class VYToken extends BaseContract { previewDeposit( underlyingAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; previewMint( principalAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; previewRedeem( principalAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; previewWithdraw( underlyingAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; proxiableUUID(overrides?: CallOverrides): Promise; - redeem( + "redeem(address,uint256)"( receiver: string, principalAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; + "redeem(uint256,address,address)"( + principalAmount: BigNumberish, + receiver: string, + holder: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + renounceRole( role: BytesLike, account: string, @@ -1568,11 +1496,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - setFlashFeeFactor( - flashFeeFactor_: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - setRoleAdmin( role: BytesLike, adminRole: BytesLike, @@ -1653,12 +1576,12 @@ export class VYToken extends BaseContract { convertToPrincipal( underlyingAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; convertToUnderlying( principalAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; decimals(overrides?: CallOverrides): Promise; @@ -1671,22 +1594,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - flashFee( - token: string, - principalAmount: BigNumberish, - overrides?: CallOverrides - ): Promise; - - flashFeeFactor(overrides?: CallOverrides): Promise; - - flashLoan( - receiver: string, - token: string, - principalAmount: BigNumberish, - data: BytesLike, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - getRoleAdmin( role: BytesLike, overrides?: CallOverrides @@ -1712,6 +1619,9 @@ export class VYToken extends BaseContract { initialize( root_: string, + name_: string, + symbol_: string, + decimals_: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; @@ -1729,11 +1639,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - maxFlashLoan( - token: string, - overrides?: CallOverrides - ): Promise; - maxMint( arg0: string, overrides?: CallOverrides @@ -1777,32 +1682,39 @@ export class VYToken extends BaseContract { previewDeposit( underlyingAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; previewMint( principalAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; previewRedeem( principalAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; previewWithdraw( underlyingAmount: BigNumberish, - overrides?: CallOverrides + overrides?: Overrides & { from?: string | Promise } ): Promise; proxiableUUID(overrides?: CallOverrides): Promise; - redeem( + "redeem(address,uint256)"( receiver: string, principalAmount: BigNumberish, overrides?: Overrides & { from?: string | Promise } ): Promise; + "redeem(uint256,address,address)"( + principalAmount: BigNumberish, + receiver: string, + holder: string, + overrides?: Overrides & { from?: string | Promise } + ): Promise; + renounceRole( role: BytesLike, account: string, @@ -1821,11 +1733,6 @@ export class VYToken extends BaseContract { overrides?: Overrides & { from?: string | Promise } ): Promise; - setFlashFeeFactor( - flashFeeFactor_: BigNumberish, - overrides?: Overrides & { from?: string | Promise } - ): Promise; - setRoleAdmin( role: BytesLike, adminRole: BytesLike, diff --git a/src/contracts/abis/VRRouter.json b/src/contracts/abis/VRRouter.json new file mode 100644 index 000000000..5ad2ec4fe --- /dev/null +++ b/src/contracts/abis/VRRouter.json @@ -0,0 +1,26 @@ +[ + { + "inputs": [{ "internalType": "address", "name": "owner_", "type": "address" }], + "name": "initialize", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [{ "internalType": "address", "name": "", "type": "address" }], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { "internalType": "address", "name": "target", "type": "address" }, + { "internalType": "bytes", "name": "data", "type": "bytes" } + ], + "name": "route", + "outputs": [{ "internalType": "bytes", "name": "result", "type": "bytes" }], + "stateMutability": "payable", + "type": "function" + } +] diff --git a/src/contracts/abis/VYToken.json b/src/contracts/abis/VYToken.json index c0ecefc8d..1bb0b8c0f 100644 --- a/src/contracts/abis/VYToken.json +++ b/src/contracts/abis/VYToken.json @@ -35,19 +35,15 @@ "name": "BeaconUpgraded", "type": "event" }, - { - "anonymous": false, - "inputs": [{ "indexed": true, "internalType": "uint256", "name": "fee", "type": "uint256" }], - "name": "FlashFeeFactorSet", - "type": "event" - }, { "anonymous": false, "inputs": [ - { "indexed": true, "internalType": "bytes32", "name": "param", "type": "bytes32" }, - { "indexed": false, "internalType": "address", "name": "value", "type": "address" } + { "indexed": true, "internalType": "address", "name": "sender", "type": "address" }, + { "indexed": true, "internalType": "address", "name": "receiver", "type": "address" }, + { "indexed": false, "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }, + { "indexed": false, "internalType": "uint256", "name": "principalAmount", "type": "uint256" } ], - "name": "Point", + "name": "Deposited", "type": "event" }, { @@ -179,14 +175,14 @@ "inputs": [{ "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }], "name": "convertToPrincipal", "outputs": [{ "internalType": "uint256", "name": "principalAmount", "type": "uint256" }], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "principalAmount", "type": "uint256" }], "name": "convertToUnderlying", "outputs": [{ "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { @@ -213,35 +209,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [ - { "internalType": "address", "name": "token", "type": "address" }, - { "internalType": "uint256", "name": "principalAmount", "type": "uint256" } - ], - "name": "flashFee", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [], - "name": "flashFeeFactor", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, - { - "inputs": [ - { "internalType": "contract IERC3156FlashBorrower", "name": "receiver", "type": "address" }, - { "internalType": "address", "name": "token", "type": "address" }, - { "internalType": "uint256", "name": "principalAmount", "type": "uint256" }, - { "internalType": "bytes", "name": "data", "type": "bytes" } - ], - "name": "flashLoan", - "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [{ "internalType": "bytes4", "name": "role", "type": "bytes4" }], "name": "getRoleAdmin", @@ -280,7 +247,12 @@ "type": "function" }, { - "inputs": [{ "internalType": "address", "name": "root_", "type": "address" }], + "inputs": [ + { "internalType": "address", "name": "root_", "type": "address" }, + { "internalType": "string", "name": "name_", "type": "string" }, + { "internalType": "string", "name": "symbol_", "type": "string" }, + { "internalType": "uint8", "name": "decimals_", "type": "uint8" } + ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", @@ -314,13 +286,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [{ "internalType": "address", "name": "token", "type": "address" }], - "name": "maxFlashLoan", - "outputs": [{ "internalType": "uint256", "name": "", "type": "uint256" }], - "stateMutability": "view", - "type": "function" - }, { "inputs": [{ "internalType": "address", "name": "", "type": "address" }], "name": "maxMint", @@ -392,28 +357,28 @@ "inputs": [{ "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }], "name": "previewDeposit", "outputs": [{ "internalType": "uint256", "name": "principalAmount", "type": "uint256" }], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "principalAmount", "type": "uint256" }], "name": "previewMint", "outputs": [{ "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "principalAmount", "type": "uint256" }], "name": "previewRedeem", "outputs": [{ "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { "inputs": [{ "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }], "name": "previewWithdraw", "outputs": [{ "internalType": "uint256", "name": "principalAmount", "type": "uint256" }], - "stateMutability": "view", + "stateMutability": "nonpayable", "type": "function" }, { @@ -433,6 +398,17 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { "internalType": "uint256", "name": "principalAmount", "type": "uint256" }, + { "internalType": "address", "name": "receiver", "type": "address" }, + { "internalType": "address", "name": "holder", "type": "address" } + ], + "name": "redeem", + "outputs": [{ "internalType": "uint256", "name": "underlyingAmount", "type": "uint256" }], + "stateMutability": "nonpayable", + "type": "function" + }, { "inputs": [ { "internalType": "bytes4", "name": "role", "type": "bytes4" }, @@ -463,13 +439,6 @@ "stateMutability": "nonpayable", "type": "function" }, - { - "inputs": [{ "internalType": "uint256", "name": "flashFeeFactor_", "type": "uint256" }], - "name": "setFlashFeeFactor", - "outputs": [], - "stateMutability": "nonpayable", - "type": "function" - }, { "inputs": [ { "internalType": "bytes4", "name": "role", "type": "bytes4" }, diff --git a/src/contracts/factories/VRRouter__factory.ts b/src/contracts/factories/VRRouter__factory.ts new file mode 100644 index 000000000..6df1e8e75 --- /dev/null +++ b/src/contracts/factories/VRRouter__factory.ts @@ -0,0 +1,73 @@ +/* Autogenerated file. Do not edit manually. */ +/* tslint:disable */ +/* eslint-disable */ + +import { Contract, Signer, utils } from "ethers"; +import { Provider } from "@ethersproject/providers"; +import type { VRRouter, VRRouterInterface } from "../VRRouter"; + +const _abi = [ + { + inputs: [ + { + internalType: "address", + name: "owner_", + type: "address", + }, + ], + name: "initialize", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "owner", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "target", + type: "address", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "route", + outputs: [ + { + internalType: "bytes", + name: "result", + type: "bytes", + }, + ], + stateMutability: "payable", + type: "function", + }, +]; + +export class VRRouter__factory { + static readonly abi = _abi; + static createInterface(): VRRouterInterface { + return new utils.Interface(_abi) as VRRouterInterface; + } + static connect( + address: string, + signerOrProvider: Signer | Provider + ): VRRouter { + return new Contract(address, _abi, signerOrProvider) as VRRouter; + } +} diff --git a/src/contracts/factories/VYToken__factory.ts b/src/contracts/factories/VYToken__factory.ts index 7d7b691e3..b7885ddb6 100644 --- a/src/contracts/factories/VYToken__factory.ts +++ b/src/contracts/factories/VYToken__factory.ts @@ -100,31 +100,30 @@ const _abi = [ inputs: [ { indexed: true, - internalType: "uint256", - name: "fee", - type: "uint256", + internalType: "address", + name: "sender", + type: "address", }, - ], - name: "FlashFeeFactorSet", - type: "event", - }, - { - anonymous: false, - inputs: [ { indexed: true, - internalType: "bytes32", - name: "param", - type: "bytes32", + internalType: "address", + name: "receiver", + type: "address", }, { indexed: false, - internalType: "address", - name: "value", - type: "address", + internalType: "uint256", + name: "underlyingAmount", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "principalAmount", + type: "uint256", }, ], - name: "Point", + name: "Deposited", type: "event", }, { @@ -426,7 +425,7 @@ const _abi = [ type: "uint256", }, ], - stateMutability: "view", + stateMutability: "nonpayable", type: "function", }, { @@ -445,7 +444,7 @@ const _abi = [ type: "uint256", }, ], - stateMutability: "view", + stateMutability: "nonpayable", type: "function", }, { @@ -492,77 +491,6 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - internalType: "address", - name: "token", - type: "address", - }, - { - internalType: "uint256", - name: "principalAmount", - type: "uint256", - }, - ], - name: "flashFee", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [], - name: "flashFeeFactor", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "contract IERC3156FlashBorrower", - name: "receiver", - type: "address", - }, - { - internalType: "address", - name: "token", - type: "address", - }, - { - internalType: "uint256", - name: "principalAmount", - type: "uint256", - }, - { - internalType: "bytes", - name: "data", - type: "bytes", - }, - ], - name: "flashLoan", - outputs: [ - { - internalType: "bool", - name: "", - type: "bool", - }, - ], - stateMutability: "nonpayable", - type: "function", - }, { inputs: [ { @@ -649,6 +577,21 @@ const _abi = [ name: "root_", type: "address", }, + { + internalType: "string", + name: "name_", + type: "string", + }, + { + internalType: "string", + name: "symbol_", + type: "string", + }, + { + internalType: "uint8", + name: "decimals_", + type: "uint8", + }, ], name: "initialize", outputs: [], @@ -713,25 +656,6 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - internalType: "address", - name: "token", - type: "address", - }, - ], - name: "maxFlashLoan", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "view", - type: "function", - }, { inputs: [ { @@ -911,7 +835,7 @@ const _abi = [ type: "uint256", }, ], - stateMutability: "view", + stateMutability: "nonpayable", type: "function", }, { @@ -930,7 +854,7 @@ const _abi = [ type: "uint256", }, ], - stateMutability: "view", + stateMutability: "nonpayable", type: "function", }, { @@ -949,7 +873,7 @@ const _abi = [ type: "uint256", }, ], - stateMutability: "view", + stateMutability: "nonpayable", type: "function", }, { @@ -968,7 +892,7 @@ const _abi = [ type: "uint256", }, ], - stateMutability: "view", + stateMutability: "nonpayable", type: "function", }, { @@ -1008,6 +932,35 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, + { + inputs: [ + { + internalType: "uint256", + name: "principalAmount", + type: "uint256", + }, + { + internalType: "address", + name: "receiver", + type: "address", + }, + { + internalType: "address", + name: "holder", + type: "address", + }, + ], + name: "redeem", + outputs: [ + { + internalType: "uint256", + name: "underlyingAmount", + type: "uint256", + }, + ], + stateMutability: "nonpayable", + type: "function", + }, { inputs: [ { @@ -1062,19 +1015,6 @@ const _abi = [ stateMutability: "nonpayable", type: "function", }, - { - inputs: [ - { - internalType: "uint256", - name: "flashFeeFactor_", - type: "uint256", - }, - ], - name: "setFlashFeeFactor", - outputs: [], - stateMutability: "nonpayable", - type: "function", - }, { inputs: [ { diff --git a/src/contracts/index.ts b/src/contracts/index.ts index 48ddbb46d..6186a72a2 100644 --- a/src/contracts/index.ts +++ b/src/contracts/index.ts @@ -25,6 +25,7 @@ export type { UniswapV3Oracle } from "./UniswapV3Oracle"; export type { VRCauldron } from "./VRCauldron"; export type { VRInterestRateOracle } from "./VRInterestRateOracle"; export type { VRLadle } from "./VRLadle"; +export type { VRRouter } from "./VRRouter"; export type { VRWitch } from "./VRWitch"; export type { VYJoin } from "./VYJoin"; export type { VYToken } from "./VYToken"; @@ -58,6 +59,7 @@ export { UniswapV3Oracle__factory } from "./factories/UniswapV3Oracle__factory"; export { VRCauldron__factory } from "./factories/VRCauldron__factory"; export { VRInterestRateOracle__factory } from "./factories/VRInterestRateOracle__factory"; export { VRLadle__factory } from "./factories/VRLadle__factory"; +export { VRRouter__factory } from "./factories/VRRouter__factory"; export { VRWitch__factory } from "./factories/VRWitch__factory"; export { VYJoin__factory } from "./factories/VYJoin__factory"; export { VYToken__factory } from "./factories/VYToken__factory"; diff --git a/src/hooks/actionHooks/useClosePosition/useClosePositionVR.ts b/src/hooks/actionHooks/useClosePosition/useClosePositionVR.ts index bed62ed7b..e156c09bc 100644 --- a/src/hooks/actionHooks/useClosePosition/useClosePositionVR.ts +++ b/src/hooks/actionHooks/useClosePosition/useClosePositionVR.ts @@ -69,7 +69,7 @@ export const useClosePositionVR = () => { let vyTokenValueOfInput: BigNumber; try { - vyTokenValueOfInput = await vyTokenProxyContract.previewWithdraw(_input); + vyTokenValueOfInput = await vyTokenProxyContract.callStatic.previewWithdraw(_input); } catch (e) { return console.log('error getting vyToken value of input', e); } diff --git a/src/hooks/actionHooks/useLend/useLendVR.ts b/src/hooks/actionHooks/useLend/useLendVR.ts index 3fafbe645..a46b62982 100644 --- a/src/hooks/actionHooks/useLend/useLendVR.ts +++ b/src/hooks/actionHooks/useLend/useLendVR.ts @@ -18,7 +18,6 @@ import { VYToken__factory } from '../../../contracts'; import { MAX_256 } from '@yield-protocol/ui-math'; import useVYTokens from '../../entities/useVYTokens'; import { useSWRConfig } from 'swr'; -import useAssetPair from '../../viewHelperHooks/useAssetPair/useAssetPair'; /* Lend Actions Hook */ export const useLendVR = () => { @@ -41,7 +40,7 @@ export const useLendVR = () => { }); const { - historyActions: { updateTradeHistory }, // vr deposit history + historyActions: { updateVYTokenHistory }, // vr deposit history } = useContext(HistoryContext); const { sign, transact } = useChain(); @@ -112,7 +111,7 @@ export const useLendVR = () => { mutate(vyTokensKey); refetchBaseBal(); updateAssets([base]); - // updateLendVRHistory(); // TODO update vr lend history + updateVYTokenHistory([vyToken?.address!]); }; return lend;