[ { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "uint256", "name": "initialSupply_", "type": "uint256" }, { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "farming_", "type": "address" }, { "internalType": "address", "name": "exchange_", "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": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "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": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "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": [], "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": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [ { "internalType": "address", "name": "toAddress", "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": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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" } ]
60806040523480156200001157600080fd5b506040516200184f3803806200184f8339810160408190526200003491620003eb565b8551869086906200004d90600390602085019062000275565b5080516200006390600490602084019062000275565b505050620000788385620000e260201b60201c565b62000085600084620001cb565b620000a06000805160206200182f83398151915284620001cb565b620000bb6000805160206200182f83398151915283620001cb565b620000d66000805160206200182f83398151915282620001cb565b5050505050506200050a565b6001600160a01b0382166200013d5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015260640160405180910390fd5b806002600082825462000151919062000492565b90915550506001600160a01b038216600090815260208190526040812080548392906200018090849062000492565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b5050565b620001c7828260008281526005602090815260408083206001600160a01b038516845290915290205460ff16620001c75760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055620002313390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b8280546200028390620004b7565b90600052602060002090601f016020900481019282620002a75760008555620002f2565b82601f10620002c257805160ff1916838001178555620002f2565b82800160010185558215620002f2579182015b82811115620002f2578251825591602001919060010190620002d5565b506200030092915062000304565b5090565b5b8082111562000300576000815560010162000305565b80516001600160a01b03811681146200033357600080fd5b919050565b600082601f83011262000349578081fd5b81516001600160401b0380821115620003665762000366620004f4565b604051601f8301601f19908116603f01168101908282118183101715620003915762000391620004f4565b81604052838152602092508683858801011115620003ad578485fd5b8491505b83821015620003d05785820183015181830184015290820190620003b1565b83821115620003e157848385830101525b9695505050505050565b60008060008060008060c0878903121562000404578182fd5b86516001600160401b03808211156200041b578384fd5b620004298a838b0162000338565b975060208901519150808211156200043f578384fd5b506200044e89828a0162000338565b9550506040870151935062000466606088016200031b565b925062000476608088016200031b565b91506200048660a088016200031b565b90509295509295509295565b60008219821115620004b257634e487b7160e01b81526011600452602481fd5b500190565b600281046001821680620004cc57607f821691505b60208210811415620004ee57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b611315806200051a6000396000f3fe608060405234801561001057600080fd5b50600436106101775760003560e01c806340c10f19116100d8578063a217fddf1161008c578063d539139311610066578063d53913931461031c578063d547741f14610343578063dd62ed3e1461035657610177565b8063a217fddf146102ee578063a457c2d7146102f6578063a9059cbb1461030957610177565b806370a08231116100bd57806370a082311461028457806391d14854146102ad57806395d89b41146102e657610177565b806340c10f191461025e57806342966c681461027157610177565b8063248a9ca31161012f578063313ce56711610114578063313ce5671461022957806336568abe14610238578063395093511461024b57610177565b8063248a9ca3146101f15780632f2ff15d1461021457610177565b8063095ea7b311610160578063095ea7b3146101b957806318160ddd146101cc57806323b872dd146101de57610177565b806301ffc9a71461017c57806306fdde03146101a4575b600080fd5b61018f61018a36600461114a565b61038f565b60405190151581526020015b60405180910390f35b6101ac6103c8565b60405161019b91906111f3565b61018f6101c73660046110e7565b61045a565b6002545b60405190815260200161019b565b61018f6101ec3660046110ac565b610470565b6101d06101ff366004611110565b60009081526005602052604090206001015490565b610227610222366004611128565b610534565b005b6040516012815260200161019b565b610227610246366004611128565b610560565b61018f6102593660046110e7565b6105ec565b61022761026c3660046110e7565b610628565b61022761027f366004611110565b61065d565b6101d0610292366004611060565b6001600160a01b031660009081526020819052604090205490565b61018f6102bb366004611128565b60009182526005602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6101ac61066a565b6101d0600081565b61018f6103043660046110e7565b610679565b61018f6103173660046110e7565b61072a565b6101d07f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b610227610351366004611128565b610737565b6101d061036436600461107a565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b60006001600160e01b03198216637965db0b60e01b14806103c057506301ffc9a760e01b6001600160e01b03198316145b90505b919050565b6060600380546103d7906112b7565b80601f0160208091040260200160405190810160405280929190818152602001828054610403906112b7565b80156104505780601f1061042557610100808354040283529160200191610450565b820191906000526020600020905b81548152906001019060200180831161043357829003601f168201915b5050505050905090565b600061046733848461075d565b50600192915050565b600061047d848484610881565b6001600160a01b03841660009081526001602090815260408083203384529091529020548281101561051c5760405162461bcd60e51b815260206004820152602860248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206160448201527f6c6c6f77616e636500000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610529853385840361075d565b506001949350505050565b60008281526005602052604090206001015461055181335b610a80565b61055b8383610b00565b505050565b6001600160a01b03811633146105de5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610513565b6105e88282610ba2565b5050565b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610467918590610623908690611226565b61075d565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610653813361054c565b61055b8383610c25565b6106673382610d05565b50565b6060600480546103d7906112b7565b3360009081526001602090815260408083206001600160a01b0386168452909152812054828110156107135760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610513565b610720338585840361075d565b5060019392505050565b6000610467338484610881565b600082815260056020526040902060010154610753813361054c565b61055b8383610ba2565b6001600160a01b0383166107bf5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610513565b6001600160a01b0382166108205760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610513565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108fd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610513565b6001600160a01b03821661095f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610513565b6001600160a01b038316600090815260208190526040902054818110156109ee5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610513565b6001600160a01b03808516600090815260208190526040808220858503905591851681529081208054849290610a25908490611226565b92505081905550826001600160a01b0316846001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610a7191815260200190565b60405180910390a35b50505050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff166105e857610abe816001600160a01b03166014610e53565b610ac9836020610e53565b604051602001610ada929190611172565b60408051601f198184030181529082905262461bcd60e51b8252610513916004016111f3565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff166105e85760008281526005602090815260408083206001600160a01b03851684529091529020805460ff19166001179055610b5e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526005602090815260408083206001600160a01b038516845290915290205460ff16156105e85760008281526005602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6001600160a01b038216610c7b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610513565b8060026000828254610c8d9190611226565b90915550506001600160a01b03821660009081526020819052604081208054839290610cba908490611226565b90915550506040518181526001600160a01b038316906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a36105e8565b6001600160a01b038216610d655760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610513565b6001600160a01b03821660009081526020819052604090205481811015610dd95760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610513565b6001600160a01b0383166000908152602081905260408120838303905560028054849290610e0890849061125d565b90915550506040518281526000906001600160a01b038516907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a361055b565b60606000610e6283600261123e565b610e6d906002611226565b67ffffffffffffffff811115610e9357634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015610ebd576020820181803683370190505b509050600360fc1b81600081518110610ee657634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110610f2357634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a9053506000610f4784600261123e565b610f52906001611226565b90505b6001811115610ff3577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110610fa157634e487b7160e01b600052603260045260246000fd5b1a60f81b828281518110610fc557634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a90535060049490941c93610fec816112a0565b9050610f55565b5083156110425760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610513565b9392505050565b80356001600160a01b03811681146103c357600080fd5b600060208284031215611071578081fd5b61104282611049565b6000806040838503121561108c578081fd5b61109583611049565b91506110a360208401611049565b90509250929050565b6000806000606084860312156110c0578081fd5b6110c984611049565b92506110d760208501611049565b9150604084013590509250925092565b600080604083850312156110f9578182fd5b61110283611049565b946020939093013593505050565b600060208284031215611121578081fd5b5035919050565b6000806040838503121561113a578182fd5b823591506110a360208401611049565b60006020828403121561115b578081fd5b81356001600160e01b031981168114611042578182fd5b60007f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000825283516111aa816017850160208801611274565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516111e7816028840160208801611274565b01602801949350505050565b6000602082528251806020840152611212816040850160208701611274565b601f01601f19169190910160400192915050565b60008219821115611239576112396112f2565b500190565b6000816000190483118215151615611258576112586112f2565b500290565b60008282101561126f5761126f6112f2565b500390565b60005b8381101561128f578181015183820152602001611277565b83811115610a7a5750506000910152565b6000816112af576112af6112f2565b506000190190565b6002810460018216806112cb57607f821691505b602082108114156112ec57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fdfea164736f6c6343000802000a9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a600000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000d3c21bcecceda10000000000000000000000000000008490a52e855dd017b96eee951a23d1adbd50e40a0000000000000000000000009b589973c0aaf8e62083c9edd030c4ecde6ead9c00000000000000000000000034562e5a752b030dbc449c40b9d937fcf8a6a3bd000000000000000000000000000000000000000000000000000000000000000a417261626c65205452550000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000056172545255000000000000000000000000000000000000000000000000000000