Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Source Code Verified (Exact Match)
Contract Name:
InterestRateModelV3
Compiler Version
v0.6.4+commit.1dca32f3
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2022-01-07 */ /** *Submitted for verification at BscScan.com on 2022-01-06 */ pragma solidity 0.6.4; // SPDX-License-Identifier: MIT /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, "SafeMath: addition overflow"); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * * - Subtraction cannot overflow. */ function sub( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) { return 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function div( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * * - The divisor cannot be zero. */ function mod( uint256 a, uint256 b, string memory errorMessage ) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } function min(uint256 a, uint256 b) internal pure returns (uint256) { return a <= b ? a : b; } function abs(uint256 a, uint256 b) internal pure returns (uint256) { if (a < b) { return b - a; } return a - b; } } // SPDX-License-Identifier: MIT contract InterestRateModelV3 { using SafeMath for uint256; // 基础利率0.02,转折点为0.8,0.8时为30%, 1时为300%, x为使用率 // y1 = 0.35 * x + 0.02 x∈[0, 0.8] y1∈[0.02, 0.3] // y2 = 13.5 * x - 10.5 x∈[0.8, 1] y2∈[0.3, 3] uint256 public multiplierPerBlock; // 0.35 ==> 0.35 * 1e18 uint256 public jumpMultiplierPerBlock;//13.5 ==> 13.5 * 1e18 uint256 public jumpPoint;//转折点 0.8 ==> 0.8 * 1e18 uint256 public baseRatePerBlock;//0.02e18 截距为1 uint256 public blocksPerYear;//ETH: 2102400, BSC: 10512000 constructor( uint256 baseRatePerYear, uint256 multiplierPerYear, uint256 jumpMultiplierPerYear, uint256 _blocksPerYear, uint256 _jumpPoint ) public { blocksPerYear = _blocksPerYear; baseRatePerBlock = baseRatePerYear.div(blocksPerYear); multiplierPerBlock = multiplierPerYear.div(blocksPerYear); jumpMultiplierPerBlock = jumpMultiplierPerYear.div(blocksPerYear); jumpPoint = _jumpPoint; } // 计算利用率 function utilizationRate( uint256 cash, uint256 borrows, uint256 reserves ) public pure returns (uint256) { if (borrows == 0) { return 0; } // borrows/(cash + borrows) return borrows.mul(1e18).div(cash.add(borrows)); } // 借款利率 function getBorrowRate( uint256 cash, uint256 borrows, uint256 reserves ) public view returns (uint256) { uint256 ur = utilizationRate(cash, borrows, reserves); if (ur <= jumpPoint) { return ur.mul(multiplierPerBlock).div(1e18).add(baseRatePerBlock);//y1 = 0.35 * x + 0.02 } else { // jumpPointRate = 0.8 * 0.35 + 0.02 = 0.30 // deltaY = jumpMultiplierPerBlock * (ur - jumpPoint) == deltaX * (ur - 0.8) // y = jumpPointRate + deltaY uint256 jumpPointRate = jumpPoint.mul(multiplierPerBlock).div(1e18).add(baseRatePerBlock); uint256 excessUr = ur.sub(jumpPoint); return excessUr.mul(jumpMultiplierPerBlock).div(1e18).add(jumpPointRate);// y2 = 13.5 * x - 10.5 } } // 存款利率 function getSupplyRate( uint256 cash, uint256 borrows, uint256 reserves, uint256 reserveFactorMantissa ) public view returns (uint256) { uint256 oneMinusReserveFactor = uint256(1e18).sub( reserveFactorMantissa ); uint256 borrowRate = getBorrowRate(cash, borrows, reserves); uint256 rateToPool = borrowRate.mul(oneMinusReserveFactor).div(1e18); return utilizationRate(cash, borrows, reserves).mul(rateToPool).div(1e18); } function APR( uint256 cash, uint256 borrows, uint256 reserves ) external view returns (uint256) { return getBorrowRate(cash, borrows, reserves).mul(blocksPerYear); } function APY( uint256 cash, uint256 borrows, uint256 reserves, uint256 reserveFactorMantissa ) external view returns (uint256) { return getSupplyRate(cash, borrows, reserves, reserveFactorMantissa).mul( blocksPerYear ); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"uint256","name":"baseRatePerYear","type":"uint256"},{"internalType":"uint256","name":"multiplierPerYear","type":"uint256"},{"internalType":"uint256","name":"jumpMultiplierPerYear","type":"uint256"},{"internalType":"uint256","name":"_blocksPerYear","type":"uint256"},{"internalType":"uint256","name":"_jumpPoint","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"}],"name":"APR","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"},{"internalType":"uint256","name":"reserveFactorMantissa","type":"uint256"}],"name":"APY","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"baseRatePerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blocksPerYear","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"}],"name":"getBorrowRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"},{"internalType":"uint256","name":"reserveFactorMantissa","type":"uint256"}],"name":"getSupplyRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jumpMultiplierPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"jumpPoint","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"multiplierPerBlock","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"cash","type":"uint256"},{"internalType":"uint256","name":"borrows","type":"uint256"},{"internalType":"uint256","name":"reserves","type":"uint256"}],"name":"utilizationRate","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50604051610804380380610804833981810160405260a081101561003357600080fd5b50805160208083015160408401516060850151608090950151600486905593949193909261006c90869084906103ff6100ba821b17901c565b60038190555061008b600454856100ba60201b6103ff1790919060201c565b6000819055506100aa600454846100ba60201b6103ff1790919060201c565b600155600255506101c592505050565b600061010283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061010960201b60201c565b9392505050565b600081836101af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561017457818101518382015260200161015c565b50505050905090810190601f1680156101a15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5060008385816101bb57fe5b0495945050505050565b610630806101d46000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063af0a769811610066578063af0a769814610146578063b81688161461014e578063b9f9850a1461017d578063ca9cdd1b14610185578063f14039de146101ae5761009e565b806315f24053146100a35780636e71e2d8146100de5780638726bb8914610107578063a385fb961461010f578063ae8b520f14610117575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b6565b60408051918252519081900360200190f35b6100cc600480360360608110156100f457600080fd5b508035906020810135906040013561028e565b6100cc6102d0565b6100cc6102d6565b6100cc6004803603608081101561012d57600080fd5b50803590602081013590604081013590606001356102dc565b6100cc610305565b6100cc6004803603608081101561016457600080fd5b508035906020810135906040810135906060013561030b565b6100cc61037e565b6100cc6004803603606081101561019b57600080fd5b5080359060208101359060400135610384565b6100cc610397565b6000806101c485858561028e565b905060025481116102165761020e600354610202670de0b6b3a76400006101f66000548661039d90919063ffffffff16565b9063ffffffff6103ff16565b9063ffffffff61044116565b915050610287565b6000610241600354610202670de0b6b3a76400006101f660005460025461039d90919063ffffffff16565b9050600061025a6002548461049b90919063ffffffff16565b905061028182610202670de0b6b3a76400006101f66001548661039d90919063ffffffff16565b93505050505b9392505050565b60008261029d57506000610287565b6102c86102b0858563ffffffff61044116565b6101f685670de0b6b3a764000063ffffffff61039d16565b949350505050565b60005481565b60045481565b60006102fc6004546102f08787878761030b565b9063ffffffff61039d16565b95945050505050565b60025481565b600080610326670de0b6b3a76400008463ffffffff61049b16565b905060006103358787876101b6565b90506000610355670de0b6b3a76400006101f6848663ffffffff61039d16565b9050610372670de0b6b3a76400006101f6836102f08c8c8c61028e565b98975050505050505050565b60015481565b60006102c86004546102f08686866101b6565b60035481565b6000826103ac575060006103f9565b828202828482816103b957fe5b04146103f65760405162461bcd60e51b81526004018080602001828103825260218152602001806105da6021913960400191505060405180910390fd5b90505b92915050565b60006103f683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506104dd565b6000828201838110156103f6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006103f683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061057f565b600081836105695760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561052e578181015183820152602001610516565b50505050905090810190601f16801561055b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161057557fe5b0495945050505050565b600081848411156105d15760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561052e578181015183820152602001610516565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122059fd96784a2801c1f4045995fa4eb6e227dcb01dce863e170b9ae3cdd02b194764736f6c6343000604003300000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000000000000002014800000000000000000000000000000000000000000000000000b1a2bc2ec500000
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063af0a769811610066578063af0a769814610146578063b81688161461014e578063b9f9850a1461017d578063ca9cdd1b14610185578063f14039de146101ae5761009e565b806315f24053146100a35780636e71e2d8146100de5780638726bb8914610107578063a385fb961461010f578063ae8b520f14610117575b600080fd5b6100cc600480360360608110156100b957600080fd5b50803590602081013590604001356101b6565b60408051918252519081900360200190f35b6100cc600480360360608110156100f457600080fd5b508035906020810135906040013561028e565b6100cc6102d0565b6100cc6102d6565b6100cc6004803603608081101561012d57600080fd5b50803590602081013590604081013590606001356102dc565b6100cc610305565b6100cc6004803603608081101561016457600080fd5b508035906020810135906040810135906060013561030b565b6100cc61037e565b6100cc6004803603606081101561019b57600080fd5b5080359060208101359060400135610384565b6100cc610397565b6000806101c485858561028e565b905060025481116102165761020e600354610202670de0b6b3a76400006101f66000548661039d90919063ffffffff16565b9063ffffffff6103ff16565b9063ffffffff61044116565b915050610287565b6000610241600354610202670de0b6b3a76400006101f660005460025461039d90919063ffffffff16565b9050600061025a6002548461049b90919063ffffffff16565b905061028182610202670de0b6b3a76400006101f66001548661039d90919063ffffffff16565b93505050505b9392505050565b60008261029d57506000610287565b6102c86102b0858563ffffffff61044116565b6101f685670de0b6b3a764000063ffffffff61039d16565b949350505050565b60005481565b60045481565b60006102fc6004546102f08787878761030b565b9063ffffffff61039d16565b95945050505050565b60025481565b600080610326670de0b6b3a76400008463ffffffff61049b16565b905060006103358787876101b6565b90506000610355670de0b6b3a76400006101f6848663ffffffff61039d16565b9050610372670de0b6b3a76400006101f6836102f08c8c8c61028e565b98975050505050505050565b60015481565b60006102c86004546102f08686866101b6565b60035481565b6000826103ac575060006103f9565b828202828482816103b957fe5b04146103f65760405162461bcd60e51b81526004018080602001828103825260218152602001806105da6021913960400191505060405180910390fd5b90505b92915050565b60006103f683836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506104dd565b6000828201838110156103f6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006103f683836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061057f565b600081836105695760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561052e578181015183820152602001610516565b50505050905090810190601f16801561055b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b50600083858161057557fe5b0495945050505050565b600081848411156105d15760405162461bcd60e51b815260206004820181815283516024840152835190928392604490910191908501908083836000831561052e578181015183820152602001610516565b50505090039056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a264697066735822122059fd96784a2801c1f4045995fa4eb6e227dcb01dce863e170b9ae3cdd02b194764736f6c63430006040033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
00000000000000000000000000000000000000000000000000470de4df820000000000000000000000000000000000000000000000000000016345785d8a000000000000000000000000000000000000000000000000000030927f74c9de000000000000000000000000000000000000000000000000000000000000002014800000000000000000000000000000000000000000000000000b1a2bc2ec500000
-----Decoded View---------------
Arg [0] : baseRatePerYear (uint256): 20000000000000000
Arg [1] : multiplierPerYear (uint256): 100000000000000000
Arg [2] : jumpMultiplierPerYear (uint256): 3500000000000000000
Arg [3] : _blocksPerYear (uint256): 2102400
Arg [4] : _jumpPoint (uint256): 800000000000000000
-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000470de4df820000
Arg [1] : 000000000000000000000000000000000000000000000000016345785d8a0000
Arg [2] : 00000000000000000000000000000000000000000000000030927f74c9de0000
Arg [3] : 0000000000000000000000000000000000000000000000000000000000201480
Arg [4] : 0000000000000000000000000000000000000000000000000b1a2bc2ec500000
Deployed Bytecode Sourcemap
5847:3393:0:-:0;;;;5:9:-1;2:2;;;27:1;24;17:12;2:2;5847:3393:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12:1:-1;9;2:12;7299:826:0;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;7299:826:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;6964:306;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;6964:306:0;;;;;;;;;;;;:::i;6125:33::-;;;:::i;6378:28::-;;;:::i;8918:319::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;8918:319:0;;;;;;;;;;;;;;;;;:::i;6255:24::-;;;:::i;8154:537::-;;;;;;15:3:-1;10;7:12;4:2;;;32:1;29;22:12;4:2;-1:-1;8154:537:0;;;;;;;;;;;;;;;;;:::i;6189:37::-;;;:::i;8699:211::-;;;;;;15:2:-1;10:3;7:11;4:2;;;31:1;28;21:12;4:2;-1:-1;8699:211:0;;;;;;;;;;;;:::i;6318:31::-;;;:::i;7299:826::-;7426:7;7446:10;7459:40;7475:4;7481:7;7490:8;7459:15;:40::i;:::-;7446:53;;7520:9;;7514:2;:15;7510:608;;7553:58;7594:16;;7553:36;7584:4;7553:26;7560:18;;7553:2;:6;;:26;;;;:::i;:::-;:30;:36;:30;:36;:::i;:::-;:40;:58;:40;:58;:::i;:::-;7546:65;;;;;7510:608;7856:21;7880:65;7928:16;;7880:43;7918:4;7880:33;7894:18;;7880:9;;:13;;:33;;;;:::i;:65::-;7856:89;;7960:16;7979:17;7986:9;;7979:2;:6;;:17;;;;:::i;:::-;7960:36;;8018:65;8069:13;8018:46;8059:4;8018:36;8031:22;;8018:8;:12;;:36;;;;:::i;:65::-;8011:72;;;;;7299:826;;;;;;:::o;6964:306::-;7093:7;7117:12;7113:53;;-1:-1:-1;7153:1:0;7146:8;;7113:53;7222:40;7244:17;:4;7253:7;7244:17;:8;:17;:::i;:::-;7222;:7;7234:4;7222:17;:11;:17;:::i;:40::-;7215:47;6964:306;-1:-1:-1;;;;6964:306:0:o;6125:33::-;;;;:::o;6378:28::-;;;;:::o;8918:319::-;9077:7;9117:112;9201:13;;9117:61;9131:4;9137:7;9146:8;9156:21;9117:13;:61::i;:::-;:65;:112;:65;:112;:::i;:::-;9097:132;8918:319;-1:-1:-1;;;;;8918:319:0:o;6255:24::-;;;;:::o;8154:537::-;8321:7;;8373:64;8381:4;8405:21;8373:64;:17;:64;:::i;:::-;8341:96;;8448:18;8469:38;8483:4;8489:7;8498:8;8469:13;:38::i;:::-;8448:59;-1:-1:-1;8518:18:0;8539:47;8581:4;8539:37;8448:59;8554:21;8539:37;:14;:37;:::i;:47::-;8518:68;;8617:66;8678:4;8617:56;8662:10;8617:40;8633:4;8639:7;8648:8;8617:15;:40::i;:66::-;8597:86;8154:537;-1:-1:-1;;;;;;;;8154:537:0:o;6189:37::-;;;;:::o;8699:211::-;8818:7;8845:57;8888:13;;8845:38;8859:4;8865:7;8874:8;8845:13;:38::i;6318:31::-;;;;:::o;2359:471::-;2417:7;2662:6;2658:47;;-1:-1:-1;2692:1:0;2685:8;;2658:47;2729:5;;;2733:1;2729;:5;:1;2753:5;;;;;:10;2745:56;;;;-1:-1:-1;;;2745:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2821:1;-1:-1:-1;2359:471:0;;;;;:::o;3306:132::-;3364:7;3391:39;3395:1;3398;3391:39;;;;;;;;;;;;;;;;;:3;:39::i;971:181::-;1029:7;1061:5;;;1085:6;;;;1077:46;;;;;-1:-1:-1;;;1077:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;1435:136;1493:7;1520:43;1524:1;1527;1520:43;;;;;;;;;;;;;;;;;:3;:43::i;3934:312::-;4054:7;4089:12;4082:5;4074:28;;;;-1:-1:-1;;;4074:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;4074:28:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4113:9;4129:1;4125;:5;;;;;;;3934:312;-1:-1:-1;;;;;3934:312:0:o;1874:226::-;1994:7;2030:12;2022:6;;;;2014:29;;;;-1:-1:-1;;;2014:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27:10:-1;;8:100;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;2014:29:0;-1:-1:-1;;;2066:5:0;;;1874:226::o
Swarm Source
ipfs://59fd96784a2801c1f4045995fa4eb6e227dcb01dce863e170b9ae3cdd02b1947
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.