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)