You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
New solution is better and more generic.
Use it instead of CopyOnWriteToken in StdDaoToken.
Also, you can use new SnapshotToken wrapper to get balances.
Description
So now we have 2 usage scenarious:
One
PreserveBalancesOnTransferToken token;
token.mint(ADDRESS_A, 100);
assert.equal(token.balanceOf(ADDRESS_A), 100);
assert.equal(token.balanceOf(ADDRESS_B), 0);
SnapshotToken snapshot = token.createNewSnapshot();
token.transfer(ADDRESS_A, ADDRESS_B, 30);
assert.equal(token.balanceOf(ADDRESS_A), 70);
assert.equal(token.balanceOf(ADDRESS_B), 30);
// see here. snapshot is ERC20 compatible, but transfers are locked
assert.equal(snapshot.balanceOf(ADDRESS_A), 100);
assert.equal(snapshot.balanceOf(ADDRESS_B), 0);
token.stopSnapshot(snapshot);
Current code (old code) is here
https://github.com/Thetta/Thetta-DAO-Framework/blob/master/contracts/tokens/CopyOnWriteToken.sol
https://github.com/Thetta/Thetta-DAO-Framework/blob/master/test/tokens/copy_on_write_token.tests.js
New code is here (OpenZeppelin pull request)
https://github.com/Thetta/openzeppelin-solidity/blob/master/contracts/token/ERC20/PreserveBalancesOnTransferToken.sol
https://github.com/Thetta/openzeppelin-solidity/blob/master/contracts/mocks/PreserveBalancesOnTransferTokenMock.sol
https://github.com/Thetta/openzeppelin-solidity/blob/master/test/token/ERC20/PreserveBalancesOnTransferToken.test.js
New solution is better and more generic.
Use it instead of CopyOnWriteToken in StdDaoToken.
Also, you can use new SnapshotToken wrapper to get balances.
Description
So now we have 2 usage scenarious:
One
Two
The text was updated successfully, but these errors were encountered: