Mempool: correctly filter out endorsement without bond
This commit is contained in:
parent
065d629e7c
commit
8a8912c9bd
@ -738,7 +738,7 @@ let apply_manager_contents_list ctxt mode baker contents_list =
|
|||||||
| `Success ctxt -> Lwt.return (ctxt, results)
|
| `Success ctxt -> Lwt.return (ctxt, results)
|
||||||
|
|
||||||
let apply_contents_list
|
let apply_contents_list
|
||||||
(type kind) ctxt chain_id mode pred_block baker
|
(type kind) ctxt ~partial chain_id mode pred_block baker
|
||||||
(operation : kind operation)
|
(operation : kind operation)
|
||||||
(contents_list : kind contents_list)
|
(contents_list : kind contents_list)
|
||||||
: (context * kind contents_result_list) tzresult Lwt.t =
|
: (context * kind contents_result_list) tzresult Lwt.t =
|
||||||
@ -761,7 +761,12 @@ let apply_contents_list
|
|||||||
Lwt.return
|
Lwt.return
|
||||||
Tez.(Constants.endorsement_security_deposit ctxt *?
|
Tez.(Constants.endorsement_security_deposit ctxt *?
|
||||||
Int64.of_int gap) >>=? fun deposit ->
|
Int64.of_int gap) >>=? fun deposit ->
|
||||||
add_deposit ctxt delegate deposit >>=? fun ctxt ->
|
begin
|
||||||
|
if partial then
|
||||||
|
Delegate.freeze_deposit ctxt delegate deposit
|
||||||
|
else
|
||||||
|
add_deposit ctxt delegate deposit
|
||||||
|
end >>=? fun ctxt ->
|
||||||
Global.get_last_block_priority ctxt >>=? fun block_priority ->
|
Global.get_last_block_priority ctxt >>=? fun block_priority ->
|
||||||
Baking.endorsement_reward ctxt ~block_priority gap >>=? fun reward ->
|
Baking.endorsement_reward ctxt ~block_priority gap >>=? fun reward ->
|
||||||
Delegate.freeze_rewards ctxt delegate reward >>=? fun ctxt ->
|
Delegate.freeze_rewards ctxt delegate reward >>=? fun ctxt ->
|
||||||
@ -912,10 +917,10 @@ let apply_contents_list
|
|||||||
apply_manager_contents_list ctxt mode baker op >>= fun (ctxt, result) ->
|
apply_manager_contents_list ctxt mode baker op >>= fun (ctxt, result) ->
|
||||||
return (ctxt, result)
|
return (ctxt, result)
|
||||||
|
|
||||||
let apply_operation ctxt chain_id mode pred_block baker hash operation =
|
let apply_operation ctxt ~partial chain_id mode pred_block baker hash operation =
|
||||||
let ctxt = Contract.init_origination_nonce ctxt hash in
|
let ctxt = Contract.init_origination_nonce ctxt hash in
|
||||||
apply_contents_list
|
apply_contents_list
|
||||||
ctxt chain_id mode pred_block baker operation
|
ctxt ~partial chain_id mode pred_block baker operation
|
||||||
operation.protocol_data.contents >>=? fun (ctxt, result) ->
|
operation.protocol_data.contents >>=? fun (ctxt, result) ->
|
||||||
let ctxt = Gas.set_unlimited ctxt in
|
let ctxt = Gas.set_unlimited ctxt in
|
||||||
let ctxt = Contract.unset_origination_nonce ctxt in
|
let ctxt = Contract.unset_origination_nonce ctxt in
|
||||||
|
@ -299,7 +299,7 @@ module Scripts = struct
|
|||||||
return result
|
return result
|
||||||
| _ ->
|
| _ ->
|
||||||
Apply.apply_contents_list
|
Apply.apply_contents_list
|
||||||
ctxt Chain_id.zero Optimized shell.branch baker operation
|
ctxt ~partial:true Chain_id.zero Optimized shell.branch baker operation
|
||||||
operation.protocol_data.contents >>=? fun (_ctxt, result) ->
|
operation.protocol_data.contents >>=? fun (_ctxt, result) ->
|
||||||
return result
|
return result
|
||||||
|
|
||||||
|
@ -192,7 +192,13 @@ let apply_operation
|
|||||||
| Partial_construction { predecessor }
|
| Partial_construction { predecessor }
|
||||||
-> predecessor, Signature.Public_key_hash.zero
|
-> predecessor, Signature.Public_key_hash.zero
|
||||||
in
|
in
|
||||||
Apply.apply_operation ctxt chain_id Optimized predecessor baker
|
let partial =
|
||||||
|
match mode with
|
||||||
|
| Partial_construction _
|
||||||
|
| Partial_application _ -> true
|
||||||
|
| Application _
|
||||||
|
| Full_construction _ -> false in
|
||||||
|
Apply.apply_operation ~partial ctxt chain_id Optimized predecessor baker
|
||||||
(Alpha_context.Operation.hash operation)
|
(Alpha_context.Operation.hash operation)
|
||||||
operation >>=? fun (ctxt, result) ->
|
operation >>=? fun (ctxt, result) ->
|
||||||
let op_count = op_count + 1 in
|
let op_count = op_count + 1 in
|
||||||
|
Loading…
Reference in New Issue
Block a user