@settlemint/solidity-zeto
Version:
Smart contract set to build Zero Knowledge tokens in SettleMint
1 lines • 38 kB
JSON
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployZetoFungibleToken","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployZetoNonFungibleToken","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"initialOwner","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"registerImplementation","inputs":[{"name":"name","type":"string","internalType":"string"},{"name":"implementation","type":"tuple","internalType":"struct ZetoTokenFactory.ImplementationInfo","components":[{"name":"implementation","type":"address","internalType":"address"},{"name":"depositVerifier","type":"address","internalType":"address"},{"name":"withdrawVerifier","type":"address","internalType":"address"},{"name":"verifier","type":"address","internalType":"address"},{"name":"batchVerifier","type":"address","internalType":"address"},{"name":"batchWithdrawVerifier","type":"address","internalType":"address"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"renounceOwnership","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"transferOwnership","inputs":[{"name":"newOwner","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"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":"ZetoTokenDeployed","inputs":[{"name":"zetoToken","type":"address","indexed":true,"internalType":"address"}],"anonymous":false},{"type":"error","name":"FailedDeployment","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"OwnableInvalidOwner","inputs":[{"name":"owner","type":"address","internalType":"address"}]},{"type":"error","name":"OwnableUnauthorizedAccount","inputs":[{"name":"account","type":"address","internalType":"address"}]}],"bytecode":{"object":"0x608080604052346071573315605e575f8054336001600160a01b0319821681178355916001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36111b690816100768239f35b631e4fbdf760e01b5f525f60045260245ffd5b5f80fdfe60806040526004361015610011575f80fd5b5f5f3560e01c8063157d4e2114610c59578063715018a614610bbd5780638da5cb5b14610b6c578063d7c567d61461064d578063e83b3f66146101515763f2fde38b1461005c575f80fd5b3461014e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014e5760043573ffffffffffffffffffffffffffffffffffffffff811680910361014c576100b4611134565b80156101205773ffffffffffffffffffffffffffffffffffffffff8254827fffffffffffffffffffffffff00000000000000000000000000000000000000008216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b6024827f1e4fbdf700000000000000000000000000000000000000000000000000000000815280600452fd5b505b80fd5b503461014e5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014e5760043567ffffffffffffffff811161014c576101a1903690600401610f3d565b60c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261014c57604051906101d882610eb3565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361064957825260443573ffffffffffffffffffffffffffffffffffffffff81168103610649576020830190815260643573ffffffffffffffffffffffffffffffffffffffff8116810361064557604084019081526084359073ffffffffffffffffffffffffffffffffffffffff82168203610641576060850191825260a4359273ffffffffffffffffffffffffffffffffffffffff8416840361063d576080860193845260c4359473ffffffffffffffffffffffffffffffffffffffff861686036106395760a087019586526102c8611134565b73ffffffffffffffffffffffffffffffffffffffff875116156105b55773ffffffffffffffffffffffffffffffffffffffff8451161561053157604051818192516020819201835e810160018152036020019020955173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1686547fffffffffffffffffffffffff0000000000000000000000000000000000000000161786555173ffffffffffffffffffffffffffffffffffffffff16600186019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600285019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600384019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600483019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16906005019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905580f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f466163746f72793a20766572696669657220616464726573732069732072657160448201527f75697265640000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f466163746f72793a20696d706c656d656e746174696f6e20616464726573732060448201527f69732072657175697265640000000000000000000000000000000000000000006064820152fd5b8780fd5b8680fd5b8580fd5b8480fd5b8380fd5b503461014e5760208061065f36610fb1565b9290604051928184925191829101835e81016001815203019020906040519161068783610eb3565b73ffffffffffffffffffffffffffffffffffffffff81541680845273ffffffffffffffffffffffffffffffffffffffff600183015416916020850192835273ffffffffffffffffffffffffffffffffffffffff6002820154166040860190815273ffffffffffffffffffffffffffffffffffffffff600383015416956060810196875261074573ffffffffffffffffffffffffffffffffffffffff60058160048701541695608085019687520154169460a08301958652151561101e565b73ffffffffffffffffffffffffffffffffffffffff85511615610ae85773ffffffffffffffffffffffffffffffffffffffff82511615610a645773ffffffffffffffffffffffffffffffffffffffff835116156109e05773ffffffffffffffffffffffffffffffffffffffff8451161561095c577fffffffffffffffffffffffffffffffffff0000000000000000000000000000006e5af43d82803e903d91602b57fd5bf39151763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c16178a5260781b161760205273ffffffffffffffffffffffffffffffffffffffff6037600989f0169586156109345773ffffffffffffffffffffffffffffffffffffffff808080809461085f60016110a9565b511697511693511693511693511693863b156106395773ffffffffffffffffffffffffffffffffffffffff604051967fcc2a9a5b000000000000000000000000000000000000000000000000000000008852166004870152602486015260448501526064840152608483015260a4820152828160c48183865af1801561092957610914575b60208383807f61a122822c33eb587240ac03c263df8e525c975793c9d3118d54888abdb036276040519380a28152f35b61091f838092610efc565b61014c575f6108e4565b6040513d85823e3d90fd5b6004887fb06ebf3d000000000000000000000000000000000000000000000000000000008152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f466163746f72793a20626174636857697468647261775665726966696572206160448201527f64647265737320697320726571756972656400000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f466163746f72793a20626174636856657269666965722061646472657373206960448201527f73207265717569726564000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f466163746f72793a20776974686472617756657269666965722061646472657360448201527f73206973207265717569726564000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f466163746f72793a206465706f7369745665726966696572206164647265737360448201527f20697320726571756972656400000000000000000000000000000000000000006064820152fd5b503461014e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014e5773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b503461014e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014e57610bf4611134565b8073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610e875760209081610c6c36610fb1565b9390604051928184925191829101835e810160018152030190206e5af43d82803e903d91602b57fd5bf37fffffffffffffffffffffffffffffffffff000000000000000000000000000000604051610cc381610eb3565b610d6273ffffffffffffffffffffffffffffffffffffffff85541680835273ffffffffffffffffffffffffffffffffffffffff600187015416602084015273ffffffffffffffffffffffffffffffffffffffff600287015416604084015273ffffffffffffffffffffffffffffffffffffffff600581600389015416976060860198895282600482015416608087015201541660a0840152151561101e565b51763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c16175f5260781b161760205273ffffffffffffffffffffffffffffffffffffffff603760095ff016908115610e8b5773ffffffffffffffffffffffffffffffffffffffff90610dd260016110a9565b5116813b15610e875773ffffffffffffffffffffffffffffffffffffffff604051947f485cc95500000000000000000000000000000000000000000000000000000000865216600485015260248401525f8360448183855af1928315610e7c57602093610e67575b50807f61a122822c33eb587240ac03c263df8e525c975793c9d3118d54888abdb036276040519380a28152f35b610e749192505f90610efc565b5f905f610e3a565b6040513d5f823e3d90fd5b5f80fd5b7fb06ebf3d000000000000000000000000000000000000000000000000000000005f5260045ffd5b60c0810190811067ffffffffffffffff821117610ecf57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610ecf57604052565b81601f82011215610e875780359067ffffffffffffffff8211610ecf5760405192610f9060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601160185610efc565b82845260208383010111610e8757815f926020809301838601378301015290565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610e87576004359067ffffffffffffffff8211610e8757610ffa91600401610f3d565b9060243573ffffffffffffffffffffffffffffffffffffffff81168103610e875790565b1561102557565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f466163746f72793a206661696c656420746f2066696e6420696d706c656d656e60448201527f746174696f6e00000000000000000000000000000000000000000000000000006064820152fd5b156110b057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f466163746f72793a206661696c656420746f20636c6f6e6520696d706c656d6560448201527f6e746174696f6e000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff5f5416330361115457565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffdfea2646970667358221220996cabc1682afb9850216a13302ac1e176823bd039fa76281904f8f8b2c034d964736f6c634300081b0033","sourceMap":"978:3451:1:-:0;;;;;;;1610:10;1273:26:72;1269:95;;1297:1;978:3451:1;;1610:10;-1:-1:-1;;;;;;978:3451:1;;;;;;1610:10;-1:-1:-1;;;;;978:3451:1;;;;3052:40:72;;1297:1;3052:40;978:3451:1;;;;;;;1269:95:72;1322:31;;;1297:1;1322:31;1297:1;1322:31;978:3451:1;;1297:1:72;1322:31;978:3451:1;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f5f3560e01c8063157d4e2114610c59578063715018a614610bbd5780638da5cb5b14610b6c578063d7c567d61461064d578063e83b3f66146101515763f2fde38b1461005c575f80fd5b3461014e5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014e5760043573ffffffffffffffffffffffffffffffffffffffff811680910361014c576100b4611134565b80156101205773ffffffffffffffffffffffffffffffffffffffff8254827fffffffffffffffffffffffff00000000000000000000000000000000000000008216178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b6024827f1e4fbdf700000000000000000000000000000000000000000000000000000000815280600452fd5b505b80fd5b503461014e5760e07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014e5760043567ffffffffffffffff811161014c576101a1903690600401610f3d565b60c07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc36011261014c57604051906101d882610eb3565b60243573ffffffffffffffffffffffffffffffffffffffff8116810361064957825260443573ffffffffffffffffffffffffffffffffffffffff81168103610649576020830190815260643573ffffffffffffffffffffffffffffffffffffffff8116810361064557604084019081526084359073ffffffffffffffffffffffffffffffffffffffff82168203610641576060850191825260a4359273ffffffffffffffffffffffffffffffffffffffff8416840361063d576080860193845260c4359473ffffffffffffffffffffffffffffffffffffffff861686036106395760a087019586526102c8611134565b73ffffffffffffffffffffffffffffffffffffffff875116156105b55773ffffffffffffffffffffffffffffffffffffffff8451161561053157604051818192516020819201835e810160018152036020019020955173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1686547fffffffffffffffffffffffff0000000000000000000000000000000000000000161786555173ffffffffffffffffffffffffffffffffffffffff16600186019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600285019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600384019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16600483019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff0000000000000000000000000000000000000000161790555173ffffffffffffffffffffffffffffffffffffffff16906005019073ffffffffffffffffffffffffffffffffffffffff1681547fffffffffffffffffffffffff00000000000000000000000000000000000000001617905580f35b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f466163746f72793a20766572696669657220616464726573732069732072657160448201527f75697265640000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f466163746f72793a20696d706c656d656e746174696f6e20616464726573732060448201527f69732072657175697265640000000000000000000000000000000000000000006064820152fd5b8780fd5b8680fd5b8580fd5b8480fd5b8380fd5b503461014e5760208061065f36610fb1565b9290604051928184925191829101835e81016001815203019020906040519161068783610eb3565b73ffffffffffffffffffffffffffffffffffffffff81541680845273ffffffffffffffffffffffffffffffffffffffff600183015416916020850192835273ffffffffffffffffffffffffffffffffffffffff6002820154166040860190815273ffffffffffffffffffffffffffffffffffffffff600383015416956060810196875261074573ffffffffffffffffffffffffffffffffffffffff60058160048701541695608085019687520154169460a08301958652151561101e565b73ffffffffffffffffffffffffffffffffffffffff85511615610ae85773ffffffffffffffffffffffffffffffffffffffff82511615610a645773ffffffffffffffffffffffffffffffffffffffff835116156109e05773ffffffffffffffffffffffffffffffffffffffff8451161561095c577fffffffffffffffffffffffffffffffffff0000000000000000000000000000006e5af43d82803e903d91602b57fd5bf39151763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c16178a5260781b161760205273ffffffffffffffffffffffffffffffffffffffff6037600989f0169586156109345773ffffffffffffffffffffffffffffffffffffffff808080809461085f60016110a9565b511697511693511693511693511693863b156106395773ffffffffffffffffffffffffffffffffffffffff604051967fcc2a9a5b000000000000000000000000000000000000000000000000000000008852166004870152602486015260448501526064840152608483015260a4820152828160c48183865af1801561092957610914575b60208383807f61a122822c33eb587240ac03c263df8e525c975793c9d3118d54888abdb036276040519380a28152f35b61091f838092610efc565b61014c575f6108e4565b6040513d85823e3d90fd5b6004887fb06ebf3d000000000000000000000000000000000000000000000000000000008152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603260248201527f466163746f72793a20626174636857697468647261775665726966696572206160448201527f64647265737320697320726571756972656400000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f466163746f72793a20626174636856657269666965722061646472657373206960448201527f73207265717569726564000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f466163746f72793a20776974686472617756657269666965722061646472657360448201527f73206973207265717569726564000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f466163746f72793a206465706f7369745665726966696572206164647265737360448201527f20697320726571756972656400000000000000000000000000000000000000006064820152fd5b503461014e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014e5773ffffffffffffffffffffffffffffffffffffffff6020915416604051908152f35b503461014e57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261014e57610bf4611134565b8073ffffffffffffffffffffffffffffffffffffffff81547fffffffffffffffffffffffff000000000000000000000000000000000000000081168355167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5034610e875760209081610c6c36610fb1565b9390604051928184925191829101835e810160018152030190206e5af43d82803e903d91602b57fd5bf37fffffffffffffffffffffffffffffffffff000000000000000000000000000000604051610cc381610eb3565b610d6273ffffffffffffffffffffffffffffffffffffffff85541680835273ffffffffffffffffffffffffffffffffffffffff600187015416602084015273ffffffffffffffffffffffffffffffffffffffff600287015416604084015273ffffffffffffffffffffffffffffffffffffffff600581600389015416976060860198895282600482015416608087015201541660a0840152151561101e565b51763d602d80600a3d3981f3363d3d373d3d3d363d7300000062ffffff8260881c16175f5260781b161760205273ffffffffffffffffffffffffffffffffffffffff603760095ff016908115610e8b5773ffffffffffffffffffffffffffffffffffffffff90610dd260016110a9565b5116813b15610e875773ffffffffffffffffffffffffffffffffffffffff604051947f485cc95500000000000000000000000000000000000000000000000000000000865216600485015260248401525f8360448183855af1928315610e7c57602093610e67575b50807f61a122822c33eb587240ac03c263df8e525c975793c9d3118d54888abdb036276040519380a28152f35b610e749192505f90610efc565b5f905f610e3a565b6040513d5f823e3d90fd5b5f80fd5b7fb06ebf3d000000000000000000000000000000000000000000000000000000005f5260045ffd5b60c0810190811067ffffffffffffffff821117610ecf57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff821117610ecf57604052565b81601f82011215610e875780359067ffffffffffffffff8211610ecf5760405192610f9060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8601160185610efc565b82845260208383010111610e8757815f926020809301838601378301015290565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc820112610e87576004359067ffffffffffffffff8211610e8757610ffa91600401610f3d565b9060243573ffffffffffffffffffffffffffffffffffffffff81168103610e875790565b1561102557565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f466163746f72793a206661696c656420746f2066696e6420696d706c656d656e60448201527f746174696f6e00000000000000000000000000000000000000000000000000006064820152fd5b156110b057565b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f466163746f72793a206661696c656420746f20636c6f6e6520696d706c656d6560448201527f6e746174696f6e000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff5f5416330361115457565b7f118cdaa7000000000000000000000000000000000000000000000000000000005f523360045260245ffdfea2646970667358221220996cabc1682afb9850216a13302ac1e176823bd039fa76281904f8f8b2c034d964736f6c634300081b0033","sourceMap":"978:3451:1:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1500:62:72;;:::i;:::-;2627:22;;2623:91;;978:3451:1;;;;;;;;;;;3052:40:72;;;;978:3451:1;;2623:91:72;978:3451:1;2672:31:72;;;;978:3451:1;;;2672:31:72;978:3451:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1500:62:72;;:::i;:::-;978:3451:1;;;;1794:43;978:3451;;;;;;1937:37;978:3451;;;;;;;;;;;;;;;;2166:15;978:3451;;;;;;;;;;;;;;;;;;;;;;;2166:15;978:3451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;2382:15;978:3451;;;;;;;;;;;;;:::i;:::-;;;;;;;;;2382:15;978:3451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2413:118;978:3451;;;;;;;;;;;;;;;;;;;;;;;;;2434:33;;2413:118;:::i;:::-;978:3451;;;;2689:34;978:3451;;;;;;2824:35;978:3451;;;;;;2961:32;978:3451;;;;;;3092:40;978:3451;;1817:578:76;;978:3451:1;;1817:578:76;;;;;;;;;;;;;978:3451:1;1817:578:76;978:3451:1;1817:578:76;;;;978:3451:1;2408:22:76;;;2404:85;;978:3451:1;3280:108;;;;;;2382:15;3280:108;:::i;:::-;978:3451;;;;;;;;;;;;;;3398:253;;;;;;978:3451;;;3398:253;978:3451;3398:253;;978:3451;;3398:253;;978:3451;;;;;;;;;;;;;;;;;;;;;3398:253;;;;;;;;;;;;;;978:3451;;;;;3666:27;978:3451;;3666:27;;;978:3451;;;3398:253;;;;;;:::i;:::-;978:3451;;3398:253;;;;978:3451;;;;;;;;;2404:85:76;978:3451:1;2453:25:76;;;;;978:3451:1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1500:62:72;;:::i;:::-;978:3451:1;;;;;;;;;;3052:40:72;;;;978:3451:1;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;3899:15;978:3451;;;;;;1817:578:76;;978:3451:1;;;;;:::i;:::-;3930:118;978:3451;;;;;;;;3899:15;978:3451;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3951:33;;3930:118;:::i;:::-;978:3451;1817:578:76;;;;;;;978:3451:1;1817:578:76;;;;;978:3451:1;1817:578:76;978:3451:1;1817:578:76;;978:3451:1;1817:578:76;978:3451:1;2408:22:76;;;2404:85;;978:3451:1;4120:108;;3899:15;4120:108;:::i;:::-;978:3451;;4238:115;;;;;978:3451;;;4238:115;978:3451;4238:115;;978:3451;;4238:115;;978:3451;;;;;;4238:115;;;;;;;;;;;;978:3451;4238:115;;;978:3451;;;4368:27;978:3451;;4368:27;;;978:3451;;;4238:115;;;;;978:3451;4238:115;;:::i;:::-;978:3451;4238:115;;;;;978:3451;;;;;;;;;4238:115;978:3451;;;2404:85:76;2453:25;978:3451:1;2453:25:76;978:3451:1;;2453:25:76;978:3451:1;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;978:3451:1;;;;;-1:-1:-1;978:3451:1;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;978:3451:1;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;1796:162:72;978:3451:1;1710:6:72;978:3451:1;;735:10:85;1855:23:72;1851:101;;1796:162::o;1851:101::-;1901:40;1710:6;1901:40;735:10:85;1901:40:72;978:3451:1;;1710:6:72;1901:40","linkReferences":{}},"methodIdentifiers":{"deployZetoFungibleToken(string,address)":"d7c567d6","deployZetoNonFungibleToken(string,address)":"157d4e21","owner()":"8da5cb5b","registerImplementation(string,(address,address,address,address,address,address))":"e83b3f66","renounceOwnership()":"715018a6","transferOwnership(address)":"f2fde38b"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"FailedDeployment\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"InsufficientBalance\",\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"zetoToken\",\"type\":\"address\"}],\"name\":\"ZetoTokenDeployed\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"deployZetoFungibleToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"initialOwner\",\"type\":\"address\"}],\"name\":\"deployZetoNonFungibleToken\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"implementation\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"depositVerifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"withdrawVerifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"verifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"batchVerifier\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"batchWithdrawVerifier\",\"type\":\"address\"}],\"internalType\":\"struct ZetoTokenFactory.ImplementationInfo\",\"name\":\"implementation\",\"type\":\"tuple\"}],\"name\":\"registerImplementation\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"FailedDeployment()\":[{\"details\":\"The deployment failed.\"}],\"InsufficientBalance(uint256,uint256)\":[{\"details\":\"The ETH balance of the account is not enough to perform the operation.\"}],\"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.\"}]},\"kind\":\"dev\",\"methods\":{\"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.\"},\"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\":{\"compilationTarget\":{\"contracts/factory.sol\":\"ZetoTokenFactory\"},\"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/factory.sol\":{\"keccak256\":\"0x8eb60d70d50174e94b5b94983b53bc7487f4e5b31d868ceb412d4ca807b9fe96\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c0748bd67cd3c20a4f740593dc7503b894dc0f3306ca6da05522b343b9889c4b\",\"dweb:/ipfs/QmP7Wy5S6zzZknrpCEJPeFm2A4nue9SzSZi1doAKssiNFt\"]},\"contracts/lib/interfaces/zeto_fungible_initializable.sol\":{\"keccak256\":\"0x1ceb000bc69a395b44bcd78a4ef9edef43eee56e8d186d8b992da5d457f311ae\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://dd412c559faa598805e24952eeb921ce38d7e89809225fd0f1ce7a34d0f3f888\",\"dweb:/ipfs/QmNUouMASVbTvmeMadU44Z6NGaL2ZWfGiqznGFPPZWCAfX\"]},\"contracts/lib/interfaces/zeto_nf_initializable.sol\":{\"keccak256\":\"0x162e3785b213f4ad3d7b04379fb5766eccca781f4507f22f68d8263d2a25bec1\",\"license\":\"Apache-2.0\",\"urls\":[\"bzz-raw://c1d1accbb2573d65b5e285985dc14dea0d51b2dc2265fa3cf4ec268186405aff\",\"dweb:/ipfs/QmYDwEqzc9kEdmsPgLmJmhSjXShHEJ7qLN44fnQWkbRRoP\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/proxy/Clones.sol\":{\"keccak256\":\"0x7162fa3c6971aa6f0a70160fed018edbb8b1db3af9b034ef3f7c224c3bdb7431\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f212d25e8f357209838ad7ce8ebc89de79906d9fe580566962e889ecb090e6b4\",\"dweb:/ipfs/QmdbLuLwX24VB1Gdrabke584WyaUkuJSWuDzzuRgqAMFge\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/@openzeppelin/contracts/utils/Create2.sol\":{\"keccak256\":\"0xbb7e8401583d26268ea9103013bcdcd90866a7718bd91105ebd21c9bf11f4f06\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://866a11ad89c93ee918078f7a46ae31e17d89216ce64603f0d34be7ed0a5c520e\",\"dweb:/ipfs/QmW3ckLEJg2v2NzuVLNJFmRuerGSipw6Dzg6ntbmqbAGoC\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"FailedDeployment"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"InsufficientBalance"},{"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":"previousOwner","type":"address","indexed":true},{"internalType":"address","name":"newOwner","type":"address","indexed":true}],"type":"event","name":"OwnershipTransferred","anonymous":false},{"inputs":[{"internalType":"address","name":"zetoToken","type":"address","indexed":true}],"type":"event","name":"ZetoTokenDeployed","anonymous":false},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployZetoFungibleToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"address","name":"initialOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deployZetoNonFungibleToken","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"string","name":"name","type":"string"},{"internalType":"struct ZetoTokenFactory.ImplementationInfo","name":"implementation","type":"tuple","components":[{"internalType":"address","name":"implementation","type":"address"},{"internalType":"address","name":"depositVerifier","type":"address"},{"internalType":"address","name":"withdrawVerifier","type":"address"},{"internalType":"address","name":"verifier","type":"address"},{"internalType":"address","name":"batchVerifier","type":"address"},{"internalType":"address","name":"batchWithdrawVerifier","type":"address"}]}],"stateMutability":"nonpayable","type":"function","name":"registerImplementation"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"renounceOwnership"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"transferOwnership"}],"devdoc":{"kind":"dev","methods":{"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."},"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/factory.sol":"ZetoTokenFactory"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/factory.sol":{"keccak256":"0x8eb60d70d50174e94b5b94983b53bc7487f4e5b31d868ceb412d4ca807b9fe96","urls":["bzz-raw://c0748bd67cd3c20a4f740593dc7503b894dc0f3306ca6da05522b343b9889c4b","dweb:/ipfs/QmP7Wy5S6zzZknrpCEJPeFm2A4nue9SzSZi1doAKssiNFt"],"license":"Apache-2.0"},"contracts/lib/interfaces/zeto_fungible_initializable.sol":{"keccak256":"0x1ceb000bc69a395b44bcd78a4ef9edef43eee56e8d186d8b992da5d457f311ae","urls":["bzz-raw://dd412c559faa598805e24952eeb921ce38d7e89809225fd0f1ce7a34d0f3f888","dweb:/ipfs/QmNUouMASVbTvmeMadU44Z6NGaL2ZWfGiqznGFPPZWCAfX"],"license":"Apache-2.0"},"contracts/lib/interfaces/zeto_nf_initializable.sol":{"keccak256":"0x162e3785b213f4ad3d7b04379fb5766eccca781f4507f22f68d8263d2a25bec1","urls":["bzz-raw://c1d1accbb2573d65b5e285985dc14dea0d51b2dc2265fa3cf4ec268186405aff","dweb:/ipfs/QmYDwEqzc9kEdmsPgLmJmhSjXShHEJ7qLN44fnQWkbRRoP"],"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/proxy/Clones.sol":{"keccak256":"0x7162fa3c6971aa6f0a70160fed018edbb8b1db3af9b034ef3f7c224c3bdb7431","urls":["bzz-raw://f212d25e8f357209838ad7ce8ebc89de79906d9fe580566962e889ecb090e6b4","dweb:/ipfs/QmdbLuLwX24VB1Gdrabke584WyaUkuJSWuDzzuRgqAMFge"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Create2.sol":{"keccak256":"0xbb7e8401583d26268ea9103013bcdcd90866a7718bd91105ebd21c9bf11f4f06","urls":["bzz-raw://866a11ad89c93ee918078f7a46ae31e17d89216ce64603f0d34be7ed0a5c520e","dweb:/ipfs/QmW3ckLEJg2v2NzuVLNJFmRuerGSipw6Dzg6ntbmqbAGoC"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"}},"version":1},"id":1}