Open guotie opened 1 month ago
I compare calldata with etherscan, the calldata should be
351fb478000000000000000000000000d0b53d9277642d899df5c87a3966a349a798f224ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c
and our calldata is :
351fb478000000000000000000000000d0b53d9277642d899df5c87a3966a349a798f224000000000000000000000000000000000000000000000000000000000000ff9c
we encode -100
to 000000000000000000000000000000000000000000000000000000000000ff9c
, which cause failed.
If I use calldata 351fb478000000000000000000000000d0b53d9277642d899df5c87a3966a349a798f224ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c
, then it success, so the problem is wrong encode negtive int16.
so, how to fix it?
the method protottype:
function getPopulatedTicksInWord(address pool, int16 tickBitmapIndex)
public
view
override
returns (PopulatedTick[] memory populatedTicks)
When I read a uniswap v3 pool liquidity with TickLens contract, I encounter error:
My Code:
returns: