Source Code
Latest 25 from a total of 143,666 transactions
| Transaction Hash |
Method
|
Block
|
From
|
|
To
|
||||
|---|---|---|---|---|---|---|---|---|---|
| Withdraw | 19454187 | 707 days ago | IN | 0 ETH | 0.00171161 | ||||
| Set Fulfillment ... | 19319944 | 725 days ago | IN | 0 ETH | 0.00336876 | ||||
| Withdraw | 16162793 | 1168 days ago | IN | 0 ETH | 0.0004096 | ||||
| Withdraw | 13991752 | 1501 days ago | IN | 0 ETH | 0.01176163 | ||||
| Fulfill Oracle R... | 13456956 | 1585 days ago | IN | 0 ETH | 0.01272846 | ||||
| Fulfill Oracle R... | 13450724 | 1586 days ago | IN | 0 ETH | 0.02297309 | ||||
| Fulfill Oracle R... | 13444362 | 1587 days ago | IN | 0 ETH | 0.01621667 | ||||
| Fulfill Oracle R... | 13438094 | 1588 days ago | IN | 0 ETH | 0.01271203 | ||||
| Fulfill Oracle R... | 13303739 | 1609 days ago | IN | 0 ETH | 0.01095992 | ||||
| Fulfill Oracle R... | 13297424 | 1610 days ago | IN | 0 ETH | 0.00683748 | ||||
| Fulfill Oracle R... | 13291029 | 1611 days ago | IN | 0 ETH | 0.01181478 | ||||
| Fulfill Oracle R... | 13284329 | 1612 days ago | IN | 0 ETH | 0.01841994 | ||||
| Fulfill Oracle R... | 13278256 | 1613 days ago | IN | 0 ETH | 0.00856404 | ||||
| Fulfill Oracle R... | 13271573 | 1614 days ago | IN | 0 ETH | 0.05151178 | ||||
| Fulfill Oracle R... | 13264996 | 1615 days ago | IN | 0 ETH | 0.01397314 | ||||
| Fulfill Oracle R... | 13258734 | 1616 days ago | IN | 0 ETH | 0.01247005 | ||||
| Fulfill Oracle R... | 13252377 | 1617 days ago | IN | 0 ETH | 0.00809842 | ||||
| Fulfill Oracle R... | 13245702 | 1618 days ago | IN | 0 ETH | 0.01409296 | ||||
| Fulfill Oracle R... | 13239073 | 1619 days ago | IN | 0 ETH | 0.01699513 | ||||
| Fulfill Oracle R... | 13233351 | 1620 days ago | IN | 0 ETH | 0.01105629 | ||||
| Fulfill Oracle R... | 13200474 | 1625 days ago | IN | 0 ETH | 0.01856789 | ||||
| Fulfill Oracle R... | 13168404 | 1630 days ago | IN | 0 ETH | 0.02139054 | ||||
| Fulfill Oracle R... | 13161914 | 1631 days ago | IN | 0 ETH | 0.00505848 | ||||
| Fulfill Oracle R... | 13161913 | 1631 days ago | IN | 0 ETH | 0.00505848 | ||||
| Fulfill Oracle R... | 13161913 | 1631 days ago | IN | 0 ETH | 0.02909462 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions
Loading...
Loading
This contract may be a proxy contract. Click on More Options and select Is this a proxy? to confirm and enable the "Read as Proxy" & "Write as Proxy" tabs.
Contract Name:
Oracle
Compiler Version
v0.4.24+commit.e67f0147
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity)
/**
*Submitted for verification at Etherscan.io on 2019-06-28
*/
// File: openzeppelin-solidity/contracts/ownership/Ownable.sol
pragma solidity ^0.4.24;
/**
* @title Ownable
* @dev The Ownable contract has an owner address, and provides basic authorization control
* functions, this simplifies the implementation of "user permissions".
*/
contract Ownable {
address public owner;
event OwnershipRenounced(address indexed previousOwner);
event OwnershipTransferred(
address indexed previousOwner,
address indexed newOwner
);
/**
* @dev The Ownable constructor sets the original `owner` of the contract to the sender
* account.
*/
constructor() public {
owner = msg.sender;
}
/**
* @dev Throws if called by any account other than the owner.
*/
modifier onlyOwner() {
require(msg.sender == owner);
_;
}
/**
* @dev Allows the current owner to relinquish control of the contract.
* @notice Renouncing to ownership will leave the contract without an owner.
* It will not be possible to call the functions with the `onlyOwner`
* modifier anymore.
*/
function renounceOwnership() public onlyOwner {
emit OwnershipRenounced(owner);
owner = address(0);
}
/**
* @dev Allows the current owner to transfer control of the contract to a newOwner.
* @param _newOwner The address to transfer ownership to.
*/
function transferOwnership(address _newOwner) public onlyOwner {
_transferOwnership(_newOwner);
}
/**
* @dev Transfers control of the contract to a newOwner.
* @param _newOwner The address to transfer ownership to.
*/
function _transferOwnership(address _newOwner) internal {
require(_newOwner != address(0));
emit OwnershipTransferred(owner, _newOwner);
owner = _newOwner;
}
}
// File: openzeppelin-solidity/contracts/math/SafeMath.sol
pragma solidity ^0.4.24;
/**
* @title SafeMath
* @dev Math operations with safety checks that throw on error
*/
library SafeMath {
/**
* @dev Multiplies two numbers, throws on overflow.
*/
function mul(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
// Gas optimization: this is cheaper than asserting 'a' not being zero, but the
// benefit is lost if 'b' is also tested.
// See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
if (_a == 0) {
return 0;
}
c = _a * _b;
assert(c / _a == _b);
return c;
}
/**
* @dev Integer division of two numbers, truncating the quotient.
*/
function div(uint256 _a, uint256 _b) internal pure returns (uint256) {
// assert(_b > 0); // Solidity automatically throws when dividing by 0
// uint256 c = _a / _b;
// assert(_a == _b * c + _a % _b); // There is no case in which this doesn't hold
return _a / _b;
}
/**
* @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
*/
function sub(uint256 _a, uint256 _b) internal pure returns (uint256) {
assert(_b <= _a);
return _a - _b;
}
/**
* @dev Adds two numbers, throws on overflow.
*/
function add(uint256 _a, uint256 _b) internal pure returns (uint256 c) {
c = _a + _b;
assert(c >= _a);
return c;
}
}
// File: contracts/interfaces/ChainlinkRequestInterface.sol
pragma solidity 0.4.24;
interface ChainlinkRequestInterface {
function oracleRequest(
address sender,
uint256 payment,
bytes32 id,
address callbackAddress,
bytes4 callbackFunctionId,
uint256 nonce,
uint256 version,
bytes data
) external;
function cancelOracleRequest(
bytes32 requestId,
uint256 payment,
bytes4 callbackFunctionId,
uint256 expiration
) external;
}
// File: contracts/interfaces/OracleInterface.sol
pragma solidity 0.4.24;
interface OracleInterface {
function fulfillOracleRequest(
bytes32 requestId,
uint256 payment,
address callbackAddress,
bytes4 callbackFunctionId,
uint256 expiration,
bytes32 data
) external returns (bool);
function getAuthorizationStatus(address node) external view returns (bool);
function setFulfillmentPermission(address node, bool allowed) external;
function withdraw(address recipient, uint256 amount) external;
function withdrawable() external view returns (uint256);
}
// File: contracts/interfaces/LinkTokenInterface.sol
pragma solidity 0.4.24;
interface LinkTokenInterface {
function allowance(address owner, address spender) external returns (bool success);
function approve(address spender, uint256 value) external returns (bool success);
function balanceOf(address owner) external returns (uint256 balance);
function decimals() external returns (uint8 decimalPlaces);
function decreaseApproval(address spender, uint256 addedValue) external returns (bool success);
function increaseApproval(address spender, uint256 subtractedValue) external;
function name() external returns (string tokenName);
function symbol() external returns (string tokenSymbol);
function totalSupply() external returns (uint256 totalTokensIssued);
function transfer(address to, uint256 value) external returns (bool success);
function transferAndCall(address to, uint256 value, bytes data) external returns (bool success);
function transferFrom(address from, address to, uint256 value) external returns (bool success);
}
// File: contracts/Oracle.sol
pragma solidity 0.4.24;
/**
* @title The Chainlink Oracle contract
* @notice Node operators can deploy this contract to fulfill requests sent to them
*/
contract Oracle is ChainlinkRequestInterface, OracleInterface, Ownable {
using SafeMath for uint256;
uint256 constant public EXPIRY_TIME = 5 minutes;
uint256 constant private MINIMUM_CONSUMER_GAS_LIMIT = 400000;
// We initialize fields to 1 instead of 0 so that the first invocation
// does not cost more gas.
uint256 constant private ONE_FOR_CONSISTENT_GAS_COST = 1;
uint256 constant private SELECTOR_LENGTH = 4;
uint256 constant private EXPECTED_REQUEST_WORDS = 2;
// solium-disable-next-line zeppelin/no-arithmetic-operations
uint256 constant private MINIMUM_REQUEST_LENGTH = SELECTOR_LENGTH + (32 * EXPECTED_REQUEST_WORDS);
LinkTokenInterface internal LinkToken;
mapping(bytes32 => bytes32) private commitments;
mapping(address => bool) private authorizedNodes;
uint256 private withdrawableTokens = ONE_FOR_CONSISTENT_GAS_COST;
event OracleRequest(
bytes32 indexed specId,
address requester,
bytes32 requestId,
uint256 payment,
address callbackAddr,
bytes4 callbackFunctionId,
uint256 cancelExpiration,
uint256 dataVersion,
bytes data
);
event CancelOracleRequest(
bytes32 indexed requestId
);
/**
* @notice Deploy with the address of the LINK token
* @dev Sets the LinkToken address for the imported LinkTokenInterface
* @param _link The address of the LINK token
*/
constructor(address _link) Ownable() public {
LinkToken = LinkTokenInterface(_link);
}
/**
* @notice Called when LINK is sent to the contract via `transferAndCall`
* @dev The data payload's first 2 words will be overwritten by the `_sender` and `_amount`
* values to ensure correctness. Calls oracleRequest.
* @param _sender Address of the sender
* @param _amount Amount of LINK sent (specified in wei)
* @param _data Payload of the transaction
*/
function onTokenTransfer(
address _sender,
uint256 _amount,
bytes _data
)
public
onlyLINK
validRequestLength(_data)
permittedFunctionsForLINK(_data)
{
assembly {
// solium-disable-next-line security/no-low-level-calls
mstore(add(_data, 36), _sender) // ensure correct sender is passed
// solium-disable-next-line security/no-low-level-calls
mstore(add(_data, 68), _amount) // ensure correct amount is passed
}
// solium-disable-next-line security/no-low-level-calls
require(address(this).delegatecall(_data), "Unable to create request"); // calls oracleRequest
}
/**
* @notice Creates the Chainlink request
* @dev Stores the hash of the params as the on-chain commitment for the request.
* Emits OracleRequest event for the Chainlink node to detect.
* @param _sender The sender of the request
* @param _payment The amount of payment given (specified in wei)
* @param _specId The Job Specification ID
* @param _callbackAddress The callback address for the response
* @param _callbackFunctionId The callback function ID for the response
* @param _nonce The nonce sent by the requester
* @param _dataVersion The specified data version
* @param _data The CBOR payload of the request
*/
function oracleRequest(
address _sender,
uint256 _payment,
bytes32 _specId,
address _callbackAddress,
bytes4 _callbackFunctionId,
uint256 _nonce,
uint256 _dataVersion,
bytes _data
)
external
onlyLINK
checkCallbackAddress(_callbackAddress)
{
bytes32 requestId = keccak256(abi.encodePacked(_sender, _nonce));
require(commitments[requestId] == 0, "Must use a unique ID");
uint256 expiration = now.add(EXPIRY_TIME);
commitments[requestId] = keccak256(
abi.encodePacked(
_payment,
_callbackAddress,
_callbackFunctionId,
expiration
)
);
emit OracleRequest(
_specId,
_sender,
requestId,
_payment,
_callbackAddress,
_callbackFunctionId,
expiration,
_dataVersion,
_data);
}
/**
* @notice Called by the Chainlink node to fulfill requests
* @dev Given params must hash back to the commitment stored from `oracleRequest`.
* Will call the callback address' callback function without bubbling up error
* checking in a `require` so that the node can get paid.
* @param _requestId The fulfillment request ID that must match the requester's
* @param _payment The payment amount that will be released for the oracle (specified in wei)
* @param _callbackAddress The callback address to call for fulfillment
* @param _callbackFunctionId The callback function ID to use for fulfillment
* @param _expiration The expiration that the node should respond by before the requester can cancel
* @param _data The data to return to the consuming contract
* @return Status if the external call was successful
*/
function fulfillOracleRequest(
bytes32 _requestId,
uint256 _payment,
address _callbackAddress,
bytes4 _callbackFunctionId,
uint256 _expiration,
bytes32 _data
)
external
onlyAuthorizedNode
isValidRequest(_requestId)
returns (bool)
{
bytes32 paramsHash = keccak256(
abi.encodePacked(
_payment,
_callbackAddress,
_callbackFunctionId,
_expiration
)
);
require(commitments[_requestId] == paramsHash, "Params do not match request ID");
withdrawableTokens = withdrawableTokens.add(_payment);
delete commitments[_requestId];
require(gasleft() >= MINIMUM_CONSUMER_GAS_LIMIT, "Must provide consumer enough gas");
// All updates to the oracle's fulfillment should come before calling the
// callback(addr+functionId) as it is untrusted.
// See: https://solidity.readthedocs.io/en/develop/security-considerations.html#use-the-checks-effects-interactions-pattern
return _callbackAddress.call(_callbackFunctionId, _requestId, _data); // solium-disable-line security/no-low-level-calls
}
/**
* @notice Use this to check if a node is authorized for fulfilling requests
* @param _node The address of the Chainlink node
* @return The authorization status of the node
*/
function getAuthorizationStatus(address _node) external view returns (bool) {
return authorizedNodes[_node];
}
/**
* @notice Sets the fulfillment permission for a given node. Use `true` to allow, `false` to disallow.
* @param _node The address of the Chainlink node
* @param _allowed Bool value to determine if the node can fulfill requests
*/
function setFulfillmentPermission(address _node, bool _allowed) external onlyOwner {
authorizedNodes[_node] = _allowed;
}
/**
* @notice Allows the node operator to withdraw earned LINK to a given address
* @dev The owner of the contract can be another wallet and does not have to be a Chainlink node
* @param _recipient The address to send the LINK token to
* @param _amount The amount to send (specified in wei)
*/
function withdraw(address _recipient, uint256 _amount)
external
onlyOwner
hasAvailableFunds(_amount)
{
withdrawableTokens = withdrawableTokens.sub(_amount);
assert(LinkToken.transfer(_recipient, _amount));
}
/**
* @notice Displays the amount of LINK that is available for the node operator to withdraw
* @dev We use `ONE_FOR_CONSISTENT_GAS_COST` in place of 0 in storage
* @return The amount of withdrawable LINK on the contract
*/
function withdrawable() external view onlyOwner returns (uint256) {
return withdrawableTokens.sub(ONE_FOR_CONSISTENT_GAS_COST);
}
/**
* @notice Allows requesters to cancel requests sent to this oracle contract. Will transfer the LINK
* sent for the request back to the requester's address.
* @dev Given params must hash to a commitment stored on the contract in order for the request to be valid
* Emits CancelOracleRequest event.
* @param _requestId The request ID
* @param _payment The amount of payment given (specified in wei)
* @param _callbackFunc The requester's specified callback address
* @param _expiration The time of the expiration for the request
*/
function cancelOracleRequest(
bytes32 _requestId,
uint256 _payment,
bytes4 _callbackFunc,
uint256 _expiration
) external {
bytes32 paramsHash = keccak256(
abi.encodePacked(
_payment,
msg.sender,
_callbackFunc,
_expiration)
);
require(paramsHash == commitments[_requestId], "Params do not match request ID");
require(_expiration <= now, "Request is not expired");
delete commitments[_requestId];
emit CancelOracleRequest(_requestId);
assert(LinkToken.transfer(msg.sender, _payment));
}
// MODIFIERS
/**
* @dev Reverts if amount requested is greater than withdrawable balance
* @param _amount The given amount to compare to `withdrawableTokens`
*/
modifier hasAvailableFunds(uint256 _amount) {
require(withdrawableTokens >= _amount.add(ONE_FOR_CONSISTENT_GAS_COST), "Amount requested is greater than withdrawable balance");
_;
}
/**
* @dev Reverts if request ID does not exist
* @param _requestId The given request ID to check in stored `commitments`
*/
modifier isValidRequest(bytes32 _requestId) {
require(commitments[_requestId] != 0, "Must have a valid requestId");
_;
}
/**
* @dev Reverts if `msg.sender` is not authorized to fulfill requests
*/
modifier onlyAuthorizedNode() {
require(authorizedNodes[msg.sender] || msg.sender == owner, "Not an authorized node to fulfill requests");
_;
}
/**
* @dev Reverts if not sent from the LINK token
*/
modifier onlyLINK() {
require(msg.sender == address(LinkToken), "Must use LINK token");
_;
}
/**
* @dev Reverts if the given data does not begin with the `oracleRequest` function selector
* @param _data The data payload of the request
*/
modifier permittedFunctionsForLINK(bytes _data) {
bytes4 funcSelector;
assembly {
// solium-disable-next-line security/no-low-level-calls
funcSelector := mload(add(_data, 32))
}
require(funcSelector == this.oracleRequest.selector, "Must use whitelisted functions");
_;
}
/**
* @dev Reverts if the callback address is the LINK token
* @param _to The callback address
*/
modifier checkCallbackAddress(address _to) {
require(_to != address(LinkToken), "Cannot callback to LINK");
_;
}
/**
* @dev Reverts if the given payload is less than needed to create a request
* @param _data The request payload
*/
modifier validRequestLength(bytes _data) {
require(_data.length >= MINIMUM_REQUEST_LENGTH, "Invalid request length");
_;
}
}Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_payment","type":"uint256"},{"name":"_specId","type":"bytes32"},{"name":"_callbackAddress","type":"address"},{"name":"_callbackFunctionId","type":"bytes4"},{"name":"_nonce","type":"uint256"},{"name":"_dataVersion","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"oracleRequest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_requestId","type":"bytes32"},{"name":"_payment","type":"uint256"},{"name":"_callbackAddress","type":"address"},{"name":"_callbackFunctionId","type":"bytes4"},{"name":"_expiration","type":"uint256"},{"name":"_data","type":"bytes32"}],"name":"fulfillOracleRequest","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"EXPIRY_TIME","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"withdrawable","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_requestId","type":"bytes32"},{"name":"_payment","type":"uint256"},{"name":"_callbackFunc","type":"bytes4"},{"name":"_expiration","type":"uint256"}],"name":"cancelOracleRequest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_node","type":"address"},{"name":"_allowed","type":"bool"}],"name":"setFulfillmentPermission","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_sender","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_data","type":"bytes"}],"name":"onTokenTransfer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_node","type":"address"}],"name":"getAuthorizationStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_recipient","type":"address"},{"name":"_amount","type":"uint256"}],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"_link","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"specId","type":"bytes32"},{"indexed":false,"name":"requester","type":"address"},{"indexed":false,"name":"requestId","type":"bytes32"},{"indexed":false,"name":"payment","type":"uint256"},{"indexed":false,"name":"callbackAddr","type":"address"},{"indexed":false,"name":"callbackFunctionId","type":"bytes4"},{"indexed":false,"name":"cancelExpiration","type":"uint256"},{"indexed":false,"name":"dataVersion","type":"uint256"},{"indexed":false,"name":"data","type":"bytes"}],"name":"OracleRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"requestId","type":"bytes32"}],"name":"CancelOracleRequest","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]Contract Creation Code
6080604052600160045534801561001557600080fd5b50604051602080611215833981016040525160008054600160a060020a0319908116331790915560018054600160a060020a03909316929091169190911790556111b1806100646000396000f3006080604052600436106100b95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634042994681146100be5780634ab0d190146101115780634b6022821461015f57806350188301146101865780636ee4d5531461019b578063715018a6146101c65780637fcd56db146101db5780638da5cb5b14610201578063a4c0ed3614610232578063d3e9c3141461029b578063f2fde38b146102bc578063f3fef3a3146102dd575b600080fd5b3480156100ca57600080fd5b5061010f600160a060020a03600480358216916024803592604435926064351691600160e060020a0319608435169160a4359160c4359160e435918201910135610301565b005b34801561011d57600080fd5b5061014b600435602435600160a060020a0360443516600160e060020a03196064351660843560a4356106c5565b604080519115158252519081900360200190f35b34801561016b57600080fd5b506101746109d8565b60408051918252519081900360200190f35b34801561019257600080fd5b506101746109de565b3480156101a757600080fd5b5061010f600435602435600160e060020a031960443516606435610a0f565b3480156101d257600080fd5b5061010f610c55565b3480156101e757600080fd5b5061010f600160a060020a03600435166024351515610cc1565b34801561020d57600080fd5b50610216610d03565b60408051600160a060020a039092168252519081900360200190f35b34801561023e57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261010f948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610d129650505050505050565b3480156102a757600080fd5b5061014b600160a060020a0360043516610f37565b3480156102c857600080fd5b5061010f600160a060020a0360043516610f55565b3480156102e957600080fd5b5061010f600160a060020a0360043516602435610f78565b6001546000908190600160a060020a03163314610368576040805160e560020a62461bcd02815260206004820152601360248201527f4d75737420757365204c494e4b20746f6b656e00000000000000000000000000604482015290519081900360640190fd5b6001548890600160a060020a03808316911614156103d0576040805160e560020a62461bcd02815260206004820152601760248201527f43616e6e6f742063616c6c6261636b20746f204c494e4b000000000000000000604482015290519081900360640190fd5b8b876040516020018083600160a060020a0316600160a060020a03166c01000000000000000000000000028152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106104485780518252601f199092019160209182019101610429565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000818152600290925292902054919650501591506104db9050576040805160e560020a62461bcd02815260206004820152601460248201527f4d75737420757365206120756e69717565204944000000000000000000000000604482015290519081900360640190fd5b6104ed4261012c63ffffffff6110e316565b6040805160208082018f90526c01000000000000000000000000600160a060020a038e160282840152600160e060020a03198c1660548301526058808301859052835180840390910181526078909201928390528151939550909282918401908083835b602083106105705780518252601f199092019160209182019101610551565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600260008560001916600019168152602001908152602001600020816000191690555089600019167fd8d7ecc4800d25fa53ce0372f13a416d98907a7ef3d8d3bdd79cf4fe75529c658d858e8d8d888d8d8d604051808a600160a060020a0316600160a060020a03168152602001896000191660001916815260200188815260200187600160a060020a0316600160a060020a03168152602001867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200185815260200184815260200180602001828103825284848281815260200192508082843760405192018290039c50909a5050505050505050505050a2505050505050505050505050565b33600090815260036020526040812054819060ff16806106ef5750600054600160a060020a031633145b151561076b576040805160e560020a62461bcd02815260206004820152602a60248201527f4e6f7420616e20617574686f72697a6564206e6f646520746f2066756c66696c60448201527f6c20726571756573747300000000000000000000000000000000000000000000606482015290519081900360840190fd5b600088815260026020526040902054889015156107d2576040805160e560020a62461bcd02815260206004820152601b60248201527f4d757374206861766520612076616c6964207265717565737449640000000000604482015290519081900360640190fd5b6040805160208082018b90526c01000000000000000000000000600160a060020a038b160282840152600160e060020a031989166054830152605880830189905283518084039091018152607890920192839052815191929182918401908083835b602083106108535780518252601f199092019160209182019101610834565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008f815260029092529290205491955050841491506108e79050576040805160e560020a62461bcd02815260206004820152601e60248201527f506172616d7320646f206e6f74206d6174636820726571756573742049440000604482015290519081900360640190fd5b6004546108fa908963ffffffff6110e316565b60045560008981526002602052604081205562061a805a1015610967576040805160e560020a62461bcd02815260206004820181905260248201527f4d7573742070726f7669646520636f6e73756d657220656e6f75676820676173604482015290519081900360640190fd5b6040805163ffffffff7c0100000000000000000000000000000000000000000000000000000000808a04918216028252600482018c9052602482018790529151600160a060020a038a169291604480820192600092909190829003018183875af19c9b505050505050505050505050565b61012c81565b60008054600160a060020a031633146109f657600080fd5b600454610a0a90600163ffffffff6110f616565b905090565b6040805160208082018690526c01000000000000000000000000330282840152600160e060020a0319851660548301526058808301859052835180840390910181526078909201928390528151600093918291908401908083835b60208310610a895780518252601f199092019160209182019101610a6a565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008b81526002909252929020549194505083149150610b1d9050576040805160e560020a62461bcd02815260206004820152601e60248201527f506172616d7320646f206e6f74206d6174636820726571756573742049440000604482015290519081900360640190fd5b42821115610b75576040805160e560020a62461bcd02815260206004820152601660248201527f52657175657374206973206e6f74206578706972656400000000000000000000604482015290519081900360640190fd5b6000858152600260205260408082208290555186917fa7842b9ec549398102c0d91b1b9919b2f20558aefdadf57528a95c6cd3292e9391a2600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018790529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b158015610c1a57600080fd5b505af1158015610c2e573d6000803e3d6000fd5b505050506040513d6020811015610c4457600080fd5b50511515610c4e57fe5b5050505050565b600054600160a060020a03163314610c6c57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a03163314610cd857600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600054600160a060020a031681565b600154600160a060020a03163314610d74576040805160e560020a62461bcd02815260206004820152601360248201527f4d75737420757365204c494e4b20746f6b656e00000000000000000000000000604482015290519081900360640190fd5b8051819060441115610dd0576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c69642072657175657374206c656e67746800000000000000000000604482015290519081900360640190fd5b60208201518290600160e060020a031981167f404299460000000000000000000000000000000000000000000000000000000014610e58576040805160e560020a62461bcd02815260206004820152601e60248201527f4d757374207573652077686974656c69737465642066756e6374696f6e730000604482015290519081900360640190fd5b85602485015284604485015230600160a060020a03168460405180828051906020019080838360005b83811015610e99578181015183820152602001610e81565b50505050905090810190601f168015610ec65780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af49150501515610f2f576040805160e560020a62461bcd02815260206004820152601860248201527f556e61626c6520746f2063726561746520726571756573740000000000000000604482015290519081900360640190fd5b505050505050565b600160a060020a031660009081526003602052604090205460ff1690565b600054600160a060020a03163314610f6c57600080fd5b610f7581611108565b50565b600054600160a060020a03163314610f8f57600080fd5b80610fa181600163ffffffff6110e316565b6004541015611020576040805160e560020a62461bcd02815260206004820152603560248201527f416d6f756e74207265717565737465642069732067726561746572207468616e60448201527f20776974686472617761626c652062616c616e63650000000000000000000000606482015290519081900360840190fd5b600454611033908363ffffffff6110f616565b6004908155600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0387811694820194909452602481018690529051929091169163a9059cbb916044808201926020929091908290030181600087803b1580156110aa57600080fd5b505af11580156110be573d6000803e3d6000fd5b505050506040513d60208110156110d457600080fd5b505115156110de57fe5b505050565b818101828110156110f057fe5b92915050565b60008282111561110257fe5b50900390565b600160a060020a038116151561111d57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582061060c39ff9573ae8a43e19afb5f4f8a741e02f0c65236909c348cf2067a337d0029000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca
Deployed Bytecode
0x6080604052600436106100b95763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416634042994681146100be5780634ab0d190146101115780634b6022821461015f57806350188301146101865780636ee4d5531461019b578063715018a6146101c65780637fcd56db146101db5780638da5cb5b14610201578063a4c0ed3614610232578063d3e9c3141461029b578063f2fde38b146102bc578063f3fef3a3146102dd575b600080fd5b3480156100ca57600080fd5b5061010f600160a060020a03600480358216916024803592604435926064351691600160e060020a0319608435169160a4359160c4359160e435918201910135610301565b005b34801561011d57600080fd5b5061014b600435602435600160a060020a0360443516600160e060020a03196064351660843560a4356106c5565b604080519115158252519081900360200190f35b34801561016b57600080fd5b506101746109d8565b60408051918252519081900360200190f35b34801561019257600080fd5b506101746109de565b3480156101a757600080fd5b5061010f600435602435600160e060020a031960443516606435610a0f565b3480156101d257600080fd5b5061010f610c55565b3480156101e757600080fd5b5061010f600160a060020a03600435166024351515610cc1565b34801561020d57600080fd5b50610216610d03565b60408051600160a060020a039092168252519081900360200190f35b34801561023e57600080fd5b50604080516020600460443581810135601f810184900484028501840190955284845261010f948235600160a060020a0316946024803595369594606494920191908190840183828082843750949750610d129650505050505050565b3480156102a757600080fd5b5061014b600160a060020a0360043516610f37565b3480156102c857600080fd5b5061010f600160a060020a0360043516610f55565b3480156102e957600080fd5b5061010f600160a060020a0360043516602435610f78565b6001546000908190600160a060020a03163314610368576040805160e560020a62461bcd02815260206004820152601360248201527f4d75737420757365204c494e4b20746f6b656e00000000000000000000000000604482015290519081900360640190fd5b6001548890600160a060020a03808316911614156103d0576040805160e560020a62461bcd02815260206004820152601760248201527f43616e6e6f742063616c6c6261636b20746f204c494e4b000000000000000000604482015290519081900360640190fd5b8b876040516020018083600160a060020a0316600160a060020a03166c01000000000000000000000000028152601401828152602001925050506040516020818303038152906040526040518082805190602001908083835b602083106104485780518252601f199092019160209182019101610429565b51815160209384036101000a600019018019909216911617905260408051929094018290039091206000818152600290925292902054919650501591506104db9050576040805160e560020a62461bcd02815260206004820152601460248201527f4d75737420757365206120756e69717565204944000000000000000000000000604482015290519081900360640190fd5b6104ed4261012c63ffffffff6110e316565b6040805160208082018f90526c01000000000000000000000000600160a060020a038e160282840152600160e060020a03198c1660548301526058808301859052835180840390910181526078909201928390528151939550909282918401908083835b602083106105705780518252601f199092019160209182019101610551565b6001836020036101000a0380198251168184511680821785525050505050509050019150506040518091039020600260008560001916600019168152602001908152602001600020816000191690555089600019167fd8d7ecc4800d25fa53ce0372f13a416d98907a7ef3d8d3bdd79cf4fe75529c658d858e8d8d888d8d8d604051808a600160a060020a0316600160a060020a03168152602001896000191660001916815260200188815260200187600160a060020a0316600160a060020a03168152602001867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200185815260200184815260200180602001828103825284848281815260200192508082843760405192018290039c50909a5050505050505050505050a2505050505050505050505050565b33600090815260036020526040812054819060ff16806106ef5750600054600160a060020a031633145b151561076b576040805160e560020a62461bcd02815260206004820152602a60248201527f4e6f7420616e20617574686f72697a6564206e6f646520746f2066756c66696c60448201527f6c20726571756573747300000000000000000000000000000000000000000000606482015290519081900360840190fd5b600088815260026020526040902054889015156107d2576040805160e560020a62461bcd02815260206004820152601b60248201527f4d757374206861766520612076616c6964207265717565737449640000000000604482015290519081900360640190fd5b6040805160208082018b90526c01000000000000000000000000600160a060020a038b160282840152600160e060020a031989166054830152605880830189905283518084039091018152607890920192839052815191929182918401908083835b602083106108535780518252601f199092019160209182019101610834565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008f815260029092529290205491955050841491506108e79050576040805160e560020a62461bcd02815260206004820152601e60248201527f506172616d7320646f206e6f74206d6174636820726571756573742049440000604482015290519081900360640190fd5b6004546108fa908963ffffffff6110e316565b60045560008981526002602052604081205562061a805a1015610967576040805160e560020a62461bcd02815260206004820181905260248201527f4d7573742070726f7669646520636f6e73756d657220656e6f75676820676173604482015290519081900360640190fd5b6040805163ffffffff7c0100000000000000000000000000000000000000000000000000000000808a04918216028252600482018c9052602482018790529151600160a060020a038a169291604480820192600092909190829003018183875af19c9b505050505050505050505050565b61012c81565b60008054600160a060020a031633146109f657600080fd5b600454610a0a90600163ffffffff6110f616565b905090565b6040805160208082018690526c01000000000000000000000000330282840152600160e060020a0319851660548301526058808301859052835180840390910181526078909201928390528151600093918291908401908083835b60208310610a895780518252601f199092019160209182019101610a6a565b51815160209384036101000a6000190180199092169116179052604080519290940182900390912060008b81526002909252929020549194505083149150610b1d9050576040805160e560020a62461bcd02815260206004820152601e60248201527f506172616d7320646f206e6f74206d6174636820726571756573742049440000604482015290519081900360640190fd5b42821115610b75576040805160e560020a62461bcd02815260206004820152601660248201527f52657175657374206973206e6f74206578706972656400000000000000000000604482015290519081900360640190fd5b6000858152600260205260408082208290555186917fa7842b9ec549398102c0d91b1b9919b2f20558aefdadf57528a95c6cd3292e9391a2600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152336004820152602481018790529051600160a060020a039092169163a9059cbb916044808201926020929091908290030181600087803b158015610c1a57600080fd5b505af1158015610c2e573d6000803e3d6000fd5b505050506040513d6020811015610c4457600080fd5b50511515610c4e57fe5b5050505050565b600054600160a060020a03163314610c6c57600080fd5b60008054604051600160a060020a03909116917ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482091a26000805473ffffffffffffffffffffffffffffffffffffffff19169055565b600054600160a060020a03163314610cd857600080fd5b600160a060020a03919091166000908152600360205260409020805460ff1916911515919091179055565b600054600160a060020a031681565b600154600160a060020a03163314610d74576040805160e560020a62461bcd02815260206004820152601360248201527f4d75737420757365204c494e4b20746f6b656e00000000000000000000000000604482015290519081900360640190fd5b8051819060441115610dd0576040805160e560020a62461bcd02815260206004820152601660248201527f496e76616c69642072657175657374206c656e67746800000000000000000000604482015290519081900360640190fd5b60208201518290600160e060020a031981167f404299460000000000000000000000000000000000000000000000000000000014610e58576040805160e560020a62461bcd02815260206004820152601e60248201527f4d757374207573652077686974656c69737465642066756e6374696f6e730000604482015290519081900360640190fd5b85602485015284604485015230600160a060020a03168460405180828051906020019080838360005b83811015610e99578181015183820152602001610e81565b50505050905090810190601f168015610ec65780820380516001836020036101000a031916815260200191505b50915050600060405180830381855af49150501515610f2f576040805160e560020a62461bcd02815260206004820152601860248201527f556e61626c6520746f2063726561746520726571756573740000000000000000604482015290519081900360640190fd5b505050505050565b600160a060020a031660009081526003602052604090205460ff1690565b600054600160a060020a03163314610f6c57600080fd5b610f7581611108565b50565b600054600160a060020a03163314610f8f57600080fd5b80610fa181600163ffffffff6110e316565b6004541015611020576040805160e560020a62461bcd02815260206004820152603560248201527f416d6f756e74207265717565737465642069732067726561746572207468616e60448201527f20776974686472617761626c652062616c616e63650000000000000000000000606482015290519081900360840190fd5b600454611033908363ffffffff6110f616565b6004908155600154604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0387811694820194909452602481018690529051929091169163a9059cbb916044808201926020929091908290030181600087803b1580156110aa57600080fd5b505af11580156110be573d6000803e3d6000fd5b505050506040513d60208110156110d457600080fd5b505115156110de57fe5b505050565b818101828110156110f057fe5b92915050565b60008282111561110257fe5b50900390565b600160a060020a038116151561111d57600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03929092169190911790555600a165627a7a7230582061060c39ff9573ae8a43e19afb5f4f8a741e02f0c65236909c348cf2067a337d0029
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca
-----Decoded View---------------
Arg [0] : _link (address): 0x514910771AF9Ca656af840dff83E8264EcF986CA
-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000514910771af9ca656af840dff83e8264ecf986ca
Deployed Bytecode Sourcemap
5702:11024:0:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8935:875;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;8935:875:0;-1:-1:-1;;;;;8935:875:0;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;8935:875:0;;;;;;;;;;;;;;;;;;;;;;10683:1131;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;10683:1131:0;;;;;-1:-1:-1;;;;;10683:1131:0;;;-1:-1:-1;;;;;;10683:1131:0;;;;;;;;;;;;;;;;;;;;;;;;;;;5811:47;;8:9:-1;5:2;;;30:1;27;20:12;5:2;5811:47:0;;;;;;;;;;;;;;;;;;;;13333:137;;8:9:-1;5:2;;;30:1;27;20:12;5:2;13333:137:0;;;;14049:592;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;14049:592:0;;;;;-1:-1:-1;;;;;;14049:592:0;;;;;;;1108:114;;8:9:-1;5:2;;;30:1;27;20:12;5:2;1108:114:0;;;;12394:129;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12394:129:0;-1:-1:-1;;;;;12394:129:0;;;;;;;;;313:20;;8:9:-1;5:2;;;30:1;27;20:12;5:2;313:20:0;;;;;;;;-1:-1:-1;;;;;313:20:0;;;;;;;;;;;;;;7602:657;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;7602:657:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7602:657:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;7602:657:0;;-1:-1:-1;7602:657:0;;-1:-1:-1;;;;;;;7602:657:0;12018:118;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12018:118:0;-1:-1:-1;;;;;12018:118:0;;;;;1390:105;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;1390:105:0;-1:-1:-1;;;;;1390:105:0;;;;;12846:238;;8:9:-1;5:2;;;30:1;27;20:12;5:2;-1:-1;12846:238:0;-1:-1:-1;;;;;12846:238:0;;;;;;;8935:875;15677:9;;9242:17;;;;-1:-1:-1;;;;;15677:9:0;15655:10;:32;15647:64;;;;;-1:-1:-1;;;;;15647:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16395:9;;9214:16;;-1:-1:-1;;;;;16380:25:0;;;16395:9;;16380:25;;16372:61;;;;;-1:-1:-1;;;;;16372:61:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9289:7;9298:6;9272:33;;;;;;-1:-1:-1;;;;;9272:33:0;-1:-1:-1;;;;;9272:33:0;;;;;;;;;;;;;;;;;;49:4:-1;39:7;30;26:21;22:32;13:7;6:49;9272:33:0;;;9262:44;;;;;;;;;;;;;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;9262:44:0;;;;;;;;;;;;;-1:-1:-1;9321:22:0;;;:11;:22;;;;;;;9262:44;;-1:-1:-1;;9321:27:0;;-1:-1:-1;9313:60:0;;-1:-1:-1;9313:60:0;;;;-1:-1:-1;;;;;9313:60:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;9401:20;:3;5849:9;9401:20;:7;:20;:::i;:::-;9473:122;;;;;;;;;;;-1:-1:-1;;;;;9473:122:0;;;;;;;-1:-1:-1;;;;;;9473:122:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;9473:122:0;;;;;;;;9455:147;;9380:41;;-1:-1:-1;9473:122:0;;;;9455:147;;;;9473:122;9455:147;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;274:1;267:3;263:2;259:12;254:3;250:22;246:30;315:4;311:9;305:3;299:10;295:26;356:4;350:3;344:10;340:21;389:7;380;377:20;372:3;365:33;3:399;;;9455:147:0;;;;;;;;;;;;;;;;9430:11;:22;9442:9;9430:22;;;;;;;;;;;;;;;;;:172;;;;;;;9638:7;9616:188;;;;9654:7;9670:9;9688:8;9705:16;9730:19;9758:10;9777:12;9798:5;;9616:188;;;;-1:-1:-1;;;;;9616:188:0;-1:-1:-1;;;;;9616:188:0;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9616:188:0;-1:-1:-1;;;;;9616:188:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;9616:188:0;;-1:-1:-1;;;;;;;;;;;9616:188:0;15718:1;8935:875;;;;;;;;;;;:::o;10683:1131::-;15454:10;10960:4;15438:27;;;:15;:27;;;;;;10960:4;;15438:27;;;:50;;-1:-1:-1;15483:5:0;;-1:-1:-1;;;;;15483:5:0;15469:10;:19;15438:50;15430:105;;;;;;;-1:-1:-1;;;;;15430:105:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15226:23;;;;:11;:23;;;;;;10934:10;;15226:28;;15218:68;;;;;-1:-1:-1;;;;;15218:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11015:123;;;;;;;;;;;-1:-1:-1;;;;;11015:123:0;;;;;;;-1:-1:-1;;;;;;11015:123:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;11015:123:0;;;;;;;;10997:148;;11015:123;;;;;10997:148;;;;11015:123;10997:148;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;10997:148:0;;;;;;;;;;;;;-1:-1:-1;11160:23:0;;;:11;:23;;;;;;;10997:148;;-1:-1:-1;;11160:37:0;;;-1:-1:-1;11152:80:0;;-1:-1:-1;11152:80:0;;;;-1:-1:-1;;;;;11152:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;11260:18;;:32;;11283:8;11260:32;:22;:32;:::i;:::-;11239:18;:53;11306:23;;;;:11;:23;;;;;11299:30;5917:6;11344:9;:39;;11336:84;;;;;-1:-1:-1;;;;;11336:84:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11696:61;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11696:21:0;;;:61;;;;;;;;;;;;;;;;;:21;:61;;;10683:1131;-1:-1:-1;;;;;;;;;;;;10683:1131:0:o;5811:47::-;5849:9;5811:47;:::o;13333:137::-;13390:7;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;13413:18;;:51;;6087:1;13413:51;:22;:51;:::i;:::-;13406:58;;13333:137;:::o;14049:592::-;14239:103;;;;;;;;;;;14285:10;14239:103;;;;;-1:-1:-1;;;;;;14239:103:0;;;;;;;;;;;;;;;26:21:-1;;;22:32;;;6:49;;14239:103:0;;;;;;;;14221:128;;14200:18;;14239:103;;;14221:128;;;;;14239:103;14221:128;36:153:-1;66:2;58:11;;36:153;;176:10;;164:23;;-1:-1;;139:12;;;;98:2;89:12;;;;114;36:153;;;299:10;344;;263:2;259:12;;;254:3;250:22;-1:-1;;246:30;311:9;;295:26;;;340:21;;377:20;365:33;;14221:128:0;;;;;;;;;;;;;-1:-1:-1;14378:23:0;;;:11;:23;;;;;;;14221:128;;-1:-1:-1;;14364:37:0;;;-1:-1:-1;14356:80:0;;-1:-1:-1;14356:80:0;;;;-1:-1:-1;;;;;14356:80:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14466:3;14451:18;;;14443:53;;;;;-1:-1:-1;;;;;14443:53:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;14512:23;;;;:11;:23;;;;;;14505:30;;;14547:31;14524:10;;14547:31;;;14594:9;;:40;;;;;;14613:10;14594:40;;;;;;;;;;;;-1:-1:-1;;;;;14594:9:0;;;;:18;;:40;;;;;;;;;;;;;;;:9;;:40;;;5:2:-1;;;;30:1;27;20:12;5:2;14594:40:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;14594:40:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;14594:40:0;14587:48;;;;;;14049:592;;;;;:::o;1108:114::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;1185:5;;;1166:25;;-1:-1:-1;;;;;1185:5:0;;;;1166:25;;;1214:1;1198:18;;-1:-1:-1;;1198:18:0;;;1108:114::o;12394:129::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;-1:-1:-1;;;;;12484:22:0;;;;;;;;:15;:22;;;;;:33;;-1:-1:-1;;12484:33:0;;;;;;;;;;12394:129::o;313:20::-;;;-1:-1:-1;;;;;313:20:0;;:::o;7602:657::-;15677:9;;-1:-1:-1;;;;;15677:9:0;15655:10;:32;15647:64;;;;;-1:-1:-1;;;;;15647:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16642:12;;7744:5;;6313:47;-1:-1:-1;16642:38:0;16634:73;;;;;-1:-1:-1;;;;;16634:73:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16086:2;16075:14;;16069:21;7782:5;;-1:-1:-1;;;;;;16111:43:0;;16127:27;16111:43;16103:86;;;;;-1:-1:-1;;;;;16103:86:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;7903:7;7898:2;7891:5;7887:14;7880:31;8040:7;8035:2;8028:5;8024:14;8017:31;8176:4;-1:-1:-1;;;;;8168:26:0;8195:5;8168:33;;;;;;;;;;;;;23:1:-1;8:100;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;8168:33:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8160:70;;;;;;;-1:-1:-1;;;;;8160:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;16714:1;;15718;7602:657;;;:::o;12018:118::-;-1:-1:-1;;;;;12108:22:0;12088:4;12108:22;;;:15;:22;;;;;;;;;12018:118::o;1390:105::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;1460:29;1479:9;1460:18;:29::i;:::-;1390:105;:::o;12846:238::-;816:5;;-1:-1:-1;;;;;816:5:0;802:10;:19;794:28;;;;;;12953:7;14909:40;12953:7;6087:1;14909:40;:11;:40;:::i;:::-;14887:18;;:62;;14879:128;;;;;-1:-1:-1;;;;;14879:128:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12993:18;;:31;;13016:7;12993:31;:22;:31;:::i;:::-;12972:18;:52;;;13038:9;;:39;;;;;;-1:-1:-1;;;;;13038:39:0;;;;;;;;;;;;;;;;;;:9;;;;;:18;;:39;;;;;;;;;;;;;;;:9;;:39;;;5:2:-1;;;;30:1;27;20:12;5:2;13038:39:0;;;;8:9:-1;5:2;;;45:16;42:1;39;24:38;77:16;74:1;67:27;5:2;13038:39:0;;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;13038:39:0;13031:47;;;;;;829:1;12846:238;;:::o;3164:132::-;3246:7;;;3267;;;;3260:15;;;;3164:132;;;;:::o;2978:119::-;3038:7;3061:8;;;;3054:16;;;;-1:-1:-1;3084:7:0;;;2978:119::o;1636:175::-;-1:-1:-1;;;;;1707:23:0;;;;1699:32;;;;;;1764:5;;;1743:38;;-1:-1:-1;;;;;1743:38:0;;;;1764:5;;;1743:38;;;1788:5;:17;;-1:-1:-1;;1788:17:0;-1:-1:-1;;;;;1788:17:0;;;;;;;;;;1636:175::o
Swarm Source
bzzr://61060c39ff9573ae8a43e19afb5f4f8a741e02f0c65236909c348cf2067a337d
Loading...
Loading
Loading...
Loading
Net Worth in USD
$457.96
Net Worth in ETH
0.23324
Token Allocations
LINK
100.00%
Multichain Portfolio | 34 Chains
| Chain | Token | Portfolio % | Price | Amount | Value |
|---|---|---|---|---|---|
| ETH | 100.00% | $8.78 | 52.16 | $457.96 |
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.