This nametag was submitted by Kleros Curate.
More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 3,220 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Convert Multiple | 21196188 | 7 days ago | IN | 0 ETH | 0.00643176 | ||||
Convert | 20029930 | 170 days ago | IN | 0 ETH | 0.00210923 | ||||
Convert | 20029880 | 170 days ago | IN | 0 ETH | 0.00210268 | ||||
Convert | 20024805 | 171 days ago | IN | 0 ETH | 0.00191385 | ||||
Convert | 20024134 | 171 days ago | IN | 0 ETH | 0.00177777 | ||||
Convert | 20024058 | 171 days ago | IN | 0 ETH | 0.00157256 | ||||
Convert | 20024022 | 171 days ago | IN | 0 ETH | 0.00176763 | ||||
Convert | 20019927 | 172 days ago | IN | 0 ETH | 0.00337207 | ||||
Convert | 20019671 | 172 days ago | IN | 0 ETH | 0.00490843 | ||||
Convert Multiple | 19973185 | 178 days ago | IN | 0 ETH | 0.01174212 | ||||
Convert Multiple | 19973185 | 178 days ago | IN | 0 ETH | 0.00346558 | ||||
Convert Multiple | 19972439 | 178 days ago | IN | 0 ETH | 0.00323899 | ||||
Convert Multiple | 19972321 | 178 days ago | IN | 0 ETH | 0.00360401 | ||||
Convert Multiple | 19972313 | 178 days ago | IN | 0 ETH | 0.00354687 | ||||
Convert Multiple | 19858745 | 194 days ago | IN | 0 ETH | 0.00193253 | ||||
Convert | 19644878 | 224 days ago | IN | 0 ETH | 0.00210467 | ||||
Convert | 19644833 | 224 days ago | IN | 0 ETH | 0.00229742 | ||||
Convert | 19552907 | 237 days ago | IN | 0 ETH | 0.00461283 | ||||
Convert Multiple | 19552848 | 237 days ago | IN | 0 ETH | 0.00719473 | ||||
Convert Multiple | 19521911 | 241 days ago | IN | 0 ETH | 0.01134849 | ||||
Convert Multiple | 19521911 | 241 days ago | IN | 0 ETH | 0.04074341 | ||||
Convert | 18944106 | 322 days ago | IN | 0 ETH | 0.00350951 | ||||
Convert | 18944106 | 322 days ago | IN | 0 ETH | 0.00351107 | ||||
Convert | 18897109 | 329 days ago | IN | 0 ETH | 0.00397288 | ||||
Convert | 18897109 | 329 days ago | IN | 0 ETH | 0.00397288 |
View more zero value Internal Transactions in Advanced View mode
Advanced mode:
Loading...
Loading
Contract Name:
TreasureFinder
Compiler Version
v0.6.12+commit.27d51765
Optimization Enabled:
Yes with 5000 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT // P1 - P3: OK pragma solidity 0.6.12; import "./libraries/BoringMath.sol"; import "./libraries/BoringERC20.sol"; import "./uniswapv2/interfaces/IUniswapV2ERC20.sol"; import "./uniswapv2/interfaces/IUniswapV2Pair.sol"; import "./uniswapv2/interfaces/IUniswapV2Factory.sol"; import "./BoringOwnable.sol"; // TreasureFinder is TopDog's left hand and kinda a wizard. He can cook up Bone from pretty much anything! // This contract handles "serving up" rewards for xShib, xLeash, tBone holders by trading tokens collected from fees into the corresponding form. // T1 - T4: OK contract TreasureFinder is BoringOwnable { using BoringMath for uint256; using BoringERC20 for IERC20; // V1 - V5: OK IUniswapV2Factory public immutable factory; //0xabcd... // V1 - V5: OK address public immutable buryBone; //0xabcd.. // V1 - V5: OK address public immutable buryLeash; //0xabcd.. // V1 - V5: OK address public immutable buryShib; //0xabcd.. // V1 - V5: OK address private immutable bone; //0xabcd... // V1 - V5: OK address private immutable shib; //0xabcd... // V1 - V5: OK address private immutable leash; //0xabcd... // V1 - V5: OK address private immutable weth; //0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 address public topCoinDestination; // V1 - V5: OK mapping(address => address) internal _bridges; // E1: OK event LogBridgeSet(address indexed token, address indexed bridge); // E1: OK event LogConvert( address indexed server, address indexed token0, address indexed token1, uint256 amount0, uint256 amount1, uint256 amountBONE ); event TopCoinDestination(address indexed user, address indexed destination); constructor ( address _factory, address _swapRewardDistributor, address _buryBone, address _buryLeash, address _buryShib, address _bone, address _shib, address _leash, address _weth ) public { require(address(_factory) != address(0), "_factory is a zero address"); require(address(_bone) != address(0), "_bone is a zero address"); require(address(_shib) != address(0), "_shib is a zero address"); require(address(_leash) != address(0), "_leash is a zero address"); require(address(_weth) != address(0), "_weth is a zero address"); factory = IUniswapV2Factory(_factory); buryBone = _buryBone; buryLeash = _buryLeash; buryShib = _buryShib; bone = _bone; shib = _shib; leash = _leash; weth = _weth; topCoinDestination = _swapRewardDistributor; } // F1 - F10: OK // C1 - C24: OK function bridgeFor(address token) public view returns (address bridge) { bridge = _bridges[token]; if (bridge == address(0)) { bridge = weth; } } // F1 - F10: OK // C1 - C24: OK function setBridge(address token, address bridge) external onlyOwner { // Checks require( token != bone && token != weth && token != bridge, "TreasureFinder: Invalid bridge" ); // Effects _bridges[token] = bridge; emit LogBridgeSet(token, bridge); } // M1 - M5: OK // C1 - C24: OK // C6: It's not a fool proof solution, but it prevents flash loans, so here it's ok to use tx.origin modifier onlyEOA() { // Try to make flash-loan exploit harder to do by only allowing externally owned addresses. require(msg.sender == tx.origin, "TreasureFinder: must use EOA"); _; } // F1 - F10: OK // F3: _convert is separate to save gas by only checking the 'onlyEOA' modifier once in case of convertMultiple // F6: There is an exploit to add lots of BONE to the bar, run convert, then remove the BONE again. // As the size of the BuryBone has grown, this requires large amounts of funds and isn't super profitable anymore // The onlyEOA modifier prevents this being done with a flash loan. // C1 - C24: OK function convert(address token0, address token1) external onlyEOA() { uint amountBONE = _convert(token0, token1); buryTokens(amountBONE); } // F1 - F10: OK, see convert // C1 - C24: OK // C3: Loop is under control of the caller function convertMultiple( address[] calldata token0, address[] calldata token1 ) external onlyEOA() { // TODO: This can be optimized a fair bit, but this is safer and simpler for now uint256 len = token0.length; uint amountBONE; for(uint256 i=0; i < len; i++) { amountBONE = amountBONE.add(_convert(token0[i], token1[i])); } buryTokens(amountBONE); } function buryTokens(uint amountBONE) internal { if(amountBONE == 0) { return; } uint amountBONEtoBury = amountBONE / 3; uint amountBONEtoSwap = amountBONE.sub(amountBONEtoBury); uint ethToSwap = _swap(bone, weth, amountBONEtoSwap, address(this)); uint ethForShib = ethToSwap / 2; uint ethForLeash = ethToSwap.sub(ethForShib); uint amountSHIBtoBury = _swap(weth, shib, ethForShib, buryShib); uint amountLEASHtoBury = _swap(weth, leash, ethForLeash, buryLeash); IERC20(bone).safeTransfer(buryBone, amountBONEtoBury); } // F1 - F10: OK // C1- C24: OK function _convert(address token0, address token1) internal returns(uint256) { // Interactions // S1 - S4: OK IUniswapV2Pair pair = IUniswapV2Pair(factory.getPair(token0, token1)); require(address(pair) != address(0), "TreasureFinder: Invalid pair"); // balanceOf: S1 - S4: OK // transfer: X1 - X5: OK IERC20(address(pair)).safeTransfer( address(pair), pair.balanceOf(address(this)) ); // X1 - X5: OK (uint256 amount0, uint256 amount1) = pair.burn(address(this)); if (token0 != pair.token0()) { (amount0, amount1) = (amount1, amount0); } uint amountBONE; if (!_convertTopCoins(token0, token1, amount0, amount1)) { // convert amount0, amount1 to BONE amountBONE = _convertStep(token0, token1, amount0, amount1); emit LogConvert( msg.sender, token0, token1, amount0, amount1, amountBONE ); } return amountBONE; } function _convertTopCoins( address token0, address token1, uint amount0, uint amount1 ) internal returns(bool) { bool isTop0 = factory.topCoins(token0); bool isTop1 = factory.topCoins(token1); if (isTop0 && isTop1) { IERC20(token0).safeTransfer(topCoinDestination, amount0); IERC20(token1).safeTransfer(topCoinDestination, amount1); } else if (isTop0) { IERC20(token0).safeTransfer(topCoinDestination, _swap(token1, token0, amount1, address(this)).add(amount0)); } else if (isTop1) { IERC20(token1).safeTransfer(topCoinDestination, _swap(token0, token1, amount0, address(this)).add(amount1)); } else { return false; } return true; } // F1 - F10: OK // C1 - C24: OK // All safeTransfer, _swap, _toBONE, _convertStep: X1 - X5: OK function _convertStep( address token0, address token1, uint256 amount0, uint256 amount1 ) internal returns(uint256 boneOut) { // Interactions if (token0 == token1) { uint256 amount = amount0.add(amount1); if (token0 == bone) { boneOut = amount; } else if (token0 == weth) { boneOut = _toBONE(weth, amount); } else { address bridge = bridgeFor(token0); amount = _swap(token0, bridge, amount, address(this)); boneOut = _convertStep(bridge, bridge, amount, 0); } } else if (token0 == bone) { // eg. BONE - ETH boneOut = _toBONE(token1, amount1).add(amount0); } else if (token1 == bone) { // eg. USDT - BONE boneOut = _toBONE(token0, amount0).add(amount1); } else if (token0 == weth) { // eg. ETH - USDC boneOut = _toBONE( weth, _swap(token1, weth, amount1, address(this)).add(amount0) ); } else if (token1 == weth) { // eg. USDT - ETH boneOut = _toBONE( weth, _swap(token0, weth, amount0, address(this)).add(amount1) ); } else { // eg. MIC - USDT address bridge0 = bridgeFor(token0); address bridge1 = bridgeFor(token1); if (bridge0 == token1) { // eg. MIC - USDT - and bridgeFor(MIC) = USDT boneOut = _convertStep( bridge0, token1, _swap(token0, bridge0, amount0, address(this)), amount1 ); } else if (bridge1 == token0) { // eg. WBTC - DSD - and bridgeFor(DSD) = WBTC boneOut = _convertStep( token0, bridge1, amount0, _swap(token1, bridge1, amount1, address(this)) ); } else { // eg. USDT - DSD - and bridgeFor(DSD) = WBTC boneOut = _convertStep( bridge0, bridge1, _swap(token0, bridge0, amount0, address(this)), _swap(token1, bridge1, amount1, address(this)) ); } } } // F1 - F10: OK // C1 - C24: OK // All safeTransfer, swap: X1 - X5: OK function _swap(address fromToken, address toToken, uint256 amountIn, address to) internal returns (uint256 amountOut) { if(amountIn == 0) { return 0; } // Checks // X1 - X5: OK IUniswapV2Pair pair = IUniswapV2Pair(factory.getPair(fromToken, toToken)); require(address(pair) != address(0), "TreasureFinder: Cannot convert"); // Interactions // X1 - X5: OK (uint256 reserve0, uint256 reserve1,) = pair.getReserves(); uint256 amountInWithFee = amountIn.mul(uint(1000).sub(pair.totalFee())); if (fromToken == pair.token0()) { amountOut = amountInWithFee.mul(reserve1) / reserve0.mul(1000).add(amountInWithFee); IERC20(fromToken).safeTransfer(address(pair), amountIn); pair.swap(0, amountOut, to, new bytes(0)); // TODO: Add maximum slippage? } else { amountOut = amountInWithFee.mul(reserve0) / reserve1.mul(1000).add(amountInWithFee); IERC20(fromToken).safeTransfer(address(pair), amountIn); pair.swap(amountOut, 0, to, new bytes(0)); // TODO: Add maximum slippage? } } // F1 - F10: OK // C1 - C24: OK function _toBONE(address token, uint256 amountIn) internal returns(uint256 amountOut) { // X1 - X5: OK amountOut = _swap(token, bone, amountIn, address(this)); } function setTopCoinDestination(address _destination) external onlyOwner { topCoinDestination = _destination; emit TopCoinDestination(msg.sender, _destination); } }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; // a library for performing overflow-safe math, updated with awesomeness from of DappHub (https://github.com/dapphub/ds-math) library BoringMath { function add(uint256 a, uint256 b) internal pure returns (uint256 c) {require((c = a + b) >= b, "BoringMath: Add Overflow");} function sub(uint256 a, uint256 b) internal pure returns (uint256 c) {require((c = a - b) <= a, "BoringMath: Underflow");} function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {require(b == 0 || (c = a * b)/b == a, "BoringMath: Mul Overflow");} function to128(uint256 a) internal pure returns (uint128 c) { require(a <= uint128(-1), "BoringMath: uint128 Overflow"); c = uint128(a); } } library BoringMath128 { function add(uint128 a, uint128 b) internal pure returns (uint128 c) {require((c = a + b) >= b, "BoringMath: Add Overflow");} function sub(uint128 a, uint128 b) internal pure returns (uint128 c) {require((c = a - b) <= a, "BoringMath: Underflow");} }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; import "../interfaces/IERC20.sol"; library BoringERC20 { function safeSymbol(IERC20 token) internal view returns(string memory) { (bool success, bytes memory data) = address(token).staticcall(abi.encodeWithSelector(0x95d89b41)); return success && data.length > 0 ? abi.decode(data, (string)) : "???"; } function safeName(IERC20 token) internal view returns(string memory) { (bool success, bytes memory data) = address(token).staticcall(abi.encodeWithSelector(0x06fdde03)); return success && data.length > 0 ? abi.decode(data, (string)) : "???"; } function safeDecimals(IERC20 token) public view returns (uint8) { (bool success, bytes memory data) = address(token).staticcall(abi.encodeWithSelector(0x313ce567)); return success && data.length == 32 ? abi.decode(data, (uint8)) : 18; } function safeTransfer(IERC20 token, address to, uint256 amount) internal { (bool success, bytes memory data) = address(token).call(abi.encodeWithSelector(0xa9059cbb, to, amount)); require(success && (data.length == 0 || abi.decode(data, (bool))), "BoringERC20: Transfer failed"); } function safeTransferFrom(IERC20 token, address from, uint256 amount) internal { (bool success, bytes memory data) = address(token).call(abi.encodeWithSelector(0x23b872dd, from, address(this), amount)); require(success && (data.length == 0 || abi.decode(data, (bool))), "BoringERC20: TransferFrom failed"); } }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IUniswapV2ERC20 { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IUniswapV2Pair { event Approval(address indexed owner, address indexed spender, uint value); event Transfer(address indexed from, address indexed to, uint value); function name() external pure returns (string memory); function symbol() external pure returns (string memory); function decimals() external pure returns (uint8); function totalSupply() external view returns (uint); function balanceOf(address owner) external view returns (uint); function allowance(address owner, address spender) external view returns (uint); function approve(address spender, uint value) external returns (bool); function transfer(address to, uint value) external returns (bool); function transferFrom(address from, address to, uint value) external returns (bool); function DOMAIN_SEPARATOR() external view returns (bytes32); function PERMIT_TYPEHASH() external pure returns (bytes32); function nonces(address owner) external view returns (uint); function permit(address owner, address spender, uint value, uint deadline, uint8 v, bytes32 r, bytes32 s) external; event Mint(address indexed sender, uint amount0, uint amount1); event Burn(address indexed sender, uint amount0, uint amount1, address indexed to); event Swap( address indexed sender, uint amount0In, uint amount1In, uint amount0Out, uint amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint); function factory() external view returns (address); function token0() external view returns (address); function token1() external view returns (address); function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast); function price0CumulativeLast() external view returns (uint); function price1CumulativeLast() external view returns (uint); function kLast() external view returns (uint); function totalFee() external view returns (uint); function alpha() external view returns (uint); function beta() external view returns (uint); function mint(address to) external returns (uint liquidity); function burn(address to) external returns (uint amount0, uint amount1); function swap(uint amount0Out, uint amount1Out, address to, bytes calldata data) external; function skim(address to) external; function sync() external; function initialize(address, address, uint, uint, uint) external; }
// SPDX-License-Identifier: MIT pragma solidity >=0.5.0; interface IUniswapV2Factory { event PairCreated(address indexed token0, address indexed token1, address pair, uint); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function migrator() external view returns (address); function totalFeeTopCoin() external view returns (uint); function alphaTopCoin() external view returns (uint); function betaTopCoin() external view returns (uint); function totalFeeRegular() external view returns (uint); function alphaRegular() external view returns (uint); function betaRegular() external view returns (uint); function topCoins(address token) external view returns (bool isTopCoin); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint) external view returns (address pair); function allPairsLength() external view returns (uint); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; function setMigrator(address) external; }
// SPDX-License-Identifier: MIT // Audit on 5-Jan-2021 by Keno and BoringCrypto // P1 - P3: OK pragma solidity 0.6.12; // Source: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol + Claimable.sol // Edited by BoringCrypto // T1 - T4: OK contract BoringOwnableData { // V1 - V5: OK address public owner; // V1 - V5: OK address public pendingOwner; } // T1 - T4: OK contract BoringOwnable is BoringOwnableData { // E1: OK event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); constructor () internal { owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } // F1 - F9: OK // C1 - C21: OK function transferOwnership(address newOwner, bool direct, bool renounce) public onlyOwner { if (direct) { // Checks require(newOwner != address(0) || renounce, "Ownable: zero address"); // Effects emit OwnershipTransferred(owner, newOwner); owner = newOwner; } else { // Effects pendingOwner = newOwner; } } // F1 - F9: OK // C1 - C21: OK function claimOwnership() public { address _pendingOwner = pendingOwner; // Checks require(msg.sender == _pendingOwner, "Ownable: caller != pending owner"); // Effects emit OwnershipTransferred(owner, _pendingOwner); owner = _pendingOwner; pendingOwner = address(0); } // M1 - M5: OK // C1 - C21: OK modifier onlyOwner() { require(msg.sender == owner, "Ownable: caller is not the owner"); _; } }
// SPDX-License-Identifier: MIT pragma solidity 0.6.12; interface IERC20 { function totalSupply() external view returns (uint256); function balanceOf(address account) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 amount) external returns (bool); event Transfer(address indexed from, address indexed to, uint256 value); event Approval(address indexed owner, address indexed spender, uint256 value); // EIP 2612 function permit(address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s) external; }
{ "optimizer": { "enabled": true, "runs": 5000 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "abi" ] } }, "metadata": { "useLiteralContent": true }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_swapRewardDistributor","type":"address"},{"internalType":"address","name":"_buryBone","type":"address"},{"internalType":"address","name":"_buryLeash","type":"address"},{"internalType":"address","name":"_buryShib","type":"address"},{"internalType":"address","name":"_bone","type":"address"},{"internalType":"address","name":"_shib","type":"address"},{"internalType":"address","name":"_leash","type":"address"},{"internalType":"address","name":"_weth","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"token","type":"address"},{"indexed":true,"internalType":"address","name":"bridge","type":"address"}],"name":"LogBridgeSet","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"server","type":"address"},{"indexed":true,"internalType":"address","name":"token0","type":"address"},{"indexed":true,"internalType":"address","name":"token1","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBONE","type":"uint256"}],"name":"LogConvert","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"user","type":"address"},{"indexed":true,"internalType":"address","name":"destination","type":"address"}],"name":"TopCoinDestination","type":"event"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"bridgeFor","outputs":[{"internalType":"address","name":"bridge","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buryBone","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buryLeash","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buryShib","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"claimOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token0","type":"address"},{"internalType":"address","name":"token1","type":"address"}],"name":"convert","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"token0","type":"address[]"},{"internalType":"address[]","name":"token1","type":"address[]"}],"name":"convertMultiple","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"factory","outputs":[{"internalType":"contract IUniswapV2Factory","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pendingOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"bridge","type":"address"}],"name":"setBridge","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_destination","type":"address"}],"name":"setTopCoinDestination","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"topCoinDestination","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"},{"internalType":"bool","name":"direct","type":"bool"},{"internalType":"bool","name":"renounce","type":"bool"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
61018060405234801561001157600080fd5b50604051620020ad380380620020ad833981810160405261012081101561003757600080fd5b50805160208201516040808401516060850151608086015160a087015160c088015160e089015161010090990151600080546001600160a01b0319163390811782559751999a98999698959794969395929492939192917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36001600160a01b03891661010e576040805162461bcd60e51b815260206004820152601a60248201527f5f666163746f72792069732061207a65726f2061646472657373000000000000604482015290519081900360640190fd5b6001600160a01b038416610169576040805162461bcd60e51b815260206004820152601760248201527f5f626f6e652069732061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b6001600160a01b0383166101c4576040805162461bcd60e51b815260206004820152601760248201527f5f736869622069732061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b6001600160a01b03821661021f576040805162461bcd60e51b815260206004820152601860248201527f5f6c656173682069732061207a65726f20616464726573730000000000000000604482015290519081900360640190fd5b6001600160a01b03811661027a576040805162461bcd60e51b815260206004820152601760248201527f5f776574682069732061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b606089811b6001600160601b031990811660805288821b811660a05287821b811660c05286821b811660e05285821b81166101005284821b81166101205283821b8116610140529082901b1661016052600280546001600160a01b0319166001600160a01b03998a161790559787169795871696948516959385169492831693918316929081169116611ceb620003c2600039806107c952806108ff5280610db85280610df95280610e69528061137f52806113bc52806114b352806114f052806115195280611546528061158352806115ac525080610e8a525080610e1a52508061078c5280610d975280610edf528061133d528061141c528061146b5280611c1c5250806104635280610e3c5250806106fa5280610eac5250806109265280610f015250806109b552806109eb52806110ec52806111c452806116ea5250611ceb6000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b6fe658f11610066578063b6fe658f146102a7578063bd1b820c146102af578063c45a0155146102dd578063e30c3978146102e5576100ea565b80638da5cb5b1461024b5780639d22ae8c14610253578063a761a93914610281576100ea565b80632f9c5141116100c85780632f9c514114610153578063303e6aa4146101795780634e71e0c81461023b5780637139a44814610243576100ea565b8063078dfbe7146100ef57806319feee731461012757806328ddc9071461014b575b600080fd5b6101256004803603606081101561010557600080fd5b506001600160a01b038135169060208101351515906040013515156102ed565b005b61012f610461565b604080516001600160a01b039092168252519081900360200190f35b61012f610485565b6101256004803603602081101561016957600080fd5b50356001600160a01b0316610494565b6101256004803603604081101561018f57600080fd5b8101906020810181356401000000008111156101aa57600080fd5b8201836020820111156101bc57600080fd5b803590602001918460208302840111640100000000831117156101de57600080fd5b9193909290916020810190356401000000008111156101fc57600080fd5b82018360208201111561020e57600080fd5b8035906020019184602083028401116401000000008311171561023057600080fd5b509092509050610557565b61012561061e565b61012f6106f8565b61012f61071c565b6101256004803603604081101561026957600080fd5b506001600160a01b038135811691602001351661072b565b61012f6004803603602081101561029757600080fd5b50356001600160a01b03166108dc565b61012f610924565b610125600480360360408110156102c557600080fd5b506001600160a01b0381358116916020013516610948565b61012f6109b3565b61012f6109d7565b6000546001600160a01b0316331461034c576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b8115610428576001600160a01b0383161515806103665750805b6103b7576040805162461bcd60e51b815260206004820152601560248201527f4f776e61626c653a207a65726f20616464726573730000000000000000000000604482015290519081900360640190fd5b600080546040516001600160a01b03808716939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851617905561045c565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385161790555b505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6002546001600160a01b031681565b6000546001600160a01b031633146104f3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831690811790915560405133907f2ef1486fc4f89c6e84643d3ff771f9c8ca76c4cffa85e324e10b0af5039f510890600090a350565b3332146105ab576040805162461bcd60e51b815260206004820152601c60248201527f547265617375726546696e6465723a206d7573742075736520454f4100000000604482015290519081900360640190fd5b826000805b8281101561060c576106026105fb8888848181106105ca57fe5b905060200201356001600160a01b03168787858181106105e657fe5b905060200201356001600160a01b03166109e6565b8390610d1c565b91506001016105b0565b5061061681610d74565b505050505050565b6001546001600160a01b031633811461067e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055600180549091169055565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000546001600160a01b031681565b6000546001600160a01b0316331461078a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141580156107fe57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b801561081c5750806001600160a01b0316826001600160a01b031614155b61086d576040805162461bcd60e51b815260206004820152601e60248201527f547265617375726546696e6465723a20496e76616c6964206272696467650000604482015290519081900360640190fd5b6001600160a01b0382811660008181526003602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f2e103aa707acc565f9a1547341914802b2bfe977fd79c595209f248ae4b006139190a35050565b6001600160a01b03808216600090815260036020526040902054168061091f57507f00000000000000000000000000000000000000000000000000000000000000005b919050565b7f000000000000000000000000000000000000000000000000000000000000000081565b33321461099c576040805162461bcd60e51b815260206004820152601c60248201527f547265617375726546696e6465723a206d7573742075736520454f4100000000604482015290519081900360640190fd5b60006109a883836109e6565b905061045c81610d74565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b031681565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a4390585856040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d6020811015610a9157600080fd5b505190506001600160a01b038116610af0576040805162461bcd60e51b815260206004820152601c60248201527f547265617375726546696e6465723a20496e76616c6964207061697200000000604482015290519081900360640190fd5b610b7e81826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b4157600080fd5b505afa158015610b55573d6000803e3d6000fd5b505050506040513d6020811015610b6b57600080fd5b50516001600160a01b0384169190610f31565b600080826001600160a01b03166389afcb44306040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050506040513d6040811015610bf957600080fd5b508051602091820151604080517f0dfe168100000000000000000000000000000000000000000000000000000000815290519295509093506001600160a01b03861692630dfe168192600480840193829003018186803b158015610c5c57600080fd5b505afa158015610c70573d6000803e3d6000fd5b505050506040513d6020811015610c8657600080fd5b50516001600160a01b03878116911614610c9c57905b6000610caa878785856110e7565b610d1057610cba87878585611311565b604080518581526020810185905280820183905290519192506001600160a01b0380891692908a169133917fd06b1d7ed79b664d17472c6f6997b929f1abe463ccccb4e5b6a0038f2f730c159181900360600190a45b93505050505b92915050565b81810181811015610d16576040805162461bcd60e51b815260206004820152601860248201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604482015290519081900360640190fd5b80610d7e57610f2e565b600381046000610d8e838361167f565b90506000610dde7f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000084306116d7565b9050600281046000610df0838361167f565b90506000610e607f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000006116d7565b90506000610ed07f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000857f00000000000000000000000000000000000000000000000000000000000000006116d7565b9050610f266001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000089610f31565b505050505050505b50565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310610ffa57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610fbd565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461105c576040519150601f19603f3d011682016040523d82523d6000602084013e611061565b606091505b509150915081801561108f57508051158061108f575080806020019051602081101561108c57600080fd5b50515b6110e0576040805162461bcd60e51b815260206004820152601c60248201527f426f72696e6745524332303a205472616e73666572206661696c656400000000604482015290519081900360640190fd5b5050505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663b2c649d8876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d602081101561118157600080fd5b5051604080517fb2c649d80000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015291519293506000927f00000000000000000000000000000000000000000000000000000000000000009092169163b2c649d891602480820192602092909190829003018186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d602081101561123757600080fd5b505190508180156112455750805b1561128357600254611264906001600160a01b03898116911687610f31565b60025461127e906001600160a01b03888116911686610f31565b611302565b81156112c05760025461127e906001600160a01b03166112af876112a98a8c8a306116d7565b90610d1c565b6001600160a01b038a169190610f31565b80156112f75760025461127e906001600160a01b03166112e6866112a98b8b8b306116d7565b6001600160a01b0389169190610f31565b600092505050611309565b6001925050505b949350505050565b6000836001600160a01b0316856001600160a01b0316141561141a5760006113398484610d1c565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b0316141561137d57809150611414565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b031614156113e8576113e17f000000000000000000000000000000000000000000000000000000000000000082611c14565b9150611414565b60006113f3876108dc565b9050611401878284306116d7565b91506114108182846000611311565b9250505b50611309565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316141561146957611462836112a98685611c14565b9050611309565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614156114b157611462826112a98786611c14565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161415611544576114627f000000000000000000000000000000000000000000000000000000000000000061153f856112a9887f000000000000000000000000000000000000000000000000000000000000000088306116d7565b611c14565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614156115d2576114627f000000000000000000000000000000000000000000000000000000000000000061153f846112a9897f000000000000000000000000000000000000000000000000000000000000000089306116d7565b60006115dd866108dc565b905060006115ea866108dc565b9050856001600160a01b0316826001600160a01b031614156116245761161d82876116178a868a306116d7565b87611311565b9250611675565b866001600160a01b0316816001600160a01b031614156116555761161d8782876116508a868a306116d7565b611311565b61167282826116668a868a306116d7565b6116508a868a306116d7565b92505b5050949350505050565b80820382811115610d16576040805162461bcd60e51b815260206004820152601560248201527f426f72696e674d6174683a20556e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6000826116e657506000611309565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a4390587876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561176657600080fd5b505afa15801561177a573d6000803e3d6000fd5b505050506040513d602081101561179057600080fd5b505190506001600160a01b0381166117ef576040805162461bcd60e51b815260206004820152601e60248201527f547265617375726546696e6465723a2043616e6e6f7420636f6e766572740000604482015290519081900360640190fd5b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561182b57600080fd5b505afa15801561183f573d6000803e3d6000fd5b505050506040513d606081101561185557600080fd5b508051602091820151604080517f1df4ccfc00000000000000000000000000000000000000000000000000000000815290516dffffffffffffffffffffffffffff93841696509290911693506000926119139261190c926001600160a01b03891692631df4ccfc92600480840193829003018186803b1580156118d757600080fd5b505afa1580156118eb573d6000803e3d6000fd5b505050506040513d602081101561190157600080fd5b50516103e89061167f565b8890611c49565b9050836001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561194e57600080fd5b505afa158015611962573d6000803e3d6000fd5b505050506040513d602081101561197857600080fd5b50516001600160a01b038a811691161415611acc5761199d816112a9856103e8611c49565b6119a78284611c49565b816119ae57fe5b0494506119c56001600160a01b038a168589610f31565b60408051600080825260208201928390527f022c0d9f00000000000000000000000000000000000000000000000000000000835260248201818152604483018990526001600160a01b038a81166064850152608060848501908152845160a48601819052918a169563022c0d9f958c948e9491939092909160c4850191908083838b5b83811015611a60578181015183820152602001611a48565b50505050905090810190601f168015611a8d5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611aaf57600080fd5b505af1158015611ac3573d6000803e3d6000fd5b50505050611c08565b611adc816112a9846103e8611c49565b611ae68285611c49565b81611aed57fe5b049450611b046001600160a01b038a168589610f31565b60408051600080825260208201928390527f022c0d9f00000000000000000000000000000000000000000000000000000000835260248201888152604483018290526001600160a01b038a81166064850152608060848501908152845160a48601819052918a169563022c0d9f958c95948e9491939092909160c4850191908083838a5b83811015611ba0578181015183820152602001611b88565b50505050905090810190601f168015611bcd5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611bef57600080fd5b505af1158015611c03573d6000803e3d6000fd5b505050505b50505050949350505050565b6000611c42837f000000000000000000000000000000000000000000000000000000000000000084306116d7565b9392505050565b6000811580611c6457505080820282828281611c6157fe5b04145b610d16576040805162461bcd60e51b815260206004820152601860248201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604482015290519081900360640190fdfea264697066735822122093b16efd07c9d8affe9bd2e1eb39e4e26decaf63c473b8a69aab89f1f7e346c364736f6c634300060c0033000000000000000000000000115934131916c8b277dd010ee02de363c09d037c000000000000000000000000f71741c102e5295813912cf3b2fc07bc740a0f1c000000000000000000000000f7a0383750fef5abace57cc4c9ff98e3790202b3000000000000000000000000a57d319b3cf3ad0e4d19770f71e63cf847263a0b000000000000000000000000b4a81261b16b92af0b9f7c4a83f1e885132d81e40000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d900000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce00000000000000000000000027c70cd1946795b66be9d954418546998b546634000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b6fe658f11610066578063b6fe658f146102a7578063bd1b820c146102af578063c45a0155146102dd578063e30c3978146102e5576100ea565b80638da5cb5b1461024b5780639d22ae8c14610253578063a761a93914610281576100ea565b80632f9c5141116100c85780632f9c514114610153578063303e6aa4146101795780634e71e0c81461023b5780637139a44814610243576100ea565b8063078dfbe7146100ef57806319feee731461012757806328ddc9071461014b575b600080fd5b6101256004803603606081101561010557600080fd5b506001600160a01b038135169060208101351515906040013515156102ed565b005b61012f610461565b604080516001600160a01b039092168252519081900360200190f35b61012f610485565b6101256004803603602081101561016957600080fd5b50356001600160a01b0316610494565b6101256004803603604081101561018f57600080fd5b8101906020810181356401000000008111156101aa57600080fd5b8201836020820111156101bc57600080fd5b803590602001918460208302840111640100000000831117156101de57600080fd5b9193909290916020810190356401000000008111156101fc57600080fd5b82018360208201111561020e57600080fd5b8035906020019184602083028401116401000000008311171561023057600080fd5b509092509050610557565b61012561061e565b61012f6106f8565b61012f61071c565b6101256004803603604081101561026957600080fd5b506001600160a01b038135811691602001351661072b565b61012f6004803603602081101561029757600080fd5b50356001600160a01b03166108dc565b61012f610924565b610125600480360360408110156102c557600080fd5b506001600160a01b0381358116916020013516610948565b61012f6109b3565b61012f6109d7565b6000546001600160a01b0316331461034c576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b8115610428576001600160a01b0383161515806103665750805b6103b7576040805162461bcd60e51b815260206004820152601560248201527f4f776e61626c653a207a65726f20616464726573730000000000000000000000604482015290519081900360640190fd5b600080546040516001600160a01b03808716939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03851617905561045c565b600180547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b0385161790555b505050565b7f000000000000000000000000b4a81261b16b92af0b9f7c4a83f1e885132d81e481565b6002546001600160a01b031681565b6000546001600160a01b031633146104f3576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600280547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b03831690811790915560405133907f2ef1486fc4f89c6e84643d3ff771f9c8ca76c4cffa85e324e10b0af5039f510890600090a350565b3332146105ab576040805162461bcd60e51b815260206004820152601c60248201527f547265617375726546696e6465723a206d7573742075736520454f4100000000604482015290519081900360640190fd5b826000805b8281101561060c576106026105fb8888848181106105ca57fe5b905060200201356001600160a01b03168787858181106105e657fe5b905060200201356001600160a01b03166109e6565b8390610d1c565b91506001016105b0565b5061061681610d74565b505050505050565b6001546001600160a01b031633811461067e576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316179055600180549091169055565b7f000000000000000000000000a57d319b3cf3ad0e4d19770f71e63cf847263a0b81565b6000546001600160a01b031681565b6000546001600160a01b0316331461078a576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b7f0000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d96001600160a01b0316826001600160a01b0316141580156107fe57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316826001600160a01b031614155b801561081c5750806001600160a01b0316826001600160a01b031614155b61086d576040805162461bcd60e51b815260206004820152601e60248201527f547265617375726546696e6465723a20496e76616c6964206272696467650000604482015290519081900360640190fd5b6001600160a01b0382811660008181526003602052604080822080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169486169485179055517f2e103aa707acc565f9a1547341914802b2bfe977fd79c595209f248ae4b006139190a35050565b6001600160a01b03808216600090815260036020526040902054168061091f57507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc25b919050565b7f000000000000000000000000f7a0383750fef5abace57cc4c9ff98e3790202b381565b33321461099c576040805162461bcd60e51b815260206004820152601c60248201527f547265617375726546696e6465723a206d7573742075736520454f4100000000604482015290519081900360640190fd5b60006109a883836109e6565b905061045c81610d74565b7f000000000000000000000000115934131916c8b277dd010ee02de363c09d037c81565b6001546001600160a01b031681565b6000807f000000000000000000000000115934131916c8b277dd010ee02de363c09d037c6001600160a01b031663e6a4390585856040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b158015610a6757600080fd5b505afa158015610a7b573d6000803e3d6000fd5b505050506040513d6020811015610a9157600080fd5b505190506001600160a01b038116610af0576040805162461bcd60e51b815260206004820152601c60248201527f547265617375726546696e6465723a20496e76616c6964207061697200000000604482015290519081900360640190fd5b610b7e81826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b158015610b4157600080fd5b505afa158015610b55573d6000803e3d6000fd5b505050506040513d6020811015610b6b57600080fd5b50516001600160a01b0384169190610f31565b600080826001600160a01b03166389afcb44306040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b158015610bcf57600080fd5b505af1158015610be3573d6000803e3d6000fd5b505050506040513d6040811015610bf957600080fd5b508051602091820151604080517f0dfe168100000000000000000000000000000000000000000000000000000000815290519295509093506001600160a01b03861692630dfe168192600480840193829003018186803b158015610c5c57600080fd5b505afa158015610c70573d6000803e3d6000fd5b505050506040513d6020811015610c8657600080fd5b50516001600160a01b03878116911614610c9c57905b6000610caa878785856110e7565b610d1057610cba87878585611311565b604080518581526020810185905280820183905290519192506001600160a01b0380891692908a169133917fd06b1d7ed79b664d17472c6f6997b929f1abe463ccccb4e5b6a0038f2f730c159181900360600190a45b93505050505b92915050565b81810181811015610d16576040805162461bcd60e51b815260206004820152601860248201527f426f72696e674d6174683a20416464204f766572666c6f770000000000000000604482015290519081900360640190fd5b80610d7e57610f2e565b600381046000610d8e838361167f565b90506000610dde7f0000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d97f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc284306116d7565b9050600281046000610df0838361167f565b90506000610e607f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc27f00000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce857f000000000000000000000000b4a81261b16b92af0b9f7c4a83f1e885132d81e46116d7565b90506000610ed07f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc27f00000000000000000000000027c70cd1946795b66be9d954418546998b546634857f000000000000000000000000a57d319b3cf3ad0e4d19770f71e63cf847263a0b6116d7565b9050610f266001600160a01b037f0000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d9167f000000000000000000000000f7a0383750fef5abace57cc4c9ff98e3790202b389610f31565b505050505050505b50565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb00000000000000000000000000000000000000000000000000000000178152925182516000946060949389169392918291908083835b60208310610ffa57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101610fbd565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461105c576040519150601f19603f3d011682016040523d82523d6000602084013e611061565b606091505b509150915081801561108f57508051158061108f575080806020019051602081101561108c57600080fd5b50515b6110e0576040805162461bcd60e51b815260206004820152601c60248201527f426f72696e6745524332303a205472616e73666572206661696c656400000000604482015290519081900360640190fd5b5050505050565b6000807f000000000000000000000000115934131916c8b277dd010ee02de363c09d037c6001600160a01b031663b2c649d8876040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561115757600080fd5b505afa15801561116b573d6000803e3d6000fd5b505050506040513d602081101561118157600080fd5b5051604080517fb2c649d80000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015291519293506000927f000000000000000000000000115934131916c8b277dd010ee02de363c09d037c9092169163b2c649d891602480820192602092909190829003018186803b15801561120d57600080fd5b505afa158015611221573d6000803e3d6000fd5b505050506040513d602081101561123757600080fd5b505190508180156112455750805b1561128357600254611264906001600160a01b03898116911687610f31565b60025461127e906001600160a01b03888116911686610f31565b611302565b81156112c05760025461127e906001600160a01b03166112af876112a98a8c8a306116d7565b90610d1c565b6001600160a01b038a169190610f31565b80156112f75760025461127e906001600160a01b03166112e6866112a98b8b8b306116d7565b6001600160a01b0389169190610f31565b600092505050611309565b6001925050505b949350505050565b6000836001600160a01b0316856001600160a01b0316141561141a5760006113398484610d1c565b90507f0000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d96001600160a01b0316866001600160a01b0316141561137d57809150611414565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316866001600160a01b031614156113e8576113e17f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc282611c14565b9150611414565b60006113f3876108dc565b9050611401878284306116d7565b91506114108182846000611311565b9250505b50611309565b7f0000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d96001600160a01b0316856001600160a01b0316141561146957611462836112a98685611c14565b9050611309565b7f0000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d96001600160a01b0316846001600160a01b031614156114b157611462826112a98786611c14565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316856001600160a01b03161415611544576114627f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc261153f856112a9887f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc288306116d7565b611c14565b7f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26001600160a01b0316846001600160a01b031614156115d2576114627f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc261153f846112a9897f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc289306116d7565b60006115dd866108dc565b905060006115ea866108dc565b9050856001600160a01b0316826001600160a01b031614156116245761161d82876116178a868a306116d7565b87611311565b9250611675565b866001600160a01b0316816001600160a01b031614156116555761161d8782876116508a868a306116d7565b611311565b61167282826116668a868a306116d7565b6116508a868a306116d7565b92505b5050949350505050565b80820382811115610d16576040805162461bcd60e51b815260206004820152601560248201527f426f72696e674d6174683a20556e646572666c6f770000000000000000000000604482015290519081900360640190fd5b6000826116e657506000611309565b60007f000000000000000000000000115934131916c8b277dd010ee02de363c09d037c6001600160a01b031663e6a4390587876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561176657600080fd5b505afa15801561177a573d6000803e3d6000fd5b505050506040513d602081101561179057600080fd5b505190506001600160a01b0381166117ef576040805162461bcd60e51b815260206004820152601e60248201527f547265617375726546696e6465723a2043616e6e6f7420636f6e766572740000604482015290519081900360640190fd5b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561182b57600080fd5b505afa15801561183f573d6000803e3d6000fd5b505050506040513d606081101561185557600080fd5b508051602091820151604080517f1df4ccfc00000000000000000000000000000000000000000000000000000000815290516dffffffffffffffffffffffffffff93841696509290911693506000926119139261190c926001600160a01b03891692631df4ccfc92600480840193829003018186803b1580156118d757600080fd5b505afa1580156118eb573d6000803e3d6000fd5b505050506040513d602081101561190157600080fd5b50516103e89061167f565b8890611c49565b9050836001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561194e57600080fd5b505afa158015611962573d6000803e3d6000fd5b505050506040513d602081101561197857600080fd5b50516001600160a01b038a811691161415611acc5761199d816112a9856103e8611c49565b6119a78284611c49565b816119ae57fe5b0494506119c56001600160a01b038a168589610f31565b60408051600080825260208201928390527f022c0d9f00000000000000000000000000000000000000000000000000000000835260248201818152604483018990526001600160a01b038a81166064850152608060848501908152845160a48601819052918a169563022c0d9f958c948e9491939092909160c4850191908083838b5b83811015611a60578181015183820152602001611a48565b50505050905090810190601f168015611a8d5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611aaf57600080fd5b505af1158015611ac3573d6000803e3d6000fd5b50505050611c08565b611adc816112a9846103e8611c49565b611ae68285611c49565b81611aed57fe5b049450611b046001600160a01b038a168589610f31565b60408051600080825260208201928390527f022c0d9f00000000000000000000000000000000000000000000000000000000835260248201888152604483018290526001600160a01b038a81166064850152608060848501908152845160a48601819052918a169563022c0d9f958c95948e9491939092909160c4850191908083838a5b83811015611ba0578181015183820152602001611b88565b50505050905090810190601f168015611bcd5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b158015611bef57600080fd5b505af1158015611c03573d6000803e3d6000fd5b505050505b50505050949350505050565b6000611c42837f0000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d984306116d7565b9392505050565b6000811580611c6457505080820282828281611c6157fe5b04145b610d16576040805162461bcd60e51b815260206004820152601860248201527f426f72696e674d6174683a204d756c204f766572666c6f770000000000000000604482015290519081900360640190fdfea264697066735822122093b16efd07c9d8affe9bd2e1eb39e4e26decaf63c473b8a69aab89f1f7e346c364736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
000000000000000000000000115934131916c8b277dd010ee02de363c09d037c000000000000000000000000f71741c102e5295813912cf3b2fc07bc740a0f1c000000000000000000000000f7a0383750fef5abace57cc4c9ff98e3790202b3000000000000000000000000a57d319b3cf3ad0e4d19770f71e63cf847263a0b000000000000000000000000b4a81261b16b92af0b9f7c4a83f1e885132d81e40000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d900000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce00000000000000000000000027c70cd1946795b66be9d954418546998b546634000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
-----Decoded View---------------
Arg [0] : _factory (address): 0x115934131916C8b277DD010Ee02de363c09d037c
Arg [1] : _swapRewardDistributor (address): 0xf71741c102e5295813912Cf3b2fc07bc740A0f1c
Arg [2] : _buryBone (address): 0xf7A0383750feF5AbaCe57cc4C9ff98e3790202b3
Arg [3] : _buryLeash (address): 0xa57D319B3Cf3aD0E4d19770f71E63CF847263A0b
Arg [4] : _buryShib (address): 0xB4a81261b16b92af0B9F7C4a83f1E885132D81e4
Arg [5] : _bone (address): 0x9813037ee2218799597d83D4a5B6F3b6778218d9
Arg [6] : _shib (address): 0x95aD61b0a150d79219dCF64E1E6Cc01f0B64C4cE
Arg [7] : _leash (address): 0x27C70Cd1946795B66be9d954418546998b546634
Arg [8] : _weth (address): 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
-----Encoded View---------------
9 Constructor Arguments found :
Arg [0] : 000000000000000000000000115934131916c8b277dd010ee02de363c09d037c
Arg [1] : 000000000000000000000000f71741c102e5295813912cf3b2fc07bc740a0f1c
Arg [2] : 000000000000000000000000f7a0383750fef5abace57cc4c9ff98e3790202b3
Arg [3] : 000000000000000000000000a57d319b3cf3ad0e4d19770f71e63cf847263a0b
Arg [4] : 000000000000000000000000b4a81261b16b92af0b9f7c4a83f1e885132d81e4
Arg [5] : 0000000000000000000000009813037ee2218799597d83d4a5b6f3b6778218d9
Arg [6] : 00000000000000000000000095ad61b0a150d79219dcf64e1e6cc01f0b64c4ce
Arg [7] : 00000000000000000000000027c70cd1946795b66be9d954418546998b546634
Arg [8] : 000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 30 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.