ETH Price: $3,628.57 (-6.81%)

Contract

0x98d3872b4025ABE58C4667216047Fe549378d90f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deploy_vesting_c...173834022023-06-01 3:50:47566 days ago1685591447IN
0x98d3872b...49378d90f
0 ETH0.0137447246.52020876
Deploy_vesting_c...173833912023-06-01 3:48:35566 days ago1685591315IN
0x98d3872b...49378d90f
0 ETH0.014437647.32755912
Deploy_vesting_c...147837092022-05-16 2:41:42947 days ago1652668902IN
0x98d3872b...49378d90f
0 ETH0.0060353920.10263227
Deploy_vesting_c...147836982022-05-16 2:39:11947 days ago1652668751IN
0x98d3872b...49378d90f
0 ETH0.0071611123.47684762

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
211841002024-11-14 6:19:2334 days ago1731565163
0x98d3872b...49378d90f
 Contract Creation0 ETH
196476262024-04-13 15:45:11249 days ago1713023111
0x98d3872b...49378d90f
 Contract Creation0 ETH
191629582024-02-05 15:28:11317 days ago1707146891
0x98d3872b...49378d90f
 Contract Creation0 ETH
191629582024-02-05 15:28:11317 days ago1707146891
0x98d3872b...49378d90f
 Contract Creation0 ETH
189784182024-01-10 18:44:47343 days ago1704912287
0x98d3872b...49378d90f
 Contract Creation0 ETH
187556302023-12-10 11:52:11374 days ago1702209131
0x98d3872b...49378d90f
 Contract Creation0 ETH
187556302023-12-10 11:52:11374 days ago1702209131
0x98d3872b...49378d90f
 Contract Creation0 ETH
185319942023-11-09 4:25:59405 days ago1699503959
0x98d3872b...49378d90f
 Contract Creation0 ETH
183099552023-10-09 2:32:47436 days ago1696818767
0x98d3872b...49378d90f
 Contract Creation0 ETH
183099552023-10-09 2:32:47436 days ago1696818767
0x98d3872b...49378d90f
 Contract Creation0 ETH
178781552023-08-09 15:10:47497 days ago1691593847
0x98d3872b...49378d90f
 Contract Creation0 ETH
178781552023-08-09 15:10:47497 days ago1691593847
0x98d3872b...49378d90f
 Contract Creation0 ETH
178781552023-08-09 15:10:47497 days ago1691593847
0x98d3872b...49378d90f
 Contract Creation0 ETH
178574112023-08-06 17:29:47500 days ago1691342987
0x98d3872b...49378d90f
 Contract Creation0 ETH
178574112023-08-06 17:29:47500 days ago1691342987
0x98d3872b...49378d90f
 Contract Creation0 ETH
178574112023-08-06 17:29:47500 days ago1691342987
0x98d3872b...49378d90f
 Contract Creation0 ETH
177715992023-07-25 17:28:11512 days ago1690306091
0x98d3872b...49378d90f
 Contract Creation0 ETH
173941392023-06-02 16:09:23565 days ago1685722163
0x98d3872b...49378d90f
 Contract Creation0 ETH
173940342023-06-02 15:47:59565 days ago1685720879
0x98d3872b...49378d90f
 Contract Creation0 ETH
173834022023-06-01 3:50:47566 days ago1685591447
0x98d3872b...49378d90f
 Contract Creation0 ETH
173833912023-06-01 3:48:35566 days ago1685591315
0x98d3872b...49378d90f
 Contract Creation0 ETH
172381882023-05-11 16:07:47587 days ago1683821267
0x98d3872b...49378d90f
 Contract Creation0 ETH
168274722023-03-14 16:46:47645 days ago1678812407
0x98d3872b...49378d90f
 Contract Creation0 ETH
167456742023-03-03 4:42:11656 days ago1677818531
0x98d3872b...49378d90f
 Contract Creation0 ETH
167456742023-03-03 4:42:11656 days ago1677818531
0x98d3872b...49378d90f
 Contract Creation0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.2.16

Optimization Enabled:
N/A

Other Settings:
default evmVersion, MIT license
# @version 0.2.16
"""
@title Vesting Escrow Factory
@author Curve Finance, Yearn Finance
@license MIT
@notice Stores and distributes ERC20 tokens by deploying `VestingEscrowSimple` contracts
"""

from vyper.interfaces import ERC20


interface VestingEscrowSimple:
    def initialize(
        admin: address,
        token: address,
        recipient: address,
        amount: uint256,
        start_time: uint256,
        end_time: uint256,
        cliff_length: uint256,
    ) -> bool: nonpayable


event VestingEscrowCreated:
    funder: indexed(address)
    token: indexed(address)
    recipient: indexed(address)
    escrow: address
    amount: uint256
    vesting_start: uint256
    vesting_duration: uint256
    cliff_length: uint256


target: public(address)

@external
def __init__(target: address):
    """
    @notice Contract constructor
    @dev Prior to deployment you must deploy one copy of `VestingEscrowSimple` which
         is used as a library for vesting contracts deployed by this factory
    @param target `VestingEscrowSimple` contract address
    """
    self.target = target


@external
def deploy_vesting_contract(
    token: address,
    recipient: address,
    amount: uint256,
    vesting_duration: uint256,
    vesting_start: uint256 = block.timestamp,
    cliff_length: uint256 = 0,
) -> address:
    """
    @notice Deploy a new vesting contract
    @param token Address of the ERC20 token being distributed
    @param recipient Address to vest tokens for
    @param amount Amount of tokens being vested for `recipient`
    @param vesting_duration Time period over which tokens are released
    @param vesting_start Epoch time when tokens begin to vest
    """
    assert cliff_length <= vesting_duration  # dev: incorrect vesting cliff
    escrow: address = create_forwarder_to(self.target)
    assert ERC20(token).transferFrom(msg.sender, self, amount)  # dev: funding failed
    assert ERC20(token).approve(escrow, amount)  # dev: approve failed
    VestingEscrowSimple(escrow).initialize(
        msg.sender,
        token,
        recipient,
        amount,
        vesting_start,
        vesting_start + vesting_duration,
        cliff_length,
    )
    log VestingEscrowCreated(msg.sender, token, recipient, escrow, amount, vesting_start, vesting_duration, cliff_length)
    return escrow

Contract Security Audit

Contract ABI

[{"name":"VestingEscrowCreated","inputs":[{"name":"funder","type":"address","indexed":true},{"name":"token","type":"address","indexed":true},{"name":"recipient","type":"address","indexed":true},{"name":"escrow","type":"address","indexed":false},{"name":"amount","type":"uint256","indexed":false},{"name":"vesting_start","type":"uint256","indexed":false},{"name":"vesting_duration","type":"uint256","indexed":false},{"name":"cliff_length","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"target","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"deploy_vesting_contract","inputs":[{"name":"token","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"},{"name":"vesting_duration","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"deploy_vesting_contract","inputs":[{"name":"token","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"},{"name":"vesting_duration","type":"uint256"},{"name":"vesting_start","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"nonpayable","type":"function","name":"deploy_vesting_contract","inputs":[{"name":"token","type":"address"},{"name":"recipient","type":"address"},{"name":"amount","type":"uint256"},{"name":"vesting_duration","type":"uint256"},{"name":"vesting_start","type":"uint256"},{"name":"cliff_length","type":"uint256"}],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"target","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":2418}]

60206102e56101403960206102e560c03960c05160a01c6102e057610140516000556102c856600436101561000d57610297565b600035601c526000513461029d57630551ebac811415610037574261014052600061016052610082565b63ab5eea59811415610059576000610160526020608461014037600050610082565b63c367cc8081141561007d576020608461014037602060a461016037600050610082565b61027d565b60043560a01c61029d5760243560a01c61029d57606435610160511161029d577f602d3d8160093d39f3363d3d373d3d3d363d73000000000000000000000000006101a05260005460601b6101b3527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006101c75260366101a06000f061018052602061026060646323b872dd6101a052336101c052306101e052604435610200526101bc60006004355af11561029d57601f3d111561029d57600050610260511561029d576020610240604463095ea7b36101a052610180516101c0526044356101e0526101bc60006004355af11561029d57601f3d111561029d57600050610240511561029d5760206102e060e4632b4656c86101a052336101c052606060046101e037610140516102405261014051606435818183011061029d57808201905090506102605261016051610280526101bc6000610180515af11561029d57601f3d111561029d576000506102e050602435600435337f4d924f2be6d90da83be47ca6bc3c90e0f5c5e365d7e9797faeb4b9f823505a786101a08080806101805181525050602081019050808060443581525050602081019050808061014051815250506020810190508080606435815250506020810190508080610160518152505060a0905090506101a0a46101805160005260206000f35b63d4b839928114156102955760005460005260206000f35b505b60006000fd5b600080fd5b6100266102c8036100266000396100266102c8036000f35b600080fd000000000000000000000000ab080a16007dc2e34b99f269a0217b4e96f88813

Deployed Bytecode

0x600436101561000d57610297565b600035601c526000513461029d57630551ebac811415610037574261014052600061016052610082565b63ab5eea59811415610059576000610160526020608461014037600050610082565b63c367cc8081141561007d576020608461014037602060a461016037600050610082565b61027d565b60043560a01c61029d5760243560a01c61029d57606435610160511161029d577f602d3d8160093d39f3363d3d373d3d3d363d73000000000000000000000000006101a05260005460601b6101b3527f5af43d82803e903d91602b57fd5bf300000000000000000000000000000000006101c75260366101a06000f061018052602061026060646323b872dd6101a052336101c052306101e052604435610200526101bc60006004355af11561029d57601f3d111561029d57600050610260511561029d576020610240604463095ea7b36101a052610180516101c0526044356101e0526101bc60006004355af11561029d57601f3d111561029d57600050610240511561029d5760206102e060e4632b4656c86101a052336101c052606060046101e037610140516102405261014051606435818183011061029d57808201905090506102605261016051610280526101bc6000610180515af11561029d57601f3d111561029d576000506102e050602435600435337f4d924f2be6d90da83be47ca6bc3c90e0f5c5e365d7e9797faeb4b9f823505a786101a08080806101805181525050602081019050808060443581525050602081019050808061014051815250506020810190508080606435815250506020810190508080610160518152505060a0905090506101a0a46101805160005260206000f35b63d4b839928114156102955760005460005260206000f35b505b60006000fd5b600080fd

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

000000000000000000000000ab080a16007dc2e34b99f269a0217b4e96f88813

-----Decoded View---------------
Arg [0] : target (address): 0xaB080A16007DC2E34b99F269a0217B4e96f88813

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000ab080a16007dc2e34b99f269a0217b4e96f88813


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ 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.