diff --git a/.changeset/clear-donkeys-grow.md b/.changeset/clear-donkeys-grow.md new file mode 100644 index 000000000..a845151cc --- /dev/null +++ b/.changeset/clear-donkeys-grow.md @@ -0,0 +1,2 @@ +--- +--- diff --git a/server/test/hooks/block.test.ts b/server/test/hooks/block.test.ts index a810ee8d2..6c956ceb4 100644 --- a/server/test/hooks/block.test.ts +++ b/server/test/hooks/block.test.ts @@ -10,7 +10,6 @@ import { ContractFunctionExecutionError, ContractFunctionRevertedError, createWalletClient, - decodeAbiParameters, decodeEventLog, encodeAbiParameters, encodeErrorResult, @@ -44,7 +43,7 @@ import chain, { proposalManagerAbi, upgradeableModularAccountAbi, } from "@exactly/common/generated/chain"; -import ProposalType from "@exactly/common/ProposalType"; +import ProposalType, { decodeWithdraw } from "@exactly/common/ProposalType"; import deploy from "@exactly/plugin/deploy.json"; import app from "../../hooks/block"; @@ -104,13 +103,11 @@ describe("proposal", () => { const initialSettledResults = waitForTransactionReceipt.mock.settledResults.length; const expected = [ { - receiver: getAddress(decodeAbiParameters([{ name: "receiver", type: "address" }], withdraw.args.data)[0]), + receiver: getAddress(decodeWithdraw(withdraw.args.data)), amount: withdraw.args.amount, }, { - receiver: getAddress( - decodeAbiParameters([{ name: "receiver", type: "address" }], anotherWithdraw.args.data)[0], - ), + receiver: getAddress(decodeWithdraw(anotherWithdraw.args.data)), amount: anotherWithdraw.args.amount, }, ]; @@ -904,6 +901,16 @@ describe("proposal", () => { const waitForTransactionReceipt = vi.spyOn(publicClient, "waitForTransactionReceipt"); const initialSettledResults = waitForTransactionReceipt.mock.settledResults.length; + const expected = [ + { + receiver: getAddress(decodeWithdraw(withdraw.args.data)), + amount: withdraw.args.amount, + }, + { + receiver: getAddress(decodeWithdraw(idle.args.data)), + amount: idle.args.amount, + }, + ]; await Promise.all([ appClient.index.$post({ @@ -926,23 +933,11 @@ describe("proposal", () => { }, }), vi.waitUntil( - () => waitForTransactionReceipt.mock.settledResults.filter(({ type }) => type !== "incomplete").length >= 5, + () => hasTransfers(waitForTransactionReceipt.mock.settledResults, initialSettledResults, expected), 26_666, ), ]); - - expect( - hasTransfers(waitForTransactionReceipt.mock.settledResults, initialSettledResults, [ - { - receiver: getAddress(decodeAbiParameters([{ name: "receiver", type: "address" }], withdraw.args.data)[0]), - amount: withdraw.args.amount, - }, - { - receiver: getAddress(decodeAbiParameters([{ name: "receiver", type: "address" }], idle.args.data)[0]), - amount: idle.args.amount, - }, - ]), - ).toBe(true); + expect(hasTransfers(waitForTransactionReceipt.mock.settledResults, initialSettledResults, expected)).toBe(true); expect(captureException).toHaveBeenCalledWith( expect.objectContaining({ name: "ContractFunctionExecutionError", functionName: "executeProposal" }), expect.objectContaining({ level: "error", fingerprint: ["{{ default }}", "NotNext"] }),