anchor.diff:  -spec put_zone({binary(), binary(), [#dns_rr{}]}) -> ok | {error, Reason :: term()}.
   put_zone({Name, Sha, Records, AllowNotifyList, AllowTransferList, AllowUpdateList, AlsoNotifyList,
       NotifySourceIP}) ->
  -  erldns_storage:insert(zones, {normalize_name(Name), build_zone(Name, Sha, Records, AllowNotifyList,
  -      AllowTransferList, AllowUpdateList, AlsoNotifyList, NotifySourceIP)}).
  +  erldns_storage:insert(zones, {normalize_name(Name), build_zone(Name, AllowNotifyList,
  +      AllowTransferList, AllowUpdateList, AlsoNotifyList, NotifySourceIP, Sha, Records)}).
   
   %% @doc Put a zone into the cache and wait for a response.
   -spec put_zone(binary(), #zone{}) -> ok | {error, Reason :: term()}.
  
positive.code: % Write APIs
  -export([
           build_zone/8,
           put_zone/1,
           put_zone/2,
           put_zone_async/1,
  
negative.code: 
  handle_cast({put, Name, Sha, Records, AllowNotifyList, AllowTransferList, AllowUpdateList, AlsoNotifyList,
      NotifySourceIP}, State) ->
    erldns_storage:insert(zones, {normalize_name(Name), build_zone(Name, AllowNotifyList,
        AllowTransferList, AllowUpdateList, AlsoNotifyList, NotifySourceIP, Sha, Records)}),
    {noreply, State};
  
  handle_cast({delete, Name}, State) ->
  