Source Code
Overview
ETH Balance
0 ETH
Eth Value
$0.00Latest 1 from a total of 1 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Set Dia Stroom A... | 23783891 | 63 days ago | IN | 0 ETH | 0.00006959 |
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
Contract Name:
DiaStroomAssetSpecificCallingConvention
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2025-11-12 */ // Sources flattened with hardhat v2.26.3 https://hardhat.org // SPDX-License-Identifier: MIT // File @openzeppelin/contracts/utils/[email protected] // Original license: 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; } } // File @openzeppelin/contracts/access/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v4.9.0) (access/Ownable.sol) pragma solidity ^0.8.0; /** * @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 Throws if called by any account other than the owner. */ modifier onlyOwner() { _checkOwner(); _; } /** * @dev Returns the address of the current owner. */ function owner() public view virtual returns (address) { return _owner; } /** * @dev Throws if the sender is not the owner. */ function _checkOwner() internal view virtual { require(owner() == _msgSender(), "Ownable: caller is not the owner"); } /** * @dev Leaves the contract without owner. It will not be possible to call * `onlyOwner` functions. Can only be called by the current owner. * * NOTE: Renouncing ownership will leave the contract without an owner, * thereby disabling any functionality that is only available to the owner. */ function renounceOwnership() public virtual onlyOwner { _transferOwnership(address(0)); } /** * @dev Transfers ownership of the contract to a new account (`newOwner`). * Can only be called by the current owner. */ function transferOwnership(address newOwner) public virtual onlyOwner { 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); } } // File @chainlink/contracts/src/v0.8/interfaces/[email protected] // Original license: SPDX_License_Identifier: MIT pragma solidity ^0.8.0; interface AggregatorV3Interface { function decimals() external view returns (uint8); function description() external view returns (string memory); function version() external view returns (uint256); function getRoundData(uint80 _roundId) external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); function latestRoundData() external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); } // File @openzeppelin/contracts/utils/math/[email protected] // Original license: SPDX_License_Identifier: MIT // OpenZeppelin Contracts (last updated v4.8.0) (utils/math/SafeCast.sol) // This file was procedurally generated from scripts/generate/templates/SafeCast.js. pragma solidity ^0.8.0; /** * @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow * checks. * * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can * easily result in undesired exploitation or bugs, since developers usually * assume that overflows raise errors. `SafeCast` restores this intuition by * reverting the transaction when such 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. * * Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing * all math on `uint256` and `int256` and then downcasting. */ library SafeCast { /** * @dev Returns the downcasted uint248 from uint256, reverting on * overflow (when the input is greater than largest uint248). * * Counterpart to Solidity's `uint248` operator. * * Requirements: * * - input must fit into 248 bits * * _Available since v4.7._ */ function toUint248(uint256 value) internal pure returns (uint248) { require(value <= type(uint248).max, "SafeCast: value doesn't fit in 248 bits"); return uint248(value); } /** * @dev Returns the downcasted uint240 from uint256, reverting on * overflow (when the input is greater than largest uint240). * * Counterpart to Solidity's `uint240` operator. * * Requirements: * * - input must fit into 240 bits * * _Available since v4.7._ */ function toUint240(uint256 value) internal pure returns (uint240) { require(value <= type(uint240).max, "SafeCast: value doesn't fit in 240 bits"); return uint240(value); } /** * @dev Returns the downcasted uint232 from uint256, reverting on * overflow (when the input is greater than largest uint232). * * Counterpart to Solidity's `uint232` operator. * * Requirements: * * - input must fit into 232 bits * * _Available since v4.7._ */ function toUint232(uint256 value) internal pure returns (uint232) { require(value <= type(uint232).max, "SafeCast: value doesn't fit in 232 bits"); return uint232(value); } /** * @dev Returns the downcasted uint224 from uint256, reverting on * overflow (when the input is greater than largest uint224). * * Counterpart to Solidity's `uint224` operator. * * Requirements: * * - input must fit into 224 bits * * _Available since v4.2._ */ function toUint224(uint256 value) internal pure returns (uint224) { require(value <= type(uint224).max, "SafeCast: value doesn't fit in 224 bits"); return uint224(value); } /** * @dev Returns the downcasted uint216 from uint256, reverting on * overflow (when the input is greater than largest uint216). * * Counterpart to Solidity's `uint216` operator. * * Requirements: * * - input must fit into 216 bits * * _Available since v4.7._ */ function toUint216(uint256 value) internal pure returns (uint216) { require(value <= type(uint216).max, "SafeCast: value doesn't fit in 216 bits"); return uint216(value); } /** * @dev Returns the downcasted uint208 from uint256, reverting on * overflow (when the input is greater than largest uint208). * * Counterpart to Solidity's `uint208` operator. * * Requirements: * * - input must fit into 208 bits * * _Available since v4.7._ */ function toUint208(uint256 value) internal pure returns (uint208) { require(value <= type(uint208).max, "SafeCast: value doesn't fit in 208 bits"); return uint208(value); } /** * @dev Returns the downcasted uint200 from uint256, reverting on * overflow (when the input is greater than largest uint200). * * Counterpart to Solidity's `uint200` operator. * * Requirements: * * - input must fit into 200 bits * * _Available since v4.7._ */ function toUint200(uint256 value) internal pure returns (uint200) { require(value <= type(uint200).max, "SafeCast: value doesn't fit in 200 bits"); return uint200(value); } /** * @dev Returns the downcasted uint192 from uint256, reverting on * overflow (when the input is greater than largest uint192). * * Counterpart to Solidity's `uint192` operator. * * Requirements: * * - input must fit into 192 bits * * _Available since v4.7._ */ function toUint192(uint256 value) internal pure returns (uint192) { require(value <= type(uint192).max, "SafeCast: value doesn't fit in 192 bits"); return uint192(value); } /** * @dev Returns the downcasted uint184 from uint256, reverting on * overflow (when the input is greater than largest uint184). * * Counterpart to Solidity's `uint184` operator. * * Requirements: * * - input must fit into 184 bits * * _Available since v4.7._ */ function toUint184(uint256 value) internal pure returns (uint184) { require(value <= type(uint184).max, "SafeCast: value doesn't fit in 184 bits"); return uint184(value); } /** * @dev Returns the downcasted uint176 from uint256, reverting on * overflow (when the input is greater than largest uint176). * * Counterpart to Solidity's `uint176` operator. * * Requirements: * * - input must fit into 176 bits * * _Available since v4.7._ */ function toUint176(uint256 value) internal pure returns (uint176) { require(value <= type(uint176).max, "SafeCast: value doesn't fit in 176 bits"); return uint176(value); } /** * @dev Returns the downcasted uint168 from uint256, reverting on * overflow (when the input is greater than largest uint168). * * Counterpart to Solidity's `uint168` operator. * * Requirements: * * - input must fit into 168 bits * * _Available since v4.7._ */ function toUint168(uint256 value) internal pure returns (uint168) { require(value <= type(uint168).max, "SafeCast: value doesn't fit in 168 bits"); return uint168(value); } /** * @dev Returns the downcasted uint160 from uint256, reverting on * overflow (when the input is greater than largest uint160). * * Counterpart to Solidity's `uint160` operator. * * Requirements: * * - input must fit into 160 bits * * _Available since v4.7._ */ function toUint160(uint256 value) internal pure returns (uint160) { require(value <= type(uint160).max, "SafeCast: value doesn't fit in 160 bits"); return uint160(value); } /** * @dev Returns the downcasted uint152 from uint256, reverting on * overflow (when the input is greater than largest uint152). * * Counterpart to Solidity's `uint152` operator. * * Requirements: * * - input must fit into 152 bits * * _Available since v4.7._ */ function toUint152(uint256 value) internal pure returns (uint152) { require(value <= type(uint152).max, "SafeCast: value doesn't fit in 152 bits"); return uint152(value); } /** * @dev Returns the downcasted uint144 from uint256, reverting on * overflow (when the input is greater than largest uint144). * * Counterpart to Solidity's `uint144` operator. * * Requirements: * * - input must fit into 144 bits * * _Available since v4.7._ */ function toUint144(uint256 value) internal pure returns (uint144) { require(value <= type(uint144).max, "SafeCast: value doesn't fit in 144 bits"); return uint144(value); } /** * @dev Returns the downcasted uint136 from uint256, reverting on * overflow (when the input is greater than largest uint136). * * Counterpart to Solidity's `uint136` operator. * * Requirements: * * - input must fit into 136 bits * * _Available since v4.7._ */ function toUint136(uint256 value) internal pure returns (uint136) { require(value <= type(uint136).max, "SafeCast: value doesn't fit in 136 bits"); return uint136(value); } /** * @dev Returns the downcasted uint128 from uint256, reverting on * overflow (when the input is greater than largest uint128). * * Counterpart to Solidity's `uint128` operator. * * Requirements: * * - input must fit into 128 bits * * _Available since v2.5._ */ function toUint128(uint256 value) internal pure returns (uint128) { require(value <= type(uint128).max, "SafeCast: value doesn't fit in 128 bits"); return uint128(value); } /** * @dev Returns the downcasted uint120 from uint256, reverting on * overflow (when the input is greater than largest uint120). * * Counterpart to Solidity's `uint120` operator. * * Requirements: * * - input must fit into 120 bits * * _Available since v4.7._ */ function toUint120(uint256 value) internal pure returns (uint120) { require(value <= type(uint120).max, "SafeCast: value doesn't fit in 120 bits"); return uint120(value); } /** * @dev Returns the downcasted uint112 from uint256, reverting on * overflow (when the input is greater than largest uint112). * * Counterpart to Solidity's `uint112` operator. * * Requirements: * * - input must fit into 112 bits * * _Available since v4.7._ */ function toUint112(uint256 value) internal pure returns (uint112) { require(value <= type(uint112).max, "SafeCast: value doesn't fit in 112 bits"); return uint112(value); } /** * @dev Returns the downcasted uint104 from uint256, reverting on * overflow (when the input is greater than largest uint104). * * Counterpart to Solidity's `uint104` operator. * * Requirements: * * - input must fit into 104 bits * * _Available since v4.7._ */ function toUint104(uint256 value) internal pure returns (uint104) { require(value <= type(uint104).max, "SafeCast: value doesn't fit in 104 bits"); return uint104(value); } /** * @dev Returns the downcasted uint96 from uint256, reverting on * overflow (when the input is greater than largest uint96). * * Counterpart to Solidity's `uint96` operator. * * Requirements: * * - input must fit into 96 bits * * _Available since v4.2._ */ function toUint96(uint256 value) internal pure returns (uint96) { require(value <= type(uint96).max, "SafeCast: value doesn't fit in 96 bits"); return uint96(value); } /** * @dev Returns the downcasted uint88 from uint256, reverting on * overflow (when the input is greater than largest uint88). * * Counterpart to Solidity's `uint88` operator. * * Requirements: * * - input must fit into 88 bits * * _Available since v4.7._ */ function toUint88(uint256 value) internal pure returns (uint88) { require(value <= type(uint88).max, "SafeCast: value doesn't fit in 88 bits"); return uint88(value); } /** * @dev Returns the downcasted uint80 from uint256, reverting on * overflow (when the input is greater than largest uint80). * * Counterpart to Solidity's `uint80` operator. * * Requirements: * * - input must fit into 80 bits * * _Available since v4.7._ */ function toUint80(uint256 value) internal pure returns (uint80) { require(value <= type(uint80).max, "SafeCast: value doesn't fit in 80 bits"); return uint80(value); } /** * @dev Returns the downcasted uint72 from uint256, reverting on * overflow (when the input is greater than largest uint72). * * Counterpart to Solidity's `uint72` operator. * * Requirements: * * - input must fit into 72 bits * * _Available since v4.7._ */ function toUint72(uint256 value) internal pure returns (uint72) { require(value <= type(uint72).max, "SafeCast: value doesn't fit in 72 bits"); return uint72(value); } /** * @dev Returns the downcasted uint64 from uint256, reverting on * overflow (when the input is greater than largest uint64). * * Counterpart to Solidity's `uint64` operator. * * Requirements: * * - input must fit into 64 bits * * _Available since v2.5._ */ function toUint64(uint256 value) internal pure returns (uint64) { require(value <= type(uint64).max, "SafeCast: value doesn't fit in 64 bits"); return uint64(value); } /** * @dev Returns the downcasted uint56 from uint256, reverting on * overflow (when the input is greater than largest uint56). * * Counterpart to Solidity's `uint56` operator. * * Requirements: * * - input must fit into 56 bits * * _Available since v4.7._ */ function toUint56(uint256 value) internal pure returns (uint56) { require(value <= type(uint56).max, "SafeCast: value doesn't fit in 56 bits"); return uint56(value); } /** * @dev Returns the downcasted uint48 from uint256, reverting on * overflow (when the input is greater than largest uint48). * * Counterpart to Solidity's `uint48` operator. * * Requirements: * * - input must fit into 48 bits * * _Available since v4.7._ */ function toUint48(uint256 value) internal pure returns (uint48) { require(value <= type(uint48).max, "SafeCast: value doesn't fit in 48 bits"); return uint48(value); } /** * @dev Returns the downcasted uint40 from uint256, reverting on * overflow (when the input is greater than largest uint40). * * Counterpart to Solidity's `uint40` operator. * * Requirements: * * - input must fit into 40 bits * * _Available since v4.7._ */ function toUint40(uint256 value) internal pure returns (uint40) { require(value <= type(uint40).max, "SafeCast: value doesn't fit in 40 bits"); return uint40(value); } /** * @dev Returns the downcasted uint32 from uint256, reverting on * overflow (when the input is greater than largest uint32). * * Counterpart to Solidity's `uint32` operator. * * Requirements: * * - input must fit into 32 bits * * _Available since v2.5._ */ function toUint32(uint256 value) internal pure returns (uint32) { require(value <= type(uint32).max, "SafeCast: value doesn't fit in 32 bits"); return uint32(value); } /** * @dev Returns the downcasted uint24 from uint256, reverting on * overflow (when the input is greater than largest uint24). * * Counterpart to Solidity's `uint24` operator. * * Requirements: * * - input must fit into 24 bits * * _Available since v4.7._ */ function toUint24(uint256 value) internal pure returns (uint24) { require(value <= type(uint24).max, "SafeCast: value doesn't fit in 24 bits"); return uint24(value); } /** * @dev Returns the downcasted uint16 from uint256, reverting on * overflow (when the input is greater than largest uint16). * * Counterpart to Solidity's `uint16` operator. * * Requirements: * * - input must fit into 16 bits * * _Available since v2.5._ */ function toUint16(uint256 value) internal pure returns (uint16) { require(value <= type(uint16).max, "SafeCast: value doesn't fit in 16 bits"); return uint16(value); } /** * @dev Returns the downcasted uint8 from uint256, reverting on * overflow (when the input is greater than largest uint8). * * Counterpart to Solidity's `uint8` operator. * * Requirements: * * - input must fit into 8 bits * * _Available since v2.5._ */ function toUint8(uint256 value) internal pure returns (uint8) { require(value <= type(uint8).max, "SafeCast: value doesn't fit in 8 bits"); return uint8(value); } /** * @dev Converts a signed int256 into an unsigned uint256. * * Requirements: * * - input must be greater than or equal to 0. * * _Available since v3.0._ */ function toUint256(int256 value) internal pure returns (uint256) { require(value >= 0, "SafeCast: value must be positive"); return uint256(value); } /** * @dev Returns the downcasted int248 from int256, reverting on * overflow (when the input is less than smallest int248 or * greater than largest int248). * * Counterpart to Solidity's `int248` operator. * * Requirements: * * - input must fit into 248 bits * * _Available since v4.7._ */ function toInt248(int256 value) internal pure returns (int248 downcasted) { downcasted = int248(value); require(downcasted == value, "SafeCast: value doesn't fit in 248 bits"); } /** * @dev Returns the downcasted int240 from int256, reverting on * overflow (when the input is less than smallest int240 or * greater than largest int240). * * Counterpart to Solidity's `int240` operator. * * Requirements: * * - input must fit into 240 bits * * _Available since v4.7._ */ function toInt240(int256 value) internal pure returns (int240 downcasted) { downcasted = int240(value); require(downcasted == value, "SafeCast: value doesn't fit in 240 bits"); } /** * @dev Returns the downcasted int232 from int256, reverting on * overflow (when the input is less than smallest int232 or * greater than largest int232). * * Counterpart to Solidity's `int232` operator. * * Requirements: * * - input must fit into 232 bits * * _Available since v4.7._ */ function toInt232(int256 value) internal pure returns (int232 downcasted) { downcasted = int232(value); require(downcasted == value, "SafeCast: value doesn't fit in 232 bits"); } /** * @dev Returns the downcasted int224 from int256, reverting on * overflow (when the input is less than smallest int224 or * greater than largest int224). * * Counterpart to Solidity's `int224` operator. * * Requirements: * * - input must fit into 224 bits * * _Available since v4.7._ */ function toInt224(int256 value) internal pure returns (int224 downcasted) { downcasted = int224(value); require(downcasted == value, "SafeCast: value doesn't fit in 224 bits"); } /** * @dev Returns the downcasted int216 from int256, reverting on * overflow (when the input is less than smallest int216 or * greater than largest int216). * * Counterpart to Solidity's `int216` operator. * * Requirements: * * - input must fit into 216 bits * * _Available since v4.7._ */ function toInt216(int256 value) internal pure returns (int216 downcasted) { downcasted = int216(value); require(downcasted == value, "SafeCast: value doesn't fit in 216 bits"); } /** * @dev Returns the downcasted int208 from int256, reverting on * overflow (when the input is less than smallest int208 or * greater than largest int208). * * Counterpart to Solidity's `int208` operator. * * Requirements: * * - input must fit into 208 bits * * _Available since v4.7._ */ function toInt208(int256 value) internal pure returns (int208 downcasted) { downcasted = int208(value); require(downcasted == value, "SafeCast: value doesn't fit in 208 bits"); } /** * @dev Returns the downcasted int200 from int256, reverting on * overflow (when the input is less than smallest int200 or * greater than largest int200). * * Counterpart to Solidity's `int200` operator. * * Requirements: * * - input must fit into 200 bits * * _Available since v4.7._ */ function toInt200(int256 value) internal pure returns (int200 downcasted) { downcasted = int200(value); require(downcasted == value, "SafeCast: value doesn't fit in 200 bits"); } /** * @dev Returns the downcasted int192 from int256, reverting on * overflow (when the input is less than smallest int192 or * greater than largest int192). * * Counterpart to Solidity's `int192` operator. * * Requirements: * * - input must fit into 192 bits * * _Available since v4.7._ */ function toInt192(int256 value) internal pure returns (int192 downcasted) { downcasted = int192(value); require(downcasted == value, "SafeCast: value doesn't fit in 192 bits"); } /** * @dev Returns the downcasted int184 from int256, reverting on * overflow (when the input is less than smallest int184 or * greater than largest int184). * * Counterpart to Solidity's `int184` operator. * * Requirements: * * - input must fit into 184 bits * * _Available since v4.7._ */ function toInt184(int256 value) internal pure returns (int184 downcasted) { downcasted = int184(value); require(downcasted == value, "SafeCast: value doesn't fit in 184 bits"); } /** * @dev Returns the downcasted int176 from int256, reverting on * overflow (when the input is less than smallest int176 or * greater than largest int176). * * Counterpart to Solidity's `int176` operator. * * Requirements: * * - input must fit into 176 bits * * _Available since v4.7._ */ function toInt176(int256 value) internal pure returns (int176 downcasted) { downcasted = int176(value); require(downcasted == value, "SafeCast: value doesn't fit in 176 bits"); } /** * @dev Returns the downcasted int168 from int256, reverting on * overflow (when the input is less than smallest int168 or * greater than largest int168). * * Counterpart to Solidity's `int168` operator. * * Requirements: * * - input must fit into 168 bits * * _Available since v4.7._ */ function toInt168(int256 value) internal pure returns (int168 downcasted) { downcasted = int168(value); require(downcasted == value, "SafeCast: value doesn't fit in 168 bits"); } /** * @dev Returns the downcasted int160 from int256, reverting on * overflow (when the input is less than smallest int160 or * greater than largest int160). * * Counterpart to Solidity's `int160` operator. * * Requirements: * * - input must fit into 160 bits * * _Available since v4.7._ */ function toInt160(int256 value) internal pure returns (int160 downcasted) { downcasted = int160(value); require(downcasted == value, "SafeCast: value doesn't fit in 160 bits"); } /** * @dev Returns the downcasted int152 from int256, reverting on * overflow (when the input is less than smallest int152 or * greater than largest int152). * * Counterpart to Solidity's `int152` operator. * * Requirements: * * - input must fit into 152 bits * * _Available since v4.7._ */ function toInt152(int256 value) internal pure returns (int152 downcasted) { downcasted = int152(value); require(downcasted == value, "SafeCast: value doesn't fit in 152 bits"); } /** * @dev Returns the downcasted int144 from int256, reverting on * overflow (when the input is less than smallest int144 or * greater than largest int144). * * Counterpart to Solidity's `int144` operator. * * Requirements: * * - input must fit into 144 bits * * _Available since v4.7._ */ function toInt144(int256 value) internal pure returns (int144 downcasted) { downcasted = int144(value); require(downcasted == value, "SafeCast: value doesn't fit in 144 bits"); } /** * @dev Returns the downcasted int136 from int256, reverting on * overflow (when the input is less than smallest int136 or * greater than largest int136). * * Counterpart to Solidity's `int136` operator. * * Requirements: * * - input must fit into 136 bits * * _Available since v4.7._ */ function toInt136(int256 value) internal pure returns (int136 downcasted) { downcasted = int136(value); require(downcasted == value, "SafeCast: value doesn't fit in 136 bits"); } /** * @dev Returns the downcasted int128 from int256, reverting on * overflow (when the input is less than smallest int128 or * greater than largest int128). * * Counterpart to Solidity's `int128` operator. * * Requirements: * * - input must fit into 128 bits * * _Available since v3.1._ */ function toInt128(int256 value) internal pure returns (int128 downcasted) { downcasted = int128(value); require(downcasted == value, "SafeCast: value doesn't fit in 128 bits"); } /** * @dev Returns the downcasted int120 from int256, reverting on * overflow (when the input is less than smallest int120 or * greater than largest int120). * * Counterpart to Solidity's `int120` operator. * * Requirements: * * - input must fit into 120 bits * * _Available since v4.7._ */ function toInt120(int256 value) internal pure returns (int120 downcasted) { downcasted = int120(value); require(downcasted == value, "SafeCast: value doesn't fit in 120 bits"); } /** * @dev Returns the downcasted int112 from int256, reverting on * overflow (when the input is less than smallest int112 or * greater than largest int112). * * Counterpart to Solidity's `int112` operator. * * Requirements: * * - input must fit into 112 bits * * _Available since v4.7._ */ function toInt112(int256 value) internal pure returns (int112 downcasted) { downcasted = int112(value); require(downcasted == value, "SafeCast: value doesn't fit in 112 bits"); } /** * @dev Returns the downcasted int104 from int256, reverting on * overflow (when the input is less than smallest int104 or * greater than largest int104). * * Counterpart to Solidity's `int104` operator. * * Requirements: * * - input must fit into 104 bits * * _Available since v4.7._ */ function toInt104(int256 value) internal pure returns (int104 downcasted) { downcasted = int104(value); require(downcasted == value, "SafeCast: value doesn't fit in 104 bits"); } /** * @dev Returns the downcasted int96 from int256, reverting on * overflow (when the input is less than smallest int96 or * greater than largest int96). * * Counterpart to Solidity's `int96` operator. * * Requirements: * * - input must fit into 96 bits * * _Available since v4.7._ */ function toInt96(int256 value) internal pure returns (int96 downcasted) { downcasted = int96(value); require(downcasted == value, "SafeCast: value doesn't fit in 96 bits"); } /** * @dev Returns the downcasted int88 from int256, reverting on * overflow (when the input is less than smallest int88 or * greater than largest int88). * * Counterpart to Solidity's `int88` operator. * * Requirements: * * - input must fit into 88 bits * * _Available since v4.7._ */ function toInt88(int256 value) internal pure returns (int88 downcasted) { downcasted = int88(value); require(downcasted == value, "SafeCast: value doesn't fit in 88 bits"); } /** * @dev Returns the downcasted int80 from int256, reverting on * overflow (when the input is less than smallest int80 or * greater than largest int80). * * Counterpart to Solidity's `int80` operator. * * Requirements: * * - input must fit into 80 bits * * _Available since v4.7._ */ function toInt80(int256 value) internal pure returns (int80 downcasted) { downcasted = int80(value); require(downcasted == value, "SafeCast: value doesn't fit in 80 bits"); } /** * @dev Returns the downcasted int72 from int256, reverting on * overflow (when the input is less than smallest int72 or * greater than largest int72). * * Counterpart to Solidity's `int72` operator. * * Requirements: * * - input must fit into 72 bits * * _Available since v4.7._ */ function toInt72(int256 value) internal pure returns (int72 downcasted) { downcasted = int72(value); require(downcasted == value, "SafeCast: value doesn't fit in 72 bits"); } /** * @dev Returns the downcasted int64 from int256, reverting on * overflow (when the input is less than smallest int64 or * greater than largest int64). * * Counterpart to Solidity's `int64` operator. * * Requirements: * * - input must fit into 64 bits * * _Available since v3.1._ */ function toInt64(int256 value) internal pure returns (int64 downcasted) { downcasted = int64(value); require(downcasted == value, "SafeCast: value doesn't fit in 64 bits"); } /** * @dev Returns the downcasted int56 from int256, reverting on * overflow (when the input is less than smallest int56 or * greater than largest int56). * * Counterpart to Solidity's `int56` operator. * * Requirements: * * - input must fit into 56 bits * * _Available since v4.7._ */ function toInt56(int256 value) internal pure returns (int56 downcasted) { downcasted = int56(value); require(downcasted == value, "SafeCast: value doesn't fit in 56 bits"); } /** * @dev Returns the downcasted int48 from int256, reverting on * overflow (when the input is less than smallest int48 or * greater than largest int48). * * Counterpart to Solidity's `int48` operator. * * Requirements: * * - input must fit into 48 bits * * _Available since v4.7._ */ function toInt48(int256 value) internal pure returns (int48 downcasted) { downcasted = int48(value); require(downcasted == value, "SafeCast: value doesn't fit in 48 bits"); } /** * @dev Returns the downcasted int40 from int256, reverting on * overflow (when the input is less than smallest int40 or * greater than largest int40). * * Counterpart to Solidity's `int40` operator. * * Requirements: * * - input must fit into 40 bits * * _Available since v4.7._ */ function toInt40(int256 value) internal pure returns (int40 downcasted) { downcasted = int40(value); require(downcasted == value, "SafeCast: value doesn't fit in 40 bits"); } /** * @dev Returns the downcasted int32 from int256, reverting on * overflow (when the input is less than smallest int32 or * greater than largest int32). * * Counterpart to Solidity's `int32` operator. * * Requirements: * * - input must fit into 32 bits * * _Available since v3.1._ */ function toInt32(int256 value) internal pure returns (int32 downcasted) { downcasted = int32(value); require(downcasted == value, "SafeCast: value doesn't fit in 32 bits"); } /** * @dev Returns the downcasted int24 from int256, reverting on * overflow (when the input is less than smallest int24 or * greater than largest int24). * * Counterpart to Solidity's `int24` operator. * * Requirements: * * - input must fit into 24 bits * * _Available since v4.7._ */ function toInt24(int256 value) internal pure returns (int24 downcasted) { downcasted = int24(value); require(downcasted == value, "SafeCast: value doesn't fit in 24 bits"); } /** * @dev Returns the downcasted int16 from int256, reverting on * overflow (when the input is less than smallest int16 or * greater than largest int16). * * Counterpart to Solidity's `int16` operator. * * Requirements: * * - input must fit into 16 bits * * _Available since v3.1._ */ function toInt16(int256 value) internal pure returns (int16 downcasted) { downcasted = int16(value); require(downcasted == value, "SafeCast: value doesn't fit in 16 bits"); } /** * @dev Returns the downcasted int8 from int256, reverting on * overflow (when the input is less than smallest int8 or * greater than largest int8). * * Counterpart to Solidity's `int8` operator. * * Requirements: * * - input must fit into 8 bits * * _Available since v3.1._ */ function toInt8(int256 value) internal pure returns (int8 downcasted) { downcasted = int8(value); require(downcasted == value, "SafeCast: value doesn't fit in 8 bits"); } /** * @dev Converts an unsigned uint256 into a signed int256. * * Requirements: * * - input must be less than or equal to maxInt256. * * _Available since v3.0._ */ function toInt256(uint256 value) internal pure returns (int256) { // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive require(value <= uint256(type(int256).max), "SafeCast: value doesn't fit in an int256"); return int256(value); } } // File contracts/IDIAStroomAdapter.sol // Original license: SPDX_License_Identifier: MIT pragma solidity ^0.8.7; interface IDIAStroomAdapter { function getCombinedReserveValue() external view returns (uint256); } // File contracts/DiaStroomAssetSpecificCallingConvention.sol // Original license: SPDX_License_Identifier: MIT pragma solidity ^0.8.7; contract DiaStroomAssetSpecificCallingConvention is AggregatorV3Interface, Ownable { using SafeCast for int256; using SafeCast for uint128; error NotImplemented(); IDIAStroomAdapter private diaStroomAdapter; uint256 private _version; uint8 private _decimals; string private _description; constructor(address diaStroomAdapterAddress_, string memory description_) { diaStroomAdapter = IDIAStroomAdapter(diaStroomAdapterAddress_); _decimals = 8; _description = description_; } function diaStroomAdapterAddress() external view returns (address) { return address(diaStroomAdapter); } function setDiaStroomAdapterAddress(address newDiaStroomAdapterAddress) external onlyOwner { diaStroomAdapter = IDIAStroomAdapter(newDiaStroomAdapterAddress); } function version() external view override returns (uint256) { return _version; } function setVersion(uint256 newVersion) external onlyOwner { _version = newVersion; } function decimals() external view override returns (uint8) { return _decimals; } function setDecimals(uint8 newDecimals) external onlyOwner { _decimals = newDecimals; } function description() external view override returns (string memory) { return _description; } function setDescription(string memory newDescription) external onlyOwner { _description = newDescription; } function getRoundData(uint80 /*_roundId*/) external pure returns ( uint80 /*roundId*/, int256 /*answer*/, uint256 /*startedAt*/, uint256 /*updatedAt*/, uint80 /*answeredInRound*/ ) { revert NotImplemented(); } function latestRoundData() external view override returns ( uint80 roundId_, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ) { uint256 value = getValue(); roundId_ = uint80(block.number); answer = int256(value); startedAt = block.timestamp; updatedAt = block.timestamp; answeredInRound = uint80(block.number); } function getValue() private view returns (uint256) { uint256 value = diaStroomAdapter.getCombinedReserveValue(); return value; } function latestAnswer() external view returns (int256 answer) { answer = int256(getValue()); return answer; } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"diaStroomAdapterAddress_","type":"address"},{"internalType":"string","name":"description_","type":"string"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"name":"NotImplemented","type":"error"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"diaStroomAdapterAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"","type":"uint80"},{"internalType":"int256","name":"","type":"int256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint80","name":"","type":"uint80"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"latestAnswer","outputs":[{"internalType":"int256","name":"answer","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId_","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"newDecimals","type":"uint8"}],"name":"setDecimals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"newDescription","type":"string"}],"name":"setDescription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newDiaStroomAdapterAddress","type":"address"}],"name":"setDiaStroomAdapterAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newVersion","type":"uint256"}],"name":"setVersion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]Contract Creation Code
60806040523480156200001157600080fd5b506040516200140838038062001408833981810160405281019062000037919062000453565b620000576200004b620000d560201b60201c565b620000dd60201b60201c565b81600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506008600360006101000a81548160ff021916908360ff1602179055508060049080519060200190620000cc929190620001a1565b5050506200051e565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001af90620004e8565b90600052602060002090601f016020900481019282620001d357600085556200021f565b82601f10620001ee57805160ff19168380011785556200021f565b828001600101855582156200021f579182015b828111156200021e57825182559160200191906001019062000201565b5b5090506200022e919062000232565b5090565b5b808211156200024d57600081600090555060010162000233565b5090565b6000604051905090565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620002928262000265565b9050919050565b620002a48162000285565b8114620002b057600080fd5b50565b600081519050620002c48162000299565b92915050565b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200031f82620002d4565b810181811067ffffffffffffffff82111715620003415762000340620002e5565b5b80604052505050565b60006200035662000251565b905062000364828262000314565b919050565b600067ffffffffffffffff821115620003875762000386620002e5565b5b6200039282620002d4565b9050602081019050919050565b60005b83811015620003bf578082015181840152602081019050620003a2565b83811115620003cf576000848401525b50505050565b6000620003ec620003e68462000369565b6200034a565b9050828152602081018484840111156200040b576200040a620002cf565b5b620004188482856200039f565b509392505050565b600082601f830112620004385762000437620002ca565b5b81516200044a848260208601620003d5565b91505092915050565b600080604083850312156200046d576200046c6200025b565b5b60006200047d85828601620002b3565b925050602083015167ffffffffffffffff811115620004a157620004a062000260565b5b620004af8582860162000420565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200050157607f821691505b60208210811415620005185762000517620004b9565b5b50919050565b610eda806200052e6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c5780639a6fc8f5116100665780639a6fc8f5146102015780639def565714610235578063f2fde38b14610251578063feaf968c1461026d576100ea565b80638da5cb5b146101a957806390c3f38f146101c7578063996bc021146101e3576100ea565b806354fd4d50116100c857806354fd4d5014610147578063715018a6146101655780637284e4161461016f5780637a1395aa1461018d576100ea565b8063313ce567146100ef578063408def1e1461010d57806350d25bcd14610129575b600080fd5b6100f761028f565b60405161010491906107fb565b60405180910390f35b61012760048036038101906101229190610860565b6102a6565b005b6101316102b8565b60405161013e91906108a6565b60405180910390f35b61014f6102c7565b60405161015c91906108d0565b60405180910390f35b61016d6102d1565b005b6101776102e5565b6040516101849190610984565b60405180910390f35b6101a760048036038101906101a291906109d2565b610377565b005b6101b161039d565b6040516101be9190610a40565b60405180910390f35b6101e160048036038101906101dc9190610b90565b6103c6565b005b6101eb6103e8565b6040516101f89190610a40565b60405180910390f35b61021b60048036038101906102169190610c1b565b610412565b60405161022c959493929190610c57565b60405180910390f35b61024f600480360381019061024a9190610cd6565b61044c565b005b61026b60048036038101906102669190610cd6565b610498565b005b61027561051c565b604051610286959493929190610c57565b60405180910390f35b6000600360009054906101000a900460ff16905090565b6102ae610546565b8060028190555050565b60006102c26105c4565b905090565b6000600254905090565b6102d9610546565b6102e36000610670565b565b6060600480546102f490610d32565b80601f016020809104026020016040519081016040528092919081815260200182805461032090610d32565b801561036d5780601f106103425761010080835404028352916020019161036d565b820191906000526020600020905b81548152906001019060200180831161035057829003601f168201915b5050505050905090565b61037f610546565b80600360006101000a81548160ff021916908360ff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6103ce610546565b80600490805190602001906103e492919061073c565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008060006040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610454610546565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6104a0610546565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050790610dd6565b60405180910390fd5b61051981610670565b50565b60008060008060008061052d6105c4565b9050439550809450429350429250439150509091929394565b61054e610734565b73ffffffffffffffffffffffffffffffffffffffff1661056c61039d565b73ffffffffffffffffffffffffffffffffffffffff16146105c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b990610e42565b60405180910390fd5b565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639cac78386040518163ffffffff1660e01b815260040160206040518083038186803b15801561062f57600080fd5b505afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106679190610e77565b90508091505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b82805461074890610d32565b90600052602060002090601f01602090048101928261076a57600085556107b1565b82601f1061078357805160ff19168380011785556107b1565b828001600101855582156107b1579182015b828111156107b0578251825591602001919060010190610795565b5b5090506107be91906107c2565b5090565b5b808211156107db5760008160009055506001016107c3565b5090565b600060ff82169050919050565b6107f5816107df565b82525050565b600060208201905061081060008301846107ec565b92915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61083d8161082a565b811461084857600080fd5b50565b60008135905061085a81610834565b92915050565b60006020828403121561087657610875610820565b5b60006108848482850161084b565b91505092915050565b6000819050919050565b6108a08161088d565b82525050565b60006020820190506108bb6000830184610897565b92915050565b6108ca8161082a565b82525050565b60006020820190506108e560008301846108c1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561092557808201518184015260208101905061090a565b83811115610934576000848401525b50505050565b6000601f19601f8301169050919050565b6000610956826108eb565b61096081856108f6565b9350610970818560208601610907565b6109798161093a565b840191505092915050565b6000602082019050818103600083015261099e818461094b565b905092915050565b6109af816107df565b81146109ba57600080fd5b50565b6000813590506109cc816109a6565b92915050565b6000602082840312156109e8576109e7610820565b5b60006109f6848285016109bd565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a2a826109ff565b9050919050565b610a3a81610a1f565b82525050565b6000602082019050610a556000830184610a31565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610a9d8261093a565b810181811067ffffffffffffffff82111715610abc57610abb610a65565b5b80604052505050565b6000610acf610816565b9050610adb8282610a94565b919050565b600067ffffffffffffffff821115610afb57610afa610a65565b5b610b048261093a565b9050602081019050919050565b82818337600083830152505050565b6000610b33610b2e84610ae0565b610ac5565b905082815260208101848484011115610b4f57610b4e610a60565b5b610b5a848285610b11565b509392505050565b600082601f830112610b7757610b76610a5b565b5b8135610b87848260208601610b20565b91505092915050565b600060208284031215610ba657610ba5610820565b5b600082013567ffffffffffffffff811115610bc457610bc3610825565b5b610bd084828501610b62565b91505092915050565b600069ffffffffffffffffffff82169050919050565b610bf881610bd9565b8114610c0357600080fd5b50565b600081359050610c1581610bef565b92915050565b600060208284031215610c3157610c30610820565b5b6000610c3f84828501610c06565b91505092915050565b610c5181610bd9565b82525050565b600060a082019050610c6c6000830188610c48565b610c796020830187610897565b610c8660408301866108c1565b610c9360608301856108c1565b610ca06080830184610c48565b9695505050505050565b610cb381610a1f565b8114610cbe57600080fd5b50565b600081359050610cd081610caa565b92915050565b600060208284031215610cec57610ceb610820565b5b6000610cfa84828501610cc1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610d4a57607f821691505b60208210811415610d5e57610d5d610d03565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610dc06026836108f6565b9150610dcb82610d64565b604082019050919050565b60006020820190508181036000830152610def81610db3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610e2c6020836108f6565b9150610e3782610df6565b602082019050919050565b60006020820190508181036000830152610e5b81610e1f565b9050919050565b600081519050610e7181610834565b92915050565b600060208284031215610e8d57610e8c610820565b5b6000610e9b84828501610e62565b9150509291505056fea2646970667358221220b486f6345f4c20d87b25b204f662dedc6a05aafa943541e11f339f2dc155dac964736f6c63430008090033000000000000000000000000fe0593fa61c7cf3d2cd17b8b53ef844a33b0463d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a5374726f6f6d2046756e64616d656e74616c73204f7261636c65000000000000
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c5780639a6fc8f5116100665780639a6fc8f5146102015780639def565714610235578063f2fde38b14610251578063feaf968c1461026d576100ea565b80638da5cb5b146101a957806390c3f38f146101c7578063996bc021146101e3576100ea565b806354fd4d50116100c857806354fd4d5014610147578063715018a6146101655780637284e4161461016f5780637a1395aa1461018d576100ea565b8063313ce567146100ef578063408def1e1461010d57806350d25bcd14610129575b600080fd5b6100f761028f565b60405161010491906107fb565b60405180910390f35b61012760048036038101906101229190610860565b6102a6565b005b6101316102b8565b60405161013e91906108a6565b60405180910390f35b61014f6102c7565b60405161015c91906108d0565b60405180910390f35b61016d6102d1565b005b6101776102e5565b6040516101849190610984565b60405180910390f35b6101a760048036038101906101a291906109d2565b610377565b005b6101b161039d565b6040516101be9190610a40565b60405180910390f35b6101e160048036038101906101dc9190610b90565b6103c6565b005b6101eb6103e8565b6040516101f89190610a40565b60405180910390f35b61021b60048036038101906102169190610c1b565b610412565b60405161022c959493929190610c57565b60405180910390f35b61024f600480360381019061024a9190610cd6565b61044c565b005b61026b60048036038101906102669190610cd6565b610498565b005b61027561051c565b604051610286959493929190610c57565b60405180910390f35b6000600360009054906101000a900460ff16905090565b6102ae610546565b8060028190555050565b60006102c26105c4565b905090565b6000600254905090565b6102d9610546565b6102e36000610670565b565b6060600480546102f490610d32565b80601f016020809104026020016040519081016040528092919081815260200182805461032090610d32565b801561036d5780601f106103425761010080835404028352916020019161036d565b820191906000526020600020905b81548152906001019060200180831161035057829003601f168201915b5050505050905090565b61037f610546565b80600360006101000a81548160ff021916908360ff16021790555050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6103ce610546565b80600490805190602001906103e492919061073c565b5050565b6000600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060008060006040517fd623472500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610454610546565b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6104a0610546565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610510576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161050790610dd6565b60405180910390fd5b61051981610670565b50565b60008060008060008061052d6105c4565b9050439550809450429350429250439150509091929394565b61054e610734565b73ffffffffffffffffffffffffffffffffffffffff1661056c61039d565b73ffffffffffffffffffffffffffffffffffffffff16146105c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b990610e42565b60405180910390fd5b565b600080600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16639cac78386040518163ffffffff1660e01b815260040160206040518083038186803b15801561062f57600080fd5b505afa158015610643573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106679190610e77565b90508091505090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b82805461074890610d32565b90600052602060002090601f01602090048101928261076a57600085556107b1565b82601f1061078357805160ff19168380011785556107b1565b828001600101855582156107b1579182015b828111156107b0578251825591602001919060010190610795565b5b5090506107be91906107c2565b5090565b5b808211156107db5760008160009055506001016107c3565b5090565b600060ff82169050919050565b6107f5816107df565b82525050565b600060208201905061081060008301846107ec565b92915050565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b61083d8161082a565b811461084857600080fd5b50565b60008135905061085a81610834565b92915050565b60006020828403121561087657610875610820565b5b60006108848482850161084b565b91505092915050565b6000819050919050565b6108a08161088d565b82525050565b60006020820190506108bb6000830184610897565b92915050565b6108ca8161082a565b82525050565b60006020820190506108e560008301846108c1565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561092557808201518184015260208101905061090a565b83811115610934576000848401525b50505050565b6000601f19601f8301169050919050565b6000610956826108eb565b61096081856108f6565b9350610970818560208601610907565b6109798161093a565b840191505092915050565b6000602082019050818103600083015261099e818461094b565b905092915050565b6109af816107df565b81146109ba57600080fd5b50565b6000813590506109cc816109a6565b92915050565b6000602082840312156109e8576109e7610820565b5b60006109f6848285016109bd565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000610a2a826109ff565b9050919050565b610a3a81610a1f565b82525050565b6000602082019050610a556000830184610a31565b92915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610a9d8261093a565b810181811067ffffffffffffffff82111715610abc57610abb610a65565b5b80604052505050565b6000610acf610816565b9050610adb8282610a94565b919050565b600067ffffffffffffffff821115610afb57610afa610a65565b5b610b048261093a565b9050602081019050919050565b82818337600083830152505050565b6000610b33610b2e84610ae0565b610ac5565b905082815260208101848484011115610b4f57610b4e610a60565b5b610b5a848285610b11565b509392505050565b600082601f830112610b7757610b76610a5b565b5b8135610b87848260208601610b20565b91505092915050565b600060208284031215610ba657610ba5610820565b5b600082013567ffffffffffffffff811115610bc457610bc3610825565b5b610bd084828501610b62565b91505092915050565b600069ffffffffffffffffffff82169050919050565b610bf881610bd9565b8114610c0357600080fd5b50565b600081359050610c1581610bef565b92915050565b600060208284031215610c3157610c30610820565b5b6000610c3f84828501610c06565b91505092915050565b610c5181610bd9565b82525050565b600060a082019050610c6c6000830188610c48565b610c796020830187610897565b610c8660408301866108c1565b610c9360608301856108c1565b610ca06080830184610c48565b9695505050505050565b610cb381610a1f565b8114610cbe57600080fd5b50565b600081359050610cd081610caa565b92915050565b600060208284031215610cec57610ceb610820565b5b6000610cfa84828501610cc1565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680610d4a57607f821691505b60208210811415610d5e57610d5d610d03565b5b50919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000610dc06026836108f6565b9150610dcb82610d64565b604082019050919050565b60006020820190508181036000830152610def81610db3565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000610e2c6020836108f6565b9150610e3782610df6565b602082019050919050565b60006020820190508181036000830152610e5b81610e1f565b9050919050565b600081519050610e7181610834565b92915050565b600060208284031215610e8d57610e8c610820565b5b6000610e9b84828501610e62565b9150509291505056fea2646970667358221220b486f6345f4c20d87b25b204f662dedc6a05aafa943541e11f339f2dc155dac964736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000fe0593fa61c7cf3d2cd17b8b53ef844a33b0463d0000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000001a5374726f6f6d2046756e64616d656e74616c73204f7261636c65000000000000
-----Decoded View---------------
Arg [0] : diaStroomAdapterAddress_ (address): 0xFe0593fA61c7Cf3D2CD17b8B53Ef844A33b0463d
Arg [1] : description_ (string): Stroom Fundamentals Oracle
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000fe0593fa61c7cf3d2cd17b8b53ef844a33b0463d
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000040
Arg [2] : 000000000000000000000000000000000000000000000000000000000000001a
Arg [3] : 5374726f6f6d2046756e64616d656e74616c73204f7261636c65000000000000
Deployed Bytecode Sourcemap
41288:2563:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42364:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42257:99;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;43728:120;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42155:94;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2979:103;;;:::i;:::-;;42575:108;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42466:101;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2338:87;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42691:121;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;41847:118;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;42820:281;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;41973:174;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3237:201;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;43111:452;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;42364:94;42416:5;42441:9;;;;;;;;;;;42434:16;;42364:94;:::o;42257:99::-;2224:13;:11;:13::i;:::-;42338:10:::1;42327:8;:21;;;;42257:99:::0;:::o;43728:120::-;43775:13;43812:10;:8;:10::i;:::-;43796:27;;43728:120;:::o;42155:94::-;42206:7;42233:8;;42226:15;;42155:94;:::o;2979:103::-;2224:13;:11;:13::i;:::-;3044:30:::1;3071:1;3044:18;:30::i;:::-;2979:103::o:0;42575:108::-;42630:13;42663:12;42656:19;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;42575:108;:::o;42466:101::-;2224:13;:11;:13::i;:::-;42548:11:::1;42536:9;;:23;;;;;;;;;;;;;;;;;;42466:101:::0;:::o;2338:87::-;2384:7;2411:6;;;;;;;;;;;2404:13;;2338:87;:::o;42691:121::-;2224:13;:11;:13::i;:::-;42790:14:::1;42775:12;:29;;;;;;;;;;;;:::i;:::-;;42691:121:::0;:::o;41847:118::-;41905:7;41940:16;;;;;;;;;;;41925:32;;41847:118;:::o;42820:281::-;42909:6;42937;42964:7;42994;43024:6;43077:16;;;;;;;;;;;;;;41973:174;2224:13;:11;:13::i;:::-;42112:26:::1;42075:16;;:64;;;;;;;;;;;;;;;;;;41973:174:::0;:::o;3237:201::-;2224:13;:11;:13::i;:::-;3346:1:::1;3326:22;;:8;:22;;;;3318:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;3402:28;3421:8;3402:18;:28::i;:::-;3237:201:::0;:::o;43111:452::-;43180:15;43206:13;43230:17;43258;43286:22;43327:13;43343:10;:8;:10::i;:::-;43327:26;;43384:12;43366:31;;43424:5;43408:22;;43453:15;43441:27;;43491:15;43479:27;;43542:12;43517:38;;43316:247;43111:452;;;;;:::o;2503:132::-;2578:12;:10;:12::i;:::-;2567:23;;:7;:5;:7::i;:::-;:23;;;2559:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2503:132::o;43571:151::-;43613:7;43633:13;43649:16;;;;;;;;;;;:40;;;:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;43633:58;;43709:5;43702:12;;;43571:151;:::o;3598:191::-;3672:16;3691:6;;;;;;;;;;;3672:25;;3717:8;3708:6;;:17;;;;;;;;;;;;;;;;;;3772:8;3741:40;;3762:8;3741:40;;;;;;;;;;;;3661:128;3598:191;:::o;834:98::-;887:7;914:10;907:17;;834:98;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:86:1:-;42:7;82:4;75:5;71:16;60:27;;7:86;;;:::o;99:112::-;182:22;198:5;182:22;:::i;:::-;177:3;170:35;99:112;;:::o;217:214::-;306:4;344:2;333:9;329:18;321:26;;357:67;421:1;410:9;406:17;397:6;357:67;:::i;:::-;217:214;;;;:::o;437:75::-;470:6;503:2;497:9;487:19;;437:75;:::o;518:117::-;627:1;624;617:12;641:117;750:1;747;740:12;764:77;801:7;830:5;819:16;;764:77;;;:::o;847:122::-;920:24;938:5;920:24;:::i;:::-;913:5;910:35;900:63;;959:1;956;949:12;900:63;847:122;:::o;975:139::-;1021:5;1059:6;1046:20;1037:29;;1075:33;1102:5;1075:33;:::i;:::-;975:139;;;;:::o;1120:329::-;1179:6;1228:2;1216:9;1207:7;1203:23;1199:32;1196:119;;;1234:79;;:::i;:::-;1196:119;1354:1;1379:53;1424:7;1415:6;1404:9;1400:22;1379:53;:::i;:::-;1369:63;;1325:117;1120:329;;;;:::o;1455:76::-;1491:7;1520:5;1509:16;;1455:76;;;:::o;1537:115::-;1622:23;1639:5;1622:23;:::i;:::-;1617:3;1610:36;1537:115;;:::o;1658:218::-;1749:4;1787:2;1776:9;1772:18;1764:26;;1800:69;1866:1;1855:9;1851:17;1842:6;1800:69;:::i;:::-;1658:218;;;;:::o;1882:118::-;1969:24;1987:5;1969:24;:::i;:::-;1964:3;1957:37;1882:118;;:::o;2006:222::-;2099:4;2137:2;2126:9;2122:18;2114:26;;2150:71;2218:1;2207:9;2203:17;2194:6;2150:71;:::i;:::-;2006:222;;;;:::o;2234:99::-;2286:6;2320:5;2314:12;2304:22;;2234:99;;;:::o;2339:169::-;2423:11;2457:6;2452:3;2445:19;2497:4;2492:3;2488:14;2473:29;;2339:169;;;;:::o;2514:307::-;2582:1;2592:113;2606:6;2603:1;2600:13;2592:113;;;2691:1;2686:3;2682:11;2676:18;2672:1;2667:3;2663:11;2656:39;2628:2;2625:1;2621:10;2616:15;;2592:113;;;2723:6;2720:1;2717:13;2714:101;;;2803:1;2794:6;2789:3;2785:16;2778:27;2714:101;2563:258;2514:307;;;:::o;2827:102::-;2868:6;2919:2;2915:7;2910:2;2903:5;2899:14;2895:28;2885:38;;2827:102;;;:::o;2935:364::-;3023:3;3051:39;3084:5;3051:39;:::i;:::-;3106:71;3170:6;3165:3;3106:71;:::i;:::-;3099:78;;3186:52;3231:6;3226:3;3219:4;3212:5;3208:16;3186:52;:::i;:::-;3263:29;3285:6;3263:29;:::i;:::-;3258:3;3254:39;3247:46;;3027:272;2935:364;;;;:::o;3305:313::-;3418:4;3456:2;3445:9;3441:18;3433:26;;3505:9;3499:4;3495:20;3491:1;3480:9;3476:17;3469:47;3533:78;3606:4;3597:6;3533:78;:::i;:::-;3525:86;;3305:313;;;;:::o;3624:118::-;3695:22;3711:5;3695:22;:::i;:::-;3688:5;3685:33;3675:61;;3732:1;3729;3722:12;3675:61;3624:118;:::o;3748:135::-;3792:5;3830:6;3817:20;3808:29;;3846:31;3871:5;3846:31;:::i;:::-;3748:135;;;;:::o;3889:325::-;3946:6;3995:2;3983:9;3974:7;3970:23;3966:32;3963:119;;;4001:79;;:::i;:::-;3963:119;4121:1;4146:51;4189:7;4180:6;4169:9;4165:22;4146:51;:::i;:::-;4136:61;;4092:115;3889:325;;;;:::o;4220:126::-;4257:7;4297:42;4290:5;4286:54;4275:65;;4220:126;;;:::o;4352:96::-;4389:7;4418:24;4436:5;4418:24;:::i;:::-;4407:35;;4352:96;;;:::o;4454:118::-;4541:24;4559:5;4541:24;:::i;:::-;4536:3;4529:37;4454:118;;:::o;4578:222::-;4671:4;4709:2;4698:9;4694:18;4686:26;;4722:71;4790:1;4779:9;4775:17;4766:6;4722:71;:::i;:::-;4578:222;;;;:::o;4806:117::-;4915:1;4912;4905:12;4929:117;5038:1;5035;5028:12;5052:180;5100:77;5097:1;5090:88;5197:4;5194:1;5187:15;5221:4;5218:1;5211:15;5238:281;5321:27;5343:4;5321:27;:::i;:::-;5313:6;5309:40;5451:6;5439:10;5436:22;5415:18;5403:10;5400:34;5397:62;5394:88;;;5462:18;;:::i;:::-;5394:88;5502:10;5498:2;5491:22;5281:238;5238:281;;:::o;5525:129::-;5559:6;5586:20;;:::i;:::-;5576:30;;5615:33;5643:4;5635:6;5615:33;:::i;:::-;5525:129;;;:::o;5660:308::-;5722:4;5812:18;5804:6;5801:30;5798:56;;;5834:18;;:::i;:::-;5798:56;5872:29;5894:6;5872:29;:::i;:::-;5864:37;;5956:4;5950;5946:15;5938:23;;5660:308;;;:::o;5974:154::-;6058:6;6053:3;6048;6035:30;6120:1;6111:6;6106:3;6102:16;6095:27;5974:154;;;:::o;6134:412::-;6212:5;6237:66;6253:49;6295:6;6253:49;:::i;:::-;6237:66;:::i;:::-;6228:75;;6326:6;6319:5;6312:21;6364:4;6357:5;6353:16;6402:3;6393:6;6388:3;6384:16;6381:25;6378:112;;;6409:79;;:::i;:::-;6378:112;6499:41;6533:6;6528:3;6523;6499:41;:::i;:::-;6218:328;6134:412;;;;;:::o;6566:340::-;6622:5;6671:3;6664:4;6656:6;6652:17;6648:27;6638:122;;6679:79;;:::i;:::-;6638:122;6796:6;6783:20;6821:79;6896:3;6888:6;6881:4;6873:6;6869:17;6821:79;:::i;:::-;6812:88;;6628:278;6566:340;;;;:::o;6912:509::-;6981:6;7030:2;7018:9;7009:7;7005:23;7001:32;6998:119;;;7036:79;;:::i;:::-;6998:119;7184:1;7173:9;7169:17;7156:31;7214:18;7206:6;7203:30;7200:117;;;7236:79;;:::i;:::-;7200:117;7341:63;7396:7;7387:6;7376:9;7372:22;7341:63;:::i;:::-;7331:73;;7127:287;6912:509;;;;:::o;7427:105::-;7463:7;7503:22;7496:5;7492:34;7481:45;;7427:105;;;:::o;7538:120::-;7610:23;7627:5;7610:23;:::i;:::-;7603:5;7600:34;7590:62;;7648:1;7645;7638:12;7590:62;7538:120;:::o;7664:137::-;7709:5;7747:6;7734:20;7725:29;;7763:32;7789:5;7763:32;:::i;:::-;7664:137;;;;:::o;7807:327::-;7865:6;7914:2;7902:9;7893:7;7889:23;7885:32;7882:119;;;7920:79;;:::i;:::-;7882:119;8040:1;8065:52;8109:7;8100:6;8089:9;8085:22;8065:52;:::i;:::-;8055:62;;8011:116;7807:327;;;;:::o;8140:115::-;8225:23;8242:5;8225:23;:::i;:::-;8220:3;8213:36;8140:115;;:::o;8261:652::-;8460:4;8498:3;8487:9;8483:19;8475:27;;8512:69;8578:1;8567:9;8563:17;8554:6;8512:69;:::i;:::-;8591:70;8657:2;8646:9;8642:18;8633:6;8591:70;:::i;:::-;8671:72;8739:2;8728:9;8724:18;8715:6;8671:72;:::i;:::-;8753;8821:2;8810:9;8806:18;8797:6;8753:72;:::i;:::-;8835:71;8901:3;8890:9;8886:19;8877:6;8835:71;:::i;:::-;8261:652;;;;;;;;:::o;8919:122::-;8992:24;9010:5;8992:24;:::i;:::-;8985:5;8982:35;8972:63;;9031:1;9028;9021:12;8972:63;8919:122;:::o;9047:139::-;9093:5;9131:6;9118:20;9109:29;;9147:33;9174:5;9147:33;:::i;:::-;9047:139;;;;:::o;9192:329::-;9251:6;9300:2;9288:9;9279:7;9275:23;9271:32;9268:119;;;9306:79;;:::i;:::-;9268:119;9426:1;9451:53;9496:7;9487:6;9476:9;9472:22;9451:53;:::i;:::-;9441:63;;9397:117;9192:329;;;;:::o;9527:180::-;9575:77;9572:1;9565:88;9672:4;9669:1;9662:15;9696:4;9693:1;9686:15;9713:320;9757:6;9794:1;9788:4;9784:12;9774:22;;9841:1;9835:4;9831:12;9862:18;9852:81;;9918:4;9910:6;9906:17;9896:27;;9852:81;9980:2;9972:6;9969:14;9949:18;9946:38;9943:84;;;9999:18;;:::i;:::-;9943:84;9764:269;9713:320;;;:::o;10039:225::-;10179:34;10175:1;10167:6;10163:14;10156:58;10248:8;10243:2;10235:6;10231:15;10224:33;10039:225;:::o;10270:366::-;10412:3;10433:67;10497:2;10492:3;10433:67;:::i;:::-;10426:74;;10509:93;10598:3;10509:93;:::i;:::-;10627:2;10622:3;10618:12;10611:19;;10270:366;;;:::o;10642:419::-;10808:4;10846:2;10835:9;10831:18;10823:26;;10895:9;10889:4;10885:20;10881:1;10870:9;10866:17;10859:47;10923:131;11049:4;10923:131;:::i;:::-;10915:139;;10642:419;;;:::o;11067:182::-;11207:34;11203:1;11195:6;11191:14;11184:58;11067:182;:::o;11255:366::-;11397:3;11418:67;11482:2;11477:3;11418:67;:::i;:::-;11411:74;;11494:93;11583:3;11494:93;:::i;:::-;11612:2;11607:3;11603:12;11596:19;;11255:366;;;:::o;11627:419::-;11793:4;11831:2;11820:9;11816:18;11808:26;;11880:9;11874:4;11870:20;11866:1;11855:9;11851:17;11844:47;11908:131;12034:4;11908:131;:::i;:::-;11900:139;;11627:419;;;:::o;12052:143::-;12109:5;12140:6;12134:13;12125:22;;12156:33;12183:5;12156:33;:::i;:::-;12052:143;;;;:::o;12201:351::-;12271:6;12320:2;12308:9;12299:7;12295:23;12291:32;12288:119;;;12326:79;;:::i;:::-;12288:119;12446:1;12471:64;12527:7;12518:6;12507:9;12503:22;12471:64;:::i;:::-;12461:74;;12417:128;12201:351;;;;:::o
Swarm Source
ipfs://b486f6345f4c20d87b25b204f662dedc6a05aafa943541e11f339f2dc155dac9
Loading...
Loading
Loading...
Loading
Net Worth in USD
$0.00
Net Worth in ETH
0
Multichain Portfolio | 35 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|
Loading...
Loading
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.