Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 25 from a total of 2,866 transactions
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Multi Claim | 22916256 | 223 days ago | IN | 0 ETH | 0.00044596 | ||||
| Multi Claim | 22916253 | 223 days ago | IN | 0 ETH | 0.00028925 | ||||
| Multi Claim | 22891435 | 227 days ago | IN | 0 ETH | 0.00097693 | ||||
| Multi Claim | 22888640 | 227 days ago | IN | 0 ETH | 0.00022272 | ||||
| Multi Claim | 22867730 | 230 days ago | IN | 0 ETH | 0.00030669 | ||||
| Multi Claim | 22865912 | 231 days ago | IN | 0 ETH | 0.00025033 | ||||
| Multi Claim | 22849717 | 233 days ago | IN | 0 ETH | 0.00043089 | ||||
| Multi Claim | 22834209 | 235 days ago | IN | 0 ETH | 0.00049796 | ||||
| Multi Claim | 22797247 | 240 days ago | IN | 0 ETH | 0.00045619 | ||||
| Multi Claim | 22796678 | 240 days ago | IN | 0 ETH | 0.00036734 | ||||
| Multi Claim | 22795402 | 240 days ago | IN | 0 ETH | 0.000096 | ||||
| Multi Claim | 22739773 | 248 days ago | IN | 0 ETH | 0.00037059 | ||||
| Multi Claim | 22739164 | 248 days ago | IN | 0 ETH | 0.00034023 | ||||
| Multi Claim | 22721026 | 251 days ago | IN | 0 ETH | 0.00005674 | ||||
| Multi Claim | 22712866 | 252 days ago | IN | 0 ETH | 0.00021359 | ||||
| Multi Claim | 22711235 | 252 days ago | IN | 0 ETH | 0.00015102 | ||||
| Multi Claim | 22683714 | 256 days ago | IN | 0 ETH | 0.00029495 | ||||
| Multi Claim | 22673207 | 257 days ago | IN | 0 ETH | 0.00019929 | ||||
| Multi Claim | 22662492 | 259 days ago | IN | 0 ETH | 0.00018541 | ||||
| Multi Claim | 22650137 | 261 days ago | IN | 0 ETH | 0.00016608 | ||||
| Multi Claim | 22649695 | 261 days ago | IN | 0 ETH | 0.00029251 | ||||
| Multi Claim | 22648202 | 261 days ago | IN | 0 ETH | 0.00052505 | ||||
| Multi Claim | 22646947 | 261 days ago | IN | 0 ETH | 0.00045493 | ||||
| Multi Claim | 22643814 | 262 days ago | IN | 0 ETH | 0.00026577 | ||||
| Multi Claim | 22643800 | 262 days ago | IN | 0 ETH | 0.00039391 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
MerkleDistributor
Compiler Version
v0.8.24+commit.e11b9ed9
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2025-02-10
*/
/**
*Submitted for verification at Etherscan.io on 2024-11-21
*/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
contract MerkleDistributor {
IERC20 public token = IERC20(0xFF3be01107A4bf55A3192d2e56b35ba9844Ab5a4);
address public owner;
uint256 public timeUnit = 30 days; // Set to 30 days for production
struct Distribution {
bytes32 merkleRoot; // Merkle root for this distribution
uint256 cliffPeriod; // Cliff period before vesting starts
uint256 cliffTimestamp; // Cliff period before vesting starts
uint256 tgePercentage; // Initial percentage claimable at TGE
uint256 totalRounds; // Total number of vesting rounds
}
Distribution[] public distributions;
mapping(uint256 => uint256) public claimedPerDistribution; // Tracks claimed amounts per distribution
mapping(address => mapping(uint256 => uint256)) public claimedAmount; // Tracks claimed amounts per user per distribution
mapping(address => mapping(uint256 => bool)) public hasClaimed; // Tracks if a user has claimed all tokens in a distribution
event Claimed(address indexed account, uint256 amount, uint256 distributionIndex);
constructor(
bytes32[] memory _merkleRoots,
uint256[] memory _cliffPeriods,
uint256[] memory _tgePercentages,
uint256[] memory _totalRounds
) {
require(
_merkleRoots.length == _cliffPeriods.length &&
_merkleRoots.length == _tgePercentages.length &&
_merkleRoots.length == _totalRounds.length,
"Input arrays length mismatch"
);
owner = msg.sender;
for (uint256 i = 0; i < _merkleRoots.length; i++) {
distributions.push(Distribution({
merkleRoot: _merkleRoots[i],
cliffPeriod: _cliffPeriods[i],
cliffTimestamp: block.timestamp + (_cliffPeriods[i] * timeUnit),
tgePercentage: _tgePercentages[i],
totalRounds: _totalRounds[i]
}));
}
}
modifier onlyOwner() {
require(msg.sender == owner, "Not owner");
_;
}
/** @notice Allows users to claim their tokens or others to claim on their behalf */
function claim(
address claimant,
uint256 amount,
bytes32[] calldata merkleProof,
uint256 distributionIndex
) public {
require(distributionIndex < distributions.length, "Invalid distribution index");
Distribution storage dist = distributions[distributionIndex];
// Verify the merkle proof
bytes32 node = keccak256(abi.encodePacked(claimant, amount));
require(MerkleProof.verify(merkleProof, dist.merkleRoot, node), "Invalid proof");
// Calculate amount to claim
uint256 totalClaimableAmount = getTotalClaimableAmount(amount, distributionIndex);
uint256 amountToClaim = totalClaimableAmount - claimedAmount[claimant][distributionIndex];
require(amountToClaim > 0, "No tokens to claim");
// Update claimed amount
claimedPerDistribution[distributionIndex] += amountToClaim;
claimedAmount[claimant][distributionIndex] += amountToClaim;
// Check if fully claimed
if (claimedAmount[claimant][distributionIndex] == amount) {
hasClaimed[claimant][distributionIndex] = true;
}
// Mint tokens to the claimant
require(token.mint(claimant, amountToClaim), "Mint failed");
emit Claimed(claimant, amountToClaim, distributionIndex);
}
/** @notice Allows batch claiming for efficiency */
function multiClaim(
address[] calldata claimants,
uint256[] calldata amounts,
bytes32[][] calldata merkleProofs,
uint256[] calldata distributionIndexes
) external {
require(
amounts.length == distributionIndexes.length &&
amounts.length == merkleProofs.length &&
claimants.length == amounts.length,
"Mismatched inputs"
);
for (uint256 i = 0; i < amounts.length; i++) {
claim(claimants[i], amounts[i], merkleProofs[i], distributionIndexes[i]);
}
}
function setToken(address _token) public onlyOwner {
require(address(token) == address(0), "Token already set");
token = IERC20(_token);
owner = address(0);
}
function getTotalClaimableAmount(
uint256 amount,
uint256 distributionIndex
) public view returns (uint256) {
require(distributionIndex < distributions.length, "Invalid distribution index");
Distribution storage dist = distributions[distributionIndex];
// Calculate TGE and vesting amounts
uint256 tgeAmount = (amount * dist.tgePercentage) / 100;
uint256 vestingAmount = amount - tgeAmount;
uint256 totalClaimableAmount;
if (block.timestamp < dist.cliffTimestamp) {
// Only TGE amount is claimable before cliff ends
totalClaimableAmount = tgeAmount;
} else {
if (dist.totalRounds == 1) {
// All remaining tokens are claimable after cliff ends
totalClaimableAmount = amount;
} else {
uint256 perRoundVestingAmount = vestingAmount / dist.totalRounds;
uint256 elapsedTime = block.timestamp - dist.cliffTimestamp;
uint256 currentRound = (elapsedTime / timeUnit) + 1; // Add 1 to account for the first round
uint256 vestedAmount = perRoundVestingAmount * currentRound;
if (currentRound >= dist.totalRounds) {
vestedAmount = vestingAmount;
}
totalClaimableAmount = tgeAmount + vestedAmount;
}
}
return totalClaimableAmount;
}
}
interface IERC20 {
function totalSupply() external view returns (uint256);
function balanceOf(address account) external view returns (uint256);
function transfer(address recipient, uint256 amount) external returns (bool);
function allowance(address owner, address spender) external view returns (uint256);
function approve(address spender, uint256 amount) external returns (bool);
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
function mint(address to, uint256 amount) external returns (bool);
event Transfer(address indexed from, address indexed to, uint256 value);
event Approval(address indexed owner, address indexed spender, uint256 value);
}
library MerkleProof {
function verify(
bytes32[] memory proof,
bytes32 root,
bytes32 leaf
) internal pure returns (bool) {
bytes32 computedHash = leaf;
for (uint256 i = 0; i < proof.length; i++) {
bytes32 proofElement = proof[i];
if (computedHash <= proofElement) {
// Hash(current computed hash + current proof element)
computedHash = keccak256(abi.encodePacked(computedHash, proofElement));
} else {
// Hash(current proof element + current computed hash)
computedHash = keccak256(abi.encodePacked(proofElement, computedHash));
}
}
// Verify the computed hash matches the root
return computedHash == root;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"bytes32[]","name":"_merkleRoots","type":"bytes32[]"},{"internalType":"uint256[]","name":"_cliffPeriods","type":"uint256[]"},{"internalType":"uint256[]","name":"_tgePercentages","type":"uint256[]"},{"internalType":"uint256[]","name":"_totalRounds","type":"uint256[]"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"distributionIndex","type":"uint256"}],"name":"Claimed","type":"event"},{"inputs":[{"internalType":"address","name":"claimant","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"bytes32[]","name":"merkleProof","type":"bytes32[]"},{"internalType":"uint256","name":"distributionIndex","type":"uint256"}],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"claimedAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"claimedPerDistribution","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"distributions","outputs":[{"internalType":"bytes32","name":"merkleRoot","type":"bytes32"},{"internalType":"uint256","name":"cliffPeriod","type":"uint256"},{"internalType":"uint256","name":"cliffTimestamp","type":"uint256"},{"internalType":"uint256","name":"tgePercentage","type":"uint256"},{"internalType":"uint256","name":"totalRounds","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"distributionIndex","type":"uint256"}],"name":"getTotalClaimableAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"hasClaimed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"claimants","type":"address[]"},{"internalType":"uint256[]","name":"amounts","type":"uint256[]"},{"internalType":"bytes32[][]","name":"merkleProofs","type":"bytes32[][]"},{"internalType":"uint256[]","name":"distributionIndexes","type":"uint256[]"}],"name":"multiClaim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_token","type":"address"}],"name":"setToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"timeUnit","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60806040525f80546001600160a01b03191673ff3be01107a4bf55a3192d2e56b35ba9844ab5a417905562278d006002553480156200003c575f80fd5b50604051620010e1380380620010e18339810160408190526200005f91620002f9565b8251845114801562000072575081518451145b801562000080575080518451145b620000d15760405162461bcd60e51b815260206004820152601c60248201527f496e70757420617272617973206c656e677468206d69736d6174636800000000604482015260640160405180910390fd5b600180546001600160a01b031916331790555f5b84518110156200020e5760036040518060a0016040528087848151811062000111576200011162000406565b6020026020010151815260200186848151811062000133576200013362000406565b6020026020010151815260200160025487858151811062000158576200015862000406565b60200260200101516200016c91906200042e565b6200017890426200044e565b815260200185848151811062000192576200019262000406565b60200260200101518152602001848481518110620001b457620001b462000406565b6020908102919091018101519091528254600181810185555f9485529382902083516005909202019081559082015181840155604082015160028201556060820151600382015560809091015160049091015501620000e5565b505050505062000464565b634e487b7160e01b5f52604160045260245ffd5b604051601f8201601f191681016001600160401b038111828210171562000258576200025862000219565b604052919050565b5f6001600160401b038211156200027b576200027b62000219565b5060051b60200190565b5f82601f83011262000295575f80fd5b81516020620002ae620002a88362000260565b6200022d565b8083825260208201915060208460051b870101935086841115620002d0575f80fd5b602086015b84811015620002ee5780518352918301918301620002d5565b509695505050505050565b5f805f80608085870312156200030d575f80fd5b84516001600160401b038082111562000324575f80fd5b818701915087601f83011262000338575f80fd5b815160206200034b620002a88362000260565b82815260059290921b8401810191818101908b8411156200036a575f80fd5b948201945b838610156200038a578551825294820194908201906200036f565b918a0151919850909350505080821115620003a3575f80fd5b620003b18883890162000285565b94506040870151915080821115620003c7575f80fd5b620003d58883890162000285565b93506060870151915080821115620003eb575f80fd5b50620003fa8782880162000285565b91505092959194509250565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176200044857620004486200041a565b92915050565b808201808211156200044857620004486200041a565b610c6f80620004725f395ff3fe608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806355b4b1a41161006e57806355b4b1a41461013c5780638da5cb5b14610166578063af0d63b014610191578063b2931096146101b0578063c4c61287146101ed578063fc0c546a14610200575f80fd5b80630b8a2189146100aa578063144fa6d7146100bf5780633b4b57b0146100d25780633c6a7f9b146100e55780634487d3df14610101575b5f80fd5b6100bd6100b836600461099e565b610212565b005b6100bd6100cd366004610a74565b610312565b6100bd6100e0366004610a94565b6103cc565b6100ee60025481565b6040519081526020015b60405180910390f35b61011461010f366004610af1565b610732565b604080519586526020860194909452928401919091526060830152608082015260a0016100f8565b6100ee61014a366004610b08565b600560209081525f928352604080842090915290825290205481565b600154610179906001600160a01b031681565b6040516001600160a01b0390911681526020016100f8565b6100ee61019f366004610af1565b60046020525f908152604090205481565b6101dd6101be366004610b08565b600660209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016100f8565b6100ee6101fb366004610b30565b610771565b5f54610179906001600160a01b031681565b848114801561022057508483145b801561022b57508685145b6102705760405162461bcd60e51b81526020600482015260116024820152704d69736d61746368656420696e7075747360781b60448201526064015b60405180910390fd5b5f5b85811015610307576102ff89898381811061028f5761028f610b50565b90506020020160208101906102a49190610a74565b8888848181106102b6576102b6610b50565b905060200201358787858181106102cf576102cf610b50565b90506020028101906102e19190610b64565b8787878181106102f3576102f3610b50565b905060200201356103cc565b600101610272565b505050505050505050565b6001546001600160a01b031633146103585760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b6044820152606401610267565b5f546001600160a01b0316156103a45760405162461bcd60e51b8152602060048201526011602482015270151bdad95b88185b1c9958591e481cd95d607a1b6044820152606401610267565b5f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600354811061041d5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420646973747269627574696f6e20696e6465780000000000006044820152606401610267565b5f6003828154811061043157610431610b50565b905f5260205f20906005020190505f868660405160200161047092919060609290921b6bffffffffffffffffffffffff19168252601482015260340190565b6040516020818303038152906040528051906020012090506104c78585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855491508490506108b3565b6105035760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b210383937b7b360991b6044820152606401610267565b5f61050e8785610771565b6001600160a01b0389165f9081526005602090815260408083208884529091528120549192509061053f9083610bbe565b90505f81116105855760405162461bcd60e51b81526020600482015260126024820152714e6f20746f6b656e7320746f20636c61696d60701b6044820152606401610267565b5f85815260046020526040812080548392906105a2908490610bd1565b90915550506001600160a01b0389165f908152600560209081526040808320888452909152812080548392906105d9908490610bd1565b90915550506001600160a01b0389165f908152600560209081526040808320888452909152902054889003610636576001600160a01b0389165f9081526006602090815260408083208884529091529020805460ff191660011790555b5f546040516340c10f1960e01b81526001600160a01b038b8116600483015260248201849052909116906340c10f19906044016020604051808303815f875af1158015610685573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a99190610be4565b6106e35760405162461bcd60e51b815260206004820152600b60248201526a135a5b9d0819985a5b195960aa1b6044820152606401610267565b60408051828152602081018790526001600160a01b038b16917f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a910160405180910390a2505050505050505050565b60038181548110610741575f80fd5b5f918252602090912060059091020180546001820154600283015460038401546004909401549294509092909185565b6003545f9082106107c45760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420646973747269627574696f6e20696e6465780000000000006044820152606401610267565b5f600383815481106107d8576107d8610b50565b905f5260205f20906005020190505f60648260030154866107f99190610c03565b6108039190610c1a565b90505f6108108287610bbe565b90505f83600201544210156108265750816108a7565b83600401546001036108395750856108a7565b5f84600401548361084a9190610c1a565b90505f85600201544261085d9190610bbe565b90505f6002548261086e9190610c1a565b610879906001610bd1565b90505f6108868285610c03565b9050876004015482106108965750845b6108a08188610bd1565b9450505050505b93505050505b92915050565b5f81815b855181101561094b575f8682815181106108d3576108d3610b50565b60200260200101519050808311610915576040805160208101859052908101829052606001604051602081830303815290604052805190602001209250610942565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b506001016108b7565b509092149392505050565b5f8083601f840112610966575f80fd5b50813567ffffffffffffffff81111561097d575f80fd5b6020830191508360208260051b8501011115610997575f80fd5b9250929050565b5f805f805f805f806080898b0312156109b5575f80fd5b883567ffffffffffffffff808211156109cc575f80fd5b6109d88c838d01610956565b909a50985060208b01359150808211156109f0575f80fd5b6109fc8c838d01610956565b909850965060408b0135915080821115610a14575f80fd5b610a208c838d01610956565b909650945060608b0135915080821115610a38575f80fd5b50610a458b828c01610956565b999c989b5096995094979396929594505050565b80356001600160a01b0381168114610a6f575f80fd5b919050565b5f60208284031215610a84575f80fd5b610a8d82610a59565b9392505050565b5f805f805f60808688031215610aa8575f80fd5b610ab186610a59565b945060208601359350604086013567ffffffffffffffff811115610ad3575f80fd5b610adf88828901610956565b96999598509660600135949350505050565b5f60208284031215610b01575f80fd5b5035919050565b5f8060408385031215610b19575f80fd5b610b2283610a59565b946020939093013593505050565b5f8060408385031215610b41575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112610b79575f80fd5b83018035915067ffffffffffffffff821115610b93575f80fd5b6020019150600581901b3603821315610997575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156108ad576108ad610baa565b808201808211156108ad576108ad610baa565b5f60208284031215610bf4575f80fd5b81518015158114610a8d575f80fd5b80820281158282048414176108ad576108ad610baa565b5f82610c3457634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212206030b9c3ff06f5ddae572dd6d2f884afdf4067e01763ef634702e14f2a3893a364736f6c634300081800330000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000005c00000000000000000000000000000000000000000000000000000000000000860000000000000000000000000000000000000000000000000000000000000001427855fecf07911b91ee9ff18d54ef26ceaedbe3419dd78d742eb54fb581a10c894e2ec3dd365854eb469e650711d13b4ae837018c7311991282c06dc6726745c5bd5f4014079e8eb0670437c4665ab9b251460c6dff6af5c73296ea020f08c2d4a7f8b96238b39483da7c222a92856a013f3e4b750756de711ed6b75f6467d2752ef0ac7ec12dd518027b3022aba5553cb9d5e6203eff22ce09302613920da19577533c0fdd93ebf34e4b6111f5ffe9949f4e40bcf5e70ffa0b7a466d5b76e29fc4205be9fbec8aaaebe730b844c5b7a9d4d5b56c69af4408fd88dd50b0671b7577533c0fdd93ebf34e4b6111f5ffe9949f4e40bcf5e70ffa0b7a466d5b76e2952ef0ac7ec12dd518027b3022aba5553cb9d5e6203eff22ce09302613920da194f985bcce8b2b667e3182446e807deb4f903a9cff065fc9e3c0b3415eb5c89a5ccace5b01c3ccbaf7ee9d1f85ab1bae9daaf15ec519b30c478601ac4b12355e3f78be5ba62cabe35afdfcda0996ded7f8bb5e00f79d85b5433cd2e71d5668cccc136e3775fb0f2a94b51595bcd1ba2a419107c08ad0839909b7361d0b6a2d2ac862523cbbc70b776025d9a4a507d637bf465a50722d65e58a8115677f5aed81ad361fcf585713afec0ee19c84bd09df1adc3e41758cc306fec393cb73930dac97f8759964d85bd30d1a3c07aa615783dcfe3fcc5fb75e44c1a4e250d4d5c97f85e190b57ca5fafbc2b6f39b3b06f22a8c8446777e9fb08f03d09f0f035afe77704e2310c1d2302cee3cbe39742c8e389a28c3644172023abb0329c73a3e23e8d8ad419115f35a49b40a9edd0010e7b3f919f3bfe39467536bdef6b4692cd04bc808e3d2d21259b6b591ab22b3941c01b82916267d42f7ed6499b58a714c73fbb0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c
Deployed Bytecode
0x608060405234801561000f575f80fd5b50600436106100a6575f3560e01c806355b4b1a41161006e57806355b4b1a41461013c5780638da5cb5b14610166578063af0d63b014610191578063b2931096146101b0578063c4c61287146101ed578063fc0c546a14610200575f80fd5b80630b8a2189146100aa578063144fa6d7146100bf5780633b4b57b0146100d25780633c6a7f9b146100e55780634487d3df14610101575b5f80fd5b6100bd6100b836600461099e565b610212565b005b6100bd6100cd366004610a74565b610312565b6100bd6100e0366004610a94565b6103cc565b6100ee60025481565b6040519081526020015b60405180910390f35b61011461010f366004610af1565b610732565b604080519586526020860194909452928401919091526060830152608082015260a0016100f8565b6100ee61014a366004610b08565b600560209081525f928352604080842090915290825290205481565b600154610179906001600160a01b031681565b6040516001600160a01b0390911681526020016100f8565b6100ee61019f366004610af1565b60046020525f908152604090205481565b6101dd6101be366004610b08565b600660209081525f928352604080842090915290825290205460ff1681565b60405190151581526020016100f8565b6100ee6101fb366004610b30565b610771565b5f54610179906001600160a01b031681565b848114801561022057508483145b801561022b57508685145b6102705760405162461bcd60e51b81526020600482015260116024820152704d69736d61746368656420696e7075747360781b60448201526064015b60405180910390fd5b5f5b85811015610307576102ff89898381811061028f5761028f610b50565b90506020020160208101906102a49190610a74565b8888848181106102b6576102b6610b50565b905060200201358787858181106102cf576102cf610b50565b90506020028101906102e19190610b64565b8787878181106102f3576102f3610b50565b905060200201356103cc565b600101610272565b505050505050505050565b6001546001600160a01b031633146103585760405162461bcd60e51b81526020600482015260096024820152682737ba1037bbb732b960b91b6044820152606401610267565b5f546001600160a01b0316156103a45760405162461bcd60e51b8152602060048201526011602482015270151bdad95b88185b1c9958591e481cd95d607a1b6044820152606401610267565b5f80546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b600354811061041d5760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420646973747269627574696f6e20696e6465780000000000006044820152606401610267565b5f6003828154811061043157610431610b50565b905f5260205f20906005020190505f868660405160200161047092919060609290921b6bffffffffffffffffffffffff19168252601482015260340190565b6040516020818303038152906040528051906020012090506104c78585808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855491508490506108b3565b6105035760405162461bcd60e51b815260206004820152600d60248201526c24b73b30b634b210383937b7b360991b6044820152606401610267565b5f61050e8785610771565b6001600160a01b0389165f9081526005602090815260408083208884529091528120549192509061053f9083610bbe565b90505f81116105855760405162461bcd60e51b81526020600482015260126024820152714e6f20746f6b656e7320746f20636c61696d60701b6044820152606401610267565b5f85815260046020526040812080548392906105a2908490610bd1565b90915550506001600160a01b0389165f908152600560209081526040808320888452909152812080548392906105d9908490610bd1565b90915550506001600160a01b0389165f908152600560209081526040808320888452909152902054889003610636576001600160a01b0389165f9081526006602090815260408083208884529091529020805460ff191660011790555b5f546040516340c10f1960e01b81526001600160a01b038b8116600483015260248201849052909116906340c10f19906044016020604051808303815f875af1158015610685573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a99190610be4565b6106e35760405162461bcd60e51b815260206004820152600b60248201526a135a5b9d0819985a5b195960aa1b6044820152606401610267565b60408051828152602081018790526001600160a01b038b16917f987d620f307ff6b94d58743cb7a7509f24071586a77759b77c2d4e29f75a2f9a910160405180910390a2505050505050505050565b60038181548110610741575f80fd5b5f918252602090912060059091020180546001820154600283015460038401546004909401549294509092909185565b6003545f9082106107c45760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420646973747269627574696f6e20696e6465780000000000006044820152606401610267565b5f600383815481106107d8576107d8610b50565b905f5260205f20906005020190505f60648260030154866107f99190610c03565b6108039190610c1a565b90505f6108108287610bbe565b90505f83600201544210156108265750816108a7565b83600401546001036108395750856108a7565b5f84600401548361084a9190610c1a565b90505f85600201544261085d9190610bbe565b90505f6002548261086e9190610c1a565b610879906001610bd1565b90505f6108868285610c03565b9050876004015482106108965750845b6108a08188610bd1565b9450505050505b93505050505b92915050565b5f81815b855181101561094b575f8682815181106108d3576108d3610b50565b60200260200101519050808311610915576040805160208101859052908101829052606001604051602081830303815290604052805190602001209250610942565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b506001016108b7565b509092149392505050565b5f8083601f840112610966575f80fd5b50813567ffffffffffffffff81111561097d575f80fd5b6020830191508360208260051b8501011115610997575f80fd5b9250929050565b5f805f805f805f806080898b0312156109b5575f80fd5b883567ffffffffffffffff808211156109cc575f80fd5b6109d88c838d01610956565b909a50985060208b01359150808211156109f0575f80fd5b6109fc8c838d01610956565b909850965060408b0135915080821115610a14575f80fd5b610a208c838d01610956565b909650945060608b0135915080821115610a38575f80fd5b50610a458b828c01610956565b999c989b5096995094979396929594505050565b80356001600160a01b0381168114610a6f575f80fd5b919050565b5f60208284031215610a84575f80fd5b610a8d82610a59565b9392505050565b5f805f805f60808688031215610aa8575f80fd5b610ab186610a59565b945060208601359350604086013567ffffffffffffffff811115610ad3575f80fd5b610adf88828901610956565b96999598509660600135949350505050565b5f60208284031215610b01575f80fd5b5035919050565b5f8060408385031215610b19575f80fd5b610b2283610a59565b946020939093013593505050565b5f8060408385031215610b41575f80fd5b50508035926020909101359150565b634e487b7160e01b5f52603260045260245ffd5b5f808335601e19843603018112610b79575f80fd5b83018035915067ffffffffffffffff821115610b93575f80fd5b6020019150600581901b3603821315610997575f80fd5b634e487b7160e01b5f52601160045260245ffd5b818103818111156108ad576108ad610baa565b808201808211156108ad576108ad610baa565b5f60208284031215610bf4575f80fd5b81518015158114610a8d575f80fd5b80820281158282048414176108ad576108ad610baa565b5f82610c3457634e487b7160e01b5f52601260045260245ffd5b50049056fea26469706673582212206030b9c3ff06f5ddae572dd6d2f884afdf4067e01763ef634702e14f2a3893a364736f6c63430008180033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000032000000000000000000000000000000000000000000000000000000000000005c00000000000000000000000000000000000000000000000000000000000000860000000000000000000000000000000000000000000000000000000000000001427855fecf07911b91ee9ff18d54ef26ceaedbe3419dd78d742eb54fb581a10c894e2ec3dd365854eb469e650711d13b4ae837018c7311991282c06dc6726745c5bd5f4014079e8eb0670437c4665ab9b251460c6dff6af5c73296ea020f08c2d4a7f8b96238b39483da7c222a92856a013f3e4b750756de711ed6b75f6467d2752ef0ac7ec12dd518027b3022aba5553cb9d5e6203eff22ce09302613920da19577533c0fdd93ebf34e4b6111f5ffe9949f4e40bcf5e70ffa0b7a466d5b76e29fc4205be9fbec8aaaebe730b844c5b7a9d4d5b56c69af4408fd88dd50b0671b7577533c0fdd93ebf34e4b6111f5ffe9949f4e40bcf5e70ffa0b7a466d5b76e2952ef0ac7ec12dd518027b3022aba5553cb9d5e6203eff22ce09302613920da194f985bcce8b2b667e3182446e807deb4f903a9cff065fc9e3c0b3415eb5c89a5ccace5b01c3ccbaf7ee9d1f85ab1bae9daaf15ec519b30c478601ac4b12355e3f78be5ba62cabe35afdfcda0996ded7f8bb5e00f79d85b5433cd2e71d5668cccc136e3775fb0f2a94b51595bcd1ba2a419107c08ad0839909b7361d0b6a2d2ac862523cbbc70b776025d9a4a507d637bf465a50722d65e58a8115677f5aed81ad361fcf585713afec0ee19c84bd09df1adc3e41758cc306fec393cb73930dac97f8759964d85bd30d1a3c07aa615783dcfe3fcc5fb75e44c1a4e250d4d5c97f85e190b57ca5fafbc2b6f39b3b06f22a8c8446777e9fb08f03d09f0f035afe77704e2310c1d2302cee3cbe39742c8e389a28c3644172023abb0329c73a3e23e8d8ad419115f35a49b40a9edd0010e7b3f919f3bfe39467536bdef6b4692cd04bc808e3d2d21259b6b591ab22b3941c01b82916267d42f7ed6499b58a714c73fbb0000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000300000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000001900000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000190000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000640000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003200000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000014000000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000018000000000000000000000000000000000000000000000000000000000000003c00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003c000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000c
-----Decoded View---------------
Arg [0] : _merkleRoots (bytes32[]): System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[],System.Byte[]
Arg [1] : _cliffPeriods (uint256[]): 3,0,0,0,0,0,6,0,0,3,6,1,3,6,3,6,6,6,1,0
Arg [2] : _tgePercentages (uint256[]): 25,25,20,100,25,0,0,100,0,0,0,0,0,0,0,0,0,0,50,5
Arg [3] : _totalRounds (uint256[]): 12,6,6,1,6,18,60,1,12,24,60,1,1,60,1,1,1,60,1,12
-----Encoded View---------------
88 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000080
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000320
Arg [2] : 00000000000000000000000000000000000000000000000000000000000005c0
Arg [3] : 0000000000000000000000000000000000000000000000000000000000000860
Arg [4] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [5] : 27855fecf07911b91ee9ff18d54ef26ceaedbe3419dd78d742eb54fb581a10c8
Arg [6] : 94e2ec3dd365854eb469e650711d13b4ae837018c7311991282c06dc6726745c
Arg [7] : 5bd5f4014079e8eb0670437c4665ab9b251460c6dff6af5c73296ea020f08c2d
Arg [8] : 4a7f8b96238b39483da7c222a92856a013f3e4b750756de711ed6b75f6467d27
Arg [9] : 52ef0ac7ec12dd518027b3022aba5553cb9d5e6203eff22ce09302613920da19
Arg [10] : 577533c0fdd93ebf34e4b6111f5ffe9949f4e40bcf5e70ffa0b7a466d5b76e29
Arg [11] : fc4205be9fbec8aaaebe730b844c5b7a9d4d5b56c69af4408fd88dd50b0671b7
Arg [12] : 577533c0fdd93ebf34e4b6111f5ffe9949f4e40bcf5e70ffa0b7a466d5b76e29
Arg [13] : 52ef0ac7ec12dd518027b3022aba5553cb9d5e6203eff22ce09302613920da19
Arg [14] : 4f985bcce8b2b667e3182446e807deb4f903a9cff065fc9e3c0b3415eb5c89a5
Arg [15] : ccace5b01c3ccbaf7ee9d1f85ab1bae9daaf15ec519b30c478601ac4b12355e3
Arg [16] : f78be5ba62cabe35afdfcda0996ded7f8bb5e00f79d85b5433cd2e71d5668ccc
Arg [17] : c136e3775fb0f2a94b51595bcd1ba2a419107c08ad0839909b7361d0b6a2d2ac
Arg [18] : 862523cbbc70b776025d9a4a507d637bf465a50722d65e58a8115677f5aed81a
Arg [19] : d361fcf585713afec0ee19c84bd09df1adc3e41758cc306fec393cb73930dac9
Arg [20] : 7f8759964d85bd30d1a3c07aa615783dcfe3fcc5fb75e44c1a4e250d4d5c97f8
Arg [21] : 5e190b57ca5fafbc2b6f39b3b06f22a8c8446777e9fb08f03d09f0f035afe777
Arg [22] : 04e2310c1d2302cee3cbe39742c8e389a28c3644172023abb0329c73a3e23e8d
Arg [23] : 8ad419115f35a49b40a9edd0010e7b3f919f3bfe39467536bdef6b4692cd04bc
Arg [24] : 808e3d2d21259b6b591ab22b3941c01b82916267d42f7ed6499b58a714c73fbb
Arg [25] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [26] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [27] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [28] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [29] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [30] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [31] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [32] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [33] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [34] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [35] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [36] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [37] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [38] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [39] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [40] : 0000000000000000000000000000000000000000000000000000000000000003
Arg [41] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [42] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [43] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [44] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [45] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [46] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [47] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [48] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [49] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [50] : 0000000000000000000000000000000000000000000000000000000000000064
Arg [51] : 0000000000000000000000000000000000000000000000000000000000000019
Arg [52] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [53] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [54] : 0000000000000000000000000000000000000000000000000000000000000064
Arg [55] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [56] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [57] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [58] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [59] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [60] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [61] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [62] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [63] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [64] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [65] : 0000000000000000000000000000000000000000000000000000000000000032
Arg [66] : 0000000000000000000000000000000000000000000000000000000000000005
Arg [67] : 0000000000000000000000000000000000000000000000000000000000000014
Arg [68] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [69] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [70] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [71] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [72] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [73] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [74] : 000000000000000000000000000000000000000000000000000000000000003c
Arg [75] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [76] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [77] : 0000000000000000000000000000000000000000000000000000000000000018
Arg [78] : 000000000000000000000000000000000000000000000000000000000000003c
Arg [79] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [80] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [81] : 000000000000000000000000000000000000000000000000000000000000003c
Arg [82] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [83] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [84] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [85] : 000000000000000000000000000000000000000000000000000000000000003c
Arg [86] : 0000000000000000000000000000000000000000000000000000000000000001
Arg [87] : 000000000000000000000000000000000000000000000000000000000000000c
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
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.