# Palkeoramix decompiler.
def _fallback() payable: # default function
idx = 0
while idx < calldata.size / 168:
mem[272 len 20] = call.data[(168 * idx) + 26 len 20]
mem[601 len 11] = call.data[(168 * idx) + 179 len 11]
mem[889 len 11] = call.data[(168 * idx) + 179 len 11]
mem[960 len 4] = call.data[(168 * idx) + 22 len 4]
mem[992 len 36] = call.data[(168 * idx) + 143 len 36]
mem[1539 len 1] = call.data[(168 * idx) + 46 len 1]
mem[1604 len 64] = call.data[(168 * idx) + 47 len 64]
mem[1832] = call.data[(168 * idx) + 111]
mem[2120] = call.data[(168 * idx) + 111]
mem[2036 len 20] = call.data[(168 * idx) + 26 len 20]
call 0x7f268357a8c2552623316e2562d90e642bb538e5.atomicMatch_(address addrs, uint256 uints, uint8 feeMethodsSidesKindsHowToCalls, bytes calldataBuy, bytes calldataSell, bytes replacementPatternBuy, bytes replacementPatternSell, bytes staticExtradataBuy, bytes staticExtradataSell, uint8 vs, bytes32 rssMetadata) with:
value mem[580 len 21], call.data[(168 * idx) + 179 len 11] wei
gas gas_remaining wei
args 0x7f268357a8c2552623316e2562d90e642bb538e5, 0x35634b55f3d99b071b5a354f48e10bef, 0, mem[96 len 36], 0xbaf2127b49fc93cbca6269fade0f7f31df4c88a7, mem[164 len 64], 0x7f268357a8c2552623316e2562d90e642bb538e5, mem[260 len 12], call.data[(168 * idx) + 26 len 20], mem[292], 0x5b3256965e7c3cf26e11fcaf296dfc8807c01073, 0xbaf2127b49fc93cbca6269fade0f7f31df4c88a7, mem[388 len 213], call.data[(168 * idx) + 179 len 11], mem[612 len 158], call.datamem[772 len 117], call.data[(168 * idx) + 179 len 11], mem[900 len 60], call.data[(168 * idx) + 22 len 4], mem[964 len 28], call.data[(168 * idx) + 143 len 36], 1, mem[1060 len 64], 1, 1, 1, mem[1220], 1, 1696, 1984, 2272, 2560, 2848, 2880, mem[1476 len 63], call.data[(168 * idx) + 46 len 1], mem[1540 len 64], call.data[(168 * idx) + 47 len 64], mem[1668 len 36], 983465108885, mem[1736], caller, mem[1800 len 12], call.data * idx) + 111], mem[1864], 192, mem[1928 len 64], 983465108885, mem[2024 len 12], call.data[(168 * idx) + 26 len 20], mem[2056 len 44], call.data * idx) + 111], mem[2152], 192, mem[2216 len 60], 228, mem[2308 len 4], -1, mem[2344 len 220], 228, mem[2596 len 36], -1, mem[2664 len 252]
idx = idx + 1
continue
if eth.balance(this.address):
call caller with:
value eth.balance(this.address) wei
gas gas_remaining wei
这是所有的合约反编译结果,循环中类似mem[272 len 20]
我理解是定义变量接收calldata中截取从特定位置开始的特定长度的参数?但是在后面的call过程中没有再次出现过。所以想知道这个mem
和call.data[]
具体是在做什么,可能理解有变差?