Alpha: allow binary serialization of Apply_operation_result

This commit is contained in:
Grégoire Henry 2018-04-21 11:31:17 +02:00 committed by Benjamin Canou
parent 0ded5c8024
commit b6207bb14d

View File

@ -18,13 +18,13 @@ type balance =
let balance_encoding = let balance_encoding =
union union
[ case Json_only [ case (Tag 0)
(obj2 (obj2
(req "kind" (constant "contract")) (req "kind" (constant "contract"))
(req "contract" Contract.encoding)) (req "contract" Contract.encoding))
(function Contract c -> Some ((), c) | _ -> None ) (function Contract c -> Some ((), c) | _ -> None )
(fun ((), c) -> (Contract c)) ; (fun ((), c) -> (Contract c)) ;
case Json_only case (Tag 1)
(obj4 (obj4
(req "kind" (constant "freezer")) (req "kind" (constant "freezer"))
(req "category" (constant "rewards")) (req "category" (constant "rewards"))
@ -32,7 +32,7 @@ let balance_encoding =
(req "level" Cycle.encoding)) (req "level" Cycle.encoding))
(function Rewards (d, l) -> Some ((), (), d, l) | _ -> None) (function Rewards (d, l) -> Some ((), (), d, l) | _ -> None)
(fun ((), (), d, l) -> Rewards (d, l)) ; (fun ((), (), d, l) -> Rewards (d, l)) ;
case Json_only case (Tag 2)
(obj4 (obj4
(req "kind" (constant "freezer")) (req "kind" (constant "freezer"))
(req "category" (constant "fees")) (req "category" (constant "fees"))
@ -40,7 +40,7 @@ let balance_encoding =
(req "level" Cycle.encoding)) (req "level" Cycle.encoding))
(function Fees (d, l) -> Some ((), (), d, l) | _ -> None) (function Fees (d, l) -> Some ((), (), d, l) | _ -> None)
(fun ((), (), d, l) -> Fees (d, l)) ; (fun ((), (), d, l) -> Fees (d, l)) ;
case Json_only case (Tag 3)
(obj4 (obj4
(req "kind" (constant "freezer")) (req "kind" (constant "freezer"))
(req "category" (constant "deposits")) (req "category" (constant "deposits"))
@ -55,11 +55,11 @@ type balance_update =
let balance_update_encoding = let balance_update_encoding =
union union
[ case Json_only [ case (Tag 0)
(obj1 (req "credited" Tez.encoding)) (obj1 (req "credited" Tez.encoding))
(function Credited v -> Some v | Debited _ -> None) (function Credited v -> Some v | Debited _ -> None)
(fun v -> Credited v) ; (fun v -> Credited v) ;
case Json_only case (Tag 1)
(obj1 (req "debited" Tez.encoding)) (obj1 (req "debited" Tez.encoding))
(function Debited v -> Some v | Credited _ -> None) (function Debited v -> Some v | Credited _ -> None)
(fun v -> Debited v) ] (fun v -> Debited v) ]
@ -77,25 +77,25 @@ type anonymous_operation_result =
let anonymous_operation_result_encoding = let anonymous_operation_result_encoding =
union union
[ case Json_only [ case (Tag 0)
(obj2 (obj2
(req "kind" (constant "revelation")) (req "kind" (constant "revelation"))
(req "balance_updates" balance_updates_encoding)) (req "balance_updates" balance_updates_encoding))
(function Seed_nonce_revelation_result bus -> Some ((), bus) | _ -> None) (function Seed_nonce_revelation_result bus -> Some ((), bus) | _ -> None)
(fun ((), bus) -> Seed_nonce_revelation_result bus) ; (fun ((), bus) -> Seed_nonce_revelation_result bus) ;
case Json_only case (Tag 1)
(obj2 (obj2
(req "kind" (constant "double_endorsement")) (req "kind" (constant "double_endorsement"))
(req "balance_updates" balance_updates_encoding)) (req "balance_updates" balance_updates_encoding))
(function Double_endorsement_evidence_result bus -> Some ((), bus) | _ -> None) (function Double_endorsement_evidence_result bus -> Some ((), bus) | _ -> None)
(fun ((), bus) -> Double_endorsement_evidence_result bus) ; (fun ((), bus) -> Double_endorsement_evidence_result bus) ;
case Json_only case (Tag 2)
(obj2 (obj2
(req "kind" (constant "double_baking")) (req "kind" (constant "double_baking"))
(req "balance_updates" balance_updates_encoding)) (req "balance_updates" balance_updates_encoding))
(function Double_baking_evidence_result bus -> Some ((), bus) | _ -> None) (function Double_baking_evidence_result bus -> Some ((), bus) | _ -> None)
(fun ((), bus) -> Double_baking_evidence_result bus) ; (fun ((), bus) -> Double_baking_evidence_result bus) ;
case Json_only case (Tag 3)
(obj2 (obj2
(req "kind" (constant "activation")) (req "kind" (constant "activation"))
(req "balance_updates" balance_updates_encoding)) (req "balance_updates" balance_updates_encoding))
@ -124,10 +124,10 @@ type manager_operation_kind =
let manager_operation_kind_encoding = let manager_operation_kind_encoding =
union union
[ case Json_only (constant "external") [ case (Tag 0) (constant "external")
(function External -> Some () | _ -> None) (function External -> Some () | _ -> None)
(fun () -> External) ; (fun () -> External) ;
case Json_only Operation.internal_operation_encoding case (Tag 1) Operation.internal_operation_encoding
(function Internal op -> Some op | _ -> None) (function Internal op -> Some op | _ -> None)
(fun op -> Internal op) ] (fun op -> Internal op) ]
@ -138,13 +138,13 @@ type manager_operation_result =
let manager_operation_result_encoding = let manager_operation_result_encoding =
union union
[ case Json_only [ case (Tag 0)
(obj2 (obj2
(req "status" (constant "applied")) (req "status" (constant "applied"))
(req "operation_kind" (constant "reveal"))) (req "operation_kind" (constant "reveal")))
(function Applied Reveal_result -> Some ((),()) | _ -> None) (function Applied Reveal_result -> Some ((),()) | _ -> None)
(fun ((),()) -> Applied Reveal_result) ; (fun ((),()) -> Applied Reveal_result) ;
case Json_only case (Tag 1)
(obj8 (obj8
(req "status" (constant "applied")) (req "status" (constant "applied"))
(req "operation_kind" (constant "transaction")) (req "operation_kind" (constant "transaction"))
@ -170,7 +170,7 @@ let manager_operation_result_encoding =
{ operations ; storage ; balance_updates ; { operations ; storage ; balance_updates ;
originated_contracts ; consumed_gas ; originated_contracts ; consumed_gas ;
storage_size_diff })) ; storage_size_diff })) ;
case Json_only case (Tag 2)
(obj6 (obj6
(req "status" (constant "applied")) (req "status" (constant "applied"))
(req "operation_kind" (constant "origination")) (req "operation_kind" (constant "origination"))
@ -194,19 +194,19 @@ let manager_operation_result_encoding =
{ balance_updates ; { balance_updates ;
originated_contracts ; consumed_gas ; originated_contracts ; consumed_gas ;
storage_size_diff })) ; storage_size_diff })) ;
case Json_only case (Tag 3)
(obj2 (obj2
(req "status" (constant "applied")) (req "status" (constant "applied"))
(req "operation_kind" (constant "delegation"))) (req "operation_kind" (constant "delegation")))
(function Applied Delegation_result -> Some ((),()) | _ -> None) (function Applied Delegation_result -> Some ((),()) | _ -> None)
(fun ((),()) -> Applied Delegation_result) ; (fun ((),()) -> Applied Delegation_result) ;
case Json_only case (Tag 4)
(obj2 (obj2
(req "status" (constant "failed")) (req "status" (constant "failed"))
(req "errors" (list Error_monad.error_encoding))) (req "errors" (list Error_monad.error_encoding)))
(function Failed errs -> Some ((), errs) | _ -> None) (function Failed errs -> Some ((), errs) | _ -> None)
(fun ((), errs) -> Failed errs) ; (fun ((), errs) -> Failed errs) ;
case Json_only case (Tag 5)
(obj1 (req "status" (constant "skipped"))) (obj1 (req "status" (constant "skipped")))
(function Skipped -> Some () | _ -> None) (function Skipped -> Some () | _ -> None)
(fun () -> Skipped) ] (fun () -> Skipped) ]
@ -228,13 +228,13 @@ type operation_result =
let encoding = let encoding =
union union
[ case Json_only [ case (Tag 0)
(obj2 (obj2
(req "kind" (constant "anonymous")) (req "kind" (constant "anonymous"))
(req "results" (list anonymous_operation_result_encoding))) (req "results" (list anonymous_operation_result_encoding)))
(function Anonymous_operations_result rs -> Some ((), rs) | _ -> None) (function Anonymous_operations_result rs -> Some ((), rs) | _ -> None)
(fun ((), rs) -> Anonymous_operations_result rs) ; (fun ((), rs) -> Anonymous_operations_result rs) ;
case Json_only case (Tag 1)
(obj3 (obj3
(req "kind" (constant "endorsements")) (req "kind" (constant "endorsements"))
(req "delegate" Signature.Public_key_hash.encoding) (req "delegate" Signature.Public_key_hash.encoding)
@ -248,17 +248,17 @@ let encoding =
Sourced_operation_result Sourced_operation_result
(Consensus_operation_result (Consensus_operation_result
(Endorsements_result (d, s)))) ; (Endorsements_result (d, s)))) ;
case Json_only case (Tag 2)
(obj1 (obj1
(req "kind" (constant "amendment"))) (req "kind" (constant "amendment")))
(function Sourced_operation_result Amendment_operation_result -> Some () | _ -> None) (function Sourced_operation_result Amendment_operation_result -> Some () | _ -> None)
(fun () -> Sourced_operation_result Amendment_operation_result) ; (fun () -> Sourced_operation_result Amendment_operation_result) ;
case Json_only case (Tag 3)
(obj1 (obj1
(req "kind" (constant "dictator"))) (req "kind" (constant "dictator")))
(function Sourced_operation_result Dictator_operation_result -> Some () | _ -> None) (function Sourced_operation_result Dictator_operation_result -> Some () | _ -> None)
(fun () -> Sourced_operation_result Dictator_operation_result) ; (fun () -> Sourced_operation_result Dictator_operation_result) ;
case Json_only case (Tag 4)
(obj3 (obj3
(req "kind" (constant "manager")) (req "kind" (constant "manager"))
(req "balance_updates" balance_updates_encoding) (req "balance_updates" balance_updates_encoding)