diff --git a/src/proto_alpha/lib_client/client_proto_context.ml b/src/proto_alpha/lib_client/client_proto_context.ml index 93b52823d4370e314166417306467017838cd9f3..f6cfdce58e671a87a62372aed6eea8b89c154069 100644 --- a/src/proto_alpha/lib_client/client_proto_context.ml +++ b/src/proto_alpha/lib_client/client_proto_context.ml @@ -1311,17 +1311,17 @@ let sc_rollup_execute_outbox_message (cctxt : #full) ~chain ~block | Apply_results.Single_and_result ((Manager_operation _ as op), result) -> return (oph, op, result) -let sc_rollup_return_bond (cctxt : #full) ~chain ~block ?confirmations ?dry_run +let sc_rollup_recover_bond (cctxt : #full) ~chain ~block ?confirmations ?dry_run ?verbose_signing ?simulation ?fee ?gas_limit ?storage_limit ?counter ~source ~src_pk ~src_sk ~fee_parameter ~sc_rollup () = let contents : - Kind.sc_rollup_return_bond Annotated_manager_operation.annotated_list = + Kind.sc_rollup_recover_bond Annotated_manager_operation.annotated_list = Annotated_manager_operation.Single_manager (Injection.prepare_manager_operation ~fee:(Limit.of_option fee) ~gas_limit:(Limit.of_option gas_limit) ~storage_limit:(Limit.of_option storage_limit) - (Sc_rollup_return_bond {sc_rollup})) + (Sc_rollup_recover_bond {sc_rollup})) in (* TODO/Fixme: https://gitlab.com/tezos/tezos/-/issues/2609 Decide if we should enforce ~successor_level:true for simulation. diff --git a/src/proto_alpha/lib_client/client_proto_context.mli b/src/proto_alpha/lib_client/client_proto_context.mli index 48946cf1eb05ac7bd2e0fff39f3f04d36cec62e9..2404bb012e2b76ab75bda43b4b76550274a55295 100644 --- a/src/proto_alpha/lib_client/client_proto_context.mli +++ b/src/proto_alpha/lib_client/client_proto_context.mli @@ -797,7 +797,7 @@ val sc_rollup_execute_outbox_message : result Lwt.t -val sc_rollup_return_bond : +val sc_rollup_recover_bond : #Protocol_client_context.full -> chain:Shell_services.chain -> block:Shell_services.block -> @@ -816,7 +816,7 @@ val sc_rollup_return_bond : sc_rollup:Sc_rollup.t -> unit -> (Operation_hash.t - * Kind.sc_rollup_return_bond Kind.manager contents - * Kind.sc_rollup_return_bond Kind.manager Apply_results.contents_result) + * Kind.sc_rollup_recover_bond Kind.manager contents + * Kind.sc_rollup_recover_bond Kind.manager Apply_results.contents_result) tzresult Lwt.t diff --git a/src/proto_alpha/lib_client/injection.ml b/src/proto_alpha/lib_client/injection.ml index 22feba65f1e74cd8e594c3a9221e08d5ef117d72..178052c418bc4196ffa550a9996d52a6506f4fbb 100644 --- a/src/proto_alpha/lib_client/injection.ml +++ b/src/proto_alpha/lib_client/injection.ml @@ -334,7 +334,7 @@ let estimated_gas_single (type kind) | Sc_rollup_timeout_result {consumed_gas; _} -> Ok consumed_gas | Sc_rollup_execute_outbox_message_result {consumed_gas; _} -> Ok consumed_gas - | Sc_rollup_return_bond_result {consumed_gas; _} -> Ok consumed_gas) + | Sc_rollup_recover_bond_result {consumed_gas; _} -> Ok consumed_gas) | Skipped _ -> Ok Gas.Arith.zero (* there must be another error for this to happen *) | Failed (_, errs) -> Error (Environment.wrap_tztrace errs) @@ -414,7 +414,7 @@ let estimated_storage_single (type kind) ~tx_rollup_origination_size | Sc_rollup_publish_result _ -> Ok Z.zero | Sc_rollup_refute_result _ -> Ok Z.zero | Sc_rollup_timeout_result _ -> Ok Z.zero - | Sc_rollup_return_bond_result _ -> Ok Z.zero) + | Sc_rollup_recover_bond_result _ -> Ok Z.zero) | Skipped _ -> Ok Z.zero (* there must be another error for this to happen *) | Failed (_, errs) -> Error (Environment.wrap_tztrace errs) @@ -504,7 +504,7 @@ let originated_contracts_single (type kind) | Sc_rollup_refute_result _ -> Ok [] | Sc_rollup_timeout_result _ -> Ok [] | Sc_rollup_execute_outbox_message_result _ -> Ok [] - | Sc_rollup_return_bond_result _ -> Ok []) + | Sc_rollup_recover_bond_result _ -> Ok []) | Skipped _ -> Ok [] (* there must be another error for this to happen *) | Failed (_, errs) -> Error (Environment.wrap_tztrace errs) in diff --git a/src/proto_alpha/lib_client/operation_result.ml b/src/proto_alpha/lib_client/operation_result.ml index dbf177ae9c19e582f000e512f47e34a2622dfeea..90d681a1d383bf7fd93568afadfb07c440516dcf 100644 --- a/src/proto_alpha/lib_client/operation_result.ml +++ b/src/proto_alpha/lib_client/operation_result.ml @@ -332,10 +332,10 @@ let pp_manager_operation_content (type kind) source ppf message_index inclusion_proof message - | Sc_rollup_return_bond {sc_rollup} -> + | Sc_rollup_recover_bond {sc_rollup} -> Format.fprintf ppf - "Sc rollup return commitment bond:%a @,From: %a" + "Sc rollup recover commitment bond:%a @,From: %a" Sc_rollup.Address.pp sc_rollup Contract.pp @@ -680,8 +680,8 @@ let pp_manager_operation_contents_result ppf op_result = pp_consumed_gas ppf consumed_gas ; pp_balance_updates ppf balance_updates in - let pp_sc_rollup_return_bond_result - (Sc_rollup_return_bond_result {balance_updates; consumed_gas}) = + let pp_sc_rollup_recover_bond_result + (Sc_rollup_recover_bond_result {balance_updates; consumed_gas}) = pp_balance_updates ppf balance_updates ; pp_consumed_gas ppf consumed_gas in @@ -716,7 +716,7 @@ let pp_manager_operation_contents_result ppf op_result = | Sc_rollup_timeout_result _ -> "smart contract rollup refutation timeout" | Sc_rollup_execute_outbox_message_result _ -> "smart contract output message execution" - | Sc_rollup_return_bond_result _ -> "smart contract bond retrieval" + | Sc_rollup_recover_bond_result _ -> "smart contract bond retrieval" | Dal_publish_slot_header_result _ -> "slot header publishing" in let pp_manager_operation_contents_result (type kind) ppf @@ -752,7 +752,8 @@ let pp_manager_operation_contents_result ppf op_result = | Sc_rollup_timeout_result _ as op -> pp_sc_rollup_timeout_result op | Sc_rollup_execute_outbox_message_result _ as op -> pp_sc_rollup_execute_outbox_message_result op - | Sc_rollup_return_bond_result _ as op -> pp_sc_rollup_return_bond_result op + | Sc_rollup_recover_bond_result _ as op -> + pp_sc_rollup_recover_bond_result op | Dal_publish_slot_header_result _ as op -> pp_dal_publish_slot_header_result op in diff --git a/src/proto_alpha/lib_client_commands/client_proto_context_commands.ml b/src/proto_alpha/lib_client_commands/client_proto_context_commands.ml index 8a7f2d2cd809c9a6147447020ac81b67f5b973a3..a9276719f1b767fd77925023e4c968317163f2a1 100644 --- a/src/proto_alpha/lib_client_commands/client_proto_context_commands.ml +++ b/src/proto_alpha/lib_client_commands/client_proto_context_commands.ml @@ -2906,7 +2906,7 @@ let commands_rw () = failwith "Only implicit accounts can deposit/recover bonds" | Implicit source -> Client_keys.get_key cctxt source >>=? fun (_, src_pk, src_sk) -> - sc_rollup_return_bond + sc_rollup_recover_bond cctxt ~chain:cctxt#chain ~block:cctxt#block diff --git a/src/proto_alpha/lib_injector/l1_operation.ml b/src/proto_alpha/lib_injector/l1_operation.ml index 177744b0e228fb5c1f16faaffd6429db5d8af425..baa74380c5359b2676e9bbb53452b8f1a0470528 100644 --- a/src/proto_alpha/lib_injector/l1_operation.ml +++ b/src/proto_alpha/lib_injector/l1_operation.ml @@ -99,7 +99,7 @@ module Manager_operation = struct | Sc_rollup_timeout _ -> sc_rollup_timeout_case | Sc_rollup_execute_outbox_message _ -> sc_rollup_execute_outbox_message_case - | Sc_rollup_return_bond _ -> sc_rollup_return_bond_case + | Sc_rollup_recover_bond _ -> sc_rollup_recover_bond_case let pp_kind ppf op = let open Operation.Encoding.Manager_operations in diff --git a/src/proto_alpha/lib_protocol/alpha_context.mli b/src/proto_alpha/lib_protocol/alpha_context.mli index 298615bc4005641b83b50c244d0f2785b997e2e4..46681b8ab5cdc004959b45081c9dcbc71ce8ba70 100644 --- a/src/proto_alpha/lib_protocol/alpha_context.mli +++ b/src/proto_alpha/lib_protocol/alpha_context.mli @@ -3254,7 +3254,7 @@ module Kind : sig type sc_rollup_execute_outbox_message = | Sc_rollup_execute_outbox_message_kind - type sc_rollup_return_bond = Sc_rollup_return_bond_kind + type sc_rollup_recover_bond = Sc_rollup_recover_bond_kind type 'a manager = | Reveal_manager_kind : reveal manager @@ -3284,7 +3284,7 @@ module Kind : sig | Sc_rollup_timeout_manager_kind : sc_rollup_timeout manager | Sc_rollup_execute_outbox_message_manager_kind : sc_rollup_execute_outbox_message manager - | Sc_rollup_return_bond_manager_kind : sc_rollup_return_bond manager + | Sc_rollup_recover_bond_manager_kind : sc_rollup_recover_bond manager end type 'a consensus_operation_type = @@ -3506,10 +3506,10 @@ and _ manager_operation = message : string; } -> Kind.sc_rollup_execute_outbox_message manager_operation - | Sc_rollup_return_bond : { + | Sc_rollup_recover_bond : { sc_rollup : Sc_rollup.t; } - -> Kind.sc_rollup_return_bond manager_operation + -> Kind.sc_rollup_recover_bond manager_operation and counter = Z.t @@ -3684,8 +3684,8 @@ module Operation : sig val sc_rollup_execute_outbox_message_case : Kind.sc_rollup_execute_outbox_message Kind.manager case - val sc_rollup_return_bond_case : - Kind.sc_rollup_return_bond Kind.manager case + val sc_rollup_recover_bond_case : + Kind.sc_rollup_recover_bond Kind.manager case module Manager_operations : sig type 'b case = @@ -3748,7 +3748,7 @@ module Operation : sig val sc_rollup_execute_outbox_message_case : Kind.sc_rollup_execute_outbox_message case - val sc_rollup_return_bond_case : Kind.sc_rollup_return_bond case + val sc_rollup_recover_bond_case : Kind.sc_rollup_recover_bond case end end diff --git a/src/proto_alpha/lib_protocol/apply.ml b/src/proto_alpha/lib_protocol/apply.ml index 72275869376afa3e8072073f6f6cbe2e8563726e..fba134a20eb19d0c456535006794d8fda3420ef1 100644 --- a/src/proto_alpha/lib_protocol/apply.ml +++ b/src/proto_alpha/lib_protocol/apply.ml @@ -1854,11 +1854,11 @@ let apply_external_manager_operation_content : ~message >>=? fun _ctxt -> failwith "Sc_rolup_atomic_batch operation is not yet supported." - | Sc_rollup_return_bond {sc_rollup} -> + | Sc_rollup_recover_bond {sc_rollup} -> Sc_rollup.Stake_storage.withdraw_stake ctxt sc_rollup source >>=? fun (ctxt, balance_updates) -> let result = - Sc_rollup_return_bond_result + Sc_rollup_recover_bond_result { consumed_gas = Gas.consumed ~since:before_operation ~until:ctxt; balance_updates; @@ -2062,9 +2062,9 @@ let precheck_manager_contents (type kind) ctxt (op : kind Kind.manager contents) | Sc_rollup_publish _ | Sc_rollup_refute _ | Sc_rollup_timeout _ | Sc_rollup_execute_outbox_message _ -> assert_sc_rollup_feature_enabled ctxt >|=? fun () -> ctxt - | Sc_rollup_return_bond _ -> + | Sc_rollup_recover_bond _ -> (* TODO: https://gitlab.com/tezos/tezos/-/issues/3063 - should we successfully precheck Sc_rollup_return_bond and any + should we successfully precheck Sc_rollup_recover_bond and any (simple) Sc rollup operation, or should we add some some checks to make the operations Branch_delayed if they cannot be successfully prechecked. *) @@ -2251,7 +2251,7 @@ let burn_manager_storage_fees : storage_limit, Sc_rollup_execute_outbox_message_result {payload with balance_updates} ) - | Sc_rollup_return_bond_result _ -> return (ctxt, storage_limit, smopr) + | Sc_rollup_recover_bond_result _ -> return (ctxt, storage_limit, smopr) (** [burn_internal_storage_fees ctxt smopr storage_limit payer] burns the storage fees associated to an internal operation result [smopr]. diff --git a/src/proto_alpha/lib_protocol/apply_results.ml b/src/proto_alpha/lib_protocol/apply_results.ml index 1296590166736a51677e4c5f12fa661c10d66257..59039dcfbaffff0854a018a9d43bad84d20104df 100644 --- a/src/proto_alpha/lib_protocol/apply_results.ml +++ b/src/proto_alpha/lib_protocol/apply_results.ml @@ -259,11 +259,11 @@ type _ successful_manager_operation_result = } -> Kind.sc_rollup_execute_outbox_message successful_manager_operation_result - | Sc_rollup_return_bond_result : { + | Sc_rollup_recover_bond_result : { balance_updates : Receipt.balance_updates; consumed_gas : Gas.Arith.fp; } - -> Kind.sc_rollup_return_bond successful_manager_operation_result + -> Kind.sc_rollup_recover_bond successful_manager_operation_result type _ successful_internal_manager_operation_result = | ITransaction_result : @@ -1151,9 +1151,9 @@ module Manager_result = struct paid_storage_size_diff; }) - let[@coq_axiom_with_reason "gadt"] sc_rollup_return_bond_case = + let[@coq_axiom_with_reason "gadt"] sc_rollup_recover_bond_case = make - ~op_case:Operation.Encoding.Manager_operations.sc_rollup_return_bond_case + ~op_case:Operation.Encoding.Manager_operations.sc_rollup_recover_bond_case ~encoding: Data_encoding.( obj3 @@ -1161,16 +1161,16 @@ module Manager_result = struct (dft "consumed_gas" Gas.Arith.n_integral_encoding Gas.Arith.zero) (dft "consumed_milligas" Gas.Arith.n_fp_encoding Gas.Arith.zero)) ~select:(function - | Successful_manager_result (Sc_rollup_return_bond_result _ as op) -> + | Successful_manager_result (Sc_rollup_recover_bond_result _ as op) -> Some op | _ -> None) - ~kind:Kind.Sc_rollup_return_bond_manager_kind + ~kind:Kind.Sc_rollup_recover_bond_manager_kind ~proj:(function - | Sc_rollup_return_bond_result {balance_updates; consumed_gas} -> + | Sc_rollup_recover_bond_result {balance_updates; consumed_gas} -> (balance_updates, Gas.Arith.ceil consumed_gas, consumed_gas)) ~inj:(fun (balance_updates, consumed_gas, consumed_milligas) -> assert (Gas.Arith.(equal (ceil consumed_milligas) consumed_gas)) ; - Sc_rollup_return_bond_result + Sc_rollup_recover_bond_result {balance_updates; consumed_gas = consumed_milligas}) end @@ -1681,10 +1681,10 @@ let equal_manager_kind : Kind.Sc_rollup_execute_outbox_message_manager_kind ) -> Some Eq | Kind.Sc_rollup_execute_outbox_message_manager_kind, _ -> None - | ( Kind.Sc_rollup_return_bond_manager_kind, - Kind.Sc_rollup_return_bond_manager_kind ) -> + | ( Kind.Sc_rollup_recover_bond_manager_kind, + Kind.Sc_rollup_recover_bond_manager_kind ) -> Some Eq - | Kind.Sc_rollup_return_bond_manager_kind, _ -> None + | Kind.Sc_rollup_recover_bond_manager_kind, _ -> None module Encoding = struct type 'kind case = @@ -2247,13 +2247,13 @@ module Encoding = struct Some (op, res) | _ -> None) - let[@coq_axiom_with_reason "gadt"] sc_rollup_return_bond_case = + let[@coq_axiom_with_reason "gadt"] sc_rollup_recover_bond_case = make_manager_case - Operation.Encoding.sc_rollup_return_bond_case - Manager_result.sc_rollup_return_bond_case + Operation.Encoding.sc_rollup_recover_bond_case + Manager_result.sc_rollup_recover_bond_case (function | Contents_and_result - ( (Manager_operation {operation = Sc_rollup_return_bond _; _} as op), + ( (Manager_operation {operation = Sc_rollup_recover_bond _; _} as op), res ) -> Some (op, res) | _ -> None) @@ -2311,7 +2311,7 @@ let contents_result_encoding = make sc_rollup_refute_case; make sc_rollup_timeout_case; make sc_rollup_execute_outbox_message_case; - make sc_rollup_return_bond_case; + make sc_rollup_recover_bond_case; ] let contents_and_result_encoding = @@ -2368,7 +2368,7 @@ let contents_and_result_encoding = make sc_rollup_publish_case; make sc_rollup_refute_case; make sc_rollup_timeout_case; - make sc_rollup_return_bond_case; + make sc_rollup_recover_bond_case; ] type 'kind contents_result_list = @@ -2750,32 +2750,32 @@ let kind_equal : } ) -> Some Eq | Manager_operation {operation = Tx_rollup_return_bond _; _}, _ -> None - | ( Manager_operation {operation = Sc_rollup_return_bond _; _}, + | ( Manager_operation {operation = Sc_rollup_recover_bond _; _}, Manager_operation_result - {operation_result = Applied (Sc_rollup_return_bond_result _); _} ) -> + {operation_result = Applied (Sc_rollup_recover_bond_result _); _} ) -> Some Eq - | ( Manager_operation {operation = Sc_rollup_return_bond _; _}, + | ( Manager_operation {operation = Sc_rollup_recover_bond _; _}, Manager_operation_result - {operation_result = Backtracked (Sc_rollup_return_bond_result _, _); _} + {operation_result = Backtracked (Sc_rollup_recover_bond_result _, _); _} ) -> Some Eq - | ( Manager_operation {operation = Sc_rollup_return_bond _; _}, + | ( Manager_operation {operation = Sc_rollup_recover_bond _; _}, Manager_operation_result { operation_result = - Failed (Alpha_context.Kind.Sc_rollup_return_bond_manager_kind, _); + Failed (Alpha_context.Kind.Sc_rollup_recover_bond_manager_kind, _); _; } ) -> Some Eq - | ( Manager_operation {operation = Sc_rollup_return_bond _; _}, + | ( Manager_operation {operation = Sc_rollup_recover_bond _; _}, Manager_operation_result { operation_result = - Skipped Alpha_context.Kind.Sc_rollup_return_bond_manager_kind; + Skipped Alpha_context.Kind.Sc_rollup_recover_bond_manager_kind; _; } ) -> Some Eq - | Manager_operation {operation = Sc_rollup_return_bond _; _}, _ -> None + | Manager_operation {operation = Sc_rollup_recover_bond _; _}, _ -> None | ( Manager_operation {operation = Tx_rollup_finalize_commitment _; _}, Manager_operation_result {operation_result = Applied (Tx_rollup_finalize_commitment_result _); _} diff --git a/src/proto_alpha/lib_protocol/apply_results.mli b/src/proto_alpha/lib_protocol/apply_results.mli index adb9ddf6d6c68f2eb1b7c723c7d15ab2041e094c..8bdf1ea66bc53c96d293883655b14401fed200ab 100644 --- a/src/proto_alpha/lib_protocol/apply_results.mli +++ b/src/proto_alpha/lib_protocol/apply_results.mli @@ -325,11 +325,11 @@ and _ successful_manager_operation_result = } -> Kind.sc_rollup_execute_outbox_message successful_manager_operation_result - | Sc_rollup_return_bond_result : { + | Sc_rollup_recover_bond_result : { balance_updates : Receipt.balance_updates; consumed_gas : Gas.Arith.fp; } - -> Kind.sc_rollup_return_bond successful_manager_operation_result + -> Kind.sc_rollup_recover_bond successful_manager_operation_result (** Result of applying a {!Script_typed_ir.internal_operation}. *) and _ successful_internal_manager_operation_result = diff --git a/src/proto_alpha/lib_protocol/operation_repr.ml b/src/proto_alpha/lib_protocol/operation_repr.ml index ab82ccbab8e929c5cecb43df73c31e0e2b04f531..b0573d6302736916ac213970cbe9cfffb566ef6d 100644 --- a/src/proto_alpha/lib_protocol/operation_repr.ml +++ b/src/proto_alpha/lib_protocol/operation_repr.ml @@ -109,7 +109,7 @@ module Kind = struct type sc_rollup_execute_outbox_message = | Sc_rollup_execute_outbox_message_kind - type sc_rollup_return_bond = Sc_rollup_return_bond_kind + type sc_rollup_recover_bond = Sc_rollup_recover_bond_kind type 'a manager = | Reveal_manager_kind : reveal manager @@ -139,7 +139,7 @@ module Kind = struct | Sc_rollup_timeout_manager_kind : sc_rollup_timeout manager | Sc_rollup_execute_outbox_message_manager_kind : sc_rollup_execute_outbox_message manager - | Sc_rollup_return_bond_manager_kind : sc_rollup_return_bond manager + | Sc_rollup_recover_bond_manager_kind : sc_rollup_recover_bond manager end type 'a consensus_operation_type = @@ -428,10 +428,10 @@ and _ manager_operation = message : string; } -> Kind.sc_rollup_execute_outbox_message manager_operation - | Sc_rollup_return_bond : { + | Sc_rollup_recover_bond : { sc_rollup : Sc_rollup_repr.t; } - -> Kind.sc_rollup_return_bond manager_operation + -> Kind.sc_rollup_recover_bond manager_operation and counter = Z.t @@ -463,7 +463,7 @@ let manager_kind : type kind. kind manager_operation -> kind Kind.manager = | Sc_rollup_timeout _ -> Kind.Sc_rollup_timeout_manager_kind | Sc_rollup_execute_outbox_message _ -> Kind.Sc_rollup_execute_outbox_message_manager_kind - | Sc_rollup_return_bond _ -> Kind.Sc_rollup_return_bond_manager_kind + | Sc_rollup_recover_bond _ -> Kind.Sc_rollup_recover_bond_manager_kind type packed_manager_operation = | Manager : 'kind manager_operation -> packed_manager_operation @@ -553,7 +553,7 @@ let sc_rollup_operation_timeout_tag = sc_rollup_operation_tag_offset + 5 let sc_rollup_operation_atomic_batch_tag = sc_rollup_operation_tag_offset + 6 -let sc_rollup_operation_return_bond_tag = sc_rollup_operation_tag_offset + 7 +let sc_rollup_operation_recover_bond_tag = sc_rollup_operation_tag_offset + 7 let dal_offset = 230 @@ -1145,17 +1145,17 @@ module Encoding = struct }); } - let[@coq_axiom_with_reason "gadt"] sc_rollup_return_bond_case = + let[@coq_axiom_with_reason "gadt"] sc_rollup_recover_bond_case = MCase { - tag = sc_rollup_operation_return_bond_tag; - name = "sc_rollup_return_bond"; + tag = sc_rollup_operation_recover_bond_tag; + name = "sc_rollup_recover_bond"; encoding = obj1 (req "rollup" Sc_rollup_repr.Address.encoding); select = (function - | Manager (Sc_rollup_return_bond _ as op) -> Some op | _ -> None); - proj = (function Sc_rollup_return_bond {sc_rollup} -> sc_rollup); - inj = (fun sc_rollup -> Sc_rollup_return_bond {sc_rollup}); + | Manager (Sc_rollup_recover_bond _ as op) -> Some op | _ -> None); + proj = (function Sc_rollup_recover_bond {sc_rollup} -> sc_rollup); + inj = (fun sc_rollup -> Sc_rollup_recover_bond {sc_rollup}); } end @@ -1560,10 +1560,10 @@ module Encoding = struct sc_rollup_operation_atomic_batch_tag Manager_operations.sc_rollup_execute_outbox_message_case - let sc_rollup_return_bond_case = + let sc_rollup_recover_bond_case = make_manager_case - sc_rollup_operation_return_bond_tag - Manager_operations.sc_rollup_return_bond_case + sc_rollup_operation_recover_bond_tag + Manager_operations.sc_rollup_recover_bond_case let contents_encoding = let make (Case {tag; name; encoding; select; proj; inj}) = @@ -1611,7 +1611,7 @@ module Encoding = struct make sc_rollup_refute_case; make sc_rollup_timeout_case; make sc_rollup_execute_outbox_message_case; - make sc_rollup_return_bond_case; + make sc_rollup_recover_bond_case; ] let contents_list_encoding = @@ -1839,8 +1839,8 @@ let equal_manager_operation_kind : | Sc_rollup_execute_outbox_message _, Sc_rollup_execute_outbox_message _ -> Some Eq | Sc_rollup_execute_outbox_message _, _ -> None - | Sc_rollup_return_bond _, Sc_rollup_return_bond _ -> Some Eq - | Sc_rollup_return_bond _, _ -> None + | Sc_rollup_recover_bond _, Sc_rollup_recover_bond _ -> Some Eq + | Sc_rollup_recover_bond _, _ -> None let equal_contents_kind : type a b. a contents -> b contents -> (a, b) eq option = diff --git a/src/proto_alpha/lib_protocol/operation_repr.mli b/src/proto_alpha/lib_protocol/operation_repr.mli index 245f8d0171ffa385bb119054b1f78e4eea6bcbbe..0277f6fad073064a31bda4a7c777f8102c317088 100644 --- a/src/proto_alpha/lib_protocol/operation_repr.mli +++ b/src/proto_alpha/lib_protocol/operation_repr.mli @@ -138,7 +138,7 @@ module Kind : sig type sc_rollup_execute_outbox_message = | Sc_rollup_execute_outbox_message_kind - type sc_rollup_return_bond = Sc_rollup_return_bond_kind + type sc_rollup_recover_bond = Sc_rollup_recover_bond_kind type 'a manager = | Reveal_manager_kind : reveal manager @@ -168,7 +168,7 @@ module Kind : sig | Sc_rollup_timeout_manager_kind : sc_rollup_timeout manager | Sc_rollup_execute_outbox_message_manager_kind : sc_rollup_execute_outbox_message manager - | Sc_rollup_return_bond_manager_kind : sc_rollup_return_bond manager + | Sc_rollup_recover_bond_manager_kind : sc_rollup_recover_bond manager end type 'a consensus_operation_type = @@ -502,10 +502,10 @@ and _ manager_operation = (** The bytes corresponding to a serialized batch of transactions. *) } -> Kind.sc_rollup_execute_outbox_message manager_operation - | Sc_rollup_return_bond : { + | Sc_rollup_recover_bond : { sc_rollup : Sc_rollup_repr.t; } - -> Kind.sc_rollup_return_bond manager_operation + -> Kind.sc_rollup_recover_bond manager_operation (** Counters are used as anti-replay protection mechanism in manager operations: each manager account stores a counter and @@ -659,7 +659,8 @@ module Encoding : sig val sc_rollup_execute_outbox_message_case : Kind.sc_rollup_execute_outbox_message Kind.manager case - val sc_rollup_return_bond_case : Kind.sc_rollup_return_bond Kind.manager case + val sc_rollup_recover_bond_case : + Kind.sc_rollup_recover_bond Kind.manager case module Manager_operations : sig type 'b case = @@ -721,6 +722,6 @@ module Encoding : sig val sc_rollup_execute_outbox_message_case : Kind.sc_rollup_execute_outbox_message case - val sc_rollup_return_bond_case : Kind.sc_rollup_return_bond case + val sc_rollup_recover_bond_case : Kind.sc_rollup_recover_bond case end end diff --git a/src/proto_alpha/lib_protocol/test/helpers/block.ml b/src/proto_alpha/lib_protocol/test/helpers/block.ml index b40c5e018755b9ed64ea7d49eecaac7ed236838c..40a6328e330ce9b084f5ce72ab53703849bb18ca 100644 --- a/src/proto_alpha/lib_protocol/test/helpers/block.ml +++ b/src/proto_alpha/lib_protocol/test/helpers/block.ml @@ -758,7 +758,7 @@ let bake_n_with_all_balance_updates ?(baking_mode = Application) ?policy | Sc_rollup_publish_result _ | Sc_rollup_refute_result _ | Sc_rollup_timeout_result _ | Sc_rollup_execute_outbox_message_result _ - | Sc_rollup_return_bond_result _ -> + | Sc_rollup_recover_bond_result _ -> balance_updates_rev | Transaction_result (Transaction_to_contract_result {balance_updates; _}) @@ -807,7 +807,7 @@ let bake_n_with_origination_results ?(baking_mode = Application) ?policy n b = | Successful_manager_result (Sc_rollup_timeout_result _) | Successful_manager_result (Sc_rollup_execute_outbox_message_result _) - | Successful_manager_result (Sc_rollup_return_bond_result _) -> + | Successful_manager_result (Sc_rollup_recover_bond_result _) -> origination_results_rev | Successful_manager_result (Origination_result x) -> Origination_result x :: origination_results_rev) diff --git a/src/proto_alpha/lib_protocol/test/helpers/op.ml b/src/proto_alpha/lib_protocol/test/helpers/op.ml index 502233975337bd34a1369022dcbdec5e6e7b4499..1ec6b5f802546cdbecf6db449f2af26937e5ed92 100644 --- a/src/proto_alpha/lib_protocol/test/helpers/op.ml +++ b/src/proto_alpha/lib_protocol/test/helpers/op.ml @@ -804,7 +804,7 @@ let sc_rollup_execute_outbox_message ?counter ?fee ?gas_limit ?storage_limit Context.Contract.manager ctxt src >|=? fun account -> sign account.sk ctxt to_sign_op -let sc_rollup_return_bond ?counter ?fee ?gas_limit ?storage_limit ctxt +let sc_rollup_recover_bond ?counter ?fee ?gas_limit ?storage_limit ctxt (source : Contract.t) (sc_rollup : Sc_rollup.t) = manager_operation ?counter @@ -813,7 +813,7 @@ let sc_rollup_return_bond ?counter ?fee ?gas_limit ?storage_limit ctxt ?storage_limit ~source ctxt - (Sc_rollup_return_bond {sc_rollup}) + (Sc_rollup_recover_bond {sc_rollup}) >>=? fun to_sign_op -> Context.Contract.manager ctxt source >|=? fun account -> sign account.sk ctxt to_sign_op diff --git a/src/proto_alpha/lib_protocol/test/helpers/op.mli b/src/proto_alpha/lib_protocol/test/helpers/op.mli index 207292acfb9f1b4884bdb3042a33d751dfb00811..c06488e59f6149de73b1b9a400b8f697f5bd47e6 100644 --- a/src/proto_alpha/lib_protocol/test/helpers/op.mli +++ b/src/proto_alpha/lib_protocol/test/helpers/op.mli @@ -544,8 +544,8 @@ val sc_rollup_execute_outbox_message : message:string -> (packed_operation, tztrace) result Lwt.t -(** [sc_rollup_return_bond ctxt source sc_rollup] returns a commitment bond. *) -val sc_rollup_return_bond : +(** [sc_rollup_recover_bond ctxt source sc_rollup] returns a commitment bond. *) +val sc_rollup_recover_bond : ?counter:Z.t -> ?fee:Tez.tez -> ?gas_limit:Gas.Arith.integral -> diff --git a/src/proto_alpha/lib_protocol/test/integration/operations/test_sc_rollup.ml b/src/proto_alpha/lib_protocol/test/integration/operations/test_sc_rollup.ml index 44e8a0f86f5909ffd69d3791fa1af94083c2113c..2ff1efceb4377e6fd254a2e7fc9e296932567385 100644 --- a/src/proto_alpha/lib_protocol/test/integration/operations/test_sc_rollup.ml +++ b/src/proto_alpha/lib_protocol/test/integration/operations/test_sc_rollup.ml @@ -205,27 +205,27 @@ let check_balances_evolution bal_before {liquid; frozen} ~action = let* () = Assert.equal_tez ~loc:__LOC__ expected_frozen frozen in return () -let attempt_to_return_bond i contract rollup = - let* return_bond_op = Op.sc_rollup_return_bond (I i) contract rollup in - let* i = Incremental.add_operation i return_bond_op in +let attempt_to_recover_bond i contract rollup = + let* recover_bond_op = Op.sc_rollup_recover_bond (I i) contract rollup in + let* i = Incremental.add_operation i recover_bond_op in let* b = Incremental.finalize_block i in return b -let return_bond_not_lcc i contract rollup = +let recover_bond_not_lcc i contract rollup = assert_fails_with ~__LOC__ - (attempt_to_return_bond i contract rollup) + (attempt_to_recover_bond i contract rollup) Sc_rollup_errors.Sc_rollup_not_staked_on_lcc -let return_bond_not_staked i contract rollup = +let recover_bond_not_staked i contract rollup = assert_fails_with ~__LOC__ - (attempt_to_return_bond i contract rollup) + (attempt_to_recover_bond i contract rollup) Sc_rollup_errors.Sc_rollup_not_staked -let return_bond_with_success i contract rollup = +let recover_bond_with_success i contract rollup = let* bal_before = balances (I i) contract in - let* b = attempt_to_return_bond i contract rollup in + let* b = attempt_to_recover_bond i contract rollup in let* bal_after = balances (B b) contract in let* constants = Context.get_constants (I i) in let* () = @@ -236,17 +236,17 @@ let return_bond_with_success i contract rollup = in return b -(** [test_publish_cement_and_return_bond] creates a rollup, publishes a +(** [test_publish_cement_and_recover_bond] creates a rollup, publishes a commitment and then [challenge_window_in_blocks] blocks later cements that commitment. The comitter tries to withdraw stake before and after cementing. Only the second attempt is expected to succeed. *) -let test_publish_cement_and_return_bond () = +let test_publish_cement_and_recover_bond () = let* ctxt, contracts, rollup = init_and_originate Context.T2 "unit" in let _, contract = contracts in let* i = Incremental.begin_construction ctxt in (* not staked yet *) - let* () = return_bond_not_staked i contract rollup in + let* () = recover_bond_not_staked i contract rollup in let* c = dummy_commitment i rollup in let* operation = Op.sc_rollup_publish (B ctxt) contract rollup c in let* i = Incremental.add_operation i operation in @@ -258,7 +258,7 @@ let test_publish_cement_and_return_bond () = let* i = Incremental.begin_construction b in let hash = Sc_rollup.Commitment.hash c in (* stake not on LCC *) - let* () = return_bond_not_lcc i contract rollup in + let* () = recover_bond_not_lcc i contract rollup in let* cement_op = Op.sc_rollup_cement (I i) contract rollup hash in let* i = Incremental.add_operation i cement_op in let* b = Incremental.finalize_block i in @@ -270,11 +270,11 @@ let test_publish_cement_and_return_bond () = in Incremental.begin_construction b ~policy:(Excluding [pkh]) in - (* return bond should succeed *) - let* b = return_bond_with_success i contract rollup in + (* recover bond should succeed *) + let* b = recover_bond_with_success i contract rollup in let* i = Incremental.begin_construction b in (* not staked anymore *) - let* () = return_bond_not_staked i contract rollup in + let* () = recover_bond_not_staked i contract rollup in return_unit (** [test_publish_fails_on_backtrack] creates a rollup and then @@ -519,7 +519,7 @@ let tests = Tztest.tztest "can publish a commit, cement it and withdraw stake" `Quick - test_publish_cement_and_return_bond; + test_publish_cement_and_recover_bond; Tztest.tztest "publish will fail if staker is backtracking" `Quick diff --git a/tezt/lib_tezos/client.ml b/tezt/lib_tezos/client.ml index b00f43ac69d3f8dda5ae744dc6f3df4aed596873..3863811d3f019406dd1976d0a10ef2772d140cab 100644 --- a/tezt/lib_tezos/client.ml +++ b/tezt/lib_tezos/client.ml @@ -1638,7 +1638,7 @@ module Sc_rollup = struct in Process.check process - let submit_return_bond ?(wait = "none") ?burn_cap ?storage_limit ?fee ?hooks + let submit_recover_bond ?(wait = "none") ?burn_cap ?storage_limit ?fee ?hooks ~rollup ~src client = let process = spawn_command diff --git a/tezt/lib_tezos/client.mli b/tezt/lib_tezos/client.mli index da51d20344ba4760044b8569debbacb175662a95..1c2c756801f777e8d2f96b03296a015ec1d95d7f 100644 --- a/tezt/lib_tezos/client.mli +++ b/tezt/lib_tezos/client.mli @@ -1252,8 +1252,8 @@ module Sc_rollup : sig t -> Process.t - (** Run [tezos-client submit sc rollup return bond to from ]. *) - val submit_return_bond : + (** Run [tezos-client submit sc rollup recover bond to from ]. *) + val submit_recover_bond : ?wait:string -> ?burn_cap:Tez.t -> ?storage_limit:int -> diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- mempool.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- mempool.out index faa098c39d38b4a8e1d5ef16d854201935852aa1..0bc234701932c03a87957101154ae42eff9d4074 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- mempool.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode client) RPC regression tests- mempool.out @@ -6149,13 +6149,13 @@ curl -s 'http://localhost:[PORT]/describe/chains/main/mempool?recurse=yes' "additionalProperties": false }, { - "title": "Sc_rollup_return_bond", + "title": "Sc_rollup_recover_bond", "type": "object", "properties": { "kind": { "type": "string", "enum": [ - "sc_rollup_return_bond" + "sc_rollup_recover_bond" ] }, "source": { @@ -10536,7 +10536,7 @@ curl -s 'http://localhost:[PORT]/describe/chains/main/mempool?recurse=yes' "kind": "named" } ], - "name": "Sc_rollup_return_bond" + "name": "Sc_rollup_recover_bond" }, { "tag": 230, @@ -21621,13 +21621,13 @@ curl -s 'http://localhost:[PORT]/describe/chains/main/mempool?recurse=yes' "additionalProperties": false }, { - "title": "Sc_rollup_return_bond", + "title": "Sc_rollup_recover_bond", "type": "object", "properties": { "kind": { "type": "string", "enum": [ - "sc_rollup_return_bond" + "sc_rollup_recover_bond" ] }, "source": { diff --git a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- mempool.out b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- mempool.out index c9086a55e0e995271c3ec8bae5530f2018ae701d..4eace670e43b973b00c742484720d98b6219084f 100644 --- a/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- mempool.out +++ b/tezt/tests/expected/RPC_test.ml/Alpha- (mode proxy) RPC regression tests- mempool.out @@ -6170,13 +6170,13 @@ curl -s 'http://localhost:[PORT]/describe/chains/main/mempool?recurse=yes' "additionalProperties": false }, { - "title": "Sc_rollup_return_bond", + "title": "Sc_rollup_recover_bond", "type": "object", "properties": { "kind": { "type": "string", "enum": [ - "sc_rollup_return_bond" + "sc_rollup_recover_bond" ] }, "source": { @@ -10557,7 +10557,7 @@ curl -s 'http://localhost:[PORT]/describe/chains/main/mempool?recurse=yes' "kind": "named" } ], - "name": "Sc_rollup_return_bond" + "name": "Sc_rollup_recover_bond" }, { "tag": 230, @@ -21642,13 +21642,13 @@ curl -s 'http://localhost:[PORT]/describe/chains/main/mempool?recurse=yes' "additionalProperties": false }, { - "title": "Sc_rollup_return_bond", + "title": "Sc_rollup_recover_bond", "type": "object", "properties": { "kind": { "type": "string", "enum": [ - "sc_rollup_return_bond" + "sc_rollup_recover_bond" ] }, "source": { diff --git a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (no_comm.out b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (no_comm.out index 312fd8202abfc5a076c293fcc84598cdb02f70d4..b96f66dbc781b75c3817e62f4f7bf62820a02722 100644 --- a/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (no_comm.out +++ b/tezt/tests/expected/sc_rollup.ml/Alpha- observing the correct handling of commitments in the rollup node (no_comm.out @@ -118,7 +118,7 @@ This simulation failed: Balance updates: [PUBLIC_KEY_HASH] ... -ꜩ1 payload fees(the block proposer) ....... +ꜩ1 - Sc rollup return commitment bond:[SC_ROLLUP_HASH] + Sc rollup recover commitment bond:[SC_ROLLUP_HASH] From: [PUBLIC_KEY_HASH] This operation FAILED. @@ -225,7 +225,7 @@ This sequence of operations was run: Balance updates: [PUBLIC_KEY_HASH] ... -ꜩ1 payload fees(the block proposer) ....... +ꜩ1 - Sc rollup return commitment bond:[SC_ROLLUP_HASH] + Sc rollup recover commitment bond:[SC_ROLLUP_HASH] From: [PUBLIC_KEY_HASH] This smart contract bond retrieval was successfully applied Balance updates: diff --git a/tezt/tests/sc_rollup.ml b/tezt/tests/sc_rollup.ml index 13a813b9c96570d859782544d7156b0a77c21478..35e71a6d8b854cc8e51638d9ebb171dc0809873b 100644 --- a/tezt/tests/sc_rollup.ml +++ b/tezt/tests/sc_rollup.ml @@ -1400,16 +1400,16 @@ let attempt_withdraw_stake = *) let bootstrap1_key = Constant.bootstrap1.public_key_hash in let* constants = RPC.get_constants ~hooks client in - let return_bond_unfreeze = + let recover_bond_unfreeze = JSON.(constants |-> "sc_rollup_stake_amount" |> as_int) in - let return_bond_fee = 1_000_000 in + let recover_bond_fee = 1_000_000 in let inject_op () = - Client.Sc_rollup.submit_return_bond + Client.Sc_rollup.submit_recover_bond ~hooks ~rollup:sc_rollup_address ~src:bootstrap1_key - ~fee:(Tez.of_mutez_int return_bond_fee) + ~fee:(Tez.of_mutez_int recover_bond_fee) client in match expect_failure with @@ -1419,10 +1419,10 @@ let attempt_withdraw_stake = let* () = Client.bake_for_and_wait ~keys:["bootstrap2"] client in let* new_bal = contract_balances ~pkh:bootstrap1_key client in let expected_liq_new_bal = - old_bal.liquid - return_bond_fee + return_bond_unfreeze + old_bal.liquid - recover_bond_fee + recover_bond_unfreeze in check_eq_int new_bal.liquid expected_liq_new_bal ; - check_eq_int new_bal.frozen (old_bal.frozen - return_bond_unfreeze) ; + check_eq_int new_bal.frozen (old_bal.frozen - recover_bond_unfreeze) ; unit | Some failure_string -> let*? p = inject_op () in