Skip to content

Commit 097dce1

Browse files
zkgm: cleanup (#4052)
2 parents 0977037 + eb048ab commit 097dce1

File tree

6 files changed

+88
-401
lines changed

6 files changed

+88
-401
lines changed

.gas-snapshot

Lines changed: 49 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -195,55 +195,52 @@ UCS02NFTTests:test_sendLocalNative() (gas: 972399)
195195
UCS02NFTTests:test_sendRemoteNative() (gas: 892748)
196196
VerifierTests:test_verifyZKP_ok() (gas: 326398)
197197
VerifierTests:test_verifyZKP_tamperedBlock() (gas: 326660)
198-
ZkgmTests:test_channelPath_ok(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 266, μ: 11121, ~: 11121)
199-
ZkgmTests:test_dequeueChannelFromPath_ok(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 266, μ: 14262, ~: 14262)
200-
ZkgmTests:test_dequeueChannelFromPath_ok_2(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 266, μ: 14238, ~: 14238)
201-
ZkgmTests:test_executeForward_double_ok(uint32,uint32,uint32,uint32,uint32,uint32,bytes32,uint128,address,bytes) (runs: 266, μ: 182585, ~: 182590)
202-
ZkgmTests:test_executeForward_invalidNextSourceChannelId(uint32,uint32,uint32,uint32,uint32,bytes32,uint128,address,bytes) (runs: 266, μ: 83572, ~: 83569)
203-
ZkgmTests:test_executeForward_invalidPrecomputedChannel(uint32,uint32,uint32,uint32,uint32,bytes32,uint128,address,bytes) (runs: 266, μ: 74401, ~: 74392)
204-
ZkgmTests:test_executeForward_ok(uint32,uint32,uint32,uint32,bytes32,uint128,address,bytes) (runs: 266, μ: 173533, ~: 173535)
205-
ZkgmTests:test_execute_onlySelf(uint32,uint32,address,bytes) (runs: 267, μ: 18735, ~: 18731)
206-
ZkgmTests:test_increaseOutstanding_decreaseOutstanding_iso(uint32,uint256,address,uint256) (runs: 268, μ: 33410, ~: 33450)
207-
ZkgmTests:test_lastChannelFromPath_ok_1(uint32) (runs: 267, μ: 4513, ~: 4513)
208-
ZkgmTests:test_lastChannelFromPath_ok_2(uint32,uint32) (runs: 267, μ: 5687, ~: 5687)
209-
ZkgmTests:test_lastChannelFromPath_ok_3(uint32,uint32,uint32) (runs: 266, μ: 7493, ~: 7493)
210-
ZkgmTests:test_multiplex_eureka_invalidContract(uint32,uint32,address,bytes,bytes32,uint256,bytes,bytes) (runs: 267, μ: 33872, ~: 33846)
211-
ZkgmTests:test_multiplex_eureka_ok(uint32,uint32,address,bytes,uint256,bytes32,bytes,bytes) (runs: 267, μ: 37330, ~: 36747)
212-
ZkgmTests:test_multiplex_ok(uint32,uint32,address,bytes,uint256,bytes32,bytes,bytes) (runs: 267, μ: 44480, ~: 44138)
213-
ZkgmTests:test_onAckPacket_transferNative_unwrap_successAck_protocolFill_noop(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256,bytes,uint256) (runs: 266, μ: 34877, ~: 34851)
214-
ZkgmTests:test_onAckPacket_transfer_failureAck_mintRefund(uint32,uint32,address,bytes,uint192,bytes32,address,bytes,uint8,uint256,bytes,uint256) (runs: 266, μ: 98016, ~: 98008)
215-
ZkgmTests:test_onAckPacket_transfer_failureAck_unescrowRefund(uint32,uint32,address,bytes,uint192,bytes32,address,bytes,uint8,uint256,bytes,uint256) (runs: 266, μ: 114209, ~: 114098)
216-
ZkgmTests:test_onAckPacket_transfer_failureAck_unescrowRefund_decreaseOutstanding(uint32,uint32,address,bytes,uint192,bytes32,address,bytes,uint8,uint256,bytes,uint256) (runs: 266, μ: 114772, ~: 114661)
217-
ZkgmTests:test_onAckPacket_transfer_successAck_marketMakerFill_mintAndPay(uint32,uint32,address,bytes,uint192,bytes32,bytes,uint8,uint256,bytes,uint256) (runs: 266, μ: 99268, ~: 99255)
218-
ZkgmTests:test_onAckPacket_transfer_successAck_marketMakerFill_unescrowAndPay(uint32,uint32,address,bytes,uint192,bytes32,bytes,uint8,uint256,bytes,uint256) (runs: 266, μ: 114064, ~: 113966)
219-
ZkgmTests:test_onChanCloseConfirm_impossible(uint32,address) (runs: 267, μ: 20728, ~: 20728)
220-
ZkgmTests:test_onChanCloseConfirm_onlyIBC(uint32,address) (runs: 267, μ: 17237, ~: 17237)
221-
ZkgmTests:test_onChanCloseInit_impossible(uint32,address) (runs: 267, μ: 20743, ~: 20743)
222-
ZkgmTests:test_onChanCloseInit_onlyIBC(uint32,address) (runs: 267, μ: 17102, ~: 17102)
223-
ZkgmTests:test_onChanOpenInit_invalidVersion(uint32,uint32,address,string) (runs: 268, μ: 21163, ~: 21154)
224-
ZkgmTests:test_onChanOpenInit_ok(uint32,uint32,address) (runs: 268, μ: 20802, ~: 20802)
225-
ZkgmTests:test_onChanOpenInit_onlyIBC(uint32,uint32,address) (runs: 268, μ: 18376, ~: 18376)
226-
ZkgmTests:test_onChanOpenTry_invalidCounterpartyVersion(uint32,uint32,uint32,string,address) (runs: 268, μ: 22933, ~: 22943)
227-
ZkgmTests:test_onChanOpenTry_invalidVersion(uint32,uint32,uint32,string,address) (runs: 268, μ: 22018, ~: 22029)
228-
ZkgmTests:test_onChanOpenTry_ok(uint32,uint32,uint32,address) (runs: 268, μ: 22380, ~: 22380)
229-
ZkgmTests:test_onChanOpenTry_onlyIBC(uint32,uint32,uint32,address) (runs: 268, μ: 18556, ~: 18556)
230-
ZkgmTests:test_onRecvPacket_onlyIBC(uint32,uint32,address,bytes) (runs: 267, μ: 21505, ~: 21501)
231-
ZkgmTests:test_onRecvPacket_transferNative_newWrapped(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 267, μ: 725696, ~: 725257)
232-
ZkgmTests:test_onRecvPacket_transferNative_newWrapped_originSet(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 267, μ: 729305, ~: 728872)
233-
ZkgmTests:test_onRecvPacket_transferNative_unwrap_channel_noOutstanding(uint32,uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 265, μ: 117579, ~: 117554)
234-
ZkgmTests:test_onRecvPacket_transferNative_unwrap_decreaseOutstanding(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 266, μ: 111919, ~: 112233)
235-
ZkgmTests:test_onRecvPacket_transferNative_unwrap_ok(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 266, μ: 107797, ~: 108119)
236-
ZkgmTests:test_onRecvPacket_transferNative_unwrap_path_noOutstanding(uint32,uint32,address,bytes,uint192,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 265, μ: 118436, ~: 118421)
237-
ZkgmTests:test_onRecvPacket_transferNative_wrap_ok(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 267, μ: 723766, ~: 723327)
238-
ZkgmTests:test_onRecvPacket_transferNative_wrap_relativeSupplyChange(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 266, μ: 729338, ~: 728549)
239-
ZkgmTests:test_onRecvPacket_transferNative_wrap_splitFee(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256,uint256) (runs: 264, μ: 752075, ~: 754335)
240-
ZkgmTests:test_popChannelFromPath_ok(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 266, μ: 13788, ~: 13788)
241-
ZkgmTests:test_popChannelFromPath_ok_2(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 266, μ: 13171, ~: 13171)
242-
ZkgmTests:test_proxyInitialization_ok(address,address,address) (runs: 268, μ: 5159307, ~: 5159307)
243-
ZkgmTests:test_reverseChannelPath_iso(uint256) (runs: 268, μ: 4333, ~: 4333)
244-
ZkgmTests:test_reverseChannelPath_ok(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 266, μ: 12236, ~: 12236)
245-
ZkgmTests:test_tintForwardSalt_ok(bytes32) (runs: 268, μ: 4165, ~: 4165)
246-
ZkgmTests:test_verify_forward_invalidVersion(uint32,uint8) (runs: 266, μ: 42176, ~: 42176)
247-
ZkgmTests:test_verify_forward_ok() (gas: 44732)
248-
ZkgmTests:test_verify_multiplex_ko(uint32,address,bytes,bytes) (runs: 268, μ: 19475, ~: 19466)
249-
ZkgmTests:test_verify_multiplex_ok(uint32,bytes,bytes) (runs: 268, μ: 16059, ~: 16050)
198+
ZkgmTests:test_channelPath_ok(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 265, μ: 11055, ~: 11055)
199+
ZkgmTests:test_dequeueChannelFromPath_ok(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 265, μ: 14196, ~: 14196)
200+
ZkgmTests:test_dequeueChannelFromPath_ok_2(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 265, μ: 14172, ~: 14172)
201+
ZkgmTests:test_executeForward_double_ok(uint32,uint32,uint32,uint32,uint32,uint32,bytes32,uint128,address,bytes) (runs: 265, μ: 182492, ~: 182497)
202+
ZkgmTests:test_executeForward_invalidNextSourceChannelId(uint32,uint32,uint32,uint32,uint32,bytes32,uint128,address,bytes) (runs: 265, μ: 83479, ~: 83476)
203+
ZkgmTests:test_executeForward_invalidPrecomputedChannel(uint32,uint32,uint32,uint32,uint32,bytes32,uint128,address,bytes) (runs: 265, μ: 74376, ~: 74368)
204+
ZkgmTests:test_executeForward_ok(uint32,uint32,uint32,uint32,bytes32,uint128,address,bytes) (runs: 265, μ: 173446, ~: 173442)
205+
ZkgmTests:test_execute_onlySelf(uint32,uint32,address,bytes) (runs: 266, μ: 18645, ~: 18641)
206+
ZkgmTests:test_increaseOutstanding_decreaseOutstanding_iso(uint32,uint256,address,uint256) (runs: 268, μ: 32719, ~: 32760)
207+
ZkgmTests:test_multiplex_eureka_invalidContract(uint32,uint32,address,bytes,bytes32,uint256,bytes,bytes) (runs: 266, μ: 33757, ~: 33732)
208+
ZkgmTests:test_multiplex_eureka_ok(uint32,uint32,address,bytes,uint256,bytes32,bytes,bytes) (runs: 266, μ: 37242, ~: 36660)
209+
ZkgmTests:test_multiplex_ok(uint32,uint32,address,bytes,uint256,bytes32,bytes,bytes) (runs: 266, μ: 44459, ~: 44122)
210+
ZkgmTests:test_onAckPacket_transferNative_unwrap_successAck_protocolFill_noop(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256,bytes,uint256) (runs: 265, μ: 34688, ~: 34662)
211+
ZkgmTests:test_onAckPacket_transfer_failureAck_mintRefund(uint32,uint32,address,bytes,uint192,bytes32,address,bytes,uint8,uint256,bytes,uint256) (runs: 265, μ: 97806, ~: 97797)
212+
ZkgmTests:test_onAckPacket_transfer_failureAck_unescrowRefund(uint32,uint32,address,bytes,uint192,bytes32,address,bytes,uint8,uint256,bytes,uint256) (runs: 265, μ: 113929, ~: 113817)
213+
ZkgmTests:test_onAckPacket_transfer_failureAck_unescrowRefund_decreaseOutstanding(uint32,uint32,address,bytes,uint192,bytes32,address,bytes,uint8,uint256,bytes,uint256) (runs: 265, μ: 114327, ~: 114215)
214+
ZkgmTests:test_onAckPacket_transfer_successAck_marketMakerFill_mintAndPay(uint32,uint32,address,bytes,uint192,bytes32,bytes,uint8,uint256,bytes,uint256) (runs: 265, μ: 99057, ~: 99048)
215+
ZkgmTests:test_onAckPacket_transfer_successAck_marketMakerFill_unescrowAndPay(uint32,uint32,address,bytes,uint192,bytes32,bytes,uint8,uint256,bytes,uint256) (runs: 265, μ: 113824, ~: 113729)
216+
ZkgmTests:test_onChanCloseConfirm_impossible(uint32,address) (runs: 266, μ: 20632, ~: 20632)
217+
ZkgmTests:test_onChanCloseConfirm_onlyIBC(uint32,address) (runs: 266, μ: 17147, ~: 17147)
218+
ZkgmTests:test_onChanCloseInit_impossible(uint32,address) (runs: 266, μ: 20577, ~: 20577)
219+
ZkgmTests:test_onChanCloseInit_onlyIBC(uint32,address) (runs: 266, μ: 17004, ~: 17004)
220+
ZkgmTests:test_onChanOpenInit_invalidVersion(uint32,uint32,address,string) (runs: 268, μ: 21095, ~: 21086)
221+
ZkgmTests:test_onChanOpenInit_ok(uint32,uint32,address) (runs: 268, μ: 20734, ~: 20734)
222+
ZkgmTests:test_onChanOpenInit_onlyIBC(uint32,uint32,address) (runs: 268, μ: 18330, ~: 18330)
223+
ZkgmTests:test_onChanOpenTry_invalidCounterpartyVersion(uint32,uint32,uint32,string,address) (runs: 268, μ: 22887, ~: 22897)
224+
ZkgmTests:test_onChanOpenTry_invalidVersion(uint32,uint32,uint32,string,address) (runs: 268, μ: 21950, ~: 21961)
225+
ZkgmTests:test_onChanOpenTry_ok(uint32,uint32,uint32,address) (runs: 268, μ: 22334, ~: 22334)
226+
ZkgmTests:test_onChanOpenTry_onlyIBC(uint32,uint32,uint32,address) (runs: 268, μ: 18488, ~: 18488)
227+
ZkgmTests:test_onRecvPacket_onlyIBC(uint32,uint32,address,bytes) (runs: 266, μ: 21437, ~: 21433)
228+
ZkgmTests:test_onRecvPacket_transferNative_newWrapped(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 266, μ: 725106, ~: 724998)
229+
ZkgmTests:test_onRecvPacket_transferNative_newWrapped_originSet(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 266, μ: 728668, ~: 728565)
230+
ZkgmTests:test_onRecvPacket_transferNative_unwrap_channel_noOutstanding(uint32,uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 264, μ: 117375, ~: 117355)
231+
ZkgmTests:test_onRecvPacket_transferNative_unwrap_decreaseOutstanding(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 265, μ: 111552, ~: 111868)
232+
ZkgmTests:test_onRecvPacket_transferNative_unwrap_ok(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 265, μ: 107613, ~: 107936)
233+
ZkgmTests:test_onRecvPacket_transferNative_unwrap_path_noOutstanding(uint32,uint32,address,bytes,uint192,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 264, μ: 118254, ~: 118238)
234+
ZkgmTests:test_onRecvPacket_transferNative_wrap_ok(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 266, μ: 723198, ~: 723090)
235+
ZkgmTests:test_onRecvPacket_transferNative_wrap_relativeSupplyChange(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256) (runs: 265, μ: 728672, ~: 728284)
236+
ZkgmTests:test_onRecvPacket_transferNative_wrap_splitFee(uint32,uint32,address,bytes,uint192,bytes32,bytes,bytes,string,string,uint8,uint256,uint256) (runs: 262, μ: 751565, ~: 754128)
237+
ZkgmTests:test_popChannelFromPath_ok(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 265, μ: 13766, ~: 13766)
238+
ZkgmTests:test_popChannelFromPath_ok_2(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 265, μ: 13105, ~: 13105)
239+
ZkgmTests:test_proxyInitialization_ok(address,address) (runs: 267, μ: 4424243, ~: 4424243)
240+
ZkgmTests:test_reverseChannelPath_iso(uint256) (runs: 268, μ: 4267, ~: 4267)
241+
ZkgmTests:test_reverseChannelPath_ok(uint32,uint32,uint32,uint32,uint32,uint32,uint32,uint32) (runs: 265, μ: 12170, ~: 12170)
242+
ZkgmTests:test_tintForwardSalt_ok(bytes32) (runs: 268, μ: 4121, ~: 4121)
243+
ZkgmTests:test_verify_forward_invalidVersion(uint32,uint8) (runs: 266, μ: 42086, ~: 42086)
244+
ZkgmTests:test_verify_forward_ok() (gas: 44642)
245+
ZkgmTests:test_verify_multiplex_ko(uint32,address,bytes,bytes) (runs: 268, μ: 19385, ~: 19376)
246+
ZkgmTests:test_verify_multiplex_ok(uint32,bytes,bytes) (runs: 268, μ: 15969, ~: 15960)

cosmwasm/ibc-union/app/ucs03-zkgm/src/com.rs

Lines changed: 1 addition & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use alloy::{primitives::U256, sol_types::SolValue};
1+
use alloy::primitives::U256;
22

33
pub const INSTR_VERSION_0: u8 = 0x00;
44
pub const INSTR_VERSION_1: u8 = 0x01;
@@ -54,19 +54,6 @@ alloy::sol! {
5454
Instruction[] instructions;
5555
}
5656

57-
#[derive(Debug)]
58-
struct FungibleAssetOrderV0 {
59-
bytes sender;
60-
bytes receiver;
61-
bytes base_token;
62-
uint256 base_amount;
63-
string base_token_symbol;
64-
string base_token_name;
65-
uint256 base_token_path;
66-
bytes quote_token;
67-
uint256 quote_amount;
68-
}
69-
7057
#[derive(Debug, PartialEq)]
7158
struct FungibleAssetOrder {
7259
bytes sender;
@@ -97,38 +84,3 @@ alloy::sol! {
9784
bytes market_maker;
9885
}
9986
}
100-
101-
impl From<FungibleAssetOrderV0> for FungibleAssetOrder {
102-
fn from(value: FungibleAssetOrderV0) -> Self {
103-
FungibleAssetOrder {
104-
sender: value.sender,
105-
receiver: value.receiver,
106-
base_token: value.base_token,
107-
base_amount: value.base_amount,
108-
base_token_symbol: value.base_token_symbol,
109-
base_token_name: value.base_token_name,
110-
base_token_decimals: 0,
111-
base_token_path: value.base_token_path,
112-
quote_token: value.quote_token,
113-
quote_amount: value.quote_amount,
114-
}
115-
}
116-
}
117-
118-
pub fn decode_fungible_asset(
119-
instruction: &Instruction,
120-
) -> Result<FungibleAssetOrder, alloy::sol_types::Error> {
121-
match instruction.version {
122-
INSTR_VERSION_0 => {
123-
FungibleAssetOrderV0::abi_decode_params(&instruction.operand, true).map(Into::into)
124-
}
125-
INSTR_VERSION_1 => FungibleAssetOrder::abi_decode_params(&instruction.operand, true),
126-
_ => panic!("the protocol must handle an incorrect version"),
127-
}
128-
}
129-
130-
pub fn decode_fungible_asset_order_from_v0(
131-
data: &[u8],
132-
) -> Result<FungibleAssetOrder, alloy::sol_types::Error> {
133-
FungibleAssetOrderV0::abi_decode_params(data, true).map(Into::into)
134-
}

cosmwasm/ibc-union/app/ucs03-zkgm/src/contract.rs

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,10 @@ use unionlabs_cosmwasm_upgradable::UpgradeMsg;
2424

2525
use crate::{
2626
com::{
27-
decode_fungible_asset, Ack, Batch, BatchAck, Forward, FungibleAssetOrder,
28-
FungibleAssetOrderAck, Instruction, Multiplex, ZkgmPacket, ACK_ERR_ONLY_MAKER,
29-
FILL_TYPE_MARKETMAKER, FILL_TYPE_PROTOCOL, FORWARD_SALT_MAGIC, INSTR_VERSION_0,
30-
INSTR_VERSION_1, OP_BATCH, OP_FORWARD, OP_FUNGIBLE_ASSET_ORDER, OP_MULTIPLEX,
31-
TAG_ACK_FAILURE, TAG_ACK_SUCCESS,
27+
Ack, Batch, BatchAck, Forward, FungibleAssetOrder, FungibleAssetOrderAck, Instruction,
28+
Multiplex, ZkgmPacket, ACK_ERR_ONLY_MAKER, FILL_TYPE_MARKETMAKER, FILL_TYPE_PROTOCOL,
29+
FORWARD_SALT_MAGIC, INSTR_VERSION_0, OP_BATCH, OP_FORWARD, OP_FUNGIBLE_ASSET_ORDER,
30+
OP_MULTIPLEX, TAG_ACK_FAILURE, TAG_ACK_SUCCESS,
3231
},
3332
msg::{EurekaMsg, ExecuteMsg, InitMsg, PredictWrappedTokenResponse, QueryMsg},
3433
state::{
@@ -314,12 +313,12 @@ fn timeout_internal(
314313
) -> Result<Response, ContractError> {
315314
match instruction.opcode {
316315
OP_FUNGIBLE_ASSET_ORDER => {
317-
if instruction.version > INSTR_VERSION_1 {
316+
if instruction.version > INSTR_VERSION_0 {
318317
return Err(ContractError::UnsupportedVersion {
319318
version: instruction.version,
320319
});
321320
}
322-
let order = decode_fungible_asset(&instruction)?;
321+
let order = FungibleAssetOrder::abi_decode_params(&instruction.operand, true)?;
323322
refund(deps, path, packet.source_channel_id, order)
324323
}
325324
OP_BATCH => {
@@ -477,12 +476,12 @@ fn acknowledge_internal(
477476
) -> Result<Response, ContractError> {
478477
match instruction.opcode {
479478
OP_FUNGIBLE_ASSET_ORDER => {
480-
if instruction.version > INSTR_VERSION_1 {
479+
if instruction.version > INSTR_VERSION_0 {
481480
return Err(ContractError::UnsupportedVersion {
482481
version: instruction.version,
483482
});
484483
}
485-
let order = decode_fungible_asset(&instruction)?;
484+
let order = FungibleAssetOrder::abi_decode_params(&instruction.operand, true)?;
486485
let order_ack = if successful {
487486
Some(FungibleAssetOrderAck::abi_decode_params(&ack, true)?)
488487
} else {
@@ -764,12 +763,12 @@ fn execute_internal(
764763
) -> Result<Response, ContractError> {
765764
match instruction.opcode {
766765
OP_FUNGIBLE_ASSET_ORDER => {
767-
if instruction.version > INSTR_VERSION_1 {
766+
if instruction.version > INSTR_VERSION_0 {
768767
return Err(ContractError::UnsupportedVersion {
769768
version: instruction.version,
770769
});
771770
}
772-
let order = decode_fungible_asset(&instruction)?;
771+
let order = FungibleAssetOrder::abi_decode_params(&instruction.operand, true)?;
773772
execute_fungible_asset_order(
774773
deps,
775774
env,
@@ -1424,12 +1423,12 @@ pub fn verify_internal(
14241423
) -> Result<(), ContractError> {
14251424
match instruction.opcode {
14261425
OP_FUNGIBLE_ASSET_ORDER => {
1427-
if instruction.version != INSTR_VERSION_1 {
1426+
if instruction.version != INSTR_VERSION_0 {
14281427
return Err(ContractError::UnsupportedVersion {
14291428
version: instruction.version,
14301429
});
14311430
}
1432-
let order = decode_fungible_asset(instruction)?;
1431+
let order = FungibleAssetOrder::abi_decode_params(&instruction.operand, true)?;
14331432
verify_fungible_asset_order(deps, info, channel_id, path, &order, response)
14341433
}
14351434
OP_BATCH => {
@@ -1779,7 +1778,7 @@ fn transfer(
17791778
salt: salt.into(),
17801779
path: U256::ZERO,
17811780
instruction: Instruction {
1782-
version: INSTR_VERSION_1,
1781+
version: INSTR_VERSION_0,
17831782
opcode: OP_FUNGIBLE_ASSET_ORDER,
17841783
operand: FungibleAssetOrder {
17851784
sender: info.sender.as_bytes().to_vec().into(),

0 commit comments

Comments
 (0)