Source Code
Overview
POL Balance
POL Value
$0.00Cross-Chain Transactions
Loading...
Loading
Contract Name:
PriorityQueue
Compiler Version
v0.5.17+commit.d19bba13
Contract Source Code (Solidity)
/**
*Submitted for verification at polygonscan.com on 2024-01-29
*/
// File: openzeppelin-solidity/contracts/ownership/Ownable.sol
pragma solidity ^0.5.2;
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address private _owner;
event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor () internal {
_owner = msg.sender;
emit OwnershipTransferred(address(0), _owner);
}
/**
* @return the address of the owner.
*/
function owner() public view returns (address) {
return _owner;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(isOwner());
_;
}
/**
* @return true if `msg.sender` is the owner of the contract.
*/
function isOwner() public view returns (bool) {
return msg.sender == _owner;
}
/**
* @dev Allows the current owner to relinquish control of the contract.
* It will not be possible to call the functions with the `onlyOwner`
* modifier anymore.
* @notice Renouncing ownership will leave the contract without an owner,
* thereby removing any functionality that is only available to the owner.
*/
function renounceOwnership() public onlyOwner {
emit OwnershipTransferred(_owner, address(0));
_owner = address(0);
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function transferOwnership(address newOwner) public onlyOwner {
_transferOwnership(newOwner);
}
/**
* @dev Transfers control of the contract to a newOwner.
* @param newOwner The address to transfer ownership to.
*/
function _transferOwnership(address newOwner) internal {
require(newOwner != address(0));
emit OwnershipTransferred(_owner, newOwner);
_owner = newOwner;
}
}
// File: openzeppelin-solidity/contracts/math/SafeMath.sol
pragma solidity ^0.5.2;
/**
* @title SafeMath
* @dev Unsigned math operations with safety checks that revert on error
*/
library SafeMath {
/**
* @dev Multiplies two unsigned integers, reverts on 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-solidity/pull/522
if (a == 0) {
return 0;
}
uint256 c = a * b;
require(c / a == b);
return c;
}
/**
* @dev Integer division of two unsigned integers truncating the quotient, reverts on division by zero.
*/
function div(uint256 a, uint256 b) internal pure returns (uint256) {
// Solidity only automatically asserts when dividing by 0
require(b > 0);
uint256 c = a / b;
// assert(a == b * c + a % b); // There is no case in which this doesn't hold
return c;
}
/**
* @dev Subtracts two unsigned integers, reverts on overflow (i.e. if subtrahend is greater than minuend).
*/
function sub(uint256 a, uint256 b) internal pure returns (uint256) {
require(b <= a);
uint256 c = a - b;
return c;
}
/**
* @dev Adds two unsigned integers, reverts on overflow.
*/
function add(uint256 a, uint256 b) internal pure returns (uint256) {
uint256 c = a + b;
require(c >= a);
return c;
}
/**
* @dev Divides two unsigned integers and returns the remainder (unsigned integer modulo),
* reverts when dividing by zero.
*/
function mod(uint256 a, uint256 b) internal pure returns (uint256) {
require(b != 0);
return a % b;
}
}
// File: contracts/common/lib/PriorityQueue.sol
pragma solidity ^0.5.2;
/**
* @title PriorityQueue
* @dev A priority queue implementation.
*/
contract PriorityQueue is Ownable {
using SafeMath for uint256;
uint256[] heapList;
uint256 public currentSize;
constructor() public {
heapList = [0];
}
/**
* @dev Inserts an element into the priority queue.
* @param _priority Priority to insert.
* @param _value Some additional value.
*/
function insert(uint256 _priority, uint256 _value) public onlyOwner {
uint256 element = (_priority << 128) | _value;
heapList.push(element);
currentSize = currentSize.add(1);
_percUp(currentSize);
}
/**
* @dev Returns the top element of the heap.
* @return The smallest element in the priority queue.
*/
function getMin() public view returns (uint256, uint256) {
return _splitElement(heapList[1]);
}
/**
* @dev Deletes the top element of the heap and shifts everything up.
* @return The smallest element in the priorty queue.
*/
function delMin() public onlyOwner returns (uint256, uint256) {
uint256 retVal = heapList[1];
heapList[1] = heapList[currentSize];
delete heapList[currentSize];
currentSize = currentSize.sub(1);
_percDown(1);
heapList.length = heapList.length.sub(1);
return _splitElement(retVal);
}
/**
* @dev Determines the minimum child of a given node in the tree.
* @param _index Index of the node in the tree.
* @return The smallest child node.
*/
function _minChild(uint256 _index) private view returns (uint256) {
if (_index.mul(2).add(1) > currentSize) {
return _index.mul(2);
} else {
if (heapList[_index.mul(2)] < heapList[_index.mul(2).add(1)]) {
return _index.mul(2);
} else {
return _index.mul(2).add(1);
}
}
}
/**
* @dev Bubbles the element at some index up.
*/
function _percUp(uint256 _index) private {
uint256 index = _index;
uint256 j = index;
uint256 newVal = heapList[index];
while (newVal < heapList[index.div(2)]) {
heapList[index] = heapList[index.div(2)];
index = index.div(2);
}
if (index != j) {
heapList[index] = newVal;
}
}
/**
* @dev Bubbles the element at some index down.
*/
function _percDown(uint256 _index) private {
uint256 index = _index;
uint256 j = index;
uint256 newVal = heapList[index];
uint256 mc = _minChild(index);
while (mc <= currentSize && newVal > heapList[mc]) {
heapList[index] = heapList[mc];
index = mc;
mc = _minChild(index);
}
if (index != j) {
heapList[index] = newVal;
}
}
/**
* @dev Split an element into its priority and value.
* @param _element Element to decode.
* @return A tuple containing the priority and value.
*/
function _splitElement(uint256 _element)
private
pure
returns (uint256, uint256)
{
uint256 priority = _element >> 128;
uint256 value = uint256(uint128(_element));
return (priority, value);
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"constant":true,"inputs":[],"name":"currentSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"delMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"getMin","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_priority","type":"uint256"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"insert","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"}]Contract Creation Code
608060405234801561001057600080fd5b50600080546001600160a01b03191633178082556040516001600160a01b039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3604080516020810190915260008152610076906001908161007c565b506100e9565b8280548282559060005260206000209081019282156100bc579160200282015b828111156100bc578251829060ff1690559160200191906001019061009c565b506100c89291506100cc565b5090565b6100e691905b808211156100c857600081556001016100d2565b90565b610757806100f86000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063b07576ac1161005b578063b07576ac146100fa578063bda1504b1461011b578063d6362e9714610135578063f2fde38b1461013d57610088565b80631d834a1b1461008d578063715018a6146100b25780638da5cb5b146100ba5780638f32d59b146100de575b600080fd5b6100b0600480360360408110156100a357600080fd5b5080359060200135610163565b005b6100b06101d8565b6100c2610233565b604080516001600160a01b039092168252519081900360200190f35b6100e6610243565b604080519115158252519081900360200190f35b610102610254565b6040805192835260208301919091528051918290030190f35b610123610325565b60408051918252519081900360200190f35b61010261032b565b6100b06004803603602081101561015357600080fd5b50356001600160a01b0316610356565b61016b610243565b61017457600080fd5b6001805480820182556000829052608084901b83177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf690910181905560025490916101c5919063ffffffff61037316565b60028190556101d39061038e565b505050565b6101e0610243565b6101e957600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b60008061025f610243565b61026857600080fd5b60006001808154811061027757fe5b9060005260206000200154905060016002548154811061029357fe5b9060005260206000200154600180815481106102ab57fe5b90600052602060002001819055506001600254815481106102c857fe5b60009182526020822001556002546102e790600163ffffffff61046216565b6002556102f46001610477565b600180546103079163ffffffff61046216565b6103126001826106e5565b5061031c81610542565b92509250509091565b60025481565b60008061034e6001808154811061033e57fe5b9060005260206000200154610542565b915091509091565b61035e610243565b61036757600080fd5b6103708161055f565b50565b60008282018381101561038557600080fd5b90505b92915050565b600180548291829160009190839081106103a457fe5b906000526020600020015490505b60016103c584600263ffffffff6105cd16565b815481106103cf57fe5b906000526020600020015481101561043a5760016103f484600263ffffffff6105cd16565b815481106103fe57fe5b90600052602060002001546001848154811061041657fe5b60009182526020909120015561043383600263ffffffff6105cd16565b92506103b2565b81831461045c57806001848154811061044f57fe5b6000918252602090912001555b50505050565b60008282111561047157600080fd5b50900390565b6001805482918291600091908390811061048d57fe5b9060005260206000200154905060006104a5846105ef565b90505b60025481111580156104d05750600181815481106104c257fe5b906000526020600020015482115b1561051957600181815481106104e257fe5b9060005260206000200154600185815481106104fa57fe5b600091825260209091200155925082610512816105ef565b90506104a8565b82841461053b57816001858154811061052e57fe5b6000918252602090912001555b5050505050565b608081901c6fffffffffffffffffffffffffffffffff8216915091565b6001600160a01b03811661057257600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008082116105db57600080fd5b60008284816105e657fe5b04949350505050565b6000600254610619600161060d6002866106be90919063ffffffff16565b9063ffffffff61037316565b11156106375761063082600263ffffffff6106be16565b90506106b9565b600161064e8161060d85600263ffffffff6106be16565b8154811061065857fe5b600091825260209091200154600161067784600263ffffffff6106be16565b8154811061068157fe5b906000526020600020015410156106a35761063082600263ffffffff6106be16565b610630600161060d84600263ffffffff6106be16565b919050565b6000826106cd57506000610388565b828202828482816106da57fe5b041461038557600080fd5b8154818355818111156101d3576000838152602090206101d391810190830161024091905b8082111561071e576000815560010161070a565b509056fea265627a7a72315820dcbc52c43c8707f4c23d33cb4c40b9b416b5d88f272f064d0fa2d9e29683a5a064736f6c63430005110032
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063b07576ac1161005b578063b07576ac146100fa578063bda1504b1461011b578063d6362e9714610135578063f2fde38b1461013d57610088565b80631d834a1b1461008d578063715018a6146100b25780638da5cb5b146100ba5780638f32d59b146100de575b600080fd5b6100b0600480360360408110156100a357600080fd5b5080359060200135610163565b005b6100b06101d8565b6100c2610233565b604080516001600160a01b039092168252519081900360200190f35b6100e6610243565b604080519115158252519081900360200190f35b610102610254565b6040805192835260208301919091528051918290030190f35b610123610325565b60408051918252519081900360200190f35b61010261032b565b6100b06004803603602081101561015357600080fd5b50356001600160a01b0316610356565b61016b610243565b61017457600080fd5b6001805480820182556000829052608084901b83177fb10e2d527612073b26eecdfd717e6a320cf44b4afac2b0732d9fcbe2b7fa0cf690910181905560025490916101c5919063ffffffff61037316565b60028190556101d39061038e565b505050565b6101e0610243565b6101e957600080fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b03165b90565b6000546001600160a01b0316331490565b60008061025f610243565b61026857600080fd5b60006001808154811061027757fe5b9060005260206000200154905060016002548154811061029357fe5b9060005260206000200154600180815481106102ab57fe5b90600052602060002001819055506001600254815481106102c857fe5b60009182526020822001556002546102e790600163ffffffff61046216565b6002556102f46001610477565b600180546103079163ffffffff61046216565b6103126001826106e5565b5061031c81610542565b92509250509091565b60025481565b60008061034e6001808154811061033e57fe5b9060005260206000200154610542565b915091509091565b61035e610243565b61036757600080fd5b6103708161055f565b50565b60008282018381101561038557600080fd5b90505b92915050565b600180548291829160009190839081106103a457fe5b906000526020600020015490505b60016103c584600263ffffffff6105cd16565b815481106103cf57fe5b906000526020600020015481101561043a5760016103f484600263ffffffff6105cd16565b815481106103fe57fe5b90600052602060002001546001848154811061041657fe5b60009182526020909120015561043383600263ffffffff6105cd16565b92506103b2565b81831461045c57806001848154811061044f57fe5b6000918252602090912001555b50505050565b60008282111561047157600080fd5b50900390565b6001805482918291600091908390811061048d57fe5b9060005260206000200154905060006104a5846105ef565b90505b60025481111580156104d05750600181815481106104c257fe5b906000526020600020015482115b1561051957600181815481106104e257fe5b9060005260206000200154600185815481106104fa57fe5b600091825260209091200155925082610512816105ef565b90506104a8565b82841461053b57816001858154811061052e57fe5b6000918252602090912001555b5050505050565b608081901c6fffffffffffffffffffffffffffffffff8216915091565b6001600160a01b03811661057257600080fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b60008082116105db57600080fd5b60008284816105e657fe5b04949350505050565b6000600254610619600161060d6002866106be90919063ffffffff16565b9063ffffffff61037316565b11156106375761063082600263ffffffff6106be16565b90506106b9565b600161064e8161060d85600263ffffffff6106be16565b8154811061065857fe5b600091825260209091200154600161067784600263ffffffff6106be16565b8154811061068157fe5b906000526020600020015410156106a35761063082600263ffffffff6106be16565b610630600161060d84600263ffffffff6106be16565b919050565b6000826106cd57506000610388565b828202828482816106da57fe5b041461038557600080fd5b8154818355818111156101d3576000838152602090206101d391810190830161024091905b8082111561071e576000815560010161070a565b509056fea265627a7a72315820dcbc52c43c8707f4c23d33cb4c40b9b416b5d88f272f064d0fa2d9e29683a5a064736f6c63430005110032
Deployed Bytecode Sourcemap
4458:3317:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;4458:3317:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4809:239;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;4809:239:0;;;;;;;:::i;:::-;;1539:140;;;:::i;749:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;749:79:0;;;;;;;;;;;;;;1084:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;5435:350;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;4559:26;;;:::i;:::-;;;;;;;;;;;;;;;;5175:109;;;:::i;1856:::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1856:109:0;-1:-1:-1;;;;;1856:109:0;;:::i;4809:239::-;961:9;:7;:9::i;:::-;953:18;;;;;;4944:8;27:10:-1;;23:18;;;45:23;;4888:15:0;4944:22;;;4920:3;4907:16;;;4906:27;;4944:22;;;;;;;4991:11;;4906:27;;4991:18;;:11;:18;:15;:18;:::i;:::-;4977:11;:32;;;5020:20;;:7;:20::i;:::-;982:1;4809:239;;:::o;1539:140::-;961:9;:7;:9::i;:::-;953:18;;;;;;1638:1;1622:6;;1601:40;;-1:-1:-1;;;;;1622:6:0;;;;1601:40;;1638:1;;1601:40;1669:1;1652:19;;-1:-1:-1;;;;;;1652:19:0;;;1539:140::o;749:79::-;787:7;814:6;-1:-1:-1;;;;;814:6:0;749:79;;:::o;1084:92::-;1124:4;1162:6;-1:-1:-1;;;;;1162:6:0;1148:10;:20;;1084:92::o;5435:350::-;5479:7;5488;961:9;:7;:9::i;:::-;953:18;;;;;;5508:14;5525:8;5534:1;5525:11;;;;;;;;;;;;;;;;5508:28;;5561:8;5570:11;;5561:21;;;;;;;;;;;;;;;;5547:8;5556:1;5547:11;;;;;;;;;;;;;;;:35;;;;5600:8;5609:11;;5600:21;;;;;;;;;;;;;;;;5593:28;5646:11;;:18;;5662:1;5646:18;:15;:18;:::i;:::-;5632:11;:32;5675:12;5685:1;5675:9;:12::i;:::-;5736:1;5716:15;;:22;;;:19;:22;:::i;:::-;5698:40;:8;:40;;:::i;:::-;;5756:21;5770:6;5756:13;:21::i;:::-;5749:28;;;;;5435:350;;:::o;4559:26::-;;;;:::o;5175:109::-;5214:7;5223;5250:26;5264:8;5273:1;5264:11;;;;;;;;;;;;;;;;5250:13;:26::i;:::-;5243:33;;;;5175:109;;:::o;1856:::-;961:9;:7;:9::i;:::-;953:18;;;;;;1929:28;1948:8;1929:18;:28::i;:::-;1856:109;:::o;3859:150::-;3917:7;3949:5;;;3973:6;;;;3965:15;;;;;;4000:1;-1:-1:-1;3859:150:0;;;;;:::o;6425:386::-;6555:8;:15;;6493:6;;;;6477:13;;6555:8;6493:6;;6555:15;;;;;;;;;;;;;;6538:32;;6583:142;6599:8;6608:12;:5;6618:1;6608:12;:9;:12;:::i;:::-;6599:22;;;;;;;;;;;;;;;;6590:6;:31;6583:142;;;6656:8;6665:12;:5;6675:1;6665:12;:9;:12;:::i;:::-;6656:22;;;;;;;;;;;;;;;;6638:8;6647:5;6638:15;;;;;;;;;;;;;;;;;:40;6701:12;:5;6711:1;6701:12;:9;:12;:::i;:::-;6693:20;;6583:142;;;6750:1;6741:5;:10;6737:67;;6786:6;6768:8;6777:5;6768:15;;;;;;;;;;;;;;;;;:24;6737:67;6425:386;;;;:::o;3621:150::-;3679:7;3712:1;3707;:6;;3699:15;;;;;;-1:-1:-1;3737:5:0;;;3621:150::o;6886:453::-;7018:8;:15;;6956:6;;;;6940:13;;7018:8;6956:6;;7018:15;;;;;;;;;;;;;;7001:32;;7044:10;7057:16;7067:5;7057:9;:16::i;:::-;7044:29;;7084:169;7097:11;;7091:2;:17;;:42;;;;;7121:8;7130:2;7121:12;;;;;;;;;;;;;;;;7112:6;:21;7091:42;7084:169;;;7168:8;7177:2;7168:12;;;;;;;;;;;;;;;;7150:8;7159:5;7150:15;;;;;;;;;;;;;;;;;:30;7203:2;-1:-1:-1;7203:2:0;7225:16;7203:2;7225:9;:16::i;:::-;7220:21;;7084:169;;;7278:1;7269:5;:10;7265:67;;7314:6;7296:8;7305:5;7296:15;;;;;;;;;;;;;;;;;:24;7265:67;6886:453;;;;;:::o;7518:254::-;7673:3;7661:15;;;7703:26;;;7518:254;;;:::o;2115:187::-;-1:-1:-1;;;;;2189:22:0;;2181:31;;;;;;2249:6;;;2228:38;;-1:-1:-1;;;;;2228:38:0;;;;2249:6;;;2228:38;;;2277:6;:17;;-1:-1:-1;;;;;;2277:17:0;-1:-1:-1;;;;;2277:17:0;;;;;;;;;;2115:187::o;3180:303::-;3238:7;3337:1;3333;:5;3325:14;;;;;;3350:9;3366:1;3362;:5;;;;;;;3180:303;-1:-1:-1;;;;3180:303:0:o;5964:388::-;6021:7;6068:11;;6045:20;6063:1;6045:13;6056:1;6045:6;:10;;:13;;;;:::i;:::-;:17;:20;:17;:20;:::i;:::-;:34;6041:304;;;6103:13;:6;6114:1;6103:13;:10;:13;:::i;:::-;6096:20;;;;6041:304;6179:8;6188:20;6179:8;6188:13;:6;6199:1;6188:13;:10;:13;:::i;:20::-;6179:30;;;;;;;;;;;;;;;;;;6153:8;6162:13;:6;6173:1;6162:13;:10;:13;:::i;:::-;6153:23;;;;;;;;;;;;;;;;:56;6149:185;;;6237:13;:6;6248:1;6237:13;:10;:13;:::i;6149:185::-;6298:20;6316:1;6298:13;:6;6309:1;6298:13;:10;:13;:::i;6149:185::-;5964:388;;;:::o;2612:433::-;2670:7;2914:6;2910:47;;-1:-1:-1;2944:1:0;2937:8;;2910:47;2981:5;;;2985:1;2981;:5;:1;3005:5;;;;;:10;2997:19;;;;;4458:3317;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Swarm Source
bzzr://dcbc52c43c8707f4c23d33cb4c40b9b416b5d88f272f064d0fa2d9e29683a5a0
Loading...
Loading
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in POL
Multichain Portfolio | 34 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.