anchor.diff:  
   handle_call({put, Name, Sha, Records, AllowNotifyList, AllowTransferList, AllowUpdateList, AlsoNotifyList,
       NotifySourceIP}, _From, State) ->
  -  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)}),
     {reply, ok, State}.
   
   handle_cast({put, Name, Zone}, State) ->
  
positive.code: % Write APIs
  -export([
           build_zone/8,
           put_zone/1,
           put_zone/2,
           put_zone_async/1,
  
negative.code: -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, 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()}.
  