Source Code
| Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
Cross-Chain Transactions
Loading...
Loading
Contract Name:
Vesting
Compiler Version
v0.6.10+commit.00c0fcaf
Contract Source Code (Solidity)
/**
*Submitted for verification at Arbiscan.io on 2022-02-19
*/
pragma solidity ^0.6.10;
/**
* @dev Wrappers over Solidity's arithmetic operations with added overflow
* checks.
*
* Arithmetic operations in Solidity wrap on overflow. This can easily result
* in bugs, because programmers usually assume that an overflow raises an
* error, which is the standard behavior in high level programming languages.
* `SafeMath` restores this intuition by reverting the transaction when an
* operation overflows.
*
* Using this library instead of the unchecked operations eliminates an entire
* class of bugs, so it's recommended to use it always.
*/
library SafeMath {
/**
* @dev Returns the addition of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `+` operator.
*
* Requirements:
*
* - Addition cannot overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a, "SafeMath: addition overflow");
return c;
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
return sub(a, b, "SafeMath: subtraction overflow");
}
/**
* @dev Returns the subtraction of two unsigned integers, reverting with custom message on
* overflow (when the result is negative).
*
* Counterpart to Solidity's `-` operator.
*
* Requirements:
*
* - Subtraction cannot overflow.
*/
function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b <= a, errorMessage);
uint256 c = a - b;
return c;
}
/**
* @dev Returns the multiplication of two unsigned integers, reverting on
* overflow.
*
* Counterpart to Solidity's `*` operator.
*
* Requirements:
*
* - Multiplication cannot overflow.
*/
function mul(uint256 a, uint256 b) internal pure returns (uint256) {
// Gas optimization: this is cheaper than requiring 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b, "SafeMath: multiplication overflow");
return c;
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
return div(a, b, "SafeMath: division by zero");
}
/**
* @dev Returns the integer division of two unsigned integers. Reverts with custom message on
* division by zero. The result is rounded towards zero.
*
* Counterpart to Solidity's `/` operator. Note: this function uses a
* `revert` opcode (which leaves remaining gas untouched) while Solidity
* uses an invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b > 0, errorMessage);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
return mod(a, b, "SafeMath: modulo by zero");
}
/**
* @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo),
* Reverts with custom message when dividing by zero.
*
* Counterpart to Solidity's `%` operator. This function uses a `revert`
* opcode (which leaves remaining gas untouched) while Solidity uses an
* invalid opcode to revert (consuming all remaining gas).
*
* Requirements:
*
* - The divisor cannot be zero.
*/
function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
require(b != 0, errorMessage);
return a % b;
}
}
/**
* @dev Interface of the ERC20 standard as defined in the EIP.
*/
interface IERC20 {
/**
* @dev Returns the amount of tokens in existence.
*/
function totalSupply() external view returns (uint256);
/**
* @dev Returns the amount of tokens owned by `account`.
*/
function balanceOf(address account) external view returns (uint256);
/**
* @dev Moves `amount` tokens from the caller's account to `recipient`.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transfer(address recipient, uint256 amount) external returns (bool);
/**
* @dev Returns the remaining number of tokens that `spender` will be
* allowed to spend on behalf of `owner` through {transferFrom}. This is
* zero by default.
*
* This value changes when {approve} or {transferFrom} are called.
*/
function allowance(address owner, address spender) external view returns (uint256);
/**
* @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* IMPORTANT: Beware that changing an allowance with this method brings the risk
* that someone may use both the old and the new allowance by unfortunate
* transaction ordering. One possible solution to mitigate this race
* condition is to first reduce the spender's allowance to 0 and set the
* desired value afterwards:
* https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
*
* Emits an {Approval} event.
*/
function approve(address spender, uint256 amount) external returns (bool);
/**
* @dev Moves `amount` tokens from `sender` to `recipient` using the
* allowance mechanism. `amount` is then deducted from the caller's
* allowance.
*
* Returns a boolean value indicating whether the operation succeeded.
*
* Emits a {Transfer} event.
*/
function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
/**
* @dev Emitted when `value` tokens are moved from one account (`from`) to
* another (`to`).
*
* Note that `value` may be zero.
*/
event Transfer(address indexed from, address indexed to, uint256 value);
/**
* @dev Emitted when the allowance of a `spender` for an `owner` is set by
* a call to {approve}. `value` is the new allowance.
*/
event Approval(address indexed owner, address indexed spender, uint256 value);
}
contract Vesting {
using SafeMath for uint256;
address public dbl;
address public recipient;
uint256 public vestingAmount;
uint256 public vestingBegin;
uint256 public vestingCliff;
uint256 public vestingEnd;
uint256 public lastUpdate;
constructor(
address dbl_,
address recipient_,
uint256 vestingAmount_,
uint256 vestingBegin_,
uint256 vestingCliff_,
uint256 vestingEnd_
) public {
require(vestingBegin_ >= block.timestamp, "TreasuryVester.constructor: vesting begin too early");
require(vestingCliff_ >= vestingBegin_, "TreasuryVester.constructor: cliff is too early");
require(vestingEnd_ > vestingCliff_, "TreasuryVester.constructor: end is too early");
dbl = dbl_;
recipient = recipient_;
vestingAmount = vestingAmount_;
vestingBegin = vestingBegin_;
vestingCliff = vestingCliff_;
vestingEnd = vestingEnd_;
lastUpdate = vestingBegin;
}
function setRecipient(address recipient_) public {
require(msg.sender == recipient, "TreasuryVester.setRecipient: unauthorized");
recipient = recipient_;
}
function claim() public {
require(block.timestamp >= vestingCliff, "TreasuryVester.claim: not time yet");
uint256 amount;
if (block.timestamp >= vestingEnd) {
amount = IERC20(dbl).balanceOf(address(this));
} else {
amount = vestingAmount.mul(block.timestamp.sub(lastUpdate)).div(vestingEnd.sub(vestingBegin));
lastUpdate = block.timestamp;
}
IERC20(dbl).transfer(recipient, amount);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"dbl_","type":"address"},{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"vestingAmount_","type":"uint256"},{"internalType":"uint256","name":"vestingBegin_","type":"uint256"},{"internalType":"uint256","name":"vestingCliff_","type":"uint256"},{"internalType":"uint256","name":"vestingEnd_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"claim","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"dbl","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lastUpdate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"recipient","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient_","type":"address"}],"name":"setRecipient","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"vestingAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingBegin","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingCliff","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"vestingEnd","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b506040516107f83803806107f8833981810160405260c081101561003357600080fd5b508051602082015160408301516060840151608085015160a0909501519394929391929091428310156100975760405162461bcd60e51b81526004018080602001828103825260338152602001806107996033913960400191505060405180910390fd5b828210156100d65760405162461bcd60e51b815260040180806020018281038252602e81526020018061076b602e913960400191505060405180910390fd5b8181116101145760405162461bcd60e51b815260040180806020018281038252602c8152602001806107cc602c913960400191505060405180910390fd5b600080546001600160a01b039788166001600160a01b031991821617909155600180549690971695169490941790945560029190915560038190556004929092556005556006556106018061016a6000396000f3fe608060405234801561001057600080fd5b50600436106100925760003560e01c806384a1931f1161006657806384a1931f14610105578063aa0bde7d1461010d578063c046371114610115578063e29bc68b1461011d578063f3640e741461012557610092565b8062728f76146100975780633bbed4a0146100b15780634e71d92d146100d957806366d003ac146100e1575b600080fd5b61009f61012d565b60408051918252519081900360200190f35b6100d7600480360360208110156100c757600080fd5b50356001600160a01b0316610133565b005b6100d761019e565b6100e9610347565b604080516001600160a01b039092168252519081900360200190f35b61009f610356565b6100e961035c565b61009f61036b565b61009f610371565b61009f610377565b60025481565b6001546001600160a01b0316331461017c5760405162461bcd60e51b81526004018080602001828103825260298152602001806105606029913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6004544210156101df5760405162461bcd60e51b81526004018080602001828103825260228152602001806105896022913960400191505060405180910390fd5b6000600554421061026857600054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561023557600080fd5b505afa158015610249573d6000803e3d6000fd5b505050506040513d602081101561025f57600080fd5b505190506102bc565b6102b561028260035460055461037d90919063ffffffff16565b6102a961029a6006544261037d90919063ffffffff16565b6002549063ffffffff6103c816565b9063ffffffff61042116565b4260065590505b600080546001546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b505050506040513d602081101561034257600080fd5b505050565b6001546001600160a01b031681565b60055481565b6000546001600160a01b031681565b60065481565b60035481565b60045481565b60006103bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610463565b90505b92915050565b6000826103d7575060006103c2565b828202828482816103e457fe5b04146103bf5760405162461bcd60e51b81526004018080602001828103825260218152602001806105ab6021913960400191505060405180910390fd5b60006103bf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506104fa565b600081848411156104f25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104b757818101518382015260200161049f565b50505050905090810190601f1680156104e45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836105495760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156104b757818101518382015260200161049f565b50600083858161055557fe5b049594505050505056fe54726561737572795665737465722e736574526563697069656e743a20756e617574686f72697a656454726561737572795665737465722e636c61696d3a206e6f742074696d6520796574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220f48c55f1d1da6396bc27acc40f32ec7c332e751e5037e8d08922a4aaaea6daed64736f6c634300060a003354726561737572795665737465722e636f6e7374727563746f723a20636c69666620697320746f6f206561726c7954726561737572795665737465722e636f6e7374727563746f723a2076657374696e6720626567696e20746f6f206561726c7954726561737572795665737465722e636f6e7374727563746f723a20656e6420697320746f6f206561726c79000000000000000000000000d3f1da62cafb7e7bc6531ff1cef6f414291f03d30000000000000000000000001b386a45bd7904ef9a825db2ba21ef0fcc9069c20000000000000000000000000000000000000000000771d2fa45345aa90000000000000000000000000000000000000000000000000000000000000061fc6c800000000000000000000000000000000000000000000000000000000061fc6c800000000000000000000000000000000000000000000000000000000067a15880
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100925760003560e01c806384a1931f1161006657806384a1931f14610105578063aa0bde7d1461010d578063c046371114610115578063e29bc68b1461011d578063f3640e741461012557610092565b8062728f76146100975780633bbed4a0146100b15780634e71d92d146100d957806366d003ac146100e1575b600080fd5b61009f61012d565b60408051918252519081900360200190f35b6100d7600480360360208110156100c757600080fd5b50356001600160a01b0316610133565b005b6100d761019e565b6100e9610347565b604080516001600160a01b039092168252519081900360200190f35b61009f610356565b6100e961035c565b61009f61036b565b61009f610371565b61009f610377565b60025481565b6001546001600160a01b0316331461017c5760405162461bcd60e51b81526004018080602001828103825260298152602001806105606029913960400191505060405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6004544210156101df5760405162461bcd60e51b81526004018080602001828103825260228152602001806105896022913960400191505060405180910390fd5b6000600554421061026857600054604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561023557600080fd5b505afa158015610249573d6000803e3d6000fd5b505050506040513d602081101561025f57600080fd5b505190506102bc565b6102b561028260035460055461037d90919063ffffffff16565b6102a961029a6006544261037d90919063ffffffff16565b6002549063ffffffff6103c816565b9063ffffffff61042116565b4260065590505b600080546001546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051919092169263a9059cbb92604480820193602093909283900390910190829087803b15801561031857600080fd5b505af115801561032c573d6000803e3d6000fd5b505050506040513d602081101561034257600080fd5b505050565b6001546001600160a01b031681565b60055481565b6000546001600160a01b031681565b60065481565b60035481565b60045481565b60006103bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610463565b90505b92915050565b6000826103d7575060006103c2565b828202828482816103e457fe5b04146103bf5760405162461bcd60e51b81526004018080602001828103825260218152602001806105ab6021913960400191505060405180910390fd5b60006103bf83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506104fa565b600081848411156104f25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156104b757818101518382015260200161049f565b50505050905090810190601f1680156104e45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081836105495760405162461bcd60e51b81526020600482018181528351602484015283519092839260449091019190850190808383600083156104b757818101518382015260200161049f565b50600083858161055557fe5b049594505050505056fe54726561737572795665737465722e736574526563697069656e743a20756e617574686f72697a656454726561737572795665737465722e636c61696d3a206e6f742074696d6520796574536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a2646970667358221220f48c55f1d1da6396bc27acc40f32ec7c332e751e5037e8d08922a4aaaea6daed64736f6c634300060a0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000d3f1da62cafb7e7bc6531ff1cef6f414291f03d30000000000000000000000001b386a45bd7904ef9a825db2ba21ef0fcc9069c20000000000000000000000000000000000000000000771d2fa45345aa90000000000000000000000000000000000000000000000000000000000000061fc6c800000000000000000000000000000000000000000000000000000000061fc6c800000000000000000000000000000000000000000000000000000000067a15880
-----Decoded View---------------
Arg [0] : dbl_ (address): 0xd3f1Da62CAFB7E7BC6531FF1ceF6F414291F03D3
Arg [1] : recipient_ (address): 0x1b386A45Bd7904EF9A825DB2Ba21EF0fCc9069c2
Arg [2] : vestingAmount_ (uint256): 9000000000000000000000000
Arg [3] : vestingBegin_ (uint256): 1643932800
Arg [4] : vestingCliff_ (uint256): 1643932800
Arg [5] : vestingEnd_ (uint256): 1738627200
-----Encoded View---------------
6 Constructor Arguments found :
Arg [0] : 000000000000000000000000d3f1da62cafb7e7bc6531ff1cef6f414291f03d3
Arg [1] : 0000000000000000000000001b386a45bd7904ef9a825db2ba21ef0fcc9069c2
Arg [2] : 0000000000000000000000000000000000000000000771d2fa45345aa9000000
Arg [3] : 0000000000000000000000000000000000000000000000000000000061fc6c80
Arg [4] : 0000000000000000000000000000000000000000000000000000000061fc6c80
Arg [5] : 0000000000000000000000000000000000000000000000000000000067a15880
Deployed Bytecode Sourcemap
8049:1732:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8166:28;;;:::i;:::-;;;;;;;;;;;;;;;;9110:178;;;;;;;;;;;;;;;;-1:-1:-1;9110:178:0;-1:-1:-1;;;;;9110:178:0;;:::i;:::-;;9296:482;;;:::i;8133:24::-;;;:::i;:::-;;;;-1:-1:-1;;;;;8133:24:0;;;;;;;;;;;;;;8269:25;;;:::i;8108:18::-;;;:::i;8303:25::-;;;:::i;8201:27::-;;;:::i;8235:::-;;;:::i;8166:28::-;;;;:::o;9110:178::-;9192:9;;-1:-1:-1;;;;;9192:9:0;9178:10;:23;9170:77;;;;-1:-1:-1;;;9170:77:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9258:9;:22;;-1:-1:-1;;;;;;9258:22:0;-1:-1:-1;;;;;9258:22:0;;;;;;;;;;9110:178::o;9296:482::-;9358:12;;9339:15;:31;;9331:78;;;;-1:-1:-1;;;9331:78:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9420:14;9468:10;;9449:15;:29;9445:276;;9511:3;;9504:36;;;-1:-1:-1;;;9504:36:0;;9534:4;9504:36;;;;;;-1:-1:-1;;;;;9511:3:0;;;;9504:21;;:36;;;;;;;;;;;;;;;9511:3;9504:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9504:36:0;;-1:-1:-1;9445:276:0;;;9582:84;9637:28;9652:12;;9637:10;;:14;;:28;;;;:::i;:::-;9582:50;9600:31;9620:10;;9600:15;:19;;:31;;;;:::i;:::-;9582:13;;;:50;:17;:50;:::i;:::-;:54;:84;:54;:84;:::i;:::-;9694:15;9681:10;:28;9573:93;-1:-1:-1;9445:276:0;9738:3;;;;9752:9;9731:39;;;-1:-1:-1;;;9731:39:0;;-1:-1:-1;;;;;9752:9:0;;;9731:39;;;;;;;;;;;;9738:3;;;;;9731:20;;:39;;;;;;;;;;;;;;;;;;9738:3;9731:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;9296:482:0:o;8133:24::-;;;-1:-1:-1;;;;;8133:24:0;;:::o;8269:25::-;;;;:::o;8108:18::-;;;-1:-1:-1;;;;;8108:18:0;;:::o;8303:25::-;;;;:::o;8201:27::-;;;;:::o;8235:::-;;;;:::o;1332:136::-;1390:7;1417:43;1421:1;1424;1417:43;;;;;;;;;;;;;;;;;:3;:43::i;:::-;1410:50;;1332:136;;;;;:::o;2222:471::-;2280:7;2525:6;2521:47;;-1:-1:-1;2555:1:0;2548:8;;2521:47;2592:5;;;2596:1;2592;:5;:1;2616:5;;;;;:10;2608:56;;;;-1:-1:-1;;;2608:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3169:132;3227:7;3254:39;3258:1;3261;3254:39;;;;;;;;;;;;;;;;;:3;:39::i;1771:192::-;1857:7;1893:12;1885:6;;;;1877:29;;;;-1:-1:-1;;;1877:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;1929:5:0;;;1771:192::o;3797:278::-;3883:7;3918:12;3911:5;3903:28;;;;-1:-1:-1;;;3903:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3942:9;3958:1;3954;:5;;;;;;;3797:278;-1:-1:-1;;;;;3797:278:0:o
Swarm Source
ipfs://f48c55f1d1da6396bc27acc40f32ec7c332e751e5037e8d08922a4aaaea6daed
Loading...
Loading
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ARB | 100.00% | $0.000115 | 3,590,246.2553 | $412.7 |
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.