0 txs
1.3k calls
constructor
constructor()
functions
algebraEternalFarming
viewfunction algebraEternalFarming() view returns (address)
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
farmingCenter
viewfunction farmingCenter() view returns (address)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
INCENTIVE_MAKER_MANAGER_ROLE
viewfunction INCENTIVE_MAKER_MANAGER_ROLE() view returns (bytes32)
MINIMAL_POSITION_WIDTH
viewfunction MINIMAL_POSITION_WIDTH() view returns (uint24)
poolToKey
viewfunction poolToKey(address pool) view returns (address rewardToken, address bonusRewardToken, address pool, uint256 nonce)
poolToVirtualPool
viewfunction poolToVirtualPool(address pool) view returns (address virtualFarmingPool)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
thena
viewfunction thena() view returns (address)
voter
viewfunction voter() view returns (address)
wbnb
viewfunction wbnb() view returns (address)
_initialize
nonpayablefunction _initialize(address _algebraEternalFarming, address _voter)
createIncentive
nonpayablefunction createIncentive(address pool, uint128 theamount, uint128 wbnbamount) returns (address)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address _thena, address _wbnb)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address account)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setAlgebraEnternalFarming
nonpayablefunction setAlgebraEnternalFarming(address _algebraEternalFarming)
setFarmingCenter
nonpayablefunction setFarmingCenter(address _farmingCenter)
setPoolToKey
nonpayablefunction setPoolToKey(tuple key)
updateExtraIncentive
nonpayablefunction updateExtraIncentive(address pool, uint128 reward)
updateIncentive
nonpayablefunction updateIncentive(address pool, uint256 reward)
events
Initialized
event Initialized(uint8 version)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SetEternalFarming
event SetEternalFarming(address algebraEternalFarming)
errors
IncentiveExists
error IncentiveExists()
NotGauge
error NotGauge()
NotPlugin
error NotPlugin()
RewardAmount
error RewardAmount()
ZeroAddress
error ZeroAddress()
creation bytecode
0x608060405234801561001057600080fd5b506126db806100206000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806391d14854116100e3578063dd56e5d81161008c578063e864ba5611610066578063e864ba5614610397578063f1e18d67146103c0578063ff69b509146103d357600080fd5b8063dd56e5d81461035e578063e172d2f414610371578063e5c9c2ed1461038457600080fd5b8063bff34ed3116100bd578063bff34ed31461031c578063cb09d91914610338578063d547741f1461034b57600080fd5b806391d14854146102c3578063a1b0b359146102fc578063a217fddf1461031457600080fd5b806346c96aac1161014557806367f668381161011f57806367f668381461028a578063737869c61461029d5780638d72647e146102b057600080fd5b806346c96aac14610251578063485cc955146102645780634d10862d1461027757600080fd5b80632f2ff15d116101765780632f2ff15d146101fe57806336568abe1461021357806338c96e841461022657600080fd5b806301ffc9a71461019d5780631ab54eeb146101c5578063248a9ca3146101db575b600080fd5b6101b06101ab36600461216e565b61044d565b60405190151581526020015b60405180910390f35b6101cd610484565b6040519081526020016101bc565b6101cd6101e9366004612198565b60009081526065602052604090206001015490565b61021161020c3660046121c6565b6104de565b005b6102116102213660046121c6565b610508565b610239610234366004612212565b610599565b6040516001600160a01b0390911681526020016101bc565b609954610239906001600160a01b031681565b610211610272366004612257565b61068e565b610211610285366004612285565b6108b6565b6102116102983660046122a2565b610960565b609a54610239906001600160a01b031681565b609854610239906001600160a01b031681565b6101b06102d13660046121c6565b60009182526065602090815260408084206001600160a01b0393909316845291905290205460ff1690565b6097546102399061010090046001600160a01b031681565b6101cd600081565b610324600181565b60405162ffffff90911681526020016101bc565b6102116103463660046122ce565b610f20565b6102116103593660046121c6565b6112dc565b609b54610239906001600160a01b031681565b61021161037f366004612303565b611301565b610211610392366004612257565b6113d8565b6102396103a5366004612285565b609d602052600090815260409020546001600160a01b031681565b6102116103ce366004612285565b611581565b6104186103e1366004612285565b609c6020526000908152604090208054600182015460028301546003909301546001600160a01b0392831693918316929091169084565b6040516101bc94939291906001600160a01b039485168152928416602084015292166040820152606081019190915260800190565b60006001600160e01b03198216637965db0b60e01b148061047e57506301ffc9a760e01b6001600160e01b03198316145b92915050565b6040516020016104c5906020808252601c908201527f494e43454e544956455f4d414b45525f4d414e414745525f524f4c4500000000604082015260600190565b6040516020818303038152906040528051906020012081565b6000828152606560205260409020600101546104f98161165d565b610503838361166a565b505050565b6001600160a01b038116331461058b5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c66000000000000000000000000000000000060648201526084015b60405180910390fd5b610595828261170c565b5050565b60006040516020016105dc906020808252601c908201527f494e43454e544956455f4d414b45525f4d414e414745525f524f4c4500000000604082015260600190565b604051602081830303815290604052805190602001206105fb8161165d565b6000610607868661178f565b90506000610615868661191e565b90506106838282896001600160a01b031663ef01df4f6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561065a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067e919061231b565b6119a3565b979650505050505050565b600054610100900460ff16158080156106ae5750600054600160ff909116105b806106c85750303b1580156106c8575060005460ff166001145b61073a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610582565b6000805460ff19166001179055801561075d576000805461ff0019166101001790555b6107bd6040516020016107a1906020808252601c908201527f494e43454e544956455f4d414b45525f4d414e414745525f524f4c4500000000604082015260600190565b604051602081830303815290604052805190602001203361166a565b6107c860003361166a565b6001600160a01b0383166107ef5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166108165760405163d92e233d60e01b815260040160405180910390fd5b609780547fffffffffffffffffffffff0000000000000000000000000000000000000000ff166101006001600160a01b038681169190910291909117909155609880546001600160a01b0319169184169190911790558015610503576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a1505050565b6040516020016108f7906020808252601c908201527f494e43454e544956455f4d414b45525f4d414e414745525f524f4c4500000000604082015260600190565b604051602081830303815290604052805190602001206109168161165d565b6001600160a01b03821661093d5760405163d92e233d60e01b815260040160405180910390fd5b50609b80546001600160a01b0319166001600160a01b0392909216919091179055565b6099546040516302045be960e41b81526001600160a01b03848116600483015233921690632045be9090602401602060405180830381865afa1580156109aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ce919061231b565b6001600160a01b0316146109f5576040516304639b6160e11b815260040160405180910390fd5b6001600160a01b038083166000908152609c602090815260408083208151608081018352815486168152600182015486169381019390935260028101549094169082015260039092015460608301528215610a51576000610a54565b60015b6001600160a01b0385166000908152609e602052604081205491925060ff909116908215610af2578115610aea57609a54604051638433524160e01b81526001600160a01b0390911690638433524190610ab79087906000908190600401612338565b600060405180830381600087803b158015610ad157600080fd5b505af1158015610ae5573d6000803e3d6000fd5b505050505b505050505050565b609754610b0f9061010090046001600160a01b0316333088611b89565b609a54609754610b31916001600160a01b036101009092048216911687611c09565b610b3e62093a80866123ad565b90506000866001600160a01b031663ef01df4f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ba4919061231b565b905082610e48576040805160a0810182526001600160801b03808916825260006020808401829052918616838501526060808401919091526001608080850191909152845190810185526097546001600160a01b03610100909104811682526098548116828501528c811682870152609a54865163415ebcf560e11b8152965195969295938601949116926382bd79ea9260048082019392918290030181865afa158015610c56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7a91906123e1565b9052609a5460405163547b6da960e01b81529197506000916001600160a01b039091169063547b6da990610cb6908a90869088906004016123fa565b6020604051808303816000875af1158015610cd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cf9919061231b565b905086609c60008b6001600160a01b03166001600160a01b0316815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060408201518160020160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550606082015181600301559050506001609e60008b6001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff02191690831515021790555080609d600089604001516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a8154816001600160a01b0302191690836001600160a01b031602179055505050610f17565b609a546040516379375fbd60e11b81526001600160a01b039091169063f26ebf7a90610e7d9088908a90600090600401612338565b600060405180830381600087803b158015610e9757600080fd5b505af1158015610eab573d6000803e3d6000fd5b5050609a54604051638433524160e01b81526001600160a01b03909116925063843352419150610ee49088908690600090600401612338565b600060405180830381600087803b158015610efe57600080fd5b505af1158015610f12573d6000803e3d6000fd5b505050505b50505050505050565b604051602001610f61906020808252601c908201527f494e43454e544956455f4d414b45525f4d414e414745525f524f4c4500000000604082015260600190565b60405160208183030381529060405280519060200120610f808161165d565b816001600160801b0316600003610faa576040516305bcf6a760e51b815260040160405180910390fd5b6001600160a01b038316610fd15760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b038084166000908152609c6020908152604080832081516080810183528154861681526001820154861693810193909352600281015490941690820152600390920154606083015261102d62093a80856123ad565b609854909150611051906001600160a01b031633306001600160801b038816611b89565b609a54609854611077916001600160a01b0391821691166001600160801b038716611c09565b6000856001600160a01b031663ef01df4f6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156110b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110db919061231b565b6040805160a08101825260008082526001600160801b03898116602084015282840191909152851660608201526001608082015290850151919250906001600160a01b031661124057604080516080810182526097546001600160a01b036101009091048116825260985481166020808401919091528a821683850152609a54845163415ebcf560e11b815294519394606086019491909316926382bd79ea9260048083019391928290030181865afa15801561119c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111c091906123e1565b9052609a5460405163547b6da960e01b81529195506001600160a01b03169063547b6da9906111f7908790859087906004016123fa565b6020604051808303816000875af1158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123a919061231b565b50610f17565b609a546040516379375fbd60e11b81526001600160a01b039091169063f26ebf7a906112759087906000908b90600401612338565b600060405180830381600087803b15801561128f57600080fd5b505af11580156112a3573d6000803e3d6000fd5b5050609a54604051638433524160e01b81526001600160a01b03909116925063843352419150610ee49087906000908890600401612338565b6000828152606560205260409020600101546112f78161165d565b610503838361170c565b604051602001611342906020808252601c908201527f494e43454e544956455f4d414b45525f4d414e414745525f524f4c4500000000604082015260600190565b604051602081830303815290604052805190602001206113618161165d565b60006113736060840160408501612285565b6001600160a01b03160361139a5760405163d92e233d60e01b815260040160405180910390fd5b81609c60006113af6060840160408501612285565b6001600160a01b0316815260208101919091526040016000206113d28282612497565b50505050565b604051602001611419906020808252601c908201527f494e43454e544956455f4d414b45525f4d414e414745525f524f4c4500000000604082015260600190565b604051602081830303815290604052805190602001206114388161165d565b6001600160a01b03831661145f5760405163d92e233d60e01b815260040160405180910390fd5b6001600160a01b0382166114865760405163d92e233d60e01b815260040160405180910390fd5b60975460ff161561149657600080fd5b609980546001600160a01b038085166001600160a01b031992831617909255609a8054928616929091168217905560408051631baadcbb60e31b815290516000929163dd56e5d89160048083019260209291908290030181865afa158015611502573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611526919061231b565b90506001600160a01b03811661154f5760405163d92e233d60e01b815260040160405180910390fd5b609b80546001600160a01b0319166001600160a01b039290921691909117905550506097805460ff1916600117905550565b6040516020016115c2906020808252601c908201527f494e43454e544956455f4d414b45525f4d414e414745525f524f4c4500000000604082015260600190565b604051602081830303815290604052805190602001206115e18161165d565b6001600160a01b0382166116085760405163d92e233d60e01b815260040160405180910390fd5b609a80546001600160a01b0319166001600160a01b0384169081179091556040519081527f0da0b6509978e29b7a1c411f1bb29021fe98a196fadd6b3f38305cab75b9a0549060200160405180910390a15050565b6116678133611cbb565b50565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff166105955760008281526065602090815260408083206001600160a01b03851684529091529020805460ff191660011790556116c83390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff16156105955760008281526065602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b604080516080810182526000808252602082018190529181018290526060810191909152816001600160801b03166000036117dd576040516305bcf6a760e51b815260040160405180910390fd5b6001600160a01b0383166118045760405163d92e233d60e01b815260040160405180910390fd5b506001600160a01b038083166000818152609c6020908152604080832081516080810183528154871681526001820154871681850152600282015490961686830152600301546060860152928252609e9052205460ff1615611879576040516324925dd360e21b815260040160405180910390fd5b604080516080810182526097546001600160a01b0361010090910481168252609854811660208084019190915286821683850152609a54845163415ebcf560e11b815294519394606086019491909316926382bd79ea9260048083019391928290030181865afa1580156118f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061191591906123e1565b90529392505050565b6040805160a0810182526000808252602082018190529181018290526060810182905260808101829052908061195762093a80866123ad565b61196462093a80866123ad565b6040805160a0810182526001600160801b0398891681529688166020880152918716918601919091529094166060840152505060016080820152919050565b81516097546000916119d09161010090046001600160a01b031690339030906001600160801b0316611b89565b609a5483516097546119fe926001600160a01b036101009092048216929116906001600160801b0316611c09565b60208301516001600160801b031615611a67576020830151609854611a3b916001600160a01b0390911690339030906001600160801b0316611b89565b609a546020840151609854611a67926001600160a01b03918216929116906001600160801b0316611c09565b609a5460405163547b6da960e01b81526000916001600160a01b03169063547b6da990611a9c908890889088906004016123fa565b6020604051808303816000875af1158015611abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611adf919061231b565b604086810180516001600160a01b039081166000908152609c60209081528482208b5181546001600160a01b0319908116918616919091178255828d0151600180840180548416928816929092179091558651600284018054841691881691821790556060909e01516003909301929092559b8352609d82528583208054909c1687851617909b5592519091168152609e90915220805460ff191690961790955550929392505050565b6040516001600160a01b03808516602483015283166044820152606481018290526113d29085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166001600160e01b031990931692909217909152611d30565b604051636eb1769f60e11b81523060048201526001600160a01b038381166024830152600091839186169063dd62ed3e90604401602060405180830381865afa158015611c5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c7e91906123e1565b611c889190612522565b6040516001600160a01b0385166024820152604481018290529091506113d290859063095ea7b360e01b90606401611bbd565b60008281526065602090815260408083206001600160a01b038516845290915290205460ff1661059557611cee81611e15565b611cf9836020611e27565b604051602001611d0a929190612559565b60408051601f198184030181529082905262461bcd60e51b8252610582916004016125da565b6000611d85826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316611fd79092919063ffffffff16565b8051909150156105035780806020019051810190611da3919061260d565b6105035760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610582565b606061047e6001600160a01b03831660145b60606000611e3683600261262f565b611e41906002612522565b67ffffffffffffffff811115611e5957611e59612646565b6040519080825280601f01601f191660200182016040528015611e83576020820181803683370190505b509050600360fc1b81600081518110611e9e57611e9e61265c565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611ecd57611ecd61265c565b60200101906001600160f81b031916908160001a9053506000611ef184600261262f565b611efc906001612522565b90505b6001811115611f81577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110611f3d57611f3d61265c565b1a60f81b828281518110611f5357611f5361265c565b60200101906001600160f81b031916908160001a90535060049490941c93611f7a81612672565b9050611eff565b508315611fd05760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610582565b9392505050565b6060611fe68484600085611fee565b949350505050565b6060824710156120665760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610582565b600080866001600160a01b031685876040516120829190612689565b60006040518083038185875af1925050503d80600081146120bf576040519150601f19603f3d011682016040523d82523d6000602084013e6120c4565b606091505b5091509150610683878383876060831561213f578251600003612138576001600160a01b0385163b6121385760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610582565b5081611fe6565b611fe683838151156121545781518083602001fd5b8060405162461bcd60e51b815260040161058291906125da565b60006020828403121561218057600080fd5b81356001600160e01b031981168114611fd057600080fd5b6000602082840312156121aa57600080fd5b5035919050565b6001600160a01b038116811461166757600080fd5b600080604083850312156121d957600080fd5b8235915060208301356121eb816121b1565b809150509250929050565b80356001600160801b038116811461220d57600080fd5b919050565b60008060006060848603121561222757600080fd5b8335612232816121b1565b9250612240602085016121f6565b915061224e604085016121f6565b90509250925092565b6000806040838503121561226a57600080fd5b8235612275816121b1565b915060208301356121eb816121b1565b60006020828403121561229757600080fd5b8135611fd0816121b1565b600080604083850312156122b557600080fd5b82356122c0816121b1565b946020939093013593505050565b600080604083850312156122e157600080fd5b82356122ec816121b1565b91506122fa602084016121f6565b90509250929050565b60006080828403121561231557600080fd5b50919050565b60006020828403121561232d57600080fd5b8151611fd0816121b1565b60c0810161237682866001600160a01b0380825116835280602083015116602084015280604083015116604084015250606081015160608301525050565b6001600160801b03808516608084015280841660a084015250949350505050565b634e487b7160e01b600052601160045260246000fd5b60006001600160801b03808416806123d557634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b6000602082840312156123f357600080fd5b5051919050565b610140810161243982866001600160a01b0380825116835280602083015116602084015280604083015116604084015250606081015160608301525050565b6001600160801b038085511660808401528060208601511660a08401528060408601511660c08401528060608601511660e08401525062ffffff6080850151166101008301526001600160a01b038316610120830152949350505050565b81356124a2816121b1565b81546001600160a01b0319166001600160a01b0382161782555060208201356124ca816121b1565b6001820180546001600160a01b0319166001600160a01b0383161790555060408201356124f6816121b1565b6002820180546001600160a01b0319166001600160a01b03831617905550606082013560038201555050565b8082018082111561047e5761047e612397565b60005b83811015612550578181015183820152602001612538565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612591816017850160208801612535565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516125ce816028840160208801612535565b01602801949350505050565b60208152600082518060208401526125f9816040850160208701612535565b601f01601f19169190910160400192915050565b60006020828403121561261f57600080fd5b81518015158114611fd057600080fd5b808202811582820484141761047e5761047e612397565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60008161268157612681612397565b506000190190565b6000825161269b818460208701612535565b919091019291505056fea26469706673582212207aa6c5e40c0e6b1db56e6f9dc5039ccb4dd8429c3ffb1ea6435f515a2915076264736f6c63430008160033