anchor.diff:  %%% Node Functions
   %%%===================================================================
   
  --record(node_state, {}).
  +-record(node_state, {messages}).
   
   %% What node-specific operations should be called.
   node_commands() ->
       [
  -        {call, ?MODULE, submit_transaction, [node_name()]},
  -        {call, ?MODULE, wait, [node_name()]}
  +        {call, ?MODULE, submit_transaction, [node_name(), message()]}
       ].
   
   %% Assertion commands.
   node_assertion_functions() ->
  -    [].
  +    [check].
   
   %% Global functions.
   node_global_functions() ->
  -    [sleep].
  +    [sleep, check].
   
   %% What should the initial node state be.
   node_initial_state() ->
       node_debug("initializing", []),
  -    #node_state{}.
  +    #node_state{messages=[]}.
   
   %% Names of the node functions so we kow when we can dispatch to the node
   %% pre- and postconditions.
  
positive.code:                   end, sets:to_list(Chains)),
  
      %% check we actually converged and made a chain
  
      true = (1 == sets:size(Chains)),
      true = (0 < length(hd(sets:to_list(Chains)))),
  
  
negative.code:     {ok, Dealer} = dealer:new(N, F+1, 'SS512'),
      {ok, {PubKey, PrivateKeys}} = dealer:deal(Dealer),
  
      %% Store pubkey.
      true = ets:insert(prop_partisan, {pubkey, PubKey}),
  
      %% each node gets a secret key
      NodesSKs = lists:zip(Nodes, PrivateKeys),
  
  