433 txs
482 calls
constructor
constructor(address _dbroToken, address _ryftContract, address _rewardsWallet)
functions
calculatePendingRewards
viewfunction calculatePendingRewards(address user) view returns (uint256)
dbroToken
viewfunction dbroToken() view returns (address)
getAnnualRewardRate
purefunction getAnnualRewardRate() pure returns (uint256)
getRewardsWalletBalance
viewfunction getRewardsWalletBalance() view returns (uint256)
getStakeInfoAndPendingRewards
viewfunction getStakeInfoAndPendingRewards(address user) view returns (tuple, uint256)
MAX_STAKE
viewfunction MAX_STAKE() view returns (uint256)
maxClaimableQuantity
viewfunction maxClaimableQuantity() view returns (uint256)
owner
viewfunction owner() view returns (address)
REQUIRED_DBRO
viewfunction REQUIRED_DBRO() view returns (uint256)
rewardsWallet
viewfunction rewardsWallet() view returns (address)
RYFT_TOKEN_ID
viewfunction RYFT_TOKEN_ID() view returns (uint256)
ryftContract
viewfunction ryftContract() view returns (address)
SECONDS_IN_YEAR
viewfunction SECONDS_IN_YEAR() view returns (uint256)
stakes
viewfunction stakes(address) view returns (uint256 amountStaked, uint256 startTime, uint256 rewardDebt)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId_) view returns (bool)
totalRewardTokens
viewfunction totalRewardTokens() view returns (uint256)
totalWrappedTokens
viewfunction totalWrappedTokens(address tokenContractAddress, address dRYFTContractAddress) view returns (uint256)
UNSTAKE_FEE_PERCENT
viewfunction UNSTAKE_FEE_PERCENT() view returns (uint256)
UNWRAP_FEE_PERCENT
viewfunction UNWRAP_FEE_PERCENT() view returns (uint256)
claimReward
nonpayablefunction claimReward()
onERC1155BatchReceived
nonpayablefunction onERC1155BatchReceived(address, address, uint256[], uint256[], bytes) returns (bytes4)
onERC1155Received
nonpayablefunction onERC1155Received(address, address, uint256, uint256, bytes) returns (bytes4)
renounceOwnership
nonpayablefunction renounceOwnership()
stake
nonpayablefunction stake(uint256 amount)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
unstake
nonpayablefunction unstake()
unwrapNFT
nonpayablefunction unwrapNFT(uint256 quantity)
updateMaxClaimableQuantity
nonpayablefunction updateMaxClaimableQuantity(uint256 newMaxQuantity)
updateRequiredDBRO
nonpayablefunction updateRequiredDBRO(uint256 newRequiredDBRO)
updateRewardsWallet
nonpayablefunction updateRewardsWallet(address newRewardsWallet)
updateRyftContract
nonpayablefunction updateRyftContract(address newRyftContract)
withdrawTokens
nonpayablefunction withdrawTokens()
wrapTokens
nonpayablefunction wrapTokens(uint256 amount)
events
ClaimedRewards
event ClaimedRewards(address indexed user, uint256 rewardAmount)
MaxClaimableQuantityUpdated
event MaxClaimableQuantityUpdated(uint256 oldMaxClaimableQuantity, uint256 newMaxClaimableQuantity)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
RequiredDBROUpdated
event RequiredDBROUpdated(uint256 oldRequiredDBRO, uint256 newRequiredDBRO)
RewardsWalletUpdated
event RewardsWalletUpdated(address oldRewardsWallet, address newRewardsWallet)
RyftContractUpdated
event RyftContractUpdated(address oldRyftContract, address newRyftContract)
Staked
event Staked(address indexed user, uint256 amount)
Unstaked
event Unstaked(address indexed user, uint256 amount)
Withdrawn
event Withdrawn(address indexed owner, uint256 amount)
errors
InsufficientAmount
error InsufficientAmount()
MaxStakeExceeded
error MaxStakeExceeded()
NoRewardsToClaim
error NoRewardsToClaim()
NoTokensStaked
error NoTokensStaked()
TransferFailed
error TransferFailed()
Unauthorized
error Unauthorized()
creation bytecode
0x60806040526509184e72a000600555600a60065534801561001f57600080fd5b50604051611c69380380611c6983398101604081905261003e91610156565b610047336100ea565b6001808055600280546001600160a01b038681166001600160a01b031992831617909255600380548684169083168117909155600480549386169390921692909217815560405163a22cb46560e01b815290810182905260248101929092529063a22cb46590604401600060405180830381600087803b1580156100ca57600080fd5b505af11580156100de573d6000803e3d6000fd5b50505050505050610199565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b038116811461015157600080fd5b919050565b60008060006060848603121561016b57600080fd5b6101748461013a565b92506101826020850161013a565b91506101906040850161013a565b90509250925092565b611ac1806101a86000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c806385c4eecd1161011a578063c3313d89116100ad578063d5cf5f6f1161007c578063d5cf5f6f14610444578063f23a6e6114610457578063f2fde38b14610476578063f6ee720514610489578063f6ffa1781461049c57600080fd5b8063c3313d8914610412578063c98517c51461041a578063ceac79bf14610428578063cfc0d0241461043157600080fd5b8063a6ca7541116100e9578063a6ca7541146103b7578063b88a802f146103bf578063b8956964146103c7578063bc197c81146103da57600080fd5b806385c4eecd146103835780638d8f2adb1461038b5780638da5cb5b14610393578063a694fc3a146103a457600080fd5b80634dd8188b11610192578063630d057011610161578063630d0570146103615780636942abd514610368578063715018a61461037b57806382d11b811461038357600080fd5b80634dd8188b146102f657806356407f19146103305780635b35f9c9146103435780635dcc93911461035657600080fd5b80631b0875a6116101ce5780631b0875a6146102a85780632def6620146102b0578063341e9c7b146102b8578063385119f8146102e357600080fd5b806301ffc9a71461020057806302a99cc014610228578063097aad101461023d57806316934fc41461025e575b600080fd5b61021361020e3660046116de565b6104a5565b60405190151581526020015b60405180910390f35b61023b61023636600461170f565b6104b6565b005b61025061024b366004611744565b61055f565b60405190815260200161021f565b61028d61026c366004611744565b60076020526000908152604090208054600182015460029092015490919083565b6040805193845260208401929092529082015260600161021f565b610250610617565b61023b61068a565b6002546102cb906001600160a01b031681565b6040516001600160a01b03909116815260200161021f565b61023b6102f1366004611744565b610870565b610309610304366004611744565b610930565b6040805183518152602080850151908201529281015190830152606082015260800161021f565b61023b61033e36600461170f565b6109a5565b6004546102cb906001600160a01b031681565b6102506301e1338081565b601e610250565b6003546102cb906001600160a01b031681565b61023b610a0b565b610250600181565b61023b610a1d565b6000546001600160a01b03166102cb565b61023b6103b236600461170f565b610bc6565b610250610d27565b61023b610d60565b61023b6103d536600461170f565b610fc2565b6103f96103e8366004611899565b63bc197c8160e01b95945050505050565b6040516001600160e01b0319909116815260200161021f565b610250600081565b6102506601c6bf5263400081565b61025060065481565b61023b61043f366004611744565b6112d8565b61023b61045236600461170f565b611398565b6103f961046536600461194f565b63f23a6e6160e01b95945050505050565b61023b610484366004611744565b6114b9565b6102506104973660046119a8565b61152f565b61025060055481565b60006104b0826115a6565b92915050565b6104be6115db565b6104c6611635565b600081116105105760405162461bcd60e51b815260206004820152601260248201527143616e6e6f742073657420746f207a65726f60701b60448201526064015b60405180910390fd5b600580549082905560408051828152602081018490527fb271d0084d090ae9775da76e9de43c6c375d968dda52e17e76d10040163537c091015b60405180910390a15061055c60018055565b50565b6001600160a01b038116600090815260076020908152604080832081516060810183528154808252600183015494820194909452600290910154918101919091529082036105b05750600092915050565b60008160200151426105c291906119f1565b9050600060648360000151601e6105d99190611a04565b6105e39190611a1b565b60408401519091506301e133806105fa8484611a04565b6106049190611a1b565b61060e91906119f1565b95945050505050565b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a08231906024015b602060405180830381865afa158015610661573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106859190611a3d565b905090565b610692611635565b336000908152600760205260408120805490918190036106c55760405163528b04cb60e01b815260040160405180910390fd5b600060646106d4600184611a04565b6106de9190611a1b565b905060006106ec82846119f1565b6002546004805460405163a9059cbb60e01b81526001600160a01b03918216928101929092526024820186905292935091169063a9059cbb906044016020604051808303816000875af1158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b9190611a56565b610788576040516312171d8360e31b815260040160405180910390fd5b60025460405163a9059cbb60e01b8152336004820152602481018390526001600160a01b039091169063a9059cbb906044016020604051808303816000875af11580156107d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107fd9190611a56565b61081a576040516312171d8360e31b815260040160405180910390fd5b600080855560018501819055600285015560405183815233907f0f5bb82176feb1b5e747e28471aa92156a04d9f3ab9f45f28e2d704232b93f75906020015b60405180910390a25050505061086e60018055565b565b6108786115db565b6001600160a01b0381166108ce5760405162461bcd60e51b815260206004820152601c60248201527f496e76616c69642072796674436f6e74726163742061646472657373000000006044820152606401610507565b600380546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f5bc1e76626be9d84fd0a9d18b5d23e1ada2f42ac99620080271676bc9541bae091015b60405180910390a15050565b61095460405180606001604052806000815260200160008152602001600081525090565b6001600160a01b03821660009081526007602090815260408083208151606081018352815481526001820154938101939093526002015490820152816109998561055f565b91959194509092505050565b6109ad6115db565b806000036109cd576040516282b42960e81b815260040160405180910390fd5b600680549082905560408051828152602081018490527f467673c6da5e0e8e23454c173886a7a2556ecf6c44955b1ec74bf3b9a018d0449101610924565b610a136115db565b61086e600061168e565b610a256115db565b610a2d611635565b6002546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a0823190602401602060405180830381865afa158015610a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a9a9190611a3d565b905080600003610abd576040516312171d8360e31b815260040160405180910390fd5b6002546001600160a01b031663a9059cbb610ae06000546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610b2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b519190611a56565b610b6e576040516312171d8360e31b815260040160405180910390fd5b6000546001600160a01b03166001600160a01b03167f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d582604051610bb491815260200190565b60405180910390a25061086e60018055565b610bce611635565b80600003610bef57604051632ca2f52b60e11b815260040160405180910390fd5b3360009081526007602052604081208054909190610c0e908490611a78565b90506601c6bf52634000811115610c3857604051633d0c3cc360e21b815260040160405180910390fd5b6002546040516323b872dd60e01b8152336004820152306024820152604481018590526001600160a01b03909116906323b872dd906064016020604051808303816000875af1158015610c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cb39190611a56565b610cd0576040516312171d8360e31b815260040160405180910390fd5b8082556001820154600003610ce6574260018301555b60405183815233907f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d906020015b60405180910390a2505061055c60018055565b600254600480546040516370a0823160e01b81526001600160a01b039182169281019290925260009216906370a0823190602401610644565b610d68611635565b33600081815260076020526040812091610d819061055f565b9050600554811015610da6576040516373380d9960e01b815260040160405180910390fd5b600554600090610db68184611a1b565b610dc09190611a04565b9050600060055482610dd29190611a1b565b9050600654811115610df25750600654600554610def9082611a04565b91505b600254600480546040516323b872dd60e01b81526001600160a01b039182169281019290925230602483015260448201859052909116906323b872dd906064016020604051808303816000875af1158015610e51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e759190611a56565b610e92576040516312171d8360e31b815260040160405180910390fd5b60025460035460405163095ea7b360e01b81526001600160a01b0391821660048201526024810185905291169063095ea7b3906044016020604051808303816000875af1158015610ee7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f0b9190611a56565b50600354604051630820255560e01b815260006004820152602481018390523360448201526001600160a01b0390911690630820255590606401600060405180830381600087803b158015610f5f57600080fd5b505af1158015610f73573d6000803e3d6000fd5b5050505081846002016000828254610f8b9190611a78565b909155505060405182815233907f2d5429efdeca7741a8cd94067b18d988bc4e5f1d5b8272c37b7bfc31e9bfa32c90602001610859565b610fca611635565b801580610fd8575060055481105b15610ff657604051632ca2f52b60e11b815260040160405180910390fd5b6000600554826110069190611a1b565b90506000600554826110189190611a04565b6002546040516370a0823160e01b815233600482015291925082916001600160a01b03909116906370a0823190602401602060405180830381865afa158015611065573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110899190611a3d565b10156110a857604051632ca2f52b60e11b815260040160405180910390fd5b6002546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd906064016020604051808303816000875af11580156110ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111239190611a56565b611140576040516312171d8360e31b815260040160405180910390fd5b600254600354604051636eb1769f60e11b81523060048201526001600160a01b0391821660248201528392919091169063dd62ed3e90604401602060405180830381865afa158015611196573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111ba9190611a3d565b101561123b5760025460035460405163095ea7b360e01b81526001600160a01b0391821660048201526024810184905291169063095ea7b3906044016020604051808303816000875af1158015611215573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112399190611a56565b505b600354604051630820255560e01b815260006004820152602481018490523360448201526001600160a01b0390911690630820255590606401600060405180830381600087803b15801561128e57600080fd5b505af11580156112a2573d6000803e3d6000fd5b50506040518381523392507f2d5429efdeca7741a8cd94067b18d988bc4e5f1d5b8272c37b7bfc31e9bfa32c9150602001610d14565b6112e06115db565b6112e8611635565b6001600160a01b03811661133e5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742073657420746f207a65726f20616464726573730000000000006044820152606401610507565b600480546001600160a01b038381166001600160a01b031983168117909355604080519190921680825260208201939093527f85710b1053f40e0d492d81001a623cd191d251fed32881e7bb80fc1b66a6e463910161054a565b6113a0611635565b600354604051637921219560e11b8152336004820152306024820152600060448201526064810183905260a06084820152601e60a48201527f5472616e736665722066726f6d207374616b696e6720636f6e7472616374000060c48201526001600160a01b039091169063f242432a9060e401600060405180830381600087803b15801561142d57600080fd5b505af1158015611441573d6000803e3d6000fd5b505060035460405163683a830960e01b815260006004820152602481018590523360448201526001600160a01b03909116925063683a83099150606401600060405180830381600087803b15801561149857600080fd5b505af11580156114ac573d6000803e3d6000fd5b5050505061055c60018055565b6114c16115db565b6001600160a01b0381166115265760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610507565b61055c8161168e565b6040516370a0823160e01b81526001600160a01b03828116600483015260009184918216906370a0823190602401602060405180830381865afa15801561157a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061159e9190611a3d565b949350505050565b60006001600160e01b03198216630271189760e51b14806104b057506301ffc9a760e01b6001600160e01b03198316146104b0565b6000546001600160a01b0316331461086e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610507565b6002600154036116875760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610507565b6002600155565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156116f057600080fd5b81356001600160e01b03198116811461170857600080fd5b9392505050565b60006020828403121561172157600080fd5b5035919050565b80356001600160a01b038116811461173f57600080fd5b919050565b60006020828403121561175657600080fd5b61170882611728565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff8111828210171561179e5761179e61175f565b604052919050565b600082601f8301126117b757600080fd5b813567ffffffffffffffff8111156117d1576117d161175f565b8060051b6117e160208201611775565b918252602081850181019290810190868411156117fd57600080fd5b6020860192505b8383101561181f578235825260209283019290910190611804565b9695505050505050565b600082601f83011261183a57600080fd5b813567ffffffffffffffff8111156118545761185461175f565b611867601f8201601f1916602001611775565b81815284602083860101111561187c57600080fd5b816020850160208301376000918101602001919091529392505050565b600080600080600060a086880312156118b157600080fd5b6118ba86611728565b94506118c860208701611728565b9350604086013567ffffffffffffffff8111156118e457600080fd5b6118f0888289016117a6565b935050606086013567ffffffffffffffff81111561190d57600080fd5b611919888289016117a6565b925050608086013567ffffffffffffffff81111561193657600080fd5b61194288828901611829565b9150509295509295909350565b600080600080600060a0868803121561196757600080fd5b61197086611728565b945061197e60208701611728565b93506040860135925060608601359150608086013567ffffffffffffffff81111561193657600080fd5b600080604083850312156119bb57600080fd5b6119c483611728565b91506119d260208401611728565b90509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156104b0576104b06119db565b80820281158282048414176104b0576104b06119db565b600082611a3857634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215611a4f57600080fd5b5051919050565b600060208284031215611a6857600080fd5b8151801515811461170857600080fd5b808201808211156104b0576104b06119db56fea26469706673582212206e9936eab7434bbbae0ba8c697b5d8cfaa2884c979992aadb1bafc597b08054764736f6c634300081c00330000000000000000000000006a4e0f83d7882bcacff89aaf6f60d24e13191e9f0000000000000000000000007abe92aa0b6da4aeef832f5ce540dc49eaad2dca000000000000000000000000e31b8ebc6b9ae3622cf1e3bff4c129a15b8d548c