Overview
S Balance
0 S
S Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
StdReferenceProxy
Compiler Version
v0.8.13+commit.abaa5c0e
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: Apache-2.0 pragma solidity 0.8.13; import {Ownable} from "Ownable.sol"; import {IStdReference} from "IStdReference.sol"; import {StdReferenceBase} from "StdReferenceBase.sol"; contract StdReferenceProxy is Ownable, StdReferenceBase { IStdReference public ref; constructor(IStdReference _ref, address _owner) { ref = _ref; _transferOwnership(_owner); } /// @notice Updates standard reference implementation. Only callable by the owner. /// @param _ref Address of the new standard reference contract function setRef(IStdReference _ref) public onlyOwner { ref = _ref; } /// @notice Returns the price data for the given base/quote pair. Revert if not available. /// @param base The base symbol of the token pair /// @param quote The quote symbol of the token pair function getReferenceData(string memory base, string memory quote) public view override returns (ReferenceData memory) { return ref.getReferenceData(base, quote); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts v4.4.1 (access/Ownable.sol) pragma solidity ^0.8.0; import "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. * * By default, the owner account will be the one that deploys the contract. 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; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); /** * @dev Initializes the contract setting the deployer as the initial owner. */ constructor() { _transferOwnership(_msgSender()); } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if called by any account other than the owner. */ modifier onlyOwner() { require(owner() == _msgSender(), "Ownable: caller is not the owner"); _; } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions anymore. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby removing 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 { require(newOwner != address(0), "Ownable: new owner is the zero address"); _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 v4.4.1 (utils/Context.sol) pragma solidity ^0.8.0; /** * @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; } }
// SPDX-License-Identifier: Apache-2.0 pragma solidity 0.8.13; interface IStdReference { /// A structure returned whenever someone requests for standard reference data. struct ReferenceData { uint256 rate; // base/quote exchange rate, multiplied by 1e18. uint256 lastUpdatedBase; // UNIX epoch of the last time when base price gets updated. uint256 lastUpdatedQuote; // UNIX epoch of the last time when quote price gets updated. } /// Returns the price data for the given base/quote pair. Revert if not available. function getReferenceData(string memory _base, string memory _quote) external view returns (ReferenceData memory); /// Similar to getReferenceData, but with multiple base/quote pairs at once. function getReferenceDataBulk(string[] memory _bases, string[] memory _quotes) external view returns (ReferenceData[] memory); }
// SPDX-License-Identifier: Apache-2.0 pragma solidity 0.8.13; import {IStdReference} from "IStdReference.sol"; abstract contract StdReferenceBase is IStdReference { function getReferenceData(string memory _base, string memory _quote) public view virtual override returns (ReferenceData memory); function getReferenceDataBulk(string[] memory _bases, string[] memory _quotes) public view override returns (ReferenceData[] memory) { require(_bases.length == _quotes.length, "BAD_INPUT_LENGTH"); uint256 len = _bases.length; ReferenceData[] memory results = new ReferenceData[](len); for (uint256 idx = 0; idx < len; idx++) { results[idx] = getReferenceData(_bases[idx], _quotes[idx]); } return results; } }
{ "evmVersion": "istanbul", "optimizer": { "enabled": true, "runs": 200 }, "libraries": { "StdReferenceProxy.sol": {} }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"contract IStdReference","name":"_ref","type":"address"},{"internalType":"address","name":"_owner","type":"address"}],"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"},{"inputs":[{"internalType":"string","name":"base","type":"string"},{"internalType":"string","name":"quote","type":"string"}],"name":"getReferenceData","outputs":[{"components":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"lastUpdatedBase","type":"uint256"},{"internalType":"uint256","name":"lastUpdatedQuote","type":"uint256"}],"internalType":"struct IStdReference.ReferenceData","name":"","type":"tuple"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"string[]","name":"_bases","type":"string[]"},{"internalType":"string[]","name":"_quotes","type":"string[]"}],"name":"getReferenceDataBulk","outputs":[{"components":[{"internalType":"uint256","name":"rate","type":"uint256"},{"internalType":"uint256","name":"lastUpdatedBase","type":"uint256"},{"internalType":"uint256","name":"lastUpdatedQuote","type":"uint256"}],"internalType":"struct IStdReference.ReferenceData[]","name":"","type":"tuple[]"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"ref","outputs":[{"internalType":"contract IStdReference","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IStdReference","name":"_ref","type":"address"}],"name":"setRef","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b506040516109e73803806109e783398101604081905261002f916100cb565b61003833610063565b600180546001600160a01b0319166001600160a01b03841617905561005c81610063565b5050610105565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146100c857600080fd5b50565b600080604083850312156100de57600080fd5b82516100e9816100b3565b60208401519092506100fa816100b3565b809150509250929050565b6108d3806101146000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063715018a61161005b578063715018a6146100e75780638da5cb5b146100ef578063e42a071b14610100578063f2fde38b1461012057600080fd5b806321a78f681461008257806365555bcc146100b25780636bc855cc146100d2575b600080fd5b600154610095906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c56100c036600461053b565b610133565b6040516100a9919061059f565b6100e56100e03660046105d5565b6101d3565b005b6100e5610228565b6000546001600160a01b0316610095565b61011361010e366004610698565b61025e565b6040516100a991906106f2565b6100e561012e3660046105d5565b610399565b61015760405180606001604052806000815260200160008152602001600081525090565b60015460405163195556f360e21b81526001600160a01b03909116906365555bcc9061018990869086906004016107a1565b606060405180830381865afa1580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca91906107cf565b90505b92915050565b6000546001600160a01b031633146102065760405162461bcd60e51b81526004016101fd9061082b565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146102525760405162461bcd60e51b81526004016101fd9061082b565b61025c6000610434565b565b606081518351146102a45760405162461bcd60e51b815260206004820152601060248201526f0848288be929ca0aaa8be988a9c8ea8960831b60448201526064016101fd565b825160008167ffffffffffffffff8111156102c1576102c1610484565b60405190808252806020026020018201604052801561031657816020015b61030360405180606001604052806000815260200160008152602001600081525090565b8152602001906001900390816102df5790505b50905060005b828110156103905761036086828151811061033957610339610860565b602002602001015186838151811061035357610353610860565b6020026020010151610133565b82828151811061037257610372610860565b6020026020010181905250808061038890610876565b91505061031c565b50949350505050565b6000546001600160a01b031633146103c35760405162461bcd60e51b81526004016101fd9061082b565b6001600160a01b0381166104285760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101fd565b61043181610434565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156104c3576104c3610484565b604052919050565b600082601f8301126104dc57600080fd5b813567ffffffffffffffff8111156104f6576104f6610484565b610509601f8201601f191660200161049a565b81815284602083860101111561051e57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561054e57600080fd5b823567ffffffffffffffff8082111561056657600080fd5b610572868387016104cb565b9350602085013591508082111561058857600080fd5b50610595858286016104cb565b9150509250929050565b815181526020808301519082015260408083015190820152606081016101cd565b6001600160a01b038116811461043157600080fd5b6000602082840312156105e757600080fd5b81356105f2816105c0565b9392505050565b600082601f83011261060a57600080fd5b8135602067ffffffffffffffff8083111561062757610627610484565b8260051b61063683820161049a565b938452858101830193838101908886111561065057600080fd5b84880192505b8583101561068c5782358481111561066e5760008081fd5b61067c8a87838c01016104cb565b8352509184019190840190610656565b98975050505050505050565b600080604083850312156106ab57600080fd5b823567ffffffffffffffff808211156106c357600080fd5b6106cf868387016105f9565b935060208501359150808211156106e557600080fd5b50610595858286016105f9565b6020808252825182820181905260009190848201906040850190845b81811015610748576107358385518051825260208082015190830152604090810151910152565b928401926060929092019160010161070e565b50909695505050505050565b6000815180845260005b8181101561077a5760208185018101518683018201520161075e565b8181111561078c576000602083870101525b50601f01601f19169290920160200192915050565b6040815260006107b46040830185610754565b82810360208401526107c68185610754565b95945050505050565b6000606082840312156107e157600080fd5b6040516060810181811067ffffffffffffffff8211171561080457610804610484565b80604052508251815260208301516020820152604083015160408201528091505092915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161089657634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220e2cec8c7a5939b4be7f36decbfceabc72822fe4279a0b5358fab2ea0e3863a9664736f6c634300080d0033000000000000000000000000a55d9ef16af921b70fed1421c1d298ca5a3a18f100000000000000000000000035a3398352fdaf43d330b87cb7fa98964d0660e8
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063715018a61161005b578063715018a6146100e75780638da5cb5b146100ef578063e42a071b14610100578063f2fde38b1461012057600080fd5b806321a78f681461008257806365555bcc146100b25780636bc855cc146100d2575b600080fd5b600154610095906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6100c56100c036600461053b565b610133565b6040516100a9919061059f565b6100e56100e03660046105d5565b6101d3565b005b6100e5610228565b6000546001600160a01b0316610095565b61011361010e366004610698565b61025e565b6040516100a991906106f2565b6100e561012e3660046105d5565b610399565b61015760405180606001604052806000815260200160008152602001600081525090565b60015460405163195556f360e21b81526001600160a01b03909116906365555bcc9061018990869086906004016107a1565b606060405180830381865afa1580156101a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101ca91906107cf565b90505b92915050565b6000546001600160a01b031633146102065760405162461bcd60e51b81526004016101fd9061082b565b60405180910390fd5b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146102525760405162461bcd60e51b81526004016101fd9061082b565b61025c6000610434565b565b606081518351146102a45760405162461bcd60e51b815260206004820152601060248201526f0848288be929ca0aaa8be988a9c8ea8960831b60448201526064016101fd565b825160008167ffffffffffffffff8111156102c1576102c1610484565b60405190808252806020026020018201604052801561031657816020015b61030360405180606001604052806000815260200160008152602001600081525090565b8152602001906001900390816102df5790505b50905060005b828110156103905761036086828151811061033957610339610860565b602002602001015186838151811061035357610353610860565b6020026020010151610133565b82828151811061037257610372610860565b6020026020010181905250808061038890610876565b91505061031c565b50949350505050565b6000546001600160a01b031633146103c35760405162461bcd60e51b81526004016101fd9061082b565b6001600160a01b0381166104285760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016101fd565b61043181610434565b50565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff811182821017156104c3576104c3610484565b604052919050565b600082601f8301126104dc57600080fd5b813567ffffffffffffffff8111156104f6576104f6610484565b610509601f8201601f191660200161049a565b81815284602083860101111561051e57600080fd5b816020850160208301376000918101602001919091529392505050565b6000806040838503121561054e57600080fd5b823567ffffffffffffffff8082111561056657600080fd5b610572868387016104cb565b9350602085013591508082111561058857600080fd5b50610595858286016104cb565b9150509250929050565b815181526020808301519082015260408083015190820152606081016101cd565b6001600160a01b038116811461043157600080fd5b6000602082840312156105e757600080fd5b81356105f2816105c0565b9392505050565b600082601f83011261060a57600080fd5b8135602067ffffffffffffffff8083111561062757610627610484565b8260051b61063683820161049a565b938452858101830193838101908886111561065057600080fd5b84880192505b8583101561068c5782358481111561066e5760008081fd5b61067c8a87838c01016104cb565b8352509184019190840190610656565b98975050505050505050565b600080604083850312156106ab57600080fd5b823567ffffffffffffffff808211156106c357600080fd5b6106cf868387016105f9565b935060208501359150808211156106e557600080fd5b50610595858286016105f9565b6020808252825182820181905260009190848201906040850190845b81811015610748576107358385518051825260208082015190830152604090810151910152565b928401926060929092019160010161070e565b50909695505050505050565b6000815180845260005b8181101561077a5760208185018101518683018201520161075e565b8181111561078c576000602083870101525b50601f01601f19169290920160200192915050565b6040815260006107b46040830185610754565b82810360208401526107c68185610754565b95945050505050565b6000606082840312156107e157600080fd5b6040516060810181811067ffffffffffffffff8211171561080457610804610484565b80604052508251815260208301516020820152604083015160408201528091505092915050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b60006001820161089657634e487b7160e01b600052601160045260246000fd5b506001019056fea2646970667358221220e2cec8c7a5939b4be7f36decbfceabc72822fe4279a0b5358fab2ea0e3863a9664736f6c634300080d0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a55d9ef16af921b70fed1421c1d298ca5a3a18f100000000000000000000000035a3398352fdaf43d330b87cb7fa98964d0660e8
-----Decoded View---------------
Arg [0] : _ref (address): 0xA55d9ef16Af921b70Fed1421C1D298Ca5A3a18F1
Arg [1] : _owner (address): 0x35a3398352fDaf43d330B87Cb7fa98964d0660E8
-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000a55d9ef16af921b70fed1421c1d298ca5a3a18f1
Arg [1] : 00000000000000000000000035a3398352fdaf43d330b87cb7fa98964d0660e8
Deployed Bytecode Sourcemap
207:833:4:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;269:24;;;;;-1:-1:-1;;;;;269:24:4;;;;;;-1:-1:-1;;;;;198:32:5;;;180:51;;168:2;153:18;269:24:4;;;;;;;;862:176;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;571:80::-;;;;;;:::i;:::-;;:::i;:::-;;1659:101:2;;;:::i;1027:85::-;1073:7;1099:6;-1:-1:-1;;;;;1099:6:2;1027:85;;308:470:3;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;1909:198:2:-;;;;;;:::i;:::-;;:::i;862:176:4:-;959:20;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;959:20:4;998:3;;:33;;-1:-1:-1;;;998:33:4;;-1:-1:-1;;;;;998:3:4;;;;:20;;:33;;1019:4;;1025:5;;998:33;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;991:40;;862:176;;;;;:::o;571:80::-;1073:7:2;1099:6;-1:-1:-1;;;;;1099:6:2;719:10:0;1239:23:2;1231:68;;;;-1:-1:-1;;;1231:68:2;;;;;;;:::i;:::-;;;;;;;;;634:3:4::1;:10:::0;;-1:-1:-1;;;;;;634:10:4::1;-1:-1:-1::0;;;;;634:10:4;;;::::1;::::0;;;::::1;::::0;;571:80::o;1659:101:2:-;1073:7;1099:6;-1:-1:-1;;;;;1099:6:2;719:10:0;1239:23:2;1231:68;;;;-1:-1:-1;;;1231:68:2;;;;;;;:::i;:::-;1723:30:::1;1750:1;1723:18;:30::i;:::-;1659:101::o:0;308:470:3:-;417:22;476:7;:14;459:6;:13;:31;451:60;;;;-1:-1:-1;;;451:60:3;;7416:2:5;451:60:3;;;7398:21:5;7455:2;7435:18;;;7428:30;-1:-1:-1;;;7474:18:5;;;7467:46;7530:18;;451:60:3;7214:340:5;451:60:3;535:13;;521:11;535:13;591:24;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;591:24:3;;;;;;;;;;;;;;;;;558:57;;630:11;625:123;653:3;647;:9;625:123;;;694:43;711:6;718:3;711:11;;;;;;;;:::i;:::-;;;;;;;724:7;732:3;724:12;;;;;;;;:::i;:::-;;;;;;;694:16;:43::i;:::-;679:7;687:3;679:12;;;;;;;;:::i;:::-;;;;;;:58;;;;658:5;;;;;:::i;:::-;;;;625:123;;;-1:-1:-1;764:7:3;308:470;-1:-1:-1;;;;308:470:3:o;1909:198:2:-;1073:7;1099:6;-1:-1:-1;;;;;1099:6:2;719:10:0;1239:23:2;1231:68;;;;-1:-1:-1;;;1231:68:2;;;;;;;:::i;:::-;-1:-1:-1;;;;;1997:22:2;::::1;1989:73;;;::::0;-1:-1:-1;;;1989:73:2;;8130:2:5;1989:73:2::1;::::0;::::1;8112:21:5::0;8169:2;8149:18;;;8142:30;8208:34;8188:18;;;8181:62;-1:-1:-1;;;8259:18:5;;;8252:36;8305:19;;1989:73:2::1;7928:402:5::0;1989:73:2::1;2072:28;2091:8;2072:18;:28::i;:::-;1909:198:::0;:::o;2261:187::-;2334:16;2353:6;;-1:-1:-1;;;;;2369:17:2;;;-1:-1:-1;;;;;;2369:17:2;;;;;;2401:40;;2353:6;;;;;;;2401:40;;2334:16;2401:40;2324:124;2261:187;:::o;242:127:5:-;303:10;298:3;294:20;291:1;284:31;334:4;331:1;324:15;358:4;355:1;348:15;374:275;445:2;439:9;510:2;491:13;;-1:-1:-1;;487:27:5;475:40;;545:18;530:34;;566:22;;;527:62;524:88;;;592:18;;:::i;:::-;628:2;621:22;374:275;;-1:-1:-1;374:275:5:o;654:531::-;697:5;750:3;743:4;735:6;731:17;727:27;717:55;;768:1;765;758:12;717:55;804:6;791:20;830:18;826:2;823:26;820:52;;;852:18;;:::i;:::-;896:55;939:2;920:13;;-1:-1:-1;;916:27:5;945:4;912:38;896:55;:::i;:::-;976:2;967:7;960:19;1022:3;1015:4;1010:2;1002:6;998:15;994:26;991:35;988:55;;;1039:1;1036;1029:12;988:55;1104:2;1097:4;1089:6;1085:17;1078:4;1069:7;1065:18;1052:55;1152:1;1127:16;;;1145:4;1123:27;1116:38;;;;1131:7;654:531;-1:-1:-1;;;654:531:5:o;1190:543::-;1278:6;1286;1339:2;1327:9;1318:7;1314:23;1310:32;1307:52;;;1355:1;1352;1345:12;1307:52;1395:9;1382:23;1424:18;1465:2;1457:6;1454:14;1451:34;;;1481:1;1478;1471:12;1451:34;1504:50;1546:7;1537:6;1526:9;1522:22;1504:50;:::i;:::-;1494:60;;1607:2;1596:9;1592:18;1579:32;1563:48;;1636:2;1626:8;1623:16;1620:36;;;1652:1;1649;1642:12;1620:36;;1675:52;1719:7;1708:8;1697:9;1693:24;1675:52;:::i;:::-;1665:62;;;1190:543;;;;;:::o;1953:260::-;1817:12;;1805:25;;1879:4;1868:16;;;1862:23;1846:14;;;1839:47;1935:4;1924:16;;;1918:23;1902:14;;;1895:47;2145:2;2130:18;;2157:50;1738:210;2218:146;-1:-1:-1;;;;;2308:31:5;;2298:42;;2288:70;;2354:1;2351;2344:12;2369:282;2448:6;2501:2;2489:9;2480:7;2476:23;2472:32;2469:52;;;2517:1;2514;2507:12;2469:52;2556:9;2543:23;2575:46;2615:5;2575:46;:::i;:::-;2640:5;2369:282;-1:-1:-1;;;2369:282:5:o;2864:943::-;2917:5;2970:3;2963:4;2955:6;2951:17;2947:27;2937:55;;2988:1;2985;2978:12;2937:55;3024:6;3011:20;3050:4;3073:18;3110:2;3106;3103:10;3100:36;;;3116:18;;:::i;:::-;3162:2;3159:1;3155:10;3185:28;3209:2;3205;3201:11;3185:28;:::i;:::-;3247:15;;;3317;;;3313:24;;;3278:12;;;;3349:15;;;3346:35;;;3377:1;3374;3367:12;3346:35;3413:2;3405:6;3401:15;3390:26;;3425:353;3441:6;3436:3;3433:15;3425:353;;;3527:3;3514:17;3563:2;3550:11;3547:19;3544:109;;;3607:1;3636:2;3632;3625:14;3544:109;3678:57;3731:3;3726:2;3712:11;3704:6;3700:24;3696:33;3678:57;:::i;:::-;3666:70;;-1:-1:-1;3458:12:5;;;;3756;;;;3425:353;;;3796:5;2864:943;-1:-1:-1;;;;;;;;2864:943:5:o;3812:613::-;3950:6;3958;4011:2;3999:9;3990:7;3986:23;3982:32;3979:52;;;4027:1;4024;4017:12;3979:52;4067:9;4054:23;4096:18;4137:2;4129:6;4126:14;4123:34;;;4153:1;4150;4143:12;4123:34;4176:60;4228:7;4219:6;4208:9;4204:22;4176:60;:::i;:::-;4166:70;;4289:2;4278:9;4274:18;4261:32;4245:48;;4318:2;4308:8;4305:16;4302:36;;;4334:1;4331;4324:12;4302:36;;4357:62;4411:7;4400:8;4389:9;4385:24;4357:62;:::i;4430:717::-;4659:2;4711:21;;;4781:13;;4684:18;;;4803:22;;;4630:4;;4659:2;4882:15;;;;4856:2;4841:18;;;4630:4;4925:196;4939:6;4936:1;4933:13;4925:196;;;4988:51;5035:3;5026:6;5020:13;1817:12;;1805:25;;1879:4;1868:16;;;1862:23;1846:14;;;1839:47;1935:4;1924:16;;;1918:23;1902:14;;1895:47;1738:210;4988:51;5096:15;;;;5068:4;5059:14;;;;;4961:1;4954:9;4925:196;;;-1:-1:-1;5138:3:5;;4430:717;-1:-1:-1;;;;;;4430:717:5:o;5419:472::-;5461:3;5499:5;5493:12;5526:6;5521:3;5514:19;5551:1;5561:162;5575:6;5572:1;5569:13;5561:162;;;5637:4;5693:13;;;5689:22;;5683:29;5665:11;;;5661:20;;5654:59;5590:12;5561:162;;;5741:6;5738:1;5735:13;5732:87;;;5807:1;5800:4;5791:6;5786:3;5782:16;5778:27;5771:38;5732:87;-1:-1:-1;5873:2:5;5852:15;-1:-1:-1;;5848:29:5;5839:39;;;;5880:4;5835:50;;5419:472;-1:-1:-1;;5419:472:5:o;5896:383::-;6093:2;6082:9;6075:21;6056:4;6119:45;6160:2;6149:9;6145:18;6137:6;6119:45;:::i;:::-;6212:9;6204:6;6200:22;6195:2;6184:9;6180:18;6173:50;6240:33;6266:6;6258;6240:33;:::i;:::-;6232:41;5896:383;-1:-1:-1;;;;;5896:383:5:o;6284:564::-;6383:6;6436:2;6424:9;6415:7;6411:23;6407:32;6404:52;;;6452:1;6449;6442:12;6404:52;6485:2;6479:9;6527:2;6519:6;6515:15;6596:6;6584:10;6581:22;6560:18;6548:10;6545:34;6542:62;6539:88;;;6607:18;;:::i;:::-;6647:10;6643:2;6636:22;;6688:9;6682:16;6674:6;6667:32;6753:2;6742:9;6738:18;6732:25;6727:2;6719:6;6715:15;6708:50;6812:2;6801:9;6797:18;6791:25;6786:2;6778:6;6774:15;6767:50;6836:6;6826:16;;;6284:564;;;;:::o;6853:356::-;7055:2;7037:21;;;7074:18;;;7067:30;7133:34;7128:2;7113:18;;7106:62;7200:2;7185:18;;6853:356::o;7559:127::-;7620:10;7615:3;7611:20;7608:1;7601:31;7651:4;7648:1;7641:15;7675:4;7672:1;7665:15;7691:232;7730:3;7751:17;;;7748:140;;7810:10;7805:3;7801:20;7798:1;7791:31;7845:4;7842:1;7835:15;7873:4;7870:1;7863:15;7748:140;-1:-1:-1;7915:1:5;7904:13;;7691:232::o
Swarm Source
ipfs://e2cec8c7a5939b4be7f36decbfceabc72822fe4279a0b5358fab2ea0e3863a96
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.