From 30b6ec232be9594edc7c3a04f2e0d19e1a4021d4 Mon Sep 17 00:00:00 2001 From: Hussein Ait Lahcen Date: Mon, 13 Jan 2025 17:31:46 +0100 Subject: [PATCH] feat(zkgm): transfer of wrapped asset verify quote is unwrapped --- evm/contracts/apps/ucs/03-zkgm/Zkgm.sol | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/evm/contracts/apps/ucs/03-zkgm/Zkgm.sol b/evm/contracts/apps/ucs/03-zkgm/Zkgm.sol index c3528a8ca6..c0ced3bd89 100644 --- a/evm/contracts/apps/ucs/03-zkgm/Zkgm.sol +++ b/evm/contracts/apps/ucs/03-zkgm/Zkgm.sol @@ -12,6 +12,7 @@ import "@openzeppelin/token/ERC20/extensions/IERC20Metadata.sol"; import "solady/utils/CREATE3.sol"; import "solady/utils/LibBit.sol"; import "solady/utils/LibString.sol"; +import "solady/utils/LibBytes.sol"; import "../../Base.sol"; import "../../../core/04-channel/IBCPacket.sol"; @@ -276,6 +277,7 @@ contract UCS03Zkgm is { using ZkgmLib for *; using LibString for *; + using LibBytes for *; IIBCPacket public ibcHandler; mapping(bytes32 => IBCPacket) public inFlightPacket; @@ -327,6 +329,8 @@ contract UCS03Zkgm is ) { IZkgmERC20(baseToken).burn(msg.sender, baseAmount); } else { + // We reset the origin, the asset will not be unescrowed on the destination + origin = 0; // TODO: extract this as a step before verifying to allow for ERC777 // send hook SafeERC20.safeTransferFrom(