Source Code
Overview
GLMR Balance
GLMR Value
$0.00Latest 25 from a total of 44 transactions
| Transaction Hash |
|
Block
|
From
|
To
|
|||||
|---|---|---|---|---|---|---|---|---|---|
| Remove Sharia Co... | 13358773 | 75 days ago | IN | 0 GLMR | 0.00314272 | ||||
| Remove Sharia Co... | 13358772 | 75 days ago | IN | 0 GLMR | 0.00322302 | ||||
| Remove Sharia Co... | 13358771 | 75 days ago | IN | 0 GLMR | 0.00316875 | ||||
| Remove Sharia Co... | 13358770 | 75 days ago | IN | 0 GLMR | 0.00337327 | ||||
| Remove Sharia Co... | 13358769 | 75 days ago | IN | 0 GLMR | 0.00329298 | ||||
| Remove Sharia Co... | 13358768 | 75 days ago | IN | 0 GLMR | 0.00321264 | ||||
| Remove Sharia Co... | 13358767 | 75 days ago | IN | 0 GLMR | 0.00286235 | ||||
| Remove Sharia Co... | 13358766 | 75 days ago | IN | 0 GLMR | 0.00305205 | ||||
| Remove Sharia Co... | 13358765 | 75 days ago | IN | 0 GLMR | 0.00297175 | ||||
| Remove Sharia Co... | 13358764 | 75 days ago | IN | 0 GLMR | 0.00262143 | ||||
| Remove Sharia Co... | 13358763 | 75 days ago | IN | 0 GLMR | 0.00281108 | ||||
| Remove Sharia Co... | 13358763 | 75 days ago | IN | 0 GLMR | 0.00273078 | ||||
| Remove Sharia Co... | 13358760 | 75 days ago | IN | 0 GLMR | 0.00238016 | ||||
| Remove Sharia Co... | 13358757 | 75 days ago | IN | 0 GLMR | 0.00257049 | ||||
| Remove Sharia Co... | 13358756 | 75 days ago | IN | 0 GLMR | 0.00248989 | ||||
| Remove Sharia Co... | 13358754 | 75 days ago | IN | 0 GLMR | 0.00240956 | ||||
| Register Sharia ... | 13358722 | 75 days ago | IN | 0 GLMR | 0.01693994 | ||||
| Register Sharia ... | 13358721 | 75 days ago | IN | 0 GLMR | 0.01411662 | ||||
| Register Sharia ... | 13358720 | 75 days ago | IN | 0 GLMR | 0.01411662 | ||||
| Register Sharia ... | 13358718 | 75 days ago | IN | 0 GLMR | 0.01411662 | ||||
| Register Sharia ... | 13358717 | 75 days ago | IN | 0 GLMR | 0.01411662 | ||||
| Register Sharia ... | 13358716 | 75 days ago | IN | 0 GLMR | 0.01693994 | ||||
| Register Sharia ... | 13358715 | 75 days ago | IN | 0 GLMR | 0.01693994 | ||||
| Register Sharia ... | 13358714 | 75 days ago | IN | 0 GLMR | 0.01693994 | ||||
| Register Sharia ... | 13358713 | 75 days ago | IN | 0 GLMR | 0.01693994 |
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ShariaCompliance
Compiler Version
v0.8.20+commit.a1b79de6
Optimization Enabled:
Yes with 200 runs
Other Settings:
london EvmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/access/Ownable.sol";
/**
* @title ShariaCompliance
* @notice Registry and validation system for Sharia-compliant tokens
* @dev Manages which tokens are approved for Islamic finance compliance
*/
contract ShariaCompliance is Ownable {
// ============================================================================
// STRUCTS
// ============================================================================
struct ShariaCoin {
string id;
string name;
string symbol;
address tokenAddress;
bool verified;
string complianceReason;
bool exists;
}
// ============================================================================
// STATE VARIABLES
// ============================================================================
/// @notice Mapping from coin ID (address) to Sharia coin data
mapping(string => ShariaCoin) public shariaCoins;
/// @notice Array of all registered coin IDs for enumeration
string[] public coinIds;
/// @notice Mapping to track coin ID existence in array
mapping(string => bool) private coinIdExists;
// Add reverse lookup mappings
mapping(address => string) public addressToSymbol; // Address → Symbol
mapping(string => address) public symbolToAddress; // Symbol → Address
// ============================================================================
// EVENTS
// ============================================================================
event CoinRegistered(
string indexed coinId,
string name,
string symbol,
string complianceReason
);
event CoinRemoved(string indexed coinId);
event CoinUpdated(
string indexed coinId,
bool verified,
string complianceReason
);
// ============================================================================
// ERRORS
// ============================================================================
error CoinNotFound(string coinId);
error CoinAlreadyExists(string coinId);
error NotShariaCompliant(string coinId);
// ============================================================================
// CONSTRUCTOR
// ============================================================================
constructor() Ownable(msg.sender) {
// Initialize with some default Sharia-compliant coins
_initializeDefaultCoins();
}
// ============================================================================
// ADMIN FUNCTIONS
// ============================================================================
/**
* @notice Register a new Sharia-compliant coin
* @param coinId Unique identifier (typically token address)
* @param name Token name
* @param symbol Token symbol
* @param complianceReason Explanation of Sharia compliance
*/
function registerShariaCoin(
string memory coinId,
string memory name,
string memory symbol,
address tokenAddress,
string memory complianceReason
) external onlyOwner {
if (shariaCoins[coinId].exists) {
revert CoinAlreadyExists(coinId);
}
if (tokenAddress != address(0)) {
// Prevent duplicate addresses
string memory existingSymbol = addressToSymbol[tokenAddress];
if (bytes(existingSymbol).length > 0) {
revert("Address already registered");
}
// Prevent duplicate symbols
address existingAddress = symbolToAddress[symbol];
if (existingAddress != address(0)) {
revert("Symbol already registered");
}
addressToSymbol[tokenAddress] = symbol;
symbolToAddress[symbol] = tokenAddress;
}
shariaCoins[coinId] = ShariaCoin({
id: coinId,
name: name,
symbol: symbol,
tokenAddress: tokenAddress,
verified: true,
complianceReason: complianceReason,
exists: true
});
if (!coinIdExists[coinId]) {
coinIds.push(coinId);
coinIdExists[coinId] = true;
}
emit CoinRegistered(coinId, name, symbol, complianceReason);
}
/**
* @notice Remove a coin from the Sharia compliance registry
* @param coinId Coin identifier to remove
*/
function removeShariaCoin(string memory coinId) external onlyOwner {
if (!shariaCoins[coinId].exists) {
revert CoinNotFound(coinId);
}
// Clean up reverse mappings
address tokenAddress = shariaCoins[coinId].tokenAddress;
if (tokenAddress != address(0)) {
delete addressToSymbol[tokenAddress];
delete symbolToAddress[coinId]; // coinId is the symbol
}
delete shariaCoins[coinId];
// Remove from coinIds array
for (uint256 i = 0; i < coinIds.length; i++) {
if (keccak256(bytes(coinIds[i])) == keccak256(bytes(coinId))) {
coinIds[i] = coinIds[coinIds.length - 1];
coinIds.pop();
break;
}
}
coinIdExists[coinId] = false;
emit CoinRemoved(coinId);
}
/**
* @notice Update compliance status of a coin
* @param coinId Coin identifier
* @param verified New verification status
* @param complianceReason Updated reason
*/
function updateComplianceStatus(
string memory coinId,
bool verified,
string memory complianceReason
) external onlyOwner {
if (!shariaCoins[coinId].exists) {
revert CoinNotFound(coinId);
}
shariaCoins[coinId].verified = verified;
shariaCoins[coinId].complianceReason = complianceReason;
emit CoinUpdated(coinId, verified, complianceReason);
}
// ============================================================================
// VIEW FUNCTIONS
// ============================================================================
/**
* @notice Check if a coin is Sharia compliant
* @param coinId Coin identifier to check
* @return bool True if compliant and verified
*/
function isShariaCompliant(string memory coinId) public view returns (bool) {
return shariaCoins[coinId].exists && shariaCoins[coinId].verified;
}
/**
* @notice Get details of a Sharia coin
* @param coinId Coin identifier
* @return ShariaCoin struct with all details
*/
function getShariaCoin(string memory coinId) external view returns (ShariaCoin memory) {
if (!shariaCoins[coinId].exists) {
revert CoinNotFound(coinId);
}
return shariaCoins[coinId];
}
/**
* @notice Get all registered Sharia coins
* @return Array of all ShariaCoin structs
*/
function getAllShariaCoins() external view returns (ShariaCoin[] memory) {
ShariaCoin[] memory coins = new ShariaCoin[](coinIds.length);
for (uint256 i = 0; i < coinIds.length; i++) {
coins[i] = shariaCoins[coinIds[i]];
}
return coins;
}
/**
* @notice Get total number of registered coins
* @return uint256 Total count
*/
function getTotalCoins() external view returns (uint256) {
return coinIds.length;
}
/**
* @notice Require that a coin is Sharia compliant (reverts if not)
* @param coinId Coin identifier to validate
*/
function requireShariaCompliant(string memory coinId) public view {
if (!isShariaCompliant(coinId)) {
revert NotShariaCompliant(coinId);
}
}
// Add helper functions
function getCoinByAddress(address tokenAddress) external view returns (ShariaCoin memory) {
string memory symbol = addressToSymbol[tokenAddress];
if (bytes(symbol).length == 0) {
revert CoinNotFound("");
}
return shariaCoins[symbol];
}
function getCoinBySymbol(string memory symbol) external view returns (ShariaCoin memory) {
if (!shariaCoins[symbol].exists) {
revert CoinNotFound(symbol);
}
return shariaCoins[symbol];
}
function getTokenAddress(string memory symbol) external view returns (address) {
return symbolToAddress[symbol];
}
function getSymbolByAddress(address tokenAddress) external view returns (string memory) {
return addressToSymbol[tokenAddress];
}
// ============================================================================
// INTERNAL FUNCTIONS
// ============================================================================
/**
* @notice Initialize default Sharia-compliant coins
* @dev Coins are registered programmatically from config during deployment
* This function is kept empty - all coins are registered via registerShariaCoin() in deployment script
*/
function _initializeDefaultCoins() private {
// All Initial Hala Coins are registered programmatically from config
// See scripts/deploy/deploy-core.ts for registration logic
}
/**
* @notice Internal function to register a coin during initialization
* @dev This function is deprecated - use registerShariaCoin() instead
* Kept for potential future use with default initialization
*/
function _registerCoin(
string memory coinId,
string memory name,
string memory symbol,
address tokenAddress,
string memory complianceReason
) private {
if (tokenAddress != address(0)) {
string memory existingSymbol = addressToSymbol[tokenAddress];
if (bytes(existingSymbol).length > 0) {
return; // Skip if address already registered
}
address existingAddress = symbolToAddress[symbol];
if (existingAddress != address(0)) {
return; // Skip if symbol already registered
}
addressToSymbol[tokenAddress] = symbol;
symbolToAddress[symbol] = tokenAddress;
}
shariaCoins[coinId] = ShariaCoin({
id: coinId,
name: name,
symbol: symbol,
tokenAddress: tokenAddress,
verified: true,
complianceReason: complianceReason,
exists: true
});
if (!coinIdExists[coinId]) {
coinIds.push(coinId);
coinIdExists[coinId] = true;
}
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.0) (access/Ownable.sol)
pragma solidity ^0.8.20;
import {Context} from "../utils/Context.sol";
/**
* @dev Contract module which provides a basic access control mechanism, where
* there is an account (an owner) that can be granted exclusive access to
* specific functions.
*
* The initial owner is set to the address provided by the deployer. This can
* later be changed with {transferOwnership}.
*
* This module is used through inheritance. It will make available the modifier
* `onlyOwner`, which can be applied to your functions to restrict their use to
* the owner.
*/
abstract contract Ownable is Context {
address private _owner;
/**
* @dev The caller account is not authorized to perform an operation.
*/
error OwnableUnauthorizedAccount(address account);
/**
* @dev The owner is not a valid owner account. (eg. `address(0)`)
*/
error OwnableInvalidOwner(address owner);
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev Initializes the contract setting the address provided by the deployer as the initial owner.
*/
constructor(address initialOwner) {
if (initialOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(initialOwner);
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
_checkOwner();
_;
}
/**
* @dev Returns the address of the current owner.
*/
function owner() public view virtual returns (address) {
return _owner;
}
/**
* @dev Throws if the sender is not the owner.
*/
function _checkOwner() internal view virtual {
if (owner() != _msgSender()) {
revert OwnableUnauthorizedAccount(_msgSender());
}
}
/**
* @dev Leaves the contract without owner. It will not be possible to call
* `onlyOwner` functions. Can only be called by the current owner.
*
* NOTE: Renouncing ownership will leave the contract without an owner,
* thereby disabling any functionality that is only available to the owner.
*/
function renounceOwnership() public virtual onlyOwner {
_transferOwnership(address(0));
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Can only be called by the current owner.
*/
function transferOwnership(address newOwner) public virtual onlyOwner {
if (newOwner == address(0)) {
revert OwnableInvalidOwner(address(0));
}
_transferOwnership(newOwner);
}
/**
* @dev Transfers ownership of the contract to a new account (`newOwner`).
* Internal function without access restriction.
*/
function _transferOwnership(address newOwner) internal virtual {
address oldOwner = _owner;
_owner = newOwner;
emit OwnershipTransferred(oldOwner, newOwner);
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v5.0.1) (utils/Context.sol)
pragma solidity ^0.8.20;
/**
* @dev Provides information about the current execution context, including the
* sender of the transaction and its data. While these are generally available
* via msg.sender and msg.data, they should not be accessed in such a direct
* manner, since when dealing with meta-transactions the account sending and
* paying for execution may not be the actual sender (as far as an application
* is concerned).
*
* This contract is only required for intermediate, library-like contracts.
*/
abstract contract Context {
function _msgSender() internal view virtual returns (address) {
return msg.sender;
}
function _msgData() internal view virtual returns (bytes calldata) {
return msg.data;
}
function _contextSuffixLength() internal view virtual returns (uint256) {
return 0;
}
}{
"optimizer": {
"enabled": true,
"runs": 200
},
"viaIR": true,
"evmVersion": "london",
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"CoinAlreadyExists","type":"error"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"CoinNotFound","type":"error"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"NotShariaCompliant","type":"error"},{"inputs":[{"internalType":"address","name":"owner","type":"address"}],"name":"OwnableInvalidOwner","type":"error"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"OwnableUnauthorizedAccount","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"coinId","type":"string"},{"indexed":false,"internalType":"string","name":"name","type":"string"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"},{"indexed":false,"internalType":"string","name":"complianceReason","type":"string"}],"name":"CoinRegistered","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"coinId","type":"string"}],"name":"CoinRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"string","name":"coinId","type":"string"},{"indexed":false,"internalType":"bool","name":"verified","type":"bool"},{"indexed":false,"internalType":"string","name":"complianceReason","type":"string"}],"name":"CoinUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"addressToSymbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"coinIds","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getAllShariaCoins","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"internalType":"struct ShariaCompliance.ShariaCoin[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"getCoinByAddress","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"internalType":"struct ShariaCompliance.ShariaCoin","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"symbol","type":"string"}],"name":"getCoinBySymbol","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"internalType":"struct ShariaCompliance.ShariaCoin","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"getShariaCoin","outputs":[{"components":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"internalType":"struct ShariaCompliance.ShariaCoin","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"}],"name":"getSymbolByAddress","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"symbol","type":"string"}],"name":"getTokenAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getTotalCoins","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"isShariaCompliant","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"string","name":"complianceReason","type":"string"}],"name":"registerShariaCoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"removeShariaCoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"}],"name":"requireShariaCompliant","outputs":[],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"shariaCoins","outputs":[{"internalType":"string","name":"id","type":"string"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"},{"internalType":"bool","name":"exists","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string","name":"","type":"string"}],"name":"symbolToAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"coinId","type":"string"},{"internalType":"bool","name":"verified","type":"bool"},{"internalType":"string","name":"complianceReason","type":"string"}],"name":"updateComplianceStatus","outputs":[],"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
6080806040523461007a5733156100645760008054336001600160a01b03198216811783556040519290916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09080a36118a490816100808239f35b631e4fbdf760e01b815260006004820152602490fd5b600080fdfe6040608081526004908136101561001557600080fd5b600091823560e01c80625d6f9e14610fb8578063078911e014610f73578063163eb80d1461017a578063289fc9d214610f545780633ad7a93a14610e56578063708d5bbc146107c9578063715018a614610dfc5780637c739bd714610dae578063858f1a531461096c5780638da5cb5b14610944578063a2c008551461093f578063a82170341461093f578063ab75075814610834578063c4091236146107c9578063dc80629714610430578063de373085146103c1578063de471b81146101ca578063de50fcec1461017a5763f2fde38b146100f157600080fd5b346101765760203660031901126101765761010a6111c8565b906101136114ea565b6001600160a01b0391821692831561016057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5034610176576020366003190112610176576101c6926101b3918391906001600160a01b036101a76111c8565b16825260205220611218565b90519182916020835260208301906112e1565b0390f35b508290346103bd57816003193601126103bd576002908154906101ec82611843565b926101f98651948561114c565b828452601f1961020884611843565b01855b8181106103a6575050845b83811061027c5750505050825191602080840190808552835180925280868601968360051b870101940192955b8287106102505785850386f35b90919293828061026c600193603f198a82030186528851611353565b9601920196019592919092610243565b61028581611306565b50875187825492610295846111de565b90600194858116908160001461038d575060011461035a575b50509080828461035596959452602092839103019020906102e68b51936102d48561111b565b6102dd84611218565b85528301611218565b908301526102f5858201611218565b8a83015260038101546001600160a01b038116606084015260ff60a091821c8116151560808501529160059161032c898301611218565b90850152015416151560c0820152610344828861185a565b5261034f818761185a565b506116a2565b610216565b90915089526020808a208a905b83821061037c575050508101816103556102ae565b805485830152908201908501610367565b60ff1916855250508015150282019050816103556102ae565b6020906103b1611808565b8282890101520161020b565b5080fd5b5090346101765760203660031901126101765781356001600160401b03811161042c576103f1903690840161116d565b906103fb826117a3565b15610404578380f35b51631c16ec3160e31b815260209281019290925281906104289060248301906112e1565b0390fd5b8380fd5b5034610176576020908160031936011261042c5780356001600160401b0381116107c557610461903690830161116d565b9261046a6114ea565b8051918451928486019361047f8183876112be565b81019060ff6001928381528288600594859303019020015416156107a55781908451600389516104b081848b6112be565b8201848152829003890190912001546001600160a01b031680610767575b5090508351868189516104e281838b6112be565b810185815203019020906104f582611659565b610500838301611659565b8881600293610510858201611659565b826003820155610521878201611659565b015588835b610583575b8961055c8a6105458b8b8b518093819286519283916112be565b8101600381520301902060ff198154169055611639565b7f0523ec15e2ba308306b3b16a3eae0528dd221a93ad1ee2c04f1f462f499fbe828280a280f35b825480821015610761578861059783611306565b508851908d908054906105a9826111de565b9182855284868101968c831692836000146107435750505060011461070b575b5050816105d791038261114c565b5190208a518920146105f85750906105f08493926116a2565b909192610526565b9499989796959460001991908281019081116106f85761061a61062191611306565b5091611306565b6106e6579061062f916116c7565b825480156106d357019261064284611306565b9190916106c157899a50918161054598979695949361066561055c9c94546111de565b908161067e575b5050505050559193948193388061052b565b8490601f9485841160011461069f57505050509050555b883880808061066c565b84939583956106ba94528c86209601901c8501908501611516565b5555610695565b634e487b7160e01b8a52898b5260248afd5b634e487b7160e01b8a5260318b5260248afd5b634e487b7160e01b8b528a8c5260248bfd5b634e487b7160e01b8b5260118c5260248bfd5b8f528c8f209d9e9d8e92505b81831061073057509c9d9c5081018b01816105d76105c9565b80548484018f0152918d01918901610717565b60ff191688529315158a1b810190930193506105d791506105c99050565b5061052b565b8952838752610777858a20611659565b845187818a5161078881838c6112be565b81018481520301902080546001600160a01b0319169055386104ce565b8351632335711f60e11b815280840187905280610428602482018a6112e1565b8480fd5b509134610831576020366003190112610831578235906001600160401b03821161083157506020926107fd9136910161116d565b82610810835192838151938492016112be565b6005908201908152819003830190205490516001600160a01b039091168152f35b80fd5b509034610176576020918260031936011261042c576108516111c8565b9361085a611808565b506001600160a01b03948516815281845282812061087790611218565b908151156109235750600583926109056108a38760ff95816101c69951938285809451938492016112be565b8101600181520301902091848651996108bb8b61111b565b6108c485611218565b8b526108d260018601611218565b8a8c01526108e260028601611218565b888c0152600385015490811660608c015260a01c16151560808a01528201611218565b60a0880152015416151560c085015251928284938452830190611353565b9050836044935192632335711f60e11b84528301526024820152fd5b6113d2565b5050346103bd57816003193601126103bd57905490516001600160a01b039091168152602090f35b5090346101765760a0366003190112610176576001600160401b039082358281116107c55761099e903690850161116d565b91602435818111610daa576109b6903690860161116d565b92604435828111610da6576109ce903690870161116d565b946001600160a01b0392606435848116929190839003610da257608435908111610da2576109ff903690830161116d565b93610a086114ea565b60ff600587516020818851610a208183858d016112be565b81016001815203019020015416610d825782610c6f575b855190610a438261111b565b8482526020820193888552878301918a83526060840191825260808401906001825260a085019389855260c0860197600189528b51808b818151602081930191610a8c926112be565b8101600181520360200190209651610aa49088611572565b51610ab29060018801611572565b51610ac09060028701611572565b9151600385018054925160ff60a01b90151560a01b166001600160a81b03199093169190931660ff60a01b19161717905551610afe90828401611572565b600501915115159160ff1992838254169060ff16179055845180845181816020880191610b2a926112be565b8101600381520360200190205460ff1615610bad575b5050610b8c927f3acb901881738b01ae9ec5346868071db2917f7f7ade30fe95300b8c4bb628c89492610b9a610b78610ba794611639565b9783519687966060885260608801906112e1565b9086820360208801526112e1565b91848303908501526112e1565b0390a280f35b60025468010000000000000000811015610c5c57806001610bd19201600255611306565b919091610c4a575092610b9a610b7884610b8c9794610c15610ba7977f3acb901881738b01ae9ec5346868071db2917f7f7ade30fe95300b8c4bb628c89b99611572565b600186516020818551610c2b8183858a016112be565b8101600381520301902091825416179055945050509294819450610b40565b634e487b7160e01b8952889052602488fd5b634e487b7160e01b895260418252602489fd5b82895281602052610c81868a20611218565b51610d3f57855181895191602081818d0194610c9e8183886112be565b810160058152030190205416610cfc576020610cd691610cc68b8a8e89815288865220611572565b8851809381928d519283916112be565b81016005815203019020836bffffffffffffffffffffffff60a01b825416179055610a37565b865162461bcd60e51b8152602081850152601960248201527f53796d626f6c20616c72656164792072656769737465726564000000000000006044820152606490fd5b855162461bcd60e51b8152602081840152601a60248201527f4164647265737320616c726561647920726567697374657265640000000000006044820152606490fd5b8551632055cb1760e21b81526020818401528061042860248201876112e1565b8880fd5b8680fd5b8580fd5b5091346108315760203660031901126108315782356002548110156103bd57610dd690611306565b939093610dea576101c6836101b386611218565b634e487b7160e01b8252819052602490fd5b8334610831578060031936011261083157610e156114ea565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b509034610176576020366003190112610176578135926001600160401b0384116108315750610f48610ea56020610e93610f06963690870161116d565b818551938285809451938492016112be565b8101600181520301902092610eb984611218565b9360ff610f21610ecb60018401611218565b95610ed860028501611218565b610f14846005610eee6003890154998901611218565b970154169883519b8c9b60e08d5260e08d01906112e1565b908b820360208d01526112e1565b91898303908a01526112e1565b9260018060a01b038116606088015260a01c161515608086015284820360a08601526112e1565b90151560c08301520390f35b5050346103bd57816003193601126103bd576020906002549051908152f35b509134610831576020366003190112610831578235906001600160401b0382116108315750610faa602093610faf9236910161116d565b6117a3565b90519015158152f35b509190346103bd5760603660031901126103bd576001600160401b0392803584811161042c57610feb903690830161116d565b936024359182151591828403610daa57604435908111610daa57611012903690830161116d565b9061101b6114ea565b84519387519060ff6005878b6020998a8092019661103a81838a6112be565b81016001815203019020015416156110fb57976110e284610ba795946110d2896110e7966110c28d9e9f60037f68d3968f550cc27246e9675c957e28a0be4571106cc3e6f08bfc5e354f30a72e9f5185818c5161109881838a6112be565b60019082019081520301902001805460ff60a01b191691151560a01b60ff60a01b16919091179055565b8d518093819289519283916112be565b8101600181520301902001611572565b611639565b9580805195869586528501528301906112e1565b8651632335711f60e11b815280840187905280610428602482018c6112e1565b60e081019081106001600160401b0382111761113657604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761113657604052565b81601f820112156111c3578035906001600160401b03821161113657604051926111a1601f8401601f19166020018561114c565b828452602083830101116111c357816000926020809301838601378301015290565b600080fd5b600435906001600160a01b03821682036111c357565b90600182811c9216801561120e575b60208310146111f857565b634e487b7160e01b600052602260045260246000fd5b91607f16916111ed565b906040519182600082549261122c846111de565b90818452600194858116908160001461129b5750600114611258575b50506112569250038361114c565b565b9093915060005260209081600020936000915b81831061128357505061125693508201013880611248565b8554888401850152948501948794509183019161126b565b91505061125694506020925060ff191682840152151560051b8201013880611248565b60005b8381106112d15750506000910152565b81810151838201526020016112c1565b906020916112fa815180928185528580860191016112be565b601f01601f1916010190565b60025481101561133d5760026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0190600090565b634e487b7160e01b600052603260045260246000fd5b9060c0806113c7611397611385611373875160e0885260e08801906112e1565b602088015187820360208901526112e1565b604087015186820360408801526112e1565b60018060a01b03606087015116606086015260808601511515608086015260a086015185820360a08701526112e1565b930151151591015290565b346111c3576020806003193601126111c3576004356001600160401b0381116111c35761140390369060040161116d565b9061140c611808565b5060409182519060ff600582519385818186019661142b81838a6112be565b81016001815203019020015416156114c857826101c6926114569286519384928392519283916112be565b810160018152030190209260ff60058251956114718761111b565b61147a81611218565b875261148860018201611218565b8688015261149860028201611218565b8785015260038101546001600160a01b038116606089015260a01c83161515608088015261090560048201611218565b826104288551928392632335711f60e11b8452600484015260248301906112e1565b6000546001600160a01b031633036114fe57565b60405163118cdaa760e01b8152336004820152602490fd5b818110611521575050565b60008155600101611516565b9190601f811161153c57505050565b611256926000526020600020906020601f840160051c83019310611568575b601f0160051c0190611516565b909150819061155b565b91909182516001600160401b038111611136576115998161159384546111de565b8461152d565b602080601f83116001146115d55750819293946000926115ca575b50508160011b916000199060031b1c1916179055565b0151905038806115b4565b90601f198316958460005282600020926000905b88821061162157505083600195969710611608575b505050811b019055565b015160001960f88460031b161c191690553880806115fe565b806001859682949686015181550195019301906115e9565b611651906020604051928284809451938492016112be565b810103902090565b61166381546111de565b908161166d575050565b81601f6000931160011461167f575055565b90808391825261169e601f60208420940160051c840160018501611516565b5555565b60001981146116b15760010190565b634e487b7160e01b600052601160045260246000fd5b9080821461179f576116d981546111de565b906001600160401b0382116111365781906116fe826116f886546111de565b8661152d565b600090601f8311600114611734576000926117295750508160011b916000199060031b1c1916179055565b0154905038806115b4565b81526020808220858352818320935090601f1985169083905b82821061178657505090846001959493921061176d57505050811b019055565b015460001960f88460031b161c191690553880806115fe565b849581929585015481556001809101960194019061174d565b5050565b60405160ff6005835192602081818701956117bf8183896112be565b8101600181520301902001541691826117d757505090565b60ff925060206003926117f5926040519384928392519283916112be565b81016001815203019020015460a01c1690565b604051906118158261111b565b600060c083606081526060602082015260606040820152826060820152826080820152606060a08201520152565b6001600160401b0381116111365760051b60200190565b805182101561133d5760209160051b01019056fea264697066735822122092332911fd767ed857c73d8e1a34fef18b7c18b705ff157127659eff4451c4ce64736f6c63430008140033
Deployed Bytecode
0x6040608081526004908136101561001557600080fd5b600091823560e01c80625d6f9e14610fb8578063078911e014610f73578063163eb80d1461017a578063289fc9d214610f545780633ad7a93a14610e56578063708d5bbc146107c9578063715018a614610dfc5780637c739bd714610dae578063858f1a531461096c5780638da5cb5b14610944578063a2c008551461093f578063a82170341461093f578063ab75075814610834578063c4091236146107c9578063dc80629714610430578063de373085146103c1578063de471b81146101ca578063de50fcec1461017a5763f2fde38b146100f157600080fd5b346101765760203660031901126101765761010a6111c8565b906101136114ea565b6001600160a01b0391821692831561016057505082546001600160a01b0319811683178455167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b51631e4fbdf760e01b8152908101849052602490fd5b8280fd5b5034610176576020366003190112610176576101c6926101b3918391906001600160a01b036101a76111c8565b16825260205220611218565b90519182916020835260208301906112e1565b0390f35b508290346103bd57816003193601126103bd576002908154906101ec82611843565b926101f98651948561114c565b828452601f1961020884611843565b01855b8181106103a6575050845b83811061027c5750505050825191602080840190808552835180925280868601968360051b870101940192955b8287106102505785850386f35b90919293828061026c600193603f198a82030186528851611353565b9601920196019592919092610243565b61028581611306565b50875187825492610295846111de565b90600194858116908160001461038d575060011461035a575b50509080828461035596959452602092839103019020906102e68b51936102d48561111b565b6102dd84611218565b85528301611218565b908301526102f5858201611218565b8a83015260038101546001600160a01b038116606084015260ff60a091821c8116151560808501529160059161032c898301611218565b90850152015416151560c0820152610344828861185a565b5261034f818761185a565b506116a2565b610216565b90915089526020808a208a905b83821061037c575050508101816103556102ae565b805485830152908201908501610367565b60ff1916855250508015150282019050816103556102ae565b6020906103b1611808565b8282890101520161020b565b5080fd5b5090346101765760203660031901126101765781356001600160401b03811161042c576103f1903690840161116d565b906103fb826117a3565b15610404578380f35b51631c16ec3160e31b815260209281019290925281906104289060248301906112e1565b0390fd5b8380fd5b5034610176576020908160031936011261042c5780356001600160401b0381116107c557610461903690830161116d565b9261046a6114ea565b8051918451928486019361047f8183876112be565b81019060ff6001928381528288600594859303019020015416156107a55781908451600389516104b081848b6112be565b8201848152829003890190912001546001600160a01b031680610767575b5090508351868189516104e281838b6112be565b810185815203019020906104f582611659565b610500838301611659565b8881600293610510858201611659565b826003820155610521878201611659565b015588835b610583575b8961055c8a6105458b8b8b518093819286519283916112be565b8101600381520301902060ff198154169055611639565b7f0523ec15e2ba308306b3b16a3eae0528dd221a93ad1ee2c04f1f462f499fbe828280a280f35b825480821015610761578861059783611306565b508851908d908054906105a9826111de565b9182855284868101968c831692836000146107435750505060011461070b575b5050816105d791038261114c565b5190208a518920146105f85750906105f08493926116a2565b909192610526565b9499989796959460001991908281019081116106f85761061a61062191611306565b5091611306565b6106e6579061062f916116c7565b825480156106d357019261064284611306565b9190916106c157899a50918161054598979695949361066561055c9c94546111de565b908161067e575b5050505050559193948193388061052b565b8490601f9485841160011461069f57505050509050555b883880808061066c565b84939583956106ba94528c86209601901c8501908501611516565b5555610695565b634e487b7160e01b8a52898b5260248afd5b634e487b7160e01b8a5260318b5260248afd5b634e487b7160e01b8b528a8c5260248bfd5b634e487b7160e01b8b5260118c5260248bfd5b8f528c8f209d9e9d8e92505b81831061073057509c9d9c5081018b01816105d76105c9565b80548484018f0152918d01918901610717565b60ff191688529315158a1b810190930193506105d791506105c99050565b5061052b565b8952838752610777858a20611659565b845187818a5161078881838c6112be565b81018481520301902080546001600160a01b0319169055386104ce565b8351632335711f60e11b815280840187905280610428602482018a6112e1565b8480fd5b509134610831576020366003190112610831578235906001600160401b03821161083157506020926107fd9136910161116d565b82610810835192838151938492016112be565b6005908201908152819003830190205490516001600160a01b039091168152f35b80fd5b509034610176576020918260031936011261042c576108516111c8565b9361085a611808565b506001600160a01b03948516815281845282812061087790611218565b908151156109235750600583926109056108a38760ff95816101c69951938285809451938492016112be565b8101600181520301902091848651996108bb8b61111b565b6108c485611218565b8b526108d260018601611218565b8a8c01526108e260028601611218565b888c0152600385015490811660608c015260a01c16151560808a01528201611218565b60a0880152015416151560c085015251928284938452830190611353565b9050836044935192632335711f60e11b84528301526024820152fd5b6113d2565b5050346103bd57816003193601126103bd57905490516001600160a01b039091168152602090f35b5090346101765760a0366003190112610176576001600160401b039082358281116107c55761099e903690850161116d565b91602435818111610daa576109b6903690860161116d565b92604435828111610da6576109ce903690870161116d565b946001600160a01b0392606435848116929190839003610da257608435908111610da2576109ff903690830161116d565b93610a086114ea565b60ff600587516020818851610a208183858d016112be565b81016001815203019020015416610d825782610c6f575b855190610a438261111b565b8482526020820193888552878301918a83526060840191825260808401906001825260a085019389855260c0860197600189528b51808b818151602081930191610a8c926112be565b8101600181520360200190209651610aa49088611572565b51610ab29060018801611572565b51610ac09060028701611572565b9151600385018054925160ff60a01b90151560a01b166001600160a81b03199093169190931660ff60a01b19161717905551610afe90828401611572565b600501915115159160ff1992838254169060ff16179055845180845181816020880191610b2a926112be565b8101600381520360200190205460ff1615610bad575b5050610b8c927f3acb901881738b01ae9ec5346868071db2917f7f7ade30fe95300b8c4bb628c89492610b9a610b78610ba794611639565b9783519687966060885260608801906112e1565b9086820360208801526112e1565b91848303908501526112e1565b0390a280f35b60025468010000000000000000811015610c5c57806001610bd19201600255611306565b919091610c4a575092610b9a610b7884610b8c9794610c15610ba7977f3acb901881738b01ae9ec5346868071db2917f7f7ade30fe95300b8c4bb628c89b99611572565b600186516020818551610c2b8183858a016112be565b8101600381520301902091825416179055945050509294819450610b40565b634e487b7160e01b8952889052602488fd5b634e487b7160e01b895260418252602489fd5b82895281602052610c81868a20611218565b51610d3f57855181895191602081818d0194610c9e8183886112be565b810160058152030190205416610cfc576020610cd691610cc68b8a8e89815288865220611572565b8851809381928d519283916112be565b81016005815203019020836bffffffffffffffffffffffff60a01b825416179055610a37565b865162461bcd60e51b8152602081850152601960248201527f53796d626f6c20616c72656164792072656769737465726564000000000000006044820152606490fd5b855162461bcd60e51b8152602081840152601a60248201527f4164647265737320616c726561647920726567697374657265640000000000006044820152606490fd5b8551632055cb1760e21b81526020818401528061042860248201876112e1565b8880fd5b8680fd5b8580fd5b5091346108315760203660031901126108315782356002548110156103bd57610dd690611306565b939093610dea576101c6836101b386611218565b634e487b7160e01b8252819052602490fd5b8334610831578060031936011261083157610e156114ea565b80546001600160a01b03198116825581906001600160a01b03167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b509034610176576020366003190112610176578135926001600160401b0384116108315750610f48610ea56020610e93610f06963690870161116d565b818551938285809451938492016112be565b8101600181520301902092610eb984611218565b9360ff610f21610ecb60018401611218565b95610ed860028501611218565b610f14846005610eee6003890154998901611218565b970154169883519b8c9b60e08d5260e08d01906112e1565b908b820360208d01526112e1565b91898303908a01526112e1565b9260018060a01b038116606088015260a01c161515608086015284820360a08601526112e1565b90151560c08301520390f35b5050346103bd57816003193601126103bd576020906002549051908152f35b509134610831576020366003190112610831578235906001600160401b0382116108315750610faa602093610faf9236910161116d565b6117a3565b90519015158152f35b509190346103bd5760603660031901126103bd576001600160401b0392803584811161042c57610feb903690830161116d565b936024359182151591828403610daa57604435908111610daa57611012903690830161116d565b9061101b6114ea565b84519387519060ff6005878b6020998a8092019661103a81838a6112be565b81016001815203019020015416156110fb57976110e284610ba795946110d2896110e7966110c28d9e9f60037f68d3968f550cc27246e9675c957e28a0be4571106cc3e6f08bfc5e354f30a72e9f5185818c5161109881838a6112be565b60019082019081520301902001805460ff60a01b191691151560a01b60ff60a01b16919091179055565b8d518093819289519283916112be565b8101600181520301902001611572565b611639565b9580805195869586528501528301906112e1565b8651632335711f60e11b815280840187905280610428602482018c6112e1565b60e081019081106001600160401b0382111761113657604052565b634e487b7160e01b600052604160045260246000fd5b90601f801991011681019081106001600160401b0382111761113657604052565b81601f820112156111c3578035906001600160401b03821161113657604051926111a1601f8401601f19166020018561114c565b828452602083830101116111c357816000926020809301838601378301015290565b600080fd5b600435906001600160a01b03821682036111c357565b90600182811c9216801561120e575b60208310146111f857565b634e487b7160e01b600052602260045260246000fd5b91607f16916111ed565b906040519182600082549261122c846111de565b90818452600194858116908160001461129b5750600114611258575b50506112569250038361114c565b565b9093915060005260209081600020936000915b81831061128357505061125693508201013880611248565b8554888401850152948501948794509183019161126b565b91505061125694506020925060ff191682840152151560051b8201013880611248565b60005b8381106112d15750506000910152565b81810151838201526020016112c1565b906020916112fa815180928185528580860191016112be565b601f01601f1916010190565b60025481101561133d5760026000527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace0190600090565b634e487b7160e01b600052603260045260246000fd5b9060c0806113c7611397611385611373875160e0885260e08801906112e1565b602088015187820360208901526112e1565b604087015186820360408801526112e1565b60018060a01b03606087015116606086015260808601511515608086015260a086015185820360a08701526112e1565b930151151591015290565b346111c3576020806003193601126111c3576004356001600160401b0381116111c35761140390369060040161116d565b9061140c611808565b5060409182519060ff600582519385818186019661142b81838a6112be565b81016001815203019020015416156114c857826101c6926114569286519384928392519283916112be565b810160018152030190209260ff60058251956114718761111b565b61147a81611218565b875261148860018201611218565b8688015261149860028201611218565b8785015260038101546001600160a01b038116606089015260a01c83161515608088015261090560048201611218565b826104288551928392632335711f60e11b8452600484015260248301906112e1565b6000546001600160a01b031633036114fe57565b60405163118cdaa760e01b8152336004820152602490fd5b818110611521575050565b60008155600101611516565b9190601f811161153c57505050565b611256926000526020600020906020601f840160051c83019310611568575b601f0160051c0190611516565b909150819061155b565b91909182516001600160401b038111611136576115998161159384546111de565b8461152d565b602080601f83116001146115d55750819293946000926115ca575b50508160011b916000199060031b1c1916179055565b0151905038806115b4565b90601f198316958460005282600020926000905b88821061162157505083600195969710611608575b505050811b019055565b015160001960f88460031b161c191690553880806115fe565b806001859682949686015181550195019301906115e9565b611651906020604051928284809451938492016112be565b810103902090565b61166381546111de565b908161166d575050565b81601f6000931160011461167f575055565b90808391825261169e601f60208420940160051c840160018501611516565b5555565b60001981146116b15760010190565b634e487b7160e01b600052601160045260246000fd5b9080821461179f576116d981546111de565b906001600160401b0382116111365781906116fe826116f886546111de565b8661152d565b600090601f8311600114611734576000926117295750508160011b916000199060031b1c1916179055565b0154905038806115b4565b81526020808220858352818320935090601f1985169083905b82821061178657505090846001959493921061176d57505050811b019055565b015460001960f88460031b161c191690553880806115fe565b849581929585015481556001809101960194019061174d565b5050565b60405160ff6005835192602081818701956117bf8183896112be565b8101600181520301902001541691826117d757505090565b60ff925060206003926117f5926040519384928392519283916112be565b81016001815203019020015460a01c1690565b604051906118158261111b565b600060c083606081526060602082015260606040820152826060820152826080820152606060a08201520152565b6001600160401b0381116111365760051b60200190565b805182101561133d5760209160051b01019056fea264697066735822122092332911fd767ed857c73d8e1a34fef18b7c18b705ff157127659eff4451c4ce64736f6c63430008140033
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in GLMR
Multichain Portfolio | 35 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.