0 txs
0 calls
constructor
constructor(address _forwarder, address _voter, address[] _rewards)
functions
authorized
viewfunction authorized() view returns (address)
balanceOf
viewfunction balanceOf(uint256) view returns (uint256)
checkpoints
viewfunction checkpoints(uint256, uint256) view returns (uint256 timestamp, uint256 balanceOf)
DURATION
viewfunction DURATION() view returns (uint256)
earned
viewfunction earned(address token, uint256 tokenId) view returns (uint256)
getPriorBalanceIndex
viewfunction getPriorBalanceIndex(uint256 tokenId, uint256 timestamp) view returns (uint256)
getPriorSupplyIndex
viewfunction getPriorSupplyIndex(uint256 timestamp) view returns (uint256)
isReward
viewfunction isReward(address) view returns (bool)
isTrustedForwarder
viewfunction isTrustedForwarder(address forwarder) view returns (bool)
lastEarn
viewfunction lastEarn(address, uint256) view returns (uint256)
numCheckpoints
viewfunction numCheckpoints(uint256) view returns (uint256)
rewards
viewfunction rewards(uint256) view returns (address)
rewardsListLength
viewfunction rewardsListLength() view returns (uint256)
supplyCheckpoints
viewfunction supplyCheckpoints(uint256) view returns (uint256 timestamp, uint256 supply)
supplyNumCheckpoints
viewfunction supplyNumCheckpoints() view returns (uint256)
tokenRewardsPerEpoch
viewfunction tokenRewardsPerEpoch(address, uint256) view returns (uint256)
totalSupply
viewfunction totalSupply() view returns (uint256)
ve
viewfunction ve() view returns (address)
voter
viewfunction voter() view returns (address)
_deposit
nonpayablefunction _deposit(uint256 amount, uint256 tokenId)
_withdraw
nonpayablefunction _withdraw(uint256 amount, uint256 tokenId)
getReward
nonpayablefunction getReward(uint256 tokenId, address[] tokens)
notifyRewardAmount
nonpayablefunction notifyRewardAmount(address token, uint256 amount)
events
ClaimRewards
event ClaimRewards(address indexed from, address indexed reward, uint256 amount)
Deposit
event Deposit(address indexed from, uint256 indexed tokenId, uint256 amount)
NotifyReward
event NotifyReward(address indexed from, address indexed reward, uint256 indexed epoch, uint256 amount)
Withdraw
event Withdraw(address indexed from, uint256 indexed tokenId, uint256 amount)
errors
InvalidReward
error InvalidReward()
NotAuthorized
error NotAuthorized()
NotEscrowToken
error NotEscrowToken()
NotGauge
error NotGauge()
NotSingleToken
error NotSingleToken()
NotVotingEscrow
error NotVotingEscrow()
NotWhitelisted
error NotWhitelisted()
ZeroAmount
error ZeroAmount()
creation bytecode
0x60e06040523480156200001157600080fd5b5060405162001be838038062001be8833981016040819052620000349162000233565b6001600160a01b038084166080526001600055821660a081905260408051630fc2838b60e11b81529051859285928592859285929091631f850716916004808201926020929091908290030181865afa15801562000096573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000bc91906200032d565b6001600160a01b031660c0525050805160005b81811015620001d15760006001600160a01b0316838281518110620000f857620000f862000352565b60200260200101516001600160a01b031614620001bc576001600760008584815181106200012a576200012a62000352565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060006101000a81548160ff021916908315150217905550600683828151811062000180576200018062000352565b60209081029190910181015182546001810184556000938452919092200180546001600160a01b0319166001600160a01b039092169190911790555b80620001c88162000368565b915050620000cf565b5050600180546001600160a01b0319166001600160a01b03939093169290921790915550620003909350505050565b80516001600160a01b03811681146200021857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156200024957600080fd5b620002548462000200565b925060206200026581860162000200565b60408601519093506001600160401b03808211156200028357600080fd5b818701915087601f8301126200029857600080fd5b815181811115620002ad57620002ad6200021d565b8060051b604051601f19603f83011681018181108582111715620002d557620002d56200021d565b60405291825284820192508381018501918a831115620002f457600080fd5b938501935b828510156200031d576200030d8562000200565b84529385019392850192620002f9565b8096505050505050509250925092565b6000602082840312156200034057600080fd5b6200034b8262000200565b9392505050565b634e487b7160e01b600052603260045260246000fd5b6000600182016200038957634e487b7160e01b600052601160045260246000fd5b5060010190565b60805160a05160c051611805620003e36000396000818161017d01528181610be60152610ccb0152600081816101e2015281816109a60152610c5f0152600081816102ae0152610d7101526118056000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806392777b29116100c3578063e8111a121161007c578063e8111a121461037f578063f25e55a514610388578063f301af42146103b3578063f3207723146103c6578063f5f8d365146103d9578063f7412baf146103ec57600080fd5b806392777b29146102f15780639cc7f7081461031c5780639e2bf22c1461033c578063a28d4c9c14610351578063b66503cf14610364578063e68863961461037757600080fd5b806346c96aac1161011557806346c96aac146101dd57806349dcc204146102045780634d5ce0381461024b578063505897931461027e578063572b6c051461029e57806376f4be36146102de57600080fd5b806318160ddd146101525780631be052891461016e5780631f850716146101785780633e491d47146101b7578063456cb7c6146101ca575b600080fd5b61015b60025481565b6040519081526020015b60405180910390f35b61015b62093a8081565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610165565b61015b6101c536600461150e565b610413565b60015461019f906001600160a01b031681565b61019f7f000000000000000000000000000000000000000000000000000000000000000081565b61023661021236600461153a565b60086020908152600092835260408084209091529082529020805460019091015482565b60408051928352602083019190915201610165565b61026e61025936600461155c565b60076020526000908152604090205460ff1681565b6040519015158152602001610165565b61015b61028c366004611579565b60096020526000908152604090205481565b61026e6102ac36600461155c565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0390811691161490565b61015b6102ec366004611579565b6105f9565b61015b6102ff36600461150e565b600460209081526000928352604080842090915290825290205481565b61015b61032a366004611579565b60036020526000908152604090205481565b61034f61034a36600461153a565b61072d565b005b61015b61035f36600461153a565b61080d565b61034f61037236600461150e565b610952565b60065461015b565b61015b600b5481565b61015b61039636600461150e565b600560209081526000928352604080842090915290825290205481565b61019f6103c1366004611579565b610aae565b61034f6103d436600461153a565b610ad8565b61034f6103e73660046115a8565b610bab565b6102366103fa366004611579565b600a602052600090815260409020805460019091015482565b6000818152600960205260408120548103610430575060006105f3565b6001600160a01b038316600090815260056020908152604080832085845290915281205460019062093a80810690038261046a868361080d565b60008781526008602090815260408083208484528252918290208251808401909352805480845260019091015491830191909152919250906104b590849062093a8081069003610d57565b9250600062093a806104cc8542838106900361168f565b6104d691906116a2565b905080156105ea5760005b818110156105e8576105068960016104fc62093a80896116c4565b61035f919061168f565b60008a815260086020908152604080832084845282528083208151808301909252805482526001908101549282019290925292965091945061057a91600a91906105619061055762093a808b6116c4565b6102ec919061168f565b8152602001908152602001600020600101546001610d57565b6001600160a01b038b1660009081526004602090815260408083208984528252909120549085015191975087916105b191906116d7565b6105bb91906116a2565b6105c590886116c4565b96506105d462093a80866116c4565b9450806105e0816116ee565b9150506104e1565b505b50939450505050505b92915050565b600b5460009080820361060f5750600092915050565b82600a600061061f60018561168f565b815260200190815260200160002060000154116106485761064160018261168f565b9392505050565b60008052600a6020527f13da86008ba1c6922daee3e07db95305ef49ebced9f5467a0b8613fcc6b343e3548310156106835750600092915050565b60008061069160018461168f565b90505b8181111561072557600060026106aa848461168f565b6106b491906116a2565b6106be908361168f565b6000818152600a60209081526040918290208251808401909352805480845260019091015491830191909152919250908790036106ff575095945050505050565b80518711156107105781935061071e565b61071b60018361168f565b92505b5050610694565b509392505050565b6000610737610d6d565b6001549091506001600160a01b038083169116146107685760405163ea8e4eb560e01b815260040160405180910390fd5b826002600082825461077a919061168f565b90915550506000828152600360205260408120805485929061079d90849061168f565b90915550506000828152600360205260409020546107bc908390610db1565b6107c4610ebb565b81816001600160a01b03167ff279e6a1f5e320cca91135676d9cb6e44ca8a08c0b88342bcdb1144f6511b5688560405161080091815260200190565b60405180910390a3505050565b60008281526009602052604081205480820361082d5760009150506105f3565b6000848152600860205260408120849161084860018561168f565b815260200190815260200160002060000154116108725761086a60018261168f565b9150506105f3565b600084815260086020908152604080832083805290915290205483101561089d5760009150506105f3565b6000806108ab60018461168f565b90505b8181111561094957600060026108c4848461168f565b6108ce91906116a2565b6108d8908361168f565b6000888152600860209081526040808320848452825291829020825180840190935280548084526001909101549183019190915291925090879003610923575093506105f392505050565b805187111561093457819350610942565b61093f60018361168f565b92505b50506108ae565b50949350505050565b61095a610f73565b6000610964610d6d565b6001600160a01b03841660009081526007602052604090205490915060ff16610a945760405163559bfa4360e11b81526001600160a01b0384811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063ab37f48690602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a119190611707565b610a2e57604051630b094f2760e31b815260040160405180910390fd5b6001600160a01b0383166000818152600760205260408120805460ff191660019081179091556006805491820181559091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0180546001600160a01b03191690911790555b610a9f818484610fd1565b50610aaa6001600055565b5050565b60068181548110610abe57600080fd5b6000918252602090912001546001600160a01b0316905081565b6000610ae2610d6d565b6001549091506001600160a01b03808316911614610b135760405163ea8e4eb560e01b815260040160405180910390fd5b8260026000828254610b2591906116c4565b909155505060008281526003602052604081208054859290610b489084906116c4565b9091555050600082815260036020526040902054610b67908390610db1565b610b6f610ebb565b81816001600160a01b03167f90890809c654f11d6e72a28fa60149770a0d11ec6c92319d6ceb2bb0a4ea1a158560405161080091815260200190565b610bb3610f73565b6000610bbd610d6d565b60405163430c208160e01b81526001600160a01b038083166004830152602482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063430c2081906044016020604051808303816000875af1158015610c31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c559190611707565b158015610c9457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316816001600160a01b031614155b15610cb25760405163ea8e4eb560e01b815260040160405180910390fd5b6040516331a9108f60e11b8152600481018490526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690636352211e90602401602060405180830381865afa158015610d1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d3e9190611729565b9050610d4b8185856110ab565b5050610aaa6001600055565b6000818311610d665781610641565b5090919050565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163303610dac575060131936013560601c90565b503390565b600082815260096020526040902054428115801590610e0f575062093a80810681036000858152600860205260408120610e0d91610df060018761168f565b81526020019081526020016000206000015462093a808106900390565b145b15610e65576040805180820182528281526020808201869052600087815260089091529182209091610e4260018661168f565b815260208082019290925260400160002082518155910151600190910155610eb5565b6040805180820182528281526020808201868152600088815260088352848120878252909252929020905181559051600191820155610ea59083906116c4565b6000858152600960205260409020555b50505050565b600b54428115801590610ee5575062093a8081068103610ee3600a6000610df060018761168f565b145b15610f3057604080518082019091528181526002546020820152600a6000610f0e60018661168f565b8152602080820192909252604001600020825181559101516001909101555050565b60408051808201825282815260025460208083019182526000868152600a90915292909220905181559051600191820155610f6c9083906116c4565b600b555050565b600260005403610fca5760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b6002600055565b80600003610ff257604051631f2a200560e01b815260040160405180910390fd5b6110076001600160a01b0383168430846111e4565b60006110184262093a808106900390565b6001600160a01b03841660009081526004602090815260408083208484529091528120805492935084929091906110509084906116c4565b9250508190555080836001600160a01b0316856001600160a01b03167f52977ea98a2220a03ee9ba5cb003ada08d394ea10155483c95dc2dc77a7eb24b8560405161109d91815260200190565b60405180910390a450505050565b805160005b818110156111dd5760006110dd8483815181106110cf576110cf611746565b602002602001015186610413565b905042600560008685815181106110f6576110f6611746565b6020908102919091018101516001600160a01b031682528181019290925260409081016000908120898252909252902055801561116457611164868286858151811061114457611144611746565b60200260200101516001600160a01b031661124f9092919063ffffffff16565b83828151811061117657611176611746565b60200260200101516001600160a01b0316866001600160a01b03167f9aa05b3d70a9e3e2f004f039648839560576334fb45c81f91b6db03ad9e2efc9836040516111c291815260200190565b60405180910390a350806111d5816116ee565b9150506110b0565b5050505050565b6040516001600160a01b0380851660248301528316604482015260648101829052610eb59085906323b872dd60e01b906084015b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b031990931692909217909152611284565b6040516001600160a01b03831660248201526044810182905261127f90849063a9059cbb60e01b90606401611218565b505050565b60006112d9826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b03166113569092919063ffffffff16565b80519091501561127f57808060200190518101906112f79190611707565b61127f5760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610fc1565b6060611365848460008561136d565b949350505050565b6060824710156113ce5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610fc1565b600080866001600160a01b031685876040516113ea9190611780565b60006040518083038185875af1925050503d8060008114611427576040519150601f19603f3d011682016040523d82523d6000602084013e61142c565b606091505b509150915061143d87838387611448565b979650505050505050565b606083156114b75782516000036114b0576001600160a01b0385163b6114b05760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610fc1565b5081611365565b61136583838151156114cc5781518083602001fd5b8060405162461bcd60e51b8152600401610fc1919061179c565b6001600160a01b03811681146114fb57600080fd5b50565b8035611509816114e6565b919050565b6000806040838503121561152157600080fd5b823561152c816114e6565b946020939093013593505050565b6000806040838503121561154d57600080fd5b50508035926020909101359150565b60006020828403121561156e57600080fd5b8135610641816114e6565b60006020828403121561158b57600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600080604083850312156115bb57600080fd5b8235915060208084013567ffffffffffffffff808211156115db57600080fd5b818601915086601f8301126115ef57600080fd5b81358181111561160157611601611592565b8060051b604051601f19603f8301168101818110858211171561162657611626611592565b60405291825284820192508381018501918983111561164457600080fd5b938501935b828510156116695761165a856114fe565b84529385019392850192611649565b8096505050505050509250929050565b634e487b7160e01b600052601160045260246000fd5b818103818111156105f3576105f3611679565b6000826116bf57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156105f3576105f3611679565b80820281158282048414176105f3576105f3611679565b60006001820161170057611700611679565b5060010190565b60006020828403121561171957600080fd5b8151801515811461064157600080fd5b60006020828403121561173b57600080fd5b8151610641816114e6565b634e487b7160e01b600052603260045260246000fd5b60005b8381101561177757818101518382015260200161175f565b50506000910152565b6000825161179281846020870161175c565b9190910192915050565b60208152600082518060208401526117bb81604085016020870161175c565b601f01601f1916919091016040019291505056fea2646970667358221220fbfe337e39c42b6b5b30cfb8ff9bb8a86c0221c24ea2822642a5e59f0f2cffcf64736f6c6343000813003300000000000000000000000015e62707fca7352fbe35f51a8d6b0f8066a05dcc00000000000000000000000016613524e02ad97edfef371bc883f2f5d6c480a500000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000002000000000000000000000000420000000000000000000000000000000000000600000000000000000000000052b492a33e447cdb854c7fc19f1e57e8bfa1777d