0 txs
154k calls
constructor
constructor()
functions
calculateShare
viewfunction calculateShare(address rewarder, address user) view returns (uint256 share)
calculateTotalShare
viewfunction calculateTotalShare(address rewarder) view returns (uint256 totalShare)
fdxStaking
viewfunction fdxStaking() view returns (address)
getStakingTokenRewarders
viewfunction getStakingTokenRewarders() view returns (address[])
isCompounder
viewfunction isCompounder(address compounder) view returns (bool isAllowed)
isRewarder
viewfunction isRewarder(address) view returns (bool)
owner
viewfunction owner() view returns (address)
rewarders
viewfunction rewarders(uint256) view returns (address)
stakingToken
viewfunction stakingToken() view returns (address)
stFDXLP
viewfunction stFDXLP() view returns (address)
userTokenAmount
viewfunction userTokenAmount(address) view returns (uint256)
addRewarder
nonpayablefunction addRewarder(address newRewarder)
deposit
nonpayablefunction deposit(address account, address token, uint256 amount)
harvest
nonpayablefunction harvest(address[] rewarders)
harvestToCompounder
nonpayablefunction harvestToCompounder(address user, address[] _rewarders)
initialize
nonpayablefunction initialize(address stakingToken_, address stFDXLP_, address fdxStaking_)
removeRewarderByIndex
nonpayablefunction removeRewarderByIndex(uint256 removeRewarderIndex)
renounceOwnership
nonpayablefunction renounceOwnership()
setIsCompounders
nonpayablefunction setIsCompounders(address[] compounders, bool[] isAllowed)
setStakingToken
nonpayablefunction setStakingToken(address stakingToken_)
transferOwnership
nonpayablefunction transferOwnership(address newOwner)
withdraw
nonpayablefunction withdraw(uint256 amount)
events
Initialized
event Initialized(uint8 version)
LogAddRewarder
event LogAddRewarder(address newRewarder)
LogDeposit
event LogDeposit(address indexed caller, address indexed user, address token, uint256 amount)
LogSetIsCompounder
event LogSetIsCompounder(address compounder, bool isCompounder)
LogWithdraw
event LogWithdraw(address indexed caller, address token, uint256 amount)
OwnershipTransferred
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)
errors
StFDXLPStaking_InconsistentLength
error StFDXLPStaking_InconsistentLength()
StFDXLPStaking_InsufficientTokenAmount
error StFDXLPStaking_InsufficientTokenAmount()
StFDXLPStaking_InvalidAddress
error StFDXLPStaking_InvalidAddress()
StFDXLPStaking_InvalidTokenAmount
error StFDXLPStaking_InvalidTokenAmount()
StFDXLPStaking_NoStakingToken
error StFDXLPStaking_NoStakingToken()
StFDXLPStaking_NotCompounder
error StFDXLPStaking_NotCompounder()
StFDXLPStaking_NotRewarder
error StFDXLPStaking_NotRewarder()
creation bytecode
0x608060405234801561001057600080fd5b5061001961001e565b6100de565b600054610100900460ff161561008a5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100dc576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611ab0806100ed6000396000f3fe608060405234801561001057600080fd5b50600436106101125760003560e01c80631e9b12ef14610117578063245a066e1461012c5780632e1a7d4d14610164578063421879791461017757806356d3590b1461018c578063715018a61461019f5780637266c0e3146101a757806372f702f3146101ba578063793aeb74146101da5780638340f549146101ed5780638da5cb5b146102005780638e478cab14610208578063aef4d4871461022b578063c0c53b8b1461023e578063c116f48614610251578063c89d346014610264578063e39067e114610277578063f2fde38b14610298578063f3603cca146102ab578063f751c70a146102be578063fcf8770f146102de578063fee88cb6146102f1575b600080fd5b61012a61012536600461158a565b61031c565b005b61014f61013a36600461158a565b606b6020526000908152604090205460ff1681565b60405190151581526020015b60405180910390f35b61012a6101723660046115ac565b610346565b61017f61050b565b60405161015b91906115c5565b61012a61019a36600461158a565b61056d565b61012a61064c565b61012a6101b53660046116fb565b610660565b6065546101cd906001600160a01b031681565b60405161015b91906117be565b6066546101cd906001600160a01b031681565b61012a6101fb3660046117d2565b6107e0565b6101cd6107ef565b61014f61021636600461158a565b606a6020526000908152604090205460ff1681565b6067546101cd906001600160a01b031681565b61012a61024c36600461180e565b6107fe565b61012a61025f3660046115ac565b61095a565b61012a610272366004611851565b610a64565b61028a61028536600461158a565b610a72565b60405190815260200161015b565b61012a6102a636600461158a565b610b04565b61012a6102b9366004611885565b610b7a565b61028a6102cc36600461158a565b60686020526000908152604090205481565b6101cd6102ec3660046115ac565b610bb9565b61028a6102ff3660046118d2565b6001600160a01b0316600090815260686020526040902054919050565b610324610be3565b606580546001600160a01b0319166001600160a01b0392909216919091179055565b606654604051631e318c6760e31b81526001600160a01b039091169063f18c6338906103769033906004016117be565b600060405180830381600087803b15801561039057600080fd5b505af11580156103a4573d6000803e3d6000fd5b505060665460405163946b45f760e01b8152600093506001600160a01b03909116915063946b45f7906103db9033906004016117be565b602060405180830381865afa1580156103f8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061041c9190611905565b90506104283383610c42565b60665460405163946b45f760e01b81526000916001600160a01b03169063946b45f7906104599033906004016117be565b602060405180830381865afa158015610476573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061049a9190611905565b606654604051632c1b2c7f60e21b815233600482015260248101859052604481018390529192506001600160a01b03169063b06cb1fc90606401600060405180830381600087803b1580156104ee57600080fd5b505af1158015610502573d6000803e3d6000fd5b50505050505050565b6060606980548060200260200160405190810160405280929190818152602001828054801561056357602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610545575b5050505050905090565b610575610be3565b61057e81610e5e565b6105ce57606980546001810182556000919091527f7fb4302e8e91f9110a6554c2c0a24601252c2a42c2220ca988efcfe3999143080180546001600160a01b0319166001600160a01b0383161790555b6001600160a01b0381166000908152606a602052604090205460ff16610612576001600160a01b0381166000908152606a60205260409020805460ff191660011790555b7fca9879f7c869aaabe52872a2923d87ec6e2c369759989f2b4173e014baaa08678160405161064191906117be565b60405180910390a150565b610654610be3565b61065e6000610ec1565b565b610668610be3565b81518151811461068b5760405163bef0c53d60e01b815260040160405180910390fd5b60005b818110156107da5760006001600160a01b03168482815181106106b3576106b361191e565b60200260200101516001600160a01b0316036106e2576040516338c019db60e21b815260040160405180910390fd5b8281815181106106f4576106f461191e565b6020026020010151606b60008684815181106107125761071261191e565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff0219169083151502179055507fa0314d38ce270042e817a3ba42d57958f6737517da4a930fa462ab25156445e08482815181106107845761078461191e565b602002602001015184838151811061079e5761079e61191e565b60200260200101516040516107ca9291906001600160a01b039290921682521515602082015260400190565b60405180910390a160010161068e565b50505050565b6107ea8382610f13565b505050565b6033546001600160a01b031690565b600054610100900460ff161580801561081e5750600054600160ff909116105b8061083f575061082d306110ef565b15801561083f575060005460ff166001145b6108a75760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff1916600117905580156108ca576000805461ff0019166101001790555b6108d26110fe565b606580546001600160a01b038087166001600160a01b03199283161790925560678054868416908316179055606680549285169290911691909117905580156107da576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a150505050565b610962610be3565b6000606982815481106109775761097761191e565b600091825260209091200154606980546001600160a01b039092169250906109a19060019061194a565b815481106109b1576109b161191e565b600091825260209091200154606980546001600160a01b0390921691849081106109dd576109dd61191e565b9060005260206000200160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506069805480610a1c57610a1c61195d565b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b03929092168152606a90915260409020805460ff1916905550565b610a6f33338361112d565b50565b6065546000906001600160a01b0316610a8d57506000919050565b6065546040516370a0823160e01b81526001600160a01b03909116906370a0823190610abd9030906004016117be565b602060405180830381865afa158015610ada573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afe9190611905565b92915050565b610b0c610be3565b6001600160a01b038116610b715760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161089e565b610a6f81610ec1565b336000908152606b602052604090205460ff16610baa5760405163f79bcaab60e01b815260040160405180910390fd5b610bb582338361112d565b5050565b60698181548110610bc957600080fd5b6000918252602090912001546001600160a01b0316905081565b33610bec6107ef565b6001600160a01b03161461065e5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161089e565b80600003610c6357604051633cd50a2360e01b815260040160405180910390fd5b6065546001600160a01b0316610c8c576040516353c22fb760e11b815260040160405180910390fd5b6001600160a01b038216600090815260686020526040902054811115610cc557604051632000ddc560e11b815260040160405180910390fd5b60695460005b81811015610d6457600060698281548110610ce857610ce861191e565b60009182526020909120015460405163ccad973d60e01b81526001600160a01b039091169150819063ccad973d90610d269088908890600401611973565b600060405180830381600087803b158015610d4057600080fd5b505af1158015610d54573d6000803e3d6000fd5b5050505081600101915050610ccb565b506001600160a01b03831660009081526068602052604081208054849290610d8d90849061194a565b9091555050606754604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac90610dc49086908690600401611973565b600060405180830381600087803b158015610dde57600080fd5b505af1158015610df2573d6000803e3d6000fd5b5050606554610e0e92506001600160a01b031690508484611250565b6065546040516001600160a01b03858116927f9207361cc2a04b9c7a06691df1eb87c6a63957ae88bf01d0d18c81e3d127209992610e5192909116908690611973565b60405180910390a2505050565b606954600090815b81811015610eb757836001600160a01b031660698281548110610e8b57610e8b61191e565b6000918252602090912001546001600160a01b031603610eaf575060019392505050565b600101610e66565b5060009392505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b80600003610f3457604051633cd50a2360e01b815260040160405180910390fd5b6065546001600160a01b0316610f5d576040516353c22fb760e11b815260040160405180910390fd5b60005b606954811015610ff55760698181548110610f7d57610f7d61191e565b600091825260209091200154604051630afe546360e21b81526001600160a01b0390911690632bf9518c90610fb89086908690600401611973565b600060405180830381600087803b158015610fd257600080fd5b505af1158015610fe6573d6000803e3d6000fd5b50505050806001019050610f60565b5060655461100e906001600160a01b03163330846112a6565b6001600160a01b0382166000908152606860205260408120805483929061103690849061198c565b90915550506067546040516340c10f1960e01b81526001600160a01b03909116906340c10f199061106d9085908590600401611973565b600060405180830381600087803b15801561108757600080fd5b505af115801561109b573d6000803e3d6000fd5b50506065546040516001600160a01b0380871694503393507f74a806d614cb397aefa0c403ef3fd5585636fd7dcd944f1ee93034a1694fd4ea926110e3929116908690611973565b60405180910390a35050565b6001600160a01b03163b151590565b600054610100900460ff166111255760405162461bcd60e51b815260040161089e9061199f565b61065e6112de565b6065546001600160a01b0316611156576040516353c22fb760e11b815260040160405180910390fd5b805160005b8181101561124957606a60008483815181106111795761117961191e565b6020908102919091018101516001600160a01b031682528101919091526040016000205460ff166111bd57604051632b35d7ad60e01b815260040160405180910390fd5b8281815181106111cf576111cf61191e565b60209081029190910101516040516365bad36160e11b81526001600160a01b03878116600483015286811660248301529091169063cb75a6c290604401600060405180830381600087803b15801561122657600080fd5b505af115801561123a573d6000803e3d6000fd5b5050505080600101905061115b565b5050505050565b6107ea8363a9059cbb60e01b848460405160240161126f929190611973565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261130e565b6040516001600160a01b03808516602483015283166044820152606481018290526107da9085906323b872dd60e01b9060840161126f565b600054610100900460ff166113055760405162461bcd60e51b815260040161089e9061199f565b61065e33610ec1565b6000611363826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113e09092919063ffffffff16565b8051909150156107ea578080602001905181019061138191906119ea565b6107ea5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b606482015260840161089e565b60606113ef84846000856113f7565b949350505050565b6060824710156114585760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b606482015260840161089e565b600080866001600160a01b031685876040516114749190611a2b565b60006040518083038185875af1925050503d80600081146114b1576040519150601f19603f3d011682016040523d82523d6000602084013e6114b6565b606091505b50915091506114c7878383876114d2565b979650505050505050565b6060831561153f578251600003611538576114ec856110ef565b6115385760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015260640161089e565b50816113ef565b6113ef83838151156115545781518083602001fd5b8060405162461bcd60e51b815260040161089e9190611a47565b80356001600160a01b038116811461158557600080fd5b919050565b60006020828403121561159c57600080fd5b6115a58261156e565b9392505050565b6000602082840312156115be57600080fd5b5035919050565b6020808252825182820181905260009190848201906040850190845b818110156116065783516001600160a01b0316835292840192918401916001016115e1565b50909695505050505050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b038111828210171561165057611650611612565b604052919050565b60006001600160401b0382111561167157611671611612565b5060051b60200190565b600082601f83011261168c57600080fd5b813560206116a161169c83611658565b611628565b82815260059290921b840181019181810190868411156116c057600080fd5b8286015b848110156116e2576116d58161156e565b83529183019183016116c4565b509695505050505050565b8015158114610a6f57600080fd5b6000806040838503121561170e57600080fd5b82356001600160401b038082111561172557600080fd5b6117318683870161167b565b935060209150818501358181111561174857600080fd5b85019050601f8101861361175b57600080fd5b803561176961169c82611658565b81815260059190911b8201830190838101908883111561178857600080fd5b928401925b828410156117af5783356117a0816116ed565b8252928401929084019061178d565b80955050505050509250929050565b6001600160a01b0391909116815260200190565b6000806000606084860312156117e757600080fd5b6117f08461156e565b92506117fe6020850161156e565b9150604084013590509250925092565b60008060006060848603121561182357600080fd5b61182c8461156e565b925061183a6020850161156e565b91506118486040850161156e565b90509250925092565b60006020828403121561186357600080fd5b81356001600160401b0381111561187957600080fd5b6113ef8482850161167b565b6000806040838503121561189857600080fd5b6118a18361156e565b915060208301356001600160401b038111156118bc57600080fd5b6118c88582860161167b565b9150509250929050565b600080604083850312156118e557600080fd5b6118ee8361156e565b91506118fc6020840161156e565b90509250929050565b60006020828403121561191757600080fd5b5051919050565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b81810381811115610afe57610afe611934565b634e487b7160e01b600052603160045260246000fd5b6001600160a01b03929092168252602082015260400190565b80820180821115610afe57610afe611934565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b6000602082840312156119fc57600080fd5b81516115a5816116ed565b60005b83811015611a22578181015183820152602001611a0a565b50506000910152565b60008251611a3d818460208701611a07565b9190910192915050565b6020815260008251806020840152611a66816040850160208701611a07565b601f01601f1916919091016040019291505056fea26469706673582212209bc28c5ed7a47d67a7f6ddcd58576c992c2c6fbff5e0fb5b1fa11e589b063c5964736f6c63430008120033