From 2d742108a00611daded6a0cc542c42d3388d100f Mon Sep 17 00:00:00 2001 From: wormat Date: Fri, 16 Sep 2022 16:53:27 +0100 Subject: [PATCH] refactor(evm): Use instance tokens in EvmConnection.getPoolState --- packages/evm/src/EvmConnection.ts | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/packages/evm/src/EvmConnection.ts b/packages/evm/src/EvmConnection.ts index e1190c18d..3e93ed2ea 100644 --- a/packages/evm/src/EvmConnection.ts +++ b/packages/evm/src/EvmConnection.ts @@ -4,7 +4,7 @@ import { createNonce, getAllowanceEth, } from "@certusone/wormhole-sdk"; -import type { PoolState, TokenConfig, TokenDetails } from "@swim-io/core"; +import type { PoolState, TokenDetails } from "@swim-io/core"; import { ERC20__factory, Routing__factory } from "@swim-io/evm-contracts"; import { atomicToHuman, findOrThrow, isNotNull } from "@swim-io/utils"; import Decimal from "decimal.js"; @@ -32,8 +32,11 @@ export type GetHistoryProvider = BaseProvider & { ) => Promise; }; -// @TODO remove this minimal type after ui mirgate to TokenConfig -type MinimalChainConfig = Pick; +// @TODO remove this minimal type after ui migrates to TokenConfig +type MinimalChainConfig = Pick< + EvmChainConfig, + "name" | "chainId" | "tokens" | "wormhole" +>; const bigNumberToAtomicDecimal = (bigNumber: BigNumber): Decimal => new Decimal(bigNumber.toString()); @@ -320,16 +323,18 @@ export class EvmConnection { public async getPoolState( { address, lpTokenId, tokenIds }: EvmPoolConfig, - tokens: readonly TokenConfig[], routingContractAddress: string, ): Promise { const routingContract = Routing__factory.connect( routingContractAddress, this.provider, ); - const lpToken = findOrThrow(tokens, ({ id }) => id === lpTokenId); + const lpToken = findOrThrow( + this.chainConfig.tokens, + ({ id }) => id === lpTokenId, + ); const poolTokens = tokenIds.map((tokenId) => - findOrThrow(tokens, ({ id }) => id === tokenId), + findOrThrow(this.chainConfig.tokens, ({ id }) => id === tokenId), ); const [state] = await routingContract.getPoolStates([address]);