Skip to content

How can I call the contract method 'getAmountsOut' with 'address[]' params? #60

Description

@silsuer

I wath get the price from pancakeswap router contract: https://bscscan.com/address/0x10ED43C718714eb63d5aA57B78B54704E256024E

abi:

{"internalType":"address[]","name":"path","type":"address[]"}],"name":"getAmountsOut","outputs":[{"internalType":"uint256[]","name":"amounts","type":"uint256[]"}],"stateMutability":"view","type":"function"}

code:

$eth = new Ethereum($url);
$w = new SmartContract($abi, self::PANCAKE_SWAP_ROUTER_CONTRACT_ADDRESS, $eth);

$price = $w->getAmountsOut(
            new EthQ(1, ['abi' => 'uint256'])
            new EthD($path, ['abi' => 'address[]'])
        )->val();

I dont know how to new the address[] ABI type object
then got the err:

substr() expects parameter 1 to be string, array given

How can I fix it?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions