Overview
S Balance
S Value
$0.00More Info
Private Name Tags
ContractCreator
Loading...
Loading
Contract Name:
SolidlyseriesAdapter
Compiler Version
v0.8.17+commit.8df45f5f
Optimization Enabled:
Yes with 200 runs
Other Settings:
default evmVersion
Contract Source Code (Solidity Standard Json-Input format)
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; import "../interfaces/IAdapter.sol"; import "../interfaces/ISolidlyseries.sol"; import "../interfaces/IERC20.sol"; contract SolidlyseriesAdapter is IAdapter { // this adapter is for spiritswapv2(ftm)、cone(bsc)、Dystopia(poly)、Velodrome(op)、Rames Exchanges(arb)、solidlizard(arb) // fromToken == token0 function sellBase( address to, address pool, bytes memory ) external override { address baseToken = IPair(pool).token0(); (uint256 _reserve0, uint256 _reserve1,) = IPair(pool).getReserves(); require( _reserve0 > 0 && _reserve1 > 0, "Solidlyseries: INSUFFICIENT_LIQUIDITY" ); uint256 balance0 = IERC20(baseToken).balanceOf(pool); uint256 sellBaseAmount = balance0 - _reserve0; uint256 receiveQuoteAmount = IPair(pool).getAmountOut(sellBaseAmount, baseToken); IPair(pool).swap(0, receiveQuoteAmount, to, new bytes(0)); } // fromToken == token1 function sellQuote( address to, address pool, bytes memory ) external override { address quoteToken = IPair(pool).token1(); (uint256 _reserve0, uint256 _reserve1,) = IPair(pool).getReserves(); require( _reserve0 > 0 && _reserve1 > 0, "Solidlyseries: INSUFFICIENT_LIQUIDITY" ); uint256 balance1 = IERC20(quoteToken).balanceOf(pool); uint256 sellQuoteAmount = balance1 - _reserve1; uint256 receiveBaseAmount = IPair(pool).getAmountOut(sellQuoteAmount, quoteToken); IPair(pool).swap(receiveBaseAmount, 0, to, new bytes(0)); } }
/// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; pragma abicoder v2; interface IAdapter { function sellBase( address to, address pool, bytes memory data ) external; function sellQuote( address to, address pool, bytes memory data ) external; }
// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; interface IERC20 { event Approval( address indexed owner, address indexed spender, uint256 value ); event Transfer(address indexed from, address indexed to, uint256 value); function name() external view returns (string memory); function symbol() external view returns (string memory); function decimals() external view 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); }
// SPDX-License-Identifier: MIT pragma solidity >=0.8.0; interface IPair { function getReserves() external view returns (uint256 _reserve0, uint256 _reserve1, uint256 _blockTimestampLast) ; function getAmountOut(uint256 amountIn, address tokenIn) external view returns (uint); function swap(uint256 amount0Out, uint256 amount1Out, address to, bytes calldata data) external ; function token0() external view returns (address); function token1() external view returns (address); }
{ "optimizer": { "enabled": true, "runs": 200 }, "outputSelection": { "*": { "*": [ "evm.bytecode", "evm.deployedBytecode", "devdoc", "userdoc", "metadata", "abi" ] } }, "libraries": {} }
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
Contract ABI
API[{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"pool","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"sellBase","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"address","name":"pool","type":"address"},{"internalType":"bytes","name":"","type":"bytes"}],"name":"sellQuote","outputs":[],"stateMutability":"nonpayable","type":"function"}]
Contract Creation Code
608060405234801561001057600080fd5b50610791806100206000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806330e6ae311461003b5780636f7929f214610050575b600080fd5b61004e610049366004610531565b610063565b005b61004e61005e366004610531565b6102f9565b6000826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c79190610607565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561010a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012e919061062b565b50915091506000821180156101435750600081115b6101685760405162461bcd60e51b815260040161015f90610659565b60405180910390fd5b6040516370a0823160e01b81526001600160a01b038681166004830152600091908516906370a0823190602401602060405180830381865afa1580156101b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d6919061069e565b905060006101e484836106b7565b6040516378a051ad60e11b8152600481018290526001600160a01b03878116602483015291925060009189169063f140a35a90604401602060405180830381865afa158015610237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025b919061069e565b90506001600160a01b03881663022c0d9f6000838c825b6040519080825280601f01601f19166020018201604052801561029c576020820181803683370190505b506040518563ffffffff1660e01b81526004016102bc9493929190610724565b600060405180830381600087803b1580156102d657600080fd5b505af11580156102ea573d6000803e3d6000fd5b50505050505050505050505050565b6000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d9190610607565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156103a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c4919061062b565b50915091506000821180156103d95750600081115b6103f55760405162461bcd60e51b815260040161015f90610659565b6040516370a0823160e01b81526001600160a01b038681166004830152600091908516906370a0823190602401602060405180830381865afa15801561043f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610463919061069e565b9050600061047183836106b7565b6040516378a051ad60e11b8152600481018290526001600160a01b03878116602483015291925060009189169063f140a35a90604401602060405180830381865afa1580156104c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e8919061069e565b90506001600160a01b03881663022c0d9f8260008c81610272565b6001600160a01b038116811461051857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561054657600080fd5b833561055181610503565b9250602084013561056181610503565b9150604084013567ffffffffffffffff8082111561057e57600080fd5b818601915086601f83011261059257600080fd5b8135818111156105a4576105a461051b565b604051601f8201601f19908116603f011681019083821181831017156105cc576105cc61051b565b816040528281528960208487010111156105e557600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561061957600080fd5b815161062481610503565b9392505050565b60008060006060848603121561064057600080fd5b8351925060208401519150604084015190509250925092565b60208082526025908201527f536f6c69646c797365726965733a20494e53554646494349454e545f4c495155604082015264494449545960d81b606082015260800190565b6000602082840312156106b057600080fd5b5051919050565b818103818111156106d857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015610704576020818501810151868301820152016106e8565b506000602082860101526020601f19601f83011685010191505092915050565b84815283602082015260018060a01b038316604082015260806060820152600061075160808301846106de565b969550505050505056fea26469706673582212202dd43e18c85341e0695e8da90102ab55511244bf143e96bb1d47549e552a4f6664736f6c63430008110033
Deployed Bytecode
0x608060405234801561001057600080fd5b50600436106100365760003560e01c806330e6ae311461003b5780636f7929f214610050575b600080fd5b61004e610049366004610531565b610063565b005b61004e61005e366004610531565b6102f9565b6000826001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa1580156100a3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100c79190610607565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa15801561010a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061012e919061062b565b50915091506000821180156101435750600081115b6101685760405162461bcd60e51b815260040161015f90610659565b60405180910390fd5b6040516370a0823160e01b81526001600160a01b038681166004830152600091908516906370a0823190602401602060405180830381865afa1580156101b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101d6919061069e565b905060006101e484836106b7565b6040516378a051ad60e11b8152600481018290526001600160a01b03878116602483015291925060009189169063f140a35a90604401602060405180830381865afa158015610237573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061025b919061069e565b90506001600160a01b03881663022c0d9f6000838c825b6040519080825280601f01601f19166020018201604052801561029c576020820181803683370190505b506040518563ffffffff1660e01b81526004016102bc9493929190610724565b600060405180830381600087803b1580156102d657600080fd5b505af11580156102ea573d6000803e3d6000fd5b50505050505050505050505050565b6000826001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa158015610339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061035d9190610607565b9050600080846001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa1580156103a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c4919061062b565b50915091506000821180156103d95750600081115b6103f55760405162461bcd60e51b815260040161015f90610659565b6040516370a0823160e01b81526001600160a01b038681166004830152600091908516906370a0823190602401602060405180830381865afa15801561043f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610463919061069e565b9050600061047183836106b7565b6040516378a051ad60e11b8152600481018290526001600160a01b03878116602483015291925060009189169063f140a35a90604401602060405180830381865afa1580156104c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e8919061069e565b90506001600160a01b03881663022c0d9f8260008c81610272565b6001600160a01b038116811461051857600080fd5b50565b634e487b7160e01b600052604160045260246000fd5b60008060006060848603121561054657600080fd5b833561055181610503565b9250602084013561056181610503565b9150604084013567ffffffffffffffff8082111561057e57600080fd5b818601915086601f83011261059257600080fd5b8135818111156105a4576105a461051b565b604051601f8201601f19908116603f011681019083821181831017156105cc576105cc61051b565b816040528281528960208487010111156105e557600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b60006020828403121561061957600080fd5b815161062481610503565b9392505050565b60008060006060848603121561064057600080fd5b8351925060208401519150604084015190509250925092565b60208082526025908201527f536f6c69646c797365726965733a20494e53554646494349454e545f4c495155604082015264494449545960d81b606082015260800190565b6000602082840312156106b057600080fd5b5051919050565b818103818111156106d857634e487b7160e01b600052601160045260246000fd5b92915050565b6000815180845260005b81811015610704576020818501810151868301820152016106e8565b506000602082860101526020601f19601f83011685010191505092915050565b84815283602082015260018060a01b038316604082015260806060820152600061075160808301846106de565b969550505050505056fea26469706673582212202dd43e18c85341e0695e8da90102ab55511244bf143e96bb1d47549e552a4f6664736f6c63430008110033
Loading...
Loading
Loading...
Loading
Multichain Portfolio | 35 Chains
Chain | Token | Portfolio % | Price | Amount | Value |
---|
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.