UNPKG

@settlemint/solidity-zeto

Version:

Smart contract set to build Zero Knowledge tokens in SettleMint

1 lines 47.1 kB
{"abi":[{"type":"constructor","inputs":[{"name":"initialOwner","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"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":"mint","inputs":[{"name":"to","type":"address","internalType":"address"},{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"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":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"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":"OwnershipTransferred","inputs":[{"name":"previousOwner","type":"address","indexed":true,"internalType":"address"},{"name":"newOwner","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":"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"}]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x60806040523461042c57610ecc6020813803918261001c81610430565b93849283398101031261042c57516001600160a01b0381169081900361042c576100466040610430565b90601282527129b0b6b836329022a9219918103a37b5b2b760711b60208301526100706040610430565b600b81526a053616d706c6545524332360ac1b602082015282519091906001600160401b03811161033d57600354600181811c91168015610422575b602082101461031f57601f81116103bf575b506020601f821160011461035c57819293945f92610351575b50508160011b915f199060031b1c1916176003555b81516001600160401b03811161033d57600454600181811c91168015610333575b602082101461031f57601f81116102bc575b50602092601f821160011461025b57928192935f92610250575b50508160011b915f199060031b1c1916176004555b801561023d57600580546001600160a01b0319811683179091556001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3331561022a5760025469d3c21bcecceda1000000810180911161021657600255335f525f60205260405f2069d3c21bcecceda1000000815401905560405169d3c21bcecceda100000081525f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60203393a3604051610a7690816104568239f35b634e487b7160e01b5f52601160045260245ffd5b63ec442f0560e01b5f525f60045260245ffd5b631e4fbdf760e01b5f525f60045260245ffd5b015190505f80610139565b601f1982169360045f52805f20915f5b8681106102a4575083600195961061028c575b505050811b0160045561014e565b01515f1960f88460031b161c191690555f808061027e565b9192602060018192868501518155019401920161026b565b60045f527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b601f830160051c81019160208410610315575b601f0160051c01905b81811061030a575061011f565b5f81556001016102fd565b90915081906102f4565b634e487b7160e01b5f52602260045260245ffd5b90607f169061010d565b634e487b7160e01b5f52604160045260245ffd5b015190505f806100d7565b601f1982169060035f52805f20915f5b8181106103a75750958360019596971061038f575b505050811b016003556100ec565b01515f1960f88460031b161c191690555f8080610381565b9192602060018192868b01518155019401920161036c565b60035f527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b601f830160051c81019160208410610418575b601f0160051c01905b81811061040d57506100be565b5f8155600101610400565b90915081906103f7565b90607f16906100ac565b5f80fd5b6040519190601f01601f191682016001600160401b0381118382101761033d5760405256fe6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146107b657508063095ea7b31461072757806318160ddd1461070a57806323b872dd14610594578063313ce5671461057957806340c10f191461048e57806370a082311461044a578063715018a6146103cc5780638da5cb5b1461039957806395d89b411461021e578063a9059cbb146101ed578063dd62ed3e1461017f5763f2fde38b146100ab575f80fd5b3461017b57602060031936011261017b5773ffffffffffffffffffffffffffffffffffffffff6100d96108b7565b6100e16109f3565b16801561014f5773ffffffffffffffffffffffffffffffffffffffff600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b7f1e4fbdf7000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b5f80fd5b3461017b57604060031936011261017b576101986108b7565b73ffffffffffffffffffffffffffffffffffffffff6101b56108da565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b3461017b57604060031936011261017b576102136102096108b7565b60243590336108fd565b602060405160018152f35b3461017b575f60031936011261017b576040515f600454908160011c6001831692831561038f575b60208210841461036257818552849390811561032057506001146102c4575b5003601f01601f191681019067ffffffffffffffff821181831017610297576102938291826040528261088d565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103045750508101602001601f19610265565b60209193508060019154838588010152019101909183926102ee565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b84019091019150601f199050610265565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610246565b3461017b575f60031936011261017b57602073ffffffffffffffffffffffffffffffffffffffff60055416604051908152f35b3461017b575f60031936011261017b576103e46109f3565b5f73ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461017b57602060031936011261017b5773ffffffffffffffffffffffffffffffffffffffff6104786108b7565b165f525f602052602060405f2054604051908152f35b3461017b57604060031936011261017b576104a76108b7565b73ffffffffffffffffffffffffffffffffffffffff602435916104c86109f3565b1690811561054d57600254908082018092116105205760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461017b575f60031936011261017b57602060405160128152f35b3461017b57606060031936011261017b576105ad6108b7565b6105b56108da565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610631575b5061021393506108fd565b8381106106d65784156106aa57331561067e57610213945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610626565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b3461017b575f60031936011261017b576020600254604051908152f35b3461017b57604060031936011261017b576107406108b7565b6024359033156106aa5773ffffffffffffffffffffffffffffffffffffffff1690811561067e57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461017b575f60031936011261017b575f600354908160011c60018316928315610883575b6020821084146103625781855284939081156103205750600114610827575003601f01601f191681019067ffffffffffffffff821181831017610297576102938291826040528261088d565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8183106108675750508101602001601f19610265565b6020919350806001915483858801015201910190918392610851565b90607f16906107db565b601f19601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361017b57565b73ffffffffffffffffffffffffffffffffffffffff169081156109c75773ffffffffffffffffffffffffffffffffffffffff1691821561054d57815f525f60205260405f205481811061099557817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff600554163303610a1457565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffdfea2646970667358221220108ad80ad5b997b9f0d0e90f09e8ce2e285f8b764141490bea73584f947763a064736f6c634300081b0033","sourceMap":"1388:313:0:-:0;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;;;;;1388:313:0;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;;1388:313:0;;;;;;;:::i;:::-;;;;-1:-1:-1;;;1388:313:0;;;;;;;;;-1:-1:-1;;;;;1388:313:0;;;;1648:13:79;1388:313:0;;;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;;;;;;;1648:13:79;1388:313:0;;;;;1648:13:79;1388:313:0;;;;-1:-1:-1;;;;;1388:313:0;;;;1671:17:79;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;;;;;;;1648:13:79;1388:313:0;;;;;1671:17:79;1388:313:0;;1273:26:72;;1269:95;;3004:6;1388:313:0;;-1:-1:-1;;;;;;1388:313:0;;;;;;;-1:-1:-1;;;;;1388:313:0;3052:40:72;-1:-1:-1;;3052:40:72;1562:10:0;7509:21:79;7505:91;;6214:21;1388:313:0;1574:18;1388:313;;;;;;;6214:21:79;1388:313:0;1562:10;-1:-1:-1;1388:313:0;-1:-1:-1;1388:313:0;;;-1:-1:-1;1388:313:0;1574:18;1388:313;;;;;;;1574:18;1388:313;;-1:-1:-1;7064:25:79;1388:313:0;1562:10;7064:25:79;;1388:313:0;;;;;;;;;;;;;-1:-1:-1;1388:313:0;;1671:17:79;1388:313:0;;-1:-1:-1;1388:313:0;7505:91:79;7553:32;;;-1:-1:-1;7553:32:79;-1:-1:-1;1671:17:79;1388:313:0;;-1:-1:-1;7553:32:79;1269:95:72;1322:31;;;-1:-1:-1;1322:31:72;-1:-1:-1;1671:17:79;1388:313:0;;-1:-1:-1;1322:31:72;1388:313:0;;;;-1:-1:-1;1388:313:0;;;;;;;;;;1671:17:79;-1:-1:-1;1388:313:0;;-1:-1:-1;1388:313:0;;-1:-1:-1;1388:313:0;;;;;;;;;;;;;;;;;;;;;1671:17:79;1388:313:0;;;;;;;;;;1648:13:79;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1671:17:79;-1:-1:-1;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;;-1:-1:-1;1388:313:0;;1671:17:79;1388:313:0;;-1:-1:-1;1388:313:0;;;;;;;;;;;;-1:-1:-1;1388:313:0;;1671:17:79;1388:313:0;;-1:-1:-1;1388:313:0;;;;;-1:-1:-1;1388:313:0;;;;;;;;;;1648:13:79;-1:-1:-1;1388:313:0;;-1:-1:-1;1388:313:0;;-1:-1:-1;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;1648:13:79;1388:313:0;;;;;;;;;;1648:13:79;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1648:13:79;-1:-1:-1;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;;;-1:-1:-1;;1388:313:0;;;-1:-1:-1;;;;;1388:313:0;;;;;;;;;;:::o","linkReferences":{}},"deployedBytecode":{"object":"0x6080806040526004361015610012575f80fd5b5f3560e01c90816306fdde03146107b657508063095ea7b31461072757806318160ddd1461070a57806323b872dd14610594578063313ce5671461057957806340c10f191461048e57806370a082311461044a578063715018a6146103cc5780638da5cb5b1461039957806395d89b411461021e578063a9059cbb146101ed578063dd62ed3e1461017f5763f2fde38b146100ab575f80fd5b3461017b57602060031936011261017b5773ffffffffffffffffffffffffffffffffffffffff6100d96108b7565b6100e16109f3565b16801561014f5773ffffffffffffffffffffffffffffffffffffffff600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e05f80a3005b7f1e4fbdf7000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b5f80fd5b3461017b57604060031936011261017b576101986108b7565b73ffffffffffffffffffffffffffffffffffffffff6101b56108da565b91165f52600160205273ffffffffffffffffffffffffffffffffffffffff60405f2091165f52602052602060405f2054604051908152f35b3461017b57604060031936011261017b576102136102096108b7565b60243590336108fd565b602060405160018152f35b3461017b575f60031936011261017b576040515f600454908160011c6001831692831561038f575b60208210841461036257818552849390811561032057506001146102c4575b5003601f01601f191681019067ffffffffffffffff821181831017610297576102938291826040528261088d565b0390f35b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60045f90815291507f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b8183106103045750508101602001601f19610265565b60209193508060019154838588010152019101909183926102ee565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208581019190915291151560051b84019091019150601f199050610265565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b90607f1690610246565b3461017b575f60031936011261017b57602073ffffffffffffffffffffffffffffffffffffffff60055416604051908152f35b3461017b575f60031936011261017b576103e46109f3565b5f73ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a3005b3461017b57602060031936011261017b5773ffffffffffffffffffffffffffffffffffffffff6104786108b7565b165f525f602052602060405f2054604051908152f35b3461017b57604060031936011261017b576104a76108b7565b73ffffffffffffffffffffffffffffffffffffffff602435916104c86109f3565b1690811561054d57600254908082018092116105205760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef915f9360025584845283825260408420818154019055604051908152a3005b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b7fec442f05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b3461017b575f60031936011261017b57602060405160128152f35b3461017b57606060031936011261017b576105ad6108b7565b6105b56108da565b6044359073ffffffffffffffffffffffffffffffffffffffff831692835f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f5260205260405f20547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110610631575b5061021393506108fd565b8381106106d65784156106aa57331561067e57610213945f52600160205260405f2073ffffffffffffffffffffffffffffffffffffffff33165f526020528360405f209103905584610626565b7f94280d62000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b7fe602df05000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b83907ffb8f41b2000000000000000000000000000000000000000000000000000000005f523360045260245260445260645ffd5b3461017b575f60031936011261017b576020600254604051908152f35b3461017b57604060031936011261017b576107406108b7565b6024359033156106aa5773ffffffffffffffffffffffffffffffffffffffff1690811561067e57335f52600160205260405f20825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b3461017b575f60031936011261017b575f600354908160011c60018316928315610883575b6020821084146103625781855284939081156103205750600114610827575003601f01601f191681019067ffffffffffffffff821181831017610297576102938291826040528261088d565b60035f90815291507fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8183106108675750508101602001601f19610265565b6020919350806001915483858801015201910190918392610851565b90607f16906107db565b601f19601f602060409481855280519182918282880152018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361017b57565b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361017b57565b73ffffffffffffffffffffffffffffffffffffffff169081156109c75773ffffffffffffffffffffffffffffffffffffffff1691821561054d57815f525f60205260405f205481811061099557817fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92602092855f525f84520360405f2055845f525f825260405f20818154019055604051908152a3565b827fe450d38c000000000000000000000000000000000000000000000000000000005f5260045260245260445260645ffd5b7f96c6fd1e000000000000000000000000000000000000000000000000000000005f525f60045260245ffd5b73ffffffffffffffffffffffffffffffffffffffff600554163303610a1457565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffdfea2646970667358221220108ad80ad5b997b9f0d0e90f09e8ce2e285f8b764141490bea73584f947763a064736f6c634300081b0033","sourceMap":"1388:313:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;;;;:::i;:::-;1500:62:72;;:::i;:::-;1388:313:0;2627:22:72;;2623:91;;1388:313:0;3004:6:72;1388:313:0;;;;;;3004:6:72;1388:313:0;;3052:40:72;1388:313:0;3052:40:72;;1388:313:0;2623:91:72;2672:31;1388:313:0;2672:31:72;1388:313:0;;;;;2672:31:72;1388:313:0;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;3638:11:79;1388:313:0;;;;;;3638:27:79;1388:313:0;-1:-1:-1;1388:313:0;;;;;-1:-1:-1;1388:313:0;;;;;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;3440:5:79;1388:313:0;;:::i;:::-;;;735:10:85;;3440:5:79;:::i;:::-;1388:313:0;;;;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1388:313:0;;;-1:-1:-1;;1388:313:0;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1388:313:0;;;;;;;-1:-1:-1;;1388:313:0;;;;-1:-1:-1;;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1388:313:0;-1:-1:-1;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;;;1710:6:72;1388:313:0;;;;;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;1500:62:72;;:::i;:::-;1388:313:0;;3004:6:72;1388:313:0;;;;3004:6:72;1388:313:0;;3052:40:72;;;;1388:313:0;;;;;;-1:-1:-1;;1388:313:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;;;:::i;:::-;;;;1500:62:72;;;:::i;:::-;1388:313:0;7509:21:79;;;7505:91;;6214:21;1388:313:0;;;;;;;;;;;7064:25:79;1388:313:0;;;6214:21:79;1388:313:0;;;;;;;;;;;;;;;;;;;;;7064:25:79;1388:313:0;;;;;;;;;;;7505:91:79;7553:32;1388:313:0;7553:32:79;1388:313:0;;;;;7553:32:79;1388:313:0;;;;;-1:-1:-1;;1388:313:0;;;;;;;;2761:2:79;1388:313:0;;;;;;;;-1:-1:-1;;1388:313:0;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;735:10:85;1388:313:0;-1:-1:-1;1388:313:0;;;;-1:-1:-1;1388:313:0;;10580:17:79;10561:36;;10557:309;;1388:313:0;4967:5:79;;;;;:::i;10557:309::-;10617:24;;;10613:130;;9794:19;;9790:89;;735:10:85;9892:21:79;9888:90;;4967:5;1388:313:0;;;;;;;;;;735:10:85;1388:313:0;-1:-1:-1;1388:313:0;;;;;-1:-1:-1;1388:313:0;;;;;10557:309:79;;;9888:90;9936:31;1388:313:0;9936:31:79;1388:313:0;;;;;9936:31:79;9790:89;9836:32;1388:313:0;9836:32:79;1388:313:0;;;;;9836:32:79;10613:130;10668:60;;;1388:313:0;10668:60:79;735:10:85;1388:313:0;;;;;;;;10668:60:79;1388:313:0;;;;;-1:-1:-1;;1388:313:0;;;;;;2908:12:79;1388:313:0;;;;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;;;:::i;:::-;;;735:10:85;;9794:19:79;9790:89;;1388:313:0;;9892:21:79;;;9888:90;;735:10:85;1388:313:0;;;;;;;;;-1:-1:-1;1388:313:0;;;;;-1:-1:-1;1388:313:0;;;;;;;10066:31:79;1388:313:0;735:10:85;10066:31:79;;1388:313:0;;;;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;;1837:5:79;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1388:313:0;;;-1:-1:-1;;1388:313:0;;;;;;;;;;;;;;;;;;;;;:::i;:::-;1837:5:79;1388:313:0;;;;;-1:-1:-1;1388:313:0;;;;;;;-1:-1:-1;;1388:313:0;;;;-1:-1:-1;;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1388:313:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;5374:300:79:-;1388:313:0;;5457:18:79;;;5453:86;;1388:313:0;;5552:16:79;;;5548:86;;1388:313:0;5473:1:79;1388:313:0;5473:1:79;1388:313:0;;;5473:1:79;1388:313:0;;6321:19:79;;;6317:115;;1388:313:0;7064:25:79;1388:313:0;;;;5473:1:79;1388:313:0;5473:1:79;1388:313:0;;;;5473:1:79;1388:313:0;;;5473:1:79;1388:313:0;5473:1:79;1388:313:0;;;5473:1:79;1388:313:0;;;;;;;;;;;;7064:25:79;5374:300::o;6317:115::-;6367:50;;5473:1;6367:50;;1388:313:0;;;;;;5473:1:79;6367:50;5453:86;5498:30;5473:1;5498:30;5473:1;5498:30;1388:313:0;;5473:1:79;5498:30;1796:162:72;1388:313:0;1710:6:72;1388:313:0;;735:10:85;1855:23:72;1851:101;;1796:162::o;1851:101::-;1901:40;-1:-1:-1;1901:40:72;735:10:85;1901:40:72;1388:313:0;;-1:-1:-1;1901:40:72","linkReferences":{}},"methodIdentifiers":{"allowance(address,address)":"dd62ed3e","approve(address,uint256)":"095ea7b3","balanceOf(address)":"70a08231","decimals()":"313ce567","mint(address,uint256)":"40c10f19","name()":"06fdde03","owner()":"8da5cb5b","renounceOwnership()":"715018a6","symbol()":"95d89b41","totalSupply()":"18160ddd","transfer(address,uint256)":"a9059cbb","transferFrom(address,address,uint256)":"23b872dd","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"OwnableInvalidOwner\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"OwnableUnauthorizedAccount\",\"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\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"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\":[{\"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\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"mint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Kaleido, Inc.\",\"details\":\"The proof has the following statements: - each value in the output commitments must be a positive number in the range 0 ~ (2^40 - 1) - the sum of the input values match the sum of output values - the hashes in the input and output match the `hash(value, salt, owner public key)` formula - the sender possesses the private BabyJubjub key, whose public key is part of the pre-image of the input commitment hashes\",\"errors\":{\"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.\"}}],\"OwnableInvalidOwner(address)\":[{\"details\":\"The owner is not a valid owner account. (eg. `address(0)`)\"}],\"OwnableUnauthorizedAccount(address)\":[{\"details\":\"The caller account is not authorized to perform an operation.\"}]},\"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.\"},\"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}.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner.\"},\"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`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"title\":\"A sample implementation of a Zeto based fungible token with anonymity and no encryption\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/erc20.sol\":\"SampleERC20\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@iden3/=node_modules/@iden3/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/erc20.sol\":{\"keccak256\":\"0x196b889aa3cba410a12e61ddc70ab53cd7b8694741bd1fa7a210b866755b34fe\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://00d7fd42b94165e1677b79f18a75e205c798717b88e984ce3e091ca564012ae1\",\"dweb:/ipfs/QmbD5NtNPmfY9WhRzX26NC9Kb6NH4ySpEY8Ue2BCqSJY2A\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"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\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"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"}],"type":"error","name":"OwnableInvalidOwner"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"type":"error","name":"OwnableUnauthorizedAccount"},{"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":"address","name":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"stateMutability":"view","type":"function","name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"mint"},{"inputs":[],"stateMutability":"view","type":"function","name":"name","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[],"stateMutability":"view","type":"function","name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"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}."},"name()":{"details":"Returns the name of the token."},"owner()":{"details":"Returns the address of the current owner."},"renounceOwnership()":{"details":"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."},"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`."},"transferOwnership(address)":{"details":"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."}},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@iden3/=node_modules/@iden3/","@openzeppelin/=node_modules/@openzeppelin/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/"],"optimizer":{"enabled":true,"runs":10000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/erc20.sol":"SampleERC20"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/erc20.sol":{"keccak256":"0x196b889aa3cba410a12e61ddc70ab53cd7b8694741bd1fa7a210b866755b34fe","urls":["bzz-raw://00d7fd42b94165e1677b79f18a75e205c798717b88e984ce3e091ca564012ae1","dweb:/ipfs/QmbD5NtNPmfY9WhRzX26NC9Kb6NH4ySpEY8Ue2BCqSJY2A"],"license":"Apache-2.0"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/draft-IERC6093.sol":{"keccak256":"0x880da465c203cec76b10d72dbd87c80f387df4102274f23eea1f9c9b0918792b","urls":["bzz-raw://399594cd8bb0143bc9e55e0f1d071d0d8c850a394fb7a319d50edd55d9ed822b","dweb:/ipfs/QmbPZzgtT6LEm9CMqWfagQFwETbV1ztpECBB1DtQHrKiRz"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol":{"keccak256":"0x41f6b3b9e030561e7896dbef372b499cc8d418a80c3884a4d65a68f2fdc7493a","urls":["bzz-raw://80b0992a11b2fd1f75ced2971696d07bbd1d19ce6761dd50d8b6d48aa435f42a","dweb:/ipfs/QmZDe5xd2gXHjVEjv9t8C1KQ68K5T8qFwdinwQgmP3rF3x"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xe06a3f08a987af6ad2e1c1e774405d4fe08f1694b67517438b467cecf0da0ef7","urls":["bzz-raw://df6f0c459663c9858b6cba2cda1d14a7d05a985bed6d2de72bd8e78c25ee79db","dweb:/ipfs/QmeTTxZ7qVk9rjEv2R4CpCwdf8UMCcRqDNMvzNxHc3Fnn9"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol":{"keccak256":"0x70f2f713b13b7ce4610bcd0ac9fec0f3cc43693b043abcb8dc40a42a726eb330","urls":["bzz-raw://c13d13304ac79a83ab1c30168967d19e2203342ebbd6a9bbce4db7550522dcbf","dweb:/ipfs/QmeN5jKMN2vw5bhacr6tkg78afbTTZUeaacNHqjWt4Ew1r"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"}},"version":1},"id":0}