UNPKG

@venusprotocol/governance-contracts

Version:

### Prerequisites

494 lines 161 kB
{ "address": "0x526159A92A82afE5327d37Ef446b68FD9a5cA914", "abi": [ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "address", "name": "contractAddress", "type": "address" }, { "indexed": false, "internalType": "string", "name": "functionSig", "type": "string" } ], "name": "PermissionGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" }, { "indexed": false, "internalType": "address", "name": "contractAddress", "type": "address" }, { "indexed": false, "internalType": "string", "name": "functionSig", "type": "string" } ], "name": "PermissionRevoked", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "type": "event" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" }, { "internalType": "string", "name": "functionSig", "type": "string" }, { "internalType": "address", "name": "accountToPermit", "type": "address" } ], "name": "giveCallPermission", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "contractAddress", "type": "address" }, { "internalType": "string", "name": "functionSig", "type": "string" } ], "name": "hasPermission", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "string", "name": "functionSig", "type": "string" } ], "name": "isAllowedToCall", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "contractAddress", "type": "address" }, { "internalType": "string", "name": "functionSig", "type": "string" }, { "internalType": "address", "name": "accountToRevoke", "type": "address" } ], "name": "revokeCallPermission", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" } ], "transactionHash": "0x715078bb4f76467b6fd442a5cb3b868b06a1bf6f2c8f63e92fac95911fa7b942", "receipt": { "to": "0x0000000000000000000000000000000000008006", "from": "0x7f423E50147930e197dAaE9F637198E66746D597", "contractAddress": "0x526159A92A82afE5327d37Ef446b68FD9a5cA914", "transactionIndex": 0, "gasUsed": "1901866", "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "blockHash": "0x661a8f2abe6caae0b4e4429d17126c27895dad3cc563096ca66b889af28e87e6", "transactionHash": "0x715078bb4f76467b6fd442a5cb3b868b06a1bf6f2c8f63e92fac95911fa7b942", "logs": [ { "transactionIndex": 0, "blockNumber": 42301361, "transactionHash": "0x715078bb4f76467b6fd442a5cb3b868b06a1bf6f2c8f63e92fac95911fa7b942", "address": "0x000000000000000000000000000000000000800A", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000007f423e50147930e197daae9f637198e66746d597", "0x0000000000000000000000000000000000000000000000000000000000008001" ], "data": "0x000000000000000000000000000000000000000000000000000079f9e34c5c50", "logIndex": 0, "blockHash": "0x661a8f2abe6caae0b4e4429d17126c27895dad3cc563096ca66b889af28e87e6" }, { "transactionIndex": 0, "blockNumber": 42301361, "transactionHash": "0x715078bb4f76467b6fd442a5cb3b868b06a1bf6f2c8f63e92fac95911fa7b942", "address": "0x0000000000000000000000000000000000008008", "topics": ["0x27fe8c0b49f49507b9d4fe5968c9f49edfe5c9df277d433a07a0717ede97638d"], "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000008670000000000000000000000000000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000800e896a37e5d553495a7185c7f1cdb9fc5b6b6b79c4c96bee7b679f007572ef9f53", "logIndex": 1, "blockHash": "0x661a8f2abe6caae0b4e4429d17126c27895dad3cc563096ca66b889af28e87e6" }, { "transactionIndex": 0, "blockNumber": 42301361, "transactionHash": "0x715078bb4f76467b6fd442a5cb3b868b06a1bf6f2c8f63e92fac95911fa7b942", "address": "0x0000000000000000000000000000000000008008", "topics": [ "0x3a36e47291f4201faf137fab081d92295bce2d53be2c6ca68ba82c7faa9ce241", "0x000000000000000000000000000000000000000000000000000000000000800e", "0x896a37e5d553495a7185c7f1cdb9fc5b6b6b79c4c96bee7b679f007572ef9f53" ], "data": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000024a202890000000000000000000001d501008041000001d50010009c000000000101043b0000000100200190074e07490000040f0000801002000039000000c0011002100000000001000414000001d6011001c7000005940000613d0000000000100435000000200000043f000005940000213d0000075000010430000000000101041a000000200010043f0000000000200435000005940000c13dffffffffffffffff00000000010000190000000000320435000001d50020009c000000000001042d000001d502008041000000ff00100190000005940000413d0000074f0001042e000000000303043b0000000802000029000000000121019f00000000002104350000000502000029000000c002200210000000000200041400000007030000290000006002200210000000000002004b0000800d02000039000001d7011001c70000000002000411000000400040043f074e07220000040f000001f204400197000000000046004b0000000103300367000002d80000213d00000060011002100000000002000416074e07440000040f00000000001204350000000702000029000000400100043d000001e80030009c000000000003004b000007200000613d00000040011002100000000201000029000001fd01000041000000040010043f000001fc01000041000000400400043d000000800010043f000000000112019f0000000000010435000000000121034f000700000005001d0000000101100039000000000202043b0000000401100370000000000023004b000000440020008c0000000403000039000000000021041b0000020702200197000000000201041a074e072f0000040f000800000003001d00000000030104330000000000340435000000000200001900000000070004110000000801000029000001e901000041000000000065043500000000060504330000000006140019000005530000a13d000000000024004b0000004002000039000001e80020009c00000020010000390000000006000411000000400200043d0000000501000029000000240310037000000004031003700000000003000416020000000000000000000000ffffffff0000000102000029000100000002001d00000002050000290000020802200197000400000004001d000001f9010000410000004101000039000000010030008c000000010330008a0000000405400270000001f607700197000001f50770021f000000780770018f0000000307400210000001f2066001970000000005930019000000000035004b0000000005080433000000000405001900000041030000390000000000430435000001f4044001c7000000000403043300000021038000390000000000390435000001f3033001c7000001f2033001970000000003090433000000000045004b0000000005650436000000003603043c000000000556043600000042050000390000008004600039000001ec0040009c000800000004001d000005590000813d000000100050008c000000010040008c000000010440008a00000004065002700000000000760435000001f608800197000001f50880021f000000780880018f0000000308500210000001f20770019700000000070604330000000006020433000000000506001900000029040000390000000000540435000001f4055001c7000001f205500197000000000504043300000021042000390000000000410435000001f3044001c700000000040104330000000006760436000000005705043c0000000006010019000000000503034f000000000300003100000000011204360000002a010000390000006004200039000001f10020009c000200000001001d000600000005001d000000400220021000000000040000190000000000310435000000040500002900000000000204350000002002100039000001ed011001c700000208011001970000005301300039000000b401300039000000000141019f00000000013101cf000000000131022f0000010003300089000000000434022f00000000043401cf0000000004020433000000b4022000390000000303600210000000000006004b000000000032004b0000000002520436000000004504043c000000000401034f000000b403300039000000b4020000390000001f0620018f000000a00020043f000001ea0050009c000000000505043b000005940000813d000001ea0030009c0000000701000029000800000002001d0000002402100370000001d80400004100000001022001bf000000010100c039000000000001004b0000000601000029074e05d00000040f0000000603000029000000640020008c416363657373436f00000001020000390000000402000029000006c30000813d000006bd0000a13d000006220000613d000001e802200197000006010000613d000005ae0000213d000001fa04000041000001ff011001c7000000040210003900000020030000390000002402100039000001f902000041000001fe030000410000004402100039000000320100003900000005060000290000000103000039000001ef0110009a000001ee02008041000001ee0020009c0000001f023000390000000002320019000000000363019f00000000035301cf000000000353022f0000010005500089000000000656022f00000000065601cf000000000604043300000003055002100000000004420019000000000343034f000000040000006b000000000057004b0000000007870436000000006806043c0000000007020019000000000603034f00000000054200190000000504400210000000000004004b00000003040000290000008002100039000000080300002900000060030000390000004002100039000000600210003900000044011000390000001f0110003900000004010000290000004402400039000000240140003900000004024000390000000000140435000000480230003900000028023000390000004802100039000001f80300004100000037021000390000003702500039000500000003001d0000000003020433000001f7030000410000002004500039000000400500043d000000100040008c000003550000c13d000000240020008c000000000676019f0000000105000029000000080800002900000007090000290000000806000029000000000787019f000100000001001d000000400020043f0000008002200039000400000006001d000300000007001d000001ec0020009c000000140130003900000208021001970000000502700210000000050370021000000005072002720000002002300039000500000002001d000000440210037000000007045000290000002405400039000000000531034f00000004034000390000002303400039000001ea0040009c000000000403043b000000000068004b0000000008980436000000007907043c0000000505500210000000400010043f000000800020043f0000000703300029074e06030000040f000700000001001d074e06d30000040f00000000000004350000000001000416000500000001001d0000002001100039000001ea0010009c000700000003001d000000000301001900020000000000028000000000000000ffffffffffffffe0ffffffffffffff007965db0b0000000001ffc9a700000000ffffffffffffff8000000084000000806f722073656c660020726f6c6573206672656e6f756e6365616e206f6e6c79206e74726f6c3a206300000064000000006666696369656e7467746820696e737520686578206c656e537472696e67733a00000024000000004e487b710000000094bc271e3a12b8e2e8c8b535e68d6553d1fc886b67b420ad55426a61e90ac7d7eb21e047a839171bb53935d1edc7fd642a47ea670b442974f6391f5c32d9c69d08c379a0000000002000000000000000696e6720726f6c65206973206d69737363636f756e7420006e74726f6c3a20617f00000000000000383961626364656630313233343536377800000000000000300000000000000000ffffffffffffffffffffffffffff9f4044c3767d641b3f9746c918a91da0992a2464f87ffbe1f069c5ce2d658fea35ffffff8000000000fdffffffffffffff00000000ffffff7f00000000000000a0ffffffffffffff7f000000200000000000000020000000800000000018c5e8ab0000000001ffc9a70000000036568abe000000002f2ff15d00000000248a9ca300000000248a9ca20000000082bfd0f000000000584f6b6000000000545f7a3200000000d547741f00000000a217fddf0000000091d148540000000091d1485300000000545f7a3100000040000001000000000200000000304540a733656f0d7c78024a5027094082e926ec794901d12f8788117e7eff1d00000040000000000000074e000004320000074c002104230000074700210421000007420000613d0000000001230019000007250000413d000000000034004b0000002004400039000000000606043300000000052400190000072c0000613d00000001060000290000071f0000613d000000010100002900000002032000290000000301000029000400000003001d00000005012000290000000202000029000200000003001d000100000004001d000500000005001d000006720000213d000000000667019f000000050500002900000004080000290000000309000029000006610000c13d000300000005001d0000000406000029000006270000213d000006440000213d000000000778019f000006350000c13d0000062d0000a13d000006240000613d0005000000000002000000ff0110018f0001000000000002000005dc0000c13d000005dc0000213d0000000102004039000000000021004b00000000011200190000001f0220003900000000014100190000000000250435000000000262019f00000000022301cf000000000323022f0000010002200089000000000626022f00000000062601cf00000003022002100000000005510019000000000353034f000005cd0000613d000005bb0000c13d0000000008010019000000000703034f0000000006510019000005bf0000613d000000050540027200000014011000390000001f0240018f000000000203001900000000043100190000000103100367000005ae0000613d000000000304c019000002090060009c00000209030020410000000003000019000000000053004b000000000653013f0000020903300197000002090520019700000209040040410000001f03100039000004890000c13d000005940000013d000001f0040000410000053a0000613d000005270000c13d0000052b0000613d000005110000c13d0000054f0000013d000001fb04000041000004b20000613d0000049f0000c13d000004a30000613d000005690000c13d000000450000013d000000010110018f0000000101000039000000050320002900000006012000290000041e0000213d0000040d0000c13d000003f00000213d000003e10000c13d000004c80000c13d0000020201000041000000e40010043f0000020101000041000000c40010043f0000020001000041000000a40010043f0000002f01000039000000840010043f00000001022061bf000002060010009c0000000102006039000002050010009c0000020400100198000000800000043f00000007060000290000000805000029000001e80010009c00000024011003700000000402100370000003980000a13d000002cf0000613d000002bc0000c13d000002c00000613d0000042f0000013d0000027c0000213d0000026b0000c13d0000024e0000213d0000023f0000c13d0000046c0000c13d000001ed0000613d000001da0000c13d000001de0000613d0000046a0000013d0000000001010433000000400030043f000002d80000c13d00000001004001900000000104004039000000000013004b0000000303100029000000020300002900000000000304350000000000450435000000000474019f00000000046401cf000000000464022f0000010006600089000000000404043b000000000767022f00000000076701cf0000000007050433000000030660021000000006060000290000000005530019000000000454034f0000016e0000613d000000060000006b0000015b0000c13d0000000008030019000000000704034f00000000065300190000015f0000613d000000000005004b000000010440036700000005040000290000003403100039000004690000c13d0000000001024019000001d501000041000200000002001d0000008001100039000300000001001d000600000006001d000500000007001d000400000008001d000002d80000813d000002030010009c00000014023000390000000502800210000001130000613d000001000000c13d0000000503800210000001040000613d0000000508200272000000000171034f00000020074000390000002403300039000000000541034f00000004043000390000002304300039000001e70030009c0000037b0000613d000001e60030009c000001de0030009c000003750000613d000001dd0030009c000003570000613d000001dc0030009c0000038c0000c13d000000000302043b000001e50030009c000002ef0000613d000001e40030009c000002de0000613d000001e30030009c000000d40000a13d000001e20030009c000001d9010000410000012000000443000001000010044300000000070600190000000005000019000000960000c13d000001eb011001c70000004001200210074e05e20000040f000000000201043300000000010300190000000000130435000000200120008a0000000002310049074e05b00000040f000600000001001d0000000004020019074e05960000040f00000004011000390000004401100370000001e10030009c0000028e0000613d000001e00030009c000001ac0000613d000001df0030009c000000b40000213d000001db0030009c0000009b0000a13d000001da0030009c000000e003300270000000000301043b000000040020008c000001d5023001970000004c0000c13d0000008004000039000001d50030019d000000600330027000010000000103550008000000000002014802880287014702860285028400290004028302820281001a0280027f027e027d027c027b027a0279027802770276001200d4001a0061003600120060001c004d0035000d005f001c01460035000d027500030145000d027402730147027200340271014401430033027000d3026f026e026d026c00d200d1026b005e004c001d026a00d0001400cf005d00320016001802690268001b014200d000120141000c00080002000100070009000600050004000a000300280011001000080002000100070009000600050004000a0003000f001902670141000c00080002000100070009000600050004000a000300280011001000080002000100070009000600050004000a0003004b004a00ce0049000800020001000700270026004800cd0266005c026500310004000a005b026402630262001b02610260025f025e025d025c025b00120047001a00300025001200cc025a0035000d0028004602590045000301400014001b0258025702560255025400120047001a00300025001200cc004400cb005a000d00450003013f000b000c00590014004c0043000f013e00ca001d01400014001b02530252025100120047001a0061003600120060001c004d0035000d005f001c00c9000d0250005800c8024f024e00c7004200c6000d013d024d0046000d0028002400c5003300c4024c024b024a024900c3024800c200c100c000bf00be024700bd02460245004100bc00bb00ba00b900b8000300b700b600b500b40032002300b3004000b200b10244013c0243024202410240023f023e023d013b0016023c023b023a002f0022001600180021001e00b0000600050004000a0003000b000c00080002000100070009000600050004000a0003001d0011001000080002000100070009000600050004000a0003000f001902390034023800af00ae0237023600ad0235013a02340233023202310139013801370230022f022e022d022c022b022a022902280227022602250224022302220221013d0220021f00ac021e021d00ab021c00c9002e021b021a02190016001800aa021800020001002f001e0022001600180021003f0027000600050004000a0003000b000c00080002000100070009000600050004000a0003001d0011001000080002000100070009000600050004000a0003000f0019001400cf021700d4001a0061003600120060001c004d0035000d005f01360135000d0134004600c80133013200c7004200c6000d013100a901300058000d012f0044012e005a000d001d002400c5012d0041003300c4012c021600c3012b00c200c100c000bf00be021500bd0214012a004100bc00bb00ba00b900b8000300b700b600b500b40032002300b3004000b201290128003e0127002e012601250124012300020001002f0022001600180021001e00b0000600050004000a000300a8000b000c00080002000100070009000600050004000a00030043000f0122000b000c00080002000100070009000600050004000a000300280011001000080002000100070009000600050004000a0003000f00190213005d00a7002e00a6002900a500a400a3002d00a200a100a0009f002c0212009e002b009d009c009b009a0099009800970096005c00950094002c005700560093009200910090008f008e0121008d008c008b008a021100890088003d00870086002e0120008500290084008300420082008100800210011f007f007e007d007c011e007b007a002b007900780077011d007600750074005700730055007200710070006f006e011c0054006d006c006b020f020e00d4001a0061003600120060001c004d0035000d005f01360135000d0134004600c80133013200c7004200c6000d013100a901300058000d012f0044012e005a000d001d002400c5012d0041003300c4012c020d00c3012b00c200c100c000bf00be020c00bd020b012a004100bc00bb00ba00b900b8000300b700b600b500b40032002300b3004000b201290128003e0127020a003c000b006a003b003a000e011b001a00300025001200450003000b000c00590014004c0043000f003e0053001b0047001a0030002500120209004400cb02080003013f0207000d0052000b000c00080002000100070009000600050004000a00030043000f013e0052000b000c00080002000100070009000600050004000a000300330011001000080002000100070009000600050004000a0003000f0019011a0052000b000c00080002000100070009000600050004000a000300330011001000080002000100070009000600050004000a0003004b004a00ce00490008000200010007002700260048005100cd0206020500310004000a0014001b0047001a00300025001200cc004400cb005a000d00450003000b000c00590014004c001d0011001000140059004c000f0019001400cf003e0053001b014200d0001202040053001b011b001a0030002500120045000302030012020200500201020001ff013c0053001b0069003e005b01fe01fd01fc01fb01fa01f901f801f7000e012601250124012300020001002f0022001600180021001e00b0000600050004000a000300a8000b000c00080002000100070009000600050004000a00030043000f0122000b000c00080002000100070009000600050004000a000300280011001000080002000100070009000600050004000a0003000f001901f6005d00a7002e00a6002900a500a400a3002d00a200a100a0009f002c01f5009e002b009d009c009b009a0099009800970096005c00950094002c005700560093009200910090008f008e0121008d008c008b008a01f400890088003d00870086002e01200085002900840083004200820081008001f3011f007f007e007d007c011e007b007a002b007900780077011d007600750074005700730055007200710070006f006e011c0054006d006c006b01f201190088011800a9011700680116004f011501140113002a002001f101120111001501100052004e004d00ca002a001d01f0010f00d1001f010e00d20069003d0087010d005b010c003200d1004e0146010b00ac010a0109002a00ca010800b1010700020001001d00160018002f00aa001e000e01ef01ee01ed0039000b000c00080002000100070009000600050004000a000300200011001000080002000100070009000600050004000a0003000f001901ec003401060023001501050104001500af010300150020001f010200d3002d0101010000ff01eb00fe00fd00fc00fb00fa00f901ea00f801e900f700f600ad00f500f400f300f2001c00f100f000ef00ee004f002300ed00ae00ec006700eb00ea0024000200010038003f0022001600180021001e00e9002600e801e801e70039000b000c00080002000100070009000600050004000a000300200011001000080002000100070009000600050004000a0003000f001901e60039000b000c00080002000100070009000600050004000a000300200011001000080002000100070009000600050004000a0003004b004a00ce0049000800020001000700270026004800cd006600e7005100310004000a003401060023001501050104001500af010300150020001f010200d3002d0101010000ff01e500fe00fd00fc00fb00fa00f901e400f801e300f700f600ad00f500f400f300f2001c00f100f000ef00ee004f002300ed00ae00ec006700eb00ea0024000200010038003f0022001600180021001e00e9002600e801e200310004011a01e1003c000b00e6003b003a000e003400e500e4001500e3001f00e200e1001500e0001500020001003800df000e0039000b000c00080002000100070009000600050004000a000300200011001000080002000100070009000600050004000a0003004b004a0049000800020001000700270026004800de006600e700510031000401e00014000e01df004600ab01de01dd01dc01db01da01d901d801d701d6003601d501d4001c00c900dd014401d3005800dd01d200170014000e0024001f01d101d0002d01cf013a01ce01cd01cc01cb01390138013701ca002501c901c801c701c6005501c501c4001c01c301c201c101c001bf01be0040001701bd006701bc01bb005001ba014501b9000401b8013b0017003c000b006a003b003a000e01b70065000b000c0008000200010007000900060005000400dc0003006400db001100100008000200010007000900060005000400dc0003000f01b600170014000e01b50143000b000c0008000200010007000900060005000400da00030028001100100008000200010007000900060005000400da0003000f001901b400170014000e005d00a701b3003c000b006a003b003a000e00a6002900a500a400a3002d00a200a100a0009f002c01b2009e002b009d009c009b009a0099009800970096005c00950094002c00d900560093009200910090008f008e01b1008d008c008b008a01b0008900d8003d0068008601af01ae008500290084008301ad00820081008001ac01ab007f007e007d007c01aa007b007a002b00790078007701a900760075007400d900730055007200710070006f006e01a80054006d006c006b01a7011900d8011801a6011701a50116004f011501a40113002a01a301a201120111001501100109004e01a101a0002a00d7019f010f005e001f010e00d20069003d0068010d005b010c0032005e004e0114010b00ac010a019e002a005e010800b101070002000100d700160018002f00aa001e000e003c000b00e6003b003a000e003400e500e4001500e3001f00e200e1001500e0001500020001003800df000e0148006500a8000b000c0008000200010007000900060005000400370003006400db0065001100100008000200010007000900060005000400370003000f0019019d0039000b000c00080002000100070009000600050004003700030064001100100008000200010007000900060005000400370003004b004a00490008000200010007002700260048005100de0066019c00310004003700170014000e0036019b00ab019a005601990054019801970196019500400017000200010038001600180024003f0022001600180021003f00270006000500040194000300170014000e019300d6001700500017019200d60017005000170191001b000e000000000000000000000000006300620000019000000062000000000000018f018e018d018c018b0000018a00000000000000000189000000000000018800000000000001870000000000000186000000000000018500000000000001840000000000000183000000000000018200000000000001810000000000000180000000000000017f000000000000017e000000000000017d000000000000017c000000630013001300000000017b0000000000000000001300000000017a0000000000000000017900620000017800000000000000000177017600130175000001740173017201710000000000000170016f001300130013016e000000000000016d000000000000016c016b00000000016a00000000000000d5016901680000016701660165000001640000000000000163016201610160015f015e015d015c015b00000000000000000000015a00000159015801570156000000000155000000d5015401530152015101500000000000000000014f0000000000000000014e0063001300130013014d000000000000014c000000000000001300130013014b001300130013014a01490000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "logIndex": 2, "blockHash": "0x661a8f2abe6caae0b4e4429d17126c27895dad3cc563096ca66b889af28e87e6" }, { "transactionIndex": 0, "blockNumber": 42301361, "transactionHash": "0x715078bb4f76467b6fd442a5cb3b868b06a1bf6f2c8f63e92fac95911fa7b942", "address": "0x0000000000000000000000000000000000008004", "topics": [ "0xc94722ff13eacf53547c4741dab5228353a05938ffcdd5d4a2d533ae0e618287", "0x0100020b57248c2b63acb6a469f544de44e16dab38569a28f94ab384a43d8ba9", "0x0000000000000000000000000000000000000000000000000000000000000000" ], "data": "0x", "logIndex": 3, "blockHash": "0x661a8f2abe6caae0b4e4429d17126c27895dad3cc563096ca66b889af28e87e6" }, { "transactionIndex": 0, "blockNumber": 42301361, "transactionHash": "0x715078bb4f76467b6fd442a5cb3b868b06a1bf6f2c8f63e92fac95911fa7b942", "address": "0x526159A92A82afE5327d37Ef446b68FD9a5cA914", "topics": [ "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d", "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000007f423e50147930e197daae9f637198e66746d597", "0x0000000000000000000000007f423e50147930e197daae9f637198e66746d597" ], "data": "0x", "logIndex": 4, "blockHash": "0x661a8f2abe6caae0b4e4429d17126c27895dad3cc563096ca66b889af28e87e6" }, { "transactionIndex": 0, "blockNumber": 42301361, "transactionHash": "0x715078bb4f76467b6fd442a5cb3b868b06a1bf6f2c8f63e92fac95911fa7b942", "address": "0x0000000000000000000000000000000000008006", "topics": [ "0x290afdae231a3fc0bbae8b1af63698b0a1d79b21ad17df0342dfb952fe74f8e5", "0x0000000000000000000000007f423e50147930e197daae9f637198e66746d597", "0x0100020b57248c2b63acb6a469f544de44e16dab38569a28f94ab384a43d8ba9", "0x000000000000000000000000526159a92a82afe5327d37ef446b68fd9a5ca914" ], "data": "0x", "logIndex": 5, "blockHash": "0x661a8f2abe6caae0b4e4429d17126c27895dad3cc563096ca66b889af28e87e6" }, { "transactionIndex": 0, "blockNumber": 42301361, "transactionHash": "0x715078bb4f76467b6fd442a5cb3b868b06a1bf6f2c8f63e92fac95911fa7b942", "address": "0x000000000000000000000000000000000000800A", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000000000000000000000000000000000000000008001", "0x0000000000000000000000007f423e50147930e197daae9f637198e66746d597" ], "data": "0x00000000000000000000000000000000000000000000000000002bb49d27f830", "logIndex": 6, "blockHash": "0x661a8f2abe6caae0b4e4429d17126c27895dad3cc563096ca66b889af28e87e6" } ], "blockNumber": 42301361, "cumulativeGasUsed": "0", "status": 1, "byzantium": true }, "args": [], "numDeployments": 1, "solcInputHash": "2ba13d75c3525f9e7f6ef16a7beabb92", "metadata": { "llvm_options": [], "optimizer_settings": { "is_debug_logging_enabled": false, "is_fallback_to_size_enabled": false, "is_verify_each_enabled": false, "level_back_end": "Aggressive", "level_middle_end": "Aggressive", "level_middle_end_size": "Zero" }, "solc_metadata": "{\"compiler\":{\"version\":\"0.8.25+commit.47b979f3\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"functionSig\",\"type\":\"string\"}],\"name\":\"PermissionGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"functionSig\",\"type\":\"string\"}],\"name\":\"PermissionRevoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"functionSig\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"accountToPermit\",\"type\":\"address\"}],\"name\":\"giveCallPermission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"functionSig\",\"type\":\"string\"}],\"name\":\"hasPermission\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"functionSig\",\"type\":\"string\"}],\"name\":\"isAllowedToCall\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"contractAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"functionSig\",\"type\":\"string\"},{\"internalType\":\"address\",\"name\":\"accountToRevoke\",\"type\":\"address\"}],\"name\":\"revokeCallPermission\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Venus\",\"details\":\"This contract is a wrapper of OpenZeppelin AccessControl extending it in a way to standartize access control within Venus Smart Contract Ecosystem.\",\"events\":{\"PermissionGranted(address,address,string)\":{\"details\":\"If contract address is 0x000..0 this means that the account is a default admin of this function and can call any contract function with this signature\"},\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"giveCallPermission(address,string,address)\":{\"custom:event\":\"Emits a {RoleGranted} and {PermissionGranted} events.\",\"details\":\"this function can be called only from Role Admin or DEFAULT_ADMIN_ROLEif contractAddress is zero address, the account can access the specified function on **any** contract managed by this ACL\",\"params\":{\"accountToPermit\":\"account that will be given access to the contract function\",\"contractAddress\":\"address of contract for which call permissions will be granted\",\"functionSig\":\"signature e.g. \\\"functionName(uint256,bool)\\\"\"}},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event.\"},\"hasPermission(address,address,string)\":{\"details\":\"This function is used as a view function to check permissions rather than contract hook for access restriction check.\",\"params\":{\"account\":\"for which call permissions will be checked against\",\"contractAddress\":\"address of the restricted contract\",\"functionSig\":\"signature of the restricted function e.g. \\\"functionName(uint256,bool)\\\"\"},\"returns\":{\"_0\":\"false if the user account cannot call the particular contract function\"}},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"isAllowedToCall(address,string)\":{\"details\":\"Since restricted contracts using this function as a permission hook, we can get contracts address with msg.sender\",\"params\":{\"account\":\"for which call permissions will be checked\",\"functionSig\":\"restricted function signature e.g. \\\"functionName(uint256,bool)\\\"\"},\"returns\":{\"_0\":\"false if the user account cannot call the particular contract function\"}},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`. May emit a {RoleRevoked} event.\"},\"revokeCallPermission(address,string,address)\":{\"custom:event\":\"Emits {RoleRevoked} and {PermissionRevoked} events.\",\"details\":\"this function can be called only from Role Admin or DEFAULT_ADMIN_ROLE \\t\\tMay emit a {RoleRevoked} event.\",\"params\":{\"contractAddress\":\"address of contract for which call permissions will be revoked\",\"functionSig\":\"signature e.g. \\\"functionName(uint256,bool)\\\"\"}},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"title\":\"AccessControlManager\",\"version\":1},\"userdoc\":{\"events\":{\"PermissionGranted(address,address,string)\":{\"notice\":\"Emitted when an account is given a permission to a certain contract function\"},\"PermissionRevoked(address,address,string)\":{\"notice\":\"Emitted when an account is revoked a permission to a certain contract function\"}},\"kind\":\"user\",\"methods\":{\"giveCallPermission(address,string,address)\":{\"notice\":\"Gives a function call permission to one single account\"},\"hasPermission(address,address,string)\":{\"notice\":\"Verifies if the given account can call a contract's guarded function\"},\"isAllowedToCall(address,string)\":{\"notice\":\"Verifies if the given account can call a contract's guarded function\"},\"revokeCallPermission(address,string,address)\":{\"notice\":\"Revokes an account's permission to a particular function call\"}},\"notice\":\"Access control plays a crucial role in the Venus governance model. It is used to restrict functions so that they can only be called from one account or list of accounts (EOA or Contract Accounts). The implementation of `AccessControlManager`(https://github.com/VenusProtocol/governance-contracts/blob/main/contracts/Governance/AccessControlManager.sol) inherits the [Open Zeppelin AccessControl](https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/AccessControl.sol) contract as a base for role management logic. There are two role types: admin and granular permissions. ## Granular Roles Granular roles are built by hashing the contract address and its function signature. For example, given contract `Foo` with function `Foo.bar()` which is guarded by ACM, calling `giveRolePermission` for account B do the following: 1. Compute `keccak256(contractFooAddress,functionSignatureBar)` 1. Add the computed role to the roles of account B 1. Account B now can call `ContractFoo.bar()` ## Admin Roles Admin roles allow for an address to call a function signature on any contract guarded by the `AccessControlManager`. This is particularly useful for contracts created by factories. For Admin roles a null address is hashed in place of the contract address (`keccak256(0x0000000000000000000000000000000000000000,functionSignatureBar)`. In the previous example, giving account B the admin role, account B will have permissions to call the `bar()` function on any contract that is guarded by ACM, not only contract A. ## Protocol Integration All restricted functions in Venus Protocol use a hook to ACM in order to check if the caller has the right permission to call the guarded function. `AccessControlledV5` and `AccessControlledV8` abstract contract makes this integration easier. They call ACM's external method `isAllowedToCall(address caller, string functionSig)`. Here is an example of how `setCollateralFactor` function in `Comptroller` is integrated with ACM: ``` contract Comptroller is [...] AccessControlledV8 { [...] function setCollateralFactor(VToken vToken, uint256 newCollateralFactorMantissa, uint256 newLiquidationThresholdMantissa) external { _checkAccessAllowed(\\\"setCollateralFactor(address,uint256,uint256)\\\"); [...] } } ```\",\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Governance/AccessControlManager.sol\":\"AccessControlManager\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"details\":{\"constantOptimizer\":false,\"cse\":false,\"deduplicate\":false,\"inliner\":false,\"jumpdestRemover\":false,\"orderLiterals\":false,\"peephole\":false,\"simpleCounterForLoopUncheckedIncrement\":true,\"yul\":true,\"yulDetails\":{\"optimizerSteps\":\"dhfoDgvulfnTUtnIf[xa[r]EscLMcCTUtTOntnfDIulLculVcul [j]Tpeulxa[rul]xa[r]cLgvifCTUca[r]LSsTFOtfDnca[r]Iulc]jmul[jul] VcTOcul jmul:fDnTOcmu\",\"stackAllocation\":true}},\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x67e3daf189111d6d5b0464ed09cf9f0605a22c4b965a7fcecd707101faff008a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cbbb1a75e4064d564bf69e74970eef35064e51fcc09cbf3589aee7faa60d6afe\",\"dweb:/ipfs/QmYfAtQwFSGmxomnyAV3tpBDbfDwiFXV61osWW2zzQVg5Q\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0xa4d1d62251f8574deb032a35fc948386a9b4de74b812d4f545a1ac120486b48a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c969013129ba9e651a20735ef659fef6d8a1139ea3607bd4b26ddea2d645634\",\"dweb:/ipfs/QmVhVa6LGuzAcB8qgDtVHRkucn4ihj5UZr8xBLcJkP6ucb\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0xa1e8e83cd0087785df04ac79fb395d9f3684caeaf973d9e2c71caef723a3a5d6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33bbf48cc069be677705037ba7520c22b1b622c23b33e1a71495f2d36549d40b\",\"dweb:/ipfs/Qmct36zWXv3j7LZB83uwbg7TXwnZSN1fqHNDZ93GG98bGz\"]},\"contracts/Governance/AccessControlManager.sol\":{\"keccak256\":\"0x9cf1fe49aecbf49434d4a04c3bd25c1a103356c999d335774216da17a3a152a8\",\"license\":\"BSD-3-Clause\",\"urls\":[\"bzz-raw://b69251cb559a7924a14449362b36cd97953f47266bba6a380f9fae0954c04e0b\",\"dweb:/ipfs/QmZXTzxnPpp4AuaLZCuhvVhebzrznrCUhuzN25redsk83T\"]},\"contracts/Governance/IAccessControlManagerV8.sol\":{\"keccak256\":\"0xaa29b098440d0b3a131c5ecdf25ce548790c1b5ac7bf9b5c0264b6af6f7a1e0b\",\"license\":\"BSD-3-Clause\",\"urls\":[\"bzz-raw://8120bda3990193388d0cc5f551510ef1eab685387a58a88ab607b5149e51acde\",\"dweb:/ipfs/QmNSX9ai6GbN4wQukM29rFkcWDFhqStUTtKe6XtreTvRcN\"]}},\"version\":1}", "solc_version": "0.8.25", "solc_zkvm_edition": "1.0.1", "zk_version": "1.5.1" }, "bytecode": "0x00020000000000020008000000000002000100000001035500000000030100190000006003300270000001d50030019d0000008004000039000000400040043f00000001002001900000004c0000c13d000001d502300197000000040020008c000005940000413d000000000301043