[ { "sim": { "transaction": { "hash": "0xffb85a8bb8043b5326420b1a92f33e189c53e0dbd297c0c6afca70c2cfa43cf8", "block_hash": "", "block_number": 18217373, "from": "0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "gas": 30000000, "gas_price": 0, "gas_fee_cap": 0, "gas_tip_cap": 0, "cumulative_gas_used": 0, "gas_used": 146057, "effective_gas_price": 0, "input": "0xfe0d94c10000000000000000000000000000000000000000000000000000000000000032", "nonce": 0, "to": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "index": 0, "value": "0x", "access_list": null, "status": true, "addresses": [ "0xD73a92Be73EfbFcF3854433A5FcbAbF9c1316073", "0x408ED6354d4973f66138C91495F2f2FCbd8724C3", "0x53a328F4086d7C0F1Fa19e594c9b842125263026", "0x1a9C8182C09F50C8318d769245beA52c32BE35BC", "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984" ], "contract_ids": [ "eth:1:0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "eth:1:0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "eth:1:0x53a328f4086d7c0f1fa19e594c9b842125263026", "eth:1:0x1a9c8182c09f50c8318d769245bea52c32be35bc", "eth:1:0x1f9840a85d5af5bf1d1762f925bdaddc4201f984" ], "network_id": "1", "timestamp": "2023-09-26T03:48:23Z", "function_selector": "", "l1_block_number": 0, "l1_timestamp": 0, "deposit_tx": false, "system_tx": false, "sig": { "v": "0x0", "r": "0x0", "s": "0x0" }, "transaction_info": { "contract_id": "eth:1:0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "block_number": 18217275, "transaction_id": "0xffb85a8bb8043b5326420b1a92f33e189c53e0dbd297c0c6afca70c2cfa43cf8", "contract_address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "method": "execute", "parameters": null, "intrinsic_gas": 21204, "refund_gas": 4800, "call_trace": { "hash": "0xffb85a8bb8043b5326420b1a92f33e189c53e0dbd297c0c6afca70c2cfa43cf8", "contract_name": "GovernorBravoDelegator", "function_name": "execute", "function_pc": 63, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 101, "function_line_number": 6, "function_code_length": 2797, "absolute_position": 33, "caller_pc": 0, "caller_op": "CALL", "call_type": "CALL", "address": "0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "from": "0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "from_balance": "1", "to": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "to_balance": "7096000000000000", "value": "0", "caller": { "address": "0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "balance": "1" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 29978796, "gas_used": 129653, "intrinsic_gas": 21204, "refund_gas": 4800, "event_references": null, "input": "0xfe0d94c10000000000000000000000000000000000000000000000000000000000000032", "decoded_input": [ { "soltype": { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "50" } ], "nonce_diff": [ { "address": "0xD73a92Be73EfbFcF3854433A5FcbAbF9c1316073", "original": "0", "dirty": "1" } ], "state_diff": [ { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "soltype": { "name": "queuedTransactions", "type": "mapping (bytes32 => bool)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000003", "indexed": false }, "original": { "0x8b05a44952fe3d889915c7a25ed670bc567225357fc58c85b8eff6b0ae55b0f7": true }, "dirty": { "0x8b05a44952fe3d889915c7a25ed670bc567225357fc58c85b8eff6b0ae55b0f7": false }, "raw": [ { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "key": "0x84ac3bd0a37824918eec5042eb071eeff1cbc1b89f30fc15411fd078348f1ab6", "original": "0x0000000000000000000000000000000000000000000000000000000000000001", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000000" } ] }, { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "soltype": { "name": "balances", "type": "mapping (address => uint96)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000004", "indexed": false }, "original": { "0x1a9c8182c09f50c8318d769245bea52c32be35bc": "363839570534753932024205976", "0xdead00000000000000000000000000000000dead": "0" }, "dirty": { "0x1a9c8182c09f50c8318d769245bea52c32be35bc": "363839470534753932024205976", "0xdead00000000000000000000000000000000dead": "100000000000000000000" }, "raw": [ { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "key": "0x6dc2815183b03197c2ac296ff6addd655b9d31f64a2ec7afdae1aa23a9046a93", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000" }, { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "key": "0xbadf4d9ae6d3bd2d2810ec136f3f25ad1b0a470538d81bb7903ed8a7ac897a1f", "original": "0x0000000000000000000000000000000000000000012cf606a3f7b850ce93d298", "dirty": "0x0000000000000000000000000000000000000000012cf60138305a236b83d298" } ] }, { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "soltype": { "name": "proposals", "type": "mapping (uint256 => tuple)", "storage_location": "memory", "components": [ { "name": "id", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aed", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aee", "indexed": false, "simple_type": { "type": "address" } }, { "name": "eta", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aef", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "targets", "type": "address[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af0", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af1", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af2", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af3", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "startBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af4", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af5", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "forVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af6", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "againstVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af7", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "abstainVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af8", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "canceled", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "executed", "type": "bool", "storage_location": "memory", "components": null, "offset": 8, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "receipts", "type": "mapping (address => tuple)", "storage_location": "memory", "components": [ { "name": "hasVoted", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "support", "type": "uint8", "storage_location": "memory", "components": null, "offset": 8, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "memory", "components": null, "offset": 16, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8afa", "indexed": false } ], "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000a", "indexed": false }, "original": { "\"50\"": { "id": null, "proposer": "0x0000000000000000000000000000000000000000", "eta": null, "targets": null, "values": null, "signatures": null, "calldatas": null, "startBlock": null, "endBlock": null, "forVotes": null, "againstVotes": null, "abstainVotes": null, "canceled": false, "executed": false, "receipts": null } }, "dirty": { "\"50\"": { "id": null, "proposer": "0x0000000000000000000000000000000000000000", "eta": null, "targets": null, "values": null, "signatures": null, "calldatas": null, "startBlock": null, "endBlock": null, "forVotes": null, "againstVotes": null, "abstainVotes": null, "canceled": false, "executed": true, "receipts": null } }, "raw": [ { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "key": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000100" }, { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "key": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000100" }, { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "key": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000100" }, { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "key": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000100" } ] } ], "logs": [ { "name": "Transfer", "anonymous": false, "inputs": [ { "soltype": { "name": "from", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, "value": "0x1a9c8182c09f50c8318d769245bea52c32be35bc" }, { "soltype": { "name": "to", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, "value": "0xdead00000000000000000000000000000000dead" }, { "soltype": { "name": "amount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" } ], "raw": { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000001a9c8182c09f50c8318d769245bea52c32be35bc", "0x000000000000000000000000dead00000000000000000000000000000000dead" ], "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000" }, "trace_index": null }, { "name": "ExecuteTransaction", "anonymous": false, "inputs": [ { "soltype": { "name": "txHash", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "bytes" } }, "value": "0x8b05a44952fe3d889915c7a25ed670bc567225357fc58c85b8eff6b0ae55b0f7" }, { "soltype": { "name": "target", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, "value": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984" }, { "soltype": { "name": "value", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "0" }, { "soltype": { "name": "signature", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, "value": "" }, { "soltype": { "name": "data", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, "value": "0xa9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d63100000" }, { "soltype": { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1695700103" } ], "raw": { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "topics": [ "0xa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e7", "0x8b05a44952fe3d889915c7a25ed670bc567225357fc58c85b8eff6b0ae55b0f7", "0x0000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006512548700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d6310000000000000000000000000000000000000000000000000000000000000" }, "trace_index": null }, { "name": "ProposalExecuted", "anonymous": false, "inputs": [ { "soltype": { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "50" } ], "raw": { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "topics": [ "0x712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000032" }, "trace_index": null } ], "output": "0x", "decoded_output": null, "network_id": "1", "calls": [ { "hash": "", "contract_name": "GovernorBravoDelegator", "function_name": "execute", "function_pc": 7606, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 7302, "function_line_number": 141, "function_code_length": 567, "absolute_position": 3105, "caller_pc": 107, "caller_op": "DELEGATECALL", "caller_file_index": 0, "caller_line_number": 68, "caller_code_start": 2559, "caller_code_length": 37, "call_type": "DELEGATECALL", "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "from": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "from_balance": "7096000000000000", "to": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "to_balance": "0", "value": null, "caller": { "address": "0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "balance": "1" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 29505335, "gas_used": 124433, "refund_gas": 468338, "event_references": { "NumberOfEvents": 1, "event_indices": null }, "input": "0xfe0d94c10000000000000000000000000000000000000000000000000000000000000032", "decoded_input": [ { "soltype": { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "50" } ], "output": "0x", "decoded_output": null, "network_id": "", "calls": [ { "hash": "", "contract_name": "GovernorBravoDelegate", "function_name": "state", "function_pc": 3592, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 9778, "function_line_number": 194, "function_code_length": 1039, "function_variables": [ { "soltype": { "name": "proposal", "type": "tuple", "storage_location": "memory", "components": [ { "name": "id", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "eta", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "targets", "type": "address[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "startBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "forVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "againstVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "abstainVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "canceled", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "executed", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "receipts", "type": "mapping (address => tuple)", "storage_location": "memory", "components": [ { "name": "hasVoted", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "support", "type": "uint8", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false } ], "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false }, "value": null } ], "absolute_position": 242, "caller_pc": 7616, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 142, "caller_code_start": 7371, "caller_code_length": 17, "call_type": "JUMPDEST", "address": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "from": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "from_balance": null, "to": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "to_balance": null, "value": null, "caller": { "address": "0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "balance": "1" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 29504866, "gas_used": 23045, "event_references": null, "input": "0x", "decoded_input": [ { "soltype": { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "50" } ], "output": "0x", "decoded_output": [ { "soltype": { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "5" } ], "network_id": "", "calls": [ { "hash": "", "contract_name": "GovernorBravoDelegate", "function_pc": 0, "function_op": "STOP", "absolute_position": 457, "caller_pc": 3898, "caller_op": "STATICCALL", "caller_file_index": 0, "caller_line_number": 209, "caller_code_start": 10674, "caller_code_length": 23, "caller_variables": [ { "soltype": { "name": "proposal", "type": "tuple", "storage_location": "memory", "components": [ { "name": "id", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "eta", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "targets", "type": "address[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "startBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "forVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "againstVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "abstainVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "canceled", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "executed", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "receipts", "type": "mapping (address => tuple)", "storage_location": "memory", "components": [ { "name": "hasVoted", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "support", "type": "uint8", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false } ], "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false }, "value": null } ], "call_type": "STATICCALL", "address": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "from": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "from_balance": "7096000000000000", "to": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "to_balance": "1660629381536117", "value": null, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 29021785, "gas_used": 220, "refund_gas": 460663, "event_references": null, "input": "0xc1a287e2", "output": "0x0000000000000000000000000000000000000000000000000000000000127500", "decoded_output": [ { "soltype": { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1209600" } ], "network_id": "", "calls": null }, { "hash": "", "contract_name": "GovernorBravoDelegate", "function_name": "add256", "function_pc": 8549, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 18041, "function_line_number": 371, "function_code_length": 162, "absolute_position": 547, "caller_pc": 3955, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 209, "caller_code_start": 10653, "caller_code_length": 45, "call_type": "JUMPDEST", "address": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "from": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "from_balance": null, "to": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "to_balance": null, "value": null, "caller": { "address": "0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "balance": "1" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 29481927, "gas_used": 59, "event_references": null, "input": "0x", "decoded_input": [ { "soltype": { "name": "a", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1695700103" }, { "soltype": { "name": "b", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1209600" } ], "output": "0x", "decoded_output": [ { "soltype": { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1696909703" } ], "network_id": "", "calls": null } ] }, { "hash": "", "contract_name": "GovernorBravoDelegate", "function_name": "executeTransaction", "function_pc": 1740, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 9656, "function_line_number": 267, "function_code_length": 1291, "absolute_position": 2822, "caller_pc": 7932, "caller_op": "CALL", "caller_file_index": 0, "caller_line_number": 146, "caller_code_start": 7654, "caller_code_length": 155, "call_type": "CALL", "address": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "from": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "from_balance": "7096000000000000", "to": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "to_balance": "1660629381536117", "value": "0", "caller": { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "balance": "7096000000000000" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28976032, "gas_used": 53031, "refund_gas": 459937, "event_references": { "NumberOfEvents": 1, "event_indices": null }, "input": "0x0825f38f0000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000065125487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d6310000000000000000000000000000000000000000000000000000000000000", "decoded_input": [ { "soltype": { "name": "target", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, "value": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984" }, { "soltype": { "name": "value", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "0" }, { "soltype": { "name": "signature", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, "value": "" }, { "soltype": { "name": "data", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, "value": "0xa9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d63100000" }, { "soltype": { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1695700103" } ], "output": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001", "decoded_output": [ { "soltype": { "name": "", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, "value": "0x0000000000000000000000000000000000000000000000000000000000000001" } ], "network_id": "", "calls": [ { "hash": "", "contract_name": "Timelock", "function_name": "getBlockTimestamp", "function_pc": 5927, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 10953, "function_line_number": 294, "function_code_length": 159, "absolute_position": 1644, "caller_pc": 2310, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 272, "caller_code_start": 10116, "caller_code_length": 19, "call_type": "JUMPDEST", "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "from": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "from_balance": null, "to": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "to_balance": null, "value": null, "caller": { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "balance": "7096000000000000" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28969893, "gas_used": 14, "event_references": null, "input": "0x", "output": "0x", "decoded_output": [ { "soltype": { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1695700103" } ], "network_id": "", "calls": null }, { "hash": "", "contract_name": "Timelock", "function_name": "add", "function_pc": 5931, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 1026, "function_line_number": 32, "function_code_length": 176, "absolute_position": 1661, "caller_pc": 2416, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 273, "caller_code_start": 10257, "caller_code_length": 21, "call_type": "JUMPDEST", "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "from": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "from_balance": null, "to": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "to_balance": null, "value": null, "caller": { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "balance": "7096000000000000" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28969832, "gas_used": 59, "event_references": null, "input": "0x", "decoded_input": [ { "soltype": { "name": "a", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1695700103" }, { "soltype": { "name": "b", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1209600" } ], "output": "0x", "decoded_output": [ { "soltype": { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1696909703" } ], "network_id": "", "calls": null }, { "hash": "", "contract_name": "Timelock", "function_name": "getBlockTimestamp", "function_pc": 5927, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 10953, "function_line_number": 294, "function_code_length": 159, "absolute_position": 1683, "caller_pc": 2424, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 273, "caller_code_start": 10234, "caller_code_length": 19, "call_type": "JUMPDEST", "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "from": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "from_balance": null, "to": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "to_balance": null, "value": null, "caller": { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "balance": "7096000000000000" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28969758, "gas_used": 14, "event_references": null, "input": "0x", "output": "0x", "decoded_output": [ { "soltype": { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1695700103" } ], "network_id": "", "calls": null }, { "hash": "", "contract_name": "Timelock", "function_name": "transfer", "function_pc": 3513, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 15252, "function_line_number": 396, "function_code_length": 233, "absolute_position": 2457, "caller_pc": 2949, "caller_op": "CALL", "caller_file_index": 0, "caller_line_number": 286, "caller_code_start": 10708, "caller_code_length": 34, "call_type": "CALL", "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "from": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "from_balance": "1660629381536117", "to": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "to_balance": "0", "value": "0", "caller": { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "balance": "1660629381536117" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28511017, "gas_used": 35562, "refund_gas": 452555, "event_references": null, "input": "0xa9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d63100000", "decoded_input": [ { "soltype": { "name": "dst", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, "value": "0xdead00000000000000000000000000000000dead" }, { "soltype": { "name": "rawAmount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" } ], "output": "0x0000000000000000000000000000000000000000000000000000000000000001", "decoded_output": [ { "soltype": { "name": "", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, "value": true } ], "network_id": "", "calls": [ { "hash": "", "contract_name": "Uni", "function_name": "safe96", "function_pc": 5846, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 22604, "function_line_number": 561, "function_code_length": 158, "absolute_position": 2038, "caller_pc": 3549, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 397, "caller_code_start": 15349, "caller_code_length": 58, "call_type": "JUMPDEST", "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from_balance": null, "to": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "to_balance": null, "value": null, "caller": { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "balance": "1660629381536117" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28510277, "gas_used": 53, "event_references": null, "input": "0x", "decoded_input": [ { "soltype": { "name": "n", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" }, { "soltype": { "name": "errorMessage", "type": "string", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, "value": "Uni::transfer: amount exceeds 96 bits" } ], "output": "0x", "decoded_output": [ { "soltype": { "name": "", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" } ], "network_id": "", "calls": null }, { "hash": "", "contract_name": "Uni", "function_name": "_transferTokens", "function_pc": 6027, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 20283, "function_line_number": 514, "function_code_length": 601, "absolute_position": 2063, "caller_pc": 3562, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 398, "caller_code_start": 15417, "caller_code_length": 40, "call_type": "JUMPDEST", "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from_balance": null, "to": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "to_balance": null, "value": null, "caller": { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "balance": "1660629381536117" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28510196, "gas_used": 34565, "event_references": { "NumberOfEvents": 1, "event_indices": null }, "input": "0x", "decoded_input": [ { "soltype": { "name": "src", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, "value": "0x1a9c8182c09f50c8318d769245bea52c32be35bc" }, { "soltype": { "name": "dst", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, "value": "0xdead00000000000000000000000000000000dead" }, { "soltype": { "name": "amount", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" } ], "output": "0x", "decoded_output": [], "network_id": "", "calls": [ { "hash": "", "contract_name": "Uni", "function_name": "sub96", "function_pc": 5928, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 22958, "function_line_number": 572, "function_code_length": 162, "absolute_position": 2124, "caller_pc": 6273, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 518, "caller_code_start": 20581, "caller_code_length": 85, "call_type": "JUMPDEST", "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from_balance": null, "to": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "to_balance": null, "value": null, "caller": { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "balance": "1660629381536117" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28507849, "gas_used": 71, "event_references": null, "input": "0x", "decoded_input": [ { "soltype": { "name": "a", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "363839570534753932024205976" }, { "soltype": { "name": "b", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" }, { "soltype": { "name": "errorMessage", "type": "string", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, "value": "Uni::_transferTokens: transfer amount exceeds balance" } ], "output": "0x", "decoded_output": [ { "soltype": { "name": "", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "363839470534753932024205976" } ], "network_id": "", "calls": null }, { "hash": "", "contract_name": "Uni", "function_name": "add96", "function_pc": 6855, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 22768, "function_line_number": 566, "function_code_length": 184, "absolute_position": 2216, "caller_pc": 6419, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 519, "caller_code_start": 20692, "caller_code_length": 79, "call_type": "JUMPDEST", "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from_balance": null, "to": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "to_balance": null, "value": null, "caller": { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "balance": "1660629381536117" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28502381, "gas_used": 81, "event_references": null, "input": "0x", "decoded_input": [ { "soltype": { "name": "a", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "0" }, { "soltype": { "name": "b", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" }, { "soltype": { "name": "errorMessage", "type": "string", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, "value": "Uni::_transferTokens: transfer amount overflows" } ], "output": "0x", "decoded_output": [ { "soltype": { "name": "", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" } ], "network_id": "", "calls": null }, { "hash": "", "contract_name": "Uni", "function_name": "_moveDelegates", "function_pc": 6946, "function_op": "JUMPDEST", "function_file_index": 0, "function_code_start": 20890, "function_line_number": 525, "function_code_length": 921, "absolute_position": 2374, "caller_pc": 6641, "caller_op": "JUMP", "caller_file_index": 0, "caller_line_number": 522, "caller_code_start": 20823, "caller_code_length": 54, "call_type": "JUMPDEST", "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "from_balance": null, "to": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "to_balance": null, "value": null, "caller": { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "balance": "1660629381536117" }, "block_timestamp": "0001-01-01T00:00:00Z", "gas": 28475722, "gas_used": 76, "event_references": null, "input": "0x", "decoded_input": [ { "soltype": { "name": "srcRep", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, "value": "0x0000000000000000000000000000000000000000" }, { "soltype": { "name": "dstRep", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, "value": "0x0000000000000000000000000000000000000000" }, { "soltype": { "name": "amount", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" } ], "output": "0x", "decoded_output": [], "network_id": "", "calls": null } ] } ] } ] } ] } ], "asset_changes": [ { "token_info": { "standard": "ERC20", "type": "Fungible", "contract_address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "symbol": "uni", "name": "Uniswap", "logo": "https://assets.coingecko.com/coins/images/12504/large/uni.jpg?1687143398", "decimals": 18, "dollar_value": "4.269999980926514" }, "type": "Transfer", "from": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "to": "0xdead00000000000000000000000000000000dead", "amount": "100", "raw_amount": "100000000000000000000", "dollar_value": "426.999998092651367188" } ], "balance_changes": [ { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "dollar_value": "-426.999998092651367188", "transfers": [ 0 ] }, { "address": "0xdead00000000000000000000000000000000dead", "dollar_value": "426.999998092651367188", "transfers": [ 0 ] } ] }, "stack_trace": null, "logs": [ { "name": "Transfer", "anonymous": false, "inputs": [ { "soltype": { "name": "from", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, "value": "0x1a9c8182c09f50c8318d769245bea52c32be35bc" }, { "soltype": { "name": "to", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, "value": "0xdead00000000000000000000000000000000dead" }, { "soltype": { "name": "amount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "100000000000000000000" } ], "raw": { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x0000000000000000000000001a9c8182c09f50c8318d769245bea52c32be35bc", "0x000000000000000000000000dead00000000000000000000000000000000dead" ], "data": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000" }, "trace_index": null }, { "name": "ExecuteTransaction", "anonymous": false, "inputs": [ { "soltype": { "name": "txHash", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "bytes" } }, "value": "0x8b05a44952fe3d889915c7a25ed670bc567225357fc58c85b8eff6b0ae55b0f7" }, { "soltype": { "name": "target", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, "value": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984" }, { "soltype": { "name": "value", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "0" }, { "soltype": { "name": "signature", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, "value": "" }, { "soltype": { "name": "data", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, "value": "0xa9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d63100000" }, { "soltype": { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "1695700103" } ], "raw": { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "topics": [ "0xa560e3198060a2f10670c1ec5b403077ea6ae93ca8de1c32b451dc1a943cd6e7", "0x8b05a44952fe3d889915c7a25ed670bc567225357fc58c85b8eff6b0ae55b0f7", "0x0000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000006512548700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d6310000000000000000000000000000000000000000000000000000000000000" }, "trace_index": null }, { "name": "ProposalExecuted", "anonymous": false, "inputs": [ { "soltype": { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, "value": "50" } ], "raw": { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "topics": [ "0x712ae1383f79ac853f8d882153778e0260ef8f03b504e2866e0593e04d2b291f" ], "data": "0x0000000000000000000000000000000000000000000000000000000000000032" }, "trace_index": null } ], "balance_diff": null, "nonce_diff": [ { "address": "0xD73a92Be73EfbFcF3854433A5FcbAbF9c1316073", "original": "0", "dirty": "1" } ], "state_diff": [ { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "soltype": { "name": "queuedTransactions", "type": "mapping (bytes32 => bool)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000003", "indexed": false }, "original": { "0x8b05a44952fe3d889915c7a25ed670bc567225357fc58c85b8eff6b0ae55b0f7": true }, "dirty": { "0x8b05a44952fe3d889915c7a25ed670bc567225357fc58c85b8eff6b0ae55b0f7": false }, "raw": [ { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "key": "0x84ac3bd0a37824918eec5042eb071eeff1cbc1b89f30fc15411fd078348f1ab6", "original": "0x0000000000000000000000000000000000000000000000000000000000000001", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000000" } ] }, { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "soltype": { "name": "balances", "type": "mapping (address => uint96)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000004", "indexed": false }, "original": { "0x1a9c8182c09f50c8318d769245bea52c32be35bc": "363839570534753932024205976", "0xdead00000000000000000000000000000000dead": "0" }, "dirty": { "0x1a9c8182c09f50c8318d769245bea52c32be35bc": "363839470534753932024205976", "0xdead00000000000000000000000000000000dead": "100000000000000000000" }, "raw": [ { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "key": "0x6dc2815183b03197c2ac296ff6addd655b9d31f64a2ec7afdae1aa23a9046a93", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000056bc75e2d63100000" }, { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "key": "0xbadf4d9ae6d3bd2d2810ec136f3f25ad1b0a470538d81bb7903ed8a7ac897a1f", "original": "0x0000000000000000000000000000000000000000012cf606a3f7b850ce93d298", "dirty": "0x0000000000000000000000000000000000000000012cf60138305a236b83d298" } ] }, { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "soltype": { "name": "proposals", "type": "mapping (uint256 => tuple)", "storage_location": "memory", "components": [ { "name": "id", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aed", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aee", "indexed": false, "simple_type": { "type": "address" } }, { "name": "eta", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aef", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "targets", "type": "address[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af0", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af1", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af2", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af3", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "startBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af4", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af5", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "forVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af6", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "againstVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af7", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "abstainVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af8", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "canceled", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "executed", "type": "bool", "storage_location": "memory", "components": null, "offset": 8, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "receipts", "type": "mapping (address => tuple)", "storage_location": "memory", "components": [ { "name": "hasVoted", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "support", "type": "uint8", "storage_location": "memory", "components": null, "offset": 8, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "memory", "components": null, "offset": 16, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8afa", "indexed": false } ], "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000a", "indexed": false }, "original": { "\"50\"": { "id": null, "proposer": "0x0000000000000000000000000000000000000000", "eta": null, "targets": null, "values": null, "signatures": null, "calldatas": null, "startBlock": null, "endBlock": null, "forVotes": null, "againstVotes": null, "abstainVotes": null, "canceled": false, "executed": false, "receipts": null } }, "dirty": { "\"50\"": { "id": null, "proposer": "0x0000000000000000000000000000000000000000", "eta": null, "targets": null, "values": null, "signatures": null, "calldatas": null, "startBlock": null, "endBlock": null, "forVotes": null, "againstVotes": null, "abstainVotes": null, "canceled": false, "executed": true, "receipts": null } }, "raw": [ { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "key": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000100" }, { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "key": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000100" }, { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "key": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000100" }, { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "key": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "original": "0x0000000000000000000000000000000000000000000000000000000000000000", "dirty": "0x0000000000000000000000000000000000000000000000000000000000000100" } ] } ], "raw_state_diff": null, "console_logs": null, "asset_changes": [ { "token_info": { "standard": "ERC20", "type": "Fungible", "contract_address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "symbol": "uni", "name": "Uniswap", "logo": "https://assets.coingecko.com/coins/images/12504/large/uni.jpg?1687143398", "decimals": 18, "dollar_value": "4.269999980926514" }, "type": "Transfer", "from": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "to": "0xdead00000000000000000000000000000000dead", "amount": "100", "raw_amount": "100000000000000000000", "dollar_value": "426.999998092651367188" } ], "balance_changes": [ { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "dollar_value": "-426.999998092651367188", "transfers": [ 0 ] }, { "address": "0xdead00000000000000000000000000000000dead", "dollar_value": "426.999998092651367188", "transfers": [ 0 ] } ], "created_at": "2023-09-26T03:48:23Z" }, "method": "", "decoded_input": null, "call_trace": [ { "call_type": "CALL", "from": "0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "to": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "gas": 29978796, "gas_used": 129653, "subtraces": 1, "type": "CALL", "input": "0xfe0d94c10000000000000000000000000000000000000000000000000000000000000032", "fromBalance": "0x01", "toBalance": "0x1935c63f538000" }, { "call_type": "DELEGATECALL", "from": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "to": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "gas": 29505335, "gas_used": 124433, "subtraces": 2, "trace_address": [ 0 ], "type": "CALL", "input": "0xfe0d94c10000000000000000000000000000000000000000000000000000000000000032", "outOff": 128, "gas_in": 29976273, "gas_cost": 29507935, "fromBalance": "0x1935c63f538000" }, { "call_type": "STATICCALL", "from": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "to": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "gas": 29021785, "gas_used": 220, "trace_address": [ 0, 0 ], "type": "CALL", "input": "0xc1a287e2", "output": "0x0000000000000000000000000000000000000000000000000000000000127500", "outOff": 128, "outLen": 32, "gas_in": 29482548, "gas_cost": 29021885, "fromBalance": "0x1935c63f538000", "toBalance": "0x05e6556863d975" }, { "call_type": "CALL", "from": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "to": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "gas": 28976032, "gas_used": 53031, "subtraces": 1, "trace_address": [ 0, 1 ], "type": "CALL", "input": "0x0825f38f0000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000065125487000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044a9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d6310000000000000000000000000000000000000000000000000000000000000", "output": "0x000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000001", "outOff": 160, "gas_in": 29436069, "gas_cost": 28976132, "fromBalance": "0x1935c63f538000", "toBalance": "0x05e6556863d975" }, { "call_type": "CALL", "from": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "to": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "gas": 28511017, "gas_used": 35562, "trace_address": [ 0, 1, 0 ], "type": "CALL", "input": "0xa9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d63100000", "output": "0x0000000000000000000000000000000000000000000000000000000000000001", "outOff": 640, "gas_in": 28966172, "gas_cost": 28513617, "fromBalance": "0x05e6556863d975" } ] }, "simulation": { "id": "3accc8c4-66b7-4c2e-8f11-79bfd221ba36", "project_id": "b08b860c-8222-4288-b590-0d800429d0b3", "owner_id": "50f76a52-f68d-47c2-9ebc-6173d613a530", "network_id": "1", "block_number": 18217373, "transaction_index": 0, "from": "0xD73a92Be73EfbFcF3854433A5FcbAbF9c1316073", "to": "0x408ED6354d4973f66138C91495F2f2FCbd8724C3", "input": "0xfe0d94c10000000000000000000000000000000000000000000000000000000000000032", "gas": 30000000, "gas_price": "0", "gas_used": 146057, "value": "0", "method": "execute", "status": true, "access_list": null, "queue_origin": "", "block_header": { "number": "0x115f93b", "hash": "0x0000000000000000000000000000000000000000000000000000000000000000", "stateRoot": "0x7112e7547550e420feb02743482c114fb054645a6527829e2b1b973c240281d4", "parentHash": "0x175cbb371f451d96c18a41c003f3116da8b43df1bed9020b77fae0b3fe35c2c5", "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "transactionsRoot": "0x490d64a902a89a8160c14c7072dd8ca3d3dcb81c75aedc2fc48e633eb530d51f", "receiptsRoot": "0xc41e384ac13fe9a5942b3d7d4e5b66f9a442b44a79d6446ec565335c69fef802", "logsBloom": "0x24f3c130e191644850148064a35020b10431424ca89f019050a34105632a1103639e11453332420905125f20620583a206db229c9e8a6a20cb3c18c960799005c0c206580488bd2869824a0e0c544424245031b290c2886a08900c47c82015693a8b4689dbae44814480109ba0b90d1394190cf224660c7a1406859e3a4a0306b504865806065152b8ec64641300802610908841eb8099ac402304e040910531daa8adc606a16260eb3a86e31592248a4752441c4c6722aa4973081015409055c25c008a78030c8188c288850df2780c014f6a6334cb291f181510124888223a033eab4a002685d0830400a6e91c0accce0a95181d0e124e4a4b901970a17421", "timestamp": "0x65125487", "difficulty": "0x0", "gasLimit": "0x1c9c380", "gasUsed": "0x96a30f", "miner": "0x95222290dd7278aa3ddd389cc1e1d165cc4bafe5", "extraData": "0x6265617665726275696c642e6f7267", "mixHash": "0x8c75b02f737017e931c02f1539efd4daf40a6d6f8663e596b4ff4be1f24476fd", "nonce": "0x0000000000000000", "baseFeePerGas": "0x247ba3acb", "size": "0x0", "totalDifficulty": "0x0", "uncles": null, "transactions": null }, "state_overrides": { "0x1a9C8182C09F50C8318d769245beA52c32BE35BC": { "storage": { "0x84ac3bd0a37824918eec5042eb071eeff1cbc1b89f30fc15411fd078348f1ab6": "0x0000000000000000000000000000000000000000000000000000000000000001" } }, "0x408ED6354d4973f66138C91495F2f2FCbd8724C3": { "storage": { "0x0000000000000000000000000000000000000000000000000000000000000007": "0x0000000000000000000000000000000000000000000000000000000000000032", "0x0b1ce19f9fb4d322e5c877b812c90b633205af0d2592dc6285c3d4c4bf34bd50": "0x0000000000000000000000000000000000000000000000000000000000000089", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aed": "0x0000000000000000000000000000000000000000000000000000000000000032", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aee": "0x000000000000000000000000d73a92be73efbfcf3854433a5fcbabf9c1316073", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aef": "0x0000000000000000000000000000000000000000000000000000000065125487", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af0": "0x0000000000000000000000000000000000000000000000000000000000000001", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af1": "0x0000000000000000000000000000000000000000000000000000000000000001", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af2": "0x0000000000000000000000000000000000000000000000000000000000000001", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af3": "0x0000000000000000000000000000000000000000000000000000000000000001", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af4": "0x000000000000000000000000000000000000000000000000000000000115f939", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af5": "0x000000000000000000000000000000000000000000000000000000000115f93a", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af6": "0x0000000000000000000000000000000000000000033b2e3c9fd0803ce8000000", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af7": "0x0000000000000000000000000000000000000000000000000000000000000000", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af8": "0x0000000000000000000000000000000000000000000000000000000000000000", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9": "0x0000000000000000000000000000000000000000000000000000000000000000", "0x82b2d0173d03b13e4e7d46e750a3f122cf234cb993a56177812ada75e566f2df": "0x0000000000000000000000000000000000000000000000000000000000000000", "0xa296ca53a46ee4fe6bf6de2bb147a71c48dc08af325090554f01351cf711ef6e": "0x0000000000000000000000000000000000000000000000000000000000000000", "0xb4c1d5cbc1da9043c13aa6aec4bf2eae7d6abde420065610a74e0a6c13cddf9f": "0xa9059cbb000000000000000000000000dead0000000000000000000000000000", "0xb4c1d5cbc1da9043c13aa6aec4bf2eae7d6abde420065610a74e0a6c13cddfa0": "0x0000dead0000000000000000000000000000000000000000000000056bc75e2d", "0xb4c1d5cbc1da9043c13aa6aec4bf2eae7d6abde420065610a74e0a6c13cddfa1": "0x6310000000000000000000000000000000000000000000000000000000000000", "0xd3ce9d6fea00544490082dc054530cfff7929294a86d25e10df71fc00c738e82": "0x0000000000000000000000001f9840a85d5af5bf1d1762f925bdaddc4201f984" } }, "0xD73a92Be73EfbFcF3854433A5FcbAbF9c1316073": { "balance": "0" } }, "deposit_tx": false, "system_tx": false, "nonce": 0, "addresses": [ "0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "0x53a328f4086d7c0f1fa19e594c9b842125263026", "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984" ], "contract_ids": [ "eth:1:0xd73a92be73efbfcf3854433a5fcbabf9c1316073", "eth:1:0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "eth:1:0x53a328f4086d7c0f1fa19e594c9b842125263026", "eth:1:0x1a9c8182c09f50c8318d769245bea52c32be35bc", "eth:1:0x1f9840a85d5af5bf1d1762f925bdaddc4201f984" ], "shared": false, "created_at": "2023-09-26T03:48:56.05459561Z" }, "contracts": [ { "id": "eth:1:0x1a9c8182c09f50c8318d769245bea52c32be35bc", "contract_id": "eth:1:0x1a9c8182c09f50c8318d769245bea52c32be35bc", "balance": "", "network_id": "1", "public": true, "verified_by": "etherscan", "verification_date": null, "address": "0x1a9C8182C09F50C8318d769245beA52c32BE35BC", "contract_name": "Timelock", "ens_domain": null, "type": "contract", "standard": "custom_proxy", "standards": [ "custom_proxy" ], "child_contracts": [ { "id": "eth:1:0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "network_id": "1" } ], "evm_version": "", "compiler_version": "v0.5.16+commit.9c3226ce", "optimizations_used": true, "optimization_runs": 999999, "libraries": null, "data": { "main_contract": 0, "contract_info": [ { "id": 0, "path": "Timelock.sol", "name": "Timelock.sol", "source": "/**\n *Submitted for verification at Etherscan.io on 2020-09-14\n*/\n\npragma solidity ^0.5.16;\n\n// From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol\n// Subject to the MIT license.\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, reverting on overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, reverting with custom message on overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, errorMessage);\n\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on underflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n * - Subtraction cannot underflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n return sub(a, b, \"SafeMath: subtraction underflow\");\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on underflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n * - Subtraction cannot underflow.\n */\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b <= a, errorMessage);\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, errorMessage);\n\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers.\n * Reverts on division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n return div(a, b, \"SafeMath: division by zero\");\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers.\n * Reverts with custom message on division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n // Solidity only automatically asserts when dividing by 0\n require(b > 0, errorMessage);\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n return mod(a, b, \"SafeMath: modulo by zero\");\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts with custom message when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b != 0, errorMessage);\n return a % b;\n }\n}\n\ncontract Timelock {\n using SafeMath for uint;\n\n event NewAdmin(address indexed newAdmin);\n event NewPendingAdmin(address indexed newPendingAdmin);\n event NewDelay(uint indexed newDelay);\n event CancelTransaction(bytes32 indexed txHash, address indexed target, uint value, string signature, bytes data, uint eta);\n event ExecuteTransaction(bytes32 indexed txHash, address indexed target, uint value, string signature, bytes data, uint eta);\n event QueueTransaction(bytes32 indexed txHash, address indexed target, uint value, string signature, bytes data, uint eta);\n\n uint public constant GRACE_PERIOD = 14 days;\n uint public constant MINIMUM_DELAY = 2 days;\n uint public constant MAXIMUM_DELAY = 30 days;\n\n address public admin;\n address public pendingAdmin;\n uint public delay;\n\n mapping (bytes32 => bool) public queuedTransactions;\n\n\n constructor(address admin_, uint delay_) public {\n require(delay_ >= MINIMUM_DELAY, \"Timelock::constructor: Delay must exceed minimum delay.\");\n require(delay_ <= MAXIMUM_DELAY, \"Timelock::setDelay: Delay must not exceed maximum delay.\");\n\n admin = admin_;\n delay = delay_;\n }\n\n function() external payable { }\n\n function setDelay(uint delay_) public {\n require(msg.sender == address(this), \"Timelock::setDelay: Call must come from Timelock.\");\n require(delay_ >= MINIMUM_DELAY, \"Timelock::setDelay: Delay must exceed minimum delay.\");\n require(delay_ <= MAXIMUM_DELAY, \"Timelock::setDelay: Delay must not exceed maximum delay.\");\n delay = delay_;\n\n emit NewDelay(delay);\n }\n\n function acceptAdmin() public {\n require(msg.sender == pendingAdmin, \"Timelock::acceptAdmin: Call must come from pendingAdmin.\");\n admin = msg.sender;\n pendingAdmin = address(0);\n\n emit NewAdmin(admin);\n }\n\n function setPendingAdmin(address pendingAdmin_) public {\n require(msg.sender == address(this), \"Timelock::setPendingAdmin: Call must come from Timelock.\");\n pendingAdmin = pendingAdmin_;\n\n emit NewPendingAdmin(pendingAdmin);\n }\n\n function queueTransaction(address target, uint value, string memory signature, bytes memory data, uint eta) public returns (bytes32) {\n require(msg.sender == admin, \"Timelock::queueTransaction: Call must come from admin.\");\n require(eta >= getBlockTimestamp().add(delay), \"Timelock::queueTransaction: Estimated execution block must satisfy delay.\");\n\n bytes32 txHash = keccak256(abi.encode(target, value, signature, data, eta));\n queuedTransactions[txHash] = true;\n\n emit QueueTransaction(txHash, target, value, signature, data, eta);\n return txHash;\n }\n\n function cancelTransaction(address target, uint value, string memory signature, bytes memory data, uint eta) public {\n require(msg.sender == admin, \"Timelock::cancelTransaction: Call must come from admin.\");\n\n bytes32 txHash = keccak256(abi.encode(target, value, signature, data, eta));\n queuedTransactions[txHash] = false;\n\n emit CancelTransaction(txHash, target, value, signature, data, eta);\n }\n\n function executeTransaction(address target, uint value, string memory signature, bytes memory data, uint eta) public payable returns (bytes memory) {\n require(msg.sender == admin, \"Timelock::executeTransaction: Call must come from admin.\");\n\n bytes32 txHash = keccak256(abi.encode(target, value, signature, data, eta));\n require(queuedTransactions[txHash], \"Timelock::executeTransaction: Transaction hasn't been queued.\");\n require(getBlockTimestamp() >= eta, \"Timelock::executeTransaction: Transaction hasn't surpassed time lock.\");\n require(getBlockTimestamp() <= eta.add(GRACE_PERIOD), \"Timelock::executeTransaction: Transaction is stale.\");\n\n queuedTransactions[txHash] = false;\n\n bytes memory callData;\n\n if (bytes(signature).length == 0) {\n callData = data;\n } else {\n callData = abi.encodePacked(bytes4(keccak256(bytes(signature))), data);\n }\n\n // solium-disable-next-line security/no-call-value\n (bool success, bytes memory returnData) = target.call.value(value)(callData);\n require(success, \"Timelock::executeTransaction: Transaction execution reverted.\");\n\n emit ExecuteTransaction(txHash, target, value, signature, data, eta);\n\n return returnData;\n }\n\n function getBlockTimestamp() internal view returns (uint) {\n // solium-disable-next-line security/no-block-members\n return block.timestamp;\n }\n}" } ], "abi": [ { "type": "constructor", "name": "", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "admin_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "delay_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "function", "name": "_setImplementation", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "implementation_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [] }, { "type": "function", "name": "setDelay", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "delay_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "queuedTransactions", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ], "outputs": [ { "name": "", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } } ] }, { "type": "function", "name": "GRACE_PERIOD", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "setPendingAdmin", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "pendingAdmin_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [] }, { "type": "function", "name": "cancelTransaction", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "target", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "value", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "signature", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, { "name": "data", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "executeTransaction", "constant": false, "anonymous": false, "stateMutability": "payable", "inputs": [ { "name": "target", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "value", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "signature", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, { "name": "data", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ] }, { "type": "function", "name": "acceptAdmin", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [], "outputs": [] }, { "type": "function", "name": "MINIMUM_DELAY", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "delay", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "MAXIMUM_DELAY", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "queueTransaction", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "target", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "value", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "signature", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, { "name": "data", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ] }, { "type": "function", "name": "implementation", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "pendingAdmin", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "admin", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "event", "name": "ProposalCanceled", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "ProposalQueued", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "VotingPeriodSet", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldVotingPeriod", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newVotingPeriod", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "ExecuteTransaction", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "txHash", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "bytes" } }, { "name": "target", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "value", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "signature", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, { "name": "data", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "ProposalThresholdSet", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldProposalThreshold", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newProposalThreshold", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "NewDelay", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "newDelay", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "ProposalCreated", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "targets", "type": "address[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "startBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "description", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": null }, { "type": "event", "name": "VotingDelaySet", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldVotingDelay", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newVotingDelay", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "ProposalExecuted", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "QueueTransaction", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "txHash", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "bytes" } }, { "name": "target", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "value", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "signature", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, { "name": "data", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "VoteCast", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "voter", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "reason", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": null }, { "type": "event", "name": "NewPendingAdmin", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldPendingAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newPendingAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "NewImplementation", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldImplementation", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newImplementation", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "NewAdmin", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "CancelTransaction", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "txHash", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "bytes" } }, { "name": "target", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "value", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "signature", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } }, { "name": "data", "type": "bytes", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null } ], "raw_abi": [ { "inputs": [ { "internalType": "address", "name": "admin_", "type": "address" }, { "internalType": "uint256", "name": "delay_", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "signature", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "CancelTransaction", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "signature", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "ExecuteTransaction", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "uint256", "name": "newDelay", "type": "uint256" } ], "name": "NewDelay", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "NewPendingAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "txHash", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "target", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "signature", "type": "string" }, { "indexed": false, "internalType": "bytes", "name": "data", "type": "bytes" }, { "indexed": false, "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "QueueTransaction", "type": "event" }, { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "constant": true, "inputs": [], "name": "GRACE_PERIOD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAXIMUM_DELAY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MINIMUM_DELAY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "acceptAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "string", "name": "signature", "type": "string" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "cancelTransaction", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "delay", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "string", "name": "signature", "type": "string" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "executeTransaction", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [], "name": "pendingAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "target", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "string", "name": "signature", "type": "string" }, { "internalType": "bytes", "name": "data", "type": "bytes" }, { "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "queueTransaction", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "queuedTransactions", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "delay_", "type": "uint256" } ], "name": "setDelay", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "pendingAdmin_", "type": "address" } ], "name": "setPendingAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "states": [ { "name": "queuedTransactions", "type": "mapping (bytes32 => bool)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000003", "indexed": false }, { "name": "admin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "pendingAdmin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000001", "indexed": false, "simple_type": { "type": "address" } }, { "name": "implementation", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000002", "indexed": false, "simple_type": { "type": "address" } }, { "name": "admin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "pendingAdmin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000001", "indexed": false, "simple_type": { "type": "address" } }, { "name": "delay", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000002", "indexed": false, "simple_type": { "type": "uint" } } ] }, "creation_block": 0, "creation_tx": "", "creator_address": "", "created_at": "2020-09-16T20:19:49Z", "language": "solidity", "in_project": false }, { "id": "eth:1:0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "contract_id": "eth:1:0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "balance": "", "network_id": "1", "public": true, "verified_by": "etherscan", "verification_date": null, "address": "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984", "contract_name": "Uni", "ens_domain": null, "type": "contract", "standard": "erc20", "standards": [ "erc20" ], "token_data": { "symbol": "uni", "name": "Uniswap", "decimals": 18 }, "evm_version": "", "compiler_version": "v0.5.16+commit.9c3226ce", "optimizations_used": true, "optimization_runs": 999999, "libraries": null, "data": { "main_contract": 0, "contract_info": [ { "id": 0, "path": "Uni.sol", "name": "Uni.sol", "source": "/**\n *Submitted for verification at Etherscan.io on 2020-09-15\n*/\n\npragma solidity ^0.5.16;\npragma experimental ABIEncoderV2;\n\n// From https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/math/Math.sol\n// Subject to the MIT license.\n\n/**\n * @dev Wrappers over Solidity's arithmetic operations with added overflow\n * checks.\n *\n * Arithmetic operations in Solidity wrap on overflow. This can easily result\n * in bugs, because programmers usually assume that an overflow raises an\n * error, which is the standard behavior in high level programming languages.\n * `SafeMath` restores this intuition by reverting the transaction when an\n * operation overflows.\n *\n * Using this library instead of the unchecked operations eliminates an entire\n * class of bugs, so it's recommended to use it always.\n */\nlibrary SafeMath {\n /**\n * @dev Returns the addition of two unsigned integers, reverting on overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, \"SafeMath: addition overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the addition of two unsigned integers, reverting with custom message on overflow.\n *\n * Counterpart to Solidity's `+` operator.\n *\n * Requirements:\n * - Addition cannot overflow.\n */\n function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n uint256 c = a + b;\n require(c >= a, errorMessage);\n\n return c;\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting on underflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n * - Subtraction cannot underflow.\n */\n function sub(uint256 a, uint256 b) internal pure returns (uint256) {\n return sub(a, b, \"SafeMath: subtraction underflow\");\n }\n\n /**\n * @dev Returns the subtraction of two unsigned integers, reverting with custom message on underflow (when the result is negative).\n *\n * Counterpart to Solidity's `-` operator.\n *\n * Requirements:\n * - Subtraction cannot underflow.\n */\n function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b <= a, errorMessage);\n uint256 c = a - b;\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, \"SafeMath: multiplication overflow\");\n\n return c;\n }\n\n /**\n * @dev Returns the multiplication of two unsigned integers, reverting on overflow.\n *\n * Counterpart to Solidity's `*` operator.\n *\n * Requirements:\n * - Multiplication cannot overflow.\n */\n function mul(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n // Gas optimization: this is cheaper than requiring 'a' not being zero, but the\n // benefit is lost if 'b' is also tested.\n // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522\n if (a == 0) {\n return 0;\n }\n\n uint256 c = a * b;\n require(c / a == b, errorMessage);\n\n return c;\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers.\n * Reverts on division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b) internal pure returns (uint256) {\n return div(a, b, \"SafeMath: division by zero\");\n }\n\n /**\n * @dev Returns the integer division of two unsigned integers.\n * Reverts with custom message on division by zero. The result is rounded towards zero.\n *\n * Counterpart to Solidity's `/` operator. Note: this function uses a\n * `revert` opcode (which leaves remaining gas untouched) while Solidity\n * uses an invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n // Solidity only automatically asserts when dividing by 0\n require(b > 0, errorMessage);\n uint256 c = a / b;\n // assert(a == b * c + a % b); // There is no case in which this doesn't hold\n\n return c;\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b) internal pure returns (uint256) {\n return mod(a, b, \"SafeMath: modulo by zero\");\n }\n\n /**\n * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),\n * Reverts with custom message when dividing by zero.\n *\n * Counterpart to Solidity's `%` operator. This function uses a `revert`\n * opcode (which leaves remaining gas untouched) while Solidity uses an\n * invalid opcode to revert (consuming all remaining gas).\n *\n * Requirements:\n * - The divisor cannot be zero.\n */\n function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {\n require(b != 0, errorMessage);\n return a % b;\n }\n}\n\ncontract Uni {\n /// @notice EIP-20 token name for this token\n string public constant name = \"Uniswap\";\n\n /// @notice EIP-20 token symbol for this token\n string public constant symbol = \"UNI\";\n\n /// @notice EIP-20 token decimals for this token\n uint8 public constant decimals = 18;\n\n /// @notice Total number of tokens in circulation\n uint public totalSupply = 1_000_000_000e18; // 1 billion Uni\n\n /// @notice Address which may mint new tokens\n address public minter;\n\n /// @notice The timestamp after which minting may occur\n uint public mintingAllowedAfter;\n\n /// @notice Minimum time between mints\n uint32 public constant minimumTimeBetweenMints = 1 days * 365;\n\n /// @notice Cap on the percentage of totalSupply that can be minted at each mint\n uint8 public constant mintCap = 2;\n\n /// @notice Allowance amounts on behalf of others\n mapping (address => mapping (address => uint96)) internal allowances;\n\n /// @notice Official record of token balances for each account\n mapping (address => uint96) internal balances;\n\n /// @notice A record of each accounts delegate\n mapping (address => address) public delegates;\n\n /// @notice A checkpoint for marking number of votes from a given block\n struct Checkpoint {\n uint32 fromBlock;\n uint96 votes;\n }\n\n /// @notice A record of votes checkpoints for each account, by index\n mapping (address => mapping (uint32 => Checkpoint)) public checkpoints;\n\n /// @notice The number of checkpoints for each account\n mapping (address => uint32) public numCheckpoints;\n\n /// @notice The EIP-712 typehash for the contract's domain\n bytes32 public constant DOMAIN_TYPEHASH = keccak256(\"EIP712Domain(string name,uint256 chainId,address verifyingContract)\");\n\n /// @notice The EIP-712 typehash for the delegation struct used by the contract\n bytes32 public constant DELEGATION_TYPEHASH = keccak256(\"Delegation(address delegatee,uint256 nonce,uint256 expiry)\");\n\n /// @notice The EIP-712 typehash for the permit struct used by the contract\n bytes32 public constant PERMIT_TYPEHASH = keccak256(\"Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)\");\n\n /// @notice A record of states for signing / validating signatures\n mapping (address => uint) public nonces;\n\n /// @notice An event thats emitted when the minter address is changed\n event MinterChanged(address minter, address newMinter);\n\n /// @notice An event thats emitted when an account changes its delegate\n event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate);\n\n /// @notice An event thats emitted when a delegate account's vote balance changes\n event DelegateVotesChanged(address indexed delegate, uint previousBalance, uint newBalance);\n\n /// @notice The standard EIP-20 transfer event\n event Transfer(address indexed from, address indexed to, uint256 amount);\n\n /// @notice The standard EIP-20 approval event\n event Approval(address indexed owner, address indexed spender, uint256 amount);\n\n /**\n * @notice Construct a new Uni token\n * @param account The initial account to grant all the tokens\n * @param minter_ The account with minting ability\n * @param mintingAllowedAfter_ The timestamp after which minting may occur\n */\n constructor(address account, address minter_, uint mintingAllowedAfter_) public {\n require(mintingAllowedAfter_ >= block.timestamp, \"Uni::constructor: minting can only begin after deployment\");\n\n balances[account] = uint96(totalSupply);\n emit Transfer(address(0), account, totalSupply);\n minter = minter_;\n emit MinterChanged(address(0), minter);\n mintingAllowedAfter = mintingAllowedAfter_;\n }\n\n /**\n * @notice Change the minter address\n * @param minter_ The address of the new minter\n */\n function setMinter(address minter_) external {\n require(msg.sender == minter, \"Uni::setMinter: only the minter can change the minter address\");\n emit MinterChanged(minter, minter_);\n minter = minter_;\n }\n\n /**\n * @notice Mint new tokens\n * @param dst The address of the destination account\n * @param rawAmount The number of tokens to be minted\n */\n function mint(address dst, uint rawAmount) external {\n require(msg.sender == minter, \"Uni::mint: only the minter can mint\");\n require(block.timestamp >= mintingAllowedAfter, \"Uni::mint: minting not allowed yet\");\n require(dst != address(0), \"Uni::mint: cannot transfer to the zero address\");\n\n // record the mint\n mintingAllowedAfter = SafeMath.add(block.timestamp, minimumTimeBetweenMints);\n\n // mint the amount\n uint96 amount = safe96(rawAmount, \"Uni::mint: amount exceeds 96 bits\");\n require(amount <= SafeMath.div(SafeMath.mul(totalSupply, mintCap), 100), \"Uni::mint: exceeded mint cap\");\n totalSupply = safe96(SafeMath.add(totalSupply, amount), \"Uni::mint: totalSupply exceeds 96 bits\");\n\n // transfer the amount to the recipient\n balances[dst] = add96(balances[dst], amount, \"Uni::mint: transfer amount overflows\");\n emit Transfer(address(0), dst, amount);\n\n // move delegates\n _moveDelegates(address(0), delegates[dst], amount);\n }\n\n /**\n * @notice Get the number of tokens `spender` is approved to spend on behalf of `account`\n * @param account The address of the account holding the funds\n * @param spender The address of the account spending the funds\n * @return The number of tokens approved\n */\n function allowance(address account, address spender) external view returns (uint) {\n return allowances[account][spender];\n }\n\n /**\n * @notice Approve `spender` to transfer up to `amount` from `src`\n * @dev This will overwrite the approval amount for `spender`\n * and is subject to issues noted [here](https://eips.ethereum.org/EIPS/eip-20#approve)\n * @param spender The address of the account which may transfer tokens\n * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)\n * @return Whether or not the approval succeeded\n */\n function approve(address spender, uint rawAmount) external returns (bool) {\n uint96 amount;\n if (rawAmount == uint(-1)) {\n amount = uint96(-1);\n } else {\n amount = safe96(rawAmount, \"Uni::approve: amount exceeds 96 bits\");\n }\n\n allowances[msg.sender][spender] = amount;\n\n emit Approval(msg.sender, spender, amount);\n return true;\n }\n\n /**\n * @notice Triggers an approval from owner to spends\n * @param owner The address to approve from\n * @param spender The address to be approved\n * @param rawAmount The number of tokens that are approved (2^256-1 means infinite)\n * @param deadline The time at which to expire the signature\n * @param v The recovery byte of the signature\n * @param r Half of the ECDSA signature pair\n * @param s Half of the ECDSA signature pair\n */\n function permit(address owner, address spender, uint rawAmount, uint deadline, uint8 v, bytes32 r, bytes32 s) external {\n uint96 amount;\n if (rawAmount == uint(-1)) {\n amount = uint96(-1);\n } else {\n amount = safe96(rawAmount, \"Uni::permit: amount exceeds 96 bits\");\n }\n\n bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));\n bytes32 structHash = keccak256(abi.encode(PERMIT_TYPEHASH, owner, spender, rawAmount, nonces[owner]++, deadline));\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", domainSeparator, structHash));\n address signatory = ecrecover(digest, v, r, s);\n require(signatory != address(0), \"Uni::permit: invalid signature\");\n require(signatory == owner, \"Uni::permit: unauthorized\");\n require(now <= deadline, \"Uni::permit: signature expired\");\n\n allowances[owner][spender] = amount;\n\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @notice Get the number of tokens held by the `account`\n * @param account The address of the account to get the balance of\n * @return The number of tokens held\n */\n function balanceOf(address account) external view returns (uint) {\n return balances[account];\n }\n\n /**\n * @notice Transfer `amount` tokens from `msg.sender` to `dst`\n * @param dst The address of the destination account\n * @param rawAmount The number of tokens to transfer\n * @return Whether or not the transfer succeeded\n */\n function transfer(address dst, uint rawAmount) external returns (bool) {\n uint96 amount = safe96(rawAmount, \"Uni::transfer: amount exceeds 96 bits\");\n _transferTokens(msg.sender, dst, amount);\n return true;\n }\n\n /**\n * @notice Transfer `amount` tokens from `src` to `dst`\n * @param src The address of the source account\n * @param dst The address of the destination account\n * @param rawAmount The number of tokens to transfer\n * @return Whether or not the transfer succeeded\n */\n function transferFrom(address src, address dst, uint rawAmount) external returns (bool) {\n address spender = msg.sender;\n uint96 spenderAllowance = allowances[src][spender];\n uint96 amount = safe96(rawAmount, \"Uni::approve: amount exceeds 96 bits\");\n\n if (spender != src && spenderAllowance != uint96(-1)) {\n uint96 newAllowance = sub96(spenderAllowance, amount, \"Uni::transferFrom: transfer amount exceeds spender allowance\");\n allowances[src][spender] = newAllowance;\n\n emit Approval(src, spender, newAllowance);\n }\n\n _transferTokens(src, dst, amount);\n return true;\n }\n\n /**\n * @notice Delegate votes from `msg.sender` to `delegatee`\n * @param delegatee The address to delegate votes to\n */\n function delegate(address delegatee) public {\n return _delegate(msg.sender, delegatee);\n }\n\n /**\n * @notice Delegates votes from signatory to `delegatee`\n * @param delegatee The address to delegate votes to\n * @param nonce The contract state required to match the signature\n * @param expiry The time at which to expire the signature\n * @param v The recovery byte of the signature\n * @param r Half of the ECDSA signature pair\n * @param s Half of the ECDSA signature pair\n */\n function delegateBySig(address delegatee, uint nonce, uint expiry, uint8 v, bytes32 r, bytes32 s) public {\n bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainId(), address(this)));\n bytes32 structHash = keccak256(abi.encode(DELEGATION_TYPEHASH, delegatee, nonce, expiry));\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", domainSeparator, structHash));\n address signatory = ecrecover(digest, v, r, s);\n require(signatory != address(0), \"Uni::delegateBySig: invalid signature\");\n require(nonce == nonces[signatory]++, \"Uni::delegateBySig: invalid nonce\");\n require(now <= expiry, \"Uni::delegateBySig: signature expired\");\n return _delegate(signatory, delegatee);\n }\n\n /**\n * @notice Gets the current votes balance for `account`\n * @param account The address to get votes balance\n * @return The number of current votes for `account`\n */\n function getCurrentVotes(address account) external view returns (uint96) {\n uint32 nCheckpoints = numCheckpoints[account];\n return nCheckpoints > 0 ? checkpoints[account][nCheckpoints - 1].votes : 0;\n }\n\n /**\n * @notice Determine the prior number of votes for an account as of a block number\n * @dev Block number must be a finalized block or else this function will revert to prevent misinformation.\n * @param account The address of the account to check\n * @param blockNumber The block number to get the vote balance at\n * @return The number of votes the account had as of the given block\n */\n function getPriorVotes(address account, uint blockNumber) public view returns (uint96) {\n require(blockNumber < block.number, \"Uni::getPriorVotes: not yet determined\");\n\n uint32 nCheckpoints = numCheckpoints[account];\n if (nCheckpoints == 0) {\n return 0;\n }\n\n // First check most recent balance\n if (checkpoints[account][nCheckpoints - 1].fromBlock <= blockNumber) {\n return checkpoints[account][nCheckpoints - 1].votes;\n }\n\n // Next check implicit zero balance\n if (checkpoints[account][0].fromBlock > blockNumber) {\n return 0;\n }\n\n uint32 lower = 0;\n uint32 upper = nCheckpoints - 1;\n while (upper > lower) {\n uint32 center = upper - (upper - lower) / 2; // ceil, avoiding overflow\n Checkpoint memory cp = checkpoints[account][center];\n if (cp.fromBlock == blockNumber) {\n return cp.votes;\n } else if (cp.fromBlock < blockNumber) {\n lower = center;\n } else {\n upper = center - 1;\n }\n }\n return checkpoints[account][lower].votes;\n }\n\n function _delegate(address delegator, address delegatee) internal {\n address currentDelegate = delegates[delegator];\n uint96 delegatorBalance = balances[delegator];\n delegates[delegator] = delegatee;\n\n emit DelegateChanged(delegator, currentDelegate, delegatee);\n\n _moveDelegates(currentDelegate, delegatee, delegatorBalance);\n }\n\n function _transferTokens(address src, address dst, uint96 amount) internal {\n require(src != address(0), \"Uni::_transferTokens: cannot transfer from the zero address\");\n require(dst != address(0), \"Uni::_transferTokens: cannot transfer to the zero address\");\n\n balances[src] = sub96(balances[src], amount, \"Uni::_transferTokens: transfer amount exceeds balance\");\n balances[dst] = add96(balances[dst], amount, \"Uni::_transferTokens: transfer amount overflows\");\n emit Transfer(src, dst, amount);\n\n _moveDelegates(delegates[src], delegates[dst], amount);\n }\n\n function _moveDelegates(address srcRep, address dstRep, uint96 amount) internal {\n if (srcRep != dstRep && amount > 0) {\n if (srcRep != address(0)) {\n uint32 srcRepNum = numCheckpoints[srcRep];\n uint96 srcRepOld = srcRepNum > 0 ? checkpoints[srcRep][srcRepNum - 1].votes : 0;\n uint96 srcRepNew = sub96(srcRepOld, amount, \"Uni::_moveVotes: vote amount underflows\");\n _writeCheckpoint(srcRep, srcRepNum, srcRepOld, srcRepNew);\n }\n\n if (dstRep != address(0)) {\n uint32 dstRepNum = numCheckpoints[dstRep];\n uint96 dstRepOld = dstRepNum > 0 ? checkpoints[dstRep][dstRepNum - 1].votes : 0;\n uint96 dstRepNew = add96(dstRepOld, amount, \"Uni::_moveVotes: vote amount overflows\");\n _writeCheckpoint(dstRep, dstRepNum, dstRepOld, dstRepNew);\n }\n }\n }\n\n function _writeCheckpoint(address delegatee, uint32 nCheckpoints, uint96 oldVotes, uint96 newVotes) internal {\n uint32 blockNumber = safe32(block.number, \"Uni::_writeCheckpoint: block number exceeds 32 bits\");\n\n if (nCheckpoints > 0 && checkpoints[delegatee][nCheckpoints - 1].fromBlock == blockNumber) {\n checkpoints[delegatee][nCheckpoints - 1].votes = newVotes;\n } else {\n checkpoints[delegatee][nCheckpoints] = Checkpoint(blockNumber, newVotes);\n numCheckpoints[delegatee] = nCheckpoints + 1;\n }\n\n emit DelegateVotesChanged(delegatee, oldVotes, newVotes);\n }\n\n function safe32(uint n, string memory errorMessage) internal pure returns (uint32) {\n require(n < 2**32, errorMessage);\n return uint32(n);\n }\n\n function safe96(uint n, string memory errorMessage) internal pure returns (uint96) {\n require(n < 2**96, errorMessage);\n return uint96(n);\n }\n\n function add96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {\n uint96 c = a + b;\n require(c >= a, errorMessage);\n return c;\n }\n\n function sub96(uint96 a, uint96 b, string memory errorMessage) internal pure returns (uint96) {\n require(b <= a, errorMessage);\n return a - b;\n }\n\n function getChainId() internal pure returns (uint) {\n uint256 chainId;\n assembly { chainId := chainid() }\n return chainId;\n }\n}" } ], "abi": [ { "type": "constructor", "name": "", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "account", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "minter_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "mintingAllowedAfter_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "function", "name": "minimumTimeBetweenMints", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "mintingAllowedAfter", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "mint", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "dst", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "rawAmount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "minter", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "decimals", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "allowance", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "account", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "spender", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "numCheckpoints", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "uint32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "transfer", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "dst", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "rawAmount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } } ] }, { "type": "function", "name": "delegate", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "delegatee", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [] }, { "type": "function", "name": "transferFrom", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "src", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "dst", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "rawAmount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } } ] }, { "type": "function", "name": "totalSupply", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "PERMIT_TYPEHASH", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ] }, { "type": "function", "name": "nonces", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "delegates", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "checkpoints", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "", "type": "uint32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "fromBlock", "type": "uint32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "name", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ] }, { "type": "function", "name": "getCurrentVotes", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "account", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "DOMAIN_TYPEHASH", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ] }, { "type": "function", "name": "balanceOf", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "account", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "approve", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "spender", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "rawAmount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } } ] }, { "type": "function", "name": "getPriorVotes", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "account", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "blockNumber", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "setMinter", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "minter_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [] }, { "type": "function", "name": "symbol", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ] }, { "type": "function", "name": "mintCap", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "DELEGATION_TYPEHASH", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ] }, { "type": "function", "name": "delegateBySig", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "delegatee", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "nonce", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "expiry", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "v", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "r", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "s", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ], "outputs": [] }, { "type": "function", "name": "permit", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "owner", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "spender", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "rawAmount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "deadline", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "v", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "r", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "s", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ], "outputs": [] }, { "type": "event", "name": "Approval", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "owner", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "spender", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "amount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "DelegateChanged", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "delegator", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "fromDelegate", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "toDelegate", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "DelegateVotesChanged", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "delegate", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "previousBalance", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newBalance", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "MinterChanged", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "minter", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newMinter", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "Transfer", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "from", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "to", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "amount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null } ], "raw_abi": [ { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "minter_", "type": "address" }, { "internalType": "uint256", "name": "mintingAllowedAfter_", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "fromDelegate", "type": "address" }, { "indexed": true, "internalType": "address", "name": "toDelegate", "type": "address" } ], "name": "DelegateChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "delegate", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "previousBalance", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newBalance", "type": "uint256" } ], "name": "DelegateVotesChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "minter", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newMinter", "type": "address" } ], "name": "MinterChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "constant": true, "inputs": [], "name": "DELEGATION_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "DOMAIN_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "PERMIT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "rawAmount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "uint32", "name": "", "type": "uint32" } ], "name": "checkpoints", "outputs": [ { "internalType": "uint32", "name": "fromBlock", "type": "uint32" }, { "internalType": "uint96", "name": "votes", "type": "uint96" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" } ], "name": "delegate", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "delegatee", "type": "address" }, { "internalType": "uint256", "name": "nonce", "type": "uint256" }, { "internalType": "uint256", "name": "expiry", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "delegateBySig", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "delegates", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "getCurrentVotes", "outputs": [ { "internalType": "uint96", "name": "", "type": "uint96" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "blockNumber", "type": "uint256" } ], "name": "getPriorVotes", "outputs": [ { "internalType": "uint96", "name": "", "type": "uint96" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "minimumTimeBetweenMints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "rawAmount", "type": "uint256" } ], "name": "mint", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "mintCap", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "minter", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "mintingAllowedAfter", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "numCheckpoints", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "rawAmount", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "minter_", "type": "address" } ], "name": "setMinter", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "rawAmount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "src", "type": "address" }, { "internalType": "address", "name": "dst", "type": "address" }, { "internalType": "uint256", "name": "rawAmount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" } ], "states": [ { "name": "minter", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000001", "indexed": false, "simple_type": { "type": "address" } }, { "name": "balances", "type": "mapping (address => uint96)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000004", "indexed": false }, { "name": "delegates", "type": "mapping (address => address)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000005", "indexed": false }, { "name": "checkpoints", "type": "mapping (address => mapping (uint32 => tuple))", "storage_location": "memory", "components": [ { "name": "fromBlock", "type": "uint32", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "memory", "components": null, "offset": 32, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000006", "indexed": false }, { "name": "numCheckpoints", "type": "mapping (address => uint32)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000007", "indexed": false }, { "name": "totalSupply", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "allowances", "type": "mapping (address => mapping (address => uint96))", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000003", "indexed": false }, { "name": "nonces", "type": "mapping (address => uint256)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000008", "indexed": false }, { "name": "mintingAllowedAfter", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000002", "indexed": false, "simple_type": { "type": "uint" } } ] }, "creation_block": 0, "creation_tx": "", "creator_address": "", "created_at": "2020-09-16T20:15:27Z", "language": "solidity", "in_project": false }, { "id": "eth:1:0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "contract_id": "eth:1:0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "balance": "", "network_id": "1", "public": true, "verified_by": "etherscan", "verification_date": null, "address": "0x408ED6354d4973f66138C91495F2f2FCbd8724C3", "contract_name": "GovernorBravoDelegator", "ens_domain": null, "type": "contract", "standard": "custom_proxy", "standards": [ "custom_proxy" ], "child_contracts": [ { "id": "eth:1:0x53a328f4086d7c0f1fa19e594c9b842125263026", "address": "0x53a328f4086d7c0f1fa19e594c9b842125263026", "network_id": "1" } ], "evm_version": "", "compiler_version": "v0.5.16+commit.9c3226ce", "optimizations_used": true, "optimization_runs": 200, "libraries": null, "data": { "main_contract": 0, "contract_info": [ { "id": 0, "path": "contracts/GovernorBravoDelegator.sol", "name": "GovernorBravoDelegator.sol", "source": "pragma solidity ^0.5.16;\npragma experimental ABIEncoderV2;\n\nimport \"./GovernorBravoInterfaces.sol\";\n\ncontract GovernorBravoDelegator is GovernorBravoDelegatorStorage, GovernorBravoEvents {\n\tconstructor(\n\t\t\taddress timelock_,\n\t\t\taddress uni_,\n\t\t\taddress admin_,\n\t address implementation_,\n\t uint votingPeriod_,\n\t uint votingDelay_,\n uint proposalThreshold_) public {\n\n // Admin set to msg.sender for initialization\n admin = msg.sender;\n\n delegateTo(implementation_, abi.encodeWithSignature(\"initialize(address,address,uint256,uint256,uint256)\",\n timelock_,\n uni_,\n votingPeriod_,\n votingDelay_,\n proposalThreshold_));\n\n _setImplementation(implementation_);\n\n\t\tadmin = admin_;\n\t}\n\n\n\t/**\n * @notice Called by the admin to update the implementation of the delegator\n * @param implementation_ The address of the new implementation for delegation\n */\n function _setImplementation(address implementation_) public {\n require(msg.sender == admin, \"GovernorBravoDelegator::_setImplementation: admin only\");\n require(implementation_ != address(0), \"GovernorBravoDelegator::_setImplementation: invalid implementation address\");\n\n address oldImplementation = implementation;\n implementation = implementation_;\n\n emit NewImplementation(oldImplementation, implementation);\n }\n\n /**\n * @notice Internal method to delegate execution to another contract\n * @dev It returns to the external caller whatever the implementation returns or forwards reverts\n * @param callee The contract to delegatecall\n * @param data The raw data to delegatecall\n */\n function delegateTo(address callee, bytes memory data) internal {\n (bool success, bytes memory returnData) = callee.delegatecall(data);\n assembly {\n if eq(success, 0) {\n revert(add(returnData, 0x20), returndatasize)\n }\n }\n }\n\n\t/**\n * @dev Delegates execution to an implementation contract.\n * It returns to the external caller whatever the implementation returns\n * or forwards reverts.\n */\n function () external payable {\n // delegate all other functions to current implementation\n (bool success, ) = implementation.delegatecall(msg.data);\n\n assembly {\n let free_mem_ptr := mload(0x40)\n returndatacopy(free_mem_ptr, 0, returndatasize)\n\n switch success\n case 0 { revert(free_mem_ptr, returndatasize) }\n default { return(free_mem_ptr, returndatasize) }\n }\n }\n}" }, { "id": 1, "path": "contracts/GovernorBravoInterfaces.sol", "name": "GovernorBravoInterfaces.sol", "source": "pragma solidity ^0.5.16;\npragma experimental ABIEncoderV2;\n\n\ncontract GovernorBravoEvents {\n /// @notice An event emitted when a new proposal is created\n event ProposalCreated(uint id, address proposer, address[] targets, uint[] values, string[] signatures, bytes[] calldatas, uint startBlock, uint endBlock, string description);\n\n /// @notice An event emitted when a vote has been cast on a proposal\n /// @param voter The address which casted a vote\n /// @param proposalId The proposal id which was voted on\n /// @param support Support value for the vote. 0=against, 1=for, 2=abstain\n /// @param votes Number of votes which were cast by the voter\n /// @param reason The reason given for the vote by the voter\n event VoteCast(address indexed voter, uint proposalId, uint8 support, uint votes, string reason);\n\n /// @notice An event emitted when a proposal has been canceled\n event ProposalCanceled(uint id);\n\n /// @notice An event emitted when a proposal has been queued in the Timelock\n event ProposalQueued(uint id, uint eta);\n\n /// @notice An event emitted when a proposal has been executed in the Timelock\n event ProposalExecuted(uint id);\n\n /// @notice An event emitted when the voting delay is set\n event VotingDelaySet(uint oldVotingDelay, uint newVotingDelay);\n\n /// @notice An event emitted when the voting period is set\n event VotingPeriodSet(uint oldVotingPeriod, uint newVotingPeriod);\n\n /// @notice Emitted when implementation is changed\n event NewImplementation(address oldImplementation, address newImplementation);\n\n /// @notice Emitted when proposal threshold is set\n event ProposalThresholdSet(uint oldProposalThreshold, uint newProposalThreshold);\n\n /// @notice Emitted when pendingAdmin is changed\n event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin);\n\n /// @notice Emitted when pendingAdmin is accepted, which means admin is updated\n event NewAdmin(address oldAdmin, address newAdmin);\n}\n\ncontract GovernorBravoDelegatorStorage {\n /// @notice Administrator for this contract\n address public admin;\n\n /// @notice Pending administrator for this contract\n address public pendingAdmin;\n\n /// @notice Active brains of Governor\n address public implementation;\n}\n\n\n/**\n * @title Storage for Governor Bravo Delegate\n * @notice For future upgrades, do not change GovernorBravoDelegateStorageV1. Create a new\n * contract which implements GovernorBravoDelegateStorageV1 and following the naming convention\n * GovernorBravoDelegateStorageVX.\n */\ncontract GovernorBravoDelegateStorageV1 is GovernorBravoDelegatorStorage {\n\n /// @notice The delay before voting on a proposal may take place, once proposed, in blocks\n uint public votingDelay;\n\n /// @notice The duration of voting on a proposal, in blocks\n uint public votingPeriod;\n\n /// @notice The number of votes required in order for a voter to become a proposer\n uint public proposalThreshold;\n\n /// @notice Initial proposal id set at become\n uint public initialProposalId;\n\n /// @notice The total number of proposals\n uint public proposalCount;\n\n /// @notice The address of the Uniswap Protocol Timelock\n TimelockInterface public timelock;\n\n /// @notice The address of the Uniswap governance token\n UniInterface public uni;\n\n /// @notice The official record of all proposals ever proposed\n mapping (uint => Proposal) public proposals;\n\n /// @notice The latest proposal for each proposer\n mapping (address => uint) public latestProposalIds;\n\n\n struct Proposal {\n /// @notice Unique id for looking up a proposal\n uint id;\n\n /// @notice Creator of the proposal\n address proposer;\n\n /// @notice The timestamp that the proposal will be available for execution, set once the vote succeeds\n uint eta;\n\n /// @notice the ordered list of target addresses for calls to be made\n address[] targets;\n\n /// @notice The ordered list of values (i.e. msg.value) to be passed to the calls to be made\n uint[] values;\n\n /// @notice The ordered list of function signatures to be called\n string[] signatures;\n\n /// @notice The ordered list of calldata to be passed to each call\n bytes[] calldatas;\n\n /// @notice The block at which voting begins: holders must delegate their votes prior to this block\n uint startBlock;\n\n /// @notice The block at which voting ends: votes must be cast prior to this block\n uint endBlock;\n\n /// @notice Current number of votes in favor of this proposal\n uint forVotes;\n\n /// @notice Current number of votes in opposition to this proposal\n uint againstVotes;\n\n /// @notice Current number of votes for abstaining for this proposal\n uint abstainVotes;\n\n /// @notice Flag marking whether the proposal has been canceled\n bool canceled;\n\n /// @notice Flag marking whether the proposal has been executed\n bool executed;\n\n /// @notice Receipts of ballots for the entire set of voters\n mapping (address => Receipt) receipts;\n }\n\n /// @notice Ballot receipt record for a voter\n struct Receipt {\n /// @notice Whether or not a vote has been cast\n bool hasVoted;\n\n /// @notice Whether or not the voter supports the proposal or abstains\n uint8 support;\n\n /// @notice The number of votes the voter had, which were cast\n uint96 votes;\n }\n\n /// @notice Possible states that a proposal may be in\n enum ProposalState {\n Pending,\n Active,\n Canceled,\n Defeated,\n Succeeded,\n Queued,\n Expired,\n Executed\n }\n}\n\ninterface TimelockInterface {\n function delay() external view returns (uint);\n function GRACE_PERIOD() external view returns (uint);\n function acceptAdmin() external;\n function queuedTransactions(bytes32 hash) external view returns (bool);\n function queueTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external returns (bytes32);\n function cancelTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external;\n function executeTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external payable returns (bytes memory);\n}\n\ninterface UniInterface {\n function getPriorVotes(address account, uint blockNumber) external view returns (uint96);\n}\n\ninterface GovernorAlpha {\n /// @notice The total number of proposals\n function proposalCount() external returns (uint);\n}" } ], "abi": [ { "type": "constructor", "name": "", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "timelock_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "uni_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "admin_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "implementation_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "votingPeriod_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votingDelay_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposalThreshold_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "function", "name": "MIN_PROPOSAL_THRESHOLD", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "latestProposalIds", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "state", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "cancel", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "initialize", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "timelock_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "uni_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "votingPeriod_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votingDelay_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposalThreshold_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "_setProposalThreshold", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "newProposalThreshold", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "MIN_VOTING_DELAY", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "uni", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "proposalCount", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "proposalMaxOperations", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "DOMAIN_TYPEHASH", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ] }, { "type": "function", "name": "propose", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "targets", "type": "address[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "description", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "castVoteBySig", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "v", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "r", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "s", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ], "outputs": [] }, { "type": "function", "name": "_initiate", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalCount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "castVote", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "timelock", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "MAX_VOTING_DELAY", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "pendingAdmin", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "_acceptAdmin", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [], "outputs": [] }, { "type": "function", "name": "votingPeriod", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "_setPendingAdmin", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "newPendingAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [] }, { "type": "function", "name": "name", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ] }, { "type": "function", "name": "_setVotingPeriod", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "newVotingPeriod", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "MIN_VOTING_PERIOD", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "execute", "constant": false, "anonymous": false, "stateMutability": "payable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "getActions", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "targets", "type": "address[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } } ] }, { "type": "function", "name": "castVoteWithReason", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "reason", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": [] }, { "type": "function", "name": "initialProposalId", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "_setVotingDelay", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "newVotingDelay", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "admin", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "MAX_VOTING_PERIOD", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "getReceipt", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "voter", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "tuple", "storage_location": "default", "components": [ { "name": "hasVoted", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false } ] }, { "type": "function", "name": "MAX_PROPOSAL_THRESHOLD", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "proposalThreshold", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "BALLOT_TYPEHASH", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ] }, { "type": "function", "name": "_setImplementation", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "implementation_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [] }, { "type": "function", "name": "implementation", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "queue", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "quorumVotes", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "proposals", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "startBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "forVotes", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "againstVotes", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "abstainVotes", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "canceled", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "executed", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } } ] }, { "type": "function", "name": "votingDelay", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "event", "name": "ProposalQueued", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "NewPendingAdmin", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldPendingAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newPendingAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "ProposalCanceled", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "VotingDelaySet", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldVotingDelay", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newVotingDelay", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "ProposalCreated", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "targets", "type": "address[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "startBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "description", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": null }, { "type": "event", "name": "NewAdmin", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "NewImplementation", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldImplementation", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newImplementation", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "ProposalExecuted", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "VoteCast", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "voter", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "reason", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": null }, { "type": "event", "name": "ProposalThresholdSet", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldProposalThreshold", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newProposalThreshold", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "VotingPeriodSet", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldVotingPeriod", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newVotingPeriod", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null } ], "raw_abi": [ { "inputs": [ { "internalType": "address", "name": "timelock_", "type": "address" }, { "internalType": "address", "name": "uni_", "type": "address" }, { "internalType": "address", "name": "admin_", "type": "address" }, { "internalType": "address", "name": "implementation_", "type": "address" }, { "internalType": "uint256", "name": "votingPeriod_", "type": "uint256" }, { "internalType": "uint256", "name": "votingDelay_", "type": "uint256" }, { "internalType": "uint256", "name": "proposalThreshold_", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldImplementation", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newImplementation", "type": "address" } ], "name": "NewImplementation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldPendingAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "NewPendingAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ProposalCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "proposer", "type": "address" }, { "indexed": false, "internalType": "address[]", "name": "targets", "type": "address[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" }, { "indexed": false, "internalType": "string[]", "name": "signatures", "type": "string[]" }, { "indexed": false, "internalType": "bytes[]", "name": "calldatas", "type": "bytes[]" }, { "indexed": false, "internalType": "uint256", "name": "startBlock", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "endBlock", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "description", "type": "string" } ], "name": "ProposalCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ProposalExecuted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "ProposalQueued", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldProposalThreshold", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newProposalThreshold", "type": "uint256" } ], "name": "ProposalThresholdSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "voter", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "proposalId", "type": "uint256" }, { "indexed": false, "internalType": "uint8", "name": "support", "type": "uint8" }, { "indexed": false, "internalType": "uint256", "name": "votes", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "reason", "type": "string" } ], "name": "VoteCast", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldVotingDelay", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newVotingDelay", "type": "uint256" } ], "name": "VotingDelaySet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldVotingPeriod", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newVotingPeriod", "type": "uint256" } ], "name": "VotingPeriodSet", "type": "event" }, { "payable": true, "stateMutability": "payable", "type": "fallback" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "implementation_", "type": "address" } ], "name": "_setImplementation", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "implementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "pendingAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "states": [ { "name": "pendingAdmin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000001", "indexed": false, "simple_type": { "type": "address" } }, { "name": "implementation", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000002", "indexed": false, "simple_type": { "type": "address" } }, { "name": "initialProposalId", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000006", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "pendingAdmin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000001", "indexed": false, "simple_type": { "type": "address" } }, { "name": "admin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "uni", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000009", "indexed": false, "simple_type": { "type": "address" } }, { "name": "proposals", "type": "mapping (uint256 => tuple)", "storage_location": "memory", "components": [ { "name": "id", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000001", "indexed": false, "simple_type": { "type": "address" } }, { "name": "eta", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000002", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "targets", "type": "address[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000003", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000004", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000005", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000006", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "startBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000007", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000008", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "forVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000009", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "againstVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000a", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "abstainVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000b", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "canceled", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000c", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "executed", "type": "bool", "storage_location": "memory", "components": null, "offset": 8, "index": "0x000000000000000000000000000000000000000000000000000000000000000c", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "receipts", "type": "mapping (address => tuple)", "storage_location": "memory", "components": [ { "name": "hasVoted", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "support", "type": "uint8", "storage_location": "memory", "components": null, "offset": 8, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "memory", "components": null, "offset": 16, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000d", "indexed": false } ], "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000a", "indexed": false }, { "name": "implementation", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000002", "indexed": false, "simple_type": { "type": "address" } }, { "name": "votingPeriod", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000004", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposalCount", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000007", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "timelock", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000008", "indexed": false, "simple_type": { "type": "address" } }, { "name": "latestProposalIds", "type": "mapping (address => uint256)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000b", "indexed": false }, { "name": "votingDelay", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000003", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposalThreshold", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000005", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "admin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, "creation_block": 0, "creation_tx": "", "creator_address": "", "created_at": "2021-08-20T01:14:14Z", "language": "solidity", "in_project": false }, { "id": "eth:1:0x53a328f4086d7c0f1fa19e594c9b842125263026", "contract_id": "eth:1:0x53a328f4086d7c0f1fa19e594c9b842125263026", "balance": "", "network_id": "1", "public": true, "verified_by": "etherscan", "verification_date": null, "address": "0x53a328F4086d7C0F1Fa19e594c9b842125263026", "contract_name": "GovernorBravoDelegate", "ens_domain": null, "type": "contract", "evm_version": "", "compiler_version": "v0.5.16+commit.9c3226ce", "optimizations_used": true, "optimization_runs": 200, "libraries": null, "data": { "main_contract": 0, "contract_info": [ { "id": 0, "path": "contracts/GovernorBravoDelegate.sol", "name": "GovernorBravoDelegate.sol", "source": "pragma solidity ^0.5.16;\npragma experimental ABIEncoderV2;\n\nimport \"./GovernorBravoInterfaces.sol\";\n\ncontract GovernorBravoDelegate is GovernorBravoDelegateStorageV1, GovernorBravoEvents {\n\n /// @notice The name of this contract\n string public constant name = \"Uniswap Governor Bravo\";\n\n /// @notice The minimum setable proposal threshold\n uint public constant MIN_PROPOSAL_THRESHOLD = 1000000e18; // 1,000,000 Uni\n\n /// @notice The maximum setable proposal threshold\n uint public constant MAX_PROPOSAL_THRESHOLD = 10000000e18; //10,000,000 Uni\n\n /// @notice The minimum setable voting period\n uint public constant MIN_VOTING_PERIOD = 5760; // About 24 hours\n\n /// @notice The max setable voting period\n uint public constant MAX_VOTING_PERIOD = 80640; // About 2 weeks\n\n /// @notice The min setable voting delay\n uint public constant MIN_VOTING_DELAY = 1;\n\n /// @notice The max setable voting delay\n uint public constant MAX_VOTING_DELAY = 40320; // About 1 week\n\n /// @notice The number of votes in support of a proposal required in order for a quorum to be reached and for a vote to succeed\n uint public constant quorumVotes = 40000000e18; // 40,000,000 = 4% of Uni\n\n /// @notice The maximum number of actions that can be included in a proposal\n uint public constant proposalMaxOperations = 10; // 10 actions\n\n /// @notice The EIP-712 typehash for the contract's domain\n bytes32 public constant DOMAIN_TYPEHASH = keccak256(\"EIP712Domain(string name,uint256 chainId,address verifyingContract)\");\n\n /// @notice The EIP-712 typehash for the ballot struct used by the contract\n bytes32 public constant BALLOT_TYPEHASH = keccak256(\"Ballot(uint256 proposalId,uint8 support)\");\n\n /**\n * @notice Used to initialize the contract during delegator contructor\n * @param timelock_ The address of the Timelock\n * @param uni_ The address of the Uni token\n * @param votingPeriod_ The initial voting period\n * @param votingDelay_ The initial voting delay\n * @param proposalThreshold_ The initial proposal threshold\n */\n function initialize(address timelock_, address uni_, uint votingPeriod_, uint votingDelay_, uint proposalThreshold_) public {\n require(address(timelock) == address(0), \"GovernorBravo::initialize: can only initialize once\");\n require(msg.sender == admin, \"GovernorBravo::initialize: admin only\");\n require(timelock_ != address(0), \"GovernorBravo::initialize: invalid timelock address\");\n require(uni_ != address(0), \"GovernorBravo::initialize: invalid uni address\");\n require(votingPeriod_ >= MIN_VOTING_PERIOD && votingPeriod_ <= MAX_VOTING_PERIOD, \"GovernorBravo::initialize: invalid voting period\");\n require(votingDelay_ >= MIN_VOTING_DELAY && votingDelay_ <= MAX_VOTING_DELAY, \"GovernorBravo::initialize: invalid voting delay\");\n require(proposalThreshold_ >= MIN_PROPOSAL_THRESHOLD && proposalThreshold_ <= MAX_PROPOSAL_THRESHOLD, \"GovernorBravo::initialize: invalid proposal threshold\");\n\n timelock = TimelockInterface(timelock_);\n uni = UniInterface(uni_);\n votingPeriod = votingPeriod_;\n votingDelay = votingDelay_;\n proposalThreshold = proposalThreshold_;\n }\n\n /**\n * @notice Function used to propose a new proposal. Sender must have delegates above the proposal threshold\n * @param targets Target addresses for proposal calls\n * @param values Eth values for proposal calls\n * @param signatures Function signatures for proposal calls\n * @param calldatas Calldatas for proposal calls\n * @param description String description of the proposal\n * @return Proposal id of new proposal\n */\n function propose(address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas, string memory description) public returns (uint) {\n // Reject proposals before initiating as Governor\n require(initialProposalId != 0, \"GovernorBravo::propose: Governor Bravo not active\");\n require(uni.getPriorVotes(msg.sender, sub256(block.number, 1)) > proposalThreshold, \"GovernorBravo::propose: proposer votes below proposal threshold\");\n require(targets.length == values.length && targets.length == signatures.length && targets.length == calldatas.length, \"GovernorBravo::propose: proposal function information arity mismatch\");\n require(targets.length != 0, \"GovernorBravo::propose: must provide actions\");\n require(targets.length <= proposalMaxOperations, \"GovernorBravo::propose: too many actions\");\n\n uint latestProposalId = latestProposalIds[msg.sender];\n if (latestProposalId != 0) {\n ProposalState proposersLatestProposalState = state(latestProposalId);\n require(proposersLatestProposalState != ProposalState.Active, \"GovernorBravo::propose: one live proposal per proposer, found an already active proposal\");\n require(proposersLatestProposalState != ProposalState.Pending, \"GovernorBravo::propose: one live proposal per proposer, found an already pending proposal\");\n }\n\n uint startBlock = add256(block.number, votingDelay);\n uint endBlock = add256(startBlock, votingPeriod);\n\n proposalCount++;\n Proposal memory newProposal = Proposal({\n id: proposalCount,\n proposer: msg.sender,\n eta: 0,\n targets: targets,\n values: values,\n signatures: signatures,\n calldatas: calldatas,\n startBlock: startBlock,\n endBlock: endBlock,\n forVotes: 0,\n againstVotes: 0,\n abstainVotes: 0,\n canceled: false,\n executed: false\n });\n\n proposals[newProposal.id] = newProposal;\n latestProposalIds[newProposal.proposer] = newProposal.id;\n\n emit ProposalCreated(newProposal.id, msg.sender, targets, values, signatures, calldatas, startBlock, endBlock, description);\n return newProposal.id;\n }\n\n /**\n * @notice Queues a proposal of state succeeded\n * @param proposalId The id of the proposal to queue\n */\n function queue(uint proposalId) external {\n require(state(proposalId) == ProposalState.Succeeded, \"GovernorBravo::queue: proposal can only be queued if it is succeeded\");\n Proposal storage proposal = proposals[proposalId];\n uint eta = add256(block.timestamp, timelock.delay());\n for (uint i = 0; i < proposal.targets.length; i++) {\n queueOrRevertInternal(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], eta);\n }\n proposal.eta = eta;\n emit ProposalQueued(proposalId, eta);\n }\n\n function queueOrRevertInternal(address target, uint value, string memory signature, bytes memory data, uint eta) internal {\n require(!timelock.queuedTransactions(keccak256(abi.encode(target, value, signature, data, eta))), \"GovernorBravo::queueOrRevertInternal: identical proposal action already queued at eta\");\n timelock.queueTransaction(target, value, signature, data, eta);\n }\n\n /**\n * @notice Executes a queued proposal if eta has passed\n * @param proposalId The id of the proposal to execute\n */\n function execute(uint proposalId) external payable {\n require(state(proposalId) == ProposalState.Queued, \"GovernorBravo::execute: proposal can only be executed if it is queued\");\n Proposal storage proposal = proposals[proposalId];\n proposal.executed = true;\n for (uint i = 0; i < proposal.targets.length; i++) {\n timelock.executeTransaction.value(proposal.values[i])(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], proposal.eta);\n }\n emit ProposalExecuted(proposalId);\n }\n\n /**\n * @notice Cancels a proposal only if sender is the proposer, or proposer delegates dropped below proposal threshold\n * @param proposalId The id of the proposal to cancel\n */\n function cancel(uint proposalId) external {\n require(state(proposalId) != ProposalState.Executed, \"GovernorBravo::cancel: cannot cancel executed proposal\");\n\n Proposal storage proposal = proposals[proposalId];\n require(msg.sender == proposal.proposer || uni.getPriorVotes(proposal.proposer, sub256(block.number, 1)) < proposalThreshold, \"GovernorBravo::cancel: proposer above threshold\");\n\n proposal.canceled = true;\n for (uint i = 0; i < proposal.targets.length; i++) {\n timelock.cancelTransaction(proposal.targets[i], proposal.values[i], proposal.signatures[i], proposal.calldatas[i], proposal.eta);\n }\n\n emit ProposalCanceled(proposalId);\n }\n\n /**\n * @notice Gets actions of a proposal\n * @param proposalId the id of the proposal\n * @return Targets, values, signatures, and calldatas of the proposal actions\n */\n function getActions(uint proposalId) external view returns (address[] memory targets, uint[] memory values, string[] memory signatures, bytes[] memory calldatas) {\n Proposal storage p = proposals[proposalId];\n return (p.targets, p.values, p.signatures, p.calldatas);\n }\n\n /**\n * @notice Gets the receipt for a voter on a given proposal\n * @param proposalId the id of proposal\n * @param voter The address of the voter\n * @return The voting receipt\n */\n function getReceipt(uint proposalId, address voter) external view returns (Receipt memory) {\n return proposals[proposalId].receipts[voter];\n }\n\n /**\n * @notice Gets the state of a proposal\n * @param proposalId The id of the proposal\n * @return Proposal state\n */\n function state(uint proposalId) public view returns (ProposalState) {\n require(proposalCount >= proposalId && proposalId > initialProposalId, \"GovernorBravo::state: invalid proposal id\");\n Proposal storage proposal = proposals[proposalId];\n if (proposal.canceled) {\n return ProposalState.Canceled;\n } else if (block.number <= proposal.startBlock) {\n return ProposalState.Pending;\n } else if (block.number <= proposal.endBlock) {\n return ProposalState.Active;\n } else if (proposal.forVotes <= proposal.againstVotes || proposal.forVotes < quorumVotes) {\n return ProposalState.Defeated;\n } else if (proposal.eta == 0) {\n return ProposalState.Succeeded;\n } else if (proposal.executed) {\n return ProposalState.Executed;\n } else if (block.timestamp >= add256(proposal.eta, timelock.GRACE_PERIOD())) {\n return ProposalState.Expired;\n } else {\n return ProposalState.Queued;\n }\n }\n\n /**\n * @notice Cast a vote for a proposal\n * @param proposalId The id of the proposal to vote on\n * @param support The support value for the vote. 0=against, 1=for, 2=abstain\n */\n function castVote(uint proposalId, uint8 support) external {\n emit VoteCast(msg.sender, proposalId, support, castVoteInternal(msg.sender, proposalId, support), \"\");\n }\n\n /**\n * @notice Cast a vote for a proposal with a reason\n * @param proposalId The id of the proposal to vote on\n * @param support The support value for the vote. 0=against, 1=for, 2=abstain\n * @param reason The reason given for the vote by the voter\n */\n function castVoteWithReason(uint proposalId, uint8 support, string calldata reason) external {\n emit VoteCast(msg.sender, proposalId, support, castVoteInternal(msg.sender, proposalId, support), reason);\n }\n\n /**\n * @notice Cast a vote for a proposal by signature\n * @dev External function that accepts EIP-712 signatures for voting on proposals.\n */\n function castVoteBySig(uint proposalId, uint8 support, uint8 v, bytes32 r, bytes32 s) external {\n bytes32 domainSeparator = keccak256(abi.encode(DOMAIN_TYPEHASH, keccak256(bytes(name)), getChainIdInternal(), address(this)));\n bytes32 structHash = keccak256(abi.encode(BALLOT_TYPEHASH, proposalId, support));\n bytes32 digest = keccak256(abi.encodePacked(\"\\x19\\x01\", domainSeparator, structHash));\n address signatory = ecrecover(digest, v, r, s);\n require(signatory != address(0), \"GovernorBravo::castVoteBySig: invalid signature\");\n emit VoteCast(signatory, proposalId, support, castVoteInternal(signatory, proposalId, support), \"\");\n }\n\n /**\n * @notice Internal function that caries out voting logic\n * @param voter The voter that is casting their vote\n * @param proposalId The id of the proposal to vote on\n * @param support The support value for the vote. 0=against, 1=for, 2=abstain\n * @return The number of votes cast\n */\n function castVoteInternal(address voter, uint proposalId, uint8 support) internal returns (uint96) {\n require(state(proposalId) == ProposalState.Active, \"GovernorBravo::castVoteInternal: voting is closed\");\n require(support <= 2, \"GovernorBravo::castVoteInternal: invalid vote type\");\n Proposal storage proposal = proposals[proposalId];\n Receipt storage receipt = proposal.receipts[voter];\n require(receipt.hasVoted == false, \"GovernorBravo::castVoteInternal: voter already voted\");\n uint96 votes = uni.getPriorVotes(voter, proposal.startBlock);\n\n if (support == 0) {\n proposal.againstVotes = add256(proposal.againstVotes, votes);\n } else if (support == 1) {\n proposal.forVotes = add256(proposal.forVotes, votes);\n } else if (support == 2) {\n proposal.abstainVotes = add256(proposal.abstainVotes, votes);\n }\n\n receipt.hasVoted = true;\n receipt.support = support;\n receipt.votes = votes;\n\n return votes;\n }\n\n /**\n * @notice Admin function for setting the voting delay\n * @param newVotingDelay new voting delay, in blocks\n */\n function _setVotingDelay(uint newVotingDelay) external {\n require(msg.sender == admin, \"GovernorBravo::_setVotingDelay: admin only\");\n require(newVotingDelay >= MIN_VOTING_DELAY && newVotingDelay <= MAX_VOTING_DELAY, \"GovernorBravo::_setVotingDelay: invalid voting delay\");\n uint oldVotingDelay = votingDelay;\n votingDelay = newVotingDelay;\n\n emit VotingDelaySet(oldVotingDelay,votingDelay);\n }\n\n /**\n * @notice Admin function for setting the voting period\n * @param newVotingPeriod new voting period, in blocks\n */\n function _setVotingPeriod(uint newVotingPeriod) external {\n require(msg.sender == admin, \"GovernorBravo::_setVotingPeriod: admin only\");\n require(newVotingPeriod >= MIN_VOTING_PERIOD && newVotingPeriod <= MAX_VOTING_PERIOD, \"GovernorBravo::_setVotingPeriod: invalid voting period\");\n uint oldVotingPeriod = votingPeriod;\n votingPeriod = newVotingPeriod;\n\n emit VotingPeriodSet(oldVotingPeriod, votingPeriod);\n }\n\n /**\n * @notice Admin function for setting the proposal threshold\n * @dev newProposalThreshold must be greater than the hardcoded min\n * @param newProposalThreshold new proposal threshold\n */\n function _setProposalThreshold(uint newProposalThreshold) external {\n require(msg.sender == admin, \"GovernorBravo::_setProposalThreshold: admin only\");\n require(newProposalThreshold >= MIN_PROPOSAL_THRESHOLD && newProposalThreshold <= MAX_PROPOSAL_THRESHOLD, \"GovernorBravo::_setProposalThreshold: invalid proposal threshold\");\n uint oldProposalThreshold = proposalThreshold;\n proposalThreshold = newProposalThreshold;\n\n emit ProposalThresholdSet(oldProposalThreshold, proposalThreshold);\n }\n\n /**\n * @notice Initiate the GovernorBravo contract\n * @dev Admin only. Sets initial proposal id which initiates the contract, ensuring a continuous proposal id count\n * @param proposalCount proposal id to initialize from\n */\n function _initiate(uint proposalCount) external {\n require(msg.sender == admin, \"GovernorBravo::_initiate: admin only\");\n require(initialProposalId == 0, \"GovernorBravo::_initiate: can only initiate once\");\n initialProposalId = proposalCount;\n timelock.acceptAdmin();\n }\n\n /**\n * @notice Begins transfer of admin rights. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer.\n * @dev Admin function to begin change of admin. The newPendingAdmin must call `_acceptAdmin` to finalize the transfer.\n * @param newPendingAdmin New pending admin.\n */\n function _setPendingAdmin(address newPendingAdmin) external {\n // Check caller = admin\n require(msg.sender == admin, \"GovernorBravo:_setPendingAdmin: admin only\");\n\n // Save current value, if any, for inclusion in log\n address oldPendingAdmin = pendingAdmin;\n\n // Store pendingAdmin with value newPendingAdmin\n pendingAdmin = newPendingAdmin;\n\n // Emit NewPendingAdmin(oldPendingAdmin, newPendingAdmin)\n emit NewPendingAdmin(oldPendingAdmin, newPendingAdmin);\n }\n\n /**\n * @notice Accepts transfer of admin rights. msg.sender must be pendingAdmin\n * @dev Admin function for pending admin to accept role and update admin\n */\n function _acceptAdmin() external {\n // Check caller is pendingAdmin and pendingAdmin ≠ address(0)\n require(msg.sender == pendingAdmin && msg.sender != address(0), \"GovernorBravo:_acceptAdmin: pending admin only\");\n\n // Save current values for inclusion in log\n address oldAdmin = admin;\n address oldPendingAdmin = pendingAdmin;\n\n // Store admin with value pendingAdmin\n admin = pendingAdmin;\n\n // Clear the pending value\n pendingAdmin = address(0);\n\n emit NewAdmin(oldAdmin, admin);\n emit NewPendingAdmin(oldPendingAdmin, pendingAdmin);\n }\n\n function add256(uint256 a, uint256 b) internal pure returns (uint) {\n uint c = a + b;\n require(c >= a, \"addition overflow\");\n return c;\n }\n\n function sub256(uint256 a, uint256 b) internal pure returns (uint) {\n require(b <= a, \"subtraction underflow\");\n return a - b;\n }\n\n function getChainIdInternal() internal pure returns (uint) {\n uint chainId;\n assembly { chainId := chainid() }\n return chainId;\n }\n}" }, { "id": 1, "path": "contracts/GovernorBravoInterfaces.sol", "name": "GovernorBravoInterfaces.sol", "source": "pragma solidity ^0.5.16;\npragma experimental ABIEncoderV2;\n\n\ncontract GovernorBravoEvents {\n /// @notice An event emitted when a new proposal is created\n event ProposalCreated(uint id, address proposer, address[] targets, uint[] values, string[] signatures, bytes[] calldatas, uint startBlock, uint endBlock, string description);\n\n /// @notice An event emitted when a vote has been cast on a proposal\n /// @param voter The address which casted a vote\n /// @param proposalId The proposal id which was voted on\n /// @param support Support value for the vote. 0=against, 1=for, 2=abstain\n /// @param votes Number of votes which were cast by the voter\n /// @param reason The reason given for the vote by the voter\n event VoteCast(address indexed voter, uint proposalId, uint8 support, uint votes, string reason);\n\n /// @notice An event emitted when a proposal has been canceled\n event ProposalCanceled(uint id);\n\n /// @notice An event emitted when a proposal has been queued in the Timelock\n event ProposalQueued(uint id, uint eta);\n\n /// @notice An event emitted when a proposal has been executed in the Timelock\n event ProposalExecuted(uint id);\n\n /// @notice An event emitted when the voting delay is set\n event VotingDelaySet(uint oldVotingDelay, uint newVotingDelay);\n\n /// @notice An event emitted when the voting period is set\n event VotingPeriodSet(uint oldVotingPeriod, uint newVotingPeriod);\n\n /// @notice Emitted when implementation is changed\n event NewImplementation(address oldImplementation, address newImplementation);\n\n /// @notice Emitted when proposal threshold is set\n event ProposalThresholdSet(uint oldProposalThreshold, uint newProposalThreshold);\n\n /// @notice Emitted when pendingAdmin is changed\n event NewPendingAdmin(address oldPendingAdmin, address newPendingAdmin);\n\n /// @notice Emitted when pendingAdmin is accepted, which means admin is updated\n event NewAdmin(address oldAdmin, address newAdmin);\n}\n\ncontract GovernorBravoDelegatorStorage {\n /// @notice Administrator for this contract\n address public admin;\n\n /// @notice Pending administrator for this contract\n address public pendingAdmin;\n\n /// @notice Active brains of Governor\n address public implementation;\n}\n\n\n/**\n * @title Storage for Governor Bravo Delegate\n * @notice For future upgrades, do not change GovernorBravoDelegateStorageV1. Create a new\n * contract which implements GovernorBravoDelegateStorageV1 and following the naming convention\n * GovernorBravoDelegateStorageVX.\n */\ncontract GovernorBravoDelegateStorageV1 is GovernorBravoDelegatorStorage {\n\n /// @notice The delay before voting on a proposal may take place, once proposed, in blocks\n uint public votingDelay;\n\n /// @notice The duration of voting on a proposal, in blocks\n uint public votingPeriod;\n\n /// @notice The number of votes required in order for a voter to become a proposer\n uint public proposalThreshold;\n\n /// @notice Initial proposal id set at become\n uint public initialProposalId;\n\n /// @notice The total number of proposals\n uint public proposalCount;\n\n /// @notice The address of the Uniswap Protocol Timelock\n TimelockInterface public timelock;\n\n /// @notice The address of the Uniswap governance token\n UniInterface public uni;\n\n /// @notice The official record of all proposals ever proposed\n mapping (uint => Proposal) public proposals;\n\n /// @notice The latest proposal for each proposer\n mapping (address => uint) public latestProposalIds;\n\n\n struct Proposal {\n /// @notice Unique id for looking up a proposal\n uint id;\n\n /// @notice Creator of the proposal\n address proposer;\n\n /// @notice The timestamp that the proposal will be available for execution, set once the vote succeeds\n uint eta;\n\n /// @notice the ordered list of target addresses for calls to be made\n address[] targets;\n\n /// @notice The ordered list of values (i.e. msg.value) to be passed to the calls to be made\n uint[] values;\n\n /// @notice The ordered list of function signatures to be called\n string[] signatures;\n\n /// @notice The ordered list of calldata to be passed to each call\n bytes[] calldatas;\n\n /// @notice The block at which voting begins: holders must delegate their votes prior to this block\n uint startBlock;\n\n /// @notice The block at which voting ends: votes must be cast prior to this block\n uint endBlock;\n\n /// @notice Current number of votes in favor of this proposal\n uint forVotes;\n\n /// @notice Current number of votes in opposition to this proposal\n uint againstVotes;\n\n /// @notice Current number of votes for abstaining for this proposal\n uint abstainVotes;\n\n /// @notice Flag marking whether the proposal has been canceled\n bool canceled;\n\n /// @notice Flag marking whether the proposal has been executed\n bool executed;\n\n /// @notice Receipts of ballots for the entire set of voters\n mapping (address => Receipt) receipts;\n }\n\n /// @notice Ballot receipt record for a voter\n struct Receipt {\n /// @notice Whether or not a vote has been cast\n bool hasVoted;\n\n /// @notice Whether or not the voter supports the proposal or abstains\n uint8 support;\n\n /// @notice The number of votes the voter had, which were cast\n uint96 votes;\n }\n\n /// @notice Possible states that a proposal may be in\n enum ProposalState {\n Pending,\n Active,\n Canceled,\n Defeated,\n Succeeded,\n Queued,\n Expired,\n Executed\n }\n}\n\ninterface TimelockInterface {\n function delay() external view returns (uint);\n function GRACE_PERIOD() external view returns (uint);\n function acceptAdmin() external;\n function queuedTransactions(bytes32 hash) external view returns (bool);\n function queueTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external returns (bytes32);\n function cancelTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external;\n function executeTransaction(address target, uint value, string calldata signature, bytes calldata data, uint eta) external payable returns (bytes memory);\n}\n\ninterface UniInterface {\n function getPriorVotes(address account, uint blockNumber) external view returns (uint96);\n}\n\ninterface GovernorAlpha {\n /// @notice The total number of proposals\n function proposalCount() external returns (uint);\n}" } ], "abi": [ { "type": "constructor", "name": "", "constant": false, "anonymous": false, "stateMutability": "", "inputs": null, "outputs": null }, { "type": "function", "name": "BALLOT_TYPEHASH", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ] }, { "type": "function", "name": "_setVotingPeriod", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "newVotingPeriod", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "_setProposalThreshold", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "newProposalThreshold", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "proposals", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "startBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "forVotes", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "againstVotes", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "abstainVotes", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "canceled", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "executed", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } } ] }, { "type": "function", "name": "uni", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "MIN_PROPOSAL_THRESHOLD", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "proposalCount", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "initialize", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "timelock_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "uni_", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "votingPeriod_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votingDelay_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposalThreshold_", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "pendingAdmin", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "admin", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "DOMAIN_TYPEHASH", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ] }, { "type": "function", "name": "votingPeriod", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "MAX_VOTING_DELAY", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "initialProposalId", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "cancel", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "_acceptAdmin", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [], "outputs": [] }, { "type": "function", "name": "quorumVotes", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "name", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ] }, { "type": "function", "name": "getActions", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "targets", "type": "address[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } } ] }, { "type": "function", "name": "propose", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "targets", "type": "address[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "description", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "state", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [ { "name": "", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "queue", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "getReceipt", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "voter", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "tuple", "storage_location": "default", "components": [ { "name": "hasVoted", "type": "bool", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false } ] }, { "type": "function", "name": "_initiate", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalCount", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "castVote", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "castVoteBySig", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "v", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "r", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } }, { "name": "s", "type": "bytes32", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bytes" } } ], "outputs": [] }, { "type": "function", "name": "MAX_PROPOSAL_THRESHOLD", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "_setVotingDelay", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "newVotingDelay", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "latestProposalIds", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "proposalMaxOperations", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "castVoteWithReason", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "reason", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": [] }, { "type": "function", "name": "implementation", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "execute", "constant": false, "anonymous": false, "stateMutability": "payable", "inputs": [ { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": [] }, { "type": "function", "name": "MAX_VOTING_PERIOD", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "MIN_VOTING_PERIOD", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "MIN_VOTING_DELAY", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "votingDelay", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "function", "name": "timelock", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, { "type": "function", "name": "_setPendingAdmin", "constant": false, "anonymous": false, "stateMutability": "nonpayable", "inputs": [ { "name": "newPendingAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": [] }, { "type": "function", "name": "proposalThreshold", "constant": true, "anonymous": false, "stateMutability": "view", "inputs": [], "outputs": [ { "name": "", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ] }, { "type": "event", "name": "NewImplementation", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldImplementation", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newImplementation", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "VoteCast", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "voter", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": true, "simple_type": { "type": "address" } }, { "name": "proposalId", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "support", "type": "uint8", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "reason", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": null }, { "type": "event", "name": "VotingPeriodSet", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldVotingPeriod", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newVotingPeriod", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "ProposalCanceled", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "ProposalCreated", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "targets", "type": "address[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "startBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "description", "type": "string", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "string" } } ], "outputs": null }, { "type": "event", "name": "ProposalQueued", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "eta", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "ProposalThresholdSet", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldProposalThreshold", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newProposalThreshold", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "NewAdmin", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "VotingDelaySet", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldVotingDelay", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "newVotingDelay", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null }, { "type": "event", "name": "NewPendingAdmin", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "oldPendingAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } }, { "name": "newPendingAdmin", "type": "address", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ], "outputs": null }, { "type": "event", "name": "ProposalExecuted", "constant": false, "anonymous": false, "stateMutability": "", "inputs": [ { "name": "id", "type": "uint256", "storage_location": "default", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "outputs": null } ], "raw_abi": [ { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldImplementation", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newImplementation", "type": "address" } ], "name": "NewImplementation", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "oldPendingAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "NewPendingAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ProposalCanceled", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "address", "name": "proposer", "type": "address" }, { "indexed": false, "internalType": "address[]", "name": "targets", "type": "address[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" }, { "indexed": false, "internalType": "string[]", "name": "signatures", "type": "string[]" }, { "indexed": false, "internalType": "bytes[]", "name": "calldatas", "type": "bytes[]" }, { "indexed": false, "internalType": "uint256", "name": "startBlock", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "endBlock", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "description", "type": "string" } ], "name": "ProposalCreated", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "ProposalExecuted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "eta", "type": "uint256" } ], "name": "ProposalQueued", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldProposalThreshold", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newProposalThreshold", "type": "uint256" } ], "name": "ProposalThresholdSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "voter", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "proposalId", "type": "uint256" }, { "indexed": false, "internalType": "uint8", "name": "support", "type": "uint8" }, { "indexed": false, "internalType": "uint256", "name": "votes", "type": "uint256" }, { "indexed": false, "internalType": "string", "name": "reason", "type": "string" } ], "name": "VoteCast", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldVotingDelay", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newVotingDelay", "type": "uint256" } ], "name": "VotingDelaySet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "oldVotingPeriod", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "newVotingPeriod", "type": "uint256" } ], "name": "VotingPeriodSet", "type": "event" }, { "constant": true, "inputs": [], "name": "BALLOT_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "DOMAIN_TYPEHASH", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_PROPOSAL_THRESHOLD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_VOTING_DELAY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MAX_VOTING_PERIOD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MIN_PROPOSAL_THRESHOLD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MIN_VOTING_DELAY", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "MIN_VOTING_PERIOD", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [], "name": "_acceptAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "proposalCount", "type": "uint256" } ], "name": "_initiate", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "newPendingAdmin", "type": "address" } ], "name": "_setPendingAdmin", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "newProposalThreshold", "type": "uint256" } ], "name": "_setProposalThreshold", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "newVotingDelay", "type": "uint256" } ], "name": "_setVotingDelay", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "newVotingPeriod", "type": "uint256" } ], "name": "_setVotingPeriod", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" } ], "name": "cancel", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" }, { "internalType": "uint8", "name": "support", "type": "uint8" } ], "name": "castVote", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" }, { "internalType": "uint8", "name": "support", "type": "uint8" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "castVoteBySig", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" }, { "internalType": "uint8", "name": "support", "type": "uint8" }, { "internalType": "string", "name": "reason", "type": "string" } ], "name": "castVoteWithReason", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" } ], "name": "execute", "outputs": [], "payable": true, "stateMutability": "payable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" } ], "name": "getActions", "outputs": [ { "internalType": "address[]", "name": "targets", "type": "address[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" }, { "internalType": "string[]", "name": "signatures", "type": "string[]" }, { "internalType": "bytes[]", "name": "calldatas", "type": "bytes[]" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" }, { "internalType": "address", "name": "voter", "type": "address" } ], "name": "getReceipt", "outputs": [ { "components": [ { "internalType": "bool", "name": "hasVoted", "type": "bool" }, { "internalType": "uint8", "name": "support", "type": "uint8" }, { "internalType": "uint96", "name": "votes", "type": "uint96" } ], "internalType": "struct GovernorBravoDelegateStorageV1.Receipt", "name": "", "type": "tuple" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "implementation", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "initialProposalId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address", "name": "timelock_", "type": "address" }, { "internalType": "address", "name": "uni_", "type": "address" }, { "internalType": "uint256", "name": "votingPeriod_", "type": "uint256" }, { "internalType": "uint256", "name": "votingDelay_", "type": "uint256" }, { "internalType": "uint256", "name": "proposalThreshold_", "type": "uint256" } ], "name": "initialize", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "latestProposalIds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "pendingAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "proposalCount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "proposalMaxOperations", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "proposalThreshold", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "proposals", "outputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "address", "name": "proposer", "type": "address" }, { "internalType": "uint256", "name": "eta", "type": "uint256" }, { "internalType": "uint256", "name": "startBlock", "type": "uint256" }, { "internalType": "uint256", "name": "endBlock", "type": "uint256" }, { "internalType": "uint256", "name": "forVotes", "type": "uint256" }, { "internalType": "uint256", "name": "againstVotes", "type": "uint256" }, { "internalType": "uint256", "name": "abstainVotes", "type": "uint256" }, { "internalType": "bool", "name": "canceled", "type": "bool" }, { "internalType": "bool", "name": "executed", "type": "bool" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "address[]", "name": "targets", "type": "address[]" }, { "internalType": "uint256[]", "name": "values", "type": "uint256[]" }, { "internalType": "string[]", "name": "signatures", "type": "string[]" }, { "internalType": "bytes[]", "name": "calldatas", "type": "bytes[]" }, { "internalType": "string", "name": "description", "type": "string" } ], "name": "propose", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": false, "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" } ], "name": "queue", "outputs": [], "payable": false, "stateMutability": "nonpayable", "type": "function" }, { "constant": true, "inputs": [], "name": "quorumVotes", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [ { "internalType": "uint256", "name": "proposalId", "type": "uint256" } ], "name": "state", "outputs": [ { "internalType": "enum GovernorBravoDelegateStorageV1.ProposalState", "name": "", "type": "uint8" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "timelock", "outputs": [ { "internalType": "contract TimelockInterface", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "uni", "outputs": [ { "internalType": "contract UniInterface", "name": "", "type": "address" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "votingDelay", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" }, { "constant": true, "inputs": [], "name": "votingPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "payable": false, "stateMutability": "view", "type": "function" } ], "states": [ { "name": "implementation", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000002", "indexed": false, "simple_type": { "type": "address" } }, { "name": "votingDelay", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000003", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votingPeriod", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000004", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "initialProposalId", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000006", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposalCount", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000007", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "uni", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000009", "indexed": false, "simple_type": { "type": "address" } }, { "name": "proposals", "type": "mapping (uint256 => tuple)", "storage_location": "memory", "components": [ { "name": "id", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aed", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "proposer", "type": "address", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aee", "indexed": false, "simple_type": { "type": "address" } }, { "name": "eta", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aef", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "targets", "type": "address[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af0", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "address" } } }, { "name": "values", "type": "uint256[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af1", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "uint" } } }, { "name": "signatures", "type": "string[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af2", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "string" } } }, { "name": "calldatas", "type": "bytes[]", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af3", "indexed": false, "simple_type": { "type": "slice", "nested_type": { "type": "bytes" } } }, { "name": "startBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af4", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "endBlock", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af5", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "forVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af6", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "againstVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af7", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "abstainVotes", "type": "uint256", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af8", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "canceled", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "executed", "type": "bool", "storage_location": "memory", "components": null, "offset": 8, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "receipts", "type": "mapping (address => tuple)", "storage_location": "memory", "components": [ { "name": "hasVoted", "type": "bool", "storage_location": "memory", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "bool" } }, { "name": "support", "type": "uint8", "storage_location": "memory", "components": null, "offset": 8, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "votes", "type": "uint96", "storage_location": "memory", "components": null, "offset": 16, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "uint" } } ], "offset": 0, "index": "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8afa", "indexed": false } ], "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000a", "indexed": false }, { "name": "pendingAdmin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000001", "indexed": false, "simple_type": { "type": "address" } }, { "name": "latestProposalIds", "type": "mapping (address => uint256)", "storage_location": "storage", "components": null, "offset": 0, "index": "0x000000000000000000000000000000000000000000000000000000000000000b", "indexed": false }, { "name": "proposalThreshold", "type": "uint256", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000005", "indexed": false, "simple_type": { "type": "uint" } }, { "name": "timelock", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000008", "indexed": false, "simple_type": { "type": "address" } }, { "name": "admin", "type": "address", "storage_location": "storage", "components": null, "offset": 0, "index": "0x0000000000000000000000000000000000000000000000000000000000000000", "indexed": false, "simple_type": { "type": "address" } } ] }, "creation_block": 0, "creation_tx": "", "creator_address": "", "created_at": "2021-08-20T00:59:45Z", "language": "solidity", "in_project": false } ], "generated_access_list": [ { "address": "0x53a328f4086d7c0f1fa19e594c9b842125263026" }, { "address": "0x1f9840a85d5af5bf1d1762f925bdaddc4201f984", "storage_keys": [ "0xc4642db200e4e0ab16cc123bf826b35ab3337cb9501706af9d7c4c60bab34dcc", "0x85b591ba9c42bb2aacdb55e3c80e0a79868a84a15663119bf1ac30ee383451a1", "0xbadf4d9ae6d3bd2d2810ec136f3f25ad1b0a470538d81bb7903ed8a7ac897a1f", "0x6dc2815183b03197c2ac296ff6addd655b9d31f64a2ec7afdae1aa23a9046a93" ] }, { "address": "0xd73a92be73efbfcf3854433a5fcbabf9c1316073" }, { "address": "0x1a9c8182c09f50c8318d769245bea52c32be35bc", "storage_keys": [ "0x84ac3bd0a37824918eec5042eb071eeff1cbc1b89f30fc15411fd078348f1ab6", "0x0000000000000000000000000000000000000000000000000000000000000000" ] }, { "address": "0x408ed6354d4973f66138c91495f2f2fcbd8724c3", "storage_keys": [ "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af5", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af9", "0xb4c1d5cbc1da9043c13aa6aec4bf2eae7d6abde420065610a74e0a6c13cddfa1", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af0", "0x0000000000000000000000000000000000000000000000000000000000000006", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aed", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af6", "0x0000000000000000000000000000000000000000000000000000000000000002", "0x0000000000000000000000000000000000000000000000000000000000000008", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aee", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af4", "0xa296ca53a46ee4fe6bf6de2bb147a71c48dc08af325090554f01351cf711ef6e", "0x0000000000000000000000000000000000000000000000000000000000000007", "0xb4c1d5cbc1da9043c13aa6aec4bf2eae7d6abde420065610a74e0a6c13cddf9f", "0xb4c1d5cbc1da9043c13aa6aec4bf2eae7d6abde420065610a74e0a6c13cddfa0", "0x0b1ce19f9fb4d322e5c877b812c90b633205af0d2592dc6285c3d4c4bf34bd50", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af2", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af8", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af3", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af7", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8af1", "0x82b2d0173d03b13e4e7d46e750a3f122cf234cb993a56177812ada75e566f2df", "0xd3ce9d6fea00544490082dc054530cfff7929294a86d25e10df71fc00c738e82", "0x3f84cf6cefe8166d7172cc41f23bd15f2ff6c4676631dd9620c8946b70ea8aef" ] } ] }, "proposal": { "id": { "type": "BigNumber", "hex": "0x32" }, "proposalId": { "type": "BigNumber", "hex": "0x32" }, "proposer": "0xD73a92Be73EfbFcF3854433A5FcbAbF9c1316073", "startBlock": { "type": "BigNumber", "hex": "0x0115f939" }, "endBlock": { "type": "BigNumber", "hex": "0x0115f93a" }, "description": "Transfer 100 UNI to 0xdead", "targets": [ "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984" ], "values": [ { "type": "BigNumber", "hex": "0x00" } ], "signatures": [ "" ], "calldatas": [ "0xa9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d63100000" ] }, "latestBlock": { "hash": "0x58cf409dcf0d88b0bba3aeca8e6e3836b937389a7aa87d8f967c55f1ae5df483", "parentHash": "0xedb3ee2b01ddb746475a37224706df8718dfc7f3779ae0e6a2afebc0ff472c15", "number": 18217373, "timestamp": 1695700091, "nonce": "0x0000000000000000", "difficulty": 0, "gasLimit": { "type": "BigNumber", "hex": "0x01c9c380" }, "gasUsed": { "type": "BigNumber", "hex": "0xafaa09" }, "miner": "0x1f9090aaE28b8a3dCeaDf281B0F12828e676c326", "extraData": "0x7273796e632d6275696c6465722e78797a", "transactions": [ "0x25c6e69c368924e6cd12bcacb4f59543a27e0efb7cdb92e27d91907b26b9fc92", "0x4aa8e5f5b1814a351fa98d835c163382ed155e1e1be8047ea4a7e23cf4b2002a", "0x97328b9ada0f0b72b4c825857bacf501c5e41864ac292857e395ba894fa6ddec", "0x153eee8a8a3f48c867d2444f70cb549b5cc468486c2c72891b343450e8f3bf77", "0x8435ee3d969296c8c0314f24ee38b8104c5d683f94de75483a060ee67b689a45", "0xcbbbc47d6eac09b7a3945f875270fb1f37a1b4cf62e7c3463adc844147666b50", "0x3b6513536ae8afb9e29ffdf3b2bc5d870faf2f5d0e8348eb184bf40b50f34aff", "0xb23ee9c0eac26e1a2bc9814aea03a2c9d7babb9531388e68c1fe25c87145af01", "0x415e6ce8739bdc7bc1a4bf8cda5d6bfe3b6d5a4741168f9cf08e40d16c23b7a1", "0x951695113fd49fb93e0eb8ab0d92f7076bf773564212946f2afa193e122dc928", "0xa98dbbae6ffa65f7499707c7c2477f383ca12ae3a14e83babc74028088335f34", "0xe5b1f1f006ce910eb56ada63de87b8f160c211ae017d1f9ebfe37343fc2a0b0c", "0x0571bd3b4c6965a37210507f67ae04ecd6da08ee5479203dbcf3880b711cc3e2", "0x7f03543f4a665ed4a3dfaff638ce65ed2270ccf2783113d0dc52ea808629677e", "0x80e548b73fc9c033d1406c4ad27d6b0f70425e0ed196f1a5d743d1d04db2acfb", "0xf05d58f62c618f7f3b0be28e24cdb4df2bb0ea6e607a8abe80ab47e9ca8268f0", "0x66ba64499b1b151305d79812de6f49f8d8389b2d310cb3da3185f5a45279bfc9", "0x0f55d489172552c075b5ee727006b253bef82db4749fe7e21f280406c08832ab", "0xb267164b3f8b14d60916d543b989ffd236eb2d74c480be5405d2cc65ce4c9444", "0xe3ba590b95251c87887a803e30af1abd38781e8b5aba8bb2286057ad871a99bf", "0x46005adb27e86eba12bfe8ddaee83e7a26b725f38fd8ac2736a6f52eb6dd82fe", "0x098b4176b7307e7a24ed7997db53b7928d910957c0c3b5c1a21a365c6f85f000", "0x59272b83d392ac27af48aec9da90d7ea66cefe8383450dcbd040b33890fca896", "0xa136369c640dd5c868c606b1cd8d37298fb103ece527ade8d3efabc0cd933427", "0xba1576a0a857b2ab4ead0568c9cca41baa1c849e9d97648f26b92fbba7ed27f3", "0x6258448722bf7506caa3134dfd517ccf3d9909bbcb788592570bd09d71cb0d0e", "0xa8a9f6c787e13f194f0fb56ce5746e170d9e050cb90e8a0f0239e583556578ec", "0xc3b2467de20f2cad1e2bb70a8c658f3d0e56e08f19b862429021f764800bc91d", "0xcf5a692951b5960b0d7f778272c61032e996402438115354ba530f8a8a17ff4d", "0x6a5bc3e39c27eefeb68c3d11690b252742bac6596a4c9729f4fc3748d6b651f8", "0xbe0306eeec18dac0bf640671a73692a69f6ce2bfcf5c2c58c103256a918ac4ad", "0xdc855d2501bd09305e1fcc075518809b7615b872bec3e69d985670f0adc5e73e", "0x9e9667c5a29def6f8018dc14617a642775bca822d6d49ae763371a7e9a46705e", "0xf738def59aa0e255676a170b4ed353092dddc1968275c49d92d0c56f4e833e25", "0xc1d264b38d1cf5607d4a6465c739983c822fd3e908a8ec8c15dcb8d7577f2e24", "0x68d6d5eabf2c1351ade0b62e656cb58a3534416da5141872a77e3a0fa3af1c67", "0x98749c7057f22e8695494a6892efb934a55bb8a9d7773ebd8a6758944ea54e6c", "0xf8fb5a9377ca741d357b957b1bed23789aa85035bd40128b9e8bb256db45ee38", "0xcd573ebcb9aac7216a23a54e3a060491744e274bf766fa47da91969fc8b63001", "0xe1b5bdbf4ab57bb509f751ef84df5a08ad0a4668c2f904d64cf9b24e5c0ee784", "0x7d38427adb8d69597d8668e576b7fdd437536a3be6b77ccdb07c8db2b06acc05", "0x0babc950958d8195c0fb48ae167526832a399cb65554bae514e50ca1c405d9a9", "0xc8ac1ca2761d55891ad2cb513e181c081fd7e14a8f4c2e7ad2dc526377444f5b", "0x1ceb275668c85e90808454c9df4ae3b6ddcb0dfd5d76a1f3b33fcb37d2ec4feb", "0x59013ab92d90cf64dfc51bf71e0fabd2e20e165ccfb8c8e131cfeba394fa6e1c", "0x38eec10a311e5e7a37c9bf0fb7faf06b09080da72f3cba7c28d58ab5e95358b2", "0xbd03f0de2a8f311af78fdeaa106c32d6621fc1ead8221c33f6b15389ef595241", "0xce30b528156da5aacee3ee1d1ed0a28ef3d2549e1ef087dad7a79cdf23a7e9c4", "0x5e9acbdbac207f5e4a9e409beb644dfbf18ee19a9a8d6d6c11bdfc49273e2f57", "0xfd02234a587d159a8e12b8cb5944fa85ac85e8047818c57d1c8f96d24b2106e9", "0xf58d5268d57cc5b02243d270a3a7b3e01b8cea0913ac95816a5ab684b5d2ecf3", "0x2b7b89df50ccb0627d2dabc7a31d7dee1ba1d034c403cacf662c6660736ff23e", "0x209b071c6e9a05fbda57ef091e2221624a77cc201047d5f65440d32372f7d697", "0xbdd76e6e3634d29d649bb1a22d66beda2bd92a31a33a15007be08b456b34acf4", "0xe2348fa4fe6feb9c4cd4e3e5e2b780f6b6c74c5c29c1e3622210f3b9fcb27a58", "0xd65e5aeece986cb353ae94e9f438c5bd46e53a3aff39fcf5998a445831f60606", "0x40a429d3cf432f4d2568fd2cc784f3af7296efe1d74760e64e241106983b3e22", "0x7697ca1f89ba6fd5d8d10b88a35983ea71d8e20a61f4c57904999a6da28a0708", "0xfb96fd59495e815ff5c430473b6c15171ebe5da8ae4ba2ff11dc407042d61386", "0x37e420d68e8a2af43cd1abca52b7d4e930bbd0eb9666a10fbf10c2ad82bf69e0", "0x6ff25571ba8a7217f544aca01735fb7b00caea27e4f71b9706a49063def1c814", "0x97373276d9d1459e2ecebdc3934b48adc42baf447614c9c5b41441acc28126df", "0x6ea55eaaad4f3323dd5737023b77086e9520709d0eca716d67462e2afd722922", "0x4275bb11a884a8bfeb11a42e732c704dc83b115dc2a125fa000ebc957d52442d", "0xddcf4aa3d2553fec0b1df40dba87166b8f60584f02ef4d8e670e88c4185b2c8e", "0x25bedfbd3c8c0512b96d2645173613e42c12e90e8b7dfa9f7bc5909360cf32f5", "0x2d313a356d8ac46288aee3ae322d1f38d97a31d447a64436f5712c3917dccea6", "0xba3b2d4e75f3de37cd7e9417583af4969ac179c311dc77bbb69a1f20465bcd59", "0x94f56624441aad64e9d29d42a2e80ed0a719684a2db42b2aa2be9335cde2a673", "0x65306266eb2823c8bffed664f0511022fac783ea491ff22f2eae9161a36eb68b", "0xc3e529a687ff3d4250101b9cfa04da5ae0e2c74f8230ecd97da345376e2ca14c", "0x7e862e7f5c65cf65e8b25ff894d36272723deba317424d26c2d8afef1aea3680", "0x1cde4ef660fc757e89b26008f9936f92517b41565f6868c1319d8906c6c58a73", "0x2c0bb3e7bd7cc036b53c8cca136f52c67e01720a999b3042c51bf50a26a4340f", "0xfea97db53db38ede91c4cb56b3fb972b9f77590dd91afeb00f15eac908810386", "0x101f6894e528136cc88e02634dda9ba490bbb8b607261977acb5e7b93f7a627e", "0xa9a67b0b7f7cd8b0fd51b39d27ec7797c594188b0a21fcb320d18a9ed0bfff7e", "0x0a868770842349cf176160ca65a6a9e08963808c461e5ad728ed65a8e60733de", "0x8c0c772f789ed83e79aa47c637a7ee6f5dc811d45acabafb627d0d63f6e2c3b7", "0x591cd1ceb3113ba4cb615dd812dd6bc912d4ef127afe48aee6a9837d70629f45", "0xfd126a07d9b77e06388be2339ad2cd1ae48ec92017c1f7965fbc601a8a60b6a8", "0x7665f1d5045de1703ec288b34e2cc8fa69cece1fd5845f368f61084e54ea1ee8", "0x72ca292e53463b0a83c4c034d90cb9dfff38d9a4f7caa4babaaa08a0ee7e7ea7", "0x2fa1b4e81cd489239a6b91ea66a42e4e0e563cb1c3583525399da431808379f3", "0x2f86249027ed874013c78d2acb531bb698c1c4ec86f215fc976a8e879a19e144", "0x2ee55eedb7e3b6fa9a4cf38e3c8f5ed9b1625b5994dc283bbd8cfe34b4d44bb4", "0x37794cc5b95b812d31e3bb31b887f7358bcc3d4a2a9f4e7ab2e987c6725d419c", "0x67c22dd3be41e76c5824e518debc7c95bd45bab49d1a668da02763de09c8aaa7", "0x462a8d5d426b018d8afbe68991fe75e44329c93e45eb2f0ce85a0836f03123b6", "0xdaace1e3a3c21c1621a5c38fdd30a477a7f87ab58cb935ad39a59634f4ae1d5e", "0x6b05e07f095f3ef3a462876af126a10029600bbe34419fc67f6a8ee6fc956a8f", "0xa5ed86b96febc03db69f022aa7e1eaac533dd66e947851e4165da1bf6b0bcfea", "0x82942ffb8e67fffde3fbb584358007055d9db2f6d61edd3fc09255c0e85b00bd", "0x80b270f9a59344c83fab073c06187fe7d3aa814b0b5018174b2caf35941f1307", "0x0bded842d40ffde4f381059294fa0b437e544629e473dbc622f3a7277082ad5b", "0x4a2440396f795a6923ed9f99aec92670f1d780fbe6d47be0157eb3cf208353b1", "0xf5d2a213e69202fad0040289a297a75a8e37bda6bf239cd2d5562689b5cbf4cb", "0x796fd80a41fe9daef1cab4724815902e9cd44dafa8305b61b78c8493bce4ed39", "0x33808c41ed472937ba10bb93e23fc514942b1c12ba828821a96ac79e322367b4", "0x14d1f6a13f932158bdea64961374fd266d4a3a438489771dc6cb9fd957421b0c", "0xe42cffe3f49670c06291e48d2416407085609c185ac0b08abce4ba5729fc5cb4", "0xf36a35878541149f4ecf390e4acd7ab15fd33fbc159b6c3192552941d91fae0b", "0xc7e6902f5461a672f154bf02c0387310047aef5783f33bbb5b5a8d2829cbfda7", "0xb5c4cd6ceb931e6ca1bdac8af670b3737e6d19040c0620eab2b5e7e4ad0afee0", "0x65dc44421705a3b5f5166c3f7980594479fcdeb90ba848f5582be30a06469504", "0x6900abcc1f136e58d243877c27de65a04b437ea933c421ef3d114c366fa493d9", "0x62c3d95a6ff481803777475c8ca150db6484203cfaab188878bf7d7fbd7c09c5", "0x04cf21af1a1d87b5c8bc0f6b0fcc4f4371512061881cfceabe52d3ec05614112", "0x59aab0f3648e9ea4ac50c2619c573885bad4cbc8a4d1a44b8bf52c34373412db", "0xbae57554d2b6e21a0926bbb715148a58153c5a5a9a1514c22bf7b7c1cc61ca6b", "0x752dfc41d24f1ce4e9bc7f3d36d8ab48d888cf9c556eddf618b17cf7fa83249c", "0x342f5f55d1732cf913504a88a30d493a038cbfb7c782e9460b0a356d18d4425f", "0x29090b1c9df1f73c2f5dc0d4c8fbc5bd00d1ecd1a245a1e41be6370d1e334d75", "0x047776ab49a39da0cca4951fa8a78952b108b71237d7bbd969e252620e25040d", "0x59c51cd04d4e1b4a89388c608c4fb91760b8614fcac732369af015d5aba388b9", "0xcdc751f97d5fdbf5289c7efc4cb9f187fbbf972f67d21531fd4737a91df3e7ba", "0x6b64672c793747ed23aa7842d79283ba33cdf8e3e65833eed763820a7f3d2e8a", "0xe509a8f569f36fb3e6d6e976c45356bb1ee89edf489885aea4e3a8b4c17fd0a8", "0xc350fde48ee31c66ec484303b3ed44e58be048670d7aac4f17d010af1f680e69", "0x8099fcd00d13a1983650890090202c1a2b61f24a45b294d0df9bef5e1e22d20d", "0xbe35c6ad8f40dece947a7d9f56d6a551a142f904cc517d58753735496cc90f95", "0xa89e28de95db14f73cf4d944dbfd14781848c117ea159791a0e9838df5cf3cd5", "0x0ad0d2992f292c2dd7859d36d49917f540c0561b8f1587f070eb198e503d3b1e", "0xdd1c4f7deb087a1c56b3427fcfdc0b1b18cc3ea6a2b8fb2de57d9ff55ebe5c0e", "0xf9ed08e73d12be2f47dddb584d33aa2bdd7ed72ba2cb5f90a676cbabd0d36c87", "0xa4c070160894ca183ae7f072f31b89d9cbddd79fdf36f13da1f021b3eecf9ddb", "0x9aa6a37c7d4015aee5d9522e264bc10ef0ce1247b1b3661f0694afc0c5b6b740", "0x8ad2e93a4bafc952e20cbdf50d34dcc8c4336637cd36e9b8a855303d7caaff3e", "0xb80f49711ea1be82191aed6844e71dd9d73b20fd5f363460ee8f6b2f1edcda4c", "0xad09ecc7f125a5b3cbf955df5b1d47b2b94927ba46495fc36243a3fe449236b7", "0x492eb4a248e56c1fc93c118ec6df54be3275359aa9d93d8eaf7815e9dd90ca20", "0x21e9f8507f8985191733eb1b628ee2d6789b3f790d9b48f3ff35d802a5017729", "0xfa12fed3f62c80ea7f15afe67c3dd86188208d694f74422a61821f0dc908d998", "0xd1c08de6e0423d429b60d5d19aca87668b7577e776497f32f85c3ae88089f428", "0x71e823649b1d1075d87f8c4a2510452999a622f2fd0e9430fc73eacb77bfb1d1", "0x8d3a981adc149fb7cf2265c4699d08a8ca038be24adc3c77a825ac1ed7f71bb3" ], "baseFeePerGas": { "type": "BigNumber", "hex": "0x02612ebfd2" }, "_difficulty": { "type": "BigNumber", "hex": "0x00" } }, "config": { "type": "new", "daoName": "Uniswap", "governorType": "bravo", "governorAddress": "0x408ED6354d4973f66138C91495F2f2FCbd8724C3", "targets": [ "0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984" ], "values": [ 0 ], "signatures": [ "" ], "calldatas": [ "0xa9059cbb000000000000000000000000dead00000000000000000000000000000000dead0000000000000000000000000000000000000000000000056bc75e2d63100000" ], "description": "Transfer 100 UNI to 0xdead" } } ]