0 txs
0 calls
constructor
constructor()
functions
earned
viewfunction earned(address token, uint256 tokenId) view returns (uint256 reward)
feeCollector
viewfunction feeCollector() view returns (address)
firstPeriod
viewfunction firstPeriod() view returns (uint256)
gaugeFactory
viewfunction gaugeFactory() view returns (address)
getRewardTokens
viewfunction getRewardTokens() view returns (address[])
isReward
viewfunction isReward(address) view returns (bool)
lastClaimByToken
viewfunction lastClaimByToken(address, bytes32) view returns (uint256)
left
viewfunction left(address token) view returns (uint256)
nfpManager
viewfunction nfpManager() view returns (address)
periodClaimedAmount
viewfunction periodClaimedAmount(uint256, bytes32, address) view returns (uint256)
periodEarned
viewfunction periodEarned(uint256 period, address token, address owner, uint256 index, int24 tickLower, int24 tickUpper) view returns (uint256 amount)
periodEarned
viewfunction periodEarned(uint256 period, address token, uint256 tokenId) view returns (uint256)
pool
viewfunction pool() view returns (address)
positionHash
purefunction positionHash(address owner, uint256 index, int24 tickLower, int24 tickUpper) pure returns (bytes32)
positionInfo
viewfunction positionInfo(uint256 tokenId) view returns (uint128 liquidity)
rewardRate
viewfunction rewardRate(address token) view returns (uint256)
rewards
viewfunction rewards(uint256) view returns (address)
tokenTotalSupplyByPeriod
viewfunction tokenTotalSupplyByPeriod(uint256, address) view returns (uint256)
voter
viewfunction voter() view returns (address)
cachePeriodEarned
nonpayablefunction cachePeriodEarned(uint256 period, address token, address owner, uint256 index, int24 tickLower, int24 tickUpper, bool caching) returns (uint256 amount)
getPeriodReward
nonpayablefunction getPeriodReward(uint256 period, address[] tokens, address owner, uint256 index, int24 tickLower, int24 tickUpper, address receiver)
getPeriodReward
nonpayablefunction getPeriodReward(uint256 period, address[] tokens, uint256 tokenId, address receiver)
getReward
nonpayablefunction getReward(address owner, uint256 index, int24 tickLower, int24 tickUpper, address[] tokens, address receiver)
getReward
nonpayablefunction getReward(uint256 tokenId, address[] tokens)
getReward
nonpayablefunction getReward(uint256[] tokenIds, address[] tokens)
getRewardForOwner
nonpayablefunction getRewardForOwner(uint256 tokenId, address[] tokens)
initialize
nonpayablefunction initialize(address _gaugeFactory, address _voter, address _nfpManager, address _feeCollector, address _pool)
notifyRewardAmount
nonpayablefunction notifyRewardAmount(address token, uint256 amount)
events
Bribe
event Bribe(address indexed from, address indexed reward, uint256 amount, uint256 period)
ClaimRewards
event ClaimRewards(uint256 period, bytes32 _positionHash, address receiver, address reward, uint256 amount)
Initialized
event Initialized(uint8 version)
NotifyReward
event NotifyReward(address indexed from, address indexed reward, uint256 amount, uint256 period)
errors
No errors.
creation bytecode
0x608080604052346100c1576000549060ff8260081c1661006f575060ff80821603610034575b6040516126ac90816100c78239f35b60ff90811916176000557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160ff8152a138610025565b62461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b6064820152608490fd5b600080fdfe610140806040526004610100526101005136101561001c57600080fd5b600061012052610120513560e01c9081630d52333c1461198c575080631459457a1461175357806316f0115b1461172a578063221ca18c146116d557806329b2f637146115975780633e491d471461144b57806346c96aac146114225780634d5ce038146113df57806362da4afd146113385780637af61833146112e857806389097a6a146110cd5780638ed6a18c14610e1657806398bbc3c714610deb57806399bcc05214610d3e5780639a32421a14610b0f578063a230575614610ad7578063a7852afa1461098a578063b66503cf146106a9578063be171c5e14610656578063c415b95c1461062d578063c4e3a63b1461060d578063c4f59f9b1461053d578063c6cee75814610495578063e102dac414610434578063e92a9fa9146103e5578063eb6ebc2714610396578063f301af42146103535763f5f8d3651461016457600080fd5b3461030e5761017236611b78565b61012051549061018760ff8360101c16611bf8565b62ff00001980921661012051556001600160a01b038061010051541690604051906331a9108f60e11b825285610100518301526020908183602481875afa9283156102bf57610120519361031c575b5060405163020604bf60e21b81526101005181018890528281602481885afa9283156102bf5761012051936102da575b50508061021f931633149182156102cd575b5050611c2a565b60405163133f757160e31b8152610100518101859052916101808084602481865afa9081156102bf576201000096610269956101205192610120519461027f575b50503394612305565b6101205154161761012051556101205161012051f35b80919294506102a39350903d106102b8575b61029b8183611ace565b810190611cd9565b50505050509550935050505090913880610260565b503d610291565b6040513d61012051823e3d90fd5b9091501633143880610218565b9080949350813d8311610315575b6102f28183611ace565b8101031261030e578061030761021f94611c9a565b9293610206565b6101205180fd5b503d6102e8565b9092508181813d831161034c575b6103348183611ace565b8101031261030e5761034590611c9a565b91386101d6565b503d61032a565b3461030e57602036600319011261030e576101005135600b5481101561030e576001600160a01b03610386602092611bab565b9190546040519260031b1c168152f35b3461030e5760c036600319011261030e5760206103dd6103b46119cd565b6103bc6119e3565b906103c5611a40565b906103ce611a50565b92606435916101005135612148565b604051908152f35b3461030e57604036600319011261030e576103fe6119cd565b6101005135610120515260066020526001600160a01b036040610120512091166000526020526020604060002054604051908152f35b3461030e57606036600319011261030e5761044d6119e3565b6101005135610120515260096020526040610120512060243561012051526020526001600160a01b036040610120512091166000526020526020604060002054604051908152f35b3461030e5760c036600319011261030e576104ae6119b7565b6104b6611a60565b906104bf611a70565b9060843567ffffffffffffffff811161030e576104e29036906101005101611b08565b60a435906001600160a01b039384831683036105385762010000956102699461052f61012051549761051960ff8a60101c16611bf8565b62ff000019809916610120515582163314611c2a565b60243590612305565b600080fd5b3461030e576101205136600319011261030e5760405180600b5480835260208093018091600b61012051527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db990610120515b868282106105f05786866105a582880383611ace565b6040519283928184019082855251809152604084019291610120515b8281106105d057505050500390f35b83516001600160a01b0316855286955093810193928101926001016105c1565b83546001600160a01b03168552909301926001928301920161058f565b3461030e576101205136600319011261030e576020600554604051908152f35b3461030e576101205136600319011261030e5760206001600160a01b0360035416604051908152f35b3461030e5760e036600319011261030e5761066f6119cd565b6106776119e3565b61067f611a40565b610687611a50565b60c43591821515830361030e576020946103dd9460643591610100513561201c565b3461030e57604036600319011261030e576106c26119b7565b6024906001600160a01b03908160035416826001541690803b1561030e5760405191632a54db0160e01b835261010051830152818581610120519361012051905af180156102bf57610957575b5061012051549161072560ff8460101c16611bf8565b62ff00001980931661012051558062093a804204921691826101205152602091600c835260406101205120805460ff8116156108f4575b505050604051946370a0823160e01b808752306101005188015283878381885afa9687156102bf5761012051976108c5575b506040516323b872dd60e01b858201523383820152306044820152823560648201526064815260a0810181811067ffffffffffffffff8211176108ae578592916107db91604052876124be565b6040519283918252306101005183015281875afa9081156102bf57610120519161087e575b50620100009561080f91611dd9565b9181610120515260068152604061012051208460005281526040600020610837848254611dab565b90556040519283528201527f52977ea98a2220a03ee9ba5cb003ada08d394ea10155483c95dc2dc77a7eb24b60403392a36101205154161761012051556101205161012051f35b90508281813d83116108a7575b6108958183611ace565b81010312610538575162010000610800565b503d61088b565b83634e487b7160e01b600052604161010051526000fd5b9096508381813d83116108ed575b6108dd8183611ace565b810103126105385751958761078e565b503d6108d3565b60ff19166001179055600b546801000000000000000081101561093c578060016109219201600b55611bab565b819291549060031b9186831b921b191617905585808061075c565b86634e487b7160e01b61012051526041610100515261012051fd5b67ffffffffffffffff811161096f576040528361070f565b83634e487b7160e01b61012051526041610100515261012051fd5b3461030e5761099836611b78565b906101205154906109ae60ff8360101c16611bf8565b62ff00001980921661012051556001600160a01b03806002541633148015610ac8575b6109da90611c2a565b61010051541692604051906331a9108f60e11b82528261010051830152602082602481885afa9182156102bf576101205192610a8c575b5060405163133f757160e31b81526101005181018490529261018080856024818a5afa9182156102bf5762010000976102699661012051936101205195610a5a575b5050612305565b8091929550610a76939450903d106102b85761029b8183611ace565b5050505050969550935050505091928980610a53565b9091506020813d602011610ac0575b81610aa860209383611ace565b8101031261030e57610ab990611c9a565b9085610a11565b3d9150610a9b565b506101005154811633146109d1565b3461030e57608036600319011261030e5760206103dd610af56119b7565b610afd611a60565b610b05611a70565b9160243590611de6565b3461030e57604036600319011261030e57610100513567ffffffffffffffff9081811161030e57610b469036906101005101611a0f565b9160249060243590811161030e57610b649036906101005101611b08565b92610120515b818110610b78576101205180f35b610b83818386611c76565b35906101205154610b9960ff8260101c16611bf8565b62ff00001980911661012051556001600160a01b03908161010051541691604051906331a9108f60e11b8252856101005183015260209081838a81885afa9283156102bf576101205193610d07575b5060405163020604bf60e21b815261010051810188905282818b81895afa9283156102bf576101205193610ccc575b505080610c2f93163314918215610cbf575050611c2a565b60405163133f757160e31b8152610100518101859052936101809283868981845afa9586156102bf576001966201000095610c7d948d9361012051926101205194610c8f5750503394612305565b61012051541617610120515501610b6a565b8091929450610caa9350903d106102b85761029b8183611ace565b50505050509550935050505090918e80610260565b9091501633148a80610218565b9080949350813d8311610d00575b610ce48183611ace565b8101031261030e5780610cf9610c2f94611c9a565b9293610c17565b503d610cda565b9092508181813d8311610d37575b610d1f8183611ace565b8101031261030e57610d3090611c9a565b918b610be8565b503d610d15565b3461030e57602036600319011261030e57610d576119b7565b62093a80908142049060018201808311610dcf5783810290808204851490151715610dcf57610d87904290611dd9565b91610120515260066020526001600160a01b0360406101205120911661012051526020526040610120512054818102918183041490151715610dcf5760209160405191048152f35b634e487b7160e01b610120515260116101005152602461012051fd5b3461030e576101205136600319011261030e5760206001600160a01b03610100515416604051908152f35b3461030e57608036600319011261030e5760243567ffffffffffffffff811161030e57610e499036906101005101611a0f565b610e516119f9565b60e0526101205154610e6860ff8260101c16611bf8565b62ff0000191661012051556001600160a01b036101005154166040516331a9108f60e11b815260443561010051820152602081602481855afa9081156102bf576101205191611093575b5060405163020604bf60e21b8152610100516044359082015290602082602481865afa9182156102bf57610120519261104d575b50906001600160a01b03610f059216331490811561103a575b50611c2a565b60405163133f757160e31b81526101005160443590820152610180908181602481865afa80156102bf57610120516080526101205160a05261100b575b5050610f5660a05160805160443584611de6565b60c052610120515b828110610f7b5761012051805462ff000019166201000017815580f35b60019062093a804204610100513510610fc6575b610fc060e05160c05160a0516080518988610fb6610fb1898d60443595611c76565b611c86565b6101005135612201565b01610f5e565b6001600160a01b03610fdc610fb1838789611c76565b166101205152600a6020526040610120512060c051610120515260205261010051356040610120512055610f8f565b8161102192903d106102b85761029b8183611ace565b50505050509550935050505060805260a0528380610f42565b6001600160a01b03915016331485610eff565b91506020823d60201161108b575b8161106860209383611ace565b8101031261030e576001600160a01b03611084610f0593611c9a565b9250610ee6565b3d915061105b565b90506020813d6020116110c5575b816110ae60209383611ace565b8101031261030e576110bf90611c9a565b84610eb2565b3d91506110a1565b3461030e5760208060031936011261030e5761010051356001600160a01b0390816101005154166040519163133f757160e31b83528061010051840152610180908184602481865afa9283156102bf5761113794610120519361012051956112b6575b5050611de6565b61012051527f568f905fee3c29dbecf3583ddfaf086f7336b6bee88b499cc887c595fb7bf1e88252604061012051206040519161117383611a80565b60019060018452848401928536853761118b85611db8565b526001541660405193849263e57c0ca960e01b84526024840191876101005186015251809252604484019491610120515b888282106112a05750505050508180610120519403915afa9081156102bf57610120519161120a575b506112006fffffffffffffffffffffffffffffffff91611db8565b5116604051908152f35b90503d8061012051833e61121e8183611ace565b810190828183031261030e5780519067ffffffffffffffff821161030e57019080601f8301121561030e5781519161125583611af0565b926112636040519485611ace565b808452848085019160051b83010192831161030e5784809201905b83821061129157505050506112006111e5565b8151815290820190820161127e565b84518852968701968896509093019282016111bc565b80919295506112d2939450903d106102b85761029b8183611ace565b5050505050969550935050505091928780611130565b3461030e57604036600319011261030e576001600160a01b036113096119b7565b166101205152600a60205260406101205120602435610120515260205260206040610120512054604051908152f35b3461030e57606036600319011261030e576113516119cd565b6044356001600160a01b036101005154166040519163133f757160e31b83528061010051840152610180908184602481865afa9283156102bf576020956103dd95610120519461012051966113ad575b50506101005135612148565b80919296506113c9939550903d106102b85761029b8183611ace565b50505050509795509350505050929387806113a1565b3461030e57602036600319011261030e576001600160a01b036114006119b7565b166101205152600c602052602060ff6040610120512054166040519015158152f35b3461030e576101205136600319011261030e5760206001600160a01b0360025416604051908152f35b3461030e57604036600319011261030e576114646119b7565b60243590610120515061012051916001600160a01b0380610100515416916040519263133f757160e31b84528161010051850152610180928385602481855afa9485156102bf5761012051946101205196611565575b50506114c885858585611de6565b9086166101205152600a60205260406101205120906101205152602052604061012051205460055461012051508082116000146115575750939291909594955b62093a80420494965b8588111561152457602087604051908152f35b90919293949561154561154b9161153f88888888888f612148565b90611dab565b97611d86565b96959493929190611511565b905093929190959495611508565b8091929650611581939550903d106102b85761029b8183611ace565b50505050509795509350505050929387806114ba565b3461030e5760e036600319011261030e5760243567ffffffffffffffff811161030e576115ca9036906101005101611a0f565b6115d26119e3565b6115da611a40565b916115e3611a50565b6001600160a01b0360c4351660c4350361030e57610120515461160b60ff8260101c16611bf8565b62ff00001916610120515561162a6001600160a01b0384163314611c2a565b611638818560643586611de6565b90610120515b83811061165b5761012051805462ff000019166201000017815580f35b60019062093a804204610100513510611692575b61168c8585858a8c8b610fb6610fb18960c4359860643595611c76565b0161163e565b6001600160a01b036116a8610fb183888c611c76565b1661012051526020600a81526040610120512090856101205152526101005135604061012051205561166f565b3461030e57602036600319011261030e5760206116f06119b7565b62093a80908142046101205152600683526001600160a01b0360406101205120911661012051528252604061012051205404604051908152f35b3461030e576101205136600319011261030e5760206001600160a01b0360015416604051908152f35b3461030e5760a036600319011261030e5761176c6119b7565b6117746119cd565b9061177d6119e3565b906117866119f9565b926084356001600160a01b039182821680920361030e5761012051549260ff8460081c16159384809561197f575b8015611968575b156118fc5784600160ff1983161761012051556118e7575b5076ffffffffffffffffffffffffffffffffffffffff00000061012051549560181b169581620100009889897fffffffffffffffffff000000000000000000000000000000000000000000ffff8a1617176101205155817fffffffffffffffffffffffff00000000000000000000000000000000000000009516856002541617600255168360035416176003551681610100515416176101005155600154161760015562093a80420460055561188b575b6101205180f35b7fffffffffffffffffff00000000000000000000000000000000000000000000ff16171761012051557f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498602060405160018152a1808080611884565b6101019061ffff1916176101205155876117d3565b608460405162461bcd60e51b8152602061010051820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152fd5b50303b1580156117bb5750600160ff8216146117bb565b50600160ff8216106117b4565b3461030e576101205136600319011261030e576020906001600160a01b03610120515460181c168152f35b600435906001600160a01b038216820361053857565b602435906001600160a01b038216820361053857565b604435906001600160a01b038216820361053857565b606435906001600160a01b038216820361053857565b9181601f840112156105385782359167ffffffffffffffff8311610538576020808501948460051b01011161053857565b608435908160020b820361053857565b60a435908160020b820361053857565b604435908160020b820361053857565b606435908160020b820361053857565b6040810190811067ffffffffffffffff821117611a9c57604052565b634e487b7160e01b600052604160045260246000fd5b60e0810190811067ffffffffffffffff821117611a9c57604052565b90601f8019910116810190811067ffffffffffffffff821117611a9c57604052565b67ffffffffffffffff8111611a9c5760051b60200190565b9080601f83011215610538576020908235611b2281611af0565b93611b306040519586611ace565b81855260208086019260051b82010192831161053857602001905b828210611b59575050505090565b81356001600160a01b0381168103610538578152908301908301611b4b565b90604060031983011261053857600435916024359067ffffffffffffffff821161053857611ba891600401611b08565b90565b600b54811015611be257600b6000527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db90190600090565b634e487b7160e01b600052603260045260246000fd5b15611bff57565b60405162461bcd60e51b81526020600482015260036024820152624c4f4b60e81b6044820152606490fd5b15611c3157565b60405162461bcd60e51b815260206004820152600e60248201527f4e6f7420617574686f72697a65640000000000000000000000000000000000006044820152606490fd5b9190811015611be25760051b0190565b356001600160a01b03811681036105385790565b51906001600160a01b038216820361053857565b51908160020b820361053857565b51906fffffffffffffffffffffffffffffffff8216820361053857565b9190826101809103126105385781516bffffffffffffffffffffffff811681036105385791611d0a60208201611c9a565b91611d1760408301611c9a565b91611d2460608201611c9a565b91608082015162ffffff811681036105385791611d4360a08201611cae565b91611d5060c08301611cae565b91611d5d60e08201611cbc565b916101008201519161012081015191611ba8610160611d7f6101408501611cbc565b9301611cbc565b6000198114611d955760010190565b634e487b7160e01b600052601160045260246000fd5b91908201809211611d9557565b805115611be25760200190565b8051821015611be25760209160051b010190565b91908203918211611d9557565b9290916040519260208401946bffffffffffffffffffffffff199060601b168552603484015260e81b605483015260e81b6057820152603a81526060810181811067ffffffffffffffff821117611a9c5760405251902090565b3d15611e7b573d9067ffffffffffffffff8211611a9c5760405191611e6f601f8201601f191660200184611ace565b82523d6000602084013e565b606090565b80959193949294600095611e9684868484611de6565b938388526020956007875260408981809b20888252895260ff828220541615600014611ffd57505091600094918594936001600160a01b03948560015416958c51948b860196634c8c7ddb60e11b88526024870152166044850152606484015260020b608483015260020b60a482015260a48152611f1381611ab2565b51915afa611f1f611e40565b9015611ff25782818051810103126105385782611f7291015162093a804204871080611fea575b611fac575b86600052600684526001600160a01b0386600020951694856000528452856000205461242f565b9460005260098252836000209060005281528260002091600052526000205480821015600014611fa557611ba891611dd9565b5050600090565b86600052600784528560002083600052845285600020600160ff19825416179055866000526008845285600020836000528452808660002055611f4b565b506001611f46565b505050505050600090565b935093505050611f729281526008855281812084825285522054611f4b565b959093929491948660009661203385878584611de6565b948289526020966007885260408a81809c208982528a5260ff8282205416156000146121275750509160009492918594926001600160a01b03948560015416958d51948c860196634c8c7ddb60e11b88526024870152166044850152606484015260020b608483015260020b60a482015260a481526120b181611ab2565b51915afa906120be611e40565b911561211b5783828051810103126105385783611f729201519062093a80420488109081612113575b50611fac5786600052600684526001600160a01b0386600020951694856000528452856000205461242f565b9050386120e7565b50505050505050600090565b94935094505050611f72935081526008855281812084825285522054611f4b565b9391949290604051956020870195635f0b8e2f60e11b875260248801526001600160a01b038092166044880152166064860152608485015260020b60a484015260020b60c48301526000918260e482015260e48152610120810181811067ffffffffffffffff8211176121ed57604052518291829190305afa906121ca611e40565b91156121e8576020828051810103126121e557506020015190565b80fd5b905090565b634e487b7160e01b84526041600452602484fd5b96959390949192612213938689611e80565b9283612221575b5050505050565b6000918583526009602052604091828420828552602052828420946001600160a01b038091169586865260205283852061225c888254611dab565b905583519163a9059cbb60e01b6020840152169384602483015286604483015260448252608082019082821067ffffffffffffffff8311176122f15750916122cf849260a09896947fc8c7ebd754a625a8677ab2031c7674259be1e8c1a7f3521cbf5edbca8f48099c9a989652856124be565b8151958652602086015284015260608301526080820152a1388080808061221a565b634e487b7160e01b81526041600452602490fd5b929395949161231685828487611de6565b9262093a804204600091600019820197828911935b8b51811015612421576001600160a01b039081612348828f611dc5565b5116600052600a918d6020848152604091826000208d60005282528260002054600554808211600014612407575085918f8f8f908f8f95908f94938f948f938d905b975b8811156123cd575050505050505050509050611d95578f948e936123b286600198611dc5565b5116600052815281600020908c60005252600020550161232b565b6123ee99506123e1899b6123e9999a611dc5565b511688612201565b611d86565b85918f918f8f908f8f95908f938f94928f938d9061238c565b905085918f8f8f908f8f95908f94938f948f938d9061238a565b505050505050505050509050565b90919060001983820992808202928380861095039480860395146124a557506e093a8000000000000000000000000091848311156105385709118082038060991b047302000000000000000000000000000000000000001491141715611d9557634e487b7160e01b600052601160045260246000fd5b935050506e093a80000000000000000000000000900490565b6001600160a01b03169061251e6040516124d781611a80565b6020938482527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564858301526000808587829751910182855af1612518611e40565b916125cb565b8051918215918483156125a3575b5050509050156125395750565b6084906040519062461bcd60e51b82526004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152fd5b9193818094500103126125c7578201519081151582036121e557508038808461252c565b5080fd5b9192901561262d57508151156125df575090565b3b156125e85790565b60405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606490fd5b8251909150156126405750805190602001fd5b6040519062461bcd60e51b82528160208060048301528251908160248401526000935b828510612686575050604492506000838284010152601f80199101168101030190fd5b848101820151868601604401529381019385935061266356fea164736f6c6343000817000a