// StandardController.sol
function permit(
address owner,
address spender,
uint256 value,
uint256 deadline,
uint8 v,
bytes32 r,
bytes32 s
)
Adding getPermitDigest helper
// StandardController.sol
function getPermitDigest(
address owner,
address spender,
uint256 value,
uint256 nonce,
uint256 deadline
) public view returns (bytes32)
ERC1271 with ByteArray
Replace Signature points (r,s,v) with ByteArray for Burn Function
// MintableController.sol
function burnFrom(
address from,
uint256 amount,
bytes32 h,
bytes memory signature
) public onlySystemAccount(msg.sender) returns (bool)
The revised process significantly alters the token burning mechanism by changing the flow and responsibilities between the Controller and TokenFrontend contracts:
Initial Process:
Monerium's system invokes the burnFrom function on the TokenFrontend contract.
Subsequently, TokenFrontend calls the BurnFrom_WithCaller function on the Controller contract, leading to the tokens being burned.
Following this, TokenFrontend is responsible for emitting the relevant event.
Revised Process:
Monerium's system now directly calls the burnFrom function on the Controller contract, which results in the tokens being burned.
The Controller contract then calls the burnFrom function on the TokenFrontend, triggering the emission of the event.
Lastly, TokenFrontend calls the Controller's burnFrom_WithCaller function, which in this revision, simply returns without performing any action.
Additionals helper and scripts
Adding isAdminAccount
Adding scripts to deploy, configure and verify tokens.
ERC2612
Adding ERC2612
permit
Adding
getPermitDigest
helperERC1271 with ByteArray
Replace Signature points (r,s,v) with ByteArray for
Burn
FunctionThe revised process significantly alters the token burning mechanism by changing the flow and responsibilities between the Controller and TokenFrontend contracts:
Initial Process:
Revised Process:
Additionals helper and scripts
isAdminAccount