From 1a51af85397283601db77ca61d5596b145e7f2cb Mon Sep 17 00:00:00 2001 From: Richard Moore Date: Thu, 25 Jul 2024 17:51:52 -0400 Subject: [PATCH] Prevent mutating transactions when signing (#4789). --- src.ts/wallet/base-wallet.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src.ts/wallet/base-wallet.ts b/src.ts/wallet/base-wallet.ts index 4ef6bd7b82..21aae068cd 100644 --- a/src.ts/wallet/base-wallet.ts +++ b/src.ts/wallet/base-wallet.ts @@ -1,6 +1,6 @@ import { getAddress, resolveAddress } from "../address/index.js"; import { hashMessage, TypedDataEncoder } from "../hash/index.js"; -import { AbstractSigner } from "../providers/index.js"; +import { AbstractSigner, copyRequest } from "../providers/index.js"; import { computeAddress, Transaction } from "../transaction/index.js"; import { defineProperties, resolveProperties, assert, assertArgument @@ -69,6 +69,7 @@ export class BaseWallet extends AbstractSigner { } async signTransaction(tx: TransactionRequest): Promise { + tx = copyRequest(tx); // Replace any Addressable or ENS name with an address const { to, from } = await resolveProperties({