UNPKG

@excubiae/contracts

Version:
1 lines 24.4 kB
{"abi":[{"type":"constructor","inputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"IMPLEMENTATION","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"deploy","inputs":[{"name":"_checkerAddress","type":"address","internalType":"address"}],"outputs":[{"name":"clone","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"event","name":"CloneDeployed","inputs":[{"name":"clone","type":"address","indexed":true,"internalType":"address"}],"anonymous":false}],"bytecode":{"object":"0x60a0604052348015600e575f5ffd5b506040516019906042565b604051809103905ff0801580156031573d5f5f3e3d5ffd5b506001600160a01b0316608052604f565b610b258061030983390190565b60805161029c61006d5f395f8181603d0152610140015261029c5ff3fe608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633a4741bd146100385780634c96a38914610088575b5f5ffd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61005f610096366004610233565b6040805133602082015273ffffffffffffffffffffffffffffffffffffffff83168183015281518082038301815260609091019091525f906100d78161013a565b91508173ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561011e575f5ffd5b505af1158015610130573d5f5f3e3d5ffd5b5050505050919050565b5f6101657f0000000000000000000000000000000000000000000000000000000000000000836101ad565b60405190915073ffffffffffffffffffffffffffffffffffffffff8216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b905f90a2919050565b5f6101b95f84846101c0565b9392505050565b5f60405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101b95763301164255f526004601cfd5b5f60208284031215610243575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101b9575f5ffdfea2646970667358221220cda17cb003049af644e6d6b3dd988c78612a2d502b692d44064970ff4cf680ee64736f6c634300081c003360806040523380602857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b602f816034565b50608c565b5f80546001600160a01b03838116610100818102610100600160a81b0319851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b610a8c806100995f395ff3fe608060405234801561000f575f5ffd5b50600436106100cf575f3560e01c80638129fc1c1161007d578063ce343deb11610058578063ce343deb146101c8578063d945653114610201578063f2fde38b14610223575f5ffd5b80638129fc1c146101895780638da5cb5b14610191578063b41a4b19146101b3575f5ffd5b806372f7a030116100ad57806372f7a03014610111578063776d1a01146101565780637e16420414610169575f5ffd5b8063158ef93e146100d35780631e898ef1146100f4578063715018a614610109575b5f5ffd5b5f546100df9060ff1681565b60405190151581526020015b60405180910390f35b610107610102366004610865565b610236565b005b610107610297565b6001546101319073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016100eb565b6101076101643660046108e5565b6102aa565b6002546101319073ffffffffffffffffffffffffffffffffffffffff1681565b6101076103bd565b5f54610100900473ffffffffffffffffffffffffffffffffffffffff16610131565b6101bb6103c5565b6040516100eb9190610953565b60408051808201909152600a81527f4552433230566f7465730000000000000000000000000000000000000000000060208201526101bb565b6100df61020f3660046108e5565b60036020525f908152604090205460ff1681565b6101076102313660046108e5565b6103d4565b60015473ffffffffffffffffffffffffffffffffffffffff163314610287576040517f7d24b6fc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61029283838361043c565b505050565b61029f6104f3565b6102a85f61054b565b565b6102b26104f3565b73ffffffffffffffffffffffffffffffffffffffff81166102ff576040517fd92e233d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015473ffffffffffffffffffffffffffffffffffffffff161561034f576040517fe0f2d7b100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f3bfb4bbf112628248058745a3c57e35b13369386e474b8e56c552f3063a4a196905f90a250565b6102a86105c7565b60606103cf610646565b905090565b6103dc6104f3565b73ffffffffffffffffffffffffffffffffffffffff8116610430576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f60048201526024015b60405180910390fd5b6104398161054b565b50565b73ffffffffffffffffffffffffffffffffffffffff83165f9081526003602052604090205460ff161561049b576040517fd10324cc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff83165f90815260036020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055610292838383610651565b5f5473ffffffffffffffffffffffffffffffffffffffff6101009091041633146102a8576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610427565b5f805473ffffffffffffffffffffffffffffffffffffffff8381166101008181027fffffffffffffffffffffff0000000000000000000000000000000000000000ff851617855560405193049190911692909183917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35050565b6105cf61077e565b5f6105d8610646565b90505f5f828060200190518101906105f09190610965565b915091506105fd8261054b565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555050565b60606103cf3061078f565b6002546040517fe2b2408500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e2b24085906106ab908690869086906004016109e4565b602060405180830381865afa1580156106c6573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106ea9190610a1c565b610720576040517f4715494500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60015460405173ffffffffffffffffffffffffffffffffffffffff918216918516907fc013b39287cb7a53f776482ac9573829321f002f31ef8782129b41d60047bda0906107719086908690610a3b565b60405180910390a3505050565b6107866107dc565b6102a83361054b565b60405164ffffffffff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd3833b0116808252602090810190602d908301843c60408101815101604052919050565b5f5460ff1615610818576040517f0dc149f000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b73ffffffffffffffffffffffffffffffffffffffff81168114610439575f5ffd5b5f5f5f60408486031215610877575f5ffd5b833561088281610844565b9250602084013567ffffffffffffffff81111561089d575f5ffd5b8401601f810186136108ad575f5ffd5b803567ffffffffffffffff8111156108c3575f5ffd5b8660208284010111156108d4575f5ffd5b939660209190910195509293505050565b5f602082840312156108f5575f5ffd5b813561090081610844565b9392505050565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6109006020830184610907565b5f5f60408385031215610976575f5ffd5b825161098181610844565b602084015190925061099281610844565b809150509250929050565b81835281816020850137505f602082840101525f60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b73ffffffffffffffffffffffffffffffffffffffff84168152604060208201525f610a1360408301848661099d565b95945050505050565b5f60208284031215610a2c575f5ffd5b81518015158114610900575f5ffd5b602081525f610a4e60208301848661099d565b94935050505056fea264697066735822122059456ac02758bfb01061e47d2c7ba5c909d0f942293ac97a7e7d0c58e0538bac64736f6c634300081c0033","sourceMap":"380:765:19:-:0;;;512:57;;;;;;;;;;542:22;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;842:32:64;;;380:765:19;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561000f575f5ffd5b5060043610610034575f3560e01c80633a4741bd146100385780634c96a38914610088575b5f5ffd5b61005f7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390f35b61005f610096366004610233565b6040805133602082015273ffffffffffffffffffffffffffffffffffffffff83168183015281518082038301815260609091019091525f906100d78161013a565b91508173ffffffffffffffffffffffffffffffffffffffff16638129fc1c6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801561011e575f5ffd5b505af1158015610130573d5f5f3e3d5ffd5b5050505050919050565b5f6101657f0000000000000000000000000000000000000000000000000000000000000000836101ad565b60405190915073ffffffffffffffffffffffffffffffffffffffff8216907f2158cde9935cbf85d0b02e02fbc315ad0be2f3f017a603a2ebeedead21b8d60b905f90a2919050565b5f6101b95f84846101c0565b9392505050565b5f60405182518060438301826020870160045afa506e5af43d82803e903d91602b57fd5bf360238301528460148301528060881b74fe61002d3d81600a3d39f3363d3d373d3d3d363d730182526037810161ffd38210600b01830187f092505050806101b95763301164255f526004601cfd5b5f60208284031215610243575f5ffd5b813573ffffffffffffffffffffffffffffffffffffffff811681146101b9575f5ffdfea2646970667358221220cda17cb003049af644e6d6b3dd988c78612a2d502b692d44064970ff4cf680ee64736f6c634300081c0033","sourceMap":"380:765:19:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;587:39:64;;;;;;;;190:42:133;178:55;;;160:74;;148:2;133:18;587:39:64;;;;;;;910:233:19;;;;;;:::i;:::-;1012:39;;;1023:10;1012:39;;;733:74:133;763:42;843:55;;823:18;;;816:83;1012:39:19;;;;;;;;;706:18:133;;;;1012:39:19;;;-1:-1:-1;;1070:19:19;1012:39;1070:13;:19::i;:::-;1062:27;;1117:5;1100:34;;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;982:161;910:233;;;:::o;1224:166:64:-;1278:13;1311:36;1326:14;1342:4;1311:14;:36::i;:::-;1363:20;;1303:44;;-1:-1:-1;1363:20:64;;;;;;;;;1224:166;;;:::o;24551:152:132:-;24627:16;24666:30;24672:1;24675:14;24691:4;24666:5;:30::i;:::-;24655:41;24551:152;-1:-1:-1;;;24551:152:132:o;24850:5781::-;24957:16;29978:4;29972:11;30011:4;30005:11;30088:1;30081:4;30078:1;30074:12;30071:1;30064:4;30058;30054:15;30051:1;30044:5;30033:57;30029:62;30125:32;30118:4;30115:1;30111:12;30104:54;30192:14;30185:4;30182:1;30178:12;30171:36;30289:1;30284:3;30280:11;30234:44;30230:62;30227:1;30220:73;30460:4;30457:1;30453:12;30442:6;30439:1;30436:13;30430:4;30426:24;30423:1;30419:32;30412:5;30405:61;30393:73;;;;30489:8;30479:136;;30530:10;30524:4;30517:24;30596:4;30590;30583:18;245:309:133;304:6;357:2;345:9;336:7;332:23;328:32;325:52;;;373:1;370;363:12;325:52;412:9;399:23;462:42;455:5;451:54;444:5;441:65;431:93;;520:1;517;510:12","linkReferences":{},"immutableReferences":{"4567":[{"start":61,"length":32},{"start":320,"length":32}]}},"methodIdentifiers":{"IMPLEMENTATION()":"3a4741bd","deploy(address)":"4c96a389"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.28+commit.7893614a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"clone\",\"type\":\"address\"}],\"name\":\"CloneDeployed\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IMPLEMENTATION\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"_checkerAddress\",\"type\":\"address\"}],\"name\":\"deploy\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"clone\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Simplifies deployment of ERC20VotesPolicy clones with appended configuration data.\",\"events\":{\"CloneDeployed(address)\":{\"params\":{\"clone\":\"Address of the deployed clone contract.\"}}},\"kind\":\"dev\",\"methods\":{\"deploy(address)\":{\"details\":\"Encodes the checker address and caller as configuration data for the clone.\",\"params\":{\"_checkerAddress\":\"Address of the checker to use for validation.\"},\"returns\":{\"clone\":\"The address of the newly deployed ERC20VotesPolicy clone.\"}}},\"title\":\"ERC20VotesPolicyFactory\",\"version\":1},\"userdoc\":{\"events\":{\"CloneDeployed(address)\":{\"notice\":\"Emitted when a new clone contract is successfully deployed.\"}},\"kind\":\"user\",\"methods\":{\"IMPLEMENTATION()\":{\"notice\":\"Address of the implementation contract used for cloning.\"},\"constructor\":{\"notice\":\"Initializes the factory with the ERC20VotesPolicy implementation.\"},\"deploy(address)\":{\"notice\":\"Deploys a new ERC20VotesPolicy clone with the specified checker address.\"}},\"notice\":\"Factory contract for deploying minimal proxy instances of ERC20VotesPolicy.\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/extensions/erc20votes/ERC20VotesPolicyFactory.sol\":\"ERC20VotesPolicyFactory\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200000},\"remappings\":[\":@openzeppelin/=node_modules/@openzeppelin/\",\":@semaphore-protocol/=node_modules/@semaphore-protocol/\",\":@solady/=node_modules/solady/\",\":@zk-kit/=node_modules/@zk-kit/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=node_modules/forge-std/\",\":hardhat/=node_modules/hardhat/\",\":poseidon-solidity/=node_modules/poseidon-solidity/\",\":solady/=node_modules/solady/\"]},\"sources\":{\"contracts/checker/BaseChecker.sol\":{\"keccak256\":\"0x7cd56cddc8264c5be46692a179221a69b9e20eb977dcb6df82e62f55aa945411\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6ca0724296c4a104fbd0f7af3c297b857093fb771f418c7c198b721200d60d56\",\"dweb:/ipfs/QmW7chfNoFQJY2NA21xGB8bP5MZ2ajjMuapqp6pMRC52u3\"]},\"contracts/extensions/erc20votes/ERC20VotesPolicy.sol\":{\"keccak256\":\"0xefec4f09335eb6d6685dfc292c6b011fae4c397300c16ad7c5caa92da95d4d34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://744f0dd1f7fcc727e588f8c71ae47199181bb8fbf1a1450853644c4e538c37c2\",\"dweb:/ipfs/QmQkyeuazZk5j4BWp9BEg4zz2d15P6fGynrMWi8kYW6PQk\"]},\"contracts/extensions/erc20votes/ERC20VotesPolicyFactory.sol\":{\"keccak256\":\"0x3e2d9b5e3c932201f7b0e38accb8c0e13b58b79225783488f0bc8dedfaf1bd0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6cd1160108619be05041353bff310525b41b3426ecaba52a11a3eb3e5417ac52\",\"dweb:/ipfs/QmPCwH3McDUH1ARvp1HXtt5WCidH6pioLodEoQuLSmrgFS\"]},\"contracts/interfaces/IBaseChecker.sol\":{\"keccak256\":\"0x2e78c67cfe2594fbe999da0a5102099feec5b7344023f6f95c862130d8097b4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://dd6235abb53aed81c48eef7847af7fd9533ceb81afd3670541e29c1f41c275c1\",\"dweb:/ipfs/Qmbjmk4hjb4awhdk3v7WbZC3NuSeWoioewcp8FyBhkMfRB\"]},\"contracts/interfaces/IBasePolicy.sol\":{\"keccak256\":\"0x8ec727819f1f02f92352e4ed7d1c92a82a324ca313c0318cd4a080f1a0cc8233\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5f223695a8361138b94e55954cfa20d69f9f547478a046c8b2aa7799323d4ca8\",\"dweb:/ipfs/QmVXuU28cpMjbPTS1WYKz4RgepBA1DTwZXJ82H2b7q3ZZr\"]},\"contracts/interfaces/IClone.sol\":{\"keccak256\":\"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef\",\"dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff\"]},\"contracts/interfaces/IFactory.sol\":{\"keccak256\":\"0xd15d88cf9a282b37e2db7893d94bac0439356e73b34bb7dd8a963bdd75aa524f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ae2c2aa12be714aed211f9ed24782896dd798efd0ed5e698b6c67d38239e680c\",\"dweb:/ipfs/QmZeWkBmSUTEThB7ZkhbFb7G8pc7oi6PepkcoaLWo3CQe1\"]},\"contracts/interfaces/IPolicy.sol\":{\"keccak256\":\"0x82f96940502cdd880f1eacc03cd8c3895f306283efa907610c899a1f5509f78c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5baf97f88beb3155f244dc301ee040786780bf6762fbaaf569e2e86b17729b3f\",\"dweb:/ipfs/Qmec9wzmmFwkQHDthMo9QaFtYqa7CadjiCP2JMsgFGGaxU\"]},\"contracts/policy/BasePolicy.sol\":{\"keccak256\":\"0x27b5e3e32c20cf408479be643d19b423ba8560edda631e07cf9593d9e223361f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a0f8fc6e1fe5d06fa6564b9d3a15e7a8f45952d209a76d8eca062d159af47ee7\",\"dweb:/ipfs/QmXkkDC3oATeWqdsFFFryuky8iahgmF32QvE11eS4PDxMS\"]},\"contracts/policy/Policy.sol\":{\"keccak256\":\"0xb0c9186c6b880aadc1c6cc5ddae104c385f365b48eb9bbedf164f9085a242c1e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978e15170f79da85a988a040f9e1071c62b0fc80e8fd5240253c0a6d1d1a3fc7\",\"dweb:/ipfs/QmdWqp9Xxe5H4kXa6CmsymfGzENoqu8VAoJBsUSsyZzbNd\"]},\"contracts/proxy/Clone.sol\":{\"keccak256\":\"0x0ec0acfcf7440fadcf621ec4fbf1679e390bd52c9633477ee7e6f06138e71b99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://10f90028d43e745963e673a16d96a3b15c92a83b0dde396d5bdadab9b8a166ef\",\"dweb:/ipfs/Qmf3JjAMVuhPJBMa7hqXNTB3zp4QxPqZYdrntzbhCJXbiG\"]},\"contracts/proxy/Factory.sol\":{\"keccak256\":\"0xd245821a0b761593abc8e36072cfa4e3767120124194b23b423d71b407059cb5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4ec099f4978d3bb1ea7448c7b2703fb23d73e8ec6734d5ebfc3a5fea331eded9\",\"dweb:/ipfs/QmbpPZxxWh62w9tV8wD8oYb9gpD9zYYKHumB3rrxhjJMiF\"]},\"node_modules/@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6\",\"dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a\"]},\"node_modules/@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12\",\"dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF\"]},\"node_modules/solady/src/utils/LibClone.sol\":{\"keccak256\":\"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5\",\"dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.28+commit.7893614a"},"language":"Solidity","output":{"abi":[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"address","name":"clone","type":"address","indexed":true}],"type":"event","name":"CloneDeployed","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IMPLEMENTATION","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"address","name":"_checkerAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"deploy","outputs":[{"internalType":"address","name":"clone","type":"address"}]}],"devdoc":{"kind":"dev","methods":{"deploy(address)":{"details":"Encodes the checker address and caller as configuration data for the clone.","params":{"_checkerAddress":"Address of the checker to use for validation."},"returns":{"clone":"The address of the newly deployed ERC20VotesPolicy clone."}}},"version":1},"userdoc":{"kind":"user","methods":{"IMPLEMENTATION()":{"notice":"Address of the implementation contract used for cloning."},"constructor":{"notice":"Initializes the factory with the ERC20VotesPolicy implementation."},"deploy(address)":{"notice":"Deploys a new ERC20VotesPolicy clone with the specified checker address."}},"version":1}},"settings":{"remappings":["@openzeppelin/=node_modules/@openzeppelin/","@semaphore-protocol/=node_modules/@semaphore-protocol/","@solady/=node_modules/solady/","@zk-kit/=node_modules/@zk-kit/","eth-gas-reporter/=node_modules/eth-gas-reporter/","forge-std/=node_modules/forge-std/","hardhat/=node_modules/hardhat/","poseidon-solidity/=node_modules/poseidon-solidity/","solady/=node_modules/solady/"],"optimizer":{"enabled":true,"runs":200000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/extensions/erc20votes/ERC20VotesPolicyFactory.sol":"ERC20VotesPolicyFactory"},"evmVersion":"cancun","libraries":{}},"sources":{"contracts/checker/BaseChecker.sol":{"keccak256":"0x7cd56cddc8264c5be46692a179221a69b9e20eb977dcb6df82e62f55aa945411","urls":["bzz-raw://6ca0724296c4a104fbd0f7af3c297b857093fb771f418c7c198b721200d60d56","dweb:/ipfs/QmW7chfNoFQJY2NA21xGB8bP5MZ2ajjMuapqp6pMRC52u3"],"license":"MIT"},"contracts/extensions/erc20votes/ERC20VotesPolicy.sol":{"keccak256":"0xefec4f09335eb6d6685dfc292c6b011fae4c397300c16ad7c5caa92da95d4d34","urls":["bzz-raw://744f0dd1f7fcc727e588f8c71ae47199181bb8fbf1a1450853644c4e538c37c2","dweb:/ipfs/QmQkyeuazZk5j4BWp9BEg4zz2d15P6fGynrMWi8kYW6PQk"],"license":"MIT"},"contracts/extensions/erc20votes/ERC20VotesPolicyFactory.sol":{"keccak256":"0x3e2d9b5e3c932201f7b0e38accb8c0e13b58b79225783488f0bc8dedfaf1bd0b","urls":["bzz-raw://6cd1160108619be05041353bff310525b41b3426ecaba52a11a3eb3e5417ac52","dweb:/ipfs/QmPCwH3McDUH1ARvp1HXtt5WCidH6pioLodEoQuLSmrgFS"],"license":"MIT"},"contracts/interfaces/IBaseChecker.sol":{"keccak256":"0x2e78c67cfe2594fbe999da0a5102099feec5b7344023f6f95c862130d8097b4a","urls":["bzz-raw://dd6235abb53aed81c48eef7847af7fd9533ceb81afd3670541e29c1f41c275c1","dweb:/ipfs/Qmbjmk4hjb4awhdk3v7WbZC3NuSeWoioewcp8FyBhkMfRB"],"license":"MIT"},"contracts/interfaces/IBasePolicy.sol":{"keccak256":"0x8ec727819f1f02f92352e4ed7d1c92a82a324ca313c0318cd4a080f1a0cc8233","urls":["bzz-raw://5f223695a8361138b94e55954cfa20d69f9f547478a046c8b2aa7799323d4ca8","dweb:/ipfs/QmVXuU28cpMjbPTS1WYKz4RgepBA1DTwZXJ82H2b7q3ZZr"],"license":"MIT"},"contracts/interfaces/IClone.sol":{"keccak256":"0xc3f6a08a3ce1db7e80dd496c6631d4d9d7a409729e67ed543411baac396369e7","urls":["bzz-raw://d9e531790090250216d4c89b58e06b6cb942d79e94614c4e70f57021c4fdccef","dweb:/ipfs/QmaGuDzcBxCr1XpWQiqB6M7GcsVaXeaouQFXsN53MnKLff"],"license":"MIT"},"contracts/interfaces/IFactory.sol":{"keccak256":"0xd15d88cf9a282b37e2db7893d94bac0439356e73b34bb7dd8a963bdd75aa524f","urls":["bzz-raw://ae2c2aa12be714aed211f9ed24782896dd798efd0ed5e698b6c67d38239e680c","dweb:/ipfs/QmZeWkBmSUTEThB7ZkhbFb7G8pc7oi6PepkcoaLWo3CQe1"],"license":"MIT"},"contracts/interfaces/IPolicy.sol":{"keccak256":"0x82f96940502cdd880f1eacc03cd8c3895f306283efa907610c899a1f5509f78c","urls":["bzz-raw://5baf97f88beb3155f244dc301ee040786780bf6762fbaaf569e2e86b17729b3f","dweb:/ipfs/Qmec9wzmmFwkQHDthMo9QaFtYqa7CadjiCP2JMsgFGGaxU"],"license":"MIT"},"contracts/policy/BasePolicy.sol":{"keccak256":"0x27b5e3e32c20cf408479be643d19b423ba8560edda631e07cf9593d9e223361f","urls":["bzz-raw://a0f8fc6e1fe5d06fa6564b9d3a15e7a8f45952d209a76d8eca062d159af47ee7","dweb:/ipfs/QmXkkDC3oATeWqdsFFFryuky8iahgmF32QvE11eS4PDxMS"],"license":"MIT"},"contracts/policy/Policy.sol":{"keccak256":"0xb0c9186c6b880aadc1c6cc5ddae104c385f365b48eb9bbedf164f9085a242c1e","urls":["bzz-raw://978e15170f79da85a988a040f9e1071c62b0fc80e8fd5240253c0a6d1d1a3fc7","dweb:/ipfs/QmdWqp9Xxe5H4kXa6CmsymfGzENoqu8VAoJBsUSsyZzbNd"],"license":"MIT"},"contracts/proxy/Clone.sol":{"keccak256":"0x0ec0acfcf7440fadcf621ec4fbf1679e390bd52c9633477ee7e6f06138e71b99","urls":["bzz-raw://10f90028d43e745963e673a16d96a3b15c92a83b0dde396d5bdadab9b8a166ef","dweb:/ipfs/Qmf3JjAMVuhPJBMa7hqXNTB3zp4QxPqZYdrntzbhCJXbiG"],"license":"MIT"},"contracts/proxy/Factory.sol":{"keccak256":"0xd245821a0b761593abc8e36072cfa4e3767120124194b23b423d71b407059cb5","urls":["bzz-raw://4ec099f4978d3bb1ea7448c7b2703fb23d73e8ec6734d5ebfc3a5fea331eded9","dweb:/ipfs/QmbpPZxxWh62w9tV8wD8oYb9gpD9zYYKHumB3rrxhjJMiF"],"license":"MIT"},"node_modules/@openzeppelin/contracts/access/Ownable.sol":{"keccak256":"0xff6d0bb2e285473e5311d9d3caacb525ae3538a80758c10649a4d61029b017bb","urls":["bzz-raw://8ed324d3920bb545059d66ab97d43e43ee85fd3bd52e03e401f020afb0b120f6","dweb:/ipfs/QmfEckWLmZkDDcoWrkEvMWhms66xwTLff9DDhegYpvHo1a"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Context.sol":{"keccak256":"0x493033a8d1b176a037b2cc6a04dad01a5c157722049bbecf632ca876224dd4b2","urls":["bzz-raw://6a708e8a5bdb1011c2c381c9a5cfd8a9a956d7d0a9dc1bd8bcdaf52f76ef2f12","dweb:/ipfs/Qmax9WHBnVsZP46ZxEMNRQpLQnrdE4dK8LehML1Py8FowF"],"license":"MIT"},"node_modules/solady/src/utils/LibClone.sol":{"keccak256":"0x1388494b421db04cf6f33ab69580edc5b187328688818504b87eaea9fa3c0d2c","urls":["bzz-raw://8f6bf027d6fe4f102360bf7e988923f73510697a87d970b28093a0d950d9a3e5","dweb:/ipfs/QmUhdrSqiwhBp2cZPef6jcTfQ8Md3KoyfnK2ZteseAvude"],"license":"MIT"}},"version":1},"id":19}