[ { "inputs": [ { "internalType": "address", "name": "token", "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": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Release", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Reward", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Staked", "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" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "user", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "Unstaked", "type": "event" }, { "inputs": [], "name": "DECIMALS", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "NAME", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SYMBOL", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "accumulatedRewards", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "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": [], "name": "binToken", "outputs": [ { "internalType": "contract IERC20", "name": "", "type": "address" } ], "stateMutability": "view", "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": [ { "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": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "ownedDividends", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "receiveFunds", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "user", "type": "address" } ], "name": "release", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "stake", "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": "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": "uint256", "name": "amount", "type": "uint256" } ], "name": "unstake", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "valueWhenLastReleased", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" } ]
60806040523480156200001157600080fd5b50604051620018813803806200188183398101604081905262000034916200017a565b604080518082018252600c81526b5374616b6564204b4954545960a01b602080830191825283518085019094526006845265734b4954545960d01b9084015281519192916200008691600391620000d4565b5080516200009c906004906020840190620000d4565b505060068054336001600160a01b031991821617909155600580549091166001600160a01b03939093169290921790915550620001e9565b828054620000e290620001ac565b90600052602060002090601f01602090048101928262000106576000855562000151565b82601f106200012157805160ff191683800117855562000151565b8280016001018555821562000151579182015b828111156200015157825182559160200191906001019062000134565b506200015f92915062000163565b5090565b5b808211156200015f576000815560010162000164565b6000602082840312156200018d57600080fd5b81516001600160a01b0381168114620001a557600080fd5b9392505050565b600181811c90821680620001c157607f821691505b60208210811415620001e357634e487b7160e01b600052602260045260246000fd5b50919050565b61168880620001f96000396000f3fe6080604052600436106101745760003560e01c806370a08231116100cb578063a66e45621161007f578063dd62ed3e11610059578063dd62ed3e1461041c578063f76f8d781461046f578063fe4fdc4e146104b857600080fd5b8063a66e4562146103bc578063a694fc3a146103dc578063a9059cbb146103fc57600080fd5b80639c81ff6b116100b05780639c81ff6b1461033d578063a3f4df7e14610353578063a457c2d71461039c57600080fd5b806370a08231146102e557806395d89b411461032857600080fd5b806323b872dd1161012d578063313ce56711610107578063313ce5671461028457806339509351146102985780636043f108146102b857600080fd5b806323b872dd1461021d5780632e0f26251461023d5780632e17de781461026457600080fd5b8063095ea7b31161015e578063095ea7b3146101ae57806318160ddd146101de57806319165587146101fd57600080fd5b80625c33e11461017957806306fdde0314610183575b600080fd5b61018161050a565b005b34801561018f57600080fd5b506101986105d0565b6040516101a59190611396565b60405180910390f35b3480156101ba57600080fd5b506101ce6101c9366004611432565b610662565b60405190151581526020016101a5565b3480156101ea57600080fd5b506002545b6040519081526020016101a5565b34801561020957600080fd5b5061018161021836600461145c565b610678565b34801561022957600080fd5b506101ce61023836600461147e565b610757565b34801561024957600080fd5b50610252601281565b60405160ff90911681526020016101a5565b34801561027057600080fd5b5061018161027f3660046114ba565b610828565b34801561029057600080fd5b506012610252565b3480156102a457600080fd5b506101ce6102b3366004611432565b6109ce565b3480156102c457600080fd5b506101ef6102d336600461145c565b60076020526000908152604090205481565b3480156102f157600080fd5b506101ef61030036600461145c565b73ffffffffffffffffffffffffffffffffffffffff1660009081526020819052604090205490565b34801561033457600080fd5b50610198610a17565b34801561034957600080fd5b506101ef60085481565b34801561035f57600080fd5b506101986040518060400160405280600c81526020017f5374616b6564204b49545459000000000000000000000000000000000000000081525081565b3480156103a857600080fd5b506101ce6103b7366004611432565b610a26565b3480156103c857600080fd5b506101ef6103d736600461145c565b610ae4565b3480156103e857600080fd5b506101816103f73660046114ba565b610b64565b34801561040857600080fd5b506101ce610417366004611432565b610cb2565b34801561042857600080fd5b506101ef6104373660046114d3565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260016020908152604080832093909416825291909152205490565b34801561047b57600080fd5b506101986040518060400160405280600681526020017f734b49545459000000000000000000000000000000000000000000000000000081525081565b3480156104c457600080fd5b506005546104e59073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101a5565b3461051460025490565b15610551576002546105326b033b2e3c9fd0803ce800000083611535565b61053c9190611572565b60085461054991906115ad565b60085561059a565b60065460405173ffffffffffffffffffffffffffffffffffffffff9091169082156108fc029083906000818181858888f19350505050158015610598573d6000803e3d6000fd5b505b6040518181527f3ac0594a85a20354f9dc74f33728416d19ce00d04a406c108cc2dcf2cecea1349060200160405180910390a150565b6060600380546105df906115c5565b80601f016020809104026020016040519081016040528092919081815260200182805461060b906115c5565b80156106585780601f1061062d57610100808354040283529160200191610658565b820191906000526020600020905b81548152906001019060200180831161063b57829003601f168201915b5050505050905090565b600061066f338484610cbf565b50600192915050565b6008546106825750565b600061068d82610ae4565b60085473ffffffffffffffffffffffffffffffffffffffff8416600090815260076020526040902055905080156107535760405173ffffffffffffffffffffffffffffffffffffffff83169082156108fc029083906000818181858888f19350505050158015610701573d6000803e3d6000fd5b508173ffffffffffffffffffffffffffffffffffffffff167ff6334794522b9db534a812aaae1af828a2e96aac68473b58e36d7d0bfd67477b8260405161074a91815260200190565b60405180910390a25b5050565b6000610764848484610e3f565b73ffffffffffffffffffffffffffffffffffffffff84166000908152600160209081526040808320338452909152902054828110156108105760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b61081d8533858403610cbf565b506001949350505050565b600081116108785760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e742073686f756c642062652067726561746572207468616e2030006044820152606401610807565b336000908152602081905260409020548111156108d75760405162461bcd60e51b815260206004820181905260248201527f43616e6e6f7420756e7374616b65206d6f7265207468616e2062616c616e63656044820152606401610807565b6108e033610678565b6108ea33826110b0565b6005546040517fa9059cbb0000000000000000000000000000000000000000000000000000000081523360048201526024810183905273ffffffffffffffffffffffffffffffffffffffff9091169063a9059cbb90604401602060405180830381600087803b15801561095c57600080fd5b505af1158015610970573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109949190611619565b5060405181815233907f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75906020015b60405180910390a250565b33600081815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909161066f918590610a129086906115ad565b610cbf565b6060600480546105df906115c5565b33600090815260016020908152604080832073ffffffffffffffffffffffffffffffffffffffff8616845290915281205482811015610acd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610807565b610ada3385858403610cbf565b5060019392505050565b73ffffffffffffffffffffffffffffffffffffffff81166000908152600760205260408120546008546b033b2e3c9fd0803ce800000091610b249161163b565b73ffffffffffffffffffffffffffffffffffffffff8416600090815260208190526040902054610b549190611535565b610b5e9190611572565b92915050565b60008111610bb45760405162461bcd60e51b815260206004820152601f60248201527f416d6f756e742073686f756c642062652067726561746572207468616e2030006044820152606401610807565b610bbd33610678565b6005546040517f23b872dd0000000000000000000000000000000000000000000000000000000081523360048201523060248201526044810183905273ffffffffffffffffffffffffffffffffffffffff909116906323b872dd90606401602060405180830381600087803b158015610c3557600080fd5b505af1158015610c49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c6d9190611619565b610c7657600080fd5b610c803382611272565b60405181815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d906020016109c3565b600061066f338484610e3f565b73ffffffffffffffffffffffffffffffffffffffff8316610d475760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610807565b73ffffffffffffffffffffffffffffffffffffffff8216610dd05760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610807565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b73ffffffffffffffffffffffffffffffffffffffff8316610ec85760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610807565b73ffffffffffffffffffffffffffffffffffffffff8216610f515760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610807565b610f5c838383611384565b73ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205481811015610ff85760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610807565b73ffffffffffffffffffffffffffffffffffffffff80851660009081526020819052604080822085850390559185168152908120805484929061103c9084906115ad565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516110a291815260200190565b60405180910390a350505050565b73ffffffffffffffffffffffffffffffffffffffff82166111395760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610807565b61114582600083611384565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260208190526040902054818110156111e15760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610807565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260208190526040812083830390556002805484929061121d90849061163b565b909155505060405182815260009073ffffffffffffffffffffffffffffffffffffffff8516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001610e32565b505050565b73ffffffffffffffffffffffffffffffffffffffff82166112d55760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610807565b6112e160008383611384565b80600260008282546112f391906115ad565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000908152602081905260408120805483929061132d9084906115ad565b909155505060405181815273ffffffffffffffffffffffffffffffffffffffff8316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35050565b61138d83610678565b61126d82610678565b600060208083528351808285015260005b818110156113c3578581018301518582016040015282016113a7565b818111156113d5576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b803573ffffffffffffffffffffffffffffffffffffffff8116811461142d57600080fd5b919050565b6000806040838503121561144557600080fd5b61144e83611409565b946020939093013593505050565b60006020828403121561146e57600080fd5b61147782611409565b9392505050565b60008060006060848603121561149357600080fd5b61149c84611409565b92506114aa60208501611409565b9150604084013590509250925092565b6000602082840312156114cc57600080fd5b5035919050565b600080604083850312156114e657600080fd5b6114ef83611409565b91506114fd60208401611409565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561156d5761156d611506565b500290565b6000826115a8577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b500490565b600082198211156115c0576115c0611506565b500190565b600181811c908216806115d957607f821691505b60208210811415611613577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b50919050565b60006020828403121561162b57600080fd5b8151801515811461147757600080fd5b60008282101561164d5761164d611506565b50039056fea2646970667358221220af24517e76c7adff81132f8771514218d88845fe1fccc546428ee6daa01b085864736f6c63430008080033000000000000000000000000bca7f1998dc9ffb70b086543a808960a460abca7