More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 345 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim | 21644016 | 3 hrs ago | IN | 0 ETH | 0.00108799 | ||||
Claim | 21639902 | 17 hrs ago | IN | 0 ETH | 0.00135381 | ||||
Claim | 21613606 | 4 days ago | IN | 0 ETH | 0.00256762 | ||||
Claim | 21605123 | 5 days ago | IN | 0 ETH | 0.00044007 | ||||
Claim | 21601671 | 6 days ago | IN | 0 ETH | 0.00252932 | ||||
Claim | 21598747 | 6 days ago | IN | 0 ETH | 0.00035579 | ||||
Claim | 21590737 | 7 days ago | IN | 0 ETH | 0.00089599 | ||||
Claim | 21548354 | 13 days ago | IN | 0 ETH | 0.00279925 | ||||
Claim | 21541091 | 14 days ago | IN | 0 ETH | 0.00079495 | ||||
Claim | 21541088 | 14 days ago | IN | 0 ETH | 0.01453362 | ||||
Claim | 21507960 | 19 days ago | IN | 0 ETH | 0.00489998 | ||||
Claim | 21503782 | 19 days ago | IN | 0 ETH | 0.00287347 | ||||
Claim | 21498847 | 20 days ago | IN | 0 ETH | 0.00026627 | ||||
Claim | 21496861 | 20 days ago | IN | 0 ETH | 0.00119678 | ||||
Claim | 21493043 | 21 days ago | IN | 0 ETH | 0.02133004 | ||||
Claim | 21484724 | 22 days ago | IN | 0 ETH | 0.00092678 | ||||
Claim | 21483391 | 22 days ago | IN | 0 ETH | 0.01332471 | ||||
Claim | 21482051 | 22 days ago | IN | 0 ETH | 0.00053791 | ||||
Claim | 21479524 | 23 days ago | IN | 0 ETH | 0.0030527 | ||||
Claim | 21479055 | 23 days ago | IN | 0 ETH | 0.00076743 | ||||
Claim | 21469706 | 24 days ago | IN | 0 ETH | 0.00077896 | ||||
Claim | 21463744 | 25 days ago | IN | 0 ETH | 0.00047019 | ||||
Claim | 21463684 | 25 days ago | IN | 0 ETH | 0.00047967 | ||||
Claim | 21463666 | 25 days ago | IN | 0 ETH | 0.00046879 | ||||
Claim | 21463508 | 25 days ago | IN | 0 ETH | 0.00079676 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
dYFI Reward Pool
Compiler Version
vyper:0.3.7
Contract Source Code (Vyper language format)
# @version 0.3.7 """ @title dYFI Reward Pool @author Curve Finance, Yearn Finance @license MIT """ from vyper.interfaces import ERC20 interface VotingYFI: def epoch(add: address) -> uint256: view def point_history(addr: address, loc: uint256) -> Point: view def checkpoint(): nonpayable def token() -> ERC20: view def balanceOf(addr: address, epoch: uint256) -> uint256: view def find_epoch_by_timestamp(user: address, ts: uint256) -> uint256: view event Initialized: veyfi: VotingYFI start_time: uint256 event CheckpointToken: time: uint256 tokens: uint256 event Claimed: recipient: indexed(address) amount: uint256 week_cursor: uint256 max_epoch: uint256 event RewardReceived: sender: indexed(address) amount: uint256 struct Point: bias: int128 slope: int128 # - dweight / dt ts: uint256 blk: uint256 # block struct LockedBalance: amount: uint256 end: uint256 WEEK: constant(uint256) = 7 * 86400 TOKEN_CHECKPOINT_DEADLINE: constant(uint256) = 86400 DYFI: immutable(ERC20) VEYFI: immutable(VotingYFI) start_time: public(uint256) time_cursor: public(uint256) time_cursor_of: public(HashMap[address, uint256]) last_token_time: public(uint256) tokens_per_week: public(HashMap[uint256, uint256]) token_last_balance: public(uint256) ve_supply: public(HashMap[uint256, uint256]) @external def __init__(veyfi: VotingYFI, dyfi: address, start_time: uint256): """ @notice Contract constructor @param veyfi VotingYFI contract address @param start_time Epoch time for fee distribution to start """ t: uint256 = start_time / WEEK * WEEK self.start_time = t self.last_token_time = t self.time_cursor = t VEYFI = veyfi DYFI = ERC20(dyfi) log Initialized(veyfi, start_time) @internal def _checkpoint_token(): token_balance: uint256 = DYFI.balanceOf(self) to_distribute: uint256 = token_balance - self.token_last_balance # @dev gas optimization if to_distribute == 0: self.last_token_time = block.timestamp log CheckpointToken(block.timestamp, 0) return self.token_last_balance = token_balance t: uint256 = self.last_token_time since_last: uint256 = block.timestamp - t self.last_token_time = block.timestamp this_week: uint256 = t / WEEK * WEEK next_week: uint256 = 0 for i in range(40): next_week = this_week + WEEK if block.timestamp < next_week: if since_last == 0 and block.timestamp == t: self.tokens_per_week[this_week] += to_distribute else: self.tokens_per_week[this_week] += to_distribute * (block.timestamp - t) / since_last break else: if since_last == 0 and next_week == t: self.tokens_per_week[this_week] += to_distribute else: self.tokens_per_week[this_week] += to_distribute * (next_week - t) / since_last t = next_week this_week = next_week log CheckpointToken(block.timestamp, to_distribute) @external def checkpoint_token(): """ @notice Update the token checkpoint @dev Calculates the total number of tokens to be distributed in a given week. """ assert block.timestamp > self.last_token_time + TOKEN_CHECKPOINT_DEADLINE self._checkpoint_token() @internal def _checkpoint_total_supply(): t: uint256 = self.time_cursor rounded_timestamp: uint256 = block.timestamp / WEEK * WEEK VEYFI.checkpoint() for i in range(40): if t > rounded_timestamp: break else: epoch: uint256 = VEYFI.find_epoch_by_timestamp(VEYFI.address, t) pt: Point = VEYFI.point_history(VEYFI.address, epoch) dt: int128 = 0 if t > pt.ts: # If the point is at 0 epoch, it can actually be earlier than the first deposit # Then make dt 0 dt = convert(t - pt.ts, int128) self.ve_supply[t] = convert(max(pt.bias - pt.slope * dt, 0), uint256) t += WEEK self.time_cursor = t @external def checkpoint_total_supply(): """ @notice Update the veYFI total supply checkpoint @dev The checkpoint is also updated by the first claimant each new epoch week. This function may be called independently of a claim, to reduce claiming gas costs. """ self._checkpoint_total_supply() @internal def _claim(addr: address, last_token_time: uint256) -> uint256: to_distribute: uint256 = 0 max_user_epoch: uint256 = VEYFI.epoch(addr) _start_time: uint256 = self.start_time if max_user_epoch == 0: # No lock = no fees return 0 week_cursor: uint256 = self.time_cursor_of[addr] if week_cursor == 0: user_point: Point = VEYFI.point_history(addr, 1) week_cursor = (user_point.ts + WEEK - 1) / WEEK * WEEK if week_cursor >= last_token_time: return 0 if week_cursor < _start_time: week_cursor = _start_time # Iterate over weeks for i in range(50): if week_cursor >= last_token_time: break balance_of: uint256 = VEYFI.balanceOf(addr, week_cursor) if balance_of == 0: break to_distribute += balance_of * self.tokens_per_week[week_cursor] / self.ve_supply[week_cursor] week_cursor += WEEK self.time_cursor_of[addr] = week_cursor log Claimed(addr, to_distribute, week_cursor, max_user_epoch) return to_distribute @external @nonreentrant('lock') def claim(user: address = msg.sender) -> uint256: """ @notice Claim fees for a user @dev Each call to claim looks at a maximum of 50 user veYFI points. For accounts with many veYFI related actions, this function may need to be called more than once to claim all available fees. In the `Claimed` event that fires, if `claim_epoch` is less than `max_epoch`, the account may claim again. @param user account to claim the fees for @return uint256 amount of the claimed fees """ if block.timestamp >= self.time_cursor: self._checkpoint_total_supply() last_token_time: uint256 = self.last_token_time if block.timestamp > last_token_time + TOKEN_CHECKPOINT_DEADLINE: self._checkpoint_token() last_token_time = block.timestamp last_token_time = last_token_time / WEEK * WEEK amount: uint256 = self._claim(user, last_token_time) if amount != 0: assert DYFI.transfer(user, amount) self.token_last_balance -= amount return amount @external def burn(amount: uint256 = max_value(uint256)) -> bool: """ @notice Receive dYFI into the contract and trigger a token checkpoint @param amount Amount of tokens to pull [default: allowance] @return bool success """ _amount: uint256 = amount if _amount == max_value(uint256): _amount = DYFI.allowance(msg.sender, self) if _amount > 0: DYFI.transferFrom(msg.sender, self, _amount) log RewardReceived(msg.sender, _amount) if block.timestamp > self.last_token_time + TOKEN_CHECKPOINT_DEADLINE: self._checkpoint_token() return True @view @external def token() -> ERC20: return DYFI @view @external def veyfi() -> VotingYFI: return VEYFI
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"name":"Initialized","inputs":[{"name":"veyfi","type":"address","indexed":false},{"name":"start_time","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"CheckpointToken","inputs":[{"name":"time","type":"uint256","indexed":false},{"name":"tokens","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Claimed","inputs":[{"name":"recipient","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false},{"name":"week_cursor","type":"uint256","indexed":false},{"name":"max_epoch","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"RewardReceived","inputs":[{"name":"sender","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"veyfi","type":"address"},{"name":"dyfi","type":"address"},{"name":"start_time","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"checkpoint_token","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"checkpoint_total_supply","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"claim","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"claim","inputs":[{"name":"user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"amount","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"token","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"veyfi","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"start_time","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"time_cursor","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"time_cursor_of","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"last_token_time","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"tokens_per_week","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"token_last_balance","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"ve_supply","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]}]
Contract Creation Code
6020610d346000396000518060a01c610d2f576040526020610d546000396000518060a01c610d2f5760605234610d2f576020610d7460003960005162093a808104905062093a8081028162093a80820418610d2f579050608052608051600155608051600455608051600255604051610c8852606051610c68527f25ff68dd81b34665b5ba7e553ee5511bf6812e12adb4a7e2c0d9e26b3099ce7960405160a0526020610d7460003960005160c052604060a0a1610c686100c661000039610ca8610000f36003361161000c576104b0565b60003560e01c34610c565763811a40fe811861004d5760043610610c5657600454620151808101818110610c56579050421115610c565761004b6104b6565b005b63b21ed502811861006a5760043610610c565761006861075f565b005b634e71d92d81186100875760043610610c5657336102a0526100aa565b631e83409a81186101d15760243610610c56576004358060a01c610c56576102a0525b600054600214610c5657600260005560025442106100ca576100ca61075f565b6004546102c0526102c051620151808101818110610c565790504211156100f9576100f36104b6565b426102c0525b6102c05162093a808104905062093a8081028162093a80820418610c565790506102c0526102a0516040526102c051606052610136610300610984565b610300516102e0526102e051156101c5576020610c6860003960005163a9059cbb610300526102a051610320526102e051610340526020610300604461031c6000855af1610189573d600060003e3d6000fd5b60203d10610c5657610300518060011c610c56576103605261036090505115610c56576006546102e051808203828111610c5657905090506006555b60206102e06003600055f35b6344df8e70811861020e5760043610610c56577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61014052610229565b6342966c68811861034f5760243610610c5657600435610140525b61014051610160526101605119610287576020610c6860003960005163dd62ed3e61018052336101a052306101c0526020610180604461019c845afa610274573d600060003e3d6000fd5b60203d10610c5657610180905051610160525b6101605115610342576020610c686000396000516323b872dd61018052336101a052306101c052610160516101e0526020610180606461019c6000855af16102d4573d600060003e3d6000fd5b60203d10610c5657610180518060011c610c5657610200526102005050337f9ac954606f877c9c9e6deec30e9265abff5a57c7123a34777ca9321eb6c26d8e61016051610180526020610180a2600454620151808101818110610c56579050421115610342576103426104b6565b6001610180526020610180f35b63fc0c546a81186103765760043610610c56576020610c6860003960005160405260206040f35b634068aba3811861039d5760043610610c56576020610c8860003960005160405260206040f35b63834ee41781186103bc5760043610610c565760015460405260206040f35b63127dcbd381186103db5760043610610c565760025460405260206040f35b632a2a314b81186104165760243610610c56576004358060a01c610c5657604052600360405160205260005260406000205460605260206060f35b637f58e8f881186104355760043610610c565760045460405260206040f35b63edf5999781186104625760243610610c5657600560043560205260005260406000205460405260206040f35b6322b04bfc81186104815760043610610c565760065460405260206040f35b63d4dafba881186104ae5760243610610c5657600760043560205260005260406000205460405260206040f35b505b60006000fd5b6020610c686000396000516370a0823160605230608052602060606024607c845afa6104e7573d600060003e3d6000fd5b60203d10610c56576060905051604052604051600654808203828111610c56579050905060605260605161054d57426004557fce749457b74e10f393f2c6b1ce4261b78791376db5a3f501477a809f03f500d642608052600060a05260406080a161075d565b60405160065560045460805242608051808203828111610c56579050905060a0524260045560805162093a808104905062093a8081028162093a80820418610c5657905060c052600060e05260006028905b806101005260c05162093a808101818110610c5657905060e05260e051421061066b5760a0516105d65760805160e05118156105d9565b60005b61064057600560c0516020526000526040600020805460605160e051608051808203828111610c565790509050808202811583838304141715610c56579050905060a0518015610c565780820490509050808201828110610c565790509050815550610710565b600560c05160205260005260406000208054606051808201828110610c565790509050815550610710565b60a05161067d57608051421815610680565b60005b6106e557600560c0516020526000526040600020805460605142608051808203828111610c565790509050808202811583838304141715610c56579050905060a0518015610c565780820490509050808201828110610c565790509050815550610727565b600560c05160205260005260406000208054606051808201828110610c565790509050815550610727565b60e05160805260e05160c05260010181811861059f575b50507fce749457b74e10f393f2c6b1ce4261b78791376db5a3f501477a809f03f500d64261010052606051610120526040610100a15b565b6002546040524262093a808104905062093a8081028162093a80820418610c565790506060526020610c8860003960005163c2c4c5c1608052803b15610c5657600060806004609c6000855af16107bb573d600060003e3d6000fd5b5060006028905b806080526060516040511161097a576020610c8860003960005163b5418e3f60c0526020610c8860003960005160e05260405161010052602060c0604460dc845afa610813573d600060003e3d6000fd5b60203d10610c565760c090505160a0526020610c8860003960005163613a6bea610140526020610c886000396000516101605260a051610180526080610140604461015c845afa610869573d600060003e3d6000fd5b60803d10610c56576101405180600f0b8118610c56576101e0526101605180600f0b8118610c56576102005261018051610220526101a051610240526101e09050805160c052602081015160e052604081015161010052606081015161012052506000610140526101005160405111156108ff5760405161010051808203828111610c56579050905080607f1c610c5657610140525b60c05160e0516101405180820280600f0b8118610c56579050905080820380600f0b8118610c5657905090506000818118600083130218905060008112610c5657600760405160205260005260406000205561095a5661097a565b60405162093a808101818110610c565790506040526001018181186107c2575b5050604051600255565b60006080526020610c88600039600051638b810c3660c05260405160e052602060c0602460dc845afa6109bc573d600060003e3d6000fd5b60203d10610c565760c090505160a05260015460c05260a0516109e3576000815250610c54565b600360405160205260005260406000205460e05260e051610ade576020610c8860003960005163613a6bea610180526040516101a05260016101c0526080610180604461019c845afa610a3b573d600060003e3d6000fd5b60803d10610c56576101805180600f0b8118610c5657610220526101a05180600f0b8118610c5657610240526101c051610260526101e051610280526102209050805161010052602081015161012052604081015161014052606081015161016052506101405162093a808101818110610c5657905060018103818111610c5657905062093a808104905062093a8081028162093a80820418610c5657905060e0525b60605160e05110610af3576000815250610c54565b60c05160e0511015610b065760c05160e0525b60006032905b806101005260605160e05110610b2157610bf8565b6020610c8860003960005162fdd58e610140526040516101605260e051610180526020610140604461015c845afa610b5e573d600060003e3d6000fd5b60203d10610c56576101409050516101205261012051610b7d57610bf8565b60805161012051600560e051602052600052604060002054808202811583838304141715610c565790509050600760e0516020526000526040600020548015610c565780820490509050808201828110610c56579050905060805260e05162093a808101818110610c5657905060e052600101818118610b0c575b505060e05160036040516020526000526040600020556040517f9cdcf2f7714cca3508c7f0110b04a90a80a3a8dd0e35de99689db74d28c5383e6080516101005260e0516101205260a051610140526060610100a26080518152505b565b600080fda165767970657283000307000b005b600080fd00000000000000000000000090c1f9220d90d3966fbee24045edd73e1d588ad500000000000000000000000041252e8691e964f7de35156b68493bab6797a2750000000000000000000000000000000000000000000000000000000065307180
Deployed Bytecode
0x6003361161000c576104b0565b60003560e01c34610c565763811a40fe811861004d5760043610610c5657600454620151808101818110610c56579050421115610c565761004b6104b6565b005b63b21ed502811861006a5760043610610c565761006861075f565b005b634e71d92d81186100875760043610610c5657336102a0526100aa565b631e83409a81186101d15760243610610c56576004358060a01c610c56576102a0525b600054600214610c5657600260005560025442106100ca576100ca61075f565b6004546102c0526102c051620151808101818110610c565790504211156100f9576100f36104b6565b426102c0525b6102c05162093a808104905062093a8081028162093a80820418610c565790506102c0526102a0516040526102c051606052610136610300610984565b610300516102e0526102e051156101c5576020610c6860003960005163a9059cbb610300526102a051610320526102e051610340526020610300604461031c6000855af1610189573d600060003e3d6000fd5b60203d10610c5657610300518060011c610c56576103605261036090505115610c56576006546102e051808203828111610c5657905090506006555b60206102e06003600055f35b6344df8e70811861020e5760043610610c56577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61014052610229565b6342966c68811861034f5760243610610c5657600435610140525b61014051610160526101605119610287576020610c6860003960005163dd62ed3e61018052336101a052306101c0526020610180604461019c845afa610274573d600060003e3d6000fd5b60203d10610c5657610180905051610160525b6101605115610342576020610c686000396000516323b872dd61018052336101a052306101c052610160516101e0526020610180606461019c6000855af16102d4573d600060003e3d6000fd5b60203d10610c5657610180518060011c610c5657610200526102005050337f9ac954606f877c9c9e6deec30e9265abff5a57c7123a34777ca9321eb6c26d8e61016051610180526020610180a2600454620151808101818110610c56579050421115610342576103426104b6565b6001610180526020610180f35b63fc0c546a81186103765760043610610c56576020610c6860003960005160405260206040f35b634068aba3811861039d5760043610610c56576020610c8860003960005160405260206040f35b63834ee41781186103bc5760043610610c565760015460405260206040f35b63127dcbd381186103db5760043610610c565760025460405260206040f35b632a2a314b81186104165760243610610c56576004358060a01c610c5657604052600360405160205260005260406000205460605260206060f35b637f58e8f881186104355760043610610c565760045460405260206040f35b63edf5999781186104625760243610610c5657600560043560205260005260406000205460405260206040f35b6322b04bfc81186104815760043610610c565760065460405260206040f35b63d4dafba881186104ae5760243610610c5657600760043560205260005260406000205460405260206040f35b505b60006000fd5b6020610c686000396000516370a0823160605230608052602060606024607c845afa6104e7573d600060003e3d6000fd5b60203d10610c56576060905051604052604051600654808203828111610c56579050905060605260605161054d57426004557fce749457b74e10f393f2c6b1ce4261b78791376db5a3f501477a809f03f500d642608052600060a05260406080a161075d565b60405160065560045460805242608051808203828111610c56579050905060a0524260045560805162093a808104905062093a8081028162093a80820418610c5657905060c052600060e05260006028905b806101005260c05162093a808101818110610c5657905060e05260e051421061066b5760a0516105d65760805160e05118156105d9565b60005b61064057600560c0516020526000526040600020805460605160e051608051808203828111610c565790509050808202811583838304141715610c56579050905060a0518015610c565780820490509050808201828110610c565790509050815550610710565b600560c05160205260005260406000208054606051808201828110610c565790509050815550610710565b60a05161067d57608051421815610680565b60005b6106e557600560c0516020526000526040600020805460605142608051808203828111610c565790509050808202811583838304141715610c56579050905060a0518015610c565780820490509050808201828110610c565790509050815550610727565b600560c05160205260005260406000208054606051808201828110610c565790509050815550610727565b60e05160805260e05160c05260010181811861059f575b50507fce749457b74e10f393f2c6b1ce4261b78791376db5a3f501477a809f03f500d64261010052606051610120526040610100a15b565b6002546040524262093a808104905062093a8081028162093a80820418610c565790506060526020610c8860003960005163c2c4c5c1608052803b15610c5657600060806004609c6000855af16107bb573d600060003e3d6000fd5b5060006028905b806080526060516040511161097a576020610c8860003960005163b5418e3f60c0526020610c8860003960005160e05260405161010052602060c0604460dc845afa610813573d600060003e3d6000fd5b60203d10610c565760c090505160a0526020610c8860003960005163613a6bea610140526020610c886000396000516101605260a051610180526080610140604461015c845afa610869573d600060003e3d6000fd5b60803d10610c56576101405180600f0b8118610c56576101e0526101605180600f0b8118610c56576102005261018051610220526101a051610240526101e09050805160c052602081015160e052604081015161010052606081015161012052506000610140526101005160405111156108ff5760405161010051808203828111610c56579050905080607f1c610c5657610140525b60c05160e0516101405180820280600f0b8118610c56579050905080820380600f0b8118610c5657905090506000818118600083130218905060008112610c5657600760405160205260005260406000205561095a5661097a565b60405162093a808101818110610c565790506040526001018181186107c2575b5050604051600255565b60006080526020610c88600039600051638b810c3660c05260405160e052602060c0602460dc845afa6109bc573d600060003e3d6000fd5b60203d10610c565760c090505160a05260015460c05260a0516109e3576000815250610c54565b600360405160205260005260406000205460e05260e051610ade576020610c8860003960005163613a6bea610180526040516101a05260016101c0526080610180604461019c845afa610a3b573d600060003e3d6000fd5b60803d10610c56576101805180600f0b8118610c5657610220526101a05180600f0b8118610c5657610240526101c051610260526101e051610280526102209050805161010052602081015161012052604081015161014052606081015161016052506101405162093a808101818110610c5657905060018103818111610c5657905062093a808104905062093a8081028162093a80820418610c5657905060e0525b60605160e05110610af3576000815250610c54565b60c05160e0511015610b065760c05160e0525b60006032905b806101005260605160e05110610b2157610bf8565b6020610c8860003960005162fdd58e610140526040516101605260e051610180526020610140604461015c845afa610b5e573d600060003e3d6000fd5b60203d10610c56576101409050516101205261012051610b7d57610bf8565b60805161012051600560e051602052600052604060002054808202811583838304141715610c565790509050600760e0516020526000526040600020548015610c565780820490509050808201828110610c56579050905060805260e05162093a808101818110610c5657905060e052600101818118610b0c575b505060e05160036040516020526000526040600020556040517f9cdcf2f7714cca3508c7f0110b04a90a80a3a8dd0e35de99689db74d28c5383e6080516101005260e0516101205260a051610140526060610100a26080518152505b565b600080fda165767970657283000307000b00000000000000000000000041252e8691e964f7de35156b68493bab6797a27500000000000000000000000090c1f9220d90d3966fbee24045edd73e1d588ad5
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000090c1f9220d90d3966fbee24045edd73e1d588ad500000000000000000000000041252e8691e964f7de35156b68493bab6797a2750000000000000000000000000000000000000000000000000000000065307180
-----Decoded View---------------
Arg [0] : veyfi (address): 0x90c1f9220d90d3966FbeE24045EDd73E1d588aD5
Arg [1] : dyfi (address): 0x41252E8691e964f7DE35156B68493bAb6797a275
Arg [2] : start_time (uint256): 1697673600
-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 00000000000000000000000090c1f9220d90d3966fbee24045edd73e1d588ad5
Arg [1] : 00000000000000000000000041252e8691e964f7de35156b68493bab6797a275
Arg [2] : 0000000000000000000000000000000000000000000000000000000065307180
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.