Skip to content

Commit 6ff86a6

Browse files
committed
burn clover coin when seller is contract
1 parent f13c284 commit 6ff86a6

File tree

4 files changed

+21
-4
lines changed

4 files changed

+21
-4
lines changed

contracts/ClubTokenController.sol

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -142,6 +142,11 @@ contract ClubTokenController is IClubTokenController, BancorFormula, HasNoTokens
142142
clubToken.transfer(msg.value);
143143
}
144144

145+
function burn(address from, uint256 amount) public {
146+
require(msg.sender == simpleCloversMarket);
147+
IClubToken(clubToken).burn(from, amount);
148+
}
149+
145150
function transferFrom(address from, address to, uint256 amount) public {
146151
require(msg.sender == simpleCloversMarket || msg.sender == curationMarket);
147152
IClubToken(clubToken).transferFrom(from, to, amount);

contracts/SimpleCloversMarket.sol

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,12 @@ contract SimpleCloversMarket is Ownable {
7070
if(IClubToken(clubToken).balanceOf(msg.sender) < sellPrice) {
7171
IClubTokenController(clubTokenController).buy.value(msg.value)(msg.sender);
7272
}
73-
IClubTokenController(clubTokenController).transferFrom(msg.sender, sellFrom, sellPrice);
73+
// if seller is Clovers Contract, burn the money
74+
if (sellFrom == clovers) {
75+
IClubTokenController(clubTokenController).burn(msg.sender, sellPrice);
76+
} else {
77+
IClubTokenController(clubTokenController).transferFrom(msg.sender, sellFrom, sellPrice);
78+
}
7479
ICloversController(cloversController).transferFrom(sellFrom, msg.sender, _tokenId);
7580
delete(sells[_tokenId]);
7681
updatePrice(_tokenId, 0);

helpers/migVals.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,9 @@ var vals = (module.exports = {
1616

1717
decimals: '18',
1818
oracle: '0xb20fbdc70c19d0ebcee204d32e1828fca9c2fb09',
19-
reserveRatio: '333333', // parts per million 500000 / 1000000 = 1/2
20-
virtualBalance: utils.toWei('33'),
21-
virtualSupply: utils.toWei('100000'),
19+
reserveRatio: '750000', // parts per million 500000 / 1000000 = 1/2
20+
virtualBalance: utils.toWei('10'),
21+
virtualSupply: utils.toWei('10000'),
2222
virtualBalanceCM: utils.toWei('33333'),
2323
virtualSupplyCM: utils.toWei('100000'),
2424
updateCloversController,

migrations/12_migrate_from_new_contract.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ var start = 0
77
// var Web3 = require('web3')
88
var fs = require('fs');
99
const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000'
10+
11+
const badAccounts = ['0x5899c1651653E1e4A110Cd45C7f4E9F576dE0670', '0x35b701E4550f0FCC45d854040562e35A4600e4Ee', '0x284bAAE3a186f6272309f7cc955AA76f21cF5375', ]
12+
const goodOwner = '0x45e25795A72881a4D80C59B5c60120655215a053' // clovers "goodPlayer" account
1013
module.exports = async function(deployer, network, accounts) {
1114
if (network === 'test') return
1215
var doFors = (n, i = 0, func) => {
@@ -66,6 +69,10 @@ module.exports = async function(deployer, network, accounts) {
6669
var tokenId = await clovers.tokenByIndex(i)
6770

6871
let owner = await clovers.ownerOf(tokenId)
72+
if (badAccounts.map( a => a.replace("0x", "").toLowerCase()).includes(owner.toLowerCase().replace("0x", ""))) {
73+
owner = goodOwner
74+
}
75+
6976
let keep = await clovers.getKeep( tokenId)
7077
let blockMinted = await clovers.getBlockMinted(tokenId)
7178
let cloverMoves = await clovers.getCloverMoves(tokenId)

0 commit comments

Comments
 (0)