Skip to content

Commit

Permalink
change refs in message (tests not synced yet)
Browse files Browse the repository at this point in the history
  • Loading branch information
rise1507 committed Jun 25, 2024
1 parent 68a0866 commit 21f229a
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 5 deletions.
2 changes: 1 addition & 1 deletion build/wallet_v5.compiled.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"hex":"b5ee9c724102120100027a000114ff00f4a413f4bcf2c80b01020120030201eaf220d70b1f82107369676ebaf2af7f8ee3eda2edfb218308d722028308d723208020d721d31fd31fd31fed44d0d200d31f20d31fd70bff09f90140b9f9109927945f09db31e1f223df01f2a05122baf2a15036baf2a2f823bbf2642292f800dea47fc8ca00cb1f01cf16c9ed542092f80fdedb3cd80f0201480d0402012006050019be5f0f6a2684080a0eb90fa02c0201200c0702012009080019b45d1da89a10043ae43ae163f00201200b0a0011b262fb513435c280200017b325fb51341c75c875c2c7e00019bb39ced44d08041d721d70bff80280d020c702dc01d0d60301c713dc01d72c232bc3a3748ea701fa4030fa44f828fa443058badded44d0810141d721f4058307f40e6fa131dd8040d72170db3ce30e0f0e01f83120d70b1f821073696e74badd20d749810281b9dc708ee3eda2edfb218308d722028308d723208020d721d31fd31fd31fed44d0d200d31f20d31fd70bff09f90140b9f9109927945f09db31e1f223df01f2a05122baf2a15036baf2a2f823bbf2642292f800dea47fc8ca00cb1f01cf16c9ed542092f80fdedb3cd80f02ae9401d200018eccd72c08142091709601d72c081c12e25210b18e3230d72c08248e27d200ed44d0d2005113baf26b54503091319b01810140d721d70a00f2aae2c8ca0058cf16c9ed5492f229e2e30dd74cd001e8d74c011110005021d739309420c700b38e19d72820761e436c20d71d06c712c2005220b0f265d74cd73930e85bed55008e01fa4001fa44f828fa443058baf2aded44d0810141d718f405049c7fc8ca0040048307f453f2a78e12038307f45bf2a822d70a00216e01b3b0f26ce2c85003cf1612f400c9ed54a9269d25"}
{"hex":"b5ee9c724102120100028b000114ff00f4a413f4bcf2c80b01020120030201eaf220d70b1f82107369676ebaf2af7f8ee3eda2edfb218308d722028308d723208020d721d31fd31fd31fed44d0d200d31f20d31fd70bff09f90140b9f9109927945f09db31e1f223df01f2a05122baf2a15036baf2a2f823bbf2642292f800dea47fc8ca00cb1f01cf16c9ed542092f80fdedb3cd80f0201480d0402012006050019be5f0f6a2684080a0eb90fa02c0201200c0702012009080019b45d1da89a10043ae43ae163f00201200b0a0011b262fb513435c280200017b325fb51341c75c875c2c7e00019bb39ced44d08041d721d70bff80278d001d0d60301c713dc01d72c232bc3a3748ea701fa4030fa44f828fa443058badded44d0810141d721f4058307f40e6fa131dd8040d72170db3ce30e0f0e01f83120d70b1f821073696e74badd20d749810281b9dc708ee3eda2edfb218308d722028308d723208020d721d31fd31fd31fed44d0d200d31f20d31fd70bff09f90140b9f9109927945f09db31e1f223df01f2a05122baf2a15036baf2a2f823bbf2642292f800dea47fc8ca00cb1f01cf16c9ed542092f80fdedb3cd80f02c4eda2edfb01f404216eb38e290221d739309420c700b38e19d72820761e436c20d71d06c712c2005220b0f265d74cd73930e85bed55926c21e2d20001b39130e0ebd72c08142091709601d72c081c12e25210b1e30f20d74ac0009330db31e0d74cd01110006430d72c08248e27d200ed44d0d2005113baf26b54503091319b01810140d721d70a00f2aae2c8ca0058cf16c9ed5492f229e2008e01fa4001fa44f828fa443058baf2aded44d0810141d718f405049c7fc8ca0040048307f453f2a78e12038307f45bf2a822d70a00216e01b3b0f26ce2c85003cf1612f400c9ed547da1ee1f"}
19 changes: 15 additions & 4 deletions contracts/wallet_v5.fc
Original file line number Diff line number Diff line change
Expand Up @@ -89,8 +89,18 @@ cell verify_c5_actions(cell c5, int is_external) inline {
}

() process_actions(slice cs, int is_external) impure inline_ref {
cell c5_actions = cs~load_maybe_ref();
if (~ cell_null?(c5_actions)) {
;; Simply set the C5 register with all pre-computed actions after verification:
set_c5_actions(c5_actions.verify_c5_actions(is_external));
}
int has_other_actions = cs~load_int(1);
if (~ has_other_actions) {
return ();
}

;; Loop extended actions until we reach standard actions
while (cs~load_int(1)) {
while (true) {
int is_add_extension = cs~check_and_remove_add_extension_prefix();
int is_remove_extension = is_add_extension ? 0 : cs~check_and_remove_remove_extension_prefix();
;; Add/remove extensions
Expand Down Expand Up @@ -140,10 +150,11 @@ cell verify_c5_actions(cell c5, int is_external) inline {
} else {
throw(error::unspported_action);
}
if (cs.slice_refs() == 0) {
return ();
}
cs = cs.preload_ref().begin_parse();
}
;; Simply set the C5 register with all pre-computed actions after verification:
set_c5_actions(cs.preload_ref().verify_c5_actions(is_external));
}

;; ------------------------------------------------------------------------------------------------
Expand Down Expand Up @@ -202,7 +213,7 @@ cell verify_c5_actions(cell c5, int is_external) inline {
;; ------------------------------------------------------------------------------------------------

() recv_internal(cell in_msg_full, slice in_msg_body) impure inline {
return_if(in_msg_body.slice_refs_empty?()); ;; message with actions always have a ref
;; return_if(in_msg_body.slice_refs_empty?()); ;; message with actions always have a ref todo

slice in_msg_full_slice = in_msg_full.begin_parse();
slice message_flags_slice = in_msg_full_slice~load_bits(size::message_flags); ;; int_msg_info$0 ihr_disabled:Bool bounce:Bool bounced:Bool
Expand Down

0 comments on commit 21f229a

Please sign in to comment.