diff --git a/contracts/wallet_v5.fc b/contracts/wallet_v5.fc index 33a925a..2312292 100644 --- a/contracts/wallet_v5.fc +++ b/contracts/wallet_v5.fc @@ -27,8 +27,7 @@ int pack_address((int, int) address) impure asm "SWAP INC XOR"; ;; hash ^ (wc+1) while (~ action_list.slice_data_empty?()) { (slice cs, int send_msg?) = check_and_remove_msg_acion_prefix(action_list); if (send_msg?) { - int mode = cs.preload_uint(8); - throw_unless(37, mode | 2 == mode); + throw_unless(37, (cs.preload_uint(8) >> 1) & 1); } action_list = action_list.preload_ref().begin_parse(); } diff --git a/tests/wallet-v5-external.spec.ts b/tests/wallet-v5-external.spec.ts index d22128c..4e8548b 100644 --- a/tests/wallet-v5-external.spec.ts +++ b/tests/wallet-v5-external.spec.ts @@ -860,7 +860,9 @@ describe('Wallet V5 sign auth external', () => { const msg = createMsgInternal({ dest: testReceiver, value: forwardValue }); - const actionsList = packActionsList([new ActionSendMsg(SendMode.PAY_GAS_SEPARATELY, msg)]); + const actionsList = packActionsList([ + new ActionSendMsg(SendMode.CARRY_ALL_REMAINING_BALANCE, msg) + ]); const receipt = await walletV5.sendExternalSignedMessage(createBody(actionsList));