{ "_format": "hh-sol-artifact-1", "contractName": "Treasury", "sourceName": "contracts/Treasury.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "_treasuryHandler", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_handler", "type": "address" } ], "name": "TreasuryHandlerUpdated", "type": "event" }, { "inputs": [], "name": "getProposalNonce", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "proposalNonce", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "tokenAddress", "type": "address" }, { "internalType": "address payable", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amountToRescue", "type": "uint256" }, { "internalType": "uint32", "name": "nonce", "type": "uint32" } ], "name": "rescueTokens", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newHandler", "type": "address" }, { "internalType": "uint32", "name": "nonce", "type": "uint32" } ], "name": "setHandler", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "stateMutability": "payable", "type": "receive" } ], "bytecode": "0x608060405234801561001057600080fd5b50604051610b0f380380610b0f83398101604081905261002f916100bc565b6001600160a01b0381166100975760405162461bcd60e51b815260206004820152602560248201527f54726561737572793a2054726561737572792048616e646c65722063616e2774604482015264020626520360dc1b606482015260840160405180910390fd5b600180546001600160a01b0319166001600160a01b03929092169190911790556100ec565b6000602082840312156100ce57600080fd5b81516001600160a01b03811681146100e557600080fd5b9392505050565b610a14806100fb6000396000f3fe6080604052600436106100435760003560e01c80630b27fb9a1461004f578063622c77d91461007257806372c1ad0314610094578063cc3c74a1146100b457600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b506000545b60405190815260200160405180910390f35b34801561007e57600080fd5b5061009261008d36600461077f565b6100ca565b005b3480156100a057600080fd5b506100926100af3660046107d0565b610365565b3480156100c057600080fd5b5061006060005481565b6001546001600160a01b031633146100fd5760405162461bcd60e51b81526004016100f490610805565b60405180910390fd5b8063ffffffff1680600054106101255760405162461bcd60e51b81526004016100f490610862565b6000546101339060016108a5565b8111156101525760405162461bcd60e51b81526004016100f4906108cc565b60008190556001600160a01b0384166101c55760405162461bcd60e51b815260206004820152602f60248201527f54726561737572793a2043616e6e6f742073656e64206c69717569646974792060448201526e746f207a65726f206164647265737360881b60648201526084016100f4565b306001600160a01b0386160361022b5760405162461bcd60e51b815260206004820152602560248201527f54726561737572793a2043616e6e6f7420726573637565207772617070656420604482015264185cdcd95d60da1b60648201526084016100f4565b6001600160a01b0385166102bb574783811061027d576040516001600160a01b0386169085156108fc029086906000818181858888f19350505050158015610277573d6000803e3d6000fd5b506102b5565b6040516001600160a01b0386169082156108fc029083906000818181858888f193505050501580156102b3573d6000803e3d6000fd5b505b5061035e565b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa158015610302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103269190610929565b9050838110610348576103436001600160a01b0387168686610495565b61035c565b61035c6001600160a01b0387168683610495565b505b5050505050565b6001546001600160a01b0316331461038f5760405162461bcd60e51b81526004016100f490610805565b8063ffffffff1680600054106103b75760405162461bcd60e51b81526004016100f490610862565b6000546103c59060016108a5565b8111156103e45760405162461bcd60e51b81526004016100f4906108cc565b60008190556001600160a01b03831661043f5760405162461bcd60e51b815260206004820152601d60248201527f54726561737572793a2048616e646c65722063616e6e6f74206265203000000060448201526064016100f4565b600180546001600160a01b0319166001600160a01b0385169081179091556040519081527fd64709474b2b7511a8009e565185fb39031554a6eb9962ef785c97d8759f11d79060200160405180910390a1505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526104e79084906104ec565b505050565b6000610541826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166105be9092919063ffffffff16565b8051909150156104e7578080602001905181019061055f9190610942565b6104e75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016100f4565b60606105cd84846000856105d5565b949350505050565b6060824710156106365760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016100f4565b600080866001600160a01b03168587604051610652919061098f565b60006040518083038185875af1925050503d806000811461068f576040519150601f19603f3d011682016040523d82523d6000602084013e610694565b606091505b50915091506106a5878383876106b0565b979650505050505050565b6060831561071f578251600003610718576001600160a01b0385163b6107185760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016100f4565b50816105cd565b6105cd83838151156107345781518083602001fd5b8060405162461bcd60e51b81526004016100f491906109ab565b6001600160a01b038116811461076357600080fd5b50565b803563ffffffff8116811461077a57600080fd5b919050565b6000806000806080858703121561079557600080fd5b84356107a08161074e565b935060208501356107b08161074e565b9250604085013591506107c560608601610766565b905092959194509250565b600080604083850312156107e357600080fd5b82356107ee8161074e565b91506107fc60208401610766565b90509250929050565b60208082526039908201527f54726561737572793a2046756e6374696f6e2063616e206f6e6c79206265206360408201527f616c6c65642062792074726561737572792068616e646c657200000000000000606082015260800190565b60208082526023908201527f50726f706f73616c4e6f6e6365547261636b65723a20496e76616c6964206e6f6040820152626e636560e81b606082015260800190565b808201808211156108c657634e487b7160e01b600052601160045260246000fd5b92915050565b6020808252603a908201527f50726f706f73616c4e6f6e6365547261636b65723a204e6f6e6365206d75737460408201527f206e6f7420696e6372656d656e74206d6f7265207468616e2031000000000000606082015260800190565b60006020828403121561093b57600080fd5b5051919050565b60006020828403121561095457600080fd5b8151801515811461096457600080fd5b9392505050565b60005b8381101561098657818101518382015260200161096e565b50506000910152565b600082516109a181846020870161096b565b9190910192915050565b60208152600082518060208401526109ca81604085016020870161096b565b601f01601f1916919091016040019291505056fea264697066735822122024a5991820812443719a474fb98a87f8ae9f0ea5ea3496ec38fab1af87e1361f64736f6c63430008120033", "deployedBytecode": "0x6080604052600436106100435760003560e01c80630b27fb9a1461004f578063622c77d91461007257806372c1ad0314610094578063cc3c74a1146100b457600080fd5b3661004a57005b600080fd5b34801561005b57600080fd5b506000545b60405190815260200160405180910390f35b34801561007e57600080fd5b5061009261008d36600461077f565b6100ca565b005b3480156100a057600080fd5b506100926100af3660046107d0565b610365565b3480156100c057600080fd5b5061006060005481565b6001546001600160a01b031633146100fd5760405162461bcd60e51b81526004016100f490610805565b60405180910390fd5b8063ffffffff1680600054106101255760405162461bcd60e51b81526004016100f490610862565b6000546101339060016108a5565b8111156101525760405162461bcd60e51b81526004016100f4906108cc565b60008190556001600160a01b0384166101c55760405162461bcd60e51b815260206004820152602f60248201527f54726561737572793a2043616e6e6f742073656e64206c69717569646974792060448201526e746f207a65726f206164647265737360881b60648201526084016100f4565b306001600160a01b0386160361022b5760405162461bcd60e51b815260206004820152602560248201527f54726561737572793a2043616e6e6f7420726573637565207772617070656420604482015264185cdcd95d60da1b60648201526084016100f4565b6001600160a01b0385166102bb574783811061027d576040516001600160a01b0386169085156108fc029086906000818181858888f19350505050158015610277573d6000803e3d6000fd5b506102b5565b6040516001600160a01b0386169082156108fc029083906000818181858888f193505050501580156102b3573d6000803e3d6000fd5b505b5061035e565b6040516370a0823160e01b81523060048201526000906001600160a01b038716906370a0823190602401602060405180830381865afa158015610302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103269190610929565b9050838110610348576103436001600160a01b0387168686610495565b61035c565b61035c6001600160a01b0387168683610495565b505b5050505050565b6001546001600160a01b0316331461038f5760405162461bcd60e51b81526004016100f490610805565b8063ffffffff1680600054106103b75760405162461bcd60e51b81526004016100f490610862565b6000546103c59060016108a5565b8111156103e45760405162461bcd60e51b81526004016100f4906108cc565b60008190556001600160a01b03831661043f5760405162461bcd60e51b815260206004820152601d60248201527f54726561737572793a2048616e646c65722063616e6e6f74206265203000000060448201526064016100f4565b600180546001600160a01b0319166001600160a01b0385169081179091556040519081527fd64709474b2b7511a8009e565185fb39031554a6eb9962ef785c97d8759f11d79060200160405180910390a1505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526104e79084906104ec565b505050565b6000610541826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166105be9092919063ffffffff16565b8051909150156104e7578080602001905181019061055f9190610942565b6104e75760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b60648201526084016100f4565b60606105cd84846000856105d5565b949350505050565b6060824710156106365760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b60648201526084016100f4565b600080866001600160a01b03168587604051610652919061098f565b60006040518083038185875af1925050503d806000811461068f576040519150601f19603f3d011682016040523d82523d6000602084013e610694565b606091505b50915091506106a5878383876106b0565b979650505050505050565b6060831561071f578251600003610718576001600160a01b0385163b6107185760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e747261637400000060448201526064016100f4565b50816105cd565b6105cd83838151156107345781518083602001fd5b8060405162461bcd60e51b81526004016100f491906109ab565b6001600160a01b038116811461076357600080fd5b50565b803563ffffffff8116811461077a57600080fd5b919050565b6000806000806080858703121561079557600080fd5b84356107a08161074e565b935060208501356107b08161074e565b9250604085013591506107c560608601610766565b905092959194509250565b600080604083850312156107e357600080fd5b82356107ee8161074e565b91506107fc60208401610766565b90509250929050565b60208082526039908201527f54726561737572793a2046756e6374696f6e2063616e206f6e6c79206265206360408201527f616c6c65642062792074726561737572792068616e646c657200000000000000606082015260800190565b60208082526023908201527f50726f706f73616c4e6f6e6365547261636b65723a20496e76616c6964206e6f6040820152626e636560e81b606082015260800190565b808201808211156108c657634e487b7160e01b600052601160045260246000fd5b92915050565b6020808252603a908201527f50726f706f73616c4e6f6e6365547261636b65723a204e6f6e6365206d75737460408201527f206e6f7420696e6372656d656e74206d6f7265207468616e2031000000000000606082015260800190565b60006020828403121561093b57600080fd5b5051919050565b60006020828403121561095457600080fd5b8151801515811461096457600080fd5b9392505050565b60005b8381101561098657818101518382015260200161096e565b50506000910152565b600082516109a181846020870161096b565b9190910192915050565b60208152600082518060208401526109ca81604085016020870161096b565b601f01601f1916919091016040019291505056fea264697066735822122024a5991820812443719a474fb98a87f8ae9f0ea5ea3496ec38fab1af87e1361f64736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} }