[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" } ], "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": "account", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "interestChange", "type": "uint256" } ], "name": "Principle", "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": [], "name": "Manager", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "address", "name": "", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "interestChange", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "interestRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "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": [], "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": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "success", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" } ]
60806040526002805460ff19166009179055600060065534801561002257600080fd5b5060405161107d38038061107d833981016040819052610041916101e5565b60048054336001600160a01b031991821681179092556005805490911690911790556002546100749060ff16600a61034d565b61008290633b9aca00610360565b6003819055600480546001600160a01b03908116600090815260076020908152604080832095909555925490911681526009909152908120805460ff191660011790556100cf8382610400565b5060016100dc8282610400565b506004546003546040519081526001600160a01b03909116906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350506104be565b634e487b7160e01b600052604160045260246000fd5b600082601f83011261015357600080fd5b81516001600160401b0381111561016c5761016c61012c565b604051601f8201601f19908116603f011681016001600160401b038111828210171561019a5761019a61012c565b6040528181528382016020018510156101b257600080fd5b60005b828110156101d1576020818601810151838301820152016101b5565b506000918101602001919091529392505050565b600080604083850312156101f857600080fd5b82516001600160401b0381111561020e57600080fd5b61021a85828601610142565b602085015190935090506001600160401b0381111561023857600080fd5b61024485828601610142565b9150509250929050565b634e487b7160e01b600052601160045260246000fd5b6001815b600184111561029f578085048111156102835761028361024e565b600184161561029157908102905b60019390931c928002610268565b935093915050565b6000826102b657506001610347565b816102c357506000610347565b81600181146102d957600281146102e3576102ff565b6001915050610347565b60ff8411156102f4576102f461024e565b50506001821b610347565b5060208310610133831016604e8410600b8410161715610322575081810a610347565b61032f6000198484610264565b80600019048211156103435761034361024e565b0290505b92915050565b600061035983836102a7565b9392505050565b80820281158282048414176103475761034761024e565b600181811c9082168061038b57607f821691505b6020821081036103ab57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156103fb57806000526020600020601f840160051c810160208510156103d85750805b601f840160051c820191505b818110156103f857600081556001016103e4565b50505b505050565b81516001600160401b038111156104195761041961012c565b61042d816104278454610377565b846103b1565b6020601f82116001811461046157600083156104495750848201515b600019600385901b1c1916600184901b1784556103f8565b600084815260208120601f198516915b828110156104915787850151825560209485019460019092019101610471565b50848210156104af5786840151600019600387901b60f8161c191681555b50505050600190811b01905550565b610bb0806104cd6000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063715018a61161009757806395d89b411161006657806395d89b4114610208578063a457c2d714610210578063a9059cbb14610223578063dd62ed3e1461023657600080fd5b8063715018a6146101b957806378357e53146101c15780637c3a00fd146101ec5780638da5cb5b146101f557600080fd5b806318160ddd116100d357806318160ddd1461015057806323b872dd14610167578063313ce5671461017a57806370a082311461019957600080fd5b806306fdde03146100fa578063095ea7b31461011857806311e330b21461013b575b600080fd5b610102610261565b60405161010f919061098c565b60405180910390f35b61012b6101263660046109f6565b6102ef565b604051901515815260200161010f565b61014e610149366004610a20565b61035c565b005b61015960035481565b60405190815260200161010f565b61012b610175366004610a39565b6103e5565b6002546101879060ff1681565b60405160ff909116815260200161010f565b6101596101a7366004610a76565b60076020526000908152604090205481565b61014e6104f4565b6005546101d4906001600160a01b031681565b6040516001600160a01b03909116815260200161010f565b61015960065481565b6004546101d4906001600160a01b031681565b6101026105b9565b61014e61021e3660046109f6565b6105c6565b61012b6102313660046109f6565b6106cd565b610159610244366004610a98565b600860209081526000928352604080842090915290825290205481565b6000805461026e90610acb565b80601f016020809104026020016040519081016040528092919081815260200182805461029a90610acb565b80156102e75780601f106102bc576101008083540402835291602001916102e7565b820191906000526020600020905b8154815290600101906020018083116102ca57829003601f168201915b505050505081565b3360008181526008602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061034a9086815260200190565b60405180910390a35060015b92915050565b6005546001600160a01b031633146103b35760405162461bcd60e51b815260206004820152601560248201527421b0b63632b91034b9903737ba103a3432903232bb60591b60448201526064015b60405180910390fd5b6005546001600160a01b0316600090815260076020526040812080548392906103dd908490610b1b565b909155505050565b6001600160a01b03831660009081526007602052604081205482111561043f5760405162461bcd60e51b815260206004820152600f60248201526e42616c616e636520746f6f206c6f7760881b60448201526064016103aa565b6001600160a01b03841660009081526008602090815260408083203384529091529020548211156104a65760405162461bcd60e51b8152602060048201526011602482015270416c6c6f77616e636520746f6f206c6f7760781b60448201526064016103aa565b6001600160a01b0384166000908152600860209081526040808320338452909152812080548492906104d9908490610b2e565b909155506104ea90508484846106e3565b5060019392505050565b6004546001600160a01b0316331461054e5760405162461bcd60e51b815260206004820152601760248201527f43616c6c6572206973206e6f7420746865206f776e657200000000000000000060448201526064016103aa565b6004546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600480546001600160a01b03166000908152600960205260409020805460ff1916905580546001600160a01b0319169055565b6001805461026e90610acb565b6005546001600160a01b031633146106185760405162461bcd60e51b815260206004820152601560248201527421b0b63632b91034b9903737ba103a3432903232bb60591b60448201526064016103aa565b60648111156106745760405162461bcd60e51b815260206004820152602260248201527f6d757374206265206c657373207468616e206f7220657175616c20746f203130604482015261302560f01b60648201526084016103aa565b6001600160a01b0382166000818152600a602052604090819020839055517fac2bbffe21c9f58713bd6a836343266607c645e14e40f19428ca2dbb5c5fa656906106c19084815260200190565b60405180910390a25050565b60006106da3384846106e3565b50600192915050565b6001600160a01b03821661072b5760405162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b60448201526064016103aa565b6001600160a01b0383166000908152600760205260409020548111156107855760405162461bcd60e51b815260206004820152600f60248201526e42616c616e636520746f6f206c6f7760881b60448201526064016103aa565b6001600160a01b03831660009081526009602052604081205460ff161580156107c757506001600160a01b03831660009081526009602052604090205460ff16155b15610862576001600160a01b0384166000908152600a602052604081205461082c576001600160a01b0384166000908152600a602052604090205461080e57600654610846565b6001600160a01b0384166000908152600a6020526040902054610846565b6001600160a01b0385166000908152600a60205260409020545b905060646108548285610b41565b61085e9190610b58565b9150505b600061086e8284610b2e565b6001600160a01b03861660009081526007602052604081208054929350859290919061089b908490610b2e565b90915550506001600160a01b038416600090815260076020526040812080548392906108c8908490610b1b565b909155505081156109385730600090815260076020526040812080548492906108f2908490610b1b565b909155505060405182815230906001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161097d91815260200190565b60405180910390a35050505050565b602081526000825180602084015260005b818110156109ba576020818601810151604086840101520161099d565b506000604082850101526040601f19601f83011684010191505092915050565b80356001600160a01b03811681146109f157600080fd5b919050565b60008060408385031215610a0957600080fd5b610a12836109da565b946020939093013593505050565b600060208284031215610a3257600080fd5b5035919050565b600080600060608486031215610a4e57600080fd5b610a57846109da565b9250610a65602085016109da565b929592945050506040919091013590565b600060208284031215610a8857600080fd5b610a91826109da565b9392505050565b60008060408385031215610aab57600080fd5b610ab4836109da565b9150610ac2602084016109da565b90509250929050565b600181811c90821680610adf57607f821691505b602082108103610aff57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561035657610356610b05565b8181038181111561035657610356610b05565b808202811582820484141761035657610356610b05565b600082610b7557634e487b7160e01b600052601260045260246000fd5b50049056fea2646970667358221220dd9fe34811eb1388e3317259ff7f04bde5f6f79c3622bb29489b1025eb131d9264736f6c634300081a003300000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000a5472756d70204c6172610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000095452554d504c4152410000000000000000000000000000000000000000000000