false
false
0

Contract Address Details

0x245b7fE9120886b63482E80c319AFC12C7B815CC

Contract Name
SwapPairsGetterDetailed
Creator
0xae492eā€“5073ce at 0xa65eb9ā€“6e19ad
Balance
0 FTN ( )
Tokens
Fetching tokens...
Transactions
0 Transactions
Transfers
0 Transfers
Gas Used
Fetching gas used...
Last Balance Update
3587230
Warning! Contract bytecode has been changed and doesn't match the verified one. Therefore, interaction with this smart contract may be risky.
Contract name:
SwapPairsGetterDetailed




Optimization enabled
true
Compiler version
v0.8.25+commit.b61c2a91




Optimization runs
200
EVM Version
paris




Verified at
2024-05-20T14:51:16.523319Z

SwapPairsGetterDetailed.sol

// SPDX-License-Identifier: MIT
pragma solidity 0.8.25;

interface IUniswapV2Factory {
    function allPairs(uint) external view returns (address pair);
}

interface IUniswapV2Pair {
    function token0() external view returns (address);
    function token1() external view returns (address);
    function getReserves() external view returns (uint112 _reserve0, uint112 _reserve1, uint32 _blockTimestampLast);
}

interface IERC20 {
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
}

contract SwapPairsGetterDetailed {
    
    struct Pair {
        address tokenA;
        string nameA;
        string symbolA;
        uint112 fullReservA;
        uint112 reservA;
        address tokenB;
        string nameB;
        string symbolB;
        uint112 fullReservB;
        uint112 reservB;
    }

    function getAllPairsDetailed(
        IUniswapV2Factory factoryAddress,
        uint256 startIndex,
        uint256 endIndex
    ) external view returns (Pair[] memory) {
        address pair;
        Pair[] memory pairs = new Pair[](endIndex - startIndex + 1);
        uint256 index = 0;
        for (uint256 i = startIndex; i <= endIndex; i++) {
            Pair memory p;
            pair = factoryAddress.allPairs(i);
            IERC20 _tokenA = IERC20(IUniswapV2Pair(pair).token0());
            IERC20 _tokenB = IERC20(IUniswapV2Pair(pair).token1());
            p.tokenA = address(_tokenA);
            p.tokenB = address(_tokenB);
            p.nameA = _tokenA.name();
            p.nameB = _tokenB.name();
            (p.fullReservA, p.fullReservB, ) = IUniswapV2Pair(pair).getReserves();
            p.reservA = p.fullReservA / uint112(10**(_tokenA.decimals()));
            p.reservB = p.fullReservB / uint112(10**(_tokenB.decimals()));
            pairs[index] = p;
            index++;
        }
        return pairs;
    }

}
        

Compiler Settings

{"outputSelection":{"*":{"*":["*"],"":["*"]}},"optimizer":{"runs":200,"enabled":true},"metadata":{"bytecodeHash":"ipfs"},"libraries":{"SwapPairsGetterDetailed.sol":{}},"evmVersion":"paris"}
              

Contract ABI

[{"type":"function","stateMutability":"view","outputs":[{"type":"tuple[]","name":"","internalType":"struct SwapPairsGetterDetailed.Pair[]","components":[{"type":"address","name":"tokenA","internalType":"address"},{"type":"string","name":"nameA","internalType":"string"},{"type":"string","name":"symbolA","internalType":"string"},{"type":"uint112","name":"fullReservA","internalType":"uint112"},{"type":"uint112","name":"reservA","internalType":"uint112"},{"type":"address","name":"tokenB","internalType":"address"},{"type":"string","name":"nameB","internalType":"string"},{"type":"string","name":"symbolB","internalType":"string"},{"type":"uint112","name":"fullReservB","internalType":"uint112"},{"type":"uint112","name":"reservB","internalType":"uint112"}]}],"name":"getAllPairsDetailed","inputs":[{"type":"address","name":"factoryAddress","internalType":"contract IUniswapV2Factory"},{"type":"uint256","name":"startIndex","internalType":"uint256"},{"type":"uint256","name":"endIndex","internalType":"uint256"}]}]
              

Contract Creation Code

Verify & Publish
0x6080604052348015600f57600080fd5b50610aa38061001f6000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c4686bff14610030575b600080fd5b61004361003e366004610593565b610059565b6040516100509190610618565b60405180910390f35b60606000806100688585610775565b61007390600161078e565b67ffffffffffffffff81111561008b5761008b6107a1565b6040519080825280602002602001820160405280156100c457816020015b6100b16104f2565b8152602001906001900390816100a95790505b5090506000855b8581116104e6576100da6104f2565b604051631e3dd18b60e01b8152600481018390526001600160a01b038a1690631e3dd18b90602401602060405180830381865afa15801561011f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014391906107b7565b94506000856001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a991906107b7565b90506000866001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f91906107b7565b6001600160a01b0380841680865290821660a0860152604080516306fdde0360e01b8152905192935090916306fdde03916004808201926000929091908290030181865afa158015610265573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261028d91908101906107db565b8360200181905250806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102fb91908101906107db565b8360c00181905250866001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610341573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036591906108a4565b506001600160701b039081166101008601521660608401526040805163313ce56760e01b815290516001600160a01b0384169163313ce5679160048083019260209291908290030181865afa1580156103c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e691906108f4565b6103f190600a6109fb565b83606001516104009190610a0a565b6001600160701b031660808401526040805163313ce56760e01b815290516001600160a01b0383169163313ce5679160048083019260209291908290030181865afa158015610453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047791906108f4565b61048290600a6109fb565b8361010001516104929190610a0a565b6001600160701b0316610120840152855183908790879081106104b7576104b7610a3e565b602002602001018190525084806104cd90610a54565b95505050505080806104de90610a54565b9150506100cb565b50909695505050505050565b60405180610140016040528060006001600160a01b03168152602001606081526020016060815260200160006001600160701b0316815260200160006001600160701b0316815260200160006001600160a01b03168152602001606081526020016060815260200160006001600160701b0316815260200160006001600160701b031681525090565b6001600160a01b038116811461059057600080fd5b50565b6000806000606084860312156105a857600080fd5b83356105b38161057b565b95602085013595506040909401359392505050565b60005b838110156105e35781810151838201526020016105cb565b50506000910152565b600081518084526106048160208601602086016105c8565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561075157888303603f19018552815180516001600160a01b0316845261014088820151818a870152610679828701826105ec565b915050878201518582038987015261069182826105ec565b9150506060808301516106ae828801826001600160701b03169052565b50506080828101516001600160701b03169086015260a0808301516001600160a01b03169086015260c080830151868303828801526106ed83826105ec565b9250505060e0808301518683038288015261070883826105ec565b9250505061010080830151610727828801826001600160701b03169052565b5050610120918201516001600160701b031694909101939093529386019390860190600101610641565b509098975050505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156107885761078861075f565b92915050565b808201808211156107885761078861075f565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156107c957600080fd5b81516107d48161057b565b9392505050565b6000602082840312156107ed57600080fd5b815167ffffffffffffffff8082111561080557600080fd5b818401915084601f83011261081957600080fd5b81518181111561082b5761082b6107a1565b604051601f8201601f19908116603f01168101908382118183101715610853576108536107a1565b8160405282815287602084870101111561086c57600080fd5b61087d8360208301602088016105c8565b979650505050505050565b80516001600160701b038116811461089f57600080fd5b919050565b6000806000606084860312156108b957600080fd5b6108c284610888565b92506108d060208501610888565b9150604084015163ffffffff811681146108e957600080fd5b809150509250925092565b60006020828403121561090657600080fd5b815160ff811681146107d457600080fd5b600181815b808511156109525781600019048211156109385761093861075f565b8085161561094557918102915b93841c939080029061091c565b509250929050565b60008261096957506001610788565b8161097657506000610788565b816001811461098c5760028114610996576109b2565b6001915050610788565b60ff8411156109a7576109a761075f565b50506001821b610788565b5060208310610133831016604e8410600b84101617156109d5575081810a610788565b6109df8383610917565b80600019048211156109f3576109f361075f565b029392505050565b60006107d460ff84168361095a565b60006001600160701b0380841680610a3257634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b634e487b7160e01b600052603260045260246000fd5b600060018201610a6657610a6661075f565b506001019056fea2646970667358221220c6df6f4e909aa2d3647cff3c08c48689f113811843c4d9d7efd82049f1671bbb64736f6c63430008190033

Deployed ByteCode

0x608060405234801561001057600080fd5b506004361061002b5760003560e01c8063c4686bff14610030575b600080fd5b61004361003e366004610593565b610059565b6040516100509190610618565b60405180910390f35b60606000806100688585610775565b61007390600161078e565b67ffffffffffffffff81111561008b5761008b6107a1565b6040519080825280602002602001820160405280156100c457816020015b6100b16104f2565b8152602001906001900390816100a95790505b5090506000855b8581116104e6576100da6104f2565b604051631e3dd18b60e01b8152600481018390526001600160a01b038a1690631e3dd18b90602401602060405180830381865afa15801561011f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061014391906107b7565b94506000856001600160a01b0316630dfe16816040518163ffffffff1660e01b8152600401602060405180830381865afa158015610185573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101a991906107b7565b90506000866001600160a01b031663d21220a76040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061020f91906107b7565b6001600160a01b0380841680865290821660a0860152604080516306fdde0360e01b8152905192935090916306fdde03916004808201926000929091908290030181865afa158015610265573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261028d91908101906107db565b8360200181905250806001600160a01b03166306fdde036040518163ffffffff1660e01b8152600401600060405180830381865afa1580156102d3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526102fb91908101906107db565b8360c00181905250866001600160a01b0316630902f1ac6040518163ffffffff1660e01b8152600401606060405180830381865afa158015610341573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061036591906108a4565b506001600160701b039081166101008601521660608401526040805163313ce56760e01b815290516001600160a01b0384169163313ce5679160048083019260209291908290030181865afa1580156103c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103e691906108f4565b6103f190600a6109fb565b83606001516104009190610a0a565b6001600160701b031660808401526040805163313ce56760e01b815290516001600160a01b0383169163313ce5679160048083019260209291908290030181865afa158015610453573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061047791906108f4565b61048290600a6109fb565b8361010001516104929190610a0a565b6001600160701b0316610120840152855183908790879081106104b7576104b7610a3e565b602002602001018190525084806104cd90610a54565b95505050505080806104de90610a54565b9150506100cb565b50909695505050505050565b60405180610140016040528060006001600160a01b03168152602001606081526020016060815260200160006001600160701b0316815260200160006001600160701b0316815260200160006001600160a01b03168152602001606081526020016060815260200160006001600160701b0316815260200160006001600160701b031681525090565b6001600160a01b038116811461059057600080fd5b50565b6000806000606084860312156105a857600080fd5b83356105b38161057b565b95602085013595506040909401359392505050565b60005b838110156105e35781810151838201526020016105cb565b50506000910152565b600081518084526106048160208601602086016105c8565b601f01601f19169290920160200192915050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b8381101561075157888303603f19018552815180516001600160a01b0316845261014088820151818a870152610679828701826105ec565b915050878201518582038987015261069182826105ec565b9150506060808301516106ae828801826001600160701b03169052565b50506080828101516001600160701b03169086015260a0808301516001600160a01b03169086015260c080830151868303828801526106ed83826105ec565b9250505060e0808301518683038288015261070883826105ec565b9250505061010080830151610727828801826001600160701b03169052565b5050610120918201516001600160701b031694909101939093529386019390860190600101610641565b509098975050505050505050565b634e487b7160e01b600052601160045260246000fd5b818103818111156107885761078861075f565b92915050565b808201808211156107885761078861075f565b634e487b7160e01b600052604160045260246000fd5b6000602082840312156107c957600080fd5b81516107d48161057b565b9392505050565b6000602082840312156107ed57600080fd5b815167ffffffffffffffff8082111561080557600080fd5b818401915084601f83011261081957600080fd5b81518181111561082b5761082b6107a1565b604051601f8201601f19908116603f01168101908382118183101715610853576108536107a1565b8160405282815287602084870101111561086c57600080fd5b61087d8360208301602088016105c8565b979650505050505050565b80516001600160701b038116811461089f57600080fd5b919050565b6000806000606084860312156108b957600080fd5b6108c284610888565b92506108d060208501610888565b9150604084015163ffffffff811681146108e957600080fd5b809150509250925092565b60006020828403121561090657600080fd5b815160ff811681146107d457600080fd5b600181815b808511156109525781600019048211156109385761093861075f565b8085161561094557918102915b93841c939080029061091c565b509250929050565b60008261096957506001610788565b8161097657506000610788565b816001811461098c5760028114610996576109b2565b6001915050610788565b60ff8411156109a7576109a761075f565b50506001821b610788565b5060208310610133831016604e8410600b84101617156109d5575081810a610788565b6109df8383610917565b80600019048211156109f3576109f361075f565b029392505050565b60006107d460ff84168361095a565b60006001600160701b0380841680610a3257634e487b7160e01b600052601260045260246000fd5b92169190910492915050565b634e487b7160e01b600052603260045260246000fd5b600060018201610a6657610a6661075f565b506001019056fea2646970667358221220c6df6f4e909aa2d3647cff3c08c48689f113811843c4d9d7efd82049f1671bbb64736f6c63430008190033