Swarm Redistribution uses dividend pathways

contract SwarmRedistribution is RES { struct dividendPathway { address from; uint amount; uint timeStamp; } mapping(address => dividendPathway[]) public dividendPathways;

Each transfer() of RES creates a dividend pathway

/* Send RES tokens */ function transfer(address _to, uint256 _value) { /* Create the dividend pathway */ dividendPathways[_to].push(dividendPathway({ from: msg.sender, amount: _value, timeStamp: now })); uint256 taxCollected = _value * taxRate / 1000;

Sends the collected tax to swarmRedistribution(_to, taxCollected) , computes a swarmTree with all nodes connected to _to via dividend pathways, all nodes connected to those nodes, and so on, using iterateThroughSwarm() , then gives a share of the tax to every human in that swarm tree.

Then decays the dividend pathways,