aboutsummaryrefslogblamecommitdiffstats
path: root/lib/kernel/BranchIndex.mli
blob: 5a867bf3bca020d79440ba37ef01912bf8bb2314 (plain) (tree)



























                                                                                            
type address = Concepts.Hash.hash
type root = address
type branch_name = string
type branch_state_root = address

val default_branch_name : branch_name

module Make (Store : Abstract.Storage.STORAGE) : sig
  type tree

  val empty : tree
  val hash_of : tree -> root
  val persist : Store.transaction -> tree -> (root, Concepts.Condition.condition) result
  val find : Store.transaction -> root -> (tree option, Concepts.Condition.condition) result

  val find_branch :
    Store.transaction ->
    branch_name ->
    tree ->
    (branch_state_root option, Concepts.Condition.condition) result

  val put_branch :
    Store.transaction ->
    branch_name ->
    branch_state_root ->
    tree ->
    (tree, Concepts.Condition.condition) result
end