Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
060042f923 |
@@ -3522,44 +3522,44 @@ Currently supported:
|
||||
none): one of a token other than `Token In`; one of `Token In` after an amount
|
||||
that is not a quantity (a V4 open delta, `ALREADY_PAID`, which keep their
|
||||
wording on the `Amount` line, or no stated amount, as of a V4 exact-out step);
|
||||
one of `Token In` that ETH an earlier step left in the router may pay part of;
|
||||
and one whose amount the decoder does not know. When there is no `Amount`
|
||||
line, each take the total counts gets them too, so that every amount the
|
||||
decoder reads is shown: the amount the step that sets the input side states,
|
||||
when it is a quantity and the user pays that step (a V2 or V3 step whose
|
||||
`payerIsUser` is true, a V4 step the user pays some of its input token, or a
|
||||
`WRAP_ETH`, whose ETH comes from the transaction's value), and each later take
|
||||
of `Token In` added to it. A step that sets the input side gets none when the
|
||||
user pays it none of its input token. A `PERMIT2_PERMIT` the decoder cannot
|
||||
read, then V3 exact-ins of 600 USDT and 400 DAI paid by the user, give lines
|
||||
for both amounts. When the step that sets the input side states no amount, the
|
||||
user pays it some of its input token, and there is no `Amount` line, that step
|
||||
gets them too whenever another take's lines give a figure, or a
|
||||
`PERMIT2_TRANSFER_FROM` of its token gives one, on the lines below or, into
|
||||
the router, on its `Paid to` line, so that figure cannot read as all that
|
||||
leaves. When it states no amount and the user pays it none of its input token,
|
||||
that step never gets them, with a permit or without. They come in step order,
|
||||
except that the step that sets the input side comes first when it has them,
|
||||
followed, when there is no `Amount` line, by the other takes the total counts:
|
||||
`Moved from the sender`, its amount, worded as the `Amount` line words one, or
|
||||
`Unknown (could not be decoded)` when the decoder does not know it;
|
||||
`Token moved`, giving the token's address as the `Token In` line does; and
|
||||
`Moved to`, which reads `The swap step that spends it`. A token the decoder
|
||||
does not know gives the `Moved from the sender` line alone. A step may also
|
||||
take from the user's wallet what the decoder did not read: a V4 step whose
|
||||
input or one of whose `SETTLE`s or `SETTLE_ALL`s it cannot read, which the
|
||||
router still runs; a V2 or V3 exact-in or exact-out step or a
|
||||
`PERMIT2_TRANSFER_FROM` whose input it cannot read, such as a V3 step whose
|
||||
path is shorter than one token address or has bytes after its last hop; every
|
||||
`PERMIT2_TRANSFER_FROM_BATCH`; every `EXECUTE_SUB_PLAN`, wherever it stands;
|
||||
and every step it fails on. Each such step gives one `Moved from the sender`
|
||||
line among those, reading `Unknown (could not be decoded)`. That line, or any
|
||||
line for a token the decoder does not know, leaves no `Amount` line, whose
|
||||
figure might be too low, and such a step before a `PERMIT2_PERMIT` keeps the
|
||||
permit's amount from standing. Then each `PERMIT2_TRANSFER_FROM` but one into
|
||||
the router, in step order, gives three lines: `Moved from the sender`, the
|
||||
amount it moves, for example `1000000.0000 USDT`; `Token moved`, giving the
|
||||
token's address as the `Token In` line does; and `Moved to`, which reads
|
||||
an ETH take whose line reads `Up to` (see above); and one whose amount the
|
||||
decoder does not know. When there is no `Amount` line, each take the total
|
||||
counts gets them too, so that every amount the decoder reads is shown: the
|
||||
amount the step that sets the input side states, when it is a quantity and the
|
||||
user pays that step (a V2 or V3 step whose `payerIsUser` is true, a V4 step
|
||||
the user pays some of its input token, or a `WRAP_ETH`, whose ETH comes from
|
||||
the transaction's value), and each later take of `Token In` added to it. A
|
||||
step that sets the input side gets none when the user pays it none of its
|
||||
input token. A `PERMIT2_PERMIT` the decoder cannot read, then V3 exact-ins of
|
||||
600 USDT and 400 DAI paid by the user, give lines for both amounts. When the
|
||||
step that sets the input side states no amount, the user pays it some of its
|
||||
input token, and there is no `Amount` line, that step gets them too whenever
|
||||
another take's lines give a figure, or a `PERMIT2_TRANSFER_FROM` of its token
|
||||
gives one, on the lines below or, into the router, on its `Paid to` line, so
|
||||
that figure cannot read as all that leaves. When it states no amount and the
|
||||
user pays it none of its input token, that step never gets them, with a permit
|
||||
or without. They come in step order, except that the step that sets the input
|
||||
side comes first when it has them, followed, when there is no `Amount` line,
|
||||
by the other takes the total counts: `Moved from the sender`, its amount,
|
||||
worded as the `Amount` line words one, or `Unknown (could not be decoded)`
|
||||
when the decoder does not know it; `Token moved`, giving the token's address
|
||||
as the `Token In` line does; and `Moved to`, which reads
|
||||
`The swap step that spends it`. A token the decoder does not know gives the
|
||||
`Moved from the sender` line alone. A step may also take from the user's
|
||||
wallet what the decoder did not read: a V4 step whose input or one of whose
|
||||
`SETTLE`s or `SETTLE_ALL`s it cannot read, which the router still runs; a V2
|
||||
or V3 exact-in or exact-out step or a `PERMIT2_TRANSFER_FROM` whose input it
|
||||
cannot read, such as a V3 step whose path is shorter than one token address or
|
||||
has bytes after its last hop; every `PERMIT2_TRANSFER_FROM_BATCH`; every
|
||||
`EXECUTE_SUB_PLAN`, wherever it stands; and every step it fails on. Each such
|
||||
step gives one `Moved from the sender` line among those, reading
|
||||
`Unknown (could not be decoded)`. That line, or any line for a token the
|
||||
decoder does not know, leaves no `Amount` line, whose figure might be too low,
|
||||
and such a step before a `PERMIT2_PERMIT` keeps the permit's amount from
|
||||
standing. Then each `PERMIT2_TRANSFER_FROM` but one into the router, in step
|
||||
order, gives three lines: `Moved from the sender`, the amount it moves, for
|
||||
example `1000000.0000 USDT`; `Token moved`, giving the token's address as the
|
||||
`Token In` line does; and `Moved to`, which reads
|
||||
`The V2 pair the next swap spends` for a hop and `The sender` for `address(1)`
|
||||
on every router but `UniversalRouterV1`, and otherwise gives the address. A
|
||||
move into the router needs none of them, because its `Paid to` line and
|
||||
|
||||
Reference in New Issue
Block a user