Contract Overview
Balance:
0 AVAX
AVAX Value:
$0.00
My Name Tag:
Not Available, login to update
Txn Hash | Method |
Block
|
From
|
To
|
Value | [Txn Fee] | |||
---|---|---|---|---|---|---|---|---|---|
0xcb57582eacbb7f69f7ddeb22616df0fd4d631e4fb230b4b20028b96d69710292 | 0x61010060 | 16424522 | 6 days 15 hrs ago | 0xcbd4e556fc24c83159defd1d1bbad66fd7d2c75c | IN | Create: CustomPriceFeed2 | 0 AVAX | 0.022080575 |
[ Download CSV Export ]
Contract Name:
CustomPriceFeed2
Compiler Version
v0.7.6+commit.7338295f
Optimization Enabled:
Yes with 100 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
//SPDX-License-Identifier: LICENSED pragma solidity ^0.7.0; import "../interfaces/AggregatorV3Interface.sol"; import "../Swapper/uniswapv2/interfaces/IUniswapV2Router01.sol"; import "../interfaces/ERC20Interface.sol"; import "../libraries/SafeMath.sol"; contract CustomPriceFeed2 is AggregatorV3Interface { using SafeMath for uint256; address public immutable USDC; address public immutable WETH; address public immutable router; address public immutable token; uint256 public testAmountsIn; address public owner; uint8 _decimals; string _description; uint256 _version; // events event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); modifier onlyOwner() { require(msg.sender == owner, "oo"); _; } function transaferOwnership(address newOwner) public onlyOwner { address oldOwner = owner; owner = newOwner; emit OwnershipTransferred(oldOwner, newOwner); } constructor( address _token, address _usdt, address _weth, address _router ) { token = _token; USDC = _usdt; WETH = _weth; router = _router; testAmountsIn = 1 ether; owner = msg.sender; _decimals = 8; _description = "custom price feed 2"; _version = 1; } function setDecimals(uint8 _value) public onlyOwner { _decimals = _value; } function setDescription(string memory _value) public onlyOwner { _description = _value; } function setVersion(uint256 _value) public onlyOwner { _version = _value; } function setTestAmount(uint256 _value) public onlyOwner { testAmountsIn = _value; } function decimals() external view override returns (uint8) { return _decimals; } function description() external view override returns (string memory) { return _description; } function version() external view override returns (uint256) { return _version; } // getRoundData and latestRoundData should both raise "No data present" // if they do not have data to report, instead of returning unset values // which could be misinterpreted as actual reported values. function getRoundData(uint80 _roundId) external view override returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ) { roundId = _roundId; answer = getPrice(); startedAt = block.timestamp; updatedAt = block.timestamp; answeredInRound = uint80(block.number); } function latestRoundData() external view override returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ) { roundId = uint80(block.number); answer = getPrice(); startedAt = block.timestamp; updatedAt = block.timestamp; answeredInRound = uint80(block.number); } function getPrice() public view returns (int256) { address[] memory path = new address[](3); path[0] = token; path[1] = WETH; path[2] = USDC; uint256 amountIn = testAmountsIn; uint256[] memory amounts = IUniswapV2Router01(router).getAmountsOut( amountIn, path ); int256 _dec = _decimals + ERC20Interface(token).decimals() - ERC20Interface(USDC).decimals(); int256 price; if (_dec >= 0) { price = int256( (amounts[2].mul(uint256(10**uint256(_dec)))).div(testAmountsIn) ); } else { price = int256( amounts[2].div(uint256(10**uint256(-_dec))).div(testAmountsIn) ); } return price; } }
//SPDX-License-Identifier: UNLICENSED pragma solidity ^0.7.0; interface AggregatorV3Interface { function decimals() external view returns (uint8); function description() external view returns (string memory); function version() external view returns (uint256); // getRoundData and latestRoundData should both raise "No data present" // if they do not have data to report, instead of returning unset values // which could be misinterpreted as actual reported values. function getRoundData(uint80 _roundId) external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); function latestRoundData() external view returns ( uint80 roundId, int256 answer, uint256 startedAt, uint256 updatedAt, uint80 answeredInRound ); }
pragma solidity >=0.6.2; interface IUniswapV2Router01 { function factory() external pure returns (address); function WETH() external pure returns (address); function addLiquidity( address tokenA, address tokenB, uint amountADesired, uint amountBDesired, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB, uint liquidity); function addLiquidityETH( address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external payable returns (uint amountToken, uint amountETH, uint liquidity); function removeLiquidity( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline ) external returns (uint amountA, uint amountB); function removeLiquidityETH( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline ) external returns (uint amountToken, uint amountETH); function removeLiquidityWithPermit( address tokenA, address tokenB, uint liquidity, uint amountAMin, uint amountBMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountA, uint amountB); function removeLiquidityETHWithPermit( address token, uint liquidity, uint amountTokenMin, uint amountETHMin, address to, uint deadline, bool approveMax, uint8 v, bytes32 r, bytes32 s ) external returns (uint amountToken, uint amountETH); function swapExactTokensForTokens( uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapTokensForExactTokens( uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline ) external returns (uint[] memory amounts); function swapExactETHForTokens(uint amountOutMin, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function swapTokensForExactETH(uint amountOut, uint amountInMax, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapExactTokensForETH(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external returns (uint[] memory amounts); function swapETHForExactTokens(uint amountOut, address[] calldata path, address to, uint deadline) external payable returns (uint[] memory amounts); function quote(uint amountA, uint reserveA, uint reserveB) external pure returns (uint amountB); function getAmountOut(uint amountIn, uint reserveIn, uint reserveOut) external pure returns (uint amountOut); function getAmountIn(uint amountOut, uint reserveIn, uint reserveOut) external pure returns (uint amountIn); function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts); function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts); }
//SPDX-License-Identifier: UNLICENSED pragma solidity ^0.7.0; interface ERC20Interface { /** * @dev Returns the amount of tokens in existence. */ function totalSupply() external view returns (uint256); /** * @dev Returns the token decimals. */ function decimals() external view returns (uint8); /** * @dev Returns the token symbol. */ function symbol() external view returns (string memory); /** * @dev Returns the token name. */ function name() external view returns (string memory); /** * @dev Returns the bep token owner. */ function getOwner() external view returns (address); /** * @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); }
//SPDX-License-Identifier: UNLICENSED pragma solidity ^0.7.0; /** * @dev Wrappers over Solidity's arithmetic operations with added overflow * checks. * * Arithmetic operations in Solidity wrap on overflow. This can easily result * in bugs, because programmers usually assume that an overflow raises an * error, which is the standard behavior in high level programming languages. * `SafeMath` restores this intuition by reverting the transaction when an * operation overflows. * * Using this library instead of the unchecked operations eliminates an entire * class of bugs, so it's recommended to use it always. */ library SafeMath { /** * @dev Returns the addition of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `+` operator. * * Requirements: * - Addition cannot overflow. */ function add(uint256 a, uint256 b) internal pure returns (uint256) { return add(a, b, "SafeMath: addition overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function add(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { uint256 c = a + b; require(c >= a, errorMessage); return c; } /** * @dev Returns the subtraction of two unsigned integers, reverting on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b) internal pure returns (uint256) { return sub(a, b, "SafeMath: subtraction overflow"); } /** * @dev Returns the subtraction of two unsigned integers, reverting with custom message on * overflow (when the result is negative). * * Counterpart to Solidity's `-` operator. * * Requirements: * - Subtraction cannot overflow. */ function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b <= a, errorMessage); uint256 c = a - b; return c; } /** * @dev Returns the multiplication of two unsigned integers, reverting on * overflow. * * Counterpart to Solidity's `*` operator. * * Requirements: * - Multiplication cannot overflow. */ function mul(uint256 a, uint256 b) internal pure returns (uint256) { // 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 0; } uint256 c = a * b; require(c / a == b, "SafeMath: multiplication overflow"); return c; } /** * @dev Returns the integer division of two unsigned integers. Reverts on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b) internal pure returns (uint256) { return div(a, b, "SafeMath: division by zero"); } /** * @dev Returns the integer division of two unsigned integers. Reverts with custom message on * division by zero. The result is rounded towards zero. * * Counterpart to Solidity's `/` operator. Note: this function uses a * `revert` opcode (which leaves remaining gas untouched) while Solidity * uses an invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { // Solidity only automatically asserts when dividing by 0 require(b > 0, errorMessage); uint256 c = a / b; // assert(a == b * c + a % b); // There is no case in which this doesn't hold return c; } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b) internal pure returns (uint256) { return mod(a, b, "SafeMath: modulo by zero"); } /** * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), * Reverts with custom message when dividing by zero. * * Counterpart to Solidity's `%` operator. This function uses a `revert` * opcode (which leaves remaining gas untouched) while Solidity uses an * invalid opcode to revert (consuming all remaining gas). * * Requirements: * - The divisor cannot be zero. */ function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) { require(b != 0, errorMessage); return a % b; } }
{ "optimizer": { "enabled": true, "runs": 100 }, "metadata": { "bytecodeHash": "none", "useLiteralContent": true }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
[{"inputs":[{"internalType":"address","name":"_token","type":"address"},{"internalType":"address","name":"_usdt","type":"address"},{"internalType":"address","name":"_weth","type":"address"},{"internalType":"address","name":"_router","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"USDC","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WETH","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"description","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getPrice","outputs":[{"internalType":"int256","name":"","type":"int256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint80","name":"_roundId","type":"uint80"}],"name":"getRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"latestRoundData","outputs":[{"internalType":"uint80","name":"roundId","type":"uint80"},{"internalType":"int256","name":"answer","type":"int256"},{"internalType":"uint256","name":"startedAt","type":"uint256"},{"internalType":"uint256","name":"updatedAt","type":"uint256"},{"internalType":"uint80","name":"answeredInRound","type":"uint80"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint8","name":"_value","type":"uint8"}],"name":"setDecimals","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"string","name":"_value","type":"string"}],"name":"setDescription","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setTestAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"setVersion","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"testAmountsIn","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"token","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transaferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"}]
Contract Creation Code
61010060405234801561001157600080fd5b50604051610f47380380610f478339818101604052608081101561003457600080fd5b50805160208083015160408085015160609586015185871b6001600160601b031990811660e05284881b811660805282881b811660a0529681901b90961660c052670de0b6b3a764000060005560018054336001600160a01b03199091161760ff60a01b1916600160a31b179055815180830190925260138083527f637573746f6d20707269636520666565642032000000000000000000000000009290940191825293949193926100e8916002916100f8565b5050600160035550610199915050565b828054600181600116156101000203166002900490600052602060002090601f01602090048101928261012e5760008555610174565b82601f1061014757805160ff1916838001178555610174565b82800160010185558215610174579182015b82811115610174578251825591602001919060010190610159565b50610180929150610184565b5090565b5b808211156101805760008155600101610185565b60805160601c60a05160601c60c05160601c60e05160601c610d4f6101f860003980610639528061093d5280610b0052508061072b5280610adc5250806106875280610ab852508061058552806106d552806108a05250610d4f6000f3fe608060405234801561001057600080fd5b50600436106100eb5760003560e01c80638da5cb5b116100925780638da5cb5b1461023657806390c3f38f1461023e57806398d5fdca146102e25780639a3b7b65146102ea5780639a6fc8f514610307578063ad5c464814610371578063f887ea4014610379578063fc0c546a14610381578063feaf968c14610389576100eb565b80631de59c6e146100f0578063313ce5671461010a578063408def1e1461012857806354fd4d50146101475780635dda6b7c1461014f5780637284e416146101755780637a1395aa146101f257806389a3027114610212575b600080fd5b6100f8610391565b60408051918252519081900360200190f35b610112610397565b6040805160ff9092168252519081900360200190f35b6101456004803603602081101561013e57600080fd5b50356103a7565b005b6100f86103f0565b6101456004803603602081101561016557600080fd5b50356001600160a01b03166103f6565b61017d61048c565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101b757818101518382015260200161019f565b50505050905090810190601f1680156101e45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101456004803603602081101561020857600080fd5b503560ff1661051f565b61021a610583565b604080516001600160a01b039092168252519081900360200190f35b61021a6105a7565b6101456004803603602081101561025457600080fd5b810190602081018135600160201b81111561026e57600080fd5b82018360208201111561028057600080fd5b803590602001918460018302840111600160201b831117156102a157600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506105b6945050505050565b6100f8610611565b6101456004803603602081101561030057600080fd5b5035610a4d565b61032d6004803603602081101561031d57600080fd5b50356001600160501b0316610a96565b60405180866001600160501b03168152602001858152602001848152602001838152602001826001600160501b031681526020019550505050505060405180910390f35b61021a610ab6565b61021a610ada565b61021a610afe565b61032d610b22565b60005481565b600154600160a01b900460ff1690565b6001546001600160a01b031633146103eb576040805162461bcd60e51b81526020600482015260026024820152616f6f60f01b604482015290519081900360640190fd5b600355565b60035490565b6001546001600160a01b0316331461043a576040805162461bcd60e51b81526020600482015260026024820152616f6f60f01b604482015290519081900360640190fd5b600180546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60028054604080516020601f60001961010060018716150201909416859004938401819004810282018101909252828152606093909290918301828280156105155780601f106104ea57610100808354040283529160200191610515565b820191906000526020600020905b8154815290600101906020018083116104f857829003601f168201915b5050505050905090565b6001546001600160a01b03163314610563576040805162461bcd60e51b81526020600482015260026024820152616f6f60f01b604482015290519081900360640190fd5b6001805460ff909216600160a01b0260ff60a01b19909216919091179055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b031681565b6001546001600160a01b031633146105fa576040805162461bcd60e51b81526020600482015260026024820152616f6f60f01b604482015290519081900360640190fd5b805161060d906002906020840190610c80565b5050565b60408051600380825260808201909252600091829190602082016060803683370190505090507f00000000000000000000000000000000000000000000000000000000000000008160008151811061066557fe5b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000000000000000000000000000000000000000000000816001815181106106b357fe5b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160028151811061070157fe5b60200260200101906001600160a01b031690816001600160a01b03168152505060008054905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d06ca61f83856040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b838110156107af578181015183820152602001610797565b50505050905001935050505060006040518083038186803b1580156107d357600080fd5b505afa1580156107e7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561081057600080fd5b8101908080516040519392919084600160201b82111561082f57600080fd5b90830190602082018581111561084457600080fd5b82518660208202830111600160201b8211171561086057600080fd5b82525081516020918201928201910280838360005b8381101561088d578181015183820152602001610875565b50505050905001604052505050905060007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156108f757600080fd5b505afa15801561090b573d6000803e3d6000fd5b505050506040513d602081101561092157600080fd5b50516040805163313ce56760e01b815290516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000169163313ce567916004808301926020929190829003018186803b15801561098357600080fd5b505afa158015610997573d6000803e3d6000fd5b505050506040513d60208110156109ad57600080fd5b505160015460ff600160a01b9091048116909101919091031690506000808212610a0e57610a07600054610a0184600a0a866002815181106109eb57fe5b6020026020010151610b3f90919063ffffffff16565b90610ba1565b9050610a44565b610a41600054610a0184600003600a0a86600281518110610a2b57fe5b6020026020010151610ba190919063ffffffff16565b90505b94505050505090565b6001546001600160a01b03163314610a91576040805162461bcd60e51b81526020600482015260026024820152616f6f60f01b604482015290519081900360640190fd5b600055565b806000808080610aa4610611565b94969495504294859450439350915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b7f000000000000000000000000000000000000000000000000000000000000000081565b436000808080610b30610611565b94954294508493504392509050565b600082610b4e57506000610b9b565b82820282848281610b5b57fe5b0414610b985760405162461bcd60e51b8152600401808060200182810382526021815260200180610d226021913960400191505060405180910390fd5b90505b92915050565b6000610b9883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525060008183610c6a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610c2f578181015183820152602001610c17565b50505050905090810190601f168015610c5c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b506000838581610c7657fe5b0495945050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282610cb65760008555610cfc565b82601f10610ccf57805160ff1916838001178555610cfc565b82800160010185558215610cfc579182015b82811115610cfc578251825591602001919060010190610ce1565b50610d08929150610d0c565b5090565b5b80821115610d085760008155600101610d0d56fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a164736f6c6343000706000a000000000000000000000000bc7b0223dd16cbc679c0d04ba3f4530d76dfba87000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000bc7b0223dd16cbc679c0d04ba3f4530d76dfba87000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c700000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4
-----Decoded View---------------
Arg [0] : _token (address): 0xbc7b0223dd16cbc679c0d04ba3f4530d76dfba87
Arg [1] : _usdt (address): 0xb97ef9ef8734c71904d8002f8b6bc66dd9c48a6e
Arg [2] : _weth (address): 0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7
Arg [3] : _router (address): 0x60ae616a2155ee3d9a68541ba4544862310933d4
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 000000000000000000000000bc7b0223dd16cbc679c0d04ba3f4530d76dfba87
Arg [1] : 000000000000000000000000b97ef9ef8734c71904d8002f8b6bc66dd9c48a6e
Arg [2] : 000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7
Arg [3] : 00000000000000000000000060ae616a2155ee3d9a68541ba4544862310933d4
Age | Block | Fee Address | BC Fee Address | Voting Power | Jailed | Incoming |
---|
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.