anchor.diff:      call_func(APub, APriv, EncCPub, <<"transferFrom">>, args_to_binary([BPub,DPub,10000])),
       call_func(APub, APriv, EncCPub, <<"transferFrom">>, args_to_binary([CPub,DPub,15000])),
   
  -
       %% Check the balances.
       call_func(APub, APriv, EncCPub, <<"balanceOf">>, args_to_binary([BPub]), {<<"int">>, 10000}),
       call_func(APub, APriv, EncCPub, <<"balanceOf">>, args_to_binary([CPub]), {<<"int">>, 10000}),
  
positive.code: 
      AppLog = [tuple([addr(CPub), addr(APub), word(15000)]),
                tuple([addr(BPub), addr(APub), word(15000)])],
      call_func(APub, APriv, EncCPub, <<"getApprovalLog">>, <<"()">>,
                {<<"list((address,address,int))">>, AppLog}),
  
  
negative.code: 
  check_value(Val0, {Type, ExpVal}) ->
      #{<<"value">> := Val} = decode_data(Type, Val0),
      ct:log("~p decoded\nas ~p\ninto ~p =??= ~p", [Val0, Type, Val, ExpVal]),
      ?assertEqual(ExpVal, Val).
  
  
  