anchor.diff:      {ok, Update} = aens_update_tx:new(UpdateSpec),
       apply_txs([Update], S).
   
  +update_and_check_pointers(Pointers, Pubkey, NameID, Nonce, S0) ->
  +    S1 = update_pointers(Pointers, Pubkey, NameID, Nonce, S0),
  +    N = name_from_id(NameID),
  +    #{trees := T1} = S1,
  +    P1 = aens_names:pointers(aens_state_tree:get_name(N, aec_trees:ns(T1))),
  +    ?assertEqual(Pointers, P1),
  +    S1.
  +
   %% TODO: it'd be nice not to have different atoms for ids and encoding.
   type2id(account_pubkey)  -> account;
   type2id(channel)         -> channel;
  
positive.code:     {ok, Claim} = aens_claim_tx:new(ClaimSpec),
      {apply_txs([Claim], apply_txs([Preclaim], S)), name_id(Hash)}.
  
  update_pointers(Tag, ToPubkey, Pubkey, NameID, Nonce, S) ->
      IdType      = type2id(Tag),
      Pointers    = [aens_pointer:new(atom_to_binary(Tag, utf8), aec_id:create(IdType, ToPubkey))],
      UpdateSpec  = #{ account_id => account_id(Pubkey)
                     , nonce => Nonce
                     , name_id => NameID
  
negative.code: 
  %% test case exports
  -export([ spend_to_name/1
          , spend_to_name_when_multiple_pointer_entries/1
          %% , query_oracle/1
          %% , query_named_oracle/1
          , transfer_name_to_named_account/1
          , transfer_name_to_named_account_when_multiple_pointer_entries/1
          ]).
  
  -import(aec_block_micro_candidate, [apply_block_txs_strict/3
  