[ { "inputs": [], "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": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_spender", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balances", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "gov", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "id", "outputs": [ { "internalType": "string", "name": "_name", "type": "string" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_vault", "type": "address" }, { "internalType": "address", "name": "_settingsManager", "type": "address" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "isHandler", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_account", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_gov", "type": "address" } ], "name": "setGov", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_handler", "type": "address" }, { "internalType": "bool", "name": "_isActive", "type": "bool" } ], "name": "setHandler", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" } ], "name": "setInfo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "settingsManager", "outputs": [ { "internalType": "contract ISettingsManager", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_sender", "type": "address" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "vault", "outputs": [ { "internalType": "contract IVault", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b5060405180604001604052806002815260200161474d60f01b81525060405180604001604052806002815260200161474d60f01b81525060008282826200006762000061620000be60201b60201c565b620000c2565b82516200007c90600190602086019062000206565b5081516200009290600290602085019062000206565b506200009f338262000112565b5050600880546001600160a01b03191633179055506200031092505050565b3390565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216620001795760405162461bcd60e51b815260206004820152602360248201527f42617365546f6b656e3a206d696e7420746f20746865207a65726f206164647260448201526265737360e81b606482015260840160405180910390fd5b80600360008282546200018d9190620002ac565b90915550506001600160a01b03821660009081526004602052604081208054839290620001bc908490620002ac565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b8280546200021490620002d3565b90600052602060002090601f01602090048101928262000238576000855562000283565b82601f106200025357805160ff191683800117855562000283565b8280016001018555821562000283579182015b828111156200028357825182559160200191906001019062000266565b506200029192915062000295565b5090565b5b8082111562000291576000815560010162000296565b60008219821115620002ce57634e487b7160e01b600052601160045260246000fd5b500190565b600181811c90821680620002e857607f821691505b602082108114156200030a57634e487b7160e01b600052602260045260246000fd5b50919050565b61143380620003206000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063715018a6116100de578063a923fc4011610097578063cfad57a211610071578063cfad57a214610385578063dd62ed3e14610398578063f2fde38b146103d1578063fbfa77cf146103e457600080fd5b8063a923fc4014610341578063af640d0f14610354578063bb7dd5e61461037257600080fd5b8063715018a6146102e75780638da5cb5b146102ef57806395d89b41146103005780639cb7de4b146103085780639dc29fac1461031b578063a9059cbb1461032e57600080fd5b8063313ce56711610130578063313ce5671461022e57806340c10f191461024857806346ea87af1461025d578063485cc9551461028057806355b6ed5c1461029357806370a08231146102be57600080fd5b806306fdde0314610178578063095ea7b31461019657806312d43a51146101b957806318160ddd146101e457806323b872dd146101fb57806327e235e31461020e575b600080fd5b6101806103f7565b60405161018d9190611092565b60405180910390f35b6101a96101a4366004611103565b610485565b604051901515815260200161018d565b6008546101cc906001600160a01b031681565b6040516001600160a01b03909116815260200161018d565b6101ed60035481565b60405190815260200161018d565b6101a961020936600461112d565b61049b565b6101ed61021c366004611169565b60046020526000908152604090205481565b610236601281565b60405160ff909116815260200161018d565b61025b610256366004611103565b610686565b005b6101a961026b366004611169565b60096020526000908152604090205460ff1681565b61025b61028e366004611184565b61069c565b6101ed6102a1366004611184565b600560209081526000928352604080842090915290825290205481565b6101ed6102cc366004611169565b6001600160a01b031660009081526004602052604090205490565b61025b6106dd565b6000546001600160a01b03166101cc565b6101806106f1565b61025b6103163660046111c5565b6106fe565b61025b610329366004611103565b610773565b6101a961033c366004611103565b610785565b61025b61034f36600461129f565b6108bb565b604080518082019091526002815261474d60f01b6020820152610180565b6007546101cc906001600160a01b031681565b61025b610393366004611169565b6108ef565b6101ed6103a6366004611184565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b61025b6103df366004611169565b61095b565b6006546101cc906001600160a01b031681565b6001805461040490611303565b80601f016020809104026020016040519081016040528092919081815260200182805461043090611303565b801561047d5780601f106104525761010080835404028352916020019161047d565b820191906000526020600020905b81548152906001019060200180831161046057829003601f168201915b505050505081565b60006104923384846109d4565b50600192915050565b3360009081526009602052604081205460ff16156104c6576104be848484610a9b565b50600161067f565b6007546040516372777ee160e11b81526001600160a01b0385811660048301529091169063e4eefdc29060240160206040518083038186803b15801561050b57600080fd5b505afa15801561051f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610543919061133e565b6106715760075460408051633526931560e01b8152905142926001600160a01b0316916335269315916004808301926020929190829003018186803b15801561058b57600080fd5b505afa15801561059f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c3919061135b565b6006546040516377a46edd60e01b81526001600160a01b038881166004830152909116906377a46edd9060240160206040518083038186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610640919061135b565b61064a919061138a565b11156106715760405162461bcd60e51b8152600401610668906113a2565b60405180910390fd5b61067c848484610c1d565b90505b9392505050565b61068e610cf7565b6106988282610d51565b5050565b6106a4610cf7565b600680546001600160a01b038085166001600160a01b03199283161790925560078054928416929091169190911790556106988261095b565b6106e5610cf7565b6106ef6000610e3d565b565b6002805461040490611303565b6008546001600160a01b031633146107485760405162461bcd60e51b815260206004820152600d60248201526c23a69d103337b93134b23232b760991b6044820152606401610668565b6001600160a01b03919091166000908152600960205260409020805460ff1916911515919091179055565b61077b610cf7565b6106988282610e8d565b600042600760009054906101000a90046001600160a01b03166001600160a01b031663352693156040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d657600080fd5b505afa1580156107ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080e919061135b565b6006546040516377a46edd60e01b81523360048201526001600160a01b03909116906377a46edd9060240160206040518083038186803b15801561085157600080fd5b505afa158015610865573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610889919061135b565b610893919061138a565b11156108b15760405162461bcd60e51b8152600401610668906113a2565b61067f8383610fec565b6108c3610cf7565b81516108d6906001906020850190610ff9565b5080516108ea906002906020840190610ff9565b505050565b6008546001600160a01b031633146109395760405162461bcd60e51b815260206004820152600d60248201526c23a69d103337b93134b23232b760991b6044820152606401610668565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b610963610cf7565b6001600160a01b0381166109c85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610668565b6109d181610e3d565b50565b6001600160a01b038216610a395760405162461bcd60e51b815260206004820152602660248201527f42617365546f6b656e3a20617070726f766520746f20746865207a65726f206160448201526564647265737360d01b6064820152608401610668565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038216610b015760405162461bcd60e51b815260206004820152602760248201527f42617365546f6b656e3a207472616e7366657220746f20746865207a65726f206044820152666164647265737360c81b6064820152608401610668565b6001600160a01b038316600090815260046020526040902054811115610b7c5760405162461bcd60e51b815260206004820152602a60248201527f42617365546f6b656e3a207472616e7366657220616d6f756e7420657863656560448201526964732062616c616e636560b01b6064820152608401610668565b6001600160a01b03831660009081526004602052604081208054839290610ba49084906113e6565b90915550506001600160a01b03821660009081526004602052604081208054839290610bd190849061138a565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610a8e91815260200190565b6001600160a01b0383166000908152600560209081526040808320338452909152812054821115610ca55760405162461bcd60e51b815260206004820152602c60248201527f42617365546f6b656e3a207472616e7366657220616d6f756e7420657863656560448201526b647320616c6c6f77616e636560a01b6064820152608401610668565b6001600160a01b0384166000908152600560209081526040808320338452909152812054610cd49084906113e6565b9050610ce18533836109d4565b610cec858585610a9b565b506001949350505050565b6000546001600160a01b031633146106ef5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610668565b6001600160a01b038216610db35760405162461bcd60e51b815260206004820152602360248201527f42617365546f6b656e3a206d696e7420746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610668565b8060036000828254610dc5919061138a565b90915550506001600160a01b03821660009081526004602052604081208054839290610df290849061138a565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020015b60405180910390a35050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038216610ef15760405162461bcd60e51b815260206004820152602560248201527f42617365546f6b656e3a206275726e2066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610668565b6001600160a01b038216600090815260046020526040902054811115610f685760405162461bcd60e51b815260206004820152602660248201527f42617365546f6b656e3a206275726e20616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610668565b6001600160a01b03821660009081526004602052604081208054839290610f909084906113e6565b925050819055508060036000828254610fa991906113e6565b90915550506040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610e31565b6000610492338484610a9b565b82805461100590611303565b90600052602060002090601f016020900481019282611027576000855561106d565b82601f1061104057805160ff191683800117855561106d565b8280016001018555821561106d579182015b8281111561106d578251825591602001919060010190611052565b5061107992915061107d565b5090565b5b80821115611079576000815560010161107e565b600060208083528351808285015260005b818110156110bf578581018301518582016040015282016110a3565b818111156110d1576000604083870101525b50601f01601f1916929092016040019392505050565b80356001600160a01b03811681146110fe57600080fd5b919050565b6000806040838503121561111657600080fd5b61111f836110e7565b946020939093013593505050565b60008060006060848603121561114257600080fd5b61114b846110e7565b9250611159602085016110e7565b9150604084013590509250925092565b60006020828403121561117b57600080fd5b61067f826110e7565b6000806040838503121561119757600080fd5b6111a0836110e7565b91506111ae602084016110e7565b90509250929050565b80151581146109d157600080fd5b600080604083850312156111d857600080fd5b6111e1836110e7565b915060208301356111f1816111b7565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261122357600080fd5b813567ffffffffffffffff8082111561123e5761123e6111fc565b604051601f8301601f19908116603f01168101908282118183101715611266576112666111fc565b8160405283815286602085880101111561127f57600080fd5b836020870160208301376000602085830101528094505050505092915050565b600080604083850312156112b257600080fd5b823567ffffffffffffffff808211156112ca57600080fd5b6112d686838701611212565b935060208501359150808211156112ec57600080fd5b506112f985828601611212565b9150509250929050565b600181811c9082168061131757607f821691505b6020821081141561133857634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561135057600080fd5b815161067f816111b7565b60006020828403121561136d57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b6000821982111561139d5761139d611374565b500190565b60208082526024908201527f474d3a20636f6f6c646f776e206475726174696f6e206e6f74207965742070616040820152631cdcd95960e21b606082015260800190565b6000828210156113f8576113f8611374565b50039056fea264697066735822122022cd6ce4e5cb71b30e1e914c8c9c9e6a676aef1a859d151d4dd0d2e0db15edf864736f6c63430008090033