[ { "inputs": [ { "internalType": "uint256", "name": "totalSupply_", "type": "uint256" }, { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "admin_", "type": "address" }, { "internalType": "address", "name": "recoveryAdmin_", "type": "address" }, { "internalType": "uint256", "name": "timelockPeriod_", "type": "uint256" }, { "internalType": "address", "name": "lossless_", "type": "address" } ], "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": [], "name": "LosslessOff", "type": "event" }, { "anonymous": false, "inputs": [], "name": "LosslessOn", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_turnOffDate", "type": "uint256" } ], "name": "LosslessTurnOffProposal", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_newAdmin", "type": "address" } ], "name": "NewAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_newAdmin", "type": "address" } ], "name": "NewRecoveryAdmin", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "_candidate", "type": "address" } ], "name": "NewRecoveryAdminProposal", "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": "bytes", "name": "key", "type": "bytes" } ], "name": "acceptRecoveryAdminOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "admin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "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": "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": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "executeLosslessTurnOff", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "executeLosslessTurnOn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "getAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "isLosslessOn", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "lossless", "outputs": [ { "internalType": "contract ILssController", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "losslessTurnOffTimestamp", "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": "proposeLosslessTurnOff", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "recoveryAdmin", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "setLosslessAdmin", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "timelockPeriod", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": "from", "type": "address[]" } ], "name": "transferOutBlacklistedFunds", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "candidate", "type": "address" }, { "internalType": "bytes32", "name": "keyHash", "type": "bytes32" } ], "name": "transferRecoveryAdminOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
6080604052600b805460ff191660011790553480156200001e57600080fd5b5060405162001c8738038062001c87833981016040819052620000419162000325565b6200004d3388620000e9565b855162000062906003906020890190620001af565b50845162000078906004906020880190620001af565b50600880546001600160a01b039586166001600160a01b03199182161790915560058054948616948216949094179093556006805490931690925560006007819055600991909155600a55600b80549190921661010002610100600160a81b03199091161790555062000450915050565b6001600160a01b038216620001445760405162461bcd60e51b815260206004820181905260248201527f4c45524332303a206d696e7420746f20746865207a65726f2061646472657373604482015260640160405180910390fd5b8060026000828254620001589190620003d8565b90915550506001600160a01b038216600081815260208181526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b828054620001bd90620003fd565b90600052602060002090601f016020900481019282620001e157600085556200022c565b82601f10620001fc57805160ff19168380011785556200022c565b828001600101855582156200022c579182015b828111156200022c5782518255916020019190600101906200020f565b506200023a9291506200023e565b5090565b5b808211156200023a57600081556001016200023f565b80516001600160a01b03811681146200026d57600080fd5b919050565b600082601f83011262000283578081fd5b81516001600160401b0380821115620002a057620002a06200043a565b604051601f8301601f19908116603f01168101908282118183101715620002cb57620002cb6200043a565b81604052838152602092508683858801011115620002e7578485fd5b8491505b838210156200030a5785820183015181830184015290820190620002eb565b838211156200031b57848385830101525b9695505050505050565b600080600080600080600060e0888a03121562000340578283fd5b875160208901519097506001600160401b03808211156200035f578485fd5b6200036d8b838c0162000272565b975060408a015191508082111562000383578485fd5b50620003928a828b0162000272565b955050620003a36060890162000255565b9350620003b36080890162000255565b925060a08801519150620003ca60c0890162000255565b905092959891949750929550565b60008219821115620003f857634e487b7160e01b81526011600452602481fd5b500190565b600181811c908216806200041257607f821691505b602082108114156200043457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b61182780620004606000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c80636e9960c3116100f9578063a9059cbb11610097578063ccfa214f11610071578063ccfa214f14610377578063d6e242b814610384578063dd62ed3e1461038c578063f851a440146103c557600080fd5b8063a9059cbb14610349578063b38fe9571461035c578063b5c228771461036457600080fd5b806393310ffe116100d357806393310ffe14610308578063936af9111461031b57806395d89b411461032e578063a457c2d71461033657600080fd5b80636e9960c3146102bb57806370a08231146102cc57806379cc6790146102f557600080fd5b8063313ce5671161016657806342966c681161014057806342966c68146102845780635b8a194a146102975780635f6529a31461029f57806361086b00146102b257600080fd5b8063313ce5671461023257806334f6ebf514610241578063395093511461027157600080fd5b806306fdde03146101ae578063095ea7b3146101cc57806318160ddd146101ef57806323b872dd146102015780632baa3c9e146102145780632ecaf67514610229575b600080fd5b6101b66103d8565b6040516101c391906116b6565b60405180910390f35b6101df6101da366004611537565b61046a565b60405190151581526020016101c3565b6002545b6040519081526020016101c3565b6101df61020f3660046114fc565b6104fc565b6102276102223660046114a9565b610650565b005b6101f360095481565b604051601281526020016101c3565b600b546102599061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101c3565b6101df61027f366004611537565b610737565b61022761029236600461167a565b6107e9565b610227610873565b600554610259906001600160a01b031681565b6101f3600a5481565b6008546001600160a01b0316610259565b6101f36102da3660046114a9565b6001600160a01b031660009081526020819052604090205490565b610227610303366004611537565b610936565b610227610316366004611537565b610a3a565b610227610329366004611560565b610abd565b6101b6610c83565b6101df610344366004611537565b610c92565b6101df610357366004611537565b610dac565b610227610e33565b6102276103723660046115d0565b610f41565b600b546101df9060ff1681565b610227611051565b6101f361039a3660046114ca565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b600854610259906001600160a01b031681565b6060600380546103e79061176f565b80601f01602080910402602001604051908101604052809291908181526020018280546104139061176f565b80156104605780601f1061043557610100808354040283529160200191610460565b820191906000526020600020905b81548152906001019060200180831161044357829003601f168201915b5050505050905090565b600b546000908390839060ff16156104e657600b5461010090046001600160a01b03166347abf3be3384846040518463ffffffff1660e01b81526004016104b393929190611692565b600060405180830381600087803b1580156104cd57600080fd5b505af11580156104e1573d6000803e3d6000fd5b505050505b6104f133868661116d565b506001949350505050565b600b5460009084908490849060ff161561059857600b5461010090046001600160a01b031663379f5c69336040516001600160e01b031960e084901b1681526001600160a01b0391821660048201528187166024820152908516604482015260648101849052608401600060405180830381600087803b15801561057f57600080fd5b505af1158015610593573d6000803e3d6000fd5b505050505b6001600160a01b0387166000908152600160209081526040808320338452909152902054858110156106235760405162461bcd60e51b815260206004820152602960248201527f4c45524332303a207472616e7366657220616d6f756e74206578636565647320604482015268616c6c6f77616e636560b81b60648201526084015b60405180910390fd5b61062e8888886111cf565b610642883361063d8985611758565b61116d565b506001979650505050505050565b6005546001600160a01b0316336001600160a01b0316146106835760405162461bcd60e51b815260040161061a90611709565b6008546001600160a01b03828116911614156106e15760405162461bcd60e51b815260206004820152601f60248201527f4c45524332303a2043616e6e6f74207365742073616d65206164647265737300604482015260640161061a565b6040516001600160a01b038216907f71614071b88dee5e0b2ae578a9dd7b2ebbe9ae832ba419dc0242cd065a290b6c90600090a2600880546001600160a01b0319166001600160a01b0392909216919091179055565b600b546000908390839060ff16156107b357600b5461010090046001600160a01b031663cf5961bb3384846040518463ffffffff1660e01b815260040161078093929190611692565b600060405180830381600087803b15801561079a57600080fd5b505af11580156107ae573d6000803e3d6000fd5b505050505b3360008181526001602090815260408083206001600160a01b038a1684529091529020546104f19190879061063d908890611740565b33600b54829060ff161561086457600b54604051634a1fefbd60e01b81526001600160a01b0384811660048301526024820184905261010090920490911690634a1fefbd90604401600060405180830381600087803b15801561084b57600080fd5b505af115801561085f573d6000803e3d6000fd5b505050505b61086e3384611347565b505050565b6005546001600160a01b0316336001600160a01b0316146108a65760405162461bcd60e51b815260040161061a90611709565b600b5460ff16156108f95760405162461bcd60e51b815260206004820152601b60248201527f4c45524332303a204c6f73736c65737320616c7265616479206f6e0000000000604482015260640161061a565b6000600a819055600b805460ff191660011790556040517f1ba3b66404043da8297d0b876fa6464f2cb127edfc6626308046d4503028322b9190a1565b600b548290829060ff16156109b257600b54604051634a1fefbd60e01b81526001600160a01b0384811660048301526024820184905261010090920490911690634a1fefbd90604401600060405180830381600087803b15801561099957600080fd5b505af11580156109ad573d6000803e3d6000fd5b505050505b60006109be853361039a565b905083811015610a1c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a206275726e20616d6f756e74206578636565647320616c6c6f77604482015263616e636560e01b606482015260840161061a565b610a29853386840361116d565b610a338585611347565b5050505050565b6005546001600160a01b0316336001600160a01b031614610a6d5760405162461bcd60e51b815260040161061a90611709565b600680546001600160a01b0319166001600160a01b03841690811790915560078290556040517f6c591da8da2f6e69746d7d9ae61c27ee29fbe303798141b4942ae2aef54274b190600090a25050565b600b5461010090046001600160a01b0316336001600160a01b031614610b255760405162461bcd60e51b815260206004820152601e60248201527f4c45524332303a204f6e6c79206c6f73736c65737320636f6e74726163740000604482015260640161061a565b600b5460ff16610b775760405162461bcd60e51b815260206004820152601760248201527f4c45524332303a204c6f73736c657373206973206f6666000000000000000000604482015260640161061a565b806000805b82811015610c48576000858583818110610ba657634e487b7160e01b600052603260045260246000fd5b9050602002016020810190610bbb91906114a9565b6001600160a01b03811660009081526020819052604081208054919055909150610be58185611740565b600b546040518381529195506001600160a01b03610100909104811691908416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a350508080610c40906117aa565b915050610b7c565b50600b5461010090046001600160a01b031660009081526020819052604081208054839290610c78908490611740565b909155505050505050565b6060600480546103e79061176f565b600b546000908390839060ff1615610d0e57600b5461010090046001600160a01b031663568c75a93384846040518463ffffffff1660e01b8152600401610cdb93929190611692565b600060405180830381600087803b158015610cf557600080fd5b505af1158015610d09573d6000803e3d6000fd5b505050505b3360009081526001602090815260408083206001600160a01b038916845290915290205484811015610d915760405162461bcd60e51b815260206004820152602660248201527f4c45524332303a2064656372656173656420616c6c6f77616e63652062656c6f60448201526577207a65726f60d01b606482015260840161061a565b610da0338761063d8885611758565b50600195945050505050565b600b546000908390839060ff1615610e2857600b5461010090046001600160a01b0316631ffb811f3384846040518463ffffffff1660e01b8152600401610df593929190611692565b600060405180830381600087803b158015610e0f57600080fd5b505af1158015610e23573d6000803e3d6000fd5b505050505b6104f13386866111cf565b6005546001600160a01b0316336001600160a01b031614610e665760405162461bcd60e51b815260040161061a90611709565b600a54610eb55760405162461bcd60e51b815260206004820152601c60248201527f4c45524332303a205475726e4f6666206e6f742070726f706f73656400000000604482015260640161061a565b42600a541115610f075760405162461bcd60e51b815260206004820152601d60248201527f4c45524332303a2054696d65206c6f636b20696e2070726f6772657373000000604482015260640161061a565b600b805460ff191690556000600a8190556040517f3eb72350c9c7928d31e9ab450bfff2c159434aa4b82658a7d8eae7f109cb4e7b9190a1565b6006546001600160a01b0316336001600160a01b031614610fa45760405162461bcd60e51b815260206004820152601960248201527f4c45524332303a204d7573742062652063616e64697461746500000000000000604482015260640161061a565b6007548151602083012014610ff15760405162461bcd60e51b81526020600482015260136024820152724c45524332303a20496e76616c6964206b657960681b604482015260640161061a565b6006546040516001600160a01b03909116907fb94bba6936ec7f75ee931dadf6e1a4d66b43d09b6fa0178fb13df9b77fb5841f90600090a25060068054600580546001600160a01b03199081166001600160a01b03841617909155169055565b6005546001600160a01b0316336001600160a01b0316146110845760405162461bcd60e51b815260040161061a90611709565b600a54156110d45760405162461bcd60e51b815260206004820181905260248201527f4c45524332303a205475726e4f666620616c72656164792070726f706f736564604482015260640161061a565b600b5460ff166111265760405162461bcd60e51b815260206004820152601c60248201527f4c45524332303a204c6f73736c65737320616c7265616479206f666600000000604482015260640161061a565b6009546111339042611740565b600a8190556040519081527f6ca688e6e3ddd707280140b2bf0106afe883689b6c74e68cbd517576dd9c245a9060200160405180910390a1565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b0383166112345760405162461bcd60e51b815260206004820152602660248201527f4c45524332303a207472616e736665722066726f6d20746865207a65726f206160448201526564647265737360d01b606482015260840161061a565b6001600160a01b038316600090815260208190526040902054818110156112ad5760405162461bcd60e51b815260206004820152602760248201527f4c45524332303a207472616e7366657220616d6f756e7420657863656564732060448201526662616c616e636560c81b606482015260840161061a565b6112b78282611758565b6001600160a01b0380861660009081526020819052604080822093909355908516815290812080548492906112ed908490611740565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161133991815260200190565b60405180910390a350505050565b6001600160a01b0382166113a75760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b606482015260840161061a565b6001600160a01b0382166000908152602081905260409020548181101561141b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b606482015260840161061a565b6001600160a01b038316600090815260208190526040812083830390556002805484929061144a908490611758565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906020016111c2565b80356001600160a01b03811681146114a457600080fd5b919050565b6000602082840312156114ba578081fd5b6114c38261148d565b9392505050565b600080604083850312156114dc578081fd5b6114e58361148d565b91506114f36020840161148d565b90509250929050565b600080600060608486031215611510578081fd5b6115198461148d565b92506115276020850161148d565b9150604084013590509250925092565b60008060408385031215611549578182fd5b6115528361148d565b946020939093013593505050565b60008060208385031215611572578182fd5b823567ffffffffffffffff80821115611589578384fd5b818501915085601f83011261159c578384fd5b8135818111156115aa578485fd5b8660208260051b85010111156115be578485fd5b60209290920196919550909350505050565b6000602082840312156115e1578081fd5b813567ffffffffffffffff808211156115f8578283fd5b818401915084601f83011261160b578283fd5b81358181111561161d5761161d6117db565b604051601f8201601f19908116603f01168101908382118183101715611645576116456117db565b8160405282815287602084870101111561165d578586fd5b826020860160208301379182016020019490945295945050505050565b60006020828403121561168b578081fd5b5035919050565b6001600160a01b039384168152919092166020820152604081019190915260600190565b6000602080835283518082850152825b818110156116e2578581018301518582016040015282016116c6565b818111156116f35783604083870101525b50601f01601f1916929092016040019392505050565b6020808252601e908201527f4c45524332303a204d757374206265207265636f766572792061646d696e0000604082015260600190565b60008219821115611753576117536117c5565b500190565b60008282101561176a5761176a6117c5565b500390565b600181811c9082168061178357607f821691505b602082108114156117a457634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156117be576117be6117c5565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052604160045260246000fdfea2646970667358221220ef26649344012d412319fb731d2606a56605830893b34999b7e43abd2737021b64736f6c6343000804003300000000000000000000000000000000000000000052b7d2dcc80cd2e400000000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000120000000000000000000000000778bbef23885f6843c7c44b6a54128d0bf1acd5d000000000000000000000000793df19763056472d3173c0f4c3208fc132e8cb6000000000000000000000000000000000000000000000000000000000001518000000000000000000000000038d40f5c8375f84c5b90bc460a94a436d09133fb000000000000000000000000000000000000000000000000000000000000000a42617365204d616669610000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000054d41464941000000000000000000000000000000000000000000000000000000