Skip to content

Commit 6a8a7ad

Browse files
isstuevcarlomigueldy
authored andcommitted
Show decoded target address in User operations (blockscout#2520)
1 parent 294d333 commit 6a8a7ad

File tree

5 files changed

+24
-0
lines changed

5 files changed

+24
-0
lines changed

mocks/userOps/userOp.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,14 @@ export const userOpData: UserOp = {
6666
},
6767
call_data: '0xb61d27f600000000000000000000000059f6aa952df7f048fd076e33e0ea8bb552d5ffd8000000000000000000000000000000000000000000000000003f3d017500800000000000000000000000000000000000000000000000000000000000000000600000000000000000000000000000000000000000000000000000000000000000',
6868
execute_call_data: '0x3cf80e6c',
69+
execute_target: {
70+
ens_domain_name: null,
71+
hash: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48',
72+
implementations: null,
73+
is_contract: true,
74+
is_verified: true,
75+
name: 'FiatTokenProxy',
76+
},
6977
decoded_call_data: {
7078
method_call: 'execute(address dest, uint256 value, bytes func)',
7179
method_id: 'b61d27f6',

types/api/userOps.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export type UserOp = {
4949
call_data: string;
5050
decoded_call_data: DecodedInput | null;
5151
execute_call_data: string | null;
52+
execute_target?: AddressParamBasic | null;
5253
decoded_execute_call_data: DecodedInput | null;
5354
user_logs_start_index: number;
5455
user_logs_count: number;
Loading
Loading

ui/userOp/UserOpDetails.tsx

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ import DataFetchAlert from 'ui/shared/DataFetchAlert';
1919
import * as DetailsInfoItem from 'ui/shared/DetailsInfoItem';
2020
import DetailsInfoItemDivider from 'ui/shared/DetailsInfoItemDivider';
2121
import DetailsTimestamp from 'ui/shared/DetailsTimestamp';
22+
import AddressEntity from 'ui/shared/entities/address/AddressEntity';
2223
import AddressStringOrParam from 'ui/shared/entities/address/AddressStringOrParam';
2324
import BlockEntity from 'ui/shared/entities/block/BlockEntity';
2425
import TxEntity from 'ui/shared/entities/tx/TxEntity';
@@ -91,6 +92,20 @@ const UserOpDetails = ({ query }: Props) => {
9192
<AddressStringOrParam address={ data.sender } isLoading={ isPlaceholderData }/>
9293
</DetailsInfoItem.Value>
9394

95+
{ data.execute_target && (
96+
<>
97+
<DetailsInfoItem.Label
98+
hint="Target smart contract called by the User operation"
99+
isLoading={ isPlaceholderData }
100+
>
101+
Target
102+
</DetailsInfoItem.Label>
103+
<DetailsInfoItem.Value>
104+
<AddressEntity address={ data.execute_target } isLoading={ isPlaceholderData }/>
105+
</DetailsInfoItem.Value>
106+
</>
107+
) }
108+
94109
<DetailsInfoItem.Label
95110
hint="Current User operation state"
96111
isLoading={ isPlaceholderData }

0 commit comments

Comments
 (0)