From 6d9c42379315612b76486f0a03f97ea52fde6042 Mon Sep 17 00:00:00 2001 From: Cheng Wang Date: Thu, 18 Jul 2024 11:41:18 +0200 Subject: [PATCH] Fix multicall --- packages/web3/src/contract/contract.ts | 2 +- test/token.test.ts | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/web3/src/contract/contract.ts b/packages/web3/src/contract/contract.ts index 4c775ae46..1f2a73a22 100644 --- a/packages/web3/src/contract/contract.ts +++ b/packages/web3/src/contract/contract.ts @@ -1940,7 +1940,7 @@ export async function multicallMethods> = {} callsParams.forEach((call, index) => { const methodIndex = call.methodIndex - const callResult = result.results[`${methodIndex}`] + const callResult = result.results[`${index}`] const methodName = callEntries[`${index}`][`0`] callsResult[`${methodName}`] = contract.contract.fromApiCallContractResult( callResult, diff --git a/test/token.test.ts b/test/token.test.ts index 060db4504..28509dff9 100644 --- a/test/token.test.ts +++ b/test/token.test.ts @@ -77,10 +77,10 @@ describe('contract', function () { it('should multicall', async () => { const tokenTest = (await TokenTest.deploy(signer, { initialFields })).contractInstance const result = await tokenTest.multicall({ - getSymbol: {}, getName: {}, + getTotalSupply: {}, getDecimals: {}, - getTotalSupply: {} + getSymbol: {} }) expect(result.getSymbol.returns).toEqual(symbol) expect(result.getName.returns).toEqual(name)