Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
ColorUtils
Compiler Version
v0.8.9+commit.e5eed63a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
import '@openzeppelin/contracts/utils/Strings.sol';
library ColorUtils {
function getColor(bytes memory colors, uint256 colorIdx)
public
pure
returns (bytes memory)
{
colorIdx *= 3;
bytes memory color = abi.encodePacked(
colors[colorIdx],
colors[colorIdx + 1],
colors[colorIdx + 2]
);
return color;
}
function setColor(
bytes memory colors,
uint256 colorIdx,
bytes memory color
) public pure returns (bytes memory) {
colorIdx *= 3;
colors[colorIdx + 0] = color[0];
colors[colorIdx + 1] = color[1];
colors[colorIdx + 2] = color[2];
return colors;
}
function addWrap(
bytes memory color,
uint8 idx,
uint16 amt
) public pure returns (bytes memory) {
unchecked {
color[idx] = bytes1(uint8(uint16(uint8(color[idx])) + amt));
}
return color;
}
function add(
bytes memory color,
uint8 idx,
uint16 amt
) public pure returns (bytes memory) {
if (amt + uint16(uint8(color[idx])) >= 255) {
color[idx] = bytes1(uint8(255));
return color;
}
color[idx] = bytes1(uint8(color[idx]) + uint8(amt));
return color;
}
function subWrap(
bytes memory color,
uint8 idx,
uint16 amt
) public pure returns (bytes memory) {
unchecked {
color[idx] = bytes1(uint8(uint16(uint8(color[idx])) - amt));
}
return color;
}
function sub(
bytes memory color,
uint8 idx,
uint16 amt
) public pure returns (bytes memory) {
if (uint16(uint8(color[idx])) < amt) {
color[idx] = bytes1(uint8(0));
return color;
}
color[idx] = bytes1(uint8(uint16(uint8(color[idx])) - amt));
return color;
}
function RGBtoHSV(bytes memory color) public pure returns (bytes memory) {
return RGBtoHSV(uint8(color[0]), uint8(color[1]), uint8(color[2]));
}
function RGBtoHSV(
uint8 r,
uint8 g,
uint8 b
) public pure returns (bytes memory) {
bytes memory hsv = new bytes(3);
uint8 min = r < g ? (r < b ? r : b) : (g < b ? g : b);
uint8 max = r > g ? (r > b ? r : b) : (g > b ? g : b);
hsv[2] = bytes1(max); // v
if (max == 0) {
hsv[0] = 0;
hsv[1] = 0;
return hsv;
}
hsv[1] = bytes1(uint8((255 * uint32(max - min)) / uint8(hsv[2])));
if (uint8(hsv[1]) == 0) {
hsv[0] = 0;
return hsv;
}
unchecked {
if (max == r) {
if (g > b) {
hsv[0] = bytes1(uint8(0 + (43 * uint32(g - b)) / uint32(max - min)));
} else {
hsv[0] = bytes1(uint8(0 - (43 * uint32(b - g)) / uint32(max - min)));
}
} else if (max == g) {
if (b > r) {
hsv[0] = bytes1(uint8(85 + (43 * uint32(b - r)) / uint32(max - min)));
} else {
hsv[0] = bytes1(uint8(85 - (43 * uint32(r - b)) / uint32(max - min)));
}
} else {
if (r > g) {
hsv[0] = bytes1(
uint8(171 + (43 * uint32(r - g)) / uint32(max - min))
);
} else {
hsv[0] = bytes1(
uint8(171 - (43 * uint32(g - r)) / uint32(max - min))
);
}
}
}
return hsv;
}
function HSVtoRGB(bytes memory color) public pure returns (bytes memory) {
return HSVtoRGB(uint8(color[0]), uint8(color[1]), uint8(color[2]));
}
function HSVtoRGB(
uint8 h,
uint8 s,
uint8 v
) public pure returns (bytes memory) {
bytes memory rgb = new bytes(3);
uint8 region = 0;
uint8 remainder = 0;
uint8 p = 0;
uint8 q = 0;
uint8 t = 0;
if (s == 0) {
rgb[0] = bytes1(v);
rgb[1] = bytes1(v);
rgb[2] = bytes1(v);
return rgb;
}
region = h / 43;
remainder = (h - (region * 43)) * 6;
p = uint8((v * uint32(255 - s)) >> 8);
q = uint8((v * (255 - ((uint32(s) * uint32(remainder)) >> 8))) >> 8);
t = uint8((v * (255 - ((uint32(s) * uint32(255 - remainder)) >> 8))) >> 8);
if (region == 0) {
rgb[0] = bytes1(v);
rgb[1] = bytes1(t);
rgb[2] = bytes1(p);
} else if (region == 1) {
rgb[0] = bytes1(q);
rgb[1] = bytes1(v);
rgb[2] = bytes1(p);
} else if (region == 2) {
rgb[0] = bytes1(q);
rgb[1] = bytes1(v);
rgb[2] = bytes1(t);
} else if (region == 3) {
rgb[0] = bytes1(p);
rgb[1] = bytes1(q);
rgb[2] = bytes1(v);
} else if (region == 4) {
rgb[0] = bytes1(t);
rgb[1] = bytes1(p);
rgb[2] = bytes1(v);
} else {
rgb[0] = bytes1(v);
rgb[1] = bytes1(p);
rgb[2] = bytes1(q);
}
return rgb;
}
}// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts (last updated v4.7.0) (utils/Strings.sol)
pragma solidity ^0.8.0;
/**
* @dev String operations.
*/
library Strings {
bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef";
uint8 private constant _ADDRESS_LENGTH = 20;
/**
* @dev Converts a `uint256` to its ASCII `string` decimal representation.
*/
function toString(uint256 value) internal pure returns (string memory) {
// Inspired by OraclizeAPI's implementation - MIT licence
// https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol
if (value == 0) {
return "0";
}
uint256 temp = value;
uint256 digits;
while (temp != 0) {
digits++;
temp /= 10;
}
bytes memory buffer = new bytes(digits);
while (value != 0) {
digits -= 1;
buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));
value /= 10;
}
return string(buffer);
}
/**
* @dev Converts a `uint256` to its ASCII `string` hexadecimal representation.
*/
function toHexString(uint256 value) internal pure returns (string memory) {
if (value == 0) {
return "0x00";
}
uint256 temp = value;
uint256 length = 0;
while (temp != 0) {
length++;
temp >>= 8;
}
return toHexString(value, length);
}
/**
* @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length.
*/
function toHexString(uint256 value, uint256 length) internal pure returns (string memory) {
bytes memory buffer = new bytes(2 * length + 2);
buffer[0] = "0";
buffer[1] = "x";
for (uint256 i = 2 * length + 1; i > 1; --i) {
buffer[i] = _HEX_SYMBOLS[value & 0xf];
value >>= 4;
}
require(value == 0, "Strings: hex length insufficient");
return string(buffer);
}
/**
* @dev Converts an `address` with fixed length of 20 bytes to its not checksummed ASCII `string` hexadecimal representation.
*/
function toHexString(address addr) internal pure returns (string memory) {
return toHexString(uint256(uint160(addr)), _ADDRESS_LENGTH);
}
}{
"optimizer": {
"enabled": false,
"runs": 200
},
"outputSelection": {
"*": {
"*": [
"evm.bytecode",
"evm.deployedBytecode",
"devdoc",
"userdoc",
"metadata",
"abi"
]
}
},
"libraries": {}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"uint8","name":"h","type":"uint8"},{"internalType":"uint8","name":"s","type":"uint8"},{"internalType":"uint8","name":"v","type":"uint8"}],"name":"HSVtoRGB","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"color","type":"bytes"}],"name":"HSVtoRGB","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"uint8","name":"r","type":"uint8"},{"internalType":"uint8","name":"g","type":"uint8"},{"internalType":"uint8","name":"b","type":"uint8"}],"name":"RGBtoHSV","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"color","type":"bytes"}],"name":"RGBtoHSV","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"color","type":"bytes"},{"internalType":"uint8","name":"idx","type":"uint8"},{"internalType":"uint16","name":"amt","type":"uint16"}],"name":"add","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"color","type":"bytes"},{"internalType":"uint8","name":"idx","type":"uint8"},{"internalType":"uint16","name":"amt","type":"uint16"}],"name":"addWrap","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"colors","type":"bytes"},{"internalType":"uint256","name":"colorIdx","type":"uint256"}],"name":"getColor","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"colors","type":"bytes"},{"internalType":"uint256","name":"colorIdx","type":"uint256"},{"internalType":"bytes","name":"color","type":"bytes"}],"name":"setColor","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"color","type":"bytes"},{"internalType":"uint8","name":"idx","type":"uint8"},{"internalType":"uint16","name":"amt","type":"uint16"}],"name":"sub","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes","name":"color","type":"bytes"},{"internalType":"uint8","name":"idx","type":"uint8"},{"internalType":"uint16","name":"amt","type":"uint16"}],"name":"subWrap","outputs":[{"internalType":"bytes","name":"","type":"bytes"}],"stateMutability":"pure","type":"function"}]Contract Creation Code
611ed5610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a85760003560e01c8063a59ded6911610070578063a59ded691461019d578063bc25c29a146101cd578063c7bc41ee146101fd578063cc3c3cb11461022d578063dcae7a3c1461025d576100a8565b806309ffe4b9146100ad57806322a9236d146100dd5780632bd3e8101461010d5780637364e4e91461013d57806397e8ec2a1461016d575b600080fd5b6100c760048036038101906100c29190611810565b61028d565b6040516100d49190611907565b60405180910390f35b6100f760048036038101906100f29190611929565b6103a0565b6040516101049190611907565b60405180910390f35b6101276004803603810190610122919061197c565b610998565b6040516101349190611907565b60405180910390f35b61015760048036038101906101529190611929565b610a0f565b6040516101649190611907565b60405180910390f35b61018760048036038101906101829190611810565b6111af565b6040516101949190611907565b60405180910390f35b6101b760048036038101906101b2919061197c565b61122c565b6040516101c49190611907565b60405180910390f35b6101e760048036038101906101e29190611810565b6112a3565b6040516101f49190611907565b60405180910390f35b61021760048036038101906102129190611810565b611320565b6040516102249190611907565b60405180910390f35b610247600480360381019061024291906119fb565b61142f565b6040516102549190611907565b60405180910390f35b61027760048036038101906102729190611a86565b611591565b6040516102849190611907565b60405180910390f35b606060ff848460ff16815181106102a7576102a6611ae2565b5b602001015160f81c60f81b60f81c60ff16836102c39190611b40565b61ffff161061031e5760ff60f81b848460ff16815181106102e7576102e6611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350839050610399565b81848460ff168151811061033557610334611ae2565b5b602001015160f81c60f81b60f81c61034d9190611b78565b60f81b848460ff168151811061036657610365611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390505b9392505050565b60606000600367ffffffffffffffff8111156103bf576103be611672565b5b6040519080825280601f01601f1916602001820160405280156103f15781602001600182028036833780820191505090505b50905060008460ff168660ff161061041d578360ff168560ff16106104165783610418565b845b610433565b8360ff168660ff16106104305783610432565b855b5b905060008560ff168760ff161161045e578460ff168660ff16116104575784610459565b855b610474565b8460ff168760ff16116104715784610473565b865b5b90508060f81b8360028151811061048e5761048d611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060008160ff16141561056457600060f81b836000815181106104e2576104e1611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060f81b8360018151811061052a57610529611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350829350505050610991565b8260028151811061057857610577611ae2565b5b602001015160f81c60f81b60f81c60ff1682826105959190611baf565b60ff1660ff6105a49190611bf3565b6105ae9190611c60565b60f81b836001815181106105c5576105c4611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060008360018151811061060a57610609611ae2565b5b602001015160f81c60f81b60f81c60ff16141561067457600060f81b8360008151811061063a57610639611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350829350505050610991565b8660ff168160ff161415610781578460ff168660ff1611156107085781810360ff1663ffffffff1685870360ff16602b0263ffffffff16816106b9576106b8611c31565b5b0460000160f81b836000815181106106d4576106d3611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061077c565b81810360ff1663ffffffff1686860360ff16602b0263ffffffff168161073157610730611c31565b5b0460000360f81b8360008151811061074c5761074b611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b61098a565b8560ff168160ff16141561088e578660ff168560ff1611156108155781810360ff1663ffffffff1687860360ff16602b0263ffffffff16816107c6576107c5611c31565b5b0460550160f81b836000815181106107e1576107e0611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610889565b81810360ff1663ffffffff1685880360ff16602b0263ffffffff168161083e5761083d611c31565b5b0460550360f81b8360008151811061085957610858611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b610989565b8560ff168760ff1611156109145781810360ff1663ffffffff1686880360ff16602b0263ffffffff16816108c5576108c4611c31565b5b0460ab0160f81b836000815181106108e0576108df611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610988565b81810360ff1663ffffffff1687870360ff16602b0263ffffffff168161093d5761093c611c31565b5b0460ab0360f81b8360008151811061095857610957611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b5b8293505050505b9392505050565b6060610a08826000815181106109b1576109b0611ae2565b5b602001015160f81c60f81b60f81c836001815181106109d3576109d2611ae2565b5b602001015160f81c60f81b60f81c846002815181106109f5576109f4611ae2565b5b602001015160f81c60f81b60f81c6103a0565b9050919050565b60606000600367ffffffffffffffff811115610a2e57610a2d611672565b5b6040519080825280601f01601f191660200182016040528015610a605781602001600182028036833780820191505090505b5090506000806000806000808960ff161415610b59578760f81b86600081518110610a8e57610a8d611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600181518110610ad557610ad4611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600281518110610b1c57610b1b611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508596505050505050506111a8565b602b8a610b669190611c91565b94506006602b86610b779190611cc2565b8b610b829190611baf565b610b8c9190611cc2565b935060088960ff610b9d9190611baf565b60ff168960ff16610bae9190611bf3565b63ffffffff16901c92506008808560ff168b60ff16610bcd9190611bf3565b63ffffffff16901c60ff610be19190611cfd565b8960ff16610bef9190611bf3565b63ffffffff16901c91506008808560ff610c099190611baf565b60ff168b60ff16610c1a9190611bf3565b63ffffffff16901c60ff610c2e9190611cfd565b8960ff16610c3c9190611bf3565b63ffffffff16901c905060008560ff161415610d2c578760f81b86600081518110610c6a57610c69611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060f81b86600181518110610cb157610cb0611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508260f81b86600281518110610cf857610cf7611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119e565b60018560ff161415610e12578160f81b86600081518110610d5057610d4f611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600181518110610d9757610d96611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508260f81b86600281518110610dde57610ddd611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119d565b60028560ff161415610ef8578160f81b86600081518110610e3657610e35611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600181518110610e7d57610e7c611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060f81b86600281518110610ec457610ec3611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119c565b60038560ff161415610fde578260f81b86600081518110610f1c57610f1b611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160f81b86600181518110610f6357610f62611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600281518110610faa57610fa9611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119b565b60048560ff1614156110c4578060f81b8660008151811061100257611001611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508260f81b8660018151811061104957611048611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b866002815181106110905761108f611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119a565b8760f81b866000815181106110dc576110db611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508260f81b8660018151811061112357611122611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160f81b8660028151811061116a57611169611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b5b5b5b8596505050505050505b9392505050565b606081848460ff16815181106111c8576111c7611ae2565b5b602001015160f81c60f81b60f81c60ff160160f81b848460ff16815181106111f3576111f2611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390509392505050565b606061129c8260008151811061124557611244611ae2565b5b602001015160f81c60f81b60f81c8360018151811061126757611266611ae2565b5b602001015160f81c60f81b60f81c8460028151811061128957611288611ae2565b5b602001015160f81c60f81b60f81c610a0f565b9050919050565b606081848460ff16815181106112bc576112bb611ae2565b5b602001015160f81c60f81b60f81c60ff160360f81b848460ff16815181106112e7576112e6611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390509392505050565b60608161ffff16848460ff168151811061133d5761133c611ae2565b5b602001015160f81c60f81b60f81c60ff1661ffff1610156113aa57600060f81b848460ff168151811061137357611372611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350839050611428565b81848460ff16815181106113c1576113c0611ae2565b5b602001015160f81c60f81b60f81c60ff166113dc9190611d31565b60f81b848460ff16815181106113f5576113f4611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390505b9392505050565b606060038361143e9190611d65565b92508160008151811061145457611453611ae2565b5b602001015160f81c60f81b8460008561146d9190611dbf565b8151811061147e5761147d611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350816001815181106114c1576114c0611ae2565b5b602001015160f81c60f81b846001856114da9190611dbf565b815181106114eb576114ea611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160028151811061152e5761152d611ae2565b5b602001015160f81c60f81b846002856115479190611dbf565b8151811061155857611557611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390509392505050565b60606003826115a09190611d65565b915060008383815181106115b7576115b6611ae2565b5b602001015160f81c60f81b846001856115d09190611dbf565b815181106115e1576115e0611ae2565b5b602001015160f81c60f81b856002866115fa9190611dbf565b8151811061160b5761160a611ae2565b5b602001015160f81c60f81b60405160200161162893929190611e62565b60405160208183030381529060405290508091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6116aa82611661565b810181811067ffffffffffffffff821117156116c9576116c8611672565b5b80604052505050565b60006116dc611643565b90506116e882826116a1565b919050565b600067ffffffffffffffff82111561170857611707611672565b5b61171182611661565b9050602081019050919050565b82818337600083830152505050565b600061174061173b846116ed565b6116d2565b90508281526020810184848401111561175c5761175b61165c565b5b61176784828561171e565b509392505050565b600082601f83011261178457611783611657565b5b813561179484826020860161172d565b91505092915050565b600060ff82169050919050565b6117b38161179d565b81146117be57600080fd5b50565b6000813590506117d0816117aa565b92915050565b600061ffff82169050919050565b6117ed816117d6565b81146117f857600080fd5b50565b60008135905061180a816117e4565b92915050565b6000806000606084860312156118295761182861164d565b5b600084013567ffffffffffffffff81111561184757611846611652565b5b6118538682870161176f565b9350506020611864868287016117c1565b9250506040611875868287016117fb565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b838110156118b957808201518184015260208101905061189e565b838111156118c8576000848401525b50505050565b60006118d98261187f565b6118e3818561188a565b93506118f381856020860161189b565b6118fc81611661565b840191505092915050565b6000602082019050818103600083015261192181846118ce565b905092915050565b6000806000606084860312156119425761194161164d565b5b6000611950868287016117c1565b9350506020611961868287016117c1565b9250506040611972868287016117c1565b9150509250925092565b6000602082840312156119925761199161164d565b5b600082013567ffffffffffffffff8111156119b0576119af611652565b5b6119bc8482850161176f565b91505092915050565b6000819050919050565b6119d8816119c5565b81146119e357600080fd5b50565b6000813590506119f5816119cf565b92915050565b600080600060608486031215611a1457611a1361164d565b5b600084013567ffffffffffffffff811115611a3257611a31611652565b5b611a3e8682870161176f565b9350506020611a4f868287016119e6565b925050604084013567ffffffffffffffff811115611a7057611a6f611652565b5b611a7c8682870161176f565b9150509250925092565b60008060408385031215611a9d57611a9c61164d565b5b600083013567ffffffffffffffff811115611abb57611aba611652565b5b611ac78582860161176f565b9250506020611ad8858286016119e6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b4b826117d6565b9150611b56836117d6565b92508261ffff03821115611b6d57611b6c611b11565b5b828201905092915050565b6000611b838261179d565b9150611b8e8361179d565b92508260ff03821115611ba457611ba3611b11565b5b828201905092915050565b6000611bba8261179d565b9150611bc58361179d565b925082821015611bd857611bd7611b11565b5b828203905092915050565b600063ffffffff82169050919050565b6000611bfe82611be3565b9150611c0983611be3565b92508163ffffffff0483118215151615611c2657611c25611b11565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611c6b82611be3565b9150611c7683611be3565b925082611c8657611c85611c31565b5b828204905092915050565b6000611c9c8261179d565b9150611ca78361179d565b925082611cb757611cb6611c31565b5b828204905092915050565b6000611ccd8261179d565b9150611cd88361179d565b92508160ff0483118215151615611cf257611cf1611b11565b5b828202905092915050565b6000611d0882611be3565b9150611d1383611be3565b925082821015611d2657611d25611b11565b5b828203905092915050565b6000611d3c826117d6565b9150611d47836117d6565b925082821015611d5a57611d59611b11565b5b828203905092915050565b6000611d70826119c5565b9150611d7b836119c5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611db457611db3611b11565b5b828202905092915050565b6000611dca826119c5565b9150611dd5836119c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611e0a57611e09611b11565b5b828201905092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b611e5c611e5782611e15565b611e41565b82525050565b6000611e6e8286611e4b565b600182019150611e7e8285611e4b565b600182019150611e8e8284611e4b565b60018201915081905094935050505056fea2646970667358221220ae62fc1d4ae468869d6b1c57a26cd1a170092fb3b0845911a330e18a50220a7764736f6c63430008090033
Deployed Bytecode
0x735f30ba2bb352d5c8b44b2d3a2885fedf95ef4e3830146080604052600436106100a85760003560e01c8063a59ded6911610070578063a59ded691461019d578063bc25c29a146101cd578063c7bc41ee146101fd578063cc3c3cb11461022d578063dcae7a3c1461025d576100a8565b806309ffe4b9146100ad57806322a9236d146100dd5780632bd3e8101461010d5780637364e4e91461013d57806397e8ec2a1461016d575b600080fd5b6100c760048036038101906100c29190611810565b61028d565b6040516100d49190611907565b60405180910390f35b6100f760048036038101906100f29190611929565b6103a0565b6040516101049190611907565b60405180910390f35b6101276004803603810190610122919061197c565b610998565b6040516101349190611907565b60405180910390f35b61015760048036038101906101529190611929565b610a0f565b6040516101649190611907565b60405180910390f35b61018760048036038101906101829190611810565b6111af565b6040516101949190611907565b60405180910390f35b6101b760048036038101906101b2919061197c565b61122c565b6040516101c49190611907565b60405180910390f35b6101e760048036038101906101e29190611810565b6112a3565b6040516101f49190611907565b60405180910390f35b61021760048036038101906102129190611810565b611320565b6040516102249190611907565b60405180910390f35b610247600480360381019061024291906119fb565b61142f565b6040516102549190611907565b60405180910390f35b61027760048036038101906102729190611a86565b611591565b6040516102849190611907565b60405180910390f35b606060ff848460ff16815181106102a7576102a6611ae2565b5b602001015160f81c60f81b60f81c60ff16836102c39190611b40565b61ffff161061031e5760ff60f81b848460ff16815181106102e7576102e6611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350839050610399565b81848460ff168151811061033557610334611ae2565b5b602001015160f81c60f81b60f81c61034d9190611b78565b60f81b848460ff168151811061036657610365611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390505b9392505050565b60606000600367ffffffffffffffff8111156103bf576103be611672565b5b6040519080825280601f01601f1916602001820160405280156103f15781602001600182028036833780820191505090505b50905060008460ff168660ff161061041d578360ff168560ff16106104165783610418565b845b610433565b8360ff168660ff16106104305783610432565b855b5b905060008560ff168760ff161161045e578460ff168660ff16116104575784610459565b855b610474565b8460ff168760ff16116104715784610473565b865b5b90508060f81b8360028151811061048e5761048d611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060008160ff16141561056457600060f81b836000815181106104e2576104e1611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060f81b8360018151811061052a57610529611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350829350505050610991565b8260028151811061057857610577611ae2565b5b602001015160f81c60f81b60f81c60ff1682826105959190611baf565b60ff1660ff6105a49190611bf3565b6105ae9190611c60565b60f81b836001815181106105c5576105c4611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060008360018151811061060a57610609611ae2565b5b602001015160f81c60f81b60f81c60ff16141561067457600060f81b8360008151811061063a57610639611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350829350505050610991565b8660ff168160ff161415610781578460ff168660ff1611156107085781810360ff1663ffffffff1685870360ff16602b0263ffffffff16816106b9576106b8611c31565b5b0460000160f81b836000815181106106d4576106d3611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061077c565b81810360ff1663ffffffff1686860360ff16602b0263ffffffff168161073157610730611c31565b5b0460000360f81b8360008151811061074c5761074b611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b61098a565b8560ff168160ff16141561088e578660ff168560ff1611156108155781810360ff1663ffffffff1687860360ff16602b0263ffffffff16816107c6576107c5611c31565b5b0460550160f81b836000815181106107e1576107e0611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610889565b81810360ff1663ffffffff1685880360ff16602b0263ffffffff168161083e5761083d611c31565b5b0460550360f81b8360008151811061085957610858611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b610989565b8560ff168760ff1611156109145781810360ff1663ffffffff1686880360ff16602b0263ffffffff16816108c5576108c4611c31565b5b0460ab0160f81b836000815181106108e0576108df611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350610988565b81810360ff1663ffffffff1687870360ff16602b0263ffffffff168161093d5761093c611c31565b5b0460ab0360f81b8360008151811061095857610957611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b5b8293505050505b9392505050565b6060610a08826000815181106109b1576109b0611ae2565b5b602001015160f81c60f81b60f81c836001815181106109d3576109d2611ae2565b5b602001015160f81c60f81b60f81c846002815181106109f5576109f4611ae2565b5b602001015160f81c60f81b60f81c6103a0565b9050919050565b60606000600367ffffffffffffffff811115610a2e57610a2d611672565b5b6040519080825280601f01601f191660200182016040528015610a605781602001600182028036833780820191505090505b5090506000806000806000808960ff161415610b59578760f81b86600081518110610a8e57610a8d611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600181518110610ad557610ad4611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600281518110610b1c57610b1b611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508596505050505050506111a8565b602b8a610b669190611c91565b94506006602b86610b779190611cc2565b8b610b829190611baf565b610b8c9190611cc2565b935060088960ff610b9d9190611baf565b60ff168960ff16610bae9190611bf3565b63ffffffff16901c92506008808560ff168b60ff16610bcd9190611bf3565b63ffffffff16901c60ff610be19190611cfd565b8960ff16610bef9190611bf3565b63ffffffff16901c91506008808560ff610c099190611baf565b60ff168b60ff16610c1a9190611bf3565b63ffffffff16901c60ff610c2e9190611cfd565b8960ff16610c3c9190611bf3565b63ffffffff16901c905060008560ff161415610d2c578760f81b86600081518110610c6a57610c69611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060f81b86600181518110610cb157610cb0611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508260f81b86600281518110610cf857610cf7611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119e565b60018560ff161415610e12578160f81b86600081518110610d5057610d4f611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600181518110610d9757610d96611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508260f81b86600281518110610dde57610ddd611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119d565b60028560ff161415610ef8578160f81b86600081518110610e3657610e35611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600181518110610e7d57610e7c611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508060f81b86600281518110610ec457610ec3611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119c565b60038560ff161415610fde578260f81b86600081518110610f1c57610f1b611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160f81b86600181518110610f6357610f62611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b86600281518110610faa57610fa9611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119b565b60048560ff1614156110c4578060f81b8660008151811061100257611001611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508260f81b8660018151811061104957611048611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508760f81b866002815181106110905761108f611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535061119a565b8760f81b866000815181106110dc576110db611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508260f81b8660018151811061112357611122611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160f81b8660028151811061116a57611169611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053505b5b5b5b5b8596505050505050505b9392505050565b606081848460ff16815181106111c8576111c7611ae2565b5b602001015160f81c60f81b60f81c60ff160160f81b848460ff16815181106111f3576111f2611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390509392505050565b606061129c8260008151811061124557611244611ae2565b5b602001015160f81c60f81b60f81c8360018151811061126757611266611ae2565b5b602001015160f81c60f81b60f81c8460028151811061128957611288611ae2565b5b602001015160f81c60f81b60f81c610a0f565b9050919050565b606081848460ff16815181106112bc576112bb611ae2565b5b602001015160f81c60f81b60f81c60ff160360f81b848460ff16815181106112e7576112e6611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390509392505050565b60608161ffff16848460ff168151811061133d5761133c611ae2565b5b602001015160f81c60f81b60f81c60ff1661ffff1610156113aa57600060f81b848460ff168151811061137357611372611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350839050611428565b81848460ff16815181106113c1576113c0611ae2565b5b602001015160f81c60f81b60f81c60ff166113dc9190611d31565b60f81b848460ff16815181106113f5576113f4611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390505b9392505050565b606060038361143e9190611d65565b92508160008151811061145457611453611ae2565b5b602001015160f81c60f81b8460008561146d9190611dbf565b8151811061147e5761147d611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350816001815181106114c1576114c0611ae2565b5b602001015160f81c60f81b846001856114da9190611dbf565b815181106114eb576114ea611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508160028151811061152e5761152d611ae2565b5b602001015160f81c60f81b846002856115479190611dbf565b8151811061155857611557611ae2565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053508390509392505050565b60606003826115a09190611d65565b915060008383815181106115b7576115b6611ae2565b5b602001015160f81c60f81b846001856115d09190611dbf565b815181106115e1576115e0611ae2565b5b602001015160f81c60f81b856002866115fa9190611dbf565b8151811061160b5761160a611ae2565b5b602001015160f81c60f81b60405160200161162893929190611e62565b60405160208183030381529060405290508091505092915050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6116aa82611661565b810181811067ffffffffffffffff821117156116c9576116c8611672565b5b80604052505050565b60006116dc611643565b90506116e882826116a1565b919050565b600067ffffffffffffffff82111561170857611707611672565b5b61171182611661565b9050602081019050919050565b82818337600083830152505050565b600061174061173b846116ed565b6116d2565b90508281526020810184848401111561175c5761175b61165c565b5b61176784828561171e565b509392505050565b600082601f83011261178457611783611657565b5b813561179484826020860161172d565b91505092915050565b600060ff82169050919050565b6117b38161179d565b81146117be57600080fd5b50565b6000813590506117d0816117aa565b92915050565b600061ffff82169050919050565b6117ed816117d6565b81146117f857600080fd5b50565b60008135905061180a816117e4565b92915050565b6000806000606084860312156118295761182861164d565b5b600084013567ffffffffffffffff81111561184757611846611652565b5b6118538682870161176f565b9350506020611864868287016117c1565b9250506040611875868287016117fb565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b60005b838110156118b957808201518184015260208101905061189e565b838111156118c8576000848401525b50505050565b60006118d98261187f565b6118e3818561188a565b93506118f381856020860161189b565b6118fc81611661565b840191505092915050565b6000602082019050818103600083015261192181846118ce565b905092915050565b6000806000606084860312156119425761194161164d565b5b6000611950868287016117c1565b9350506020611961868287016117c1565b9250506040611972868287016117c1565b9150509250925092565b6000602082840312156119925761199161164d565b5b600082013567ffffffffffffffff8111156119b0576119af611652565b5b6119bc8482850161176f565b91505092915050565b6000819050919050565b6119d8816119c5565b81146119e357600080fd5b50565b6000813590506119f5816119cf565b92915050565b600080600060608486031215611a1457611a1361164d565b5b600084013567ffffffffffffffff811115611a3257611a31611652565b5b611a3e8682870161176f565b9350506020611a4f868287016119e6565b925050604084013567ffffffffffffffff811115611a7057611a6f611652565b5b611a7c8682870161176f565b9150509250925092565b60008060408385031215611a9d57611a9c61164d565b5b600083013567ffffffffffffffff811115611abb57611aba611652565b5b611ac78582860161176f565b9250506020611ad8858286016119e6565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000611b4b826117d6565b9150611b56836117d6565b92508261ffff03821115611b6d57611b6c611b11565b5b828201905092915050565b6000611b838261179d565b9150611b8e8361179d565b92508260ff03821115611ba457611ba3611b11565b5b828201905092915050565b6000611bba8261179d565b9150611bc58361179d565b925082821015611bd857611bd7611b11565b5b828203905092915050565b600063ffffffff82169050919050565b6000611bfe82611be3565b9150611c0983611be3565b92508163ffffffff0483118215151615611c2657611c25611b11565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611c6b82611be3565b9150611c7683611be3565b925082611c8657611c85611c31565b5b828204905092915050565b6000611c9c8261179d565b9150611ca78361179d565b925082611cb757611cb6611c31565b5b828204905092915050565b6000611ccd8261179d565b9150611cd88361179d565b92508160ff0483118215151615611cf257611cf1611b11565b5b828202905092915050565b6000611d0882611be3565b9150611d1383611be3565b925082821015611d2657611d25611b11565b5b828203905092915050565b6000611d3c826117d6565b9150611d47836117d6565b925082821015611d5a57611d59611b11565b5b828203905092915050565b6000611d70826119c5565b9150611d7b836119c5565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615611db457611db3611b11565b5b828202905092915050565b6000611dca826119c5565b9150611dd5836119c5565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115611e0a57611e09611b11565b5b828201905092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6000819050919050565b611e5c611e5782611e15565b611e41565b82525050565b6000611e6e8286611e4b565b600182019150611e7e8285611e4b565b600182019150611e8e8284611e4b565b60018201915081905094935050505056fea2646970667358221220ae62fc1d4ae468869d6b1c57a26cd1a170092fb3b0845911a330e18a50220a7764736f6c63430008090033
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 32 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
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.