diff --git a/accounts.json b/accounts.json index 6f72667f..ff9763a5 100644 --- a/accounts.json +++ b/accounts.json @@ -1,12 +1,12 @@ [ - "0x0014a467b34c0fec609e97065bb901b54e849864", - "0xc03337ab2c5fe73136e7e6560ac682c7e636aa1f", - "0xb9226caa311d9f9cd5050f65f4f9ab8ecc096c80", - "0x4a62414664feadc6a3ba18b45b7a69ff406d3a24", - "0x91981799fce707f12947c07d0d9b96440dfaea71", - "0x7b5796f38bb647ffb59736137715ddea86acfc7a", - "0x87692a4cb66a64678811c7147f397010c857b3e9", - "0x1de03ccba13b794ae482e0f49cedef9bb43b8cc2", - "0xe01a885ca3625696388c41c4707cb817fe37c71b", - "0x279e1b787968699827e6e5bb940372b8702c8aec" + "0x83ab44a76fc2e7238fca811e38e41845ed1a9fb3", + "0xbcccfb280ff402bc5a593dfce2b3dc736e17e7ba", + "0x6d929ebae40bbf96f52e3f82bd831c2891a0d75d", + "0x9916ebeef94abca7564ce7dabcbacd434f4015cd", + "0xf89f0b05980fb8c7b3d985206707f20a6189c5de", + "0x87460046866e93e99273a9f8a94d1e5764774dc9", + "0x65a67881065abe61de49c13c44f55a7916c252ae", + "0x557f883a3a7b4609ca1251c60253c79e275ba1a6", + "0x310ddb0d62b77fb195dcaebfadcebaf3978c198f", + "0x4449f9fcc41cf2275fd3631e044e3cf9d603efc2" ] \ No newline at end of file diff --git a/addresses.json b/addresses.json index b390a3ab..9617d672 100644 --- a/addresses.json +++ b/addresses.json @@ -1,18 +1,18 @@ { - "MyBit": "0xa41c769a1ae09e1bf5e094eee6af5a7e8bb184cd", - "ERC20Burner": "0xb7696f07b832b268e09b1aee6d950b0583615a24", - "Database": "0x79535bb0e9252e0a6d20fbbb415f43d8a5216bb2", - "ContractManager": "0xe1e85d651634502df6dab032bb0b9710c446a7ba", - "API": "0xc311ba144a3c1b7c886922b2c8114e70ea30c316", - "SingleOwned": "0x9989be8f4da2db92a20140748536e9a9a99fafd8", - "Pausible": "0x950881926b3cf4072f995e5424d152619e79ad9d", - "AccessHierarchy": "0xe907a7f3df505bb62d626499a99f3e0f95bfde26", - "PlatformFunds": "0xc054c2cce911ad2fcc0add815a034850ee514e4c", - "Operators": "0xd4bfc4bbc9f1737f5b0d7a17922c159c9dc23564", - "AssetManagerEscrow": "0x0585ad4a85e927a2117163db3683669815620e36", - "CrowdsaleETH": "0x1d758f88f4c5519419983a3b0ed84cd34df6cad8", - "CrowdsaleGeneratorETH": "0x23afb0e6004179c9358d42806569d2aebbe075a4", - "CrowdsaleERC20": "0x3ebdbcc63f0336c4e7d97a5813e0947bf3806042", - "CrowdsaleGeneratorERC20": "0x5413e2dcfdc50436f30630c8d6fa7c821e9201a4", - "AssetExchange": "0x63d20632ceaac2118555d03d6ff0bb8598155298" + "MyBit": "0x8a36b3e2b97fceadb96f42975f6b2fd5af1cadd2", + "ERC20Burner": "0xedc8486aebbaeed27a2d14a0cb5f01586828cff4", + "Database": "0xacabd45a26baf228a6f753f63c75730edc377cea", + "ContractManager": "0xaa0a3786966d598686ba95897577b5443e76f4f3", + "API": "0x02ee482c286dfd1ae43d3bd3315dec0f6ee4ee6f", + "SingleOwned": "0x8e43584cbfdfe8a646b901363c810087574594cb", + "Pausible": "0xd1f82620bbd1f8eaa329c3250b6edc1db9515ae3", + "AccessHierarchy": "0xd96a07f8e1c81b5fec25d5b49a92030a2dfcab6f", + "PlatformFunds": "0xc01dc119cc3791a7e0cf2dd08eef3e143577794c", + "Operators": "0xdb17f66f6d536b092a72177311c45a31e59bc8e5", + "AssetManagerEscrow": "0x96e5fafbb47ff3a9f9d261d549b720e9f2120b84", + "CrowdsaleETH": "0xb85c21e4afdaa416c068ebf1e74e24e7a2e446c2", + "CrowdsaleGeneratorETH": "0x3e1553ae089cf495418786a5ffeb314bcdfef205", + "CrowdsaleERC20": "0xacd78e2db9c77e2242f74d47438c5824cf6e02ce", + "CrowdsaleGeneratorERC20": "0x1d96b9640ef47e5e8e6161bf30a1cb798ab9e7ef", + "AssetExchange": "0xf93210ea71bbd541b2362c4e1b1ff3ff5c3cfb5c" } \ No newline at end of file diff --git a/contracts/ownership/AssetGovernance.sol b/contracts/ownership/AssetGovernance.sol index 4b37a6f4..73a4c899 100644 --- a/contracts/ownership/AssetGovernance.sol +++ b/contracts/ownership/AssetGovernance.sol @@ -78,7 +78,6 @@ contract AssetGovernance { bytes32 executionID = keccak256(abi.encodePacked(_executingContract, _assetID, _methodID, _parameterHash)); bytes32 numVotesID = keccak256(abi.encodePacked("voteTotal", executionID)); uint256 numTokens = assetToken.totalSupply(); - emit LogConsensus(numVotesID, database.uintStorage(numVotesID), numTokens, executionID, database.uintStorage(numVotesID).mul(100).div(numTokens)); return database.uintStorage(numVotesID).mul(scalingFactor).mul(100).div(numTokens).div(scalingFactor) >= consensus; } diff --git a/contracts/roles/AssetManagerEscrow.sol b/contracts/roles/AssetManagerEscrow.sol index 776159af..f79a488e 100644 --- a/contracts/roles/AssetManagerEscrow.sol +++ b/contracts/roles/AssetManagerEscrow.sol @@ -82,7 +82,7 @@ require(removeAssetManager(_assetID, oldAssetManagerEscrowID)); if (_burn) { require(token.burn(oldEscrowRemaining)); } else { require(token.transfer(_oldAssetManager, oldEscrowRemaining)); } - // require(lockEscrowInternal(msg.sender, _assetID, _amount)); + require(lockEscrowInternal(msg.sender, _assetID, _amount)); return true; } diff --git a/coverageEnv b/coverageEnv index afd580ca..7213dc38 160000 --- a/coverageEnv +++ b/coverageEnv @@ -1 +1 @@ -Subproject commit afd580cad8a90fe16a8348af0e9d77b44c1aa083 +Subproject commit 7213dc387a7fa8fcaaecc7e73dd50bcc177ffc15 diff --git a/scTopics b/scTopics new file mode 100644 index 00000000..b29a53b7 --- /dev/null +++ b/scTopics @@ -0,0 +1,36 @@ +2decad8bb48804f0ee5d6db8d0af172133549dae6e87c580f8d4785b0a98a98c +f34edc0ebcd1b17116ff08d7496f017ec97263cfb9204e567e99cfd600c86a94 +61a99104105e93063e832b5caa1aff9e843d3ccb8856b2fbf87fd87c5994fb4f +406bb77c76a961878a9fd4dc62fc55850e4cf45e04dbb10997ff2200525af2bb +88c689ce203653ceef25729fbfafd1d88368ffdc653b6455de60529c3c38f972 +3c4afb3481123e55db3a3b4be9f256372a1da4da7d928f0abe156c7e11a2bd3a +0ca76200f2cbba9d442b4d488715c9cfa2b2a5fa1851ffab16246afe876f0bda +b316a66ff53eb90eea8654c8b3be7dd2c4ff73de6ecd93e5e7d638478ffbf89b +9ed4c7f03bca476f010a14f2645be8dd3b346f3eff949f47187752aaf3a74cc5 +6249617f357b193bbe3575a3a4354d394beadd04976d1e97feea5d9c9bb43272 +26775bfc8cdc046300e40fd06986d993bdbc9745820932c623479153555b2b58 +76894f3f43405586276a391d46dcf3fb44f068502398bfc3bd94ca74d9b17db5 +1ada3ebe9c7d7888935ef008df211264b7955ab7adf154420c5bcb690e6c905c +5757179a234073e47bf5234f10e81deab6a6f4b0286ce2eb8b3268b4fecabc4d +03617faa817f69a09ff99db36fed8f03429c01c76ed78e8fc520a116cf51b903 +0fd9c04ca9ef032499a1245920802f72952ece913c5e9c2918c134fb88daab28 +5fefc4b9ca44ae826cdd73195b8c01f0ab320538ee0d967f042dc8f3d542c997 +6060218136c5ffe9e5a19b21eed208cebd47950358a69d562233287fcec010a6 +757cd168a49b9acc83db53171bb0a87208582e418fc434c2ca2efeb9089d0922 +aa01a7ccaceb83667ab8b95a06d73975161f4fdf485e5ca9911a09f70b4a8da8 +e917cad2e45fc715729178bfe5788dea7a6ff46be501eac7c7d3fc09a89e9a89 +ef70472a810ac05b12fb9f6628e33f8bd27747531a5b89fe2b5d3ed96bfb24e8 +31132a67ac736d4e40522e88a5436b70edadb1a9cf45b668c0d9506b0b736b8f +4e0819defedf0f946ba9f14d45cf0ba8a1406a0f9b2854c303e43377b3fe498a +ddb01d1203b1a6024cac3b0de279683905c3013a33087961b8c167d511f88630 +61b7cbe6fd215363821c7c167c462bc83657af55404c14019588997f3e96580e +2f4e40ec22c2e77e00a1a025ae04c2aa684d7e50130fba597e204f6ed74d07bd +52f5c708878631c472f0c1ca1967743febc80819e04d6b90add1b12ff5fa2de7 +04fcfa9d98ff9a287a3f7e5a27942a6dc1371ca44543575b4ed465b1d40b1a82 +e6c51694889ce622f8cfe8a9ba1d12155779fc8ebed268cd0aace47a68af025a +7486347735fb510164d18d7a0591c96869c67861b4ead136c9b322e7949c1773 +56ea55d33b170e1a953a2bfc5ac3786e8b37ad16ad55958cfdf7db32bf3a686b +1ae408e8a7ff42bf83c94e421fe6524d2493f12699276d135e2d1e022ac08da9 +afde17ae1f536ebf7f5c2fabec38133e2661a50359ed93d212e8f0d0a3241f60 +b8fb0d01700c127d74e6a0895140fb6587001ff32c6f542bc38829806cd01c6a +9ce390764728004155ca2fbaa37a38718719ec7ba97885dfcdc06e4a54f7ddc6 diff --git a/test/AssetGovernance.js b/test/AssetGovernance.js index 3ba3b811..02339138 100644 --- a/test/AssetGovernance.js +++ b/test/AssetGovernance.js @@ -45,7 +45,7 @@ contract('AssetGovernance', async() => { let api; let hash; let govToken; - let burnToken; + let platformToken; let governance; let methodID; @@ -77,13 +77,16 @@ contract('AssetGovernance', async() => { }); it("Deploy standard token", async() => { - burnToken = await PlatformToken.new('MyB', 180000000*ETH); + platformToken = await PlatformToken.new('MyB', 180000000*ETH); }); - it("Transfer token to assetManager", async() => { - await burnToken.transfer(assetManager, 100*ETH); - assetManagerBalance = await burnToken.balanceOf(assetManager); + it("Transfer token to assetManagers", async() => { + await platformToken.transfer(assetManager, 100*ETH); + assetManagerBalance = await platformToken.balanceOf(assetManager); assert.equal(assetManagerBalance, 100*ETH); + await platformToken.transfer(newAssetManager, 100*ETH); + newAssetManagerBalance = await platformToken.balanceOf(newAssetManager); + assert.equal(newAssetManagerBalance, 100*ETH); }); it('Deploy api', async() => { @@ -95,7 +98,7 @@ contract('AssetGovernance', async() => { platform = await Platform.new(db.address); await cm.addContract('PlatformFunds', platform.address); await platform.setPlatformWallet(owner); - await platform.setPlatformToken(burnToken.address); + await platform.setPlatformToken(platformToken.address); }); it('Deploy assetManager escrow', async() => { @@ -120,11 +123,11 @@ contract('AssetGovernance', async() => { }); it("Lock escrow", async() => { - let balanceBefore = await burnToken.balanceOf(assetManager); - await burnToken.approve(escrow.address, 2*ETH, {from:assetManager}); + let balanceBefore = await platformToken.balanceOf(assetManager); + await platformToken.approve(escrow.address, 2*ETH, {from:assetManager}); tx = await escrow.lockEscrow(assetID, 2*ETH, {from:assetManager}); assetManagerEscrowID = tx.logs[0].args._assetManagerEscrowID; - let balanceAfter = await burnToken.balanceOf(assetManager); + let balanceAfter = await platformToken.balanceOf(assetManager); let diff = bn(balanceBefore).minus(balanceAfter); assert.equal(diff, 2*ETH); }); @@ -219,7 +222,7 @@ contract('AssetGovernance', async() => { assert.notEqual(err, undefined); }) - + it("Fail executing new assetManager", async() => { let err; let consensusProgress = await api.getCurrentConsensus(executionID, govToken.address); @@ -259,7 +262,7 @@ contract('AssetGovernance', async() => { it("Change AssetManager", async() => { - await govToken.approve(escrow.address, 10*ETH, {from: newAssetManager}); + await platformToken.approve(escrow.address, 10*ETH, {from: newAssetManager}); let consensus = await governance.isConsensusReached(escrow.address, assetID, methodID, parameterHash); console.log("consensus is reached? ", consensus); // let e = await governance.LogConsensus({}, {fromBlock: 0, toBlock: 'latest'}); diff --git a/test/addresses.json b/test/addresses.json index 11ae1297..c4941f10 100644 --- a/test/addresses.json +++ b/test/addresses.json @@ -1,18 +1,18 @@ { - "MyBit": "0xf26f5bbfb5c84466c848cea90946484cf19be691", - "ERC20Burner": "0x9ec417bab29b85e90f8d6aea280ff3f5f353e9f3", - "Database": "0x18c7d9ec93c7284dbc68a07ffb44be13f7a895a9", - "ContractManager": "0x5909d5d1f04de0c89c88bc0934c139dbea99771b", - "API": "0xbabe2a4eefcd6068bc36c9febabcae8567c7fc27", - "SingleOwned": "0x28ec4f51059c491d78864f44253a7024687f5fb6", - "Pausible": "0x76ef04888859a1bc7f5198d6b58ace41d1ecaeb1", - "AccessHierarchy": "0x9551c7449a7f8ba6fcf8daa0d6a282ac84531dcc", - "PlatformFunds": "0x6eb1827db9164ec66dff62b7d601143c07286434", - "Operators": "0xe7c5b12fcbec45cd1696413175eb2c9b9ce7982e", - "AssetManagerEscrow": "0x75380c3308b3597b8db48beaf07cc5bd2b604ff5", - "CrowdsaleETH": "0x7123994a506e83589bc9163a871af53bbe413aec", - "CrowdsaleGeneratorETH": "0x7356d3527c8d3ece26197165a044adb51e98f047", - "CrowdsaleERC20": "0x2a47d60ffe5c2c63603aa59d5de303c2863f77f2", - "CrowdsaleGeneratorERC20": "0xf2bf3411f2abe17f51d19d6604176bc2cba22977", - "AssetExchange": "0x66adfc373317f32bce18e6b781068a76c9cc5fc7" + "MyBit": "0xe358ea7a05daa9276d9adb06ca34b382d981b0c2", + "ERC20Burner": "0xd9fe81dc41b60b546748e25636575e5013ca0a2c", + "Database": "0x796d96f13481a333f474700a13f55db648f69dcb", + "ContractManager": "0xa3efa08399a355bccefd89d58e0572464e23b7bd", + "API": "0xb2a1c103fcf1a8a52d03281e8084160d182a0ef6", + "SingleOwned": "0x2a2c9551f9fa00f96272d1ac96bb02aa78b8ef10", + "Pausible": "0x2ccd557c83fea42412f314e0ee1e000593a70b3b", + "AccessHierarchy": "0xa4443513ba8362350a49554a908f1c70c1c4350c", + "PlatformFunds": "0xc38ec3e982efe56ae55fe98f74d1635b4838580a", + "Operators": "0x0deb614055a4da85983f3219cad77bf9bf83091e", + "AssetManagerEscrow": "0xdbc841d3e3f8e8d9512e1ad9c8b4140f959426be", + "CrowdsaleETH": "0x80bf6328695a47b33e1daaa9bc86a381ae1851db", + "CrowdsaleGeneratorETH": "0xf636c78b42bd1df77e0fafcc647bb0fa188a4459", + "CrowdsaleERC20": "0xb0678df3d9d2dee346f8c7692f0c5f83a3cbe62d", + "CrowdsaleGeneratorERC20": "0xe111740d7f16920510c411b0a0875e63c4e7dbeb", + "AssetExchange": "0xbca439609a7d0e0ae1a3f36502c4c3a2419048d8" } \ No newline at end of file