// SPDX-License-Identifier: MIT
pragma solidity ^0.8.1;
/**
* @title DebankL2Register
*/
contract DebankL2Register {
mapping(address => uint256) public nonces;
mapping(address => string) public l2Accounts;
event Register(address user, string l2Account, uint256 registerCnt);
function register(string calldata l2Account) public {
l2Accounts[msg.sender] = l2Account;
nonces[msg.sender] += 1;
emit Register(msg.sender, l2Account, nonces[msg.sender]);
}
}
{
"compilationTarget": {
"DebankL2Register.sol": "DebankL2Register"
},
"evmVersion": "paris",
"libraries": {},
"metadata": {
"bytecodeHash": "ipfs"
},
"optimizer": {
"enabled": false,
"runs": 200
},
"remappings": []
}
[{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"user","type":"address"},{"indexed":false,"internalType":"string","name":"l2Account","type":"string"},{"indexed":false,"internalType":"uint256","name":"registerCnt","type":"uint256"}],"name":"Register","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"l2Accounts","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"nonces","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"l2Account","type":"string"}],"name":"register","outputs":[],"stateMutability":"nonpayable","type":"function"}]