More Info
Private Name Tags
ContractCreator
Latest 25 from a total of 822 transactions
Transaction Hash |
Method
|
Block
|
From
|
To
|
|||||
---|---|---|---|---|---|---|---|---|---|
Convert | 36029321 | 566 days ago | IN | 0 AVAX | 0.01168763 | ||||
Convert | 30101310 | 707 days ago | IN | 0 AVAX | 0.0099465 | ||||
Convert | 30100936 | 707 days ago | IN | 0 AVAX | 0.0100024 | ||||
Convert | 30100793 | 707 days ago | IN | 0 AVAX | 0.011555 | ||||
Convert | 30100741 | 707 days ago | IN | 0 AVAX | 0.01408182 | ||||
Convert | 30100273 | 707 days ago | IN | 0 AVAX | 0.01565797 | ||||
Convert | 30095078 | 707 days ago | IN | 0 AVAX | 0.01108452 | ||||
Convert | 16012245 | 1044 days ago | IN | 0 AVAX | 0.00759127 | ||||
Convert | 16004013 | 1044 days ago | IN | 0 AVAX | 0.00776379 | ||||
Convert Multiple | 7852153 | 1234 days ago | IN | 0 AVAX | 0.04356495 | ||||
Convert Multiple | 7852145 | 1234 days ago | IN | 0 AVAX | 0.16732745 | ||||
Convert Multiple | 7848423 | 1234 days ago | IN | 0 AVAX | 0.05338302 | ||||
Convert | 6866562 | 1257 days ago | IN | 0 AVAX | 0.01078755 | ||||
Convert | 6828617 | 1258 days ago | IN | 0 AVAX | 0.01113407 | ||||
Convert | 6828615 | 1258 days ago | IN | 0 AVAX | 0.00746655 | ||||
Convert | 6828611 | 1258 days ago | IN | 0 AVAX | 0.01085872 | ||||
Convert | 6828610 | 1258 days ago | IN | 0 AVAX | 0.00772847 | ||||
Convert | 6828607 | 1258 days ago | IN | 0 AVAX | 0.00800192 | ||||
Convert | 6828604 | 1258 days ago | IN | 0 AVAX | 0.00678402 | ||||
Convert | 6823723 | 1258 days ago | IN | 0 AVAX | 0.00774252 | ||||
Convert | 6823718 | 1258 days ago | IN | 0 AVAX | 0.00783767 | ||||
Convert | 6823715 | 1258 days ago | IN | 0 AVAX | 0.0109542 | ||||
Convert | 6823710 | 1258 days ago | IN | 0 AVAX | 0.01050882 | ||||
Convert | 6823707 | 1258 days ago | IN | 0 AVAX | 0.00675417 | ||||
Convert | 6823704 | 1258 days ago | IN | 0 AVAX | 0.01116465 |
Loading...
Loading
Contract Name:
JoeMaker
Compiler Version
v0.6.12+commit.27d51765
Contract Source Code (Solidity)
/** *Submitted for verification at snowscan.xyz on 2021-11-06 */ // File: contracts/libraries/SafeMath.sol // 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 SafeMath { function add(uint256 a, uint256 b) internal pure returns (uint256 c) { require((c = a + b) >= b, "SafeMath: Add Overflow"); } function sub(uint256 a, uint256 b) internal pure returns (uint256 c) { require((c = a - b) <= a, "SafeMath: Underflow"); } function mul(uint256 a, uint256 b) internal pure returns (uint256 c) { require(b == 0 || (c = a * b) / b == a, "SafeMath: Mul Overflow"); } function div(uint256 a, uint256 b) internal pure returns (uint256 c) { require(b > 0, "SafeMath: Div by Zero"); c = a / b; } function to128(uint256 a) internal pure returns (uint128 c) { require(a <= uint128(-1), "SafeMath: uint128 Overflow"); c = uint128(a); } } library SafeMath128 { function add(uint128 a, uint128 b) internal pure returns (uint128 c) { require((c = a + b) >= b, "SafeMath: Add Overflow"); } function sub(uint128 a, uint128 b) internal pure returns (uint128 c) { require((c = a - b) <= a, "SafeMath: Underflow"); } } // File: contracts/interfaces/IERC20.sol 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; } // File: contracts/libraries/SafeERC20.sol pragma solidity 0.6.12; library SafeERC20 { 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))), "SafeERC20: 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))), "SafeERC20: TransferFrom failed" ); } } // File: contracts/traderjoe/interfaces/IJoeERC20.sol pragma solidity >=0.5.0; interface IJoeERC20 { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 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 (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; } // File: contracts/traderjoe/interfaces/IJoePair.sol pragma solidity >=0.5.0; interface IJoePair { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 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 (uint256); function balanceOf(address owner) external view returns (uint256); function allowance(address owner, address spender) external view returns (uint256); function approve(address spender, uint256 value) external returns (bool); function transfer(address to, uint256 value) external returns (bool); function transferFrom( address from, address to, uint256 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 (uint256); function permit( address owner, address spender, uint256 value, uint256 deadline, uint8 v, bytes32 r, bytes32 s ) external; event Mint(address indexed sender, uint256 amount0, uint256 amount1); event Burn( address indexed sender, uint256 amount0, uint256 amount1, address indexed to ); event Swap( address indexed sender, uint256 amount0In, uint256 amount1In, uint256 amount0Out, uint256 amount1Out, address indexed to ); event Sync(uint112 reserve0, uint112 reserve1); function MINIMUM_LIQUIDITY() external pure returns (uint256); 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 (uint256); function price1CumulativeLast() external view returns (uint256); function kLast() external view returns (uint256); function mint(address to) external returns (uint256 liquidity); function burn(address to) external returns (uint256 amount0, uint256 amount1); function swap( uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data ) external; function skim(address to) external; function sync() external; function initialize(address, address) external; } // File: contracts/traderjoe/interfaces/IJoeFactory.sol pragma solidity >=0.5.0; interface IJoeFactory { event PairCreated( address indexed token0, address indexed token1, address pair, uint256 ); function feeTo() external view returns (address); function feeToSetter() external view returns (address); function migrator() external view returns (address); function getPair(address tokenA, address tokenB) external view returns (address pair); function allPairs(uint256) external view returns (address pair); function allPairsLength() external view returns (uint256); function createPair(address tokenA, address tokenB) external returns (address pair); function setFeeTo(address) external; function setFeeToSetter(address) external; function setMigrator(address) external; } // File: contracts/boringcrypto/BoringOwnable.sol pragma solidity 0.6.12; // Audit on 5-Jan-2021 by Keno and BoringCrypto // Source: https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/access/Ownable.sol + Claimable.sol // Edited by BoringCrypto contract BoringOwnableData { address public owner; address public pendingOwner; } contract BoringOwnable is BoringOwnableData { event OwnershipTransferred( address indexed previousOwner, address indexed newOwner ); /// @notice `owner` defaults to msg.sender on construction. constructor() public { owner = msg.sender; emit OwnershipTransferred(address(0), msg.sender); } /// @notice Transfers ownership to `newOwner`. Either directly or claimable by the new pending owner. /// Can only be invoked by the current `owner`. /// @param newOwner Address of the new owner. /// @param direct True if `newOwner` should be set immediately. False if `newOwner` needs to use `claimOwnership`. /// @param renounce Allows the `newOwner` to be `address(0)` if `direct` and `renounce` is True. Has no effect otherwise. 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; pendingOwner = address(0); } else { // Effects pendingOwner = newOwner; } } /// @notice Needs to be called by `pendingOwner` to claim ownership. 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); } /// @notice Only allows the `owner` to execute the function. modifier onlyOwner() { require(msg.sender == owner, "Ownable: caller is not the owner"); _; } } // File: contracts/JoeMaker.sol // P1 - P3: OK pragma solidity 0.6.12; // JoeMaker is MasterJoe's left hand and kinda a wizard. He can cook up Joe from pretty much anything! // This contract handles "serving up" rewards for xJoe holders by trading tokens collected from fees for Joe. // T1 - T4: OK contract JoeMaker is BoringOwnable { using SafeMath for uint256; using SafeERC20 for IERC20; // V1 - V5: OK IJoeFactory public immutable factory; //0xC0AEe478e3658e2610c5F7A4A2E1777cE9e4f2Ac // V1 - V5: OK address public immutable bar; //0x8798249c2E607446EfB7Ad49eC89dD1865Ff4272 // V1 - V5: OK address private immutable joe; //0x6B3595068778DD592e39A122f4f5a5cF09C90fE2 // V1 - V5: OK address private immutable wavax; //0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2 // 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 amountJOE ); constructor( address _factory, address _bar, address _joe, address _wavax ) public { factory = IJoeFactory(_factory); bar = _bar; joe = _joe; wavax = _wavax; } // F1 - F10: OK // C1 - C24: OK function bridgeFor(address token) public view returns (address bridge) { bridge = _bridges[token]; if (bridge == address(0)) { bridge = wavax; } } // F1 - F10: OK // C1 - C24: OK function setBridge(address token, address bridge) external onlyOwner { // Checks require( token != joe && token != wavax && token != bridge, "JoeMaker: 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, "JoeMaker: 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 JOE to the bar, run convert, then remove the JOE again. // As the size of the JoeBar 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() { _convert(token0, token1); } // 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; for (uint256 i = 0; i < len; i++) { _convert(token0[i], token1[i]); } } // F1 - F10: OK // C1- C24: OK function _convert(address token0, address token1) internal { // Interactions // S1 - S4: OK IJoePair pair = IJoePair(factory.getPair(token0, token1)); require(address(pair) != address(0), "JoeMaker: 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); } emit LogConvert( msg.sender, token0, token1, amount0, amount1, _convertStep(token0, token1, amount0, amount1) ); } // F1 - F10: OK // C1 - C24: OK // All safeTransfer, _swap, _toJOE, _convertStep: X1 - X5: OK function _convertStep( address token0, address token1, uint256 amount0, uint256 amount1 ) internal returns (uint256 joeOut) { // Interactions if (token0 == token1) { uint256 amount = amount0.add(amount1); if (token0 == joe) { IERC20(joe).safeTransfer(bar, amount); joeOut = amount; } else if (token0 == wavax) { joeOut = _toJOE(wavax, amount); } else { address bridge = bridgeFor(token0); amount = _swap(token0, bridge, amount, address(this)); joeOut = _convertStep(bridge, bridge, amount, 0); } } else if (token0 == joe) { // eg. JOE - AVAX IERC20(joe).safeTransfer(bar, amount0); joeOut = _toJOE(token1, amount1).add(amount0); } else if (token1 == joe) { // eg. USDT - JOE IERC20(joe).safeTransfer(bar, amount1); joeOut = _toJOE(token0, amount0).add(amount1); } else if (token0 == wavax) { // eg. AVAX - USDC joeOut = _toJOE( wavax, _swap(token1, wavax, amount1, address(this)).add(amount0) ); } else if (token1 == wavax) { // eg. USDT - AVAX joeOut = _toJOE( wavax, _swap(token0, wavax, 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 joeOut = _convertStep( bridge0, token1, _swap(token0, bridge0, amount0, address(this)), amount1 ); } else if (bridge1 == token0) { // eg. WBTC - DSD - and bridgeFor(DSD) = WBTC joeOut = _convertStep( token0, bridge1, amount0, _swap(token1, bridge1, amount1, address(this)) ); } else { joeOut = _convertStep( bridge0, bridge1, // eg. USDT - DSD - and bridgeFor(DSD) = WBTC _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) { // Checks // X1 - X5: OK IJoePair pair = IJoePair(factory.getPair(fromToken, toToken)); require(address(pair) != address(0), "JoeMaker: Cannot convert"); // Interactions // X1 - X5: OK (uint256 reserve0, uint256 reserve1, ) = pair.getReserves(); uint256 amountInWithFee = amountIn.mul(997); if (fromToken == pair.token0()) { amountOut = amountIn.mul(997).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 = amountIn.mul(997).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 _toJOE(address token, uint256 amountIn) internal returns (uint256 amountOut) { // X1 - X5: OK amountOut = _swap(token, joe, amountIn, bar); } }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"_factory","type":"address"},{"internalType":"address","name":"_bar","type":"address"},{"internalType":"address","name":"_joe","type":"address"},{"internalType":"address","name":"_wavax","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":"amountJOE","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"},{"inputs":[],"name":"bar","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"bridgeFor","outputs":[{"internalType":"address","name":"bridge","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 IJoeFactory","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":"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
61010060405234801561001157600080fd5b506040516117b33803806117b38339818101604052608081101561003457600080fd5b5080516020820151604080840151606090940151600080546001600160a01b0319163390811782559251949593949192917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36001600160601b0319606094851b811660805292841b831660a05290831b821660c05290911b1660e05260805160601c60a05160601c60c05160601c60e05160601c611650610163600039806105c352806106e15280610cdb5280610d185280610ebd5280610efa5280610f235280610f505280610f8d5280610fb65250806105865280610c455280610c8a5280610d785280610dbd5280610e215280610e6652806110e95250806107965280610cac5280610ddf5280610e88528061110b52508061076352806107bc528061113b52506116506000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a761a93911610066578063a761a939146101f7578063bd1b820c1461021d578063c45a01551461024b578063e30c397814610253578063febb0f7e1461025b5761009e565b8063078dfbe7146100a3578063303e6aa4146100db5780634e71e0c81461019d5780638da5cb5b146101a55780639d22ae8c146101c9575b600080fd5b6100d9600480360360608110156100b957600080fd5b506001600160a01b03813516906020810135151590604001351515610263565b005b6100d9600480360360408110156100f157600080fd5b81019060208101813564010000000081111561010c57600080fd5b82018360208201111561011e57600080fd5b8035906020019184602083028401116401000000008311171561014057600080fd5b91939092909160208101903564010000000081111561015e57600080fd5b82018360208201111561017057600080fd5b8035906020019184602083028401116401000000008311171561019257600080fd5b5090925090506103ab565b6100d9610454565b6101ad610516565b604080516001600160a01b039092168252519081900360200190f35b6100d9600480360360408110156101df57600080fd5b506001600160a01b0381358116916020013516610525565b6101ad6004803603602081101561020d57600080fd5b50356001600160a01b03166106be565b6100d96004803603604081101561023357600080fd5b506001600160a01b0381358116916020013516610706565b6101ad610761565b6101ad610785565b6101ad610794565b6000546001600160a01b031633146102c2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b811561038a576001600160a01b0383161515806102dc5750805b610325576040805162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015290519081900360640190fd5b600080546040516001600160a01b03808716939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0385166001600160a01b0319918216179091556001805490911690556103a6565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b3332146103f8576040805162461bcd60e51b81526020600482015260166024820152754a6f654d616b65723a206d7573742075736520454f4160501b604482015290519081900360640190fd5b8260005b8181101561044c5761044486868381811061041357fe5b905060200201356001600160a01b031685858481811061042f57fe5b905060200201356001600160a01b03166107b8565b6001016103fc565b505050505050565b6001546001600160a01b03163381146104b4576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000546001600160a01b031681565b6000546001600160a01b03163314610584576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b0316141580156105f857507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614155b80156106165750806001600160a01b0316826001600160a01b031614155b610667576040805162461bcd60e51b815260206004820152601860248201527f4a6f654d616b65723a20496e76616c6964206272696467650000000000000000604482015290519081900360640190fd5b6001600160a01b0382811660008181526002602052604080822080546001600160a01b0319169486169485179055517f2e103aa707acc565f9a1547341914802b2bfe977fd79c595209f248ae4b006139190a35050565b6001600160a01b03808216600090815260026020526040902054168061070157507f00000000000000000000000000000000000000000000000000000000000000005b919050565b333214610753576040805162461bcd60e51b81526020600482015260166024820152754a6f654d616b65723a206d7573742075736520454f4160501b604482015290519081900360640190fd5b61075d82826107b8565b5050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6001546001600160a01b031681565b7f000000000000000000000000000000000000000000000000000000000000000081565b60007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a4390584846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561083857600080fd5b505afa15801561084c573d6000803e3d6000fd5b505050506040513d602081101561086257600080fd5b505190506001600160a01b0381166108ba576040805162461bcd60e51b81526020600482015260166024820152752537b2a6b0b5b2b91d1024b73b30b634b2103830b4b960511b604482015290519081900360640190fd5b61094881826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561090b57600080fd5b505afa15801561091f573d6000803e3d6000fd5b505050506040513d602081101561093557600080fd5b50516001600160a01b0384169190610aaf565b600080826001600160a01b03166389afcb44306040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b15801561099957600080fd5b505af11580156109ad573d6000803e3d6000fd5b505050506040513d60408110156109c357600080fd5b50805160209182015160408051630dfe168160e01b815290519295509093506001600160a01b03861692630dfe168192600480840193829003018186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d6020811015610a3757600080fd5b50516001600160a01b03868116911614610a4d57905b6001600160a01b03808516908616337fd06b1d7ed79b664d17472c6f6997b929f1abe463ccccb4e5b6a0038f2f730c158585610a8b8b8b8484610c19565b60408051938452602084019290925282820152519081900360600190a45050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310610b2c5780518252601f199092019160209182019101610b0d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610b8e576040519150601f19603f3d011682016040523d82523d6000602084013e610b93565b606091505b5091509150818015610bc1575080511580610bc15750808060200190516020811015610bbe57600080fd5b50515b610c12576040805162461bcd60e51b815260206004820152601a60248201527f5361666545524332303a205472616e73666572206661696c6564000000000000604482015290519081900360640190fd5b5050505050565b6000836001600160a01b0316856001600160a01b03161415610d76576000610c41848461108a565b90507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161415610cd957610cd16001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000083610aaf565b809150610d70565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b03161415610d4457610d3d7f0000000000000000000000000000000000000000000000000000000000000000826110e1565b9150610d70565b6000610d4f876106be565b9050610d5d87828430611136565b9150610d6c8182846000610c19565b9250505b50611082565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161415610e1f57610e046001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000085610aaf565b610e1883610e1286856110e1565b9061108a565b9050611082565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03161415610ebb57610ead6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000167f000000000000000000000000000000000000000000000000000000000000000084610aaf565b610e1882610e1287866110e1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161415610f4e57610e187f0000000000000000000000000000000000000000000000000000000000000000610f4985610e12887f00000000000000000000000000000000000000000000000000000000000000008830611136565b6110e1565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b03161415610fdc57610e187f0000000000000000000000000000000000000000000000000000000000000000610f4984610e12897f00000000000000000000000000000000000000000000000000000000000000008930611136565b6000610fe7866106be565b90506000610ff4866106be565b9050856001600160a01b0316826001600160a01b0316141561102e5761102782876110218a868a30611136565b87610c19565b925061107f565b866001600160a01b0316816001600160a01b0316141561105f5761102787828761105a8a868a30611136565b610c19565b61107c82826110708a868a30611136565b61105a8a868a30611136565b92505b50505b949350505050565b818101818110156110db576040805162461bcd60e51b8152602060048201526016602482015275536166654d6174683a20416464204f766572666c6f7760501b604482015290519081900360640190fd5b92915050565b600061112f837f0000000000000000000000000000000000000000000000000000000000000000847f0000000000000000000000000000000000000000000000000000000000000000611136565b9392505050565b6000807f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663e6a4390587876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b1580156111b757600080fd5b505afa1580156111cb573d6000803e3d6000fd5b505050506040513d60208110156111e157600080fd5b505190506001600160a01b038116611240576040805162461bcd60e51b815260206004820152601860248201527f4a6f654d616b65723a2043616e6e6f7420636f6e766572740000000000000000604482015290519081900360640190fd5b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561127c57600080fd5b505afa158015611290573d6000803e3d6000fd5b505050506040513d60608110156112a657600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060006112d4876103e56115b5565b9050836001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561130f57600080fd5b505afa158015611323573d6000803e3d6000fd5b505050506040513d602081101561133957600080fd5b50516001600160a01b038a8116911614156114805761135e81610e12856103e86115b5565b6113748361136e8a6103e56115b5565b906115b5565b8161137b57fe5b0494506113926001600160a01b038a168589610aaf565b604080516000808252602082019283905263022c0d9f60e01b835260248201818152604483018990526001600160a01b038a81166064850152608060848501908152845160a48601819052918a169563022c0d9f958c948e9491939092909160c4850191908083838b5b838110156114145781810151838201526020016113fc565b50505050905090810190601f1680156114415780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561146357600080fd5b505af1158015611477573d6000803e3d6000fd5b505050506115a9565b61149081610e12846103e86115b5565b6114a08461136e8a6103e56115b5565b816114a757fe5b0494506114be6001600160a01b038a168589610aaf565b604080516000808252602082019283905263022c0d9f60e01b835260248201888152604483018290526001600160a01b038a81166064850152608060848501908152845160a48601819052918a169563022c0d9f958c95948e9491939092909160c4850191908083838a5b83811015611541578181015183820152602001611529565b50505050905090810190601f16801561156e5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561159057600080fd5b505af11580156115a4573d6000803e3d6000fd5b505050505b50505050949350505050565b60008115806115d0575050808202828282816115cd57fe5b04145b6110db576040805162461bcd60e51b8152602060048201526016602482015275536166654d6174683a204d756c204f766572666c6f7760501b604482015290519081900360640190fdfea2646970667358221220ee1b4d33d15996220d228513c8b6f2a0338fa62e83f6330f9a28795a38819de364736f6c634300060c00330000000000000000000000009ad6c38be94206ca50bb0d90783181662f0cfa1000000000000000000000000057319d41f71e81f3c65f2a47ca4e001ebafd4f330000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7
Deployed Bytecode
0x608060405234801561001057600080fd5b506004361061009e5760003560e01c8063a761a93911610066578063a761a939146101f7578063bd1b820c1461021d578063c45a01551461024b578063e30c397814610253578063febb0f7e1461025b5761009e565b8063078dfbe7146100a3578063303e6aa4146100db5780634e71e0c81461019d5780638da5cb5b146101a55780639d22ae8c146101c9575b600080fd5b6100d9600480360360608110156100b957600080fd5b506001600160a01b03813516906020810135151590604001351515610263565b005b6100d9600480360360408110156100f157600080fd5b81019060208101813564010000000081111561010c57600080fd5b82018360208201111561011e57600080fd5b8035906020019184602083028401116401000000008311171561014057600080fd5b91939092909160208101903564010000000081111561015e57600080fd5b82018360208201111561017057600080fd5b8035906020019184602083028401116401000000008311171561019257600080fd5b5090925090506103ab565b6100d9610454565b6101ad610516565b604080516001600160a01b039092168252519081900360200190f35b6100d9600480360360408110156101df57600080fd5b506001600160a01b0381358116916020013516610525565b6101ad6004803603602081101561020d57600080fd5b50356001600160a01b03166106be565b6100d96004803603604081101561023357600080fd5b506001600160a01b0381358116916020013516610706565b6101ad610761565b6101ad610785565b6101ad610794565b6000546001600160a01b031633146102c2576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b811561038a576001600160a01b0383161515806102dc5750805b610325576040805162461bcd60e51b81526020600482015260156024820152744f776e61626c653a207a65726f206164647265737360581b604482015290519081900360640190fd5b600080546040516001600160a01b03808716939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0385166001600160a01b0319918216179091556001805490911690556103a6565b600180546001600160a01b0319166001600160a01b0385161790555b505050565b3332146103f8576040805162461bcd60e51b81526020600482015260166024820152754a6f654d616b65723a206d7573742075736520454f4160501b604482015290519081900360640190fd5b8260005b8181101561044c5761044486868381811061041357fe5b905060200201356001600160a01b031685858481811061042f57fe5b905060200201356001600160a01b03166107b8565b6001016103fc565b505050505050565b6001546001600160a01b03163381146104b4576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c657220213d2070656e64696e67206f776e6572604482015290519081900360640190fd5b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b039092166001600160a01b0319928316179055600180549091169055565b6000546001600160a01b031681565b6000546001600160a01b03163314610584576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b7f0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd6001600160a01b0316826001600160a01b0316141580156105f857507f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c76001600160a01b0316826001600160a01b031614155b80156106165750806001600160a01b0316826001600160a01b031614155b610667576040805162461bcd60e51b815260206004820152601860248201527f4a6f654d616b65723a20496e76616c6964206272696467650000000000000000604482015290519081900360640190fd5b6001600160a01b0382811660008181526002602052604080822080546001600160a01b0319169486169485179055517f2e103aa707acc565f9a1547341914802b2bfe977fd79c595209f248ae4b006139190a35050565b6001600160a01b03808216600090815260026020526040902054168061070157507f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c75b919050565b333214610753576040805162461bcd60e51b81526020600482015260166024820152754a6f654d616b65723a206d7573742075736520454f4160501b604482015290519081900360640190fd5b61075d82826107b8565b5050565b7f0000000000000000000000009ad6c38be94206ca50bb0d90783181662f0cfa1081565b6001546001600160a01b031681565b7f00000000000000000000000057319d41f71e81f3c65f2a47ca4e001ebafd4f3381565b60007f0000000000000000000000009ad6c38be94206ca50bb0d90783181662f0cfa106001600160a01b031663e6a4390584846040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561083857600080fd5b505afa15801561084c573d6000803e3d6000fd5b505050506040513d602081101561086257600080fd5b505190506001600160a01b0381166108ba576040805162461bcd60e51b81526020600482015260166024820152752537b2a6b0b5b2b91d1024b73b30b634b2103830b4b960511b604482015290519081900360640190fd5b61094881826001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561090b57600080fd5b505afa15801561091f573d6000803e3d6000fd5b505050506040513d602081101561093557600080fd5b50516001600160a01b0384169190610aaf565b600080826001600160a01b03166389afcb44306040518263ffffffff1660e01b815260040180826001600160a01b031681526020019150506040805180830381600087803b15801561099957600080fd5b505af11580156109ad573d6000803e3d6000fd5b505050506040513d60408110156109c357600080fd5b50805160209182015160408051630dfe168160e01b815290519295509093506001600160a01b03861692630dfe168192600480840193829003018186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d6020811015610a3757600080fd5b50516001600160a01b03868116911614610a4d57905b6001600160a01b03808516908616337fd06b1d7ed79b664d17472c6f6997b929f1abe463ccccb4e5b6a0038f2f730c158585610a8b8b8b8484610c19565b60408051938452602084019290925282820152519081900360600190a45050505050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b178152925182516000946060949389169392918291908083835b60208310610b2c5780518252601f199092019160209182019101610b0d565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610b8e576040519150601f19603f3d011682016040523d82523d6000602084013e610b93565b606091505b5091509150818015610bc1575080511580610bc15750808060200190516020811015610bbe57600080fd5b50515b610c12576040805162461bcd60e51b815260206004820152601a60248201527f5361666545524332303a205472616e73666572206661696c6564000000000000604482015290519081900360640190fd5b5050505050565b6000836001600160a01b0316856001600160a01b03161415610d76576000610c41848461108a565b90507f0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd6001600160a01b0316866001600160a01b03161415610cd957610cd16001600160a01b037f0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd167f00000000000000000000000057319d41f71e81f3c65f2a47ca4e001ebafd4f3383610aaf565b809150610d70565b7f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c76001600160a01b0316866001600160a01b03161415610d4457610d3d7f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7826110e1565b9150610d70565b6000610d4f876106be565b9050610d5d87828430611136565b9150610d6c8182846000610c19565b9250505b50611082565b7f0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd6001600160a01b0316856001600160a01b03161415610e1f57610e046001600160a01b037f0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd167f00000000000000000000000057319d41f71e81f3c65f2a47ca4e001ebafd4f3385610aaf565b610e1883610e1286856110e1565b9061108a565b9050611082565b7f0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd6001600160a01b0316846001600160a01b03161415610ebb57610ead6001600160a01b037f0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd167f00000000000000000000000057319d41f71e81f3c65f2a47ca4e001ebafd4f3384610aaf565b610e1882610e1287866110e1565b7f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c76001600160a01b0316856001600160a01b03161415610f4e57610e187f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7610f4985610e12887f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c78830611136565b6110e1565b7f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c76001600160a01b0316846001600160a01b03161415610fdc57610e187f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7610f4984610e12897f000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c78930611136565b6000610fe7866106be565b90506000610ff4866106be565b9050856001600160a01b0316826001600160a01b0316141561102e5761102782876110218a868a30611136565b87610c19565b925061107f565b866001600160a01b0316816001600160a01b0316141561105f5761102787828761105a8a868a30611136565b610c19565b61107c82826110708a868a30611136565b61105a8a868a30611136565b92505b50505b949350505050565b818101818110156110db576040805162461bcd60e51b8152602060048201526016602482015275536166654d6174683a20416464204f766572666c6f7760501b604482015290519081900360640190fd5b92915050565b600061112f837f0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd847f00000000000000000000000057319d41f71e81f3c65f2a47ca4e001ebafd4f33611136565b9392505050565b6000807f0000000000000000000000009ad6c38be94206ca50bb0d90783181662f0cfa106001600160a01b031663e6a4390587876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b1580156111b757600080fd5b505afa1580156111cb573d6000803e3d6000fd5b505050506040513d60208110156111e157600080fd5b505190506001600160a01b038116611240576040805162461bcd60e51b815260206004820152601860248201527f4a6f654d616b65723a2043616e6e6f7420636f6e766572740000000000000000604482015290519081900360640190fd5b600080826001600160a01b0316630902f1ac6040518163ffffffff1660e01b815260040160606040518083038186803b15801561127c57600080fd5b505afa158015611290573d6000803e3d6000fd5b505050506040513d60608110156112a657600080fd5b5080516020909101516dffffffffffffffffffffffffffff918216935016905060006112d4876103e56115b5565b9050836001600160a01b0316630dfe16816040518163ffffffff1660e01b815260040160206040518083038186803b15801561130f57600080fd5b505afa158015611323573d6000803e3d6000fd5b505050506040513d602081101561133957600080fd5b50516001600160a01b038a8116911614156114805761135e81610e12856103e86115b5565b6113748361136e8a6103e56115b5565b906115b5565b8161137b57fe5b0494506113926001600160a01b038a168589610aaf565b604080516000808252602082019283905263022c0d9f60e01b835260248201818152604483018990526001600160a01b038a81166064850152608060848501908152845160a48601819052918a169563022c0d9f958c948e9491939092909160c4850191908083838b5b838110156114145781810151838201526020016113fc565b50505050905090810190601f1680156114415780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561146357600080fd5b505af1158015611477573d6000803e3d6000fd5b505050506115a9565b61149081610e12846103e86115b5565b6114a08461136e8a6103e56115b5565b816114a757fe5b0494506114be6001600160a01b038a168589610aaf565b604080516000808252602082019283905263022c0d9f60e01b835260248201888152604483018290526001600160a01b038a81166064850152608060848501908152845160a48601819052918a169563022c0d9f958c95948e9491939092909160c4850191908083838a5b83811015611541578181015183820152602001611529565b50505050905090810190601f16801561156e5780820380516001836020036101000a031916815260200191505b5095505050505050600060405180830381600087803b15801561159057600080fd5b505af11580156115a4573d6000803e3d6000fd5b505050505b50505050949350505050565b60008115806115d0575050808202828282816115cd57fe5b04145b6110db576040805162461bcd60e51b8152602060048201526016602482015275536166654d6174683a204d756c204f766572666c6f7760501b604482015290519081900360640190fdfea2646970667358221220ee1b4d33d15996220d228513c8b6f2a0338fa62e83f6330f9a28795a38819de364736f6c634300060c0033
Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)
0000000000000000000000009ad6c38be94206ca50bb0d90783181662f0cfa1000000000000000000000000057319d41f71e81f3c65f2a47ca4e001ebafd4f330000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7
-----Decoded View---------------
Arg [0] : _factory (address): 0x9Ad6C38BE94206cA50bb0d90783181662f0Cfa10
Arg [1] : _bar (address): 0x57319d41F71E81F3c65F2a47CA4e001EbAFd4F33
Arg [2] : _joe (address): 0x6e84a6216eA6dACC71eE8E6b0a5B7322EEbC0fDd
Arg [3] : _wavax (address): 0xB31f66AA3C1e785363F0875A1B74E27b85FD66c7
-----Encoded View---------------
4 Constructor Arguments found :
Arg [0] : 0000000000000000000000009ad6c38be94206ca50bb0d90783181662f0cfa10
Arg [1] : 00000000000000000000000057319d41f71e81f3c65f2a47ca4e001ebafd4f33
Arg [2] : 0000000000000000000000006e84a6216ea6dacc71ee8e6b0a5b7322eebc0fdd
Arg [3] : 000000000000000000000000b31f66aa3c1e785363f0875a1b74e27b85fd66c7
Deployed Bytecode Sourcemap
12140:8459:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10604:555;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;10604:555:0;;;;;;;;;;;;;;;;;:::i;:::-;;14987:360;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14987:360:0;;-1:-1:-1;14987:360:0;-1:-1:-1;14987:360:0;:::i;11241:377::-;;;:::i;9725:20::-;;;:::i;:::-;;;;-1:-1:-1;;;;;9725:20:0;;;;;;;;;;;;;;13603:330;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;13603:330:0;;;;;;;;;;:::i;13362:191::-;;;;;;;;;;;;;;;;-1:-1:-1;13362:191:0;-1:-1:-1;;;;;13362:191:0;;:::i;14765:111::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;14765:111:0;;;;;;;;;;:::i;12270:36::-;;;:::i;9752:27::-;;;:::i;12383:28::-;;;:::i;10604:555::-;11746:5;;-1:-1:-1;;;;;11746:5:0;11732:10;:19;11724:64;;;;;-1:-1:-1;;;11724:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10743:6:::1;10739:413;;;-1:-1:-1::0;;;;;10815:22:0;::::1;::::0;::::1;::::0;:34:::1;;;10841:8;10815:34;10789:117;;;::::0;;-1:-1:-1;;;10789:117:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;-1:-1:-1;;;10789:117:0;;;;;;;;;;;;;::::1;;10973:5;::::0;;10952:37:::1;::::0;-1:-1:-1;;;;;10952:37:0;;::::1;::::0;10973:5;::::1;::::0;10952:37:::1;::::0;::::1;11004:5;:16:::0;;-1:-1:-1;;;;;11004:16:0;::::1;-1:-1:-1::0;;;;;;11004:16:0;;::::1;;::::0;;;;11035:25;;;;::::1;::::0;;10739:413:::1;;;11117:12;:23:::0;;-1:-1:-1;;;;;;11117:23:0::1;-1:-1:-1::0;;;;;11117:23:0;::::1;;::::0;;10739:413:::1;10604:555:::0;;;:::o;14987:360::-;14227:10;14241:9;14227:23;14219:58;;;;;-1:-1:-1;;;14219:58:0;;;;;;;;;;;;-1:-1:-1;;;14219:58:0;;;;;;;;;;;;;;;15225:6;15211:11:::1;15249:91;15273:3;15269:1;:7;15249:91;;;15298:30;15307:6;;15314:1;15307:9;;;;;;;;;;;;;-1:-1:-1::0;;;;;15307:9:0::1;15318:6;;15325:1;15318:9;;;;;;;;;;;;;-1:-1:-1::0;;;;;15318:9:0::1;15298:8;:30::i;:::-;15278:3;;15249:91;;;;14288:1;14987:360:::0;;;;:::o;11241:377::-;11309:12;;-1:-1:-1;;;;;11309:12:0;11375:10;:27;;11353:109;;;;;-1:-1:-1;;;11353:109:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11521:5;;;11500:42;;-1:-1:-1;;;;;11500:42:0;;;;11521:5;;;11500:42;;;11553:5;:21;;-1:-1:-1;;;;;11553:21:0;;;-1:-1:-1;;;;;;11553:21:0;;;;;;;11585:25;;;;;;;11241:377::o;9725:20::-;;;-1:-1:-1;;;;;9725:20:0;;:::o;13603:330::-;11746:5;;-1:-1:-1;;;;;11746:5:0;11732:10;:19;11724:64;;;;;-1:-1:-1;;;11724:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13733:3:::1;-1:-1:-1::0;;;;;13724:12:0::1;:5;-1:-1:-1::0;;;;;13724:12:0::1;;;:30;;;;;13749:5;-1:-1:-1::0;;;;;13740:14:0::1;:5;-1:-1:-1::0;;;;;13740:14:0::1;;;13724:30;:49;;;;;13767:6;-1:-1:-1::0;;;;;13758:15:0::1;:5;-1:-1:-1::0;;;;;13758:15:0::1;;;13724:49;13702:123;;;::::0;;-1:-1:-1;;;13702:123:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;-1:-1:-1::0;;;;;13858:15:0;;::::1;;::::0;;;:8:::1;:15;::::0;;;;;:24;;-1:-1:-1;;;;;;13858:24:0::1;::::0;;::::1;::::0;;::::1;::::0;;13898:27;::::1;::::0;13858:15;13898:27:::1;13603:330:::0;;:::o;13362:191::-;-1:-1:-1;;;;;13453:15:0;;;13417:14;13453:15;;;:8;:15;;;;;;;13483:20;13479:67;;-1:-1:-1;13529:5:0;13479:67;13362:191;;;:::o;14765:111::-;14227:10;14241:9;14227:23;14219:58;;;;;-1:-1:-1;;;14219:58:0;;;;;;;;;;;;-1:-1:-1;;;14219:58:0;;;;;;;;;;;;;;;14844:24:::1;14853:6;14861;14844:8;:24::i;:::-;14765:111:::0;;:::o;12270:36::-;;;:::o;9752:27::-;;;-1:-1:-1;;;;;9752:27:0;;:::o;12383:28::-;;;:::o;15396:864::-;15515:13;15540:7;-1:-1:-1;;;;;15540:15:0;;15556:6;15564;15540:31;;;;;;;;;;;;;-1:-1:-1;;;;;15540:31:0;;;;;;-1:-1:-1;;;;;15540:31:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15540:31:0;;-1:-1:-1;;;;;;15591:27:0;;15583:62;;;;;-1:-1:-1;;;15583:62:0;;;;;;;;;;;;-1:-1:-1;;;15583:62:0;;;;;;;;;;;;;;;15725:117;15782:4;15802;-1:-1:-1;;;;;15802:14:0;;15825:4;15802:29;;;;;;;;;;;;;-1:-1:-1;;;;;15802:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15802:29:0;-1:-1:-1;;;;;15725:34:0;;;:117;:34;:117::i;:::-;15878:15;15895;15914:4;-1:-1:-1;;;;;15914:9:0;;15932:4;15914:24;;;;;;;;;;;;;-1:-1:-1;;;;;15914:24:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15914:24:0;;;;;;;;15963:13;;-1:-1:-1;;;15963:13:0;;;;15914:24;;-1:-1:-1;15914:24:0;;-1:-1:-1;;;;;;15963:11:0;;;;;:13;;;;;;;;;;:11;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15963:13:0;-1:-1:-1;;;;;15953:23:0;;;;;;15949:95;;16015:7;15949:95;-1:-1:-1;;;;;16059:193:0;;;;;;16084:10;16059:193;16151:7;16173;16195:46;16109:6;16130;16151:7;16173;16195:12;:46::i;:::-;16059:193;;;;;;;;;;;;;;;;;;;;;;;;;;15396:864;;;;;:::o;3184:397::-;3372:46;;;-1:-1:-1;;;;;3372:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3372:46:0;-1:-1:-1;;;3372:46:0;;;3338:91;;;;3303:12;;3317:17;;3338:19;;;;3372:46;3338:91;;;3372:46;3338:91;;3372:46;3338:91;;;;;;;;;;-1:-1:-1;;3338:91:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3302:127;;;;3462:7;:57;;;;-1:-1:-1;3474:11:0;;:16;;:44;;;3505:4;3494:24;;;;;;;;;;;;;;;-1:-1:-1;3494:24:0;3474:44;3440:133;;;;;-1:-1:-1;;;3440:133:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;3184:397;;;;;:::o;16377:2665::-;16526:14;16592:6;-1:-1:-1;;;;;16582:16:0;:6;-1:-1:-1;;;;;16582:16:0;;16578:2457;;;16615:14;16632:20;:7;16644;16632:11;:20::i;:::-;16615:37;;16681:3;-1:-1:-1;;;;;16671:13:0;:6;-1:-1:-1;;;;;16671:13:0;;16667:431;;;16705:37;-1:-1:-1;;;;;16712:3:0;16705:24;16730:3;16735:6;16705:24;:37::i;:::-;16770:6;16761:15;;16667:431;;;16812:5;-1:-1:-1;;;;;16802:15:0;:6;-1:-1:-1;;;;;16802:15:0;;16798:300;;;16847:21;16854:5;16861:6;16847;:21::i;:::-;16838:30;;16798:300;;;16909:14;16926:17;16936:6;16926:9;:17::i;:::-;16909:34;;16971:44;16977:6;16985;16993;17009:4;16971:5;:44::i;:::-;16962:53;;17043:39;17056:6;17064;17072;17080:1;17043:12;:39::i;:::-;17034:48;;16798:300;;16578:2457;;;;17129:3;-1:-1:-1;;;;;17119:13:0;:6;-1:-1:-1;;;;;17119:13:0;;17115:1920;;;17180:38;-1:-1:-1;;;;;17187:3:0;17180:24;17205:3;17210:7;17180:24;:38::i;:::-;17242:36;17270:7;17242:23;17249:6;17257:7;17242:6;:23::i;:::-;:27;;:36::i;:::-;17233:45;;17115:1920;;;17310:3;-1:-1:-1;;;;;17300:13:0;:6;-1:-1:-1;;;;;17300:13:0;;17296:1739;;;17361:38;-1:-1:-1;;;;;17368:3:0;17361:24;17386:3;17391:7;17361:24;:38::i;:::-;17423:36;17451:7;17423:23;17430:6;17438:7;17423:6;:23::i;17296:1739::-;17491:5;-1:-1:-1;;;;;17481:15:0;:6;-1:-1:-1;;;;;17481:15:0;;17477:1558;;;17554:121;17579:5;17603:57;17652:7;17603:44;17609:6;17617:5;17624:7;17641:4;17603:5;:44::i;:57::-;17554:6;:121::i;17477:1558::-;17707:5;-1:-1:-1;;;;;17697:15:0;:6;-1:-1:-1;;;;;17697:15:0;;17693:1342;;;17770:121;17795:5;17819:57;17868:7;17819:44;17825:6;17833:5;17840:7;17857:4;17819:5;:44::i;17693:1342::-;17955:15;17973:17;17983:6;17973:9;:17::i;:::-;17955:35;;18005:15;18023:17;18033:6;18023:9;:17::i;:::-;18005:35;;18070:6;-1:-1:-1;;;;;18059:17:0;:7;-1:-1:-1;;;;;18059:17:0;;18055:969;;;18169:189;18204:7;18234:6;18263:46;18269:6;18277:7;18286;18303:4;18263:5;:46::i;:::-;18332:7;18169:12;:189::i;:::-;18160:198;;18055:969;;;18395:6;-1:-1:-1;;;;;18384:17:0;:7;-1:-1:-1;;;;;18384:17:0;;18380:644;;;18494:189;18529:6;18558:7;18588;18618:46;18624:6;18632:7;18641;18658:4;18618:5;:46::i;:::-;18494:12;:189::i;18380:644::-;18733:275;18768:7;18798;18874:46;18880:6;18888:7;18897;18914:4;18874:5;:46::i;:::-;18943;18949:6;18957:7;18966;18983:4;18943:5;:46::i;18733:275::-;18724:284;;18380:644;17693:1342;;;16377:2665;;;;;;:::o;256:139::-;349:5;;;344:16;;;;336:51;;;;;-1:-1:-1;;;336:51:0;;;;;;;;;;;;-1:-1:-1;;;336:51:0;;;;;;;;;;;;;;;256:139;;;;:::o;20400:196::-;20485:17;20556:32;20562:5;20569:3;20574:8;20584:3;20556:5;:32::i;:::-;20544:44;20400:196;-1:-1:-1;;;20400:196:0:o;19136:1214::-;19278:17;19351:13;19376:7;-1:-1:-1;;;;;19376:15:0;;19392:9;19403:7;19376:35;;;;;;;;;;;;;-1:-1:-1;;;;;19376:35:0;;;;;;-1:-1:-1;;;;;19376:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19376:35:0;;-1:-1:-1;;;;;;19431:27:0;;19423:64;;;;;-1:-1:-1;;;19423:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;19550:16;19568;19590:4;-1:-1:-1;;;;;19590:16:0;;:18;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19590:18:0;;;;;;;19549:59;;;;;-1:-1:-1;19549:59:0;;-1:-1:-1;19619:23:0;19645:17;:8;19658:3;19645:12;:17::i;:::-;19619:43;;19690:4;-1:-1:-1;;;;;19690:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;19690:13:0;-1:-1:-1;;;;;19677:26:0;;;;;;19673:670;;;19800:39;19823:15;19800:18;:8;19813:4;19800:12;:18::i;:39::-;19749:31;19771:8;19749:17;:8;19762:3;19749:12;:17::i;:::-;:21;;:31::i;:::-;:90;;;;;;;-1:-1:-1;19854:55:0;-1:-1:-1;;;;;19854:30:0;;19893:4;19900:8;19854:30;:55::i;:::-;19952:12;;;19934:1;19952:12;;;;;;;;;;-1:-1:-1;;;19924:41:0;;;;;;;;;;;;;;-1:-1:-1;;;;;19924:41:0;;;;;;;;;;;;;;;;;;;;;;:9;;;;;;19937;;19948:2;;19952:12;;19924:41;;;;;;;;19952:12;19924:41;;19952:12;19934:1;19924:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19673:670;;;20122:39;20145:15;20122:18;:8;20135:4;20122:12;:18::i;:39::-;20071:31;20093:8;20071:17;:8;20084:3;20071:12;:17::i;:31::-;:90;;;;;;;-1:-1:-1;20176:55:0;-1:-1:-1;;;;;20176:30:0;;20215:4;20222:8;20176:30;:55::i;:::-;20274:12;;;20267:1;20274:12;;;;;;;;;;-1:-1:-1;;;20246:41:0;;;;;;;;;;;;;;-1:-1:-1;;;;;20246:41:0;;;;;;;;;;;;;;;;;;;;;;:9;;;;;;20256;;20267:1;20270:2;;20274:12;;20246:41;;;;;;;;20274:12;20246:41;;20274:12;20267:1;20246:41;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;19673:670;19136:1214;;;;;;;;;;:::o;547:153::-;605:9;635:6;;;:30;;-1:-1:-1;;650:5:0;;;664:1;659;650:5;659:1;645:15;;;;;:20;635:30;627:65;;;;;-1:-1:-1;;;627:65:0;;;;;;;;;;;;-1:-1:-1;;;627:65:0;;;;;;;;;;;;;
Swarm Source
ipfs://ee1b4d33d15996220d228513c8b6f2a0338fa62e83f6330f9a28795a38819de3
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 34 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|---|---|---|---|---|
OP | 100.00% | $178.67 | 0.0731 | $13.06 |
Loading...
Loading
Loading...
Loading
[ Download: CSV Export ]
A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.