From 8a0700b7eeedddf39fc008bb55bb5d005090b1b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jo=C3=A3o=20Sousa?= Date: Fri, 3 May 2024 00:53:38 +0100 Subject: [PATCH] when unmarshaling a generic message, deserialize payload hash at the correct position --- move/axelar/sources/gateway.move | 3 ++- scripts/gateway.js | 2 ++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/move/axelar/sources/gateway.move b/move/axelar/sources/gateway.move index 42bc8701..55c8dba4 100644 --- a/move/axelar/sources/gateway.move +++ b/move/axelar/sources/gateway.move @@ -157,10 +157,11 @@ module axelar::gateway { // in order, so field reads have to be done carefully and in order! if (cmd_selector == &SELECTOR_APPROVE_CONTRACT_CALL) { let mut payload = bcs::new(payload); - let (source_chain, source_address, target_id, payload_hash) = ( + let (source_chain, source_address, target_id, _, payload_hash) = ( ascii::string(payload.peel_vec_u8()), ascii::string(payload.peel_vec_u8()), payload.peel_address(), + payload.peel_u8(), payload.peel_address() ); add_approval(self, diff --git a/scripts/gateway.js b/scripts/gateway.js index 0e1804f3..c1b6c959 100644 --- a/scripts/gateway.js +++ b/scripts/gateway.js @@ -54,6 +54,7 @@ function getBcsForGateway() { source_chain: "string", source_address: "string", target_id: "address", + payload_len: "u8", payload_hash: "address", }); @@ -148,6 +149,7 @@ function approveContractCallInput(axelarInfo, sourceChain, sourceAddress, destin source_chain: sourceChain, source_address: sourceAddress, payload_hash: payloadHash, + payload_len: 32, target_id: destinationAddress, }) .toBytes(),