Remove minter alias in contract

This commit is contained in:
lash 2023-02-12 08:31:08 +00:00
parent 4e6e5300f7
commit 7982dbae97
Signed by: lash
GPG Key ID: 21D2E7BB88C2A746
6 changed files with 26 additions and 13 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -146,9 +146,14 @@ class DemurrageToken(ERC20, SealedContract, ExpiryContract):
return tx return tx
# backwards compatibility
def add_minter(self, contract_address, sender_address, address, tx_format=TxFormat.JSONRPC): def add_minter(self, contract_address, sender_address, address, tx_format=TxFormat.JSONRPC):
return self.add_writer(contract_address, sender_address, address, tx_format=tx_format)
def add_writer(self, contract_address, sender_address, address, tx_format=TxFormat.JSONRPC):
enc = ABIContractEncoder() enc = ABIContractEncoder()
enc.method('addMinter') enc.method('addWriter')
enc.typ(ABIContractType.ADDRESS) enc.typ(ABIContractType.ADDRESS)
enc.address(address) enc.address(address)
data = enc.get() data = enc.get()
@ -169,9 +174,15 @@ class DemurrageToken(ERC20, SealedContract, ExpiryContract):
tx = self.finalize(tx, tx_format) tx = self.finalize(tx, tx_format)
return tx return tx
# backwards compatibility
def remove_minter(self, contract_address, sender_address, address, tx_format=TxFormat.JSONRPC): def remove_minter(self, contract_address, sender_address, address, tx_format=TxFormat.JSONRPC):
return self.delete_writer(contract_address, sender_address, address, tx_format=tx_format)
def delete_writer(self, contract_address, sender_address, address, tx_format=TxFormat.JSONRPC):
enc = ABIContractEncoder() enc = ABIContractEncoder()
enc.method('removeMinter') enc.method('deleteWriter')
enc.typ(ABIContractType.ADDRESS) enc.typ(ABIContractType.ADDRESS)
enc.address(address) enc.address(address)
data = enc.get() data = enc.get()

View File

@ -77,6 +77,12 @@ class TestTokenDeploy:
r = rpc.do(o) r = rpc.do(o)
self.start_time = r['timestamp'] self.start_time = r['timestamp']
(tx_hash, o) = interface.add_writer(self.address, deployer_address, deployer_address)
r = rpc.do(o)
o = receipt(tx_hash)
r = rpc.do(o)
assert r['status'] == 1
return self.address return self.address

View File

@ -27,6 +27,9 @@ class TestAmounts(TestDemurrageDefault):
c = DemurrageToken(self.chain_spec, signer=self.signer, nonce_oracle=nonce_oracle) c = DemurrageToken(self.chain_spec, signer=self.signer, nonce_oracle=nonce_oracle)
(tx_hash, o) = c.mint_to(self.address, self.accounts[0], self.accounts[1], 1000) (tx_hash, o) = c.mint_to(self.address, self.accounts[0], self.accounts[1], 1000)
r = self.rpc.do(o) r = self.rpc.do(o)
o = receipt(tx_hash)
r = self.rpc.do(o)
self.assertEqual(r['status'], 1)
self.backend.time_travel(self.start_time + self.period_seconds) self.backend.time_travel(self.start_time + self.period_seconds)

View File

@ -138,7 +138,6 @@ contract DemurrageTokenSingleNocap {
// ACL setup // ACL setup
owner = msg.sender; owner = msg.sender;
// minter[owner] = true;
// ERC20 setup // ERC20 setup
name = _name; name = _name;
@ -222,26 +221,20 @@ contract DemurrageTokenSingleNocap {
} }
// Given address will be allowed to call the mintTo() function // Given address will be allowed to call the mintTo() function
function addMinter(address _minter) public returns (bool) { function addWriter(address _minter) public returns (bool) {
require(!isSealed(MINTER_STATE)); require(!isSealed(MINTER_STATE));
require(msg.sender == owner); require(msg.sender == owner);
minter[_minter] = true; minter[_minter] = true;
return true; return true;
} }
function addWriter(address _minter) public returns (bool) {
return addMinter(_minter);
}
// Given address will no longer be allowed to call the mintTo() function // Given address will no longer be allowed to call the mintTo() function
function removeMinter(address _minter) public returns (bool) { function deleteWriter(address _minter) public returns (bool) {
require(!isSealed(MINTER_STATE)); require(!isSealed(MINTER_STATE));
require(msg.sender == owner || _minter == msg.sender); require(msg.sender == owner || _minter == msg.sender);
minter[_minter] = false; minter[_minter] = false;
return true; return true;
} }
function deleteWriter(address _minter) public returns (bool) {
return removeMinter(_minter);
}
/// Implements ERC20 /// Implements ERC20
function balanceOf(address _account) public view returns (uint256) { function balanceOf(address _account) public view returns (uint256) {