UNPKG

@settlemint/solidity-token-erc20-crowdsale

Version:
1 lines 59.7 kB
{"abi":[{"type":"constructor","inputs":[{"name":"name_","type":"string","internalType":"string"},{"name":"symbol_","type":"string","internalType":"string"},{"name":"supply_","type":"uint256","internalType":"uint256"},{"name":"wallet_","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"DEFAULT_ADMIN_ROLE","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"allowance","inputs":[{"name":"owner","type":"address","internalType":"address"},{"name":"spender","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"approve","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"balanceOf","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8","internalType":"uint8"}],"stateMutability":"view"},{"type":"function","name":"getRoleAdmin","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"grantRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"hasRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"renounceRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"callerConfirmation","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"revokeRole","inputs":[{"name":"role","type":"bytes32","internalType":"bytes32"},{"name":"account","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"supportsInterface","inputs":[{"name":"interfaceId","type":"bytes4","internalType":"bytes4"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"transfer","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"transferFrom","inputs":[{"name":"from","type":"address","internalType":"address"},{"name":"to","type":"address","internalType":"address"},{"name":"value","type":"uint256","internalType":"uint256"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"event","name":"Approval","inputs":[{"name":"owner","type":"address","indexed":true,"internalType":"address"},{"name":"spender","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"RoleAdminChanged","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"previousAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"newAdminRole","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RoleGranted","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"RoleRevoked","inputs":[{"name":"role","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"account","type":"address","indexed":true,"internalType":"address"},{"name":"sender","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"event","name":"Transfer","inputs":[{"name":"from","type":"address","indexed":true,"internalType":"address"},{"name":"to","type":"address","indexed":true,"internalType":"address"},{"name":"value","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"AccessControlBadConfirmation","inputs":[]},{"type":"error","name":"AccessControlUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"},{"name":"neededRole","type":"bytes32","internalType":"bytes32"}]},{"type":"error","name":"ERC20InsufficientAllowance","inputs":[{"name":"spender","type":"address","internalType":"address"},{"name":"allowance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InsufficientBalance","inputs":[{"name":"sender","type":"address","internalType":"address"},{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"ERC20InvalidApprover","inputs":[{"name":"approver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidReceiver","inputs":[{"name":"receiver","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSender","inputs":[{"name":"sender","type":"address","internalType":"address"}]},{"type":"error","name":"ERC20InvalidSpender","inputs":[{"name":"spender","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x6080604052346103bb5761112080380380610019816103bf565b9283398101906080818303126103bb5780516001600160401b0381116103bb57826100459183016103e4565b602082015190926001600160401b0382116103bb576100659183016103e4565b604082015160609092015190916001600160a01b038216918290036103bb5783516001600160401b0381116102cc57600354600181811c911680156103b1575b60208210146102ae57601f811161034e575b50602094601f82116001146102eb579481929394955f926102e0575b50508160011b915f199060031b1c1916176003555b82516001600160401b0381116102cc57600454600181811c911680156102c2575b60208210146102ae57601f811161024b575b506020601f82116001146101e857819293945f926101dd575b50508160011b915f199060031b1c1916176004555b61015233610435565b5081156101ca57600254908082018092116101b65760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3604051610c4190816104bf8239f35b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b015190505f80610134565b601f1982169060045f52805f20915f5b8181106102335750958360019596971061021b575b505050811b01600455610149565b01515f1960f88460031b161c191690555f808061020d565b9192602060018192868b0151815501940192016101f8565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c810191602084106102a4575b601f0160051c01905b818110610299575061011b565b5f815560010161028c565b9091508190610283565b634e487b7160e01b5f52602260045260245ffd5b90607f1690610109565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d3565b601f1982169560035f52805f20915f5b8881106103365750836001959697981061031e575b505050811b016003556100e8565b01515f1960f88460031b161c191690555f8080610310565b919260206001819286850151815501940192016102fb565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c810191602084106103a7575b601f0160051c01905b81811061039c57506100b7565b5f815560010161038f565b9091508190610386565b90607f16906100a5565b5f80fd5b6040519190601f01601f191682016001600160401b038111838210176102cc57604052565b81601f820112156103bb578051906001600160401b0382116102cc57610413601f8301601f19166020016103bf565b92828452602083830101116103bb57815f9260208093018386015e8301015290565b6001600160a01b0381165f9081525f5160206111005f395f51905f52602052604090205460ff166104b9576001600160a01b03165f8181525f5160206111005f395f51905f5260205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f9056fe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146107d65750806306fdde03146106fc578063095ea7b31461066d57806318160ddd1461065057806323b872dd146104da578063248a9ca3146104a75780632f2ff15d14610469578063313ce5671461044e57806336568abe146103e457806370a08231146103a057806391d148541461034957806395d89b41146101ce578063a217fddf146101b4578063a9059cbb14610183578063d547741f1461013e5763dd62ed3e146100cc575f80fd5b3461013a57604060031936011261013a576100e561089e565b73ffffffffffffffffffffffffffffffffffffffff6101026108c1565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461013a57604060031936011261013a5761018160043561015d6108c1565b9061017c610177825f526005602052600160405f20015490565b610a06565b610b41565b005b3461013a57604060031936011261013a576101a961019f61089e565b60243590336108e4565b602060405160018152f35b3461013a575f60031936011261013a5760206040515f8152f35b3461013a575f60031936011261013a576040515f600454908160011c6001831692831561033f575b6020821084146103125781855284939081156102d05750600114610274575b5003601f01601f191681019067ffffffffffffffff8211818310176102475761024382918260405282610874565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102b45750508101602001601f19610215565b602091935080600191548385880101520191019091839261029e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b84019091019150601f199050610215565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101f6565b3461013a57604060031936011261013a576103626108c1565b6004355f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060ff60405f2054166040519015158152f35b3461013a57602060031936011261013a5773ffffffffffffffffffffffffffffffffffffffff6103ce61089e565b165f525f602052602060405f2054604051908152f35b3461013a57604060031936011261013a576103fd6108c1565b3373ffffffffffffffffffffffffffffffffffffffff8216036104265761018190600435610b41565b7f6697b232000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461013a575f60031936011261013a57602060405160128152f35b3461013a57604060031936011261013a576101816004356104886108c1565b906104a2610177825f526005602052600160405f20015490565b610a6d565b3461013a57602060031936011261013a5760206104d26004355f526005602052600160405f20015490565b604051908152f35b3461013a57606060031936011261013a576104f361089e565b6104fb6108c1565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610577575b506101a993506108e4565b83811061061c5784156105f05733156105c4576101a9945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390558461056c565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b3461013a575f60031936011261013a576020600254604051908152f35b3461013a57604060031936011261013a5761068661089e565b6024359033156105f05773ffffffffffffffffffffffffffffffffffffffff169081156105c457335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461013a575f60031936011261013a576040515f600354908160011c600183169283156107cc575b6020821084146103125781855284939081156102d05750600114610770575003601f01601f191681019067ffffffffffffffff8211818310176102475761024382918260405282610874565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8183106107b05750508101602001601f19610215565b602091935080600191548385880101520191019091839261079a565b90607f1690610724565b3461013a57602060031936011261013a57600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361013a57817f7965db0b000000000000000000000000000000000000000000000000000000006020931490811561084a575b5015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483610843565b601f19601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013a57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013a57565b73ffffffffffffffffffffffffffffffffffffffff169081156109da5773ffffffffffffffffffffffffffffffffffffffff169182156109ae57815f525f60205260405f205481811061097c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f20541615610a3e5750565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f205416155f14610b3b57805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f2054165f14610b3b57805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905573ffffffffffffffffffffffffffffffffffffffff339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a460019056fea26469706673582212204c1473072045628c763cb667d4e6117643be187fafd207d6ddd41a67649172b364736f6c634300081b003305b8ccbb9d4d8fb16ea74ce3c29a41f1b461fbdaff4714a0d9a8eb05499746bc","sourceMap":"320:545:1:-:0;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;320:545:1;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;;;320:545:1;;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;320:545:1;;;;;;;;;;-1:-1:-1;;;;;320:545:1;;;;1648:13:37;320:545:1;;;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;;;;;;1648:13:37;320:545:1;;;;;1648:13:37;320:545:1;;;;-1:-1:-1;;;;;320:545:1;;;;1671:17:37;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;;;;;;1648:13:37;320:545:1;;;;;1671:17:37;320:545:1;;502:44;735:10:42;502:44:1;:::i;:::-;;7509:21:37;;7505:91;;6214:21;320:545:1;;;;;;;;;;;7064:25:37;320:545:1;-1:-1:-1;320:545:1;6214:21:37;320:545:1;;;;;;;;;;;;;;;;;;;;;7064:25:37;320:545:1;;;;;;;;;;;;;-1:-1:-1;320:545:1;;1671:17:37;320:545:1;;-1:-1:-1;320:545:1;7505:91:37;7553:32;;;-1:-1:-1;7553:32:37;-1:-1:-1;1671:17:37;320:545:1;;-1:-1:-1;7553:32:37;320:545:1;;;;-1:-1:-1;320:545:1;;;;;;;;;;1671:17:37;-1:-1:-1;320:545:1;;-1:-1:-1;320:545:1;;-1:-1:-1;320:545:1;;;;;;;;;;;;;;;;;;;;;;;1671:17:37;320:545:1;;;;;;;;;;1648:13:37;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:37;-1:-1:-1;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;-1:-1:-1;320:545:1;;1671:17:37;320:545:1;;-1:-1:-1;320:545:1;;;;;;;;;;;;-1:-1:-1;320:545:1;;1671:17:37;320:545:1;;-1:-1:-1;320:545:1;;;;;-1:-1:-1;320:545:1;;;;;;;;;;1648:13:37;-1:-1:-1;320:545:1;;-1:-1:-1;320:545:1;;-1:-1:-1;320:545:1;;;;;;;;;;;;;;;;;;;;;;;1648:13:37;320:545:1;;;;;;;;;;1648:13:37;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:37;-1:-1:-1;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;;-1:-1:-1;;320:545:1;;;-1:-1:-1;;;;;320:545:1;;;;;;;;;;:::o;:::-;;;;;;;;;;;;-1:-1:-1;;;;;320:545:1;;;;;;;;-1:-1:-1;;320:545:1;;;;:::i;:::-;;;;;;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;;;;;;;;:::o;6179:316:29:-;-1:-1:-1;;;;;320:545:1;;;;;;-1:-1:-1;;;;;;;;;;;320:545:1;;;;;;;;;;-1:-1:-1;;;;;320:545:1;;;;;-1:-1:-1;;;;;;;;;;;320:545:1;;;;;;;-1:-1:-1;;320:545:1;;;;;735:10:42;;320:545:1;6370:40:29;320:545:1;;6370:40:29;6347:4;6424:11;:::o;6272:217::-;6466:12;320:545:1;6466:12:29;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146107d65750806306fdde03146106fc578063095ea7b31461066d57806318160ddd1461065057806323b872dd146104da578063248a9ca3146104a75780632f2ff15d14610469578063313ce5671461044e57806336568abe146103e457806370a08231146103a057806391d148541461034957806395d89b41146101ce578063a217fddf146101b4578063a9059cbb14610183578063d547741f1461013e5763dd62ed3e146100cc575f80fd5b3461013a57604060031936011261013a576100e561089e565b73ffffffffffffffffffffffffffffffffffffffff6101026108c1565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b5f80fd5b3461013a57604060031936011261013a5761018160043561015d6108c1565b9061017c610177825f526005602052600160405f20015490565b610a06565b610b41565b005b3461013a57604060031936011261013a576101a961019f61089e565b60243590336108e4565b602060405160018152f35b3461013a575f60031936011261013a5760206040515f8152f35b3461013a575f60031936011261013a576040515f600454908160011c6001831692831561033f575b6020821084146103125781855284939081156102d05750600114610274575b5003601f01601f191681019067ffffffffffffffff8211818310176102475761024382918260405282610874565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106102b45750508101602001601f19610215565b602091935080600191548385880101520191019091839261029e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b84019091019150601f199050610215565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f16906101f6565b3461013a57604060031936011261013a576103626108c1565b6004355f52600560205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060ff60405f2054166040519015158152f35b3461013a57602060031936011261013a5773ffffffffffffffffffffffffffffffffffffffff6103ce61089e565b165f525f602052602060405f2054604051908152f35b3461013a57604060031936011261013a576103fd6108c1565b3373ffffffffffffffffffffffffffffffffffffffff8216036104265761018190600435610b41565b7f6697b232000000000000000000000000000000000000000000000000000000005f5260045ffd5b3461013a575f60031936011261013a57602060405160128152f35b3461013a57604060031936011261013a576101816004356104886108c1565b906104a2610177825f526005602052600160405f20015490565b610a6d565b3461013a57602060031936011261013a5760206104d26004355f526005602052600160405f20015490565b604051908152f35b3461013a57606060031936011261013a576104f361089e565b6104fb6108c1565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610577575b506101a993506108e4565b83811061061c5784156105f05733156105c4576101a9945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f20910390558461056c565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b3461013a575f60031936011261013a576020600254604051908152f35b3461013a57604060031936011261013a5761068661089e565b6024359033156105f05773ffffffffffffffffffffffffffffffffffffffff169081156105c457335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461013a575f60031936011261013a576040515f600354908160011c600183169283156107cc575b6020821084146103125781855284939081156102d05750600114610770575003601f01601f191681019067ffffffffffffffff8211818310176102475761024382918260405282610874565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8183106107b05750508101602001601f19610215565b602091935080600191548385880101520191019091839261079a565b90607f1690610724565b3461013a57602060031936011261013a57600435907fffffffff00000000000000000000000000000000000000000000000000000000821680920361013a57817f7965db0b000000000000000000000000000000000000000000000000000000006020931490811561084a575b5015158152f35b7f01ffc9a70000000000000000000000000000000000000000000000000000000091501483610843565b601f19601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361013a57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361013a57565b73ffffffffffffffffffffffffffffffffffffffff169081156109da5773ffffffffffffffffffffffffffffffffffffffff169182156109ae57815f525f60205260405f205481811061097c57817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260ff60405f20541615610a3e5750565b7fe2517d3f000000000000000000000000000000000000000000000000000000005f523360045260245260445ffd5b805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f205416155f14610b3b57805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f2060017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0082541617905573ffffffffffffffffffffffffffffffffffffffff339216907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d5f80a4600190565b50505f90565b805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260ff60405f2054165f14610b3b57805f52600560205260405f2073ffffffffffffffffffffffffffffffffffffffff83165f5260205260405f207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00815416905573ffffffffffffffffffffffffffffffffffffffff339216907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b5f80a460019056fea26469706673582212204c1473072045628c763cb667d4e6117643be187fafd207d6ddd41a67649172b364736f6c634300081b0033","sourceMap":"320:545:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3638:11:37;320:545:1;;;;;;3638:27:37;320:545:1;-1:-1:-1;320:545:1;;;;;-1:-1:-1;320:545:1;;;;;;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;4747:26:29;320:545:1;;;;:::i;:::-;4717:18:29;2475:4;4717:18;;-1:-1:-1;320:545:1;3901:6:29;320:545:1;;3901:22:29;320:545:1;-1:-1:-1;320:545:1;3901:22:29;320:545:1;3810:120:29;;4717:18;2475:4;:::i;:::-;4747:26;:::i;:::-;320:545:1;;;;;;-1:-1:-1;;320:545:1;;;;;3440:5:37;320:545:1;;:::i;:::-;;;735:10:42;;3440:5:37;:::i;:::-;320:545:1;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;320:545:1;;;-1:-1:-1;;320:545:1;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;320:545:1;;;;;;;-1:-1:-1;;320:545:1;;;;-1:-1:-1;;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;320:545:1;-1:-1:-1;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;:::i;:::-;;;;;2954:6:29;320:545:1;;;;;;2954:29:29;320:545:1;-1:-1:-1;320:545:1;;;;;;-1:-1:-1;320:545:1;;;;;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;:::i;:::-;735:10:42;320:545:1;;;5421:34:29;5417:102;;5529:37;320:545:1;;;5529:37:29;:::i;5417:102::-;5478:30;320:545:1;5478:30:29;320:545:1;;5478:30:29;320:545:1;;;;;-1:-1:-1;;320:545:1;;;;;;;;2761:2:37;320:545:1;;;;;;;;-1:-1:-1;;320:545:1;;;;;4330:25:29;320:545:1;;;;:::i;:::-;4300:18:29;2475:4;4300:18;;-1:-1:-1;320:545:1;3901:6:29;320:545:1;;3901:22:29;320:545:1;-1:-1:-1;320:545:1;3901:22:29;320:545:1;3810:120:29;;2475:4;4330:25;:::i;320:545:1:-;;;;;-1:-1:-1;;320:545:1;;;;;;;;;-1:-1:-1;320:545:1;3901:6:29;320:545:1;;3901:22:29;320:545:1;-1:-1:-1;320:545:1;3901:22:29;320:545:1;3810:120:29;;320:545:1;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;735:10:42;320:545:1;-1:-1:-1;320:545:1;;;;-1:-1:-1;320:545:1;;10580:17:37;10561:36;;10557:309;;320:545:1;4967:5:37;;;;;:::i;10557:309::-;10617:24;;;10613:130;;9794:19;;9790:89;;735:10:42;9892:21:37;9888:90;;4967:5;320:545:1;;;;;;;;;;735:10:42;320:545:1;-1:-1:-1;320:545:1;;;;;-1:-1:-1;320:545:1;;;;;10557:309:37;;;9888:90;9936:31;320:545:1;9936:31:37;320:545:1;;;;;9936:31:37;9790:89;9836:32;320:545:1;9836:32:37;320:545:1;;;;;9836:32:37;10613:130;10668:60;;;320:545:1;10668:60:37;735:10:42;320:545:1;;;;;;;;10668:60:37;320:545:1;;;;;-1:-1:-1;;320:545:1;;;;;;2908:12:37;320:545:1;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;:::i;:::-;;;735:10:42;;9794:19:37;9790:89;;320:545:1;;9892:21:37;;;9888:90;;735:10:42;320:545:1;;;;;;;;;-1:-1:-1;320:545:1;;;;;-1:-1:-1;320:545:1;;;;;;;10066:31:37;320:545:1;735:10:42;10066:31:37;;320:545:1;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;;1837:5:37;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;320:545:1;;;-1:-1:-1;;320:545:1;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:37;320:545:1;;;;;-1:-1:-1;320:545:1;;;;;;;-1:-1:-1;;320:545:1;;;;-1:-1:-1;;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;320:545:1;;;;;;;;;;;;;;;;2673:47:29;2688:32;320:545:1;2673:47:29;;:87;;;;;320:545:1;;;;;;;2673:87:29;877:25:46;862:40;;;2673:87:29;;;320:545:1;-1:-1:-1;;320:545:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;5374:300:37:-;320:545:1;;5457:18:37;;;5453:86;;320:545:1;;5552:16:37;;;5548:86;;320:545:1;5473:1:37;320:545:1;5473:1:37;320:545:1;;;5473:1:37;320:545:1;;6321:19:37;;;6317:115;;320:545:1;7064:25:37;320:545:1;;;;5473:1:37;320:545:1;5473:1:37;320:545:1;;;;5473:1:37;320:545:1;;;5473:1:37;320:545:1;5473:1:37;320:545:1;;;5473:1:37;320:545:1;;;;;;;;;;;;7064:25:37;5374:300::o;6317:115::-;6367:50;;5473:1;6367:50;;320:545:1;;;;;;5473:1:37;6367:50;5548:86;5591:32;5473:1;5591:32;5473:1;5591:32;320:545:1;;5473:1:37;5591:32;5453:86;5498:30;5473:1;5498:30;5473:1;5498:30;320:545:1;;5473:1:37;5498:30;3199:103:29;320:545:1;-1:-1:-1;320:545:1;2954:6:29;320:545:1;;;-1:-1:-1;320:545:1;;735:10:42;320:545:1;-1:-1:-1;320:545:1;;;;;-1:-1:-1;320:545:1;;;3519:23:29;3515:108;;3199:103;:::o;3515:108::-;3565:47;-1:-1:-1;3565:47:29;735:10:42;3565:47:29;320:545:1;;;;-1:-1:-1;3565:47:29;6179:316;320:545:1;;;2954:6:29;320:545:1;;;;;;;;-1:-1:-1;320:545:1;;;;;-1:-1:-1;320:545:1;;;6276:23:29;6272:217;320:545:1;;;;;;2954:6:29;320:545:1;;;;;;;;-1:-1:-1;320:545:1;;;;-1:-1:-1;320:545:1;6347:4:29;320:545:1;;;;;;;;735:10:42;320:545:1;;6370:40:29;;320:545:1;6370:40:29;;6347:4;6424:11;:::o;6272:217::-;6466:12;;320:545:1;6466:12:29;:::o;6732:317::-;320:545:1;;;2954:6:29;320:545:1;;;;;;;;-1:-1:-1;320:545:1;;;;;-1:-1:-1;320:545:1;;;6826:217:29;320:545:1;;;;;;2954:6:29;320:545:1;;;;;;;;-1:-1:-1;320:545:1;;;;-1:-1:-1;320:545:1;;;;;;;;735:10:42;320:545:1;;6924:40:29;;320:545:1;6924:40:29;;320:545:1;6978:11:29;:::o","linkReferences":{}},"methodIdentifiers":{"DEFAULT_ADMIN_ROLE()":"a217fddf","allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","getRoleAdmin(bytes32)":"248a9ca3","grantRole(bytes32,address)":"2f2ff15d","hasRole(bytes32,address)":"91d14854","name()":"06fdde03","renounceRole(bytes32,address)":"36568abe","revokeRole(bytes32,address)":"d547741f","supportsInterface(bytes4)":"01ffc9a7","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"supply_\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"wallet_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessControlBadConfirmation\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"neededRole\",\"type\":\"bytes32\"}],\"name\":\"AccessControlUnauthorizedAccount\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"allowance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientAllowance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"ERC20InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"approver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidApprover\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"receiver\",\"type\":\"address\"}],\"name\":\"ERC20InvalidReceiver\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSender\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"ERC20InvalidSpender\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"callerConfirmation\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"AccessControlBadConfirmation()\":[{\"details\":\"The caller of a function is not the expected one. NOTE: Don't confuse with {AccessControlUnauthorizedAccount}.\"}],\"AccessControlUnauthorizedAccount(address,bytes32)\":[{\"details\":\"The `account` is missing a role.\"}],\"ERC20InsufficientAllowance(address,uint256,uint256)\":[{\"details\":\"Indicates a failure with the `spender`\\u2019s `allowance`. Used in transfers.\",\"params\":{\"allowance\":\"Amount of tokens a `spender` is allowed to operate with.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}],\"ERC20InsufficientBalance(address,uint256,uint256)\":[{\"details\":\"Indicates an error related to the current `balance` of a `sender`. Used in transfers.\",\"params\":{\"balance\":\"Current balance for the interacting account.\",\"needed\":\"Minimum amount required to perform a transfer.\",\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidApprover(address)\":[{\"details\":\"Indicates a failure with the `approver` of a token to be approved. Used in approvals.\",\"params\":{\"approver\":\"Address initiating an approval operation.\"}}],\"ERC20InvalidReceiver(address)\":[{\"details\":\"Indicates a failure with the token `receiver`. Used in transfers.\",\"params\":{\"receiver\":\"Address to which tokens are being transferred.\"}}],\"ERC20InvalidSender(address)\":[{\"details\":\"Indicates a failure with the token `sender`. Used in transfers.\",\"params\":{\"sender\":\"Address whose tokens are being transferred.\"}}],\"ERC20InvalidSpender(address)\":[{\"details\":\"Indicates a failure with the `spender` to be approved. Used in approvals.\",\"params\":{\"spender\":\"Address that may be allowed to operate on tokens without being their owner.\"}}]},\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when the allowance of a `spender` for an `owner` is set by a call to {approve}. `value` is the new allowance.\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted to signal this.\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call. This account bears the admin role (for the granted role). Expected in cases where the role was granted using the internal {AccessControl-_grantRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `value` tokens are moved from one account (`from`) to another (`to`). Note that `value` may be zero.\"}},\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `value` is the maximum `uint256`, the allowance is not updated on `transferFrom`. This is semantically equivalent to an infinite approval. Requirements: - `spender` cannot be the zero address.\"},\"balanceOf(address)\":{\"details\":\"See {IERC20-balanceOf}.\"},\"decimals()\":{\"details\":\"Returns the number of decimals used to get its user representation. For example, if `decimals` equals `2`, a balance of `505` tokens should be displayed to a user as `5.05` (`505 / 10 ** 2`). Tokens usually opt for a value of 18, imitating the relationship between Ether and Wei. This is the default value returned by this function, unless it's overridden. NOTE: This information is only used for _display_ purposes: it in no way affects any of the arithmetic of the contract, including {IERC20-balanceOf} and {IERC20-transfer}.\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `callerConfirmation`. May emit a {RoleRevoked} event.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `value`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Skips emitting an {Approval} event indicating an allowance update. This is not required by the ERC. See {xref-ERC20-_approve-address-address-uint256-bool-}[_approve]. NOTE: Does not update the allowance if the current allowance is the maximum `uint256`. Requirements: - `from` and `to` cannot be the zero address. - `from` must have a balance of at least `value`. - the caller must have allowance for ``from``'s tokens of at least `value`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/ExampleToken.sol\":\"ExampleToken\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/ExampleToken.sol\":{\"keccak256\":\"0x66143fbb4c2d4762ff31e54e847abdb58620d26f6a09412b1e0555ea42c70710\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://9f47bdf8ba57b04931646165a5a9214d3a1022655928776f519d1b2d2ea90891\",\"dweb:/ipfs/QmYCUzS9iciRarvQ7AxDBAZZDqagtLU3HZTh8bpHXP5hTB\"]},\"node_modules/@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0xc1bebdee8943bd5e9ef1e0f2e63296aa1dd4171a66b9e74d0286220e891e1458\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://928cf2f0042c606f3dcb21bd8a272573f462a215cd65285d2d6b407f31e9bd67\",\"dweb:/ipfs/QmWGxjckno6sfjHPX5naPnsfsyisgy4PJDf46eLw9umfpx\"]},\"node_modules/@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x4d9a2b261b56a1e4a37bb038151dec98b952fed16de2bdfdda27e38e2b12b530\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f724110f7aeb6151af800ab8c12e6060b29bda9e013f0ccb331eb754d6a7cbf0\",\"dweb:/ipfs/QmUcjzCZpxtUPdEThtAzE1f9LvuJiUGZxTdH9N6bHrb5Cf\"]},\"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol\":{\"keccak256\":\"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b\",\"dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a\",\"dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db\",\"dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf\",\"dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xddce8e17e3d3f9ed818b4f4c4478a8262aab8b11ed322f1bf5ed705bb4bd97fa\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8084aa71a4cc7d2980972412a88fe4f114869faea3fefa5436431644eb5c0287\",\"dweb:/ipfs/Qmbqfs5dRdPvHVKY8kTaeyc65NdqXRQwRK7h9s5UJEhD1p\"]},\"node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x79796192ec90263f21b464d5bc90b777a525971d3de8232be80d9c4f9fb353b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f6fda447a62815e8064f47eff0dd1cf58d9207ad69b5d32280f8d7ed1d1e4621\",\"dweb:/ipfs/QmfDRc7pxfaXB2Dh9np5Uf29Na3pQ7tafRS684wd3GLjVL\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"supply_","type":"uint256"},{"internalType":"address","name":"wallet_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessControlBadConfirmation"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bytes32","name":"neededRole","type":"bytes32"}],"type":"error","name":"AccessControlUnauthorizedAccount"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"allowance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientAllowance"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"ERC20InsufficientBalance"},{"inputs":[{"internalType":"address","name":"approver","type":"address"}],"type":"error","name":"ERC20InvalidApprover"},{"inputs":[{"internalType":"address","name":"receiver","type":"address"}],"type":"error","name":"ERC20InvalidReceiver"},{"inputs":[{"internalType":"address","name":"sender","type":"address"}],"type":"error","name":"ERC20InvalidSender"},{"inputs":[{"internalType":"address","name":"spender","type":"address"}],"type":"error","name":"ERC20InvalidSpender"},{"inputs":[{"internalType":"address","name":"owner","type":"address","indexed":true},{"internalType":"address","name":"spender","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Approval","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"previousAdminRole","type":"bytes32","indexed":true},{"internalType":"bytes32","name":"newAdminRole","type":"bytes32","indexed":true}],"type":"event","name":"RoleAdminChanged","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleGranted","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32","indexed":true},{"internalType":"address","name":"account","type":"address","indexed":true},{"internalType":"address","name":"sender","type":"address","indexed":true}],"type":"event","name":"RoleRevoked","anonymous":false},{"inputs":[{"internalType":"address","name":"from","type":"address","indexed":true},{"internalType":"address","name":"to","type":"address","indexed":true},{"internalType":"uint256","name":"value","type":"uint256","indexed":false}],"type":"event","name":"Transfer","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"address","