Alpha: allow to iter on delegates
This commit is contained in:
parent
54efe8fcd7
commit
b63b333b1a
@ -471,6 +471,12 @@ module Delegate : sig
|
||||
val set:
|
||||
context -> Contract.t -> public_key_hash option -> context tzresult Lwt.t
|
||||
|
||||
val fold:
|
||||
context ->
|
||||
init:'a -> f:(public_key_hash -> 'a -> 'a Lwt.t) -> 'a Lwt.t
|
||||
|
||||
val list: context -> public_key_hash list Lwt.t
|
||||
|
||||
end
|
||||
|
||||
module Vote : sig
|
||||
|
@ -111,8 +111,17 @@ let set c contract delegate =
|
||||
unlink c contract balance >>=? fun c ->
|
||||
Storage.Contract.Delegate.init_set c contract delegate >>= fun c ->
|
||||
link c contract delegate balance >>=? fun c ->
|
||||
begin
|
||||
if self_delegation then
|
||||
Storage.Delegate.add c delegate
|
||||
else
|
||||
Lwt.return c
|
||||
end >>= fun c ->
|
||||
return c
|
||||
|
||||
let remove ctxt contract =
|
||||
Storage.Contract.Balance.get ctxt contract >>=? fun balance ->
|
||||
unlink ctxt contract balance
|
||||
|
||||
let fold = Storage.Delegate.fold
|
||||
let list = Storage.Delegate.elements
|
||||
|
@ -26,3 +26,10 @@ val set:
|
||||
Raw_context.t tzresult Lwt.t
|
||||
|
||||
val remove: Raw_context.t -> Contract_repr.t -> Raw_context.t tzresult Lwt.t
|
||||
|
||||
val fold:
|
||||
Raw_context.t ->
|
||||
init:'a ->
|
||||
f:(Ed25519.Public_key_hash.t -> 'a -> 'a Lwt.t) -> 'a Lwt.t
|
||||
|
||||
val list: Raw_context.t -> Ed25519.Public_key_hash.t list Lwt.t
|
||||
|
@ -129,6 +129,11 @@ module Contract = struct
|
||||
|
||||
end
|
||||
|
||||
module Delegate =
|
||||
Make_data_set_storage
|
||||
(Make_subcontext(Raw_context)(struct let name = ["delegates"] end))
|
||||
(Ed25519.Public_key_hash)
|
||||
|
||||
(** Rolls *)
|
||||
|
||||
module Cycle = struct
|
||||
|
@ -154,6 +154,10 @@ module Contract : sig
|
||||
|
||||
end
|
||||
|
||||
module Delegate : Data_set_storage
|
||||
with type t := Raw_context.t
|
||||
and type elt = Ed25519.Public_key_hash.t
|
||||
|
||||
(** Votes *)
|
||||
|
||||
module Vote : sig
|
||||
|
Loading…
Reference in New Issue
Block a user