Overview
ETH Balance
0 ETH
Eth Value
$0.00More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 288 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Claim Share | 18215008 | 320 days ago | IN | 0.005 ETH | 0.00127019 | ||||
Claim Share | 18203216 | 322 days ago | IN | 0.005 ETH | 0.00052871 | ||||
Claim Share | 18177837 | 325 days ago | IN | 0.005 ETH | 0.00111728 | ||||
Claim Share | 18174560 | 326 days ago | IN | 0.005 ETH | 0.0007794 | ||||
Claim Share | 18174388 | 326 days ago | IN | 0.005 ETH | 0.00072409 | ||||
Claim Share | 18164861 | 327 days ago | IN | 0.005 ETH | 0.00206456 | ||||
Claim Share | 18164855 | 327 days ago | IN | 0.005 ETH | 0.00191042 | ||||
Claim Share | 18155156 | 328 days ago | IN | 0.005 ETH | 0.00065358 | ||||
Claim Share | 18148614 | 329 days ago | IN | 0.005 ETH | 0.00066786 | ||||
Claim Share | 18147376 | 329 days ago | IN | 0.005 ETH | 0.00063956 | ||||
Claim Share | 18144091 | 330 days ago | IN | 0.005 ETH | 0.00110867 | ||||
Claim Share | 18136670 | 331 days ago | IN | 0.005 ETH | 0.00182558 | ||||
Claim Share | 18130196 | 332 days ago | IN | 0.005 ETH | 0.00104146 | ||||
Claim Share | 18124287 | 333 days ago | IN | 0.005 ETH | 0.00065445 | ||||
Claim Share | 18110859 | 335 days ago | IN | 0.005 ETH | 0.00062486 | ||||
Claim Share | 18099442 | 336 days ago | IN | 0.005 ETH | 0.00081184 | ||||
Claim Share | 18094790 | 337 days ago | IN | 0.005 ETH | 0.00088066 | ||||
Claim Share | 18070956 | 340 days ago | IN | 0.005 ETH | 0.00117894 | ||||
Clear Stuck Toke... | 18069773 | 340 days ago | IN | 0 ETH | 0.00064482 | ||||
Set Dev Address | 18069771 | 340 days ago | IN | 0 ETH | 0.00027808 | ||||
Distribute Share | 18068525 | 340 days ago | IN | 0 ETH | 0.00133942 | ||||
Claim Share | 18068523 | 340 days ago | IN | 0.005 ETH | 0.0007461 | ||||
Distribute Share | 18067720 | 341 days ago | IN | 0 ETH | 0.00149549 | ||||
Claim Share | 18067719 | 341 days ago | IN | 0.005 ETH | 0.00082747 | ||||
Distribute Share | 18052715 | 343 days ago | IN | 0 ETH | 0.00122724 |
Latest 25 internal transactions (View All)
Advanced mode:
Parent Transaction Hash | Block | From | To | |||
---|---|---|---|---|---|---|
18215008 | 320 days ago | 0.001 ETH | ||||
18215008 | 320 days ago | 0.004 ETH | ||||
18203216 | 322 days ago | 0.001 ETH | ||||
18203216 | 322 days ago | 0.004 ETH | ||||
18177837 | 325 days ago | 0.001 ETH | ||||
18177837 | 325 days ago | 0.004 ETH | ||||
18174560 | 326 days ago | 0.001 ETH | ||||
18174560 | 326 days ago | 0.004 ETH | ||||
18174388 | 326 days ago | 0.001 ETH | ||||
18174388 | 326 days ago | 0.004 ETH | ||||
18164861 | 327 days ago | 0.001 ETH | ||||
18164861 | 327 days ago | 0.004 ETH | ||||
18164855 | 327 days ago | 0.001 ETH | ||||
18164855 | 327 days ago | 0.004 ETH | ||||
18155156 | 328 days ago | 0.001 ETH | ||||
18155156 | 328 days ago | 0.004 ETH | ||||
18148614 | 329 days ago | 0.001 ETH | ||||
18148614 | 329 days ago | 0.004 ETH | ||||
18147376 | 329 days ago | 0.001 ETH | ||||
18147376 | 329 days ago | 0.004 ETH | ||||
18144091 | 330 days ago | 0.001 ETH | ||||
18144091 | 330 days ago | 0.004 ETH | ||||
18136670 | 331 days ago | 0.001 ETH | ||||
18136670 | 331 days ago | 0.004 ETH | ||||
18130196 | 332 days ago | 0.001 ETH |
Loading...
Loading
Contract Name:
BTMDashboard
Compiler Version
v0.8.9+commit.e5eed63a
Contract Source Code (Solidity)
/** *Submitted for verification at Etherscan.io on 2023-08-04 */ //SPDX-License-Identifier: MIT pragma solidity ^0.8.0; /** * SAFEMATH LIBRARY */ library SafeMath { function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { uint256 c = a + b; if (c < a) return (false, 0); return (true, c); } } function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b > a) return (false, 0); return (true, a - b); } } function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { // Gas optimization: this is cheaper than requiring 'a' not being zero, but the // benefit is lost if 'b' is also tested. // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 if (a == 0) return (true, 0); uint256 c = a * b; if (c / a != b) return (false, 0); return (true, c); } } function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a / b); } } function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { unchecked { if (b == 0) return (false, 0); return (true, a % b); } } function add(uint256 a, uint256 b) internal pure returns (uint256) { return a + b; } function sub(uint256 a, uint256 b) internal pure returns (uint256) { return a - b; } function mul(uint256 a, uint256 b) internal pure returns (uint256) { return a * b; } function div(uint256 a, uint256 b) internal pure returns (uint256) { return a / b; } function mod(uint256 a, uint256 b) internal pure returns (uint256) { return a % b; } function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b <= a, errorMessage); return a - b; } } function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a / b; } } function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { unchecked { require(b > 0, errorMessage); return a % b; } } } /** * @dev Interface of the ERC20 standard as defined in the EIP. */ interface IERC20 { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); function decimals() external view returns (uint8); /** * @dev Returns the amount of tokens owned by `account`. */ function balanceOf(address account) external view returns (uint256); /** * @dev Moves `amount` tokens from the caller's account to `recipient`. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transfer(address recipient, uint256 amount) external returns (bool); /** * @dev Returns the remaining number of tokens that `spender` will be * allowed to spend on behalf of `owner` through {transferFrom}. This is * zero by default. * * This value changes when {approve} or {transferFrom} are called. */ function allowance(address owner, address spender) external view returns (uint256); /** * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. * * Returns a boolean value indicating whether the operation succeeded. * * IMPORTANT: Beware that changing an allowance with this method brings the risk * that someone may use both the old and the new allowance by unfortunate * transaction ordering. One possible solution to mitigate this race * condition is to first reduce the spender's allowance to 0 and set the * desired value afterwards: * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 * * Emits an {Approval} event. */ function approve(address spender, uint256 amount) external returns (bool); /** * @dev Moves `amount` tokens from `sender` to `recipient` using the * allowance mechanism. `amount` is then deducted from the caller's * allowance. * * Returns a boolean value indicating whether the operation succeeded. * * Emits a {Transfer} event. */ function transferFrom( address sender, address recipient, uint256 amount ) external returns (bool); /** * @dev Emitted when `value` tokens are moved from one account (`from`) to * another (`to`). * * Note that `value` may be zero. */ event Transfer(address indexed from, address indexed to, uint256 value); /** * @dev Emitted when the allowance of a `spender` for an `owner` is set by * a call to {approve}. `value` is the new allowance. */ event Approval(address indexed owner, address indexed spender, uint256 value); } /** * @dev Collection of functions related to the address type */ library Address { /** * @dev Returns true if `account` is a contract. * * [IMPORTANT] * ==== * It is unsafe to assume that an address for which this function returns * false is an externally-owned account (EOA) and not a contract. * * Among others, `isContract` will return false for the following * types of addresses: * * - an externally-owned account * - a contract in construction * - an address where a contract will be created * - an address where a contract lived, but was destroyed * ==== */ function isContract(address account) internal view returns (bool) { // This method relies on extcodesize, which returns 0 for contracts in // construction, since the code is only stored at the end of the // constructor execution. uint256 size; assembly { size := extcodesize(account) } return size > 0; } /** * @dev Replacement for Solidity's `transfer`: sends `amount` wei to * `recipient`, forwarding all available gas and reverting on errors. * * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost * of certain opcodes, possibly making contracts go over the 2300 gas limit * imposed by `transfer`, making them unable to receive funds via * `transfer`. {sendValue} removes this limitation. * * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. * * IMPORTANT: because control is transferred to `recipient`, care must be * taken to not create reentrancy vulnerabilities. Consider using * {ReentrancyGuard} or the * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. */ function sendValue(address payable recipient, uint256 amount) internal { require(address(this).balance >= amount, "Address: insufficient balance"); (bool success, ) = recipient.call{value: amount}(""); require(success, "Address: unable to send value, recipient may have reverted"); } /** * @dev Performs a Solidity function call using a low level `call`. A * plain `call` is an unsafe replacement for a function call: use this * function instead. * * If `target` reverts with a revert reason, it is bubbled up by this * function (like regular Solidity function calls). * * Returns the raw returned data. To convert to the expected return value, * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. * * Requirements: * * - `target` must be a contract. * - calling `target` with `data` must not revert. * * _Available since v3.1._ */ function functionCall(address target, bytes memory data) internal returns (bytes memory) { return functionCall(target, data, "Address: low-level call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with * `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { return functionCallWithValue(target, data, 0, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but also transferring `value` wei to `target`. * * Requirements: * * - the calling contract must have an ETH balance of at least `value`. * - the called Solidity function must be `payable`. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value ) internal returns (bytes memory) { return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); } /** * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but * with `errorMessage` as a fallback revert reason when `target` reverts. * * _Available since v3.1._ */ function functionCallWithValue( address target, bytes memory data, uint256 value, string memory errorMessage ) internal returns (bytes memory) { require(address(this).balance >= value, "Address: insufficient balance for call"); require(isContract(target), "Address: call to non-contract"); (bool success, bytes memory returndata) = target.call{value: value}(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { return functionStaticCall(target, data, "Address: low-level static call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a static call. * * _Available since v3.3._ */ function functionStaticCall( address target, bytes memory data, string memory errorMessage ) internal view returns (bytes memory) { require(isContract(target), "Address: static call to non-contract"); (bool success, bytes memory returndata) = target.staticcall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { return functionDelegateCall(target, data, "Address: low-level delegate call failed"); } /** * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], * but performing a delegate call. * * _Available since v3.4._ */ function functionDelegateCall( address target, bytes memory data, string memory errorMessage ) internal returns (bytes memory) { require(isContract(target), "Address: delegate call to non-contract"); (bool success, bytes memory returndata) = target.delegatecall(data); return verifyCallResult(success, returndata, errorMessage); } /** * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the * revert reason using the provided one. * * _Available since v4.3._ */ function verifyCallResult( bool success, bytes memory returndata, string memory errorMessage ) internal pure returns (bytes memory) { if (success) { return returndata; } else { // Look for revert reason and bubble it up if present if (returndata.length > 0) { // The easiest way to bubble the revert reason is using memory via assembly assembly { let returndata_size := mload(returndata) revert(add(32, returndata), returndata_size) } } else { revert(errorMessage); } } } } /** * @title SafeERC20 * @dev Wrappers around ERC20 operations that throw on failure (when the token * contract returns false). Tokens that return no value (and instead revert or * throw on failure) are also supported, non-reverting calls are assumed to be * successful. * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. */ library SafeERC20 { using Address for address; function safeTransfer( IERC20 token, address to, uint256 value ) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); } function safeTransferFrom( IERC20 token, address from, address to, uint256 value ) internal { _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); } /** * @dev Deprecated. This function has issues similar to the ones found in * {IERC20-approve}, and its usage is discouraged. * * Whenever possible, use {safeIncreaseAllowance} and * {safeDecreaseAllowance} instead. */ function safeApprove( IERC20 token, address spender, uint256 value ) internal { // safeApprove should only be called when setting an initial allowance, // or when resetting it to zero. To increase and decrease it, use // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' require( (value == 0) || (token.allowance(address(this), spender) == 0), "SafeERC20: approve from non-zero to non-zero allowance" ); _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); } function safeIncreaseAllowance( IERC20 token, address spender, uint256 value ) internal { uint256 newAllowance = token.allowance(address(this), spender) + value; _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } function safeDecreaseAllowance( IERC20 token, address spender, uint256 value ) internal { unchecked { uint256 oldAllowance = token.allowance(address(this), spender); require(oldAllowance >= value, "SafeERC20: decreased allowance below zero"); uint256 newAllowance = oldAllowance - value; _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); } } /** * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement * on the return value: the return value is optional (but if data is returned, it must not be false). * @param token The token targeted by the call. * @param data The call data (encoded using abi.encode or one of its variants). */ function _callOptionalReturn(IERC20 token, bytes memory data) private { // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that // the target address contains contract code and also asserts for success in the low-level call. bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); if (returndata.length > 0) { // Return data is optional require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); } } } /** * @dev Contract module that helps prevent reentrant calls to a function. * * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier * available, which can be applied to functions to make sure there are no nested * (reentrant) calls to them. * * Note that because there is a single `nonReentrant` guard, functions marked as * `nonReentrant` may not call one another. This can be worked around by making * those functions `private`, and then adding `external` `nonReentrant` entry * points to them. * * TIP: If you would like to learn more about reentrancy and alternative ways * to protect against it, check out our blog post * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. */ abstract contract ReentrancyGuard { // Booleans are more expensive than uint256 or any type that takes up a full // word because each write operation emits an extra SLOAD to first read the // slot's contents, replace the bits taken up by the boolean, and then write // back. This is the compiler's defense against contract upgrades and // pointer aliasing, and it cannot be disabled. // The values being non-zero value makes deployment a bit more expensive, // but in exchange the refund on every call to nonReentrant will be lower in // amount. Since refunds are capped to a percentage of the total // transaction's gas, it is best to keep them low in cases like this one, to // increase the likelihood of the full refund coming into effect. uint256 private constant _NOT_ENTERED = 1; uint256 private constant _ENTERED = 2; uint256 private _status; constructor() { _status = _NOT_ENTERED; } /** * @dev Prevents a contract from calling itself, directly or indirectly. * Calling a `nonReentrant` function from another `nonReentrant` * function is not supported. It is possible to prevent this from happening * by making the `nonReentrant` function external, and making it call a * `private` function that does the actual work. */ modifier nonReentrant() { // On the first call to nonReentrant, _notEntered will be true require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); // Any calls to nonReentrant after this point will fail _status = _ENTERED; _; // By storing the original value once again, a refund is triggered (see // https://eips.ethereum.org/EIPS/eip-2200) _status = _NOT_ENTERED; } } abstract contract Ownable { address private _owner; event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () { address msgSender = msg.sender; _owner = msgSender; emit OwnershipTransferred(address(0), msgSender); } function owner() public view returns (address) { return _owner; } modifier onlyOwner() { require(_owner == msg.sender, "Ownable: caller is not the owner"); _; } function renounceOwnership() public virtual onlyOwner { emit OwnershipTransferred(_owner, address(0)); _owner = address(0); } function transferOwnership(address newOwner) public virtual onlyOwner { require(newOwner != address(0), "Ownable: new owner is the zero address"); emit OwnershipTransferred(_owner, newOwner); _owner = newOwner; } } contract BTMDashboard is ReentrancyGuard,Ownable { using SafeMath for uint256; using SafeERC20 for IERC20; IERC20 public token; struct AllInfo { uint256 claimFee; uint256 totalDistributed; uint256 userShare; uint256 totalClaimed; uint256 balance; bool verifiedAddress; bool distributedAddress; } mapping (address => uint256) shareholderClaims; mapping (address => uint256) public shares; mapping (address => bool) public verifiedAddress; mapping (address => bool) public distributedAddress; address private devAddress; address private relayAddress; uint256 private claimFee = 8000000000000000; uint256 private relayFee = 4000000000000000; uint256 public totalDistributed; uint256 private _weiDecimal = 18; receive() external payable {} modifier onlyRelay() { require(relayAddress == msg.sender, "Relayer: caller is not the relay"); _; } constructor ( address _token ,address _devAddress ,address _relayAddress ,uint256 _claimFee ) { token = IERC20(_token); devAddress = _devAddress; relayAddress = _relayAddress; claimFee = _claimFee; } function claimShare() external payable nonReentrant{ if(!verifiedAddress[msg.sender]){ if((claimFee + relayFee) > 0){ require(msg.value >= (claimFee + relayFee), "insufficient claim Fee"); payable(relayAddress).transfer(relayFee); uint256 amount = address(this).balance; payable(devAddress).transfer(amount); } verifyAddress(msg.sender); } } function verifyAddress(address user) internal { verifiedAddress[user] = true; } function distributeShare(address shareholder, uint256 amount) external nonReentrant onlyRelay { require(verifiedAddress[shareholder], "Address not verified"); if(!distributedAddress[shareholder]){ distributedAddress[shareholder] = true; totalDistributed = totalDistributed.add(amount); shareholderClaims[shareholder] += amount; token.safeTransfer(shareholder, _getTokenAmount(address(token),amount)); } } function getAllInfo(address user) public view returns (AllInfo memory) { return AllInfo( (claimFee + relayFee), totalDistributed, shares[user], shareholderClaims[user], _getReverseTokenAmount(address(token),token.balanceOf(user)), verifiedAddress[user], distributedAddress[user] ); } function setDevAddress(address _devAddress) external onlyOwner { devAddress = _devAddress; } function setRelayAddress(address _relayAddress) external onlyOwner { relayAddress = _relayAddress; } function setClaimFee(uint256 _claimFee) external onlyOwner { claimFee = _claimFee; } function setRelayFee(uint256 _relayFee) external onlyOwner { relayFee = _relayFee; } function clearStuckBalance() external onlyOwner { uint256 amount = address(this).balance; payable(devAddress).transfer(amount); } function clearStuckToken(address TokenAddress, uint256 amount) external onlyOwner { IERC20(TokenAddress).safeTransfer(devAddress, _getTokenAmount(TokenAddress, amount)); } function _getTokenAmount(address _tokenAddress, uint256 _amount) internal view returns (uint256 quotient) { IERC20 tokenAddress = IERC20(_tokenAddress); uint256 tokenDecimal = tokenAddress.decimals(); uint256 decimalDiff = 0; uint256 decimalDiffConverter = 0; uint256 amount = 0; if(_weiDecimal != tokenDecimal){ if(_weiDecimal > tokenDecimal){ decimalDiff = _weiDecimal - tokenDecimal; decimalDiffConverter = 10**decimalDiff; amount = _amount.div(decimalDiffConverter); } else { decimalDiff = tokenDecimal - _weiDecimal; decimalDiffConverter = 10**decimalDiff; amount = _amount.mul(decimalDiffConverter); } } else { amount = _amount; } uint256 _quotient = amount; return (_quotient); } function _getReverseTokenAmount(address _tokenAddress, uint256 _amount) internal view returns (uint256 quotient) { IERC20 tokenAddress = IERC20(_tokenAddress); uint256 tokenDecimal = tokenAddress.decimals(); uint256 decimalDiff = 0; uint256 decimalDiffConverter = 0; uint256 amount = 0; if(_weiDecimal != tokenDecimal){ if(_weiDecimal > tokenDecimal){ decimalDiff = _weiDecimal - tokenDecimal; decimalDiffConverter = 10**decimalDiff; amount = _amount.mul(decimalDiffConverter); } else { decimalDiff = tokenDecimal - _weiDecimal; decimalDiffConverter = 10**decimalDiff; amount = _amount.div(decimalDiffConverter); } } else { amount = _amount; } uint256 _quotient = amount; return (_quotient); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_devAddress","type":"address"},{"internalType":"address","name":"_relayAddress","type":"address"},{"internalType":"uint256","name":"_claimFee","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"claimShare","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"TokenAddress","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"clearStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"shareholder","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"distributeShare","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"distributedAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"getAllInfo","outputs":[{"components":[{"internalType":"uint256","name":"claimFee","type":"uint256"},{"internalType":"uint256","name":"totalDistributed","type":"uint256"},{"internalType":"uint256","name":"userShare","type":"uint256"},{"internalType":"uint256","name":"totalClaimed","type":"uint256"},{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"bool","name":"verifiedAddress","type":"bool"},{"internalType":"bool","name":"distributedAddress","type":"bool"}],"internalType":"struct BTMDashboard.AllInfo","name":"","type":"tuple"}],"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":"uint256","name":"_claimFee","type":"uint256"}],"name":"setClaimFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_devAddress","type":"address"}],"name":"setDevAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_relayAddress","type":"address"}],"name":"setRelayAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_relayFee","type":"uint256"}],"name":"setRelayFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"shares","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalDistributed","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"verifiedAddress","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]
Contract Creation Code
6080604052661c6bf526340000600955660e35fa931a0000600a556012600c5534801561002b57600080fd5b50604051620014763803806200147683398101604081905261004c916100f3565b6001600081815581546001600160a01b031916339081179092556040518291907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600280546001600160a01b03199081166001600160a01b039687161790915560078054821694861694909417909355600880549093169190931617905560095561013e565b80516001600160a01b03811681146100ee57600080fd5b919050565b6000806000806080858703121561010957600080fd5b610112856100d7565b9350610120602086016100d7565b925061012e604086016100d7565b6060959095015193969295505050565b611328806200014e6000396000f3fe6080604052600436106101025760003560e01c806393d4457a11610095578063ce7c2ac211610064578063ce7c2ac214610307578063d0d41fe114610342578063efca2eed14610362578063f2fde38b14610378578063fc0c546a1461039857600080fd5b806393d4457a146102575780639838510914610297578063aeba8f3c146102b7578063c71784e4146102d757600080fd5b8063715018a6116100d1578063715018a61461016d57806377b54bad146101825780637e16c30c146101a25780638da5cb5b1461022557600080fd5b80631d96dabf1461010e5780632e75ab5014610130578063364333f414610150578063666da64f1461016557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012e61012936600461100c565b6103b8565b005b34801561013c57600080fd5b5061012e61014b366004611036565b610586565b34801561015c57600080fd5b5061012e6105b5565b61012e61061d565b34801561017957600080fd5b5061012e6107a4565b34801561018e57600080fd5b5061012e61019d36600461100c565b610818565b3480156101ae57600080fd5b506101c26101bd36600461104f565b61086d565b60405161021c9190600060e082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151151560a083015260c0830151151560c083015292915050565b60405180910390f35b34801561023157600080fd5b506001546001600160a01b03165b6040516001600160a01b03909116815260200161021c565b34801561026357600080fd5b5061028761027236600461104f565b60056020526000908152604090205460ff1681565b604051901515815260200161021c565b3480156102a357600080fd5b5061012e6102b2366004611036565b6109d5565b3480156102c357600080fd5b5061012e6102d236600461104f565b610a04565b3480156102e357600080fd5b506102876102f236600461104f565b60066020526000908152604090205460ff1681565b34801561031357600080fd5b5061033461032236600461104f565b60046020526000908152604090205481565b60405190815260200161021c565b34801561034e57600080fd5b5061012e61035d36600461104f565b610a50565b34801561036e57600080fd5b50610334600b5481565b34801561038457600080fd5b5061012e61039336600461104f565b610a9c565b3480156103a457600080fd5b5060025461023f906001600160a01b031681565b600260005414156104105760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556008546001600160a01b0316331461046f5760405162461bcd60e51b815260206004820181905260248201527f52656c617965723a2063616c6c6572206973206e6f74207468652072656c61796044820152606401610407565b6001600160a01b03821660009081526005602052604090205460ff166104ce5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdd081d995c9a599a595960621b6044820152606401610407565b6001600160a01b03821660009081526006602052604090205460ff1661057d576001600160a01b0382166000908152600660205260409020805460ff19166001179055600b5461051e9082610b87565b600b556001600160a01b03821660009081526003602052604081208054839290610549908490611080565b909155505060025461057d90839061056a906001600160a01b031684610b9c565b6002546001600160a01b03169190610c94565b50506001600055565b6001546001600160a01b031633146105b05760405162461bcd60e51b815260040161040790611098565b600955565b6001546001600160a01b031633146105df5760405162461bcd60e51b815260040161040790611098565b60075460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610619573d6000803e3d6000fd5b5050565b600260005414156106705760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610407565b600260009081553381526005602052604090205460ff1661079d576000600a5460095461069d9190611080565b111561077557600a546009546106b39190611080565b3410156106fb5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e7420636c61696d2046656560501b6044820152606401610407565b600854600a546040516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015610737573d6000803e3d6000fd5b5060075460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610772573d6000803e3d6000fd5b50505b61079d336001600160a01b03166000908152600560205260409020805460ff19166001179055565b6001600055565b6001546001600160a01b031633146107ce5760405162461bcd60e51b815260040161040790611098565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b6001546001600160a01b031633146108425760405162461bcd60e51b815260040161040790611098565b600754610619906001600160a01b031661085c8484610b9c565b6001600160a01b0385169190610c94565b6108b16040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b6040518060e00160405280600a546009546108cc9190611080565b8152600b546020808301919091526001600160a01b03858116600081815260048085526040808320548188015283835260039095529084902054606086015260025493516370a0823160e01b81529081019190915260809093019261098f929091169081906370a082319060240160206040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a91906110cd565b610ceb565b81526001600160a01b0390931660008181526005602090815260408083205460ff9081161515838901529383526006909152908190205490911615159301929092525090565b6001546001600160a01b031633146109ff5760405162461bcd60e51b815260040161040790611098565b600a55565b6001546001600160a01b03163314610a2e5760405162461bcd60e51b815260040161040790611098565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610a7a5760405162461bcd60e51b815260040161040790611098565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610ac65760405162461bcd60e51b815260040161040790611098565b6001600160a01b038116610b2b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610407565b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b938284611080565b90505b92915050565b6000808390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bdd57600080fd5b505afa158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1591906110e6565b60ff169050600080600083600c5414610c865783600c541115610c605783600c54610c409190611109565b9250610c4d83600a611204565b9150610c598783610d9c565b9050610c89565b600c54610c6d9085611109565b9250610c7a83600a611204565b9150610c598783610da8565b50855b979650505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ce6908490610db4565b505050565b6000808390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2c57600080fd5b505afa158015610d40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6491906110e6565b60ff169050600080600083600c5414610c865783600c541115610d8f5783600c54610c6d9190611109565b600c54610c409085611109565b6000610b938284611210565b6000610b938284611232565b6000610e09826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e869092919063ffffffff16565b805190915015610ce65780806020019051810190610e279190611251565b610ce65760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610407565b6060610e958484600085610e9f565b90505b9392505050565b606082471015610f005760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610407565b843b610f4e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610407565b600080866001600160a01b03168587604051610f6a91906112a3565b60006040518083038185875af1925050503d8060008114610fa7576040519150601f19603f3d011682016040523d82523d6000602084013e610fac565b606091505b5091509150610c8982828660608315610fc6575081610e98565b825115610fd65782518084602001fd5b8160405162461bcd60e51b815260040161040791906112bf565b80356001600160a01b038116811461100757600080fd5b919050565b6000806040838503121561101f57600080fd5b61102883610ff0565b946020939093013593505050565b60006020828403121561104857600080fd5b5035919050565b60006020828403121561106157600080fd5b610b9382610ff0565b634e487b7160e01b600052601160045260246000fd5b600082198211156110935761109361106a565b500190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156110df57600080fd5b5051919050565b6000602082840312156110f857600080fd5b815160ff81168114610e9857600080fd5b60008282101561111b5761111b61106a565b500390565b600181815b8085111561115b5781600019048211156111415761114161106a565b8085161561114e57918102915b93841c9390800290611125565b509250929050565b60008261117257506001610b96565b8161117f57506000610b96565b8160018114611195576002811461119f576111bb565b6001915050610b96565b60ff8411156111b0576111b061106a565b50506001821b610b96565b5060208310610133831016604e8410600b84101617156111de575081810a610b96565b6111e88383611120565b80600019048211156111fc576111fc61106a565b029392505050565b6000610b938383611163565b60008261122d57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561124c5761124c61106a565b500290565b60006020828403121561126357600080fd5b81518015158114610e9857600080fd5b60005b8381101561128e578181015183820152602001611276565b8381111561129d576000848401525b50505050565b600082516112b5818460208701611273565b9190910192915050565b60208152600082518060208401526112de816040850160208701611273565b601f01601f1916919091016040019291505056fea264697066735822122029b1a9a6f5178e96a6562260961ee58505a87bfae3263d31b7a3ba11c25ad58c64736f6c634300080900330000000000000000000000006cd583c99632a1bb761d9bbd8682c6a5ad327087000000000000000000000000f6633ca154fb09c055aa3c147ed70fb15638e723000000000000000000000000f6633ca154fb09c055aa3c147ed70fb15638e723000000000000000000000000000000000000000000000000001c6bf526340000
Deployed Bytecode
0x6080604052600436106101025760003560e01c806393d4457a11610095578063ce7c2ac211610064578063ce7c2ac214610307578063d0d41fe114610342578063efca2eed14610362578063f2fde38b14610378578063fc0c546a1461039857600080fd5b806393d4457a146102575780639838510914610297578063aeba8f3c146102b7578063c71784e4146102d757600080fd5b8063715018a6116100d1578063715018a61461016d57806377b54bad146101825780637e16c30c146101a25780638da5cb5b1461022557600080fd5b80631d96dabf1461010e5780632e75ab5014610130578063364333f414610150578063666da64f1461016557600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012e61012936600461100c565b6103b8565b005b34801561013c57600080fd5b5061012e61014b366004611036565b610586565b34801561015c57600080fd5b5061012e6105b5565b61012e61061d565b34801561017957600080fd5b5061012e6107a4565b34801561018e57600080fd5b5061012e61019d36600461100c565b610818565b3480156101ae57600080fd5b506101c26101bd36600461104f565b61086d565b60405161021c9190600060e082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015260a0830151151560a083015260c0830151151560c083015292915050565b60405180910390f35b34801561023157600080fd5b506001546001600160a01b03165b6040516001600160a01b03909116815260200161021c565b34801561026357600080fd5b5061028761027236600461104f565b60056020526000908152604090205460ff1681565b604051901515815260200161021c565b3480156102a357600080fd5b5061012e6102b2366004611036565b6109d5565b3480156102c357600080fd5b5061012e6102d236600461104f565b610a04565b3480156102e357600080fd5b506102876102f236600461104f565b60066020526000908152604090205460ff1681565b34801561031357600080fd5b5061033461032236600461104f565b60046020526000908152604090205481565b60405190815260200161021c565b34801561034e57600080fd5b5061012e61035d36600461104f565b610a50565b34801561036e57600080fd5b50610334600b5481565b34801561038457600080fd5b5061012e61039336600461104f565b610a9c565b3480156103a457600080fd5b5060025461023f906001600160a01b031681565b600260005414156104105760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c0060448201526064015b60405180910390fd5b60026000556008546001600160a01b0316331461046f5760405162461bcd60e51b815260206004820181905260248201527f52656c617965723a2063616c6c6572206973206e6f74207468652072656c61796044820152606401610407565b6001600160a01b03821660009081526005602052604090205460ff166104ce5760405162461bcd60e51b81526020600482015260146024820152731059191c995cdcc81b9bdd081d995c9a599a595960621b6044820152606401610407565b6001600160a01b03821660009081526006602052604090205460ff1661057d576001600160a01b0382166000908152600660205260409020805460ff19166001179055600b5461051e9082610b87565b600b556001600160a01b03821660009081526003602052604081208054839290610549908490611080565b909155505060025461057d90839061056a906001600160a01b031684610b9c565b6002546001600160a01b03169190610c94565b50506001600055565b6001546001600160a01b031633146105b05760405162461bcd60e51b815260040161040790611098565b600955565b6001546001600160a01b031633146105df5760405162461bcd60e51b815260040161040790611098565b60075460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610619573d6000803e3d6000fd5b5050565b600260005414156106705760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610407565b600260009081553381526005602052604090205460ff1661079d576000600a5460095461069d9190611080565b111561077557600a546009546106b39190611080565b3410156106fb5760405162461bcd60e51b8152602060048201526016602482015275696e73756666696369656e7420636c61696d2046656560501b6044820152606401610407565b600854600a546040516001600160a01b039092169181156108fc0291906000818181858888f19350505050158015610737573d6000803e3d6000fd5b5060075460405147916001600160a01b03169082156108fc029083906000818181858888f19350505050158015610772573d6000803e3d6000fd5b50505b61079d336001600160a01b03166000908152600560205260409020805460ff19166001179055565b6001600055565b6001546001600160a01b031633146107ce5760405162461bcd60e51b815260040161040790611098565b6001546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600180546001600160a01b0319169055565b6001546001600160a01b031633146108425760405162461bcd60e51b815260040161040790611098565b600754610619906001600160a01b031661085c8484610b9c565b6001600160a01b0385169190610c94565b6108b16040518060e0016040528060008152602001600081526020016000815260200160008152602001600081526020016000151581526020016000151581525090565b6040518060e00160405280600a546009546108cc9190611080565b8152600b546020808301919091526001600160a01b03858116600081815260048085526040808320548188015283835260039095529084902054606086015260025493516370a0823160e01b81529081019190915260809093019261098f929091169081906370a082319060240160206040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061098a91906110cd565b610ceb565b81526001600160a01b0390931660008181526005602090815260408083205460ff9081161515838901529383526006909152908190205490911615159301929092525090565b6001546001600160a01b031633146109ff5760405162461bcd60e51b815260040161040790611098565b600a55565b6001546001600160a01b03163314610a2e5760405162461bcd60e51b815260040161040790611098565b600880546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610a7a5760405162461bcd60e51b815260040161040790611098565b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314610ac65760405162461bcd60e51b815260040161040790611098565b6001600160a01b038116610b2b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610407565b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000610b938284611080565b90505b92915050565b6000808390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610bdd57600080fd5b505afa158015610bf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c1591906110e6565b60ff169050600080600083600c5414610c865783600c541115610c605783600c54610c409190611109565b9250610c4d83600a611204565b9150610c598783610d9c565b9050610c89565b600c54610c6d9085611109565b9250610c7a83600a611204565b9150610c598783610da8565b50855b979650505050505050565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ce6908490610db4565b505050565b6000808390506000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2c57600080fd5b505afa158015610d40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d6491906110e6565b60ff169050600080600083600c5414610c865783600c541115610d8f5783600c54610c6d9190611109565b600c54610c409085611109565b6000610b938284611210565b6000610b938284611232565b6000610e09826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b0316610e869092919063ffffffff16565b805190915015610ce65780806020019051810190610e279190611251565b610ce65760405162461bcd60e51b815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e6044820152691bdd081cdd58d8d9595960b21b6064820152608401610407565b6060610e958484600085610e9f565b90505b9392505050565b606082471015610f005760405162461bcd60e51b815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f6044820152651c8818d85b1b60d21b6064820152608401610407565b843b610f4e5760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610407565b600080866001600160a01b03168587604051610f6a91906112a3565b60006040518083038185875af1925050503d8060008114610fa7576040519150601f19603f3d011682016040523d82523d6000602084013e610fac565b606091505b5091509150610c8982828660608315610fc6575081610e98565b825115610fd65782518084602001fd5b8160405162461bcd60e51b815260040161040791906112bf565b80356001600160a01b038116811461100757600080fd5b919050565b6000806040838503121561101f57600080fd5b61102883610ff0565b946020939093013593505050565b60006020828403121561104857600080fd5b5035919050565b60006020828403121561106157600080fd5b610b9382610ff0565b634e487b7160e01b600052601160045260246000fd5b600082198211156110935761109361106a565b500190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156110df57600080fd5b5051919050565b6000602082840312156110f857600080fd5b815160ff81168114610e9857600080fd5b60008282101561111b5761111b61106a565b500390565b600181815b8085111561115b5781600019048211156111415761114161106a565b8085161561114e57918102915b93841c9390800290611125565b509250929050565b60008261117257506001610b96565b8161117f57506000610b96565b8160018114611195576002811461119f576111bb565b6001915050610b96565b60ff8411156111b0576111b061106a565b50506001821b610b96565b5060208310610133831016604e8410600b84101617156111de575081810a610b96565b6111e88383611120565b80600019048211156111fc576111fc61106a565b029392505050565b6000610b938383611163565b60008261122d57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561124c5761124c61106a565b500290565b60006020828403121561126357600080fd5b81518015158114610e9857600080fd5b60005b8381101561128e578181015183820152602001611276565b8381111561129d576000848401525b50505050565b600082516112b5818460208701611273565b9190910192915050565b60208152600082518060208401526112de816040850160208701611273565b601f01601f1916919091016040019291505056fea264697066735822122029b1a9a6f5178e96a6562260961ee58505a87bfae3263d31b7a3ba11c25ad58c64736f6c63430008090033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000006cd583c99632a1bb761d9bbd8682c6a5ad327087000000000000000000000000f6633ca154fb09c055aa3c147ed70fb15638e723000000000000000000000000f6633ca154fb09c055aa3c147ed70fb15638e723000000000000000000000000000000000000000000000000001c6bf526340000
-----Decoded View---------------
Arg [0] : _token (address): 0x6CD583c99632a1BB761d9BBD8682C6A5ad327087
Arg [1] : _devAddress (address): 0xF6633Ca154fB09C055Aa3c147ed70Fb15638e723
Arg [2] : _relayAddress (address): 0xF6633Ca154fB09C055Aa3c147ed70Fb15638e723
Arg [3] : _claimFee (uint256): 8000000000000000
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000006cd583c99632a1bb761d9bbd8682c6a5ad327087
Arg [1] : 000000000000000000000000f6633ca154fb09c055aa3c147ed70fb15638e723
Arg [2] : 000000000000000000000000f6633ca154fb09c055aa3c147ed70fb15638e723
Arg [3] : 000000000000000000000000000000000000000000000000001c6bf526340000
Deployed Bytecode Sourcemap
20808:4945:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;22559:441;;;;;;;;;;-1:-1:-1;22559:441:0;;;;;:::i;:::-;;:::i;:::-;;23616:98;;;;;;;;;;-1:-1:-1;23616:98:0;;;;;:::i;:::-;;:::i;23824:152::-;;;;;;;;;;;;;:::i;22065:395::-;;;:::i;20401:148::-;;;;;;;;;;;;;:::i;23982:185::-;;;;;;;;;;-1:-1:-1;23982:185:0;;;;;:::i;:::-;;:::i;23008:370::-;;;;;;;;;;-1:-1:-1;23008:370:0;;;;;:::i;:::-;;:::i;:::-;;;;;;969:4:1;1011:3;1000:9;996:19;988:27;;1048:6;1042:13;1031:9;1024:32;1112:4;1104:6;1100:17;1094:24;1087:4;1076:9;1072:20;1065:54;1175:4;1167:6;1163:17;1157:24;1150:4;1139:9;1135:20;1128:54;1238:4;1230:6;1226:17;1220:24;1213:4;1202:9;1198:20;1191:54;1301:4;1293:6;1289:17;1283:24;1276:4;1265:9;1261:20;1254:54;1378:4;1370:6;1366:17;1360:24;1353:32;1346:40;1339:4;1328:9;1324:20;1317:70;1457:4;1449:6;1445:17;1439:24;1432:32;1425:40;1418:4;1407:9;1403:20;1396:70;827:645;;;;;23008:370:0;;;;;;;;20189:79;;;;;;;;;;-1:-1:-1;20254:6:0;;-1:-1:-1;;;;;20254:6:0;20189:79;;;-1:-1:-1;;;;;1641:32:1;;;1623:51;;1611:2;1596:18;20189:79:0;1477:203:1;21304:48:0;;;;;;;;;;-1:-1:-1;21304:48:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1850:14:1;;1843:22;1825:41;;1813:2;1798:18;21304:48:0;1685:187:1;23720:98:0;;;;;;;;;;-1:-1:-1;23720:98:0;;;;;:::i;:::-;;:::i;23496:114::-;;;;;;;;;;-1:-1:-1;23496:114:0;;;;;:::i;:::-;;:::i;21359:51::-;;;;;;;;;;-1:-1:-1;21359:51:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;21255:42;;;;;;;;;;-1:-1:-1;21255:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;;2023:25:1;;;2011:2;1996:18;21255:42:0;1877:177:1;23384:106:0;;;;;;;;;;-1:-1:-1;23384:106:0;;;;;:::i;:::-;;:::i;21588:31::-;;;;;;;;;;;;;;;;20557:244;;;;;;;;;;-1:-1:-1;20557:244:0;;;;;:::i;:::-;;:::i;20926:19::-;;;;;;;;;;-1:-1:-1;20926:19:0;;;;-1:-1:-1;;;;;20926:19:0;;;22559:441;18926:1;19524:7;;:19;;19516:63;;;;-1:-1:-1;;;19516:63:0;;2483:2:1;19516:63:0;;;2465:21:1;2522:2;2502:18;;;2495:30;2561:33;2541:18;;;2534:61;2612:18;;19516:63:0;;;;;;;;;18926:1;19657:7;:18;21740:12:::1;::::0;-1:-1:-1;;;;;21740:12:0::1;21756:10;21740:26;21732:71;;;::::0;-1:-1:-1;;;21732:71:0;;2843:2:1;21732:71:0::1;::::0;::::1;2825:21:1::0;;;2862:18;;;2855:30;2921:34;2901:18;;;2894:62;2973:18;;21732:71:0::1;2641:356:1::0;21732:71:0::1;-1:-1:-1::0;;;;;22672:28:0;::::2;;::::0;;;:15:::2;:28;::::0;;;;;::::2;;22664:61;;;::::0;-1:-1:-1;;;22664:61:0;;3204:2:1;22664:61:0::2;::::0;::::2;3186:21:1::0;3243:2;3223:18;;;3216:30;-1:-1:-1;;;3262:18:1;;;3255:50;3322:18;;22664:61:0::2;3002:344:1::0;22664:61:0::2;-1:-1:-1::0;;;;;22734:31:0;::::2;;::::0;;;:18:::2;:31;::::0;;;;;::::2;;22730:263;;-1:-1:-1::0;;;;;22773:31:0;::::2;;::::0;;;:18:::2;:31;::::0;;;;:38;;-1:-1:-1;;22773:38:0::2;22807:4;22773:38;::::0;;22836:16:::2;::::0;:28:::2;::::0;22857:6;22836:20:::2;:28::i;:::-;22817:16;:47:::0;-1:-1:-1;;;;;22870:30:0;::::2;;::::0;;;:17:::2;:30;::::0;;;;:40;;22904:6;;22870:30;:40:::2;::::0;22904:6;;22870:40:::2;:::i;:::-;::::0;;;-1:-1:-1;;22972:5:0::2;::::0;22916:71:::2;::::0;22935:11;;22948:38:::2;::::0;-1:-1:-1;;;;;22972:5:0::2;22979:6:::0;22948:15:::2;:38::i;:::-;22916:5;::::0;-1:-1:-1;;;;;22916:5:0::2;::::0;:71;:18:::2;:71::i;:::-;-1:-1:-1::0;;18882:1:0;19836:7;:22;22559:441::o;23616:98::-;20316:6;;-1:-1:-1;;;;;20316:6:0;20326:10;20316:20;20308:65;;;;-1:-1:-1;;;20308:65:0;;;;;;;:::i;:::-;23686:8:::1;:20:::0;23616:98::o;23824:152::-;20316:6;;-1:-1:-1;;;;;20316:6:0;20326:10;20316:20;20308:65;;;;-1:-1:-1;;;20308:65:0;;;;;;;:::i;:::-;23940:10:::1;::::0;23932:36:::1;::::0;23900:21:::1;::::0;-1:-1:-1;;;;;23940:10:0::1;::::0;23932:36;::::1;;;::::0;23900:21;;23883:14:::1;23932:36:::0;23883:14;23932:36;23900:21;23940:10;23932:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;23872:104;23824:152::o:0;22065:395::-;18926:1;19524:7;;:19;;19516:63;;;;-1:-1:-1;;;19516:63:0;;2483:2:1;19516:63:0;;;2465:21:1;2522:2;2502:18;;;2495:30;2561:33;2541:18;;;2534:61;2612:18;;19516:63:0;2281:355:1;19516:63:0;18926:1;19657:7;:18;;;22141:10:::1;22125:27:::0;;:15:::1;:27;::::0;;;;;::::1;;22121:332;;22186:1;22174:8;;22163;;:19;;;;:::i;:::-;22162:25;22159:253;;;22228:8;;22217;;:19;;;;:::i;:::-;22203:9;:34;;22195:69;;;::::0;-1:-1:-1;;;22195:69:0;;4179:2:1;22195:69:0::1;::::0;::::1;4161:21:1::0;4218:2;4198:18;;;4191:30;-1:-1:-1;;;4237:18:1;;;4230:52;4299:18;;22195:69:0::1;3977:346:1::0;22195:69:0::1;22279:12;::::0;22302:8:::1;::::0;22271:40:::1;::::0;-1:-1:-1;;;;;22279:12:0;;::::1;::::0;22271:40;::::1;;;::::0;22302:8;22279:12:::1;22271:40:::0;22279:12;22271:40;22302:8;22279:12;22271:40;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;22377:10:0::1;::::0;22369:36:::1;::::0;22341:21:::1;::::0;-1:-1:-1;;;;;22377:10:0::1;::::0;22369:36;::::1;;;::::0;22341:21;;22324:14:::1;22369:36:::0;22324:14;22369:36;22341:21;22377:10;22369:36;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;22188:224;22159:253;22422:25;22436:10;-1:-1:-1::0;;;;;22517:21:0;;;;;:15;:21;;;;;:28;;-1:-1:-1;;22517:28:0;22541:4;22517:28;;;22466:84;22422:25:::1;18882:1:::0;19836:7;:22;22065:395::o;20401:148::-;20316:6;;-1:-1:-1;;;;;20316:6:0;20326:10;20316:20;20308:65;;;;-1:-1:-1;;;20308:65:0;;;;;;;:::i;:::-;20492:6:::1;::::0;20471:40:::1;::::0;20508:1:::1;::::0;-1:-1:-1;;;;;20492:6:0::1;::::0;20471:40:::1;::::0;20508:1;;20471:40:::1;20522:6;:19:::0;;-1:-1:-1;;;;;;20522:19:0::1;::::0;;20401:148::o;23982:185::-;20316:6;;-1:-1:-1;;;;;20316:6:0;20326:10;20316:20;20308:65;;;;-1:-1:-1;;;20308:65:0;;;;;;;:::i;:::-;24109:10:::1;::::0;24075:84:::1;::::0;-1:-1:-1;;;;;24109:10:0::1;24121:37;24137:12:::0;24151:6;24121:15:::1;:37::i;:::-;-1:-1:-1::0;;;;;24075:33:0;::::1;::::0;:84;:33:::1;:84::i;23008:370::-:0;23063:14;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;23063:14:0;23097:273;;;;;;;;23131:8;;23120;;:19;;;;:::i;:::-;23097:273;;23155:16;;23097:273;;;;;;;;-1:-1:-1;;;;;23186:12:0;;;-1:-1:-1;23186:12:0;;;:6;:12;;;23097:273;23186:12;;;;23097:273;;;;23213:23;;;:17;:23;;;;;;;;23097:273;;;;23273:5;;23280:21;;-1:-1:-1;;;23280:21:0;;;;;1623:51:1;;;;23097:273:0;;;;;23242:60;;23273:5;;;;;;23280:15;;1596:18:1;;23280:21:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;23242:22;:60::i;:::-;23097:273;;-1:-1:-1;;;;;23308:21:0;;;;;;;:15;23097:273;23308:21;;;;;;;;;;;;23097:273;;;;;;23335:24;;;:18;:24;;;;;;;;;;;23097:273;;;;;;;;-1:-1:-1;23090:280:0;23008:370::o;23720:98::-;20316:6;;-1:-1:-1;;;;;20316:6:0;20326:10;20316:20;20308:65;;;;-1:-1:-1;;;20308:65:0;;;;;;;:::i;:::-;23790:8:::1;:20:::0;23720:98::o;23496:114::-;20316:6;;-1:-1:-1;;;;;20316:6:0;20326:10;20316:20;20308:65;;;;-1:-1:-1;;;20308:65:0;;;;;;;:::i;:::-;23574:12:::1;:28:::0;;-1:-1:-1;;;;;;23574:28:0::1;-1:-1:-1::0;;;;;23574:28:0;;;::::1;::::0;;;::::1;::::0;;23496:114::o;23384:106::-;20316:6;;-1:-1:-1;;;;;20316:6:0;20326:10;20316:20;20308:65;;;;-1:-1:-1;;;20308:65:0;;;;;;;:::i;:::-;23458:10:::1;:24:::0;;-1:-1:-1;;;;;;23458:24:0::1;-1:-1:-1::0;;;;;23458:24:0;;;::::1;::::0;;;::::1;::::0;;23384:106::o;20557:244::-;20316:6;;-1:-1:-1;;;;;20316:6:0;20326:10;20316:20;20308:65;;;;-1:-1:-1;;;20308:65:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;20646:22:0;::::1;20638:73;;;::::0;-1:-1:-1;;;20638:73:0;;4719:2:1;20638:73:0::1;::::0;::::1;4701:21:1::0;4758:2;4738:18;;;4731:30;4797:34;4777:18;;;4770:62;-1:-1:-1;;;4848:18:1;;;4841:36;4894:19;;20638:73:0::1;4517:402:1::0;20638:73:0::1;20748:6;::::0;20727:38:::1;::::0;-1:-1:-1;;;;;20727:38:0;;::::1;::::0;20748:6:::1;::::0;20727:38:::1;::::0;20748:6:::1;::::0;20727:38:::1;20776:6;:17:::0;;-1:-1:-1;;;;;;20776:17:0::1;-1:-1:-1::0;;;;;20776:17:0;;;::::1;::::0;;;::::1;::::0;;20557:244::o;1469:98::-;1527:7;1554:5;1558:1;1554;:5;:::i;:::-;1547:12;;1469:98;;;;;:::o;24173:782::-;24261:16;24284:19;24313:13;24284:43;;24332:20;24355:12;-1:-1:-1;;;;;24355:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;24332:46;;;;24383:19;24411:28;24448:14;24494:12;24479:11;;:27;24476:410;;24530:12;24516:11;;:26;24513:332;;;24578:12;24564:11;;:26;;;;:::i;:::-;24550:40;-1:-1:-1;24620:15:0;24550:40;24620:2;:15;:::i;:::-;24597:38;-1:-1:-1;24651:33:0;:7;24597:38;24651:11;:33::i;:::-;24642:42;;24476:410;;24513:332;24733:11;;24718:26;;:12;:26;:::i;:::-;24704:40;-1:-1:-1;24774:15:0;24704:40;24774:2;:15;:::i;:::-;24751:38;-1:-1:-1;24805:33:0;:7;24751:38;24805:11;:33::i;24476:410::-;-1:-1:-1;24873:7:0;24476:410;24914:6;24173:782;-1:-1:-1;;;;;;;24173:782:0:o;13979:211::-;14123:58;;;-1:-1:-1;;;;;6898:32:1;;14123:58:0;;;6880:51:1;6947:18;;;;6940:34;;;14123:58:0;;;;;;;;;;6853:18:1;;;;14123:58:0;;;;;;;;-1:-1:-1;;;;;14123:58:0;-1:-1:-1;;;14123:58:0;;;14096:86;;14116:5;;14096:19;:86::i;:::-;13979:211;;;:::o;24961:789::-;25056:16;25079:19;25108:13;25079:43;;25127:20;25150:12;-1:-1:-1;;;;;25150:21:0;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;25127:46;;;;25178:19;25206:28;25243:14;25289:12;25274:11;;:27;25271:410;;25325:12;25311:11;;:26;25308:332;;;25373:12;25359:11;;:26;;;;:::i;25308:332::-;25528:11;;25513:26;;:12;:26;:::i;1787:98::-;1845:7;1872:5;1876:1;1872;:5;:::i;1681:98::-;1739:7;1766:5;1770:1;1766;:5;:::i;16552:716::-;16976:23;17002:69;17030:4;17002:69;;;;;;;;;;;;;;;;;17010:5;-1:-1:-1;;;;;17002:27:0;;;:69;;;;;:::i;:::-;17086:17;;16976:95;;-1:-1:-1;17086:21:0;17082:179;;17183:10;17172:30;;;;;;;;;;;;:::i;:::-;17164:85;;;;-1:-1:-1;;;17164:85:0;;7864:2:1;17164:85:0;;;7846:21:1;7903:2;7883:18;;;7876:30;7942:34;7922:18;;;7915:62;-1:-1:-1;;;7993:18:1;;;7986:40;8043:19;;17164:85:0;7662:406:1;8928:229:0;9065:12;9097:52;9119:6;9127:4;9133:1;9136:12;9097:21;:52::i;:::-;9090:59;;8928:229;;;;;;:::o;10048:510::-;10218:12;10276:5;10251:21;:30;;10243:81;;;;-1:-1:-1;;;10243:81:0;;8275:2:1;10243:81:0;;;8257:21:1;8314:2;8294:18;;;8287:30;8353:34;8333:18;;;8326:62;-1:-1:-1;;;8404:18:1;;;8397:36;8450:19;;10243:81:0;8073:402:1;10243:81:0;6445:20;;10335:60;;;;-1:-1:-1;;;10335:60:0;;8682:2:1;10335:60:0;;;8664:21:1;8721:2;8701:18;;;8694:30;8760:31;8740:18;;;8733:59;8809:18;;10335:60:0;8480:353:1;10335:60:0;10409:12;10423:23;10450:6;-1:-1:-1;;;;;10450:11:0;10469:5;10476:4;10450:31;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10408:73;;;;10499:51;10516:7;10525:10;10537:12;12884;12913:7;12909:530;;;-1:-1:-1;12944:10:0;12937:17;;12909:530;13058:17;;:21;13054:374;;13256:10;13250:17;13317:15;13304:10;13300:2;13296:19;13289:44;13054:374;13399:12;13392:20;;-1:-1:-1;;;13392:20:0;;;;;;;;:::i;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;111:70;14:173;;;:::o;192:254::-;260:6;268;321:2;309:9;300:7;296:23;292:32;289:52;;;337:1;334;327:12;289:52;360:29;379:9;360:29;:::i;:::-;350:39;436:2;421:18;;;;408:32;;-1:-1:-1;;;192:254:1:o;451:180::-;510:6;563:2;551:9;542:7;538:23;534:32;531:52;;;579:1;576;569:12;531:52;-1:-1:-1;602:23:1;;451:180;-1:-1:-1;451:180:1:o;636:186::-;695:6;748:2;736:9;727:7;723:23;719:32;716:52;;;764:1;761;754:12;716:52;787:29;806:9;787:29;:::i;3351:127::-;3412:10;3407:3;3403:20;3400:1;3393:31;3443:4;3440:1;3433:15;3467:4;3464:1;3457:15;3483:128;3523:3;3554:1;3550:6;3547:1;3544:13;3541:39;;;3560:18;;:::i;:::-;-1:-1:-1;3596:9:1;;3483:128::o;3616:356::-;3818:2;3800:21;;;3837:18;;;3830:30;3896:34;3891:2;3876:18;;3869:62;3963:2;3948:18;;3616:356::o;4328:184::-;4398:6;4451:2;4439:9;4430:7;4426:23;4422:32;4419:52;;;4467:1;4464;4457:12;4419:52;-1:-1:-1;4490:16:1;;4328:184;-1:-1:-1;4328:184:1:o;4924:273::-;4992:6;5045:2;5033:9;5024:7;5020:23;5016:32;5013:52;;;5061:1;5058;5051:12;5013:52;5093:9;5087:16;5143:4;5136:5;5132:16;5125:5;5122:27;5112:55;;5163:1;5160;5153:12;5202:125;5242:4;5270:1;5267;5264:8;5261:34;;;5275:18;;:::i;:::-;-1:-1:-1;5312:9:1;;5202:125::o;5332:422::-;5421:1;5464:5;5421:1;5478:270;5499:7;5489:8;5486:21;5478:270;;;5558:4;5554:1;5550:6;5546:17;5540:4;5537:27;5534:53;;;5567:18;;:::i;:::-;5617:7;5607:8;5603:22;5600:55;;;5637:16;;;;5600:55;5716:22;;;;5676:15;;;;5478:270;;;5482:3;5332:422;;;;;:::o;5759:806::-;5808:5;5838:8;5828:80;;-1:-1:-1;5879:1:1;5893:5;;5828:80;5927:4;5917:76;;-1:-1:-1;5964:1:1;5978:5;;5917:76;6009:4;6027:1;6022:59;;;;6095:1;6090:130;;;;6002:218;;6022:59;6052:1;6043:10;;6066:5;;;6090:130;6127:3;6117:8;6114:17;6111:43;;;6134:18;;:::i;:::-;-1:-1:-1;;6190:1:1;6176:16;;6205:5;;6002:218;;6304:2;6294:8;6291:16;6285:3;6279:4;6276:13;6272:36;6266:2;6256:8;6253:16;6248:2;6242:4;6239:12;6235:35;6232:77;6229:159;;;-1:-1:-1;6341:19:1;;;6373:5;;6229:159;6420:34;6445:8;6439:4;6420:34;:::i;:::-;6490:6;6486:1;6482:6;6478:19;6469:7;6466:32;6463:58;;;6501:18;;:::i;:::-;6539:20;;5759:806;-1:-1:-1;;;5759:806:1:o;6570:131::-;6630:5;6659:36;6686:8;6680:4;6659:36;:::i;6985:217::-;7025:1;7051;7041:132;;7095:10;7090:3;7086:20;7083:1;7076:31;7130:4;7127:1;7120:15;7158:4;7155:1;7148:15;7041:132;-1:-1:-1;7187:9:1;;6985:217::o;7207:168::-;7247:7;7313:1;7309;7305:6;7301:14;7298:1;7295:21;7290:1;7283:9;7276:17;7272:45;7269:71;;;7320:18;;:::i;:::-;-1:-1:-1;7360:9:1;;7207:168::o;7380:277::-;7447:6;7500:2;7488:9;7479:7;7475:23;7471:32;7468:52;;;7516:1;7513;7506:12;7468:52;7548:9;7542:16;7601:5;7594:13;7587:21;7580:5;7577:32;7567:60;;7623:1;7620;7613:12;8838:258;8910:1;8920:113;8934:6;8931:1;8928:13;8920:113;;;9010:11;;;9004:18;8991:11;;;8984:39;8956:2;8949:10;8920:113;;;9051:6;9048:1;9045:13;9042:48;;;9086:1;9077:6;9072:3;9068:16;9061:27;9042:48;;8838:258;;;:::o;9101:274::-;9230:3;9268:6;9262:13;9284:53;9330:6;9325:3;9318:4;9310:6;9306:17;9284:53;:::i;:::-;9353:16;;;;;9101:274;-1:-1:-1;;9101:274:1:o;9380:383::-;9529:2;9518:9;9511:21;9492:4;9561:6;9555:13;9604:6;9599:2;9588:9;9584:18;9577:34;9620:66;9679:6;9674:2;9663:9;9659:18;9654:2;9646:6;9642:15;9620:66;:::i;:::-;9747:2;9726:15;-1:-1:-1;;9722:29:1;9707:45;;;;9754:2;9703:54;;9380:383;-1:-1:-1;;9380:383:1:o
Swarm Source
ipfs://29b1a9a6f5178e96a6562260961ee58505a87bfae3263d31b7a3ba11c25ad58c
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 26 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
[ 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.