anchor.diff:        , {deposit, deposit(C)}
         ]).
   
  --spec deserialize(aec_keys:pubkey(), serialized()) -> contract().
  +-spec deserialize(id(), serialized()) -> contract().
   deserialize(Pubkey, Bin) ->
       [ {owner, OwnerId}
       , {vm_version, VmVersion}
  
positive.code: active(C) -> C#contract.active.
  
  %% A list of other contracts referring to this contract.
  -spec referers(contract()) -> [aec_keys:pubkey()].
  referers(C) -> [aec_id:specialize(X, contract) || X <- C#contract.referers].
  
  %% The amount deposited at contract creation.
  
negative.code: set_active(X, C) ->
      C#contract{active = assert_field(active, X)}.
  
  -spec set_referers([id()], contract()) -> contract().
  set_referers(X, C) ->
      C#contract{referers = [aec_id:create(contract, Y)
                             || Y <- assert_field(referers, X)]}.
  