Overview
POL Balance
0 POL
POL Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 5 from a total of 5 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Generate Lucky N... | 44505390 | 526 days ago | IN | 0 POL | 0.02021493 | ||||
Generate Lucky N... | 44212742 | 534 days ago | IN | 0 POL | 0.02873008 | ||||
Generate Lucky N... | 44212660 | 534 days ago | IN | 0 POL | 0.03267054 | ||||
Set Request Para... | 44212620 | 534 days ago | IN | 0 POL | 0.01889346 | ||||
Transfer Ownersh... | 44211774 | 534 days ago | IN | 0 POL | 0.00475119 |
Loading...
Loading
Contract Name:
LuckyNumbers
Compiler Version
v0.8.9+commit.e5eed63a
Optimization Enabled:
No with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.9; import "@api3/airnode-protocol/contracts/rrp/requesters/RrpRequesterV0.sol"; import "@openzeppelin/contracts/access/Ownable.sol"; contract LuckyNumbers is Ownable, RrpRequesterV0 { address public airnode; bytes32 public endpointIdUint256; address payable public sponsorWallet; uint256 public id; struct RandomStatus { uint256 randomNumber; uint256 id; bool isExist; } mapping(bytes32 => RandomStatus) public requestIdToRandomStatus; mapping(uint256 => uint256) public readLuckyNumber; event RequestNumbers(bytes32 indexed requestId, uint256 indexed id); event RequestRandomnessFulfilled(bytes32 indexed requestId, uint256 indexed randomResult ); constructor( address _airnodeRrp) RrpRequesterV0(_airnodeRrp) { id = 0; } function setRequestParameters( address _airnode, bytes32 _endpointIdUint256, address payable _sponsorWallet ) external onlyOwner { airnode = _airnode; endpointIdUint256 = _endpointIdUint256; sponsorWallet = _sponsorWallet; } function generateLuckyNumber() public onlyOwner returns (bytes32 requestId) { id+=1; requestId = airnodeRrp.makeFullRequest( airnode, endpointIdUint256, address(this), sponsorWallet, address(this), this.fulfillUint256.selector, abi.encode( bytes32("1s"), bytes32("_minConfirmations"), bytes32("7") ) ); requestIdToRandomStatus[requestId].isExist = true; requestIdToRandomStatus[requestId].id = id; emit RequestNumbers(requestId, id); } function fulfillUint256(bytes32 requestId, bytes calldata data) external onlyAirnodeRrp { require( requestIdToRandomStatus[requestId].isExist == true, "Request ID not known" ); uint256 qrngUint256 = abi.decode(data, (uint256)); uint256 randomResult = (qrngUint256 % 1000000) + 1; requestIdToRandomStatus[requestId].randomNumber = randomResult; readLuckyNumber[requestIdToRandomStatus[requestId].id] = randomResult; emit RequestRandomnessFulfilled(requestId, randomResult); } }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "./IAuthorizationUtilsV0.sol"; import "./ITemplateUtilsV0.sol"; import "./IWithdrawalUtilsV0.sol"; interface IAirnodeRrpV0 is IAuthorizationUtilsV0, ITemplateUtilsV0, IWithdrawalUtilsV0 { event SetSponsorshipStatus( address indexed sponsor, address indexed requester, bool sponsorshipStatus ); event MadeTemplateRequest( address indexed airnode, bytes32 indexed requestId, uint256 requesterRequestCount, uint256 chainId, address requester, bytes32 templateId, address sponsor, address sponsorWallet, address fulfillAddress, bytes4 fulfillFunctionId, bytes parameters ); event MadeFullRequest( address indexed airnode, bytes32 indexed requestId, uint256 requesterRequestCount, uint256 chainId, address requester, bytes32 endpointId, address sponsor, address sponsorWallet, address fulfillAddress, bytes4 fulfillFunctionId, bytes parameters ); event FulfilledRequest( address indexed airnode, bytes32 indexed requestId, bytes data ); event FailedRequest( address indexed airnode, bytes32 indexed requestId, string errorMessage ); function setSponsorshipStatus(address requester, bool sponsorshipStatus) external; function makeTemplateRequest( bytes32 templateId, address sponsor, address sponsorWallet, address fulfillAddress, bytes4 fulfillFunctionId, bytes calldata parameters ) external returns (bytes32 requestId); function makeFullRequest( address airnode, bytes32 endpointId, address sponsor, address sponsorWallet, address fulfillAddress, bytes4 fulfillFunctionId, bytes calldata parameters ) external returns (bytes32 requestId); function fulfill( bytes32 requestId, address airnode, address fulfillAddress, bytes4 fulfillFunctionId, bytes calldata data, bytes calldata signature ) external returns (bool callSuccess, bytes memory callData); function fail( bytes32 requestId, address airnode, address fulfillAddress, bytes4 fulfillFunctionId, string calldata errorMessage ) external; function sponsorToRequesterToSponsorshipStatus( address sponsor, address requester ) external view returns (bool sponsorshipStatus); function requesterToRequestCountPlusOne(address requester) external view returns (uint256 requestCountPlusOne); function requestIsAwaitingFulfillment(bytes32 requestId) external view returns (bool isAwaitingFulfillment); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IAuthorizationUtilsV0 { function checkAuthorizationStatus( address[] calldata authorizers, address airnode, bytes32 requestId, bytes32 endpointId, address sponsor, address requester ) external view returns (bool status); function checkAuthorizationStatuses( address[] calldata authorizers, address airnode, bytes32[] calldata requestIds, bytes32[] calldata endpointIds, address[] calldata sponsors, address[] calldata requesters ) external view returns (bool[] memory statuses); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface ITemplateUtilsV0 { event CreatedTemplate( bytes32 indexed templateId, address airnode, bytes32 endpointId, bytes parameters ); function createTemplate( address airnode, bytes32 endpointId, bytes calldata parameters ) external returns (bytes32 templateId); function getTemplates(bytes32[] calldata templateIds) external view returns ( address[] memory airnodes, bytes32[] memory endpointIds, bytes[] memory parameters ); function templates(bytes32 templateId) external view returns ( address airnode, bytes32 endpointId, bytes memory parameters ); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IWithdrawalUtilsV0 { event RequestedWithdrawal( address indexed airnode, address indexed sponsor, bytes32 indexed withdrawalRequestId, address sponsorWallet ); event FulfilledWithdrawal( address indexed airnode, address indexed sponsor, bytes32 indexed withdrawalRequestId, address sponsorWallet, uint256 amount ); function requestWithdrawal(address airnode, address sponsorWallet) external; function fulfillWithdrawal( bytes32 withdrawalRequestId, address airnode, address sponsor ) external payable; function sponsorToWithdrawalRequestCount(address sponsor) external view returns (uint256 withdrawalRequestCount); }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../interfaces/IAirnodeRrpV0.sol"; /// @title The contract to be inherited to make Airnode RRP requests contract RrpRequesterV0 { IAirnodeRrpV0 public immutable airnodeRrp; /// @dev Reverts if the caller is not the Airnode RRP contract. /// Use it as a modifier for fulfill and error callback methods, but also /// check `requestId`. modifier onlyAirnodeRrp() { require(msg.sender == address(airnodeRrp), "Caller not Airnode RRP"); _; } /// @dev Airnode RRP address is set at deployment and is immutable. /// RrpRequester is made its own sponsor by default. RrpRequester can also /// be sponsored by others and use these sponsorships while making /// requests, i.e., using this default sponsorship is optional. /// @param _airnodeRrp Airnode RRP contract address constructor(address _airnodeRrp) { airnodeRrp = IAirnodeRrpV0(_airnodeRrp); IAirnodeRrpV0(_airnodeRrp).setSponsorshipStatus(address(this), true); } }
// SPDX-License-Identifier: MIT // OpenZeppelin Contracts (last updated v4.7.0) (access/Ownable.sol) pragma solidity ^0.8.0; import "../utils/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 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 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; } }
{ "optimizer": { "enabled": false, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_airnodeRrp","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"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"requestId","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"id","type":"uint256"}],"name":"RequestNumbers","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"requestId","type":"bytes32"},{"indexed":true,"internalType":"uint256","name":"randomResult","type":"uint256"}],"name":"RequestRandomnessFulfilled","type":"event"},{"inputs":[],"name":"airnode","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"airnodeRrp","outputs":[{"internalType":"contract IAirnodeRrpV0","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"endpointIdUint256","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"}],"name":"fulfillUint256","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"generateLuckyNumber","outputs":[{"internalType":"bytes32","name":"requestId","type":"bytes32"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"id","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"readLuckyNumber","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"name":"requestIdToRandomStatus","outputs":[{"internalType":"uint256","name":"randomNumber","type":"uint256"},{"internalType":"uint256","name":"id","type":"uint256"},{"internalType":"bool","name":"isExist","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_airnode","type":"address"},{"internalType":"bytes32","name":"_endpointIdUint256","type":"bytes32"},{"internalType":"address payable","name":"_sponsorWallet","type":"address"}],"name":"setRequestParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sponsorWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
60a06040523480156200001157600080fd5b50604051620015ac380380620015ac833981810160405281019062000037919062000244565b80620000586200004c6200010e60201b60201c565b6200011660201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663addf027c3060016040518363ffffffff1660e01b8152600401620000ca929190620002a4565b600060405180830381600087803b158015620000e557600080fd5b505af1158015620000fa573d6000803e3d6000fd5b5050505050600060048190555050620002d1565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200020c82620001df565b9050919050565b6200021e81620001ff565b81146200022a57600080fd5b50565b6000815190506200023e8162000213565b92915050565b6000602082840312156200025d576200025c620001da565b5b60006200026d848285016200022d565b91505092915050565b6200028181620001ff565b82525050565b60008115159050919050565b6200029e8162000287565b82525050565b6000604082019050620002bb600083018562000276565b620002ca602083018462000293565b9392505050565b6080516112b1620002fb6000396000818161026e0152818161042a015261047201526112b16000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637bdf25251161008c578063a36ff4d811610066578063a36ff4d8146101f0578063af640d0f1461020e578063bf90fb4e1461022c578063f2fde38b1461024a576100cf565b80637bdf2525146101845780638da5cb5b146101a0578063a1487790146101be576100cf565b806307b9fc57146100d45780633718d90a146100f2578063715018a61461010e57806371bab6661461011857806373cfa31f1461013657806379f4fe0514610154575b600080fd5b6100dc610266565b6040516100e991906109bf565b60405180910390f35b61010c60048036038101906101079190610a75565b61026c565b005b610116610414565b005b610120610428565b60405161012d9190610b54565b60405180910390f35b61013e61044c565b60405161014b91906109bf565b60405180910390f35b61016e60048036038101906101699190610ba5565b610678565b60405161017b9190610be1565b60405180910390f35b61019e60048036038101906101999190610c78565b610690565b005b6101a8610726565b6040516101b59190610cda565b60405180910390f35b6101d860048036038101906101d39190610cf5565b61074f565b6040516101e793929190610d3d565b60405180910390f35b6101f8610786565b6040516102059190610cda565b60405180910390f35b6102166107ac565b6040516102239190610be1565b60405180910390f35b6102346107b2565b6040516102419190610d83565b60405180910390f35b610264600480360381019061025f9190610d9e565b6107d8565b005b60025481565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f190610e28565b60405180910390fd5b600115156005600085815260200190815260200160002060020160009054906101000a900460ff16151514610364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035b90610e94565b60405180910390fd5b600082828101906103759190610ba5565b905060006001620f42408361038a9190610ee3565b6103949190610f43565b90508060056000878152602001908152602001600020600001819055508060066000600560008981526020019081526020016000206001015481526020019081526020016000208190555080857f258e8aab35e09293c36892d6c2e2ee63509c0ba72c3437d609e4f30109d3f16c60405160405180910390a35050505050565b61041c61085c565b61042660006108da565b565b7f000000000000000000000000000000000000000000000000000000000000000081565b600061045661085c565b6001600460008282546104699190610f43565b925050819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16636e6be03f600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660025430600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630633718d90a60e01b7f31730000000000000000000000000000000000000000000000000000000000007f5f6d696e436f6e6669726d6174696f6e730000000000000000000000000000007f370000000000000000000000000000000000000000000000000000000000000060405160200161057493929190610f99565b6040516020818303038152906040526040518863ffffffff1660e01b81526004016105a597969594939291906110c5565b602060405180830381600087803b1580156105bf57600080fd5b505af11580156105d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f79190611150565b905060016005600083815260200190815260200160002060020160006101000a81548160ff0219169083151502179055506004546005600083815260200190815260200160002060010181905550600454817fb9cc50a2349ce7c6d17ebc9787c4df034ca880cb01ec70d27ced09a432d9057960405160405180910390a390565b60066020528060005260406000206000915090505481565b61069861085c565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160028190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60056020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107e061085c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610847906111ef565b60405180910390fd5b610859816108da565b50565b61086461099e565b73ffffffffffffffffffffffffffffffffffffffff16610882610726565b73ffffffffffffffffffffffffffffffffffffffff16146108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf9061125b565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000819050919050565b6109b9816109a6565b82525050565b60006020820190506109d460008301846109b0565b92915050565b600080fd5b600080fd5b6109ed816109a6565b81146109f857600080fd5b50565b600081359050610a0a816109e4565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610a3557610a34610a10565b5b8235905067ffffffffffffffff811115610a5257610a51610a15565b5b602083019150836001820283011115610a6e57610a6d610a1a565b5b9250929050565b600080600060408486031215610a8e57610a8d6109da565b5b6000610a9c868287016109fb565b935050602084013567ffffffffffffffff811115610abd57610abc6109df565b5b610ac986828701610a1f565b92509250509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610b1a610b15610b1084610ad5565b610af5565b610ad5565b9050919050565b6000610b2c82610aff565b9050919050565b6000610b3e82610b21565b9050919050565b610b4e81610b33565b82525050565b6000602082019050610b696000830184610b45565b92915050565b6000819050919050565b610b8281610b6f565b8114610b8d57600080fd5b50565b600081359050610b9f81610b79565b92915050565b600060208284031215610bbb57610bba6109da565b5b6000610bc984828501610b90565b91505092915050565b610bdb81610b6f565b82525050565b6000602082019050610bf66000830184610bd2565b92915050565b6000610c0782610ad5565b9050919050565b610c1781610bfc565b8114610c2257600080fd5b50565b600081359050610c3481610c0e565b92915050565b6000610c4582610ad5565b9050919050565b610c5581610c3a565b8114610c6057600080fd5b50565b600081359050610c7281610c4c565b92915050565b600080600060608486031215610c9157610c906109da565b5b6000610c9f86828701610c25565b9350506020610cb0868287016109fb565b9250506040610cc186828701610c63565b9150509250925092565b610cd481610bfc565b82525050565b6000602082019050610cef6000830184610ccb565b92915050565b600060208284031215610d0b57610d0a6109da565b5b6000610d19848285016109fb565b91505092915050565b60008115159050919050565b610d3781610d22565b82525050565b6000606082019050610d526000830186610bd2565b610d5f6020830185610bd2565b610d6c6040830184610d2e565b949350505050565b610d7d81610c3a565b82525050565b6000602082019050610d986000830184610d74565b92915050565b600060208284031215610db457610db36109da565b5b6000610dc284828501610c25565b91505092915050565b600082825260208201905092915050565b7f43616c6c6572206e6f74204169726e6f64652052525000000000000000000000600082015250565b6000610e12601683610dcb565b9150610e1d82610ddc565b602082019050919050565b60006020820190508181036000830152610e4181610e05565b9050919050565b7f52657175657374204944206e6f74206b6e6f776e000000000000000000000000600082015250565b6000610e7e601483610dcb565b9150610e8982610e48565b602082019050919050565b60006020820190508181036000830152610ead81610e71565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610eee82610b6f565b9150610ef983610b6f565b925082610f0957610f08610eb4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f4e82610b6f565b9150610f5983610b6f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610f8e57610f8d610f14565b5b828201905092915050565b6000606082019050610fae60008301866109b0565b610fbb60208301856109b0565b610fc860408301846109b0565b949350505050565b6000610fdb82610b21565b9050919050565b610feb81610fd0565b82525050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61102681610ff1565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561106657808201518184015260208101905061104b565b83811115611075576000848401525b50505050565b6000601f19601f8301169050919050565b60006110978261102c565b6110a18185611037565b93506110b1818560208601611048565b6110ba8161107b565b840191505092915050565b600060e0820190506110da600083018a610ccb565b6110e760208301896109b0565b6110f46040830188610ccb565b6111016060830187610fe2565b61110e6080830186610ccb565b61111b60a083018561101d565b81810360c083015261112d818461108c565b905098975050505050505050565b60008151905061114a816109e4565b92915050565b600060208284031215611166576111656109da565b5b60006111748482850161113b565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006111d9602683610dcb565b91506111e48261117d565b604082019050919050565b60006020820190508181036000830152611208816111cc565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611245602083610dcb565b91506112508261120f565b602082019050919050565b6000602082019050818103600083015261127481611238565b905091905056fea2646970667358221220f540156536836ac7fd56c99d882c86e3885a4ab47c704e3718e916e0bc747f0d64736f6c63430008090033000000000000000000000000a0ad79d995ddeeb18a14eaef56a549a04e3aa1bd
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637bdf25251161008c578063a36ff4d811610066578063a36ff4d8146101f0578063af640d0f1461020e578063bf90fb4e1461022c578063f2fde38b1461024a576100cf565b80637bdf2525146101845780638da5cb5b146101a0578063a1487790146101be576100cf565b806307b9fc57146100d45780633718d90a146100f2578063715018a61461010e57806371bab6661461011857806373cfa31f1461013657806379f4fe0514610154575b600080fd5b6100dc610266565b6040516100e991906109bf565b60405180910390f35b61010c60048036038101906101079190610a75565b61026c565b005b610116610414565b005b610120610428565b60405161012d9190610b54565b60405180910390f35b61013e61044c565b60405161014b91906109bf565b60405180910390f35b61016e60048036038101906101699190610ba5565b610678565b60405161017b9190610be1565b60405180910390f35b61019e60048036038101906101999190610c78565b610690565b005b6101a8610726565b6040516101b59190610cda565b60405180910390f35b6101d860048036038101906101d39190610cf5565b61074f565b6040516101e793929190610d3d565b60405180910390f35b6101f8610786565b6040516102059190610cda565b60405180910390f35b6102166107ac565b6040516102239190610be1565b60405180910390f35b6102346107b2565b6040516102419190610d83565b60405180910390f35b610264600480360381019061025f9190610d9e565b6107d8565b005b60025481565b7f000000000000000000000000a0ad79d995ddeeb18a14eaef56a549a04e3aa1bd73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff16146102fa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102f190610e28565b60405180910390fd5b600115156005600085815260200190815260200160002060020160009054906101000a900460ff16151514610364576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161035b90610e94565b60405180910390fd5b600082828101906103759190610ba5565b905060006001620f42408361038a9190610ee3565b6103949190610f43565b90508060056000878152602001908152602001600020600001819055508060066000600560008981526020019081526020016000206001015481526020019081526020016000208190555080857f258e8aab35e09293c36892d6c2e2ee63509c0ba72c3437d609e4f30109d3f16c60405160405180910390a35050505050565b61041c61085c565b61042660006108da565b565b7f000000000000000000000000a0ad79d995ddeeb18a14eaef56a549a04e3aa1bd81565b600061045661085c565b6001600460008282546104699190610f43565b925050819055507f000000000000000000000000a0ad79d995ddeeb18a14eaef56a549a04e3aa1bd73ffffffffffffffffffffffffffffffffffffffff16636e6be03f600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660025430600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1630633718d90a60e01b7f31730000000000000000000000000000000000000000000000000000000000007f5f6d696e436f6e6669726d6174696f6e730000000000000000000000000000007f370000000000000000000000000000000000000000000000000000000000000060405160200161057493929190610f99565b6040516020818303038152906040526040518863ffffffff1660e01b81526004016105a597969594939291906110c5565b602060405180830381600087803b1580156105bf57600080fd5b505af11580156105d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f79190611150565b905060016005600083815260200190815260200160002060020160006101000a81548160ff0219169083151502179055506004546005600083815260200190815260200160002060010181905550600454817fb9cc50a2349ce7c6d17ebc9787c4df034ca880cb01ec70d27ced09a432d9057960405160405180910390a390565b60066020528060005260406000206000915090505481565b61069861085c565b82600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508160028190555080600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60056020528060005260406000206000915090508060000154908060010154908060020160009054906101000a900460ff16905083565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60045481565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6107e061085c565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610850576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610847906111ef565b60405180910390fd5b610859816108da565b50565b61086461099e565b73ffffffffffffffffffffffffffffffffffffffff16610882610726565b73ffffffffffffffffffffffffffffffffffffffff16146108d8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108cf9061125b565b60405180910390fd5b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600033905090565b6000819050919050565b6109b9816109a6565b82525050565b60006020820190506109d460008301846109b0565b92915050565b600080fd5b600080fd5b6109ed816109a6565b81146109f857600080fd5b50565b600081359050610a0a816109e4565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f840112610a3557610a34610a10565b5b8235905067ffffffffffffffff811115610a5257610a51610a15565b5b602083019150836001820283011115610a6e57610a6d610a1a565b5b9250929050565b600080600060408486031215610a8e57610a8d6109da565b5b6000610a9c868287016109fb565b935050602084013567ffffffffffffffff811115610abd57610abc6109df565b5b610ac986828701610a1f565b92509250509250925092565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b6000610b1a610b15610b1084610ad5565b610af5565b610ad5565b9050919050565b6000610b2c82610aff565b9050919050565b6000610b3e82610b21565b9050919050565b610b4e81610b33565b82525050565b6000602082019050610b696000830184610b45565b92915050565b6000819050919050565b610b8281610b6f565b8114610b8d57600080fd5b50565b600081359050610b9f81610b79565b92915050565b600060208284031215610bbb57610bba6109da565b5b6000610bc984828501610b90565b91505092915050565b610bdb81610b6f565b82525050565b6000602082019050610bf66000830184610bd2565b92915050565b6000610c0782610ad5565b9050919050565b610c1781610bfc565b8114610c2257600080fd5b50565b600081359050610c3481610c0e565b92915050565b6000610c4582610ad5565b9050919050565b610c5581610c3a565b8114610c6057600080fd5b50565b600081359050610c7281610c4c565b92915050565b600080600060608486031215610c9157610c906109da565b5b6000610c9f86828701610c25565b9350506020610cb0868287016109fb565b9250506040610cc186828701610c63565b9150509250925092565b610cd481610bfc565b82525050565b6000602082019050610cef6000830184610ccb565b92915050565b600060208284031215610d0b57610d0a6109da565b5b6000610d19848285016109fb565b91505092915050565b60008115159050919050565b610d3781610d22565b82525050565b6000606082019050610d526000830186610bd2565b610d5f6020830185610bd2565b610d6c6040830184610d2e565b949350505050565b610d7d81610c3a565b82525050565b6000602082019050610d986000830184610d74565b92915050565b600060208284031215610db457610db36109da565b5b6000610dc284828501610c25565b91505092915050565b600082825260208201905092915050565b7f43616c6c6572206e6f74204169726e6f64652052525000000000000000000000600082015250565b6000610e12601683610dcb565b9150610e1d82610ddc565b602082019050919050565b60006020820190508181036000830152610e4181610e05565b9050919050565b7f52657175657374204944206e6f74206b6e6f776e000000000000000000000000600082015250565b6000610e7e601483610dcb565b9150610e8982610e48565b602082019050919050565b60006020820190508181036000830152610ead81610e71565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000610eee82610b6f565b9150610ef983610b6f565b925082610f0957610f08610eb4565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610f4e82610b6f565b9150610f5983610b6f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610f8e57610f8d610f14565b5b828201905092915050565b6000606082019050610fae60008301866109b0565b610fbb60208301856109b0565b610fc860408301846109b0565b949350505050565b6000610fdb82610b21565b9050919050565b610feb81610fd0565b82525050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61102681610ff1565b82525050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561106657808201518184015260208101905061104b565b83811115611075576000848401525b50505050565b6000601f19601f8301169050919050565b60006110978261102c565b6110a18185611037565b93506110b1818560208601611048565b6110ba8161107b565b840191505092915050565b600060e0820190506110da600083018a610ccb565b6110e760208301896109b0565b6110f46040830188610ccb565b6111016060830187610fe2565b61110e6080830186610ccb565b61111b60a083018561101d565b81810360c083015261112d818461108c565b905098975050505050505050565b60008151905061114a816109e4565b92915050565b600060208284031215611166576111656109da565b5b60006111748482850161113b565b91505092915050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006111d9602683610dcb565b91506111e48261117d565b604082019050919050565b60006020820190508181036000830152611208816111cc565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000611245602083610dcb565b91506112508261120f565b602082019050919050565b6000602082019050818103600083015261127481611238565b905091905056fea2646970667358221220f540156536836ac7fd56c99d882c86e3885a4ab47c704e3718e916e0bc747f0d64736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000a0ad79d995ddeeb18a14eaef56a549a04e3aa1bd
-----Decoded View---------------
Arg [0] : _airnodeRrp (address): 0xa0AD79D995DdeeB18a14eAef56A549A04e3Aa1Bd
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000a0ad79d995ddeeb18a14eaef56a549a04e3aa1bd
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
[ 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.