Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
F
frontend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
vicotor
frontend
Commits
73ce4f50
Unverified
Commit
73ce4f50
authored
Nov 11, 2024
by
tom goriunov
Committed by
GitHub
Nov 11, 2024
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bind to full prop namings in API v2 endpoints (#2381)
Fixes #2374
parent
8da3472a
Changes
99
Show whitespace changes
Inline
Side-by-side
Showing
99 changed files
with
280 additions
and
280 deletions
+280
-280
getBlockReward.ts
lib/block/getBlockReward.ts
+1
-1
address.ts
mocks/address/address.ts
+4
-4
block.ts
mocks/blocks/block.ts
+5
-5
index.ts
mocks/contracts/index.ts
+2
-2
mudWorlds.ts
mocks/mud/mudWorlds.ts
+3
-3
deposits.ts
mocks/optimism/deposits.ts
+13
-13
outputRoots.ts
mocks/optimism/outputRoots.ts
+3
-3
txnBatches.ts
mocks/optimism/txnBatches.ts
+12
-12
withdrawals.ts
mocks/optimism/withdrawals.ts
+6
-6
index.ts
mocks/search/index.ts
+1
-1
daily_txs.ts
mocks/stats/daily_txs.ts
+42
-42
tokenTransfer.ts
mocks/tokens/tokenTransfer.ts
+4
-4
txnBatches.ts
mocks/zkEvm/txnBatches.ts
+8
-8
zkSyncTxnBatch.ts
mocks/zkSync/zkSyncTxnBatch.ts
+2
-2
zkSyncTxnBatches.ts
mocks/zkSync/zkSyncTxnBatches.ts
+3
-3
L2.ts
stubs/L2.ts
+9
-9
address.ts
stubs/address.ts
+2
-2
block.ts
stubs/block.ts
+2
-2
contract.ts
stubs/contract.ts
+1
-1
log.ts
stubs/log.ts
+1
-1
mud.ts
stubs/mud.ts
+1
-1
search.ts
stubs/search.ts
+1
-1
token.ts
stubs/token.ts
+1
-1
zkEvmL2.ts
stubs/zkEvmL2.ts
+5
-5
zkSyncL2.ts
stubs/zkSyncL2.ts
+3
-3
account.ts
types/api/account.ts
+1
-1
address.ts
types/api/address.ts
+1
-1
addresses.ts
types/api/addresses.ts
+1
-1
block.ts
types/api/block.ts
+4
-4
charts.ts
types/api/charts.ts
+1
-1
contracts.ts
types/api/contracts.ts
+1
-1
log.ts
types/api/log.ts
+1
-1
mudWorlds.ts
types/api/mudWorlds.ts
+1
-1
optimisticL2.ts
types/api/optimisticL2.ts
+12
-12
search.ts
types/api/search.ts
+2
-2
tokenTransfer.ts
types/api/tokenTransfer.ts
+1
-1
transaction.ts
types/api/transaction.ts
+1
-1
zkEvmL2.ts
types/api/zkEvmL2.ts
+5
-5
zkSyncL2.ts
types/api/zkSyncL2.ts
+4
-4
AddressDetails.tsx
ui/address/AddressDetails.tsx
+3
-3
AddressBlocksValidatedListItem.tsx
...ddress/blocksValidated/AddressBlocksValidatedListItem.tsx
+1
-1
AddressBlocksValidatedTableItem.tsx
...dress/blocksValidated/AddressBlocksValidatedTableItem.tsx
+1
-1
useAddressQuery.ts
ui/address/utils/useAddressQuery.ts
+1
-1
AddressesListItem.tsx
ui/addresses/AddressesListItem.tsx
+1
-1
AddressesTableItem.tsx
ui/addresses/AddressesTableItem.tsx
+1
-1
AddressesLabelSearchListItem.tsx
ui/addressesLabelSearch/AddressesLabelSearchListItem.tsx
+1
-1
AddressesLabelSearchTableItem.tsx
ui/addressesLabelSearch/AddressesLabelSearchTableItem.tsx
+1
-1
BlockDetails.tsx
ui/block/BlockDetails.tsx
+1
-1
useBlockQuery.tsx
ui/block/useBlockQuery.tsx
+2
-2
BlocksListItem.tsx
ui/blocks/BlocksListItem.tsx
+4
-4
BlocksTableItem.tsx
ui/blocks/BlocksTableItem.tsx
+4
-4
OptimisticDepositsListItem.tsx
ui/deposits/optimisticL2/OptimisticDepositsListItem.tsx
+4
-4
OptimisticDepositsTable.tsx
ui/deposits/optimisticL2/OptimisticDepositsTable.tsx
+1
-1
OptimisticDepositsTableItem.tsx
ui/deposits/optimisticL2/OptimisticDepositsTableItem.tsx
+4
-4
LatestBlocksItem.tsx
ui/home/LatestBlocksItem.tsx
+1
-1
indicators.tsx
ui/home/indicators/utils/indicators.tsx
+1
-1
LatestZkEvmL2Batches.tsx
ui/home/latestBatches/LatestZkEvmL2Batches.tsx
+1
-1
LatestOptimisticDeposits.tsx
ui/home/latestDeposits/LatestOptimisticDeposits.tsx
+1
-1
MudWorldsListItem.tsx
ui/mudWorlds/MudWorldsListItem.tsx
+1
-1
MudWorldsTableItem.tsx
ui/mudWorlds/MudWorldsTableItem.tsx
+1
-1
OptimisticL2OutputRootsListItem.tsx
...putRoots/optimisticL2/OptimisticL2OutputRootsListItem.tsx
+1
-1
OptimisticL2OutputRootsTableItem.tsx
...utRoots/optimisticL2/OptimisticL2OutputRootsTableItem.tsx
+1
-1
Accounts.pw.tsx
ui/pages/Accounts.pw.tsx
+4
-4
AccountsLabelSearch.pw.tsx
ui/pages/AccountsLabelSearch.pw.tsx
+4
-4
OptimisticL2Deposits.tsx
ui/pages/OptimisticL2Deposits.tsx
+2
-2
SearchResults.pw.tsx
ui/pages/SearchResults.pw.tsx
+3
-3
TokenTransfers.tsx
ui/pages/TokenTransfers.tsx
+1
-1
TransactionForm.tsx
ui/privateTags/TransactionModal/TransactionForm.tsx
+2
-2
SearchResultListItem.tsx
ui/searchResults/SearchResultListItem.tsx
+2
-2
SearchResultTableItem.tsx
ui/searchResults/SearchResultTableItem.tsx
+2
-2
TokenTransferList.tsx
ui/shared/TokenTransfer/TokenTransferList.tsx
+1
-1
TokenTransferListItem.tsx
ui/shared/TokenTransfer/TokenTransferListItem.tsx
+1
-1
TokenTransferTable.tsx
ui/shared/TokenTransfer/TokenTransferTable.tsx
+1
-1
TokenTransferTableItem.tsx
ui/shared/TokenTransfer/TokenTransferTableItem.tsx
+1
-1
LogItem.pw.tsx
ui/shared/logs/LogItem.pw.tsx
+2
-2
LogItem.tsx
ui/shared/logs/LogItem.tsx
+1
-1
SearchBar.pw.tsx
ui/snippets/searchBar/SearchBar.pw.tsx
+4
-4
SearchBarSuggestItem.tsx
...ppets/searchBar/SearchBarSuggest/SearchBarSuggestItem.tsx
+1
-1
SearchBarSuggestTx.tsx
...nippets/searchBar/SearchBarSuggest/SearchBarSuggestTx.tsx
+1
-1
TokenTransferList.tsx
ui/token/TokenTransfer/TokenTransferList.tsx
+1
-1
TokenTransferListItem.tsx
ui/token/TokenTransfer/TokenTransferListItem.tsx
+1
-1
TokenTransferTable.tsx
ui/token/TokenTransfer/TokenTransferTable.tsx
+1
-1
TokenTransferTableItem.tsx
ui/token/TokenTransfer/TokenTransferTableItem.tsx
+1
-1
TokenTransfersListItem.tsx
ui/tokenTransfers/TokenTransfersListItem.tsx
+1
-1
TokenTransfersTable.tsx
ui/tokenTransfers/TokenTransfersTable.tsx
+1
-1
TokenTransfersTableItem.tsx
ui/tokenTransfers/TokenTransfersTableItem.tsx
+1
-1
OptimisticL2TxnBatchDetails.tsx
ui/txnBatches/optimisticL2/OptimisticL2TxnBatchDetails.tsx
+2
-2
OptimisticL2TxnBatchesListItem.tsx
...xnBatches/optimisticL2/OptimisticL2TxnBatchesListItem.tsx
+2
-2
OptimisticL2TxnBatchesTableItem.tsx
...nBatches/optimisticL2/OptimisticL2TxnBatchesTableItem.tsx
+2
-2
ZkEvmL2TxnBatchDetails.tsx
ui/txnBatches/zkEvmL2/ZkEvmL2TxnBatchDetails.tsx
+4
-4
ZkEvmTxnBatchesListItem.tsx
ui/txnBatches/zkEvmL2/ZkEvmTxnBatchesListItem.tsx
+5
-5
ZkEvmTxnBatchesTableItem.tsx
ui/txnBatches/zkEvmL2/ZkEvmTxnBatchesTableItem.tsx
+5
-5
ZkSyncL2TxnBatchDetails.tsx
ui/txnBatches/zkSyncL2/ZkSyncL2TxnBatchDetails.tsx
+1
-1
ZkSyncTxnBatchesListItem.tsx
ui/txnBatches/zkSyncL2/ZkSyncTxnBatchesListItem.tsx
+1
-1
ZkSyncTxnBatchesTableItem.tsx
ui/txnBatches/zkSyncL2/ZkSyncTxnBatchesTableItem.tsx
+1
-1
VerifiedContractsListItem.tsx
ui/verifiedContracts/VerifiedContractsListItem.tsx
+1
-1
VerifiedContractsTableItem.tsx
ui/verifiedContracts/VerifiedContractsTableItem.tsx
+1
-1
OptimisticL2WithdrawalsListItem.tsx
...hdrawals/optimisticL2/OptimisticL2WithdrawalsListItem.tsx
+3
-3
OptimisticL2WithdrawalsTableItem.tsx
...drawals/optimisticL2/OptimisticL2WithdrawalsTableItem.tsx
+3
-3
No files found.
lib/block/getBlockReward.ts
View file @
73ce4f50
...
...
@@ -3,7 +3,7 @@ import BigNumber from 'bignumber.js';
import
type
{
Block
}
from
'
types/api/block
'
;
export
default
function
getBlockReward
(
block
:
Block
)
{
const
txFees
=
BigNumber
(
block
.
t
x
_fees
||
0
);
const
txFees
=
BigNumber
(
block
.
t
ransaction
_fees
||
0
);
const
burntFees
=
BigNumber
(
block
.
burnt_fees
||
0
);
const
minerReward
=
block
.
rewards
?.
find
(({
type
})
=>
type
===
'
Miner Reward
'
||
type
===
'
Validator Reward
'
)?.
reward
;
const
totalReward
=
BigNumber
(
minerReward
||
0
);
...
...
mocks/address/address.ts
View file @
73ce4f50
...
...
@@ -73,7 +73,7 @@ export const token: Address = {
token
:
tokenInfo
,
block_number_balance_updated_at
:
8201413
,
coin_balance
:
'
1
'
,
creation_t
x
_hash
:
'
0xc38cf7377bf72d6436f63c37b01b24d032101f20ec1849286dc703c712f10c98
'
,
creation_t
ransaction
_hash
:
'
0xc38cf7377bf72d6436f63c37b01b24d032101f20ec1849286dc703c712f10c98
'
,
creator_address_hash
:
'
0x34A9c688512ebdB575e82C50c9803F6ba2916E72
'
,
exchange_rate
:
'
0.04311
'
,
has_decompiled_code
:
false
,
...
...
@@ -87,7 +87,7 @@ export const token: Address = {
export
const
eoa
:
Address
=
{
block_number_balance_updated_at
:
30811263
,
coin_balance
:
'
2782650189688719421432220500
'
,
creation_t
x
_hash
:
'
0xf2aff6501b632604c39978b47d309813d8a1bcca721864bbe86abf59704f195e
'
,
creation_t
ransaction
_hash
:
'
0xf2aff6501b632604c39978b47d309813d8a1bcca721864bbe86abf59704f195e
'
,
creator_address_hash
:
'
0x803ad3F50b9e1fF68615e8B053A186e1be288943
'
,
exchange_rate
:
'
0.04311
'
,
has_decompiled_code
:
false
,
...
...
@@ -111,7 +111,7 @@ export const eoa: Address = {
export
const
contract
:
Address
=
{
block_number_balance_updated_at
:
30811263
,
coin_balance
:
'
27826501896887194214322205
'
,
creation_t
x
_hash
:
'
0xf2aff6501b632604c39978b47d309813d8a1bcca721864bbe86abf59704f195e
'
,
creation_t
ransaction
_hash
:
'
0xf2aff6501b632604c39978b47d309813d8a1bcca721864bbe86abf59704f195e
'
,
creator_address_hash
:
'
0x803ad3F50b9e1fF68615e8B053A186e1be288943
'
,
exchange_rate
:
'
0.04311
'
,
has_decompiled_code
:
false
,
...
...
@@ -137,7 +137,7 @@ export const contract: Address = {
export
const
validator
:
Address
=
{
block_number_balance_updated_at
:
30811932
,
coin_balance
:
'
22910462800601256910890
'
,
creation_t
x
_hash
:
null
,
creation_t
ransaction
_hash
:
null
,
creator_address_hash
:
null
,
exchange_rate
:
'
0.00432018
'
,
has_decompiled_code
:
false
,
...
...
mocks/blocks/block.ts
View file @
73ce4f50
...
...
@@ -52,8 +52,8 @@ export const base: Block = {
state_root
:
'
TODO
'
,
timestamp
:
'
2022-11-11T11:59:35Z
'
,
total_difficulty
:
'
10258276095980170141167591583995189665817672619
'
,
t
x
_count
:
5
,
t
x
_fees
:
'
26853607500000000
'
,
t
ransaction
_count
:
5
,
t
ransaction
_fees
:
'
26853607500000000
'
,
type
:
'
block
'
,
uncles_hashes
:
[],
};
...
...
@@ -89,8 +89,8 @@ export const genesis: Block = {
state_root
:
'
TODO
'
,
timestamp
:
'
2017-12-16T00:13:24.000000Z
'
,
total_difficulty
:
'
131072
'
,
t
x
_count
:
0
,
t
x
_fees
:
'
0
'
,
t
ransaction
_count
:
0
,
t
ransaction
_fees
:
'
0
'
,
type
:
'
block
'
,
uncles_hashes
:
[],
};
...
...
@@ -111,7 +111,7 @@ export const base2: Block = {
ens_domain_name
:
null
,
},
timestamp
:
'
2022-11-11T11:46:05Z
'
,
t
x
_count
:
253
,
t
ransaction
_count
:
253
,
gas_target_percentage
:
23.6433
,
gas_used
:
'
6333342
'
,
gas_used_percentage
:
87.859504
,
...
...
mocks/contracts/index.ts
View file @
73ce4f50
...
...
@@ -18,7 +18,7 @@ export const contract1: VerifiedContract = {
language
:
'
solidity
'
,
market_cap
:
null
,
optimization_enabled
:
false
,
t
x
_count
:
7334224
,
t
ransaction
_count
:
7334224
,
verified_at
:
'
2022-09-16T18:49:29.605179Z
'
,
license_type
:
'
mit
'
,
};
...
...
@@ -42,7 +42,7 @@ export const contract2: VerifiedContract = {
language
:
'
vyper
'
,
market_cap
:
null
,
optimization_enabled
:
true
,
t
x
_count
:
440
,
t
ransaction
_count
:
440
,
verified_at
:
'
2021-09-07T20:01:56.076979Z
'
,
license_type
:
'
bsd_3_clause
'
,
};
...
...
mocks/mud/mudWorlds.ts
View file @
73ce4f50
...
...
@@ -7,17 +7,17 @@ export const mudWorlds: MudWorldsResponse = {
{
address
:
withName
,
coin_balance
:
'
300000000000000000
'
,
t
x
_count
:
3938
,
t
ransaction
_count
:
3938
,
},
{
address
:
withoutName
,
coin_balance
:
'
0
'
,
t
x
_count
:
0
,
t
ransaction
_count
:
0
,
},
{
address
:
withoutName
,
coin_balance
:
'
0
'
,
t
x
_count
:
0
,
t
ransaction
_count
:
0
,
},
],
next_page_params
:
{
...
...
mocks/optimism/deposits.ts
View file @
73ce4f50
...
...
@@ -3,31 +3,31 @@ export const data = {
{
l1_block_number
:
8382841
,
l1_block_timestamp
:
'
2022-05-27T01:13:48.000000Z
'
,
l1_t
x
_hash
:
'
0xaf3e5f4ef03eac22a622b3434c5dc9f4465aa291900a86bcf0ad9fb14429f05e
'
,
l1_t
x
_origin
:
'
0x6197d1eef304eb5284a0f6720f79403b4e9bf3a5
'
,
l2_t
x
_gas_limit
:
'
2156928
'
,
l2_t
x
_hash
:
'
0xb9212c76069b926917816767e4c5a0ef80e519b1ac1c3d3fb5818078f4984667
'
,
l1_t
ransaction
_hash
:
'
0xaf3e5f4ef03eac22a622b3434c5dc9f4465aa291900a86bcf0ad9fb14429f05e
'
,
l1_t
ransaction
_origin
:
'
0x6197d1eef304eb5284a0f6720f79403b4e9bf3a5
'
,
l2_t
ransaction
_gas_limit
:
'
2156928
'
,
l2_t
ransaction
_hash
:
'
0xb9212c76069b926917816767e4c5a0ef80e519b1ac1c3d3fb5818078f4984667
'
,
},
{
l1_block_number
:
8382841
,
l1_block_timestamp
:
'
2022-05-27T01:13:48.000000Z
'
,
l1_t
x
_hash
:
'
0xa280f18cc72f9ad904087eb262c236048e935ad184a85bbd042d544c172c10bf
'
,
l1_t
x
_origin
:
'
0x6197d1eef304eb5284a0f6720f79403b4e9bf3a5
'
,
l2_t
x
_gas_limit
:
'
1216064
'
,
l2_t
x
_hash
:
'
0xaaaeb47a78b5c42d870f8d831a683a7cefe1b031a992170b28b43b82bd08318c
'
,
l1_t
ransaction
_hash
:
'
0xa280f18cc72f9ad904087eb262c236048e935ad184a85bbd042d544c172c10bf
'
,
l1_t
ransaction
_origin
:
'
0x6197d1eef304eb5284a0f6720f79403b4e9bf3a5
'
,
l2_t
ransaction
_gas_limit
:
'
1216064
'
,
l2_t
ransaction
_hash
:
'
0xaaaeb47a78b5c42d870f8d831a683a7cefe1b031a992170b28b43b82bd08318c
'
,
},
{
l1_block_number
:
8382834
,
l1_block_timestamp
:
'
2022-06-27T01:11:48.000000Z
'
,
l1_t
x
_hash
:
'
0xfca8cc5440bffa8b975873c02bba3ff3380dd75fbc3260d10179e282cf72d6d4
'
,
l1_t
x
_origin
:
'
0x6197d1eef304eb5284a0f6720f79403b4e9bf3a5
'
,
l2_t
x
_gas_limit
:
'
405824
'
,
l2_t
x
_hash
:
'
0xa0604ebf2614ad708aeefa83f766fb25928dadb5ffb2f45028f5b4f1fa4d9358
'
,
l1_t
ransaction
_hash
:
'
0xfca8cc5440bffa8b975873c02bba3ff3380dd75fbc3260d10179e282cf72d6d4
'
,
l1_t
ransaction
_origin
:
'
0x6197d1eef304eb5284a0f6720f79403b4e9bf3a5
'
,
l2_t
ransaction
_gas_limit
:
'
405824
'
,
l2_t
ransaction
_hash
:
'
0xa0604ebf2614ad708aeefa83f766fb25928dadb5ffb2f45028f5b4f1fa4d9358
'
,
},
],
next_page_params
:
{
items_count
:
50
,
l1_block_number
:
8382363
,
t
x
_hash
:
'
0x2012f0ce966ce6573e7826e9235f227edf5a2f8382b8d646c979f85a77e15c05
'
,
t
ransaction
_hash
:
'
0x2012f0ce966ce6573e7826e9235f227edf5a2f8382b8d646c979f85a77e15c05
'
,
},
};
mocks/optimism/outputRoots.ts
View file @
73ce4f50
...
...
@@ -3,7 +3,7 @@ export const outputRootsData = {
{
l1_block_number
:
8456113
,
l1_timestamp
:
'
2022-02-08T12:08:48.000000Z
'
,
l1_t
x
_hash
:
'
0x19455a53758d5de89070164ff09c40d93f1b4447e721090f03aa150f6159265a
'
,
l1_t
ransaction
_hash
:
'
0x19455a53758d5de89070164ff09c40d93f1b4447e721090f03aa150f6159265a
'
,
l2_block_number
:
5214988
,
l2_output_index
:
9926
,
output_root
:
'
0xa7de9bd3986ce5ca8de9f0ab6c7473f4cebe225fb13b57cc5c8472de84a8bab3
'
,
...
...
@@ -11,7 +11,7 @@ export const outputRootsData = {
{
l1_block_number
:
8456099
,
l1_timestamp
:
'
2022-02-08T12:05:24.000000Z
'
,
l1_t
x
_hash
:
'
0x6aa081e8e33a085e4ec7124fcd8a5f7d36aac0828f176e80d4b70e313a11695b
'
,
l1_t
ransaction
_hash
:
'
0x6aa081e8e33a085e4ec7124fcd8a5f7d36aac0828f176e80d4b70e313a11695b
'
,
l2_block_number
:
5214868
,
l2_output_index
:
9925
,
output_root
:
'
0x4ec2822d2f7b4f834d693d88f8a4cf15899882915980a21756d29cfd9f9f3898
'
,
...
...
@@ -19,7 +19,7 @@ export const outputRootsData = {
{
l1_block_number
:
8456078
,
l1_timestamp
:
'
2022-02-08T12:00:48.000000Z
'
,
l1_t
x
_hash
:
'
0x4238988b0959e41a7b09cef67f58698e05e3bcc29b8d2f60e6c77dc68c91f16e
'
,
l1_t
ransaction
_hash
:
'
0x4238988b0959e41a7b09cef67f58698e05e3bcc29b8d2f60e6c77dc68c91f16e
'
,
l2_block_number
:
5214748
,
l2_output_index
:
9924
,
output_root
:
'
0x78b2e13c20f4bbfb4a008127edaaf25aa476f933669edd4856305bf4ab64a92b
'
,
...
...
mocks/optimism/txnBatches.ts
View file @
73ce4f50
...
...
@@ -11,33 +11,33 @@ export const txnBatchesData: OptimisticL2TxnBatchesResponse = {
batch_data_container
:
'
in_blob4844
'
,
internal_id
:
260998
,
l1_timestamp
:
'
2022-11-10T11:29:11.000000Z
'
,
l1_t
x
_hashes
:
[
l1_t
ransaction
_hashes
:
[
'
0x9553351f6bd1577f4e782738c087be08697fb11f3b91745138d71ba166d62c3b
'
,
],
l2_block_end
:
124882074
,
l2_block_start
:
124881833
,
t
x
_count
:
4011
,
t
ransaction
_count
:
4011
,
},
{
batch_data_container
:
'
in_calldata
'
,
internal_id
:
260997
,
l1_timestamp
:
'
2022-11-03T11:20:59.000000Z
'
,
l1_t
x
_hashes
:
[
l1_t
ransaction
_hashes
:
[
'
0x80f5fba70d5685bc2b70df836942e892b24afa7bba289a2fac0ca8f4d554cc72
'
,
],
l2_block_end
:
124881832
,
l2_block_start
:
124881613
,
t
x
_count
:
4206
,
t
ransaction
_count
:
4206
,
},
{
internal_id
:
260996
,
l1_timestamp
:
'
2024-09-03T11:14:23.000000Z
'
,
l1_t
x
_hashes
:
[
l1_t
ransaction
_hashes
:
[
'
0x39f4c46cae57bae936acb9159e367794f41f021ed3788adb80ad93830edb5f22
'
,
],
l2_block_end
:
124881612
,
l2_block_start
:
124881380
,
t
x
_count
:
4490
,
t
ransaction
_count
:
4490
,
},
],
next_page_params
:
{
...
...
@@ -50,12 +50,12 @@ export const txnBatchTypeCallData: OptimismL2TxnBatchTypeCallData = {
batch_data_container
:
'
in_calldata
'
,
internal_id
:
309123
,
l1_timestamp
:
'
2022-08-10T10:30:24.000000Z
'
,
l1_t
x
_hashes
:
[
l1_t
ransaction
_hashes
:
[
'
0x478c45f182631ae6f7249d40f31fdac36f41d88caa2e373fba35340a7345ca67
'
,
],
l2_block_end
:
10146784
,
l2_block_start
:
10145379
,
t
x
_count
:
1608
,
t
ransaction
_count
:
1608
,
};
export
const
txnBatchTypeCelestia
:
OptimismL2TxnBatchTypeCelestia
=
{
...
...
@@ -71,12 +71,12 @@ export const txnBatchTypeCelestia: OptimismL2TxnBatchTypeCelestia = {
],
internal_id
:
309667
,
l1_timestamp
:
'
2022-08-28T16:51:12.000000Z
'
,
l1_t
x
_hashes
:
[
l1_t
ransaction
_hashes
:
[
'
0x2bb0b96a8ba0f063a243ac3dee0b2f2d87edb2ba9ef44bfcbc8ed191af1c4c24
'
,
],
l2_block_end
:
10935879
,
l2_block_start
:
10934514
,
t
x
_count
:
1574
,
t
ransaction
_count
:
1574
,
};
export
const
txnBatchTypeEip4844
:
OptimismL2TxnBatchTypeEip4844
=
{
...
...
@@ -95,10 +95,10 @@ export const txnBatchTypeEip4844: OptimismL2TxnBatchTypeEip4844 = {
],
internal_id
:
2538459
,
l1_timestamp
:
'
2022-08-23T03:59:12.000000Z
'
,
l1_t
x
_hashes
:
[
l1_t
ransaction
_hashes
:
[
'
0x3870f136497e5501dc20d0974daf379c8636c958794d59a9c90d4f8a9f0ed20a
'
,
],
l2_block_end
:
16291502
,
l2_block_start
:
16291373
,
t
x
_count
:
704
,
t
ransaction
_count
:
704
,
};
mocks/optimism/withdrawals.ts
View file @
73ce4f50
...
...
@@ -15,9 +15,9 @@ export const data: OptimisticL2WithdrawalsResponse = {
watchlist_names
:
[],
ens_domain_name
:
null
,
},
l1_t
x
_hash
:
'
0x1a235bee32ac10cb7efdad98415737484ca66386e491cde9e17d42b136dca684
'
,
l1_t
ransaction
_hash
:
'
0x1a235bee32ac10cb7efdad98415737484ca66386e491cde9e17d42b136dca684
'
,
l2_timestamp
:
'
2022-02-15T12:50:02.000000Z
'
,
l2_t
x
_hash
:
'
0x918cd8c5c24c17e06cd02b0379510c4ad56324bf153578fb9caaaa2fe4e7dc35
'
,
l2_t
ransaction
_hash
:
'
0x918cd8c5c24c17e06cd02b0379510c4ad56324bf153578fb9caaaa2fe4e7dc35
'
,
msg_nonce
:
396
,
msg_nonce_version
:
1
,
status
:
'
Ready to prove
'
,
...
...
@@ -25,9 +25,9 @@ export const data: OptimisticL2WithdrawalsResponse = {
{
challenge_period_end
:
null
,
from
:
null
,
l1_t
x
_hash
:
null
,
l1_t
ransaction
_hash
:
null
,
l2_timestamp
:
null
,
l2_t
x
_hash
:
'
0x2f117bee32ac10cb7efdad98415737484ca66386e491cde9e17d42b136def593
'
,
l2_t
ransaction
_hash
:
'
0x2f117bee32ac10cb7efdad98415737484ca66386e491cde9e17d42b136def593
'
,
msg_nonce
:
391
,
msg_nonce_version
:
1
,
status
:
'
Ready to prove
'
,
...
...
@@ -35,9 +35,9 @@ export const data: OptimisticL2WithdrawalsResponse = {
{
challenge_period_end
:
'
2022-11-11T12:50:02.000000Z
'
,
from
:
null
,
l1_t
x
_hash
:
null
,
l1_t
ransaction
_hash
:
null
,
l2_timestamp
:
null
,
l2_t
x
_hash
:
'
0xe14b1f46838176702244a5343629bcecf728ca2d9881d47b4ce46e00c387d7e3
'
,
l2_t
ransaction
_hash
:
'
0xe14b1f46838176702244a5343629bcecf728ca2d9881d47b4ce46e00c387d7e3
'
,
msg_nonce
:
390
,
msg_nonce_version
:
1
,
status
:
'
Ready for relay
'
,
...
...
mocks/search/index.ts
View file @
73ce4f50
...
...
@@ -114,7 +114,7 @@ export const label1: SearchResultLabel = {
};
export
const
tx1
:
SearchResultTx
=
{
t
x
_hash
:
'
0x349d4025d03c6faec117ee10ac0bce7c7a805dd2cbff7a9f101304d9a8a525dd
'
,
t
ransaction
_hash
:
'
0x349d4025d03c6faec117ee10ac0bce7c7a805dd2cbff7a9f101304d9a8a525dd
'
,
type
:
'
transaction
'
as
const
,
timestamp
:
'
2022-12-11T17:55:20Z
'
,
url
:
'
/tx/0x349d4025d03c6faec117ee10ac0bce7c7a805dd2cbff7a9f101304d9a8a525dd
'
,
...
...
mocks/stats/daily_txs.ts
View file @
73ce4f50
...
...
@@ -2,148 +2,148 @@ export const base = {
chart_data
:
[
{
date
:
'
2022-11-28
'
,
t
x
_count
:
26815
,
t
ransaction
_count
:
26815
,
},
{
date
:
'
2022-11-27
'
,
t
x
_count
:
34784
,
t
ransaction
_count
:
34784
,
},
{
date
:
'
2022-11-26
'
,
t
x
_count
:
77527
,
t
ransaction
_count
:
77527
,
},
{
date
:
'
2022-11-25
'
,
t
x
_count
:
39687
,
t
ransaction
_count
:
39687
,
},
{
date
:
'
2022-11-24
'
,
t
x
_count
:
40752
,
t
ransaction
_count
:
40752
,
},
{
date
:
'
2022-11-23
'
,
t
x
_count
:
32569
,
t
ransaction
_count
:
32569
,
},
{
date
:
'
2022-11-22
'
,
t
x
_count
:
34449
,
t
ransaction
_count
:
34449
,
},
{
date
:
'
2022-11-21
'
,
t
x
_count
:
106047
,
t
ransaction
_count
:
106047
,
},
{
date
:
'
2022-11-20
'
,
t
x
_count
:
107713
,
t
ransaction
_count
:
107713
,
},
{
date
:
'
2022-11-19
'
,
t
x
_count
:
96311
,
t
ransaction
_count
:
96311
,
},
{
date
:
'
2022-11-18
'
,
t
x
_count
:
30828
,
t
ransaction
_count
:
30828
,
},
{
date
:
'
2022-11-17
'
,
t
x
_count
:
27422
,
t
ransaction
_count
:
27422
,
},
{
date
:
'
2022-11-16
'
,
t
x
_count
:
75898
,
t
ransaction
_count
:
75898
,
},
{
date
:
'
2022-11-15
'
,
t
x
_count
:
84084
,
t
ransaction
_count
:
84084
,
},
{
date
:
'
2022-11-14
'
,
t
x
_count
:
62266
,
t
ransaction
_count
:
62266
,
},
{
date
:
'
2022-11-13
'
,
t
x
_count
:
22338
,
t
ransaction
_count
:
22338
,
},
{
date
:
'
2022-11-12
'
,
t
x
_count
:
86764
,
t
ransaction
_count
:
86764
,
},
{
date
:
'
2022-11-11
'
,
t
x
_count
:
79493
,
t
ransaction
_count
:
79493
,
},
{
date
:
'
2022-11-10
'
,
t
x
_count
:
92887
,
t
ransaction
_count
:
92887
,
},
{
date
:
'
2022-11-09
'
,
t
x
_count
:
43691
,
t
ransaction
_count
:
43691
,
},
{
date
:
'
2022-11-08
'
,
t
x
_count
:
74197
,
t
ransaction
_count
:
74197
,
},
{
date
:
'
2022-11-07
'
,
t
x
_count
:
58131
,
t
ransaction
_count
:
58131
,
},
{
date
:
'
2022-11-06
'
,
t
x
_count
:
62477
,
t
ransaction
_count
:
62477
,
},
{
date
:
'
2022-11-05
'
,
t
x
_count
:
82897
,
t
ransaction
_count
:
82897
,
},
{
date
:
'
2022-11-04
'
,
t
x
_count
:
91725
,
t
ransaction
_count
:
91725
,
},
{
date
:
'
2022-11-03
'
,
t
x
_count
:
83667
,
t
ransaction
_count
:
83667
,
},
{
date
:
'
2022-11-02
'
,
t
x
_count
:
63743
,
t
ransaction
_count
:
63743
,
},
{
date
:
'
2022-11-01
'
,
t
x
_count
:
152059
,
t
ransaction
_count
:
152059
,
},
{
date
:
'
2022-10-31
'
,
t
x
_count
:
62519
,
t
ransaction
_count
:
62519
,
},
{
date
:
'
2022-10-30
'
,
t
x
_count
:
48569
,
t
ransaction
_count
:
48569
,
},
{
date
:
'
2022-10-29
'
,
t
x
_count
:
36789
,
t
ransaction
_count
:
36789
,
},
],
};
export
const
partialData
=
{
chart_data
:
[
{
date
:
'
2022-11-28
'
,
t
x
_count
:
26815
},
{
date
:
'
2022-11-27
'
,
t
x
_count
:
34784
},
{
date
:
'
2022-11-26
'
,
t
x
_count
:
77527
},
{
date
:
'
2022-11-25
'
,
t
x
_count
:
null
},
{
date
:
'
2022-11-24
'
,
t
x
_count
:
null
},
{
date
:
'
2022-11-23
'
,
t
x
_count
:
null
},
{
date
:
'
2022-11-22
'
,
t
x
_count
:
63433
},
{
date
:
'
2022-11-21
'
,
t
x
_count
:
null
},
{
date
:
'
2022-11-28
'
,
t
ransaction
_count
:
26815
},
{
date
:
'
2022-11-27
'
,
t
ransaction
_count
:
34784
},
{
date
:
'
2022-11-26
'
,
t
ransaction
_count
:
77527
},
{
date
:
'
2022-11-25
'
,
t
ransaction
_count
:
null
},
{
date
:
'
2022-11-24
'
,
t
ransaction
_count
:
null
},
{
date
:
'
2022-11-23
'
,
t
ransaction
_count
:
null
},
{
date
:
'
2022-11-22
'
,
t
ransaction
_count
:
63433
},
{
date
:
'
2022-11-21
'
,
t
ransaction
_count
:
null
},
],
};
export
const
noData
=
{
chart_data
:
[
{
date
:
'
2022-11-25
'
,
t
x
_count
:
null
},
{
date
:
'
2022-11-24
'
,
t
x
_count
:
null
},
{
date
:
'
2022-11-23
'
,
t
x
_count
:
null
},
{
date
:
'
2022-11-25
'
,
t
ransaction
_count
:
null
},
{
date
:
'
2022-11-24
'
,
t
ransaction
_count
:
null
},
{
date
:
'
2022-11-23
'
,
t
ransaction
_count
:
null
},
],
};
mocks/tokens/tokenTransfer.ts
View file @
73ce4f50
...
...
@@ -39,7 +39,7 @@ export const erc20: TokenTransfer = {
decimals
:
'
18
'
,
value
:
'
31567373703130350
'
,
},
t
x
_hash
:
'
0x62d597ebcf3e8d60096dd0363bc2f0f5e2df27ba1dacd696c51aa7c9409f3193
'
,
t
ransaction
_hash
:
'
0x62d597ebcf3e8d60096dd0363bc2f0f5e2df27ba1dacd696c51aa7c9409f3193
'
,
type
:
'
token_transfer
'
,
timestamp
:
'
2022-10-10T14:34:30.000000Z
'
,
block_number
:
'
12345
'
,
...
...
@@ -86,7 +86,7 @@ export const erc721: TokenTransfer = {
total
:
{
token_id
:
'
875879856
'
,
},
t
x
_hash
:
'
0xf13bc7afe5e02b494dd2f22078381d36a4800ef94a0ccc147431db56c301e6cc
'
,
t
ransaction
_hash
:
'
0xf13bc7afe5e02b494dd2f22078381d36a4800ef94a0ccc147431db56c301e6cc
'
,
type
:
'
token_transfer
'
,
timestamp
:
'
2022-10-10T14:34:30.000000Z
'
,
block_number
:
'
12345
'
,
...
...
@@ -135,7 +135,7 @@ export const erc1155A: TokenTransfer = {
value
:
'
42
'
,
decimals
:
null
,
},
t
x
_hash
:
'
0x05d6589367633c032d757a69c5fb16c0e33e3994b0d9d1483f82aeee1f05d746
'
,
t
ransaction
_hash
:
'
0x05d6589367633c032d757a69c5fb16c0e33e3994b0d9d1483f82aeee1f05d746
'
,
type
:
'
token_minting
'
,
timestamp
:
'
2022-10-10T14:34:30.000000Z
'
,
block_number
:
'
12345
'
,
...
...
@@ -213,7 +213,7 @@ export const erc404A: TokenTransfer = {
decimals
:
'
18
'
,
token_id
:
null
,
},
t
x
_hash
:
'
0x05d6589367633c032d757a69c5fb16c0e33e3994b0d9d1483f82aeee1f05d746
'
,
t
ransaction
_hash
:
'
0x05d6589367633c032d757a69c5fb16c0e33e3994b0d9d1483f82aeee1f05d746
'
,
type
:
'
token_transfer
'
,
method
:
'
swap
'
,
timestamp
:
'
2022-10-10T14:34:30.000000Z
'
,
...
...
mocks/zkEvm/txnBatches.ts
View file @
73ce4f50
...
...
@@ -4,14 +4,14 @@ export const txnBatchData: ZkEvmL2TxnBatch = {
acc_input_hash
:
'
0x4bf88aabe33713b7817266d7860912c58272d808da7397cdc627ca53b296fad3
'
,
global_exit_root
:
'
0xad3228b676f7d3cd4284a5443f17f1962b36e491b30a40b2405849e597ba5fb5
'
,
number
:
5
,
sequence_t
x
_hash
:
'
0x7ae010e9758441b302db10282807358af460f38c49c618d26a897592f64977f7
'
,
sequence_t
ransaction
_hash
:
'
0x7ae010e9758441b302db10282807358af460f38c49c618d26a897592f64977f7
'
,
state_root
:
'
0x183b4a38a4a6027947ceb93b323cc94c548c8c05cf605d73ca88351d77cae1a3
'
,
status
:
'
Finalized
'
,
timestamp
:
'
2023-10-20T10:08:18.000000Z
'
,
transactions
:
[
'
0xb5d432c270057c223b973f3b5f00dbad32823d9ef26f3e8d97c819c7c573453a
'
,
],
verify_t
x
_hash
:
'
0x6f7eeaa0eb966e63d127bba6bf8f9046d303c2a1185b542f0b5083f682a0e87f
'
,
verify_t
ransaction
_hash
:
'
0x6f7eeaa0eb966e63d127bba6bf8f9046d303c2a1185b542f0b5083f682a0e87f
'
,
};
export
const
txnBatchesData
:
ZkEvmL2TxnBatchesResponse
=
{
...
...
@@ -19,18 +19,18 @@ export const txnBatchesData: ZkEvmL2TxnBatchesResponse = {
{
timestamp
:
'
2023-06-01T14:46:48.000000Z
'
,
status
:
'
Finalized
'
,
verify_t
x
_hash
:
'
0x48139721f792d3a68c3781b4cf50e66e8fc7dbb38adff778e09066ea5be9adb8
'
,
sequence_t
x
_hash
:
'
0x6aa081e8e33a085e4ec7124fcd8a5f7d36aac0828f176e80d4b70e313a11695b
'
,
verify_t
ransaction
_hash
:
'
0x48139721f792d3a68c3781b4cf50e66e8fc7dbb38adff778e09066ea5be9adb8
'
,
sequence_t
ransaction
_hash
:
'
0x6aa081e8e33a085e4ec7124fcd8a5f7d36aac0828f176e80d4b70e313a11695b
'
,
number
:
5218590
,
t
x
_count
:
9
,
t
ransaction
_count
:
9
,
},
{
timestamp
:
'
2023-06-01T14:46:48.000000Z
'
,
status
:
'
Unfinalized
'
,
verify_t
x
_hash
:
null
,
sequence_t
x
_hash
:
null
,
verify_t
ransaction
_hash
:
null
,
sequence_t
ransaction
_hash
:
null
,
number
:
5218591
,
t
x
_count
:
9
,
t
ransaction
_count
:
9
,
},
],
next_page_params
:
{
...
...
mocks/zkSync/zkSyncTxnBatch.ts
View file @
73ce4f50
...
...
@@ -7,9 +7,9 @@ export const base: ZkSyncBatch = {
execute_transaction_hash
:
'
0x110b9a19afbabd5818a996ab2b493a9b23c888d73d95f1ab5272dbae503e103a
'
,
execute_transaction_timestamp
:
'
2022-03-19T10:29:05.358066Z
'
,
l1_gas_price
:
'
4173068062
'
,
l1_t
x
_count
:
0
,
l1_t
ransaction
_count
:
0
,
l2_fair_gas_price
:
'
100000000
'
,
l2_t
x
_count
:
287
,
l2_t
ransaction
_count
:
287
,
number
:
8051
,
prove_transaction_hash
:
'
0xb424162ba5afe17c710dceb5fc8d15d7d46a66223454dae8c74aa39f6802625b
'
,
prove_transaction_timestamp
:
'
2022-03-19T10:29:05.279179Z
'
,
...
...
mocks/zkSync/zkSyncTxnBatches.ts
View file @
73ce4f50
...
...
@@ -10,7 +10,7 @@ export const sealed: ZkSyncBatchesItem = {
prove_transaction_timestamp
:
null
,
status
:
'
Sealed on L2
'
,
timestamp
:
'
2022-03-19T12:53:36.000000Z
'
,
t
x
_count
:
738
,
t
ransaction
_count
:
738
,
};
export
const
sent
:
ZkSyncBatchesItem
=
{
...
...
@@ -23,7 +23,7 @@ export const sent: ZkSyncBatchesItem = {
prove_transaction_timestamp
:
null
,
status
:
'
Sent to L1
'
,
timestamp
:
'
2022-03-19T11:36:45.000000Z
'
,
t
x
_count
:
766
,
t
ransaction
_count
:
766
,
};
export
const
executed
:
ZkSyncBatchesItem
=
{
...
...
@@ -36,7 +36,7 @@ export const executed: ZkSyncBatchesItem = {
prove_transaction_timestamp
:
'
2022-03-19T13:28:16.603104Z
'
,
status
:
'
Executed on L1
'
,
timestamp
:
'
2022-03-19T10:01:52.000000Z
'
,
t
x
_count
:
1071
,
t
ransaction
_count
:
1071
,
};
export
const
baseResponse
:
ZkSyncBatchesResponse
=
{
...
...
stubs/L2.ts
View file @
73ce4f50
...
...
@@ -13,18 +13,18 @@ import { TX_HASH } from './tx';
export
const
L2_DEPOSIT_ITEM
:
OptimisticL2DepositsItem
=
{
l1_block_number
:
9045233
,
l1_block_timestamp
:
'
2023-05-22T18:00:36.000000Z
'
,
l1_t
x
_hash
:
TX_HASH
,
l1_t
x
_origin
:
ADDRESS_HASH
,
l2_t
x
_gas_limit
:
'
100000
'
,
l2_t
x
_hash
:
TX_HASH
,
l1_t
ransaction
_hash
:
TX_HASH
,
l1_t
ransaction
_origin
:
ADDRESS_HASH
,
l2_t
ransaction
_gas_limit
:
'
100000
'
,
l2_t
ransaction
_hash
:
TX_HASH
,
};
export
const
L2_WITHDRAWAL_ITEM
:
OptimisticL2WithdrawalsItem
=
{
challenge_period_end
:
null
,
from
:
ADDRESS_PARAMS
,
l1_t
x
_hash
:
TX_HASH
,
l1_t
ransaction
_hash
:
TX_HASH
,
l2_timestamp
:
'
2023-06-01T13:44:56.000000Z
'
,
l2_t
x
_hash
:
TX_HASH
,
l2_t
ransaction
_hash
:
TX_HASH
,
msg_nonce
:
2393
,
msg_nonce_version
:
1
,
status
:
'
Ready to prove
'
,
...
...
@@ -34,12 +34,12 @@ export const L2_TXN_BATCHES_ITEM: OptimisticL2TxnBatchesItem = {
internal_id
:
260991
,
batch_data_container
:
'
in_blob4844
'
,
l1_timestamp
:
'
2023-06-01T14:46:48.000000Z
'
,
l1_t
x
_hashes
:
[
l1_t
ransaction
_hashes
:
[
TX_HASH
,
],
l2_block_start
:
5218590
,
l2_block_end
:
5218777
,
t
x
_count
:
9
,
t
ransaction
_count
:
9
,
};
export
const
L2_TXN_BATCH
:
OptimismL2TxnBatch
=
{
...
...
@@ -57,7 +57,7 @@ export const L2_TXN_BATCH: OptimismL2TxnBatch = {
export
const
L2_OUTPUT_ROOTS_ITEM
:
OptimisticL2OutputRootsItem
=
{
l1_block_number
:
9103684
,
l1_timestamp
:
'
2023-06-01T15:26:12.000000Z
'
,
l1_t
x
_hash
:
TX_HASH
,
l1_t
ransaction
_hash
:
TX_HASH
,
l2_block_number
:
10102468
,
l2_output_index
:
50655
,
output_root
:
TX_HASH
,
...
...
stubs/address.ts
View file @
73ce4f50
...
...
@@ -19,7 +19,7 @@ import { TX_HASH } from './tx';
export
const
ADDRESS_INFO
:
Address
=
{
block_number_balance_updated_at
:
8774377
,
coin_balance
:
'
810941268802273085757
'
,
creation_t
x
_hash
:
null
,
creation_t
ransaction
_hash
:
null
,
creator_address_hash
:
ADDRESS_HASH
,
exchange_rate
:
null
,
has_decompiled_code
:
false
,
...
...
@@ -59,7 +59,7 @@ export const ADDRESS_TABS_COUNTERS: AddressTabsCounters = {
export
const
TOP_ADDRESS
:
AddressesItem
=
{
coin_balance
:
'
11886682377162664596540805
'
,
t
x
_count
:
'
1835
'
,
t
ransaction
_count
:
'
1835
'
,
hash
:
'
0x4f7A67464B5976d7547c860109e4432d50AfB38e
'
,
implementations
:
null
,
is_contract
:
false
,
...
...
stubs/block.ts
View file @
73ce4f50
...
...
@@ -31,8 +31,8 @@ export const BLOCK: Block = {
state_root
:
'
TODO
'
,
timestamp
:
'
2023-05-12T19:29:12.000000Z
'
,
total_difficulty
:
'
10837812015930321201107455268036056402048391639
'
,
t
x
_count
:
142
,
t
x
_fees
:
'
19241635547777613
'
,
t
ransaction
_count
:
142
,
t
ransaction
_fees
:
'
19241635547777613
'
,
type
:
'
block
'
,
uncles_hashes
:
[],
};
...
...
stubs/contract.ts
View file @
73ce4f50
...
...
@@ -69,7 +69,7 @@ export const VERIFIED_CONTRACT_INFO: VerifiedContract = {
language
:
'
solidity
'
,
market_cap
:
null
,
optimization_enabled
:
false
,
t
x
_count
:
565058
,
t
ransaction
_count
:
565058
,
verified_at
:
'
2023-04-10T13:16:33.884921Z
'
,
license_type
:
'
mit
'
,
};
...
...
stubs/log.ts
View file @
73ce4f50
...
...
@@ -31,5 +31,5 @@ export const LOG: Log = {
'
0x000000000000000000000000302fd86163cb9ad5533b3952dafa3b633a82bc51
'
,
null
,
],
t
x
_hash
:
TX_HASH
,
t
ransaction
_hash
:
TX_HASH
,
};
stubs/mud.ts
View file @
73ce4f50
...
...
@@ -20,5 +20,5 @@ export const MUD_SCHEMA: MudWorldSchema = {
export
const
MUD_WORLD
:
MudWorldItem
=
{
address
:
ADDRESS_PARAMS
,
coin_balance
:
'
7072643779453701031672
'
,
t
x
_count
:
442
,
t
ransaction
_count
:
442
,
};
stubs/search.ts
View file @
73ce4f50
...
...
@@ -26,5 +26,5 @@ export const SEARCH_RESULT_NEXT_PAGE_PARAMS: SearchResult['next_page_params'] =
items_count
:
50
,
name
:
'
USDCTest
'
,
q
:
'
usd
'
,
t
x
_hash
:
null
,
t
ransaction
_hash
:
null
,
};
stubs/token.ts
View file @
73ce4f50
...
...
@@ -102,7 +102,7 @@ export const TOKEN_TRANSFER_ERC_20: TokenTransfer = {
decimals
:
'
18
'
,
value
:
'
9851351626684503
'
,
},
t
x
_hash
:
TX_HASH
,
t
ransaction
_hash
:
TX_HASH
,
type
:
'
token_minting
'
,
};
...
...
stubs/zkEvmL2.ts
View file @
73ce4f50
...
...
@@ -25,20 +25,20 @@ export const ZKEVM_WITHDRAWALS_ITEM: ZkEvmL2WithdrawalsItem = {
export
const
ZKEVM_L2_TXN_BATCHES_ITEM
:
ZkEvmL2TxnBatchesItem
=
{
timestamp
:
'
2023-06-01T14:46:48.000000Z
'
,
status
:
'
Finalized
'
,
verify_t
x
_hash
:
TX_HASH
,
sequence_t
x
_hash
:
TX_HASH
,
verify_t
ransaction
_hash
:
TX_HASH
,
sequence_t
ransaction
_hash
:
TX_HASH
,
number
:
5218590
,
t
x
_count
:
9
,
t
ransaction
_count
:
9
,
};
export
const
ZKEVM_L2_TXN_BATCH
:
ZkEvmL2TxnBatch
=
{
acc_input_hash
:
'
0xb815fe2832977f1324ad0124a019b938f189f7b470292f40a21284f15774b3b3
'
,
global_exit_root
:
'
0x0000000000000000000000000000000000000000000000000000000000000000
'
,
number
:
1
,
sequence_t
x
_hash
:
'
0x57b9b95db5f94f125710bdc8fbb3fabaac10125b44b0cb61dbc69daddf06d0cd
'
,
sequence_t
ransaction
_hash
:
'
0x57b9b95db5f94f125710bdc8fbb3fabaac10125b44b0cb61dbc69daddf06d0cd
'
,
state_root
:
'
0xb9a589d6b3ae44d3b250a9993caa5e3721568197f56e4743989ecb2285d80ec4
'
,
status
:
'
Finalized
'
,
timestamp
:
'
2023-09-15T06:22:48.000000Z
'
,
transactions
:
[
'
0xff99dd67646b8f3d657cc6f19eb33abc346de2dbaccd03e45e7726cc28e3e186
'
],
verify_t
x
_hash
:
'
0x093276fa65c67d7b12dd96f4fefafba9d9ad2f1c23c6e53f96583971ce75352d
'
,
verify_t
ransaction
_hash
:
'
0x093276fa65c67d7b12dd96f4fefafba9d9ad2f1c23c6e53f96583971ce75352d
'
,
};
stubs/zkSyncL2.ts
View file @
73ce4f50
...
...
@@ -12,7 +12,7 @@ export const ZKSYNC_L2_TXN_BATCHES_ITEM: ZkSyncBatchesItem = {
prove_transaction_timestamp
:
'
2022-03-17T20:49:48.772442Z
'
,
status
:
'
Executed on L1
'
,
timestamp
:
'
2022-03-17T17:00:11.000000Z
'
,
t
x
_count
:
1215
,
t
ransaction
_count
:
1215
,
};
export
const
ZKSYNC_L2_TXN_BATCH
:
ZkSyncBatch
=
{
...
...
@@ -20,8 +20,8 @@ export const ZKSYNC_L2_TXN_BATCH: ZkSyncBatch = {
start_block
:
1245209
,
end_block
:
1245490
,
l1_gas_price
:
'
4173068062
'
,
l1_t
x
_count
:
0
,
l1_t
ransaction
_count
:
0
,
l2_fair_gas_price
:
'
100000000
'
,
l2_t
x
_count
:
287
,
l2_t
ransaction
_count
:
287
,
root_hash
:
'
0x108c635b94f941fcabcb85500daec2f6be4f0747dff649b1cdd9dd7a7a264792
'
,
};
types/api/account.ts
View file @
73ce4f50
...
...
@@ -141,7 +141,7 @@ export type AddressTagErrors = {
}
export
type
TransactionTagErrors
=
{
t
x
_hash
:
Array
<
string
>
;
t
ransaction
_hash
:
Array
<
string
>
;
name
:
Array
<
string
>
;
identity_id
?:
Array
<
string
>
;
}
...
...
types/api/address.ts
View file @
73ce4f50
...
...
@@ -12,7 +12,7 @@ export interface Address extends UserTags {
coin_balance
:
string
|
null
;
creator_address_hash
:
string
|
null
;
creator_filecoin_robust_address
?:
string
|
null
;
creation_t
x
_hash
:
string
|
null
;
creation_t
ransaction
_hash
:
string
|
null
;
exchange_rate
:
string
|
null
;
ens_domain_name
:
string
|
null
;
filecoin
?:
AddressFilecoinParams
;
...
...
types/api/addresses.ts
View file @
73ce4f50
import
type
{
AddressParam
}
from
'
./addressParams
'
;
export
type
AddressesItem
=
AddressParam
&
{
t
x
_count
:
string
;
coin_balance
:
string
|
null
}
export
type
AddressesItem
=
AddressParam
&
{
t
ransaction
_count
:
string
;
coin_balance
:
string
|
null
}
export
type
AddressesResponse
=
{
items
:
Array
<
AddressesItem
>
;
...
...
types/api/block.ts
View file @
73ce4f50
...
...
@@ -20,7 +20,7 @@ export interface BlockBaseFeeCelo {
export
interface
Block
{
height
:
number
;
timestamp
:
string
;
t
x
_count
:
number
;
t
ransaction
_count
:
number
;
miner
:
AddressParam
;
size
:
number
;
hash
:
string
;
...
...
@@ -40,7 +40,7 @@ export interface Block {
gas_used_percentage
:
number
|
null
;
burnt_fees_percentage
:
number
|
null
;
type
:
BlockType
;
t
x
_fees
:
string
|
null
;
t
ransaction
_fees
:
string
|
null
;
uncles_hashes
:
Array
<
string
>
;
withdrawals_count
?:
number
;
// ROOTSTOCK FIELDS
...
...
@@ -56,7 +56,7 @@ export interface Block {
excess_blob_gas
?:
string
;
blob_tx_count
?:
number
;
// ZKSYNC FIELDS
zksync
?:
Omit
<
ZkSyncBatchesItem
,
'
number
'
|
'
t
x
_count
'
|
'
timestamp
'
>
&
{
zksync
?:
Omit
<
ZkSyncBatchesItem
,
'
number
'
|
'
t
ransaction
_count
'
|
'
timestamp
'
>
&
{
'
batch_number
'
:
number
|
null
;
};
arbitrum
?:
ArbitrumBlockData
;
...
...
@@ -85,7 +85,7 @@ export interface OptimismBlockData {
internal_id
:
number
;
blobs
:
Array
<
OptimisticL2BlobTypeEip4844
>
|
Array
<
OptimisticL2BlobTypeCelestia
>
|
null
;
l1_timestamp
:
string
;
l1_t
x
_hashes
:
Array
<
string
>
;
l1_t
ransaction
_hashes
:
Array
<
string
>
;
}
export
interface
BlocksResponse
{
...
...
types/api/charts.ts
View file @
73ce4f50
export
interface
ChartTransactionItem
{
date
:
string
;
t
x
_count
:
number
|
null
;
t
ransaction
_count
:
number
|
null
;
}
export
interface
ChartMarketItem
{
...
...
types/api/contracts.ts
View file @
73ce4f50
...
...
@@ -9,7 +9,7 @@ export interface VerifiedContract {
language
:
'
vyper
'
|
'
yul
'
|
'
solidity
'
;
has_constructor_args
:
boolean
;
optimization_enabled
:
boolean
;
t
x
_count
:
number
|
null
;
t
ransaction
_count
:
number
|
null
;
verified_at
:
string
;
market_cap
:
string
|
null
;
license_type
:
SmartContractLicenseType
|
null
;
...
...
types/api/log.ts
View file @
73ce4f50
...
...
@@ -7,7 +7,7 @@ export interface Log {
data
:
string
;
index
:
number
;
decoded
:
DecodedInput
|
null
;
t
x
_hash
:
string
|
null
;
t
ransaction
_hash
:
string
|
null
;
}
export
interface
LogsResponseTx
{
...
...
types/api/mudWorlds.ts
View file @
73ce4f50
...
...
@@ -11,7 +11,7 @@ export type MudWorldsResponse = {
export
type
MudWorldItem
=
{
address
:
AddressParam
;
coin_balance
:
string
;
t
x
_count
:
number
|
null
;
t
ransaction
_count
:
number
|
null
;
}
export
type
MudWorldSchema
=
{
...
...
types/api/optimisticL2.ts
View file @
73ce4f50
...
...
@@ -4,11 +4,11 @@ import type { Transaction } from './transaction';
export
type
OptimisticL2DepositsItem
=
{
l1_block_number
:
number
;
l1_t
x
_hash
:
string
;
l1_t
ransaction
_hash
:
string
;
l1_block_timestamp
:
string
;
l1_t
x
_origin
:
string
;
l2_t
x
_gas_limit
:
string
;
l2_t
x
_hash
:
string
;
l1_t
ransaction
_origin
:
string
;
l2_t
ransaction
_gas_limit
:
string
;
l2_t
ransaction
_hash
:
string
;
}
export
type
OptimisticL2DepositsResponse
=
{
...
...
@@ -16,14 +16,14 @@ export type OptimisticL2DepositsResponse = {
next_page_params
:
{
items_count
:
number
;
l1_block_number
:
number
;
t
x
_hash
:
string
;
t
ransaction
_hash
:
string
;
};
}
export
type
OptimisticL2OutputRootsItem
=
{
l1_block_number
:
number
;
l1_timestamp
:
string
;
l1_t
x
_hash
:
string
;
l1_t
ransaction
_hash
:
string
;
l2_block_number
:
number
;
l2_output_index
:
number
;
output_root
:
string
;
...
...
@@ -43,10 +43,10 @@ export type OptimisticL2TxnBatchesItem = {
internal_id
:
number
;
batch_data_container
?:
OptimisticL2BatchDataContainer
;
l1_timestamp
:
string
;
l1_t
x
_hashes
:
Array
<
string
>
;
l1_t
ransaction
_hashes
:
Array
<
string
>
;
l2_block_start
:
number
;
l2_block_end
:
number
;
t
x
_count
:
number
;
t
ransaction
_count
:
number
;
}
export
type
OptimisticL2TxnBatchesResponse
=
{
...
...
@@ -74,10 +74,10 @@ export interface OptimisticL2BlobTypeCelestia {
interface
OptimismL2TxnBatchBase
{
internal_id
:
number
;
l1_timestamp
:
string
;
l1_t
x
_hashes
:
Array
<
string
>
;
l1_t
ransaction
_hashes
:
Array
<
string
>
;
l2_block_start
:
number
;
l2_block_end
:
number
;
t
x
_count
:
number
;
t
ransaction
_count
:
number
;
}
export
interface
OptimismL2TxnBatchTypeCallData
extends
OptimismL2TxnBatchBase
{
...
...
@@ -116,9 +116,9 @@ export type OptimismL2BatchBlocks = {
export
type
OptimisticL2WithdrawalsItem
=
{
'
challenge_period_end
'
:
string
|
null
;
'
from
'
:
AddressParam
|
null
;
'
l1_t
x
_hash
'
:
string
|
null
;
'
l1_t
ransaction
_hash
'
:
string
|
null
;
'
l2_timestamp
'
:
string
|
null
;
'
l2_t
x
_hash
'
:
string
;
'
l2_t
ransaction
_hash
'
:
string
;
'
msg_nonce
'
:
number
;
'
msg_nonce_version
'
:
number
;
'
status
'
:
string
;
...
...
types/api/search.ts
View file @
73ce4f50
...
...
@@ -69,7 +69,7 @@ export interface SearchResultBlock {
export
interface
SearchResultTx
{
type
:
'
transaction
'
;
t
x
_hash
:
string
;
t
ransaction
_hash
:
string
;
timestamp
:
string
;
url
?:
string
;
// not used by the frontend, we build the url ourselves
}
...
...
@@ -101,7 +101,7 @@ export interface SearchResult {
'
items_count
'
:
number
;
'
name
'
:
string
;
'
q
'
:
string
;
'
t
x
_hash
'
:
string
|
null
;
'
t
ransaction
_hash
'
:
string
|
null
;
}
|
null
;
}
...
...
types/api/tokenTransfer.ts
View file @
73ce4f50
...
...
@@ -47,7 +47,7 @@ export type TokenTotal = Erc20TotalPayload | Erc721TotalPayload | Erc1155TotalPa
interface
TokenTransferBase
{
type
:
'
token_transfer
'
|
'
token_burning
'
|
'
token_spawning
'
|
'
token_minting
'
;
t
x
_hash
:
string
;
t
ransaction
_hash
:
string
;
from
:
AddressParam
;
to
:
AddressParam
;
timestamp
:
string
;
...
...
types/api/transaction.ts
View file @
73ce4f50
...
...
@@ -87,7 +87,7 @@ export type Transaction = {
zkevm_status
?:
typeof
ZKEVM_L2_TX_STATUSES
[
number
];
zkevm_sequence_hash
?:
string
;
// zkSync FIELDS
zksync
?:
Omit
<
ZkSyncBatchesItem
,
'
number
'
|
'
t
x
_count
'
|
'
timestamp
'
>
&
{
zksync
?:
Omit
<
ZkSyncBatchesItem
,
'
number
'
|
'
t
ransaction
_count
'
|
'
timestamp
'
>
&
{
'
batch_number
'
:
number
|
null
;
};
// blob tx fields
...
...
types/api/zkEvmL2.ts
View file @
73ce4f50
...
...
@@ -38,11 +38,11 @@ export type ZkEvmL2WithdrawalsResponse = {
export
type
ZkEvmL2TxnBatchesItem
=
{
number
:
number
;
verify_t
x
_hash
:
string
|
null
;
sequence_t
x
_hash
:
string
|
null
;
verify_t
ransaction
_hash
:
string
|
null
;
sequence_t
ransaction
_hash
:
string
|
null
;
status
:
string
;
timestamp
:
string
|
null
;
t
x
_count
:
number
;
t
ransaction
_count
:
number
;
}
export
type
ZkEvmL2TxnBatchesResponse
=
{
...
...
@@ -59,12 +59,12 @@ export type ZkEvmL2TxnBatch = {
acc_input_hash
:
string
;
global_exit_root
:
string
;
number
:
number
;
sequence_t
x
_hash
:
string
;
sequence_t
ransaction
_hash
:
string
;
state_root
:
string
;
status
:
typeof
ZKEVM_L2_TX_BATCH_STATUSES
[
number
];
timestamp
:
string
|
null
;
transactions
:
Array
<
string
>
;
verify_t
x
_hash
:
string
;
verify_t
ransaction
_hash
:
string
;
}
export
type
ZkEvmL2TxnBatchTxs
=
{
...
...
types/api/zkSyncL2.ts
View file @
73ce4f50
...
...
@@ -20,7 +20,7 @@ export interface ZkSyncBatchesItem {
prove_transaction_timestamp
:
string
|
null
;
status
:
ZkSyncBatchStatus
;
timestamp
:
string
;
t
x
_count
:
number
;
t
ransaction
_count
:
number
;
}
export
type
ZkSyncBatchesResponse
=
{
...
...
@@ -31,13 +31,13 @@ export type ZkSyncBatchesResponse = {
}
|
null
;
}
export
interface
ZkSyncBatch
extends
Omit
<
ZkSyncBatchesItem
,
'
t
x
_count
'
>
{
export
interface
ZkSyncBatch
extends
Omit
<
ZkSyncBatchesItem
,
'
t
ransaction
_count
'
>
{
start_block
:
number
;
end_block
:
number
;
l1_gas_price
:
string
;
l1_t
x
_count
:
number
;
l1_t
ransaction
_count
:
number
;
l2_fair_gas_price
:
string
;
l2_t
x
_count
:
number
;
l2_t
ransaction
_count
:
number
;
root_hash
:
string
;
}
...
...
ui/address/AddressDetails.tsx
View file @
73ce4f50
...
...
@@ -58,7 +58,7 @@ const AddressDetails = ({ addressQuery, scrollRef }: Props) => {
token
:
null
,
watchlist_address_id
:
null
,
watchlist_names
:
null
,
creation_t
x
_hash
:
null
,
creation_t
ransaction
_hash
:
null
,
block_number_balance_updated_at
:
null
,
name
:
null
,
exchange_rate
:
null
,
...
...
@@ -147,7 +147,7 @@ const AddressDetails = ({ addressQuery, scrollRef }: Props) => {
<
AddressNameInfo
data=
{
data
}
isLoading=
{
addressQuery
.
isPlaceholderData
}
/>
{
data
.
is_contract
&&
data
.
creation_t
x
_hash
&&
(
creatorAddressHash
)
&&
(
{
data
.
is_contract
&&
data
.
creation_t
ransaction
_hash
&&
(
creatorAddressHash
)
&&
(
<>
<
DetailsInfoItem
.
Label
hint=
"Transaction and address of creation"
...
...
@@ -162,7 +162,7 @@ const AddressDetails = ({ addressQuery, scrollRef }: Props) => {
noIcon
/>
<
Text
whiteSpace=
"pre"
>
at txn
</
Text
>
<
TxEntity
hash=
{
data
.
creation_t
x
_hash
}
truncation=
"constant"
noIcon
noCopy=
{
false
}
/>
<
TxEntity
hash=
{
data
.
creation_t
ransaction
_hash
}
truncation=
"constant"
noIcon
noCopy=
{
false
}
/>
</
DetailsInfoItem
.
Value
>
</>
)
}
...
...
ui/address/blocksValidated/AddressBlocksValidatedListItem.tsx
View file @
73ce4f50
...
...
@@ -40,7 +40,7 @@ const AddressBlocksValidatedListItem = (props: Props) => {
<
Flex
columnGap=
{
2
}
w=
"100%"
>
<
Skeleton
isLoaded=
{
!
props
.
isLoading
}
fontWeight=
{
500
}
flexShrink=
{
0
}
>
Txn
</
Skeleton
>
<
Skeleton
isLoaded=
{
!
props
.
isLoading
}
display=
"inline-block"
color=
"Skeleton_secondary"
>
<
span
>
{
props
.
t
x
_count
}
</
span
>
<
span
>
{
props
.
t
ransaction
_count
}
</
span
>
</
Skeleton
>
</
Flex
>
<
Flex
columnGap=
{
2
}
w=
"100%"
>
...
...
ui/address/blocksValidated/AddressBlocksValidatedTableItem.tsx
View file @
73ce4f50
...
...
@@ -41,7 +41,7 @@ const AddressBlocksValidatedTableItem = (props: Props) => {
</
Td
>
<
Td
>
<
Skeleton
isLoaded=
{
!
props
.
isLoading
}
display=
"inline-block"
fontWeight=
"500"
>
<
span
>
{
props
.
t
x
_count
}
</
span
>
<
span
>
{
props
.
t
ransaction
_count
}
</
span
>
</
Skeleton
>
</
Td
>
<
Td
>
...
...
ui/address/utils/useAddressQuery.ts
View file @
73ce4f50
...
...
@@ -72,7 +72,7 @@ export default function useAddressQuery({ hash, isEnabled = true }: Params): Add
block_number_balance_updated_at
:
null
,
coin_balance
:
balance
.
toString
(),
creator_address_hash
:
null
,
creation_t
x
_hash
:
null
,
creation_t
ransaction
_hash
:
null
,
exchange_rate
:
null
,
ens_domain_name
:
null
,
has_decompiled_code
:
false
,
...
...
ui/addresses/AddressesListItem.tsx
View file @
73ce4f50
...
...
@@ -61,7 +61,7 @@ const AddressesListItem = ({
<
HStack
spacing=
{
3
}
>
<
Skeleton
isLoaded=
{
!
isLoading
}
fontSize=
"sm"
fontWeight=
{
500
}
>
Txn count
</
Skeleton
>
<
Skeleton
isLoaded=
{
!
isLoading
}
fontSize=
"sm"
color=
"text_secondary"
>
<
span
>
{
Number
(
item
.
t
x
_count
).
toLocaleString
()
}
</
span
>
<
span
>
{
Number
(
item
.
t
ransaction
_count
).
toLocaleString
()
}
</
span
>
</
Skeleton
>
</
HStack
>
</
ListItemMobile
>
...
...
ui/addresses/AddressesTableItem.tsx
View file @
73ce4f50
...
...
@@ -60,7 +60,7 @@ const AddressesTableItem = ({
)
}
<
Td
isNumeric
>
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
lineHeight=
"24px"
>
{
Number
(
item
.
t
x
_count
).
toLocaleString
()
}
{
Number
(
item
.
t
ransaction
_count
).
toLocaleString
()
}
</
Skeleton
>
</
Td
>
</
Tr
>
...
...
ui/addressesLabelSearch/AddressesLabelSearchListItem.tsx
View file @
73ce4f50
...
...
@@ -38,7 +38,7 @@ const AddressesLabelSearchListItem = ({
<
HStack
spacing=
{
3
}
>
<
Skeleton
isLoaded=
{
!
isLoading
}
fontSize=
"sm"
fontWeight=
{
500
}
>
Txn count
</
Skeleton
>
<
Skeleton
isLoaded=
{
!
isLoading
}
fontSize=
"sm"
color=
"text_secondary"
>
<
span
>
{
Number
(
item
.
t
x
_count
).
toLocaleString
()
}
</
span
>
<
span
>
{
Number
(
item
.
t
ransaction
_count
).
toLocaleString
()
}
</
span
>
</
Skeleton
>
</
HStack
>
</
ListItemMobile
>
...
...
ui/addressesLabelSearch/AddressesLabelSearchTableItem.tsx
View file @
73ce4f50
...
...
@@ -38,7 +38,7 @@ const AddressesLabelSearchTableItem = ({
</
Td
>
<
Td
isNumeric
>
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
lineHeight=
"24px"
>
{
Number
(
item
.
t
x
_count
).
toLocaleString
()
}
{
Number
(
item
.
t
ransaction
_count
).
toLocaleString
()
}
</
Skeleton
>
</
Td
>
</
Tr
>
...
...
ui/block/BlockDetails.tsx
View file @
73ce4f50
...
...
@@ -122,7 +122,7 @@ const BlockDetails = ({ query }: Props) => {
const
txsNum
=
(()
=>
{
const
blockTxsNum
=
(
<
LinkInternal
href=
{
route
({
pathname
:
'
/block/[height_or_hash]
'
,
query
:
{
height_or_hash
:
heightOrHash
,
tab
:
'
txs
'
}
})
}
>
{
data
.
t
x_count
}
txn
{
data
.
tx
_count
===
1
?
''
:
'
s
'
}
{
data
.
t
ransaction_count
}
txn
{
data
.
transaction
_count
===
1
?
''
:
'
s
'
}
</
LinkInternal
>
);
...
...
ui/block/useBlockQuery.tsx
View file @
73ce4f50
...
...
@@ -65,7 +65,7 @@ export default function useBlockQuery({ heightOrHash }: Params): BlockQuery {
return
{
height
:
Number
(
block
.
number
),
timestamp
:
dayjs
.
unix
(
Number
(
block
.
timestamp
)).
format
(),
t
x
_count
:
block
.
transactions
.
length
,
t
ransaction
_count
:
block
.
transactions
.
length
,
miner
:
{
...
unknownAddress
,
hash
:
block
.
miner
},
size
:
Number
(
block
.
size
),
hash
:
block
.
hash
,
...
...
@@ -84,7 +84,7 @@ export default function useBlockQuery({ heightOrHash }: Params): BlockQuery {
gas_used_percentage
:
null
,
burnt_fees_percentage
:
null
,
type
:
'
block
'
,
// we can't get this type from RPC, so it will always be a regular block
t
x
_fees
:
null
,
t
ransaction
_fees
:
null
,
uncles_hashes
:
block
.
uncles
,
withdrawals_count
:
block
.
withdrawals
?.
length
,
};
...
...
ui/blocks/BlocksListItem.tsx
View file @
73ce4f50
...
...
@@ -34,7 +34,7 @@ const isRollup = config.features.rollup.isEnabled;
const
BlocksListItem
=
({
data
,
isLoading
,
enableTimeIncrement
}:
Props
)
=>
{
const
totalReward
=
getBlockTotalReward
(
data
);
const
burntFees
=
BigNumber
(
data
.
burnt_fees
||
0
);
const
txFees
=
BigNumber
(
data
.
t
x
_fees
||
0
);
const
txFees
=
BigNumber
(
data
.
t
ransaction
_fees
||
0
);
const
baseFeeValue
=
getBaseFeeValue
(
data
.
base_fee_per_gas
);
return
(
...
...
@@ -81,14 +81,14 @@ const BlocksListItem = ({ data, isLoading, enableTimeIncrement }: Props) => {
)
}
<
Flex
columnGap=
{
2
}
>
<
Text
fontWeight=
{
500
}
>
Txn
</
Text
>
{
data
.
t
x
_count
>
0
?
(
{
data
.
t
ransaction
_count
>
0
?
(
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
>
<
LinkInternal
href=
{
route
({
pathname
:
'
/block/[height_or_hash]
'
,
query
:
{
height_or_hash
:
String
(
data
.
height
),
tab
:
'
txs
'
}
})
}
>
{
data
.
t
x
_count
}
{
data
.
t
ransaction
_count
}
</
LinkInternal
>
</
Skeleton
>
)
:
<
Text
variant=
"secondary"
>
{
data
.
t
x
_count
}
</
Text
>
<
Text
variant=
"secondary"
>
{
data
.
t
ransaction
_count
}
</
Text
>
}
</
Flex
>
<
Box
>
...
...
ui/blocks/BlocksTableItem.tsx
View file @
73ce4f50
...
...
@@ -31,7 +31,7 @@ const isRollup = config.features.rollup.isEnabled;
const
BlocksTableItem
=
({
data
,
isLoading
,
enableTimeIncrement
}:
Props
)
=>
{
const
totalReward
=
getBlockTotalReward
(
data
);
const
burntFees
=
BigNumber
(
data
.
burnt_fees
||
0
);
const
txFees
=
BigNumber
(
data
.
t
x
_fees
||
0
);
const
txFees
=
BigNumber
(
data
.
t
ransaction
_fees
||
0
);
const
burntFeesIconColor
=
useColorModeValue
(
'
gray.500
'
,
'
inherit
'
);
...
...
@@ -89,16 +89,16 @@ const BlocksTableItem = ({ data, isLoading, enableTimeIncrement }: Props) => {
</
Td
>
)
}
<
Td
isNumeric
fontSize=
"sm"
>
{
data
.
t
x
_count
>
0
?
(
{
data
.
t
ransaction
_count
>
0
?
(
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
>
<
LinkInternal
href=
{
route
({
pathname
:
'
/block/[height_or_hash]
'
,
query
:
{
height_or_hash
:
String
(
data
.
height
),
tab
:
'
txs
'
},
})
}
>
{
data
.
t
x
_count
}
{
data
.
t
ransaction
_count
}
</
LinkInternal
>
</
Skeleton
>
)
:
data
.
t
x
_count
}
)
:
data
.
t
ransaction
_count
}
</
Td
>
<
Td
fontSize=
"sm"
>
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
>
{
BigNumber
(
data
.
gas_used
||
0
).
toFormat
()
}
</
Skeleton
>
...
...
ui/deposits/optimisticL2/OptimisticDepositsListItem.tsx
View file @
73ce4f50
...
...
@@ -39,7 +39,7 @@ const OptimisticDepositsListItem = ({ item, isLoading }: Props) => {
<
ListItemMobileGrid
.
Value
>
<
TxEntity
isLoading=
{
isLoading
}
hash=
{
item
.
l2_t
x
_hash
}
hash=
{
item
.
l2_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
@@ -59,7 +59,7 @@ const OptimisticDepositsListItem = ({ item, isLoading }: Props) => {
<
ListItemMobileGrid
.
Value
>
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
l1_t
x
_hash
}
hash=
{
item
.
l1_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
@@ -69,7 +69,7 @@ const OptimisticDepositsListItem = ({ item, isLoading }: Props) => {
<
ListItemMobileGrid
.
Label
isLoading=
{
isLoading
}
>
L1 txn origin
</
ListItemMobileGrid
.
Label
>
<
ListItemMobileGrid
.
Value
>
<
AddressEntityL1
address=
{
{
hash
:
item
.
l1_t
x
_origin
,
name
:
''
,
is_contract
:
false
,
is_verified
:
false
,
ens_domain_name
:
null
,
implementations
:
null
}
}
address=
{
{
hash
:
item
.
l1_t
ransaction
_origin
,
name
:
''
,
is_contract
:
false
,
is_verified
:
false
,
ens_domain_name
:
null
,
implementations
:
null
}
}
isLoading=
{
isLoading
}
noCopy
truncation=
"constant"
...
...
@@ -78,7 +78,7 @@ const OptimisticDepositsListItem = ({ item, isLoading }: Props) => {
<
ListItemMobileGrid
.
Label
isLoading=
{
isLoading
}
>
Gas limit
</
ListItemMobileGrid
.
Label
>
<
ListItemMobileGrid
.
Value
>
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
>
{
BigNumber
(
item
.
l2_t
x
_gas_limit
).
toFormat
()
}
</
Skeleton
>
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
>
{
BigNumber
(
item
.
l2_t
ransaction
_gas_limit
).
toFormat
()
}
</
Skeleton
>
</
ListItemMobileGrid
.
Value
>
</
ListItemMobileGrid
.
Container
>
...
...
ui/deposits/optimisticL2/OptimisticDepositsTable.tsx
View file @
73ce4f50
...
...
@@ -28,7 +28,7 @@ const OptimisticDepositsTable = ({ items, top, isLoading }: Props) => {
</
Thead
>
<
Tbody
>
{
items
.
map
((
item
,
index
)
=>
(
<
OptimisticDepositsTableItem
key=
{
item
.
l2_t
x
_hash
+
(
isLoading
?
index
:
''
)
}
item=
{
item
}
isLoading=
{
isLoading
}
/>
<
OptimisticDepositsTableItem
key=
{
item
.
l2_t
ransaction
_hash
+
(
isLoading
?
index
:
''
)
}
item=
{
item
}
isLoading=
{
isLoading
}
/>
))
}
</
Tbody
>
</
Table
>
...
...
ui/deposits/optimisticL2/OptimisticDepositsTableItem.tsx
View file @
73ce4f50
...
...
@@ -36,7 +36,7 @@ const OptimisticDepositsTableItem = ({ item, isLoading }: Props) => {
<
Td
verticalAlign=
"middle"
>
<
TxEntity
isLoading=
{
isLoading
}
hash=
{
item
.
l2_t
x
_hash
}
hash=
{
item
.
l2_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
@@ -54,7 +54,7 @@ const OptimisticDepositsTableItem = ({ item, isLoading }: Props) => {
<
Td
verticalAlign=
"middle"
>
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
l1_t
x
_hash
}
hash=
{
item
.
l1_t
ransaction
_hash
}
truncation=
"constant_long"
noIcon
fontSize=
"sm"
...
...
@@ -63,7 +63,7 @@ const OptimisticDepositsTableItem = ({ item, isLoading }: Props) => {
</
Td
>
<
Td
verticalAlign=
"middle"
>
<
AddressEntityL1
address=
{
{
hash
:
item
.
l1_t
x
_origin
,
name
:
''
,
is_contract
:
false
,
is_verified
:
false
,
ens_domain_name
:
null
,
implementations
:
null
}
}
address=
{
{
hash
:
item
.
l1_t
ransaction
_origin
,
name
:
''
,
is_contract
:
false
,
is_verified
:
false
,
ens_domain_name
:
null
,
implementations
:
null
}
}
isLoading=
{
isLoading
}
truncation=
"constant"
noCopy
...
...
@@ -71,7 +71,7 @@ const OptimisticDepositsTableItem = ({ item, isLoading }: Props) => {
</
Td
>
<
Td
verticalAlign=
"middle"
isNumeric
>
<
Skeleton
isLoaded=
{
!
isLoading
}
color=
"text_secondary"
display=
"inline-block"
>
<
span
>
{
BigNumber
(
item
.
l2_t
x
_gas_limit
).
toFormat
()
}
</
span
>
<
span
>
{
BigNumber
(
item
.
l2_t
ransaction
_gas_limit
).
toFormat
()
}
</
span
>
</
Skeleton
>
</
Td
>
</
Tr
>
...
...
ui/home/LatestBlocksItem.tsx
View file @
73ce4f50
...
...
@@ -67,7 +67,7 @@ const LatestBlocksItem = ({ block, isLoading }: Props) => {
</
Flex
>
<
Grid
gridGap=
{
2
}
templateColumns=
"auto minmax(0, 1fr)"
fontSize=
"sm"
>
<
Skeleton
isLoaded=
{
!
isLoading
}
>
Txn
</
Skeleton
>
<
Skeleton
isLoaded=
{
!
isLoading
}
color=
"text_secondary"
><
span
>
{
block
.
t
x
_count
}
</
span
></
Skeleton
>
<
Skeleton
isLoaded=
{
!
isLoading
}
color=
"text_secondary"
><
span
>
{
block
.
t
ransaction
_count
}
</
span
></
Skeleton
>
{
!
config
.
features
.
rollup
.
isEnabled
&&
!
config
.
UI
.
views
.
block
.
hiddenFields
?.
total_reward
&&
(
<>
...
...
ui/home/indicators/utils/indicators.tsx
View file @
73ce4f50
...
...
@@ -30,7 +30,7 @@ const dailyTxsIndicator: TChainIndicator<'stats_charts_txs'> = {
resourceName
:
'
stats_charts_txs
'
,
dataFn
:
(
response
)
=>
([
{
items
:
response
.
chart_data
.
map
((
item
)
=>
({
date
:
new
Date
(
item
.
date
),
value
:
item
.
t
x
_count
}))
.
map
((
item
)
=>
({
date
:
new
Date
(
item
.
date
),
value
:
item
.
t
ransaction
_count
}))
.
sort
(
sortByDateDesc
)
.
reduceRight
(
nonNullTailReducer
,
[]
as
Array
<
TimeChartItemRaw
>
)
.
map
(
mapNullToZero
),
...
...
ui/home/latestBatches/LatestZkEvmL2Batches.tsx
View file @
73ce4f50
...
...
@@ -70,7 +70,7 @@ const LatestZkEvmL2Batches = () => {
<
LatestBatchItem
key=
{
batch
.
number
+
(
isPlaceholderData
?
String
(
index
)
:
''
)
}
number=
{
batch
.
number
}
txCount=
{
batch
.
t
x
_count
}
txCount=
{
batch
.
t
ransaction
_count
}
timestamp=
{
batch
.
timestamp
}
status=
{
status
}
isLoading=
{
isPlaceholderData
}
...
...
ui/home/latestDeposits/LatestOptimisticDeposits.tsx
View file @
73ce4f50
...
...
@@ -57,7 +57,7 @@ const LatestOptimisticDeposits = () => {
return
(
<
LatestDeposits
items=
{
data
.
slice
(
0
,
itemsCount
).
map
((
item
)
=>
(
{
l1BlockNumber
:
item
.
l1_block_number
,
l1TxHash
:
item
.
l1_t
x_hash
,
l2TxHash
:
item
.
l2_tx
_hash
,
timestamp
:
item
.
l1_block_timestamp
}
{
l1BlockNumber
:
item
.
l1_block_number
,
l1TxHash
:
item
.
l1_t
ransaction_hash
,
l2TxHash
:
item
.
l2_transaction
_hash
,
timestamp
:
item
.
l1_block_timestamp
}
))
}
isLoading=
{
isPlaceholderData
}
socketItemsNum=
{
num
}
...
...
ui/mudWorlds/MudWorldsListItem.tsx
View file @
73ce4f50
...
...
@@ -39,7 +39,7 @@ const MudWorldsListItem = ({
<
HStack
spacing=
{
3
}
>
<
Skeleton
isLoaded=
{
!
isLoading
}
fontSize=
"sm"
fontWeight=
{
500
}
>
Txn count
</
Skeleton
>
<
Skeleton
isLoaded=
{
!
isLoading
}
fontSize=
"sm"
color=
"text_secondary"
>
<
span
>
{
Number
(
item
.
t
x
_count
).
toLocaleString
()
}
</
span
>
<
span
>
{
Number
(
item
.
t
ransaction
_count
).
toLocaleString
()
}
</
span
>
</
Skeleton
>
</
HStack
>
</
ListItemMobile
>
...
...
ui/mudWorlds/MudWorldsTableItem.tsx
View file @
73ce4f50
...
...
@@ -26,7 +26,7 @@ const MudWorldsTableItem = ({ item, isLoading }: Props) => {
</
Td
>
<
Td
isNumeric
>
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
lineHeight=
"24px"
>
{
Number
(
item
.
t
x
_count
).
toLocaleString
()
}
{
Number
(
item
.
t
ransaction
_count
).
toLocaleString
()
}
</
Skeleton
>
</
Td
>
</
Tr
>
...
...
ui/outputRoots/optimisticL2/OptimisticL2OutputRootsListItem.tsx
View file @
73ce4f50
...
...
@@ -52,7 +52,7 @@ const OptimisticL2OutputRootsListItem = ({ item, isLoading }: Props) => {
<
ListItemMobileGrid
.
Value
py=
"3px"
>
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
l1_t
x
_hash
}
hash=
{
item
.
l1_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
ui/outputRoots/optimisticL2/OptimisticL2OutputRootsTableItem.tsx
View file @
73ce4f50
...
...
@@ -45,7 +45,7 @@ const OptimisticL2OutputRootsTableItem = ({ item, isLoading }: Props) => {
<
Td
verticalAlign=
"middle"
pr=
{
12
}
>
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
l1_t
x
_hash
}
hash=
{
item
.
l1_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
noIcon
...
...
ui/pages/Accounts.pw.tsx
View file @
73ce4f50
...
...
@@ -11,23 +11,23 @@ const addresses: AddressesResponse = {
items
:
[
{
...
addressMocks
.
withName
,
t
x
_count
:
'
1
'
,
t
ransaction
_count
:
'
1
'
,
coin_balance
:
'
12345678901234567890000
'
,
},
{
...
addressMocks
.
token
,
t
x
_count
:
'
109123890123
'
,
t
ransaction
_count
:
'
109123890123
'
,
coin_balance
:
'
22222345678901234567890000
'
,
ens_domain_name
:
null
,
},
{
...
addressMocks
.
withoutName
,
t
x
_count
:
'
11
'
,
t
ransaction
_count
:
'
11
'
,
coin_balance
:
'
1000000000000000000
'
,
},
{
...
addressMocks
.
eoa
,
t
x
_count
:
'
420
'
,
t
ransaction
_count
:
'
420
'
,
coin_balance
:
'
123456
'
,
},
],
...
...
ui/pages/AccountsLabelSearch.pw.tsx
View file @
73ce4f50
...
...
@@ -11,23 +11,23 @@ const addresses: AddressesMetadataSearchResult = {
items
:
[
{
...
addressMocks
.
withName
,
t
x
_count
:
'
1
'
,
t
ransaction
_count
:
'
1
'
,
coin_balance
:
'
12345678901234567890000
'
,
},
{
...
addressMocks
.
token
,
t
x
_count
:
'
109123890123
'
,
t
ransaction
_count
:
'
109123890123
'
,
coin_balance
:
'
22222345678901234567890000
'
,
ens_domain_name
:
null
,
},
{
...
addressMocks
.
withoutName
,
t
x
_count
:
'
11
'
,
t
ransaction
_count
:
'
11
'
,
coin_balance
:
'
1000000000000000000
'
,
},
{
...
addressMocks
.
eoa
,
t
x
_count
:
'
420
'
,
t
ransaction
_count
:
'
420
'
,
coin_balance
:
null
,
},
],
...
...
ui/pages/OptimisticL2Deposits.tsx
View file @
73ce4f50
...
...
@@ -24,7 +24,7 @@ const OptimisticL2Deposits = () => {
next_page_params
:
{
items_count
:
50
,
l1_block_number
:
9045200
,
t
x
_hash
:
''
,
t
ransaction
_hash
:
''
,
},
},
),
...
...
@@ -42,7 +42,7 @@ const OptimisticL2Deposits = () => {
<
Show
below=
"lg"
ssr=
{
false
}
>
{
data
.
items
.
map
(((
item
,
index
)
=>
(
<
OptimisticDepositsListItem
key=
{
item
.
l2_t
x
_hash
+
(
isPlaceholderData
?
index
:
''
)
}
key=
{
item
.
l2_t
ransaction
_hash
+
(
isPlaceholderData
?
index
:
''
)
}
isLoading=
{
isPlaceholderData
}
item=
{
item
}
/>
...
...
ui/pages/SearchResults.pw.tsx
View file @
73ce4f50
...
...
@@ -87,14 +87,14 @@ test('search by block hash +@mobile', async({ render, mockApiResponse }) => {
test
(
'
search by tx hash +@mobile
'
,
async
({
render
,
mockApiResponse
})
=>
{
const
hooksConfig
=
{
router
:
{
query
:
{
q
:
searchMock
.
tx1
.
t
x
_hash
},
query
:
{
q
:
searchMock
.
tx1
.
t
ransaction
_hash
},
},
};
const
data
=
{
items
:
[
searchMock
.
tx1
],
next_page_params
:
null
,
};
await
mockApiResponse
(
'
search
'
,
data
,
{
queryParams
:
{
q
:
searchMock
.
tx1
.
t
x
_hash
}
});
await
mockApiResponse
(
'
search
'
,
data
,
{
queryParams
:
{
q
:
searchMock
.
tx1
.
t
ransaction
_hash
}
});
const
component
=
await
render
(<
SearchResults
/>,
{
hooksConfig
});
await
expect
(
component
.
locator
(
'
main
'
)).
toHaveScreenshot
();
...
...
@@ -169,7 +169,7 @@ test.describe('with apps', () => {
items_count
:
1
,
name
:
'
foo
'
,
q
:
'
o
'
,
t
x
_hash
:
null
,
t
ransaction
_hash
:
null
,
},
};
await
mockEnvs
([
...
...
ui/pages/TokenTransfers.tsx
View file @
73ce4f50
...
...
@@ -37,7 +37,7 @@ const TokenTransfers = () => {
<
Show
below=
"lg"
ssr=
{
false
}
>
{
tokenTransfersQuery
.
data
?.
items
.
map
((
item
,
index
)
=>
(
<
TokenTransfersListItem
key=
{
item
.
t
x
_hash
+
item
.
log_index
+
(
tokenTransfersQuery
.
isPlaceholderData
?
index
:
''
)
}
key=
{
item
.
t
ransaction
_hash
+
item
.
log_index
+
(
tokenTransfersQuery
.
isPlaceholderData
?
index
:
''
)
}
isLoading=
{
tokenTransfersQuery
.
isPlaceholderData
}
item=
{
item
}
/>
...
...
ui/privateTags/TransactionModal/TransactionForm.tsx
View file @
73ce4f50
...
...
@@ -64,8 +64,8 @@ const TransactionForm: React.FC<Props> = ({ data, onClose, onSuccess, setAlertVi
onError
:
(
error
:
ResourceErrorAccount
<
TransactionTagErrors
>
)
=>
{
setPending
(
false
);
const
errorMap
=
error
.
payload
?.
errors
;
if
(
errorMap
?.
t
x
_hash
||
errorMap
?.
name
)
{
errorMap
?.
t
x_hash
&&
formApi
.
setError
(
'
transaction
'
,
{
type
:
'
custom
'
,
message
:
getErrorMessage
(
errorMap
,
'
tx
_hash
'
)
});
if
(
errorMap
?.
t
ransaction
_hash
||
errorMap
?.
name
)
{
errorMap
?.
t
ransaction_hash
&&
formApi
.
setError
(
'
transaction
'
,
{
type
:
'
custom
'
,
message
:
getErrorMessage
(
errorMap
,
'
transaction
_hash
'
)
});
errorMap
?.
name
&&
formApi
.
setError
(
'
tag
'
,
{
type
:
'
custom
'
,
message
:
getErrorMessage
(
errorMap
,
'
name
'
)
});
}
else
if
(
errorMap
?.
identity_id
)
{
formApi
.
setError
(
'
transaction
'
,
{
type
:
'
custom
'
,
message
:
getErrorMessage
(
errorMap
,
'
identity_id
'
)
});
...
...
ui/searchResults/SearchResultListItem.tsx
View file @
73ce4f50
...
...
@@ -203,12 +203,12 @@ const SearchResultListItem = ({ data, searchTerm, isLoading, addressFormat }: Pr
<
TxEntity
.
Icon
/>
<
TxEntity
.
Link
isLoading=
{
isLoading
}
hash=
{
data
.
t
x
_hash
}
hash=
{
data
.
t
ransaction
_hash
}
onClick=
{
handleLinkClick
}
>
<
TxEntity
.
Content
asProp=
"mark"
hash=
{
data
.
t
x
_hash
}
hash=
{
data
.
t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
fontWeight=
{
700
}
...
...
ui/searchResults/SearchResultTableItem.tsx
View file @
73ce4f50
...
...
@@ -303,12 +303,12 @@ const SearchResultTableItem = ({ data, searchTerm, isLoading, addressFormat }: P
<
TxEntity
.
Icon
/>
<
TxEntity
.
Link
isLoading=
{
isLoading
}
hash=
{
data
.
t
x
_hash
}
hash=
{
data
.
t
ransaction
_hash
}
onClick=
{
handleLinkClick
}
>
<
TxEntity
.
Content
asProp=
"mark"
hash=
{
data
.
t
x
_hash
}
hash=
{
data
.
t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
fontWeight=
{
700
}
...
...
ui/shared/TokenTransfer/TokenTransferList.tsx
View file @
73ce4f50
...
...
@@ -18,7 +18,7 @@ const TokenTransferList = ({ data, baseAddress, showTxInfo, enableTimeIncrement,
<
Box
>
{
data
.
map
((
item
,
index
)
=>
(
<
TokenTransferListItem
key=
{
item
.
t
x
_hash
+
item
.
block_hash
+
item
.
log_index
+
(
isLoading
?
index
:
''
)
}
key=
{
item
.
t
ransaction
_hash
+
item
.
block_hash
+
item
.
log_index
+
(
isLoading
?
index
:
''
)
}
{
...
item
}
baseAddress=
{
baseAddress
}
showTxInfo=
{
showTxInfo
}
...
...
ui/shared/TokenTransfer/TokenTransferListItem.tsx
View file @
73ce4f50
...
...
@@ -26,7 +26,7 @@ type Props = TokenTransfer & {
const
TokenTransferListItem
=
({
token
,
total
,
t
x
_hash
:
txHash
,
t
ransaction
_hash
:
txHash
,
from
,
to
,
baseAddress
,
...
...
ui/shared/TokenTransfer/TokenTransferTable.tsx
View file @
73ce4f50
...
...
@@ -57,7 +57,7 @@ const TokenTransferTable = ({
)
}
{
data
.
map
((
item
,
index
)
=>
(
<
TokenTransferTableItem
key=
{
item
.
t
x
_hash
+
item
.
block_hash
+
item
.
log_index
+
(
isLoading
?
index
:
''
)
}
key=
{
item
.
t
ransaction
_hash
+
item
.
block_hash
+
item
.
log_index
+
(
isLoading
?
index
:
''
)
}
{
...
item
}
baseAddress=
{
baseAddress
}
showTxInfo=
{
showTxInfo
}
...
...
ui/shared/TokenTransfer/TokenTransferTableItem.tsx
View file @
73ce4f50
...
...
@@ -25,7 +25,7 @@ type Props = TokenTransfer & {
const
TokenTransferTableItem
=
({
token
,
total
,
t
x
_hash
:
txHash
,
t
ransaction
_hash
:
txHash
,
from
,
to
,
baseAddress
,
...
...
ui/shared/logs/LogItem.pw.tsx
View file @
73ce4f50
...
...
@@ -23,7 +23,7 @@ test('with decoded input data +@mobile +@dark-mode', async({ render }) => {
topics=
{
TOPICS
}
data=
{
DATA
}
type=
"transaction"
t
x
_hash=
{
null
}
t
ransaction
_hash=
{
null
}
/>,
);
await
expect
(
component
).
toHaveScreenshot
();
...
...
@@ -38,7 +38,7 @@ test('without decoded input data +@mobile', async({ render }) => {
topics=
{
TOPICS
}
data=
{
DATA
}
type=
"transaction"
t
x
_hash=
{
null
}
t
ransaction
_hash=
{
null
}
/>,
);
await
expect
(
component
).
toHaveScreenshot
();
...
...
ui/shared/logs/LogItem.tsx
View file @
73ce4f50
...
...
@@ -23,7 +23,7 @@ const RowHeader = ({ children, isLoading }: { children: React.ReactNode; isLoadi
</
GridItem
>
);
const
LogItem
=
({
address
,
index
,
topics
,
data
,
decoded
,
type
,
t
x
_hash
:
txHash
,
isLoading
}:
Props
)
=>
{
const
LogItem
=
({
address
,
index
,
topics
,
data
,
decoded
,
type
,
t
ransaction
_hash
:
txHash
,
isLoading
}:
Props
)
=>
{
const
borderColor
=
useColorModeValue
(
'
blackAlpha.200
'
,
'
whiteAlpha.200
'
);
const
dataBgColor
=
useColorModeValue
(
'
blackAlpha.50
'
,
'
whiteAlpha.50
'
);
...
...
ui/snippets/searchBar/SearchBar.pw.tsx
View file @
73ce4f50
...
...
@@ -103,9 +103,9 @@ test('search by block hash +@mobile', async({ render, page, mockApiResponse }) =
test
(
'
search by tx hash +@mobile
'
,
async
({
render
,
page
,
mockApiResponse
})
=>
{
const
apiUrl
=
await
mockApiResponse
(
'
quick_search
'
,
[
searchMock
.
tx1
,
],
{
queryParams
:
{
q
:
searchMock
.
tx1
.
t
x
_hash
}
});
],
{
queryParams
:
{
q
:
searchMock
.
tx1
.
t
ransaction
_hash
}
});
await
render
(<
SearchBar
/>);
await
page
.
getByPlaceholder
(
/search/i
).
fill
(
searchMock
.
tx1
.
t
x
_hash
);
await
page
.
getByPlaceholder
(
/search/i
).
fill
(
searchMock
.
tx1
.
t
ransaction
_hash
);
await
page
.
waitForResponse
(
apiUrl
);
await
expect
(
page
).
toHaveScreenshot
({
clip
:
{
x
:
0
,
y
:
0
,
width
:
1200
,
height
:
300
}
});
...
...
@@ -140,9 +140,9 @@ test('search by user op hash +@mobile', async({ render, page, mockApiResponse, m
await
mockEnvs
(
ENVS_MAP
.
userOps
);
const
apiUrl
=
await
mockApiResponse
(
'
quick_search
'
,
[
searchMock
.
userOp1
,
],
{
queryParams
:
{
q
:
searchMock
.
tx1
.
t
x
_hash
}
});
],
{
queryParams
:
{
q
:
searchMock
.
tx1
.
t
ransaction
_hash
}
});
await
render
(<
SearchBar
/>);
await
page
.
getByPlaceholder
(
/search/i
).
fill
(
searchMock
.
tx1
.
t
x
_hash
);
await
page
.
getByPlaceholder
(
/search/i
).
fill
(
searchMock
.
tx1
.
t
ransaction
_hash
);
await
page
.
waitForResponse
(
apiUrl
);
await
expect
(
page
).
toHaveScreenshot
({
clip
:
{
x
:
0
,
y
:
0
,
width
:
1200
,
height
:
300
}
});
...
...
ui/snippets/searchBar/SearchBarSuggest/SearchBarSuggestItem.tsx
View file @
73ce4f50
...
...
@@ -38,7 +38,7 @@ const SearchBarSuggestItem = ({ data, isMobile, searchTerm, onClick, addressForm
return
route
({
pathname
:
'
/address/[hash]
'
,
query
:
{
hash
:
data
.
address
}
});
}
case
'
transaction
'
:
{
return
route
({
pathname
:
'
/tx/[hash]
'
,
query
:
{
hash
:
data
.
t
x
_hash
}
});
return
route
({
pathname
:
'
/tx/[hash]
'
,
query
:
{
hash
:
data
.
t
ransaction
_hash
}
});
}
case
'
block
'
:
{
const
isFutureBlock
=
data
.
timestamp
===
undefined
;
...
...
ui/snippets/searchBar/SearchBarSuggest/SearchBarSuggestTx.tsx
View file @
73ce4f50
...
...
@@ -12,7 +12,7 @@ const SearchBarSuggestTx = ({ data, isMobile }: ItemsProps<SearchResultTx>) => {
const
icon
=
<
TxEntity
.
Icon
/>;
const
hash
=
(
<
chakra
.
mark
overflow=
"hidden"
whiteSpace=
"nowrap"
fontWeight=
{
700
}
>
<
HashStringShortenDynamic
hash=
{
data
.
t
x
_hash
}
isTooltipDisabled
/>
<
HashStringShortenDynamic
hash=
{
data
.
t
ransaction
_hash
}
isTooltipDisabled
/>
</
chakra
.
mark
>
);
const
date
=
dayjs
(
data
.
timestamp
).
format
(
'
llll
'
);
...
...
ui/token/TokenTransfer/TokenTransferList.tsx
View file @
73ce4f50
...
...
@@ -16,7 +16,7 @@ const TokenTransferList = ({ data, tokenId, isLoading }: Props) => {
<
Box
>
{
data
.
map
((
item
,
index
)
=>
(
<
TokenTransferListItem
key=
{
item
.
t
x
_hash
+
item
.
block_hash
+
item
.
log_index
+
'
_
'
+
index
}
key=
{
item
.
t
ransaction
_hash
+
item
.
block_hash
+
item
.
log_index
+
'
_
'
+
index
}
{
...
item
}
tokenId=
{
tokenId
}
isLoading=
{
isLoading
}
...
...
ui/token/TokenTransfer/TokenTransferListItem.tsx
View file @
73ce4f50
...
...
@@ -18,7 +18,7 @@ type Props = TokenTransfer & { tokenId?: string; isLoading?: boolean };
const
TokenTransferListItem
=
({
token
,
total
,
t
x
_hash
:
txHash
,
t
ransaction
_hash
:
txHash
,
from
,
to
,
method
,
...
...
ui/token/TokenTransfer/TokenTransferTable.tsx
View file @
73ce4f50
...
...
@@ -55,7 +55,7 @@ const TokenTransferTable = ({ data, top, showSocketInfo, socketInfoAlert, socket
)
}
{
data
.
map
((
item
,
index
)
=>
(
<
TokenTransferTableItem
key=
{
item
.
t
x
_hash
+
item
.
block_hash
+
item
.
log_index
+
'
_
'
+
index
}
key=
{
item
.
t
ransaction
_hash
+
item
.
block_hash
+
item
.
log_index
+
'
_
'
+
index
}
{
...
item
}
tokenId=
{
tokenId
}
isLoading=
{
isLoading
}
...
...
ui/token/TokenTransfer/TokenTransferTableItem.tsx
View file @
73ce4f50
...
...
@@ -16,7 +16,7 @@ type Props = TokenTransfer & { tokenId?: string; isLoading?: boolean }
const
TokenTransferTableItem
=
({
token
,
total
,
t
x
_hash
:
txHash
,
t
ransaction
_hash
:
txHash
,
from
,
to
,
method
,
...
...
ui/tokenTransfers/TokenTransfersListItem.tsx
View file @
73ce4f50
...
...
@@ -33,7 +33,7 @@ const TokenTransfersListItem = ({ item, isLoading }: Props) => {
<
ListItemMobileGrid
.
Container
>
<
ListItemMobileGrid
.
Label
isLoading=
{
isLoading
}
>
Txn hash
</
ListItemMobileGrid
.
Label
>
<
ListItemMobileGrid
.
Value
>
<
TxEntity
hash=
{
item
.
t
x
_hash
}
isLoading=
{
isLoading
}
truncation=
"constant_long"
noIcon
/>
<
TxEntity
hash=
{
item
.
t
ransaction
_hash
}
isLoading=
{
isLoading
}
truncation=
"constant_long"
noIcon
/>
</
ListItemMobileGrid
.
Value
>
<
ListItemMobileGrid
.
Label
isLoading=
{
isLoading
}
>
Age
</
ListItemMobileGrid
.
Label
>
...
...
ui/tokenTransfers/TokenTransfersTable.tsx
View file @
73ce4f50
...
...
@@ -30,7 +30,7 @@ const TokenTransferTable = ({ items, top, isLoading }: Props) => {
<
Tbody
>
{
items
?.
map
((
item
,
index
)
=>
(
<
TokenTransferTableItem
key=
{
item
.
t
x
_hash
+
item
.
log_index
+
(
isLoading
?
index
:
''
)
}
key=
{
item
.
t
ransaction
_hash
+
item
.
log_index
+
(
isLoading
?
index
:
''
)
}
item=
{
item
}
isLoading=
{
isLoading
}
/>
...
...
ui/tokenTransfers/TokenTransfersTableItem.tsx
View file @
73ce4f50
...
...
@@ -31,7 +31,7 @@ const TokenTransferTableItem = ({ item, isLoading }: Props) => {
<
Tr
>
<
Td
>
<
TxEntity
hash=
{
item
.
t
x
_hash
}
hash=
{
item
.
t
ransaction
_hash
}
isLoading=
{
isLoading
}
fontWeight=
{
600
}
noIcon
...
...
ui/txnBatches/optimisticL2/OptimisticL2TxnBatchDetails.tsx
View file @
73ce4f50
...
...
@@ -104,7 +104,7 @@ const OptimisticL2TxnBatchDetails = ({ query }: Props) => {
<
DetailsInfoItem
.
Value
>
<
Skeleton
isLoaded=
{
!
isPlaceholderData
}
>
<
LinkInternal
href=
{
route
({
pathname
:
'
/batches/[number]
'
,
query
:
{
number
:
data
.
internal_id
.
toString
(),
tab
:
'
txs
'
}
})
}
>
{
data
.
t
x_count
.
toLocaleString
()
}
transaction
{
data
.
tx
_count
===
1
?
''
:
'
s
'
}
{
data
.
t
ransaction_count
.
toLocaleString
()
}
transaction
{
data
.
transaction
_count
===
1
?
''
:
'
s
'
}
</
LinkInternal
>
{
'
'
}
in this batch
</
Skeleton
>
...
...
@@ -137,7 +137,7 @@ const OptimisticL2TxnBatchDetails = ({ query }: Props) => {
<
OptimisticL2TxnBatchBlobEip4844
blobs=
{
data
.
blobs
}
isLoading=
{
isPlaceholderData
}
/>
}
{
data
.
batch_data_container
===
'
in_calldata
'
&&
(
<
OptimisticL2TxnBatchBlobCallData
l1TxHashes=
{
data
.
l1_t
x
_hashes
}
l1TxHashes=
{
data
.
l1_t
ransaction
_hashes
}
l1Timestamp=
{
data
.
l1_timestamp
}
isLoading=
{
isPlaceholderData
}
/>
...
...
ui/txnBatches/optimisticL2/OptimisticL2TxnBatchesListItem.tsx
View file @
73ce4f50
...
...
@@ -52,7 +52,7 @@ const OptimisticL2TxnBatchesListItem = ({ item, isLoading }: Props) => {
<
ListItemMobileGrid
.
Label
isLoading=
{
isLoading
}
>
L1 txn count
</
ListItemMobileGrid
.
Label
>
<
ListItemMobileGrid
.
Value
>
<
Skeleton
isLoaded=
{
!
isLoading
}
minW=
"40px"
>
{
item
.
l1_t
x
_hashes
.
length
}
{
item
.
l1_t
ransaction
_hashes
.
length
}
</
Skeleton
>
</
ListItemMobileGrid
.
Value
>
...
...
@@ -75,7 +75,7 @@ const OptimisticL2TxnBatchesListItem = ({ item, isLoading }: Props) => {
isLoading=
{
isLoading
}
>
<
Skeleton
isLoaded=
{
!
isLoading
}
minW=
"40px"
>
{
item
.
t
x
_count
}
{
item
.
t
ransaction
_count
}
</
Skeleton
>
</
LinkInternal
>
</
ListItemMobileGrid
.
Value
>
...
...
ui/txnBatches/optimisticL2/OptimisticL2TxnBatchesTableItem.tsx
View file @
73ce4f50
...
...
@@ -39,7 +39,7 @@ const OptimisticL2TxnBatchesTableItem = ({ item, isLoading }: Props) => {
</
Td
>
<
Td
verticalAlign=
"middle"
isNumeric
>
<
Skeleton
isLoaded=
{
!
isLoading
}
minW=
"40px"
display=
"inline-block"
>
{
item
.
l1_t
x
_hashes
.
length
}
{
item
.
l1_t
ransaction
_hashes
.
length
}
</
Skeleton
>
</
Td
>
<
Td
verticalAlign=
"middle"
isNumeric
>
...
...
@@ -60,7 +60,7 @@ const OptimisticL2TxnBatchesTableItem = ({ item, isLoading }: Props) => {
justifyContent=
"flex-end"
>
<
Skeleton
isLoaded=
{
!
isLoading
}
minW=
"40px"
display=
"inline-block"
>
{
item
.
t
x
_count
}
{
item
.
t
ransaction
_count
}
</
Skeleton
>
</
LinkInternal
>
</
Td
>
...
...
ui/txnBatches/zkEvmL2/ZkEvmL2TxnBatchDetails.tsx
View file @
73ce4f50
...
...
@@ -104,10 +104,10 @@ const ZkEvmL2TxnBatchDetails = ({ query }: Props) => {
Verify tx hash
</
DetailsInfoItem
.
Label
>
<
DetailsInfoItem
.
Value
>
{
data
.
verify_t
x
_hash
?
(
{
data
.
verify_t
ransaction
_hash
?
(
<
TxEntityL1
isLoading=
{
isPlaceholderData
}
hash=
{
data
.
verify_t
x
_hash
}
hash=
{
data
.
verify_t
ransaction
_hash
}
maxW=
"100%"
/>
)
:
<
Text
>
Pending
</
Text
>
}
...
...
@@ -162,10 +162,10 @@ const ZkEvmL2TxnBatchDetails = ({ query }: Props) => {
Sequence tx hash
</
DetailsInfoItem
.
Label
>
<
DetailsInfoItem
.
Value
>
{
data
.
sequence_t
x
_hash
?
(
{
data
.
sequence_t
ransaction
_hash
?
(
<
TxEntityL1
isLoading=
{
isPlaceholderData
}
hash=
{
data
.
sequence_t
x
_hash
}
hash=
{
data
.
sequence_t
ransaction
_hash
}
maxW=
"100%"
/>
)
:
<
Text
>
Pending
</
Text
>
}
...
...
ui/txnBatches/zkEvmL2/ZkEvmTxnBatchesListItem.tsx
View file @
73ce4f50
...
...
@@ -59,17 +59,17 @@ const ZkEvmTxnBatchesListItem = ({ item, isLoading }: Props) => {
fontWeight=
{
600
}
>
<
Skeleton
isLoaded=
{
!
isLoading
}
minW=
"40px"
>
{
item
.
t
x
_count
}
{
item
.
t
ransaction
_count
}
</
Skeleton
>
</
LinkInternal
>
</
ListItemMobileGrid
.
Value
>
<
ListItemMobileGrid
.
Label
isLoading=
{
isLoading
}
>
Verify tx hash
</
ListItemMobileGrid
.
Label
>
<
ListItemMobileGrid
.
Value
>
{
item
.
verify_t
x
_hash
?
(
{
item
.
verify_t
ransaction
_hash
?
(
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
verify_t
x
_hash
}
hash=
{
item
.
verify_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
@@ -79,10 +79,10 @@ const ZkEvmTxnBatchesListItem = ({ item, isLoading }: Props) => {
<
ListItemMobileGrid
.
Label
isLoading=
{
isLoading
}
>
Sequence hash
</
ListItemMobileGrid
.
Label
>
<
ListItemMobileGrid
.
Value
>
{
item
.
sequence_t
x
_hash
?
(
{
item
.
sequence_t
ransaction
_hash
?
(
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
sequence_t
x
_hash
}
hash=
{
item
.
sequence_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
ui/txnBatches/zkEvmL2/ZkEvmTxnBatchesTableItem.tsx
View file @
73ce4f50
...
...
@@ -50,15 +50,15 @@ const TxnBatchesTableItem = ({ item, isLoading }: Props) => {
isLoading=
{
isLoading
}
>
<
Skeleton
isLoaded=
{
!
isLoading
}
minW=
"40px"
my=
{
1
}
>
{
item
.
t
x
_count
}
{
item
.
t
ransaction
_count
}
</
Skeleton
>
</
LinkInternal
>
</
Td
>
<
Td
pr=
{
12
}
verticalAlign=
"middle"
>
{
item
.
verify_t
x
_hash
?
(
{
item
.
verify_t
ransaction
_hash
?
(
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
verify_t
x
_hash
}
hash=
{
item
.
verify_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
@@ -67,10 +67,10 @@ const TxnBatchesTableItem = ({ item, isLoading }: Props) => {
)
:
<
Text
>
Pending
</
Text
>
}
</
Td
>
<
Td
pr=
{
12
}
verticalAlign=
"middle"
>
{
item
.
sequence_t
x
_hash
?
(
{
item
.
sequence_t
ransaction
_hash
?
(
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
sequence_t
x
_hash
}
hash=
{
item
.
sequence_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
ui/txnBatches/zkSyncL2/ZkSyncL2TxnBatchDetails.tsx
View file @
73ce4f50
...
...
@@ -67,7 +67,7 @@ const ZkSyncL2TxnBatchDetails = ({ query }: Props) => {
return
null
;
}
const
txNum
=
data
.
l2_t
x_count
+
data
.
l1_tx
_count
;
const
txNum
=
data
.
l2_t
ransaction_count
+
data
.
l1_transaction
_count
;
return
(
<
Grid
...
...
ui/txnBatches/zkSyncL2/ZkSyncTxnBatchesListItem.tsx
View file @
73ce4f50
...
...
@@ -59,7 +59,7 @@ const ZkSyncTxnBatchesListItem = ({ item, isLoading }: Props) => {
fontWeight=
{
600
}
>
<
Skeleton
isLoaded=
{
!
isLoading
}
minW=
"40px"
>
{
item
.
t
x
_count
}
{
item
.
t
ransaction
_count
}
</
Skeleton
>
</
LinkInternal
>
</
ListItemMobileGrid
.
Value
>
...
...
ui/txnBatches/zkSyncL2/ZkSyncTxnBatchesTableItem.tsx
View file @
73ce4f50
...
...
@@ -50,7 +50,7 @@ const ZkSyncTxnBatchesTableItem = ({ item, isLoading }: Props) => {
isLoading=
{
isLoading
}
>
<
Skeleton
isLoaded=
{
!
isLoading
}
minW=
"40px"
my=
{
1
}
>
{
item
.
t
x
_count
}
{
item
.
t
ransaction
_count
}
</
Skeleton
>
</
LinkInternal
>
</
Td
>
...
...
ui/verifiedContracts/VerifiedContractsListItem.tsx
View file @
73ce4f50
...
...
@@ -64,7 +64,7 @@ const VerifiedContractsListItem = ({ data, isLoading }: Props) => {
<
Flex
columnGap=
{
3
}
>
<
Skeleton
isLoaded=
{
!
isLoading
}
fontWeight=
{
500
}
>
Txs count
</
Skeleton
>
<
Skeleton
isLoaded=
{
!
isLoading
}
color=
"text_secondary"
>
<
span
>
{
data
.
t
x_count
?
data
.
tx
_count
.
toLocaleString
()
:
'
0
'
}
</
span
>
<
span
>
{
data
.
t
ransaction_count
?
data
.
transaction
_count
.
toLocaleString
()
:
'
0
'
}
</
span
>
</
Skeleton
>
</
Flex
>
<
Flex
columnGap=
{
3
}
>
...
...
ui/verifiedContracts/VerifiedContractsTableItem.tsx
View file @
73ce4f50
...
...
@@ -60,7 +60,7 @@ const VerifiedContractsTableItem = ({ data, isLoading }: Props) => {
</
Td
>
<
Td
isNumeric
>
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
my=
{
1
}
>
{
data
.
t
x_count
?
data
.
tx
_count
.
toLocaleString
()
:
'
0
'
}
{
data
.
t
ransaction_count
?
data
.
transaction
_count
.
toLocaleString
()
:
'
0
'
}
</
Skeleton
>
</
Td
>
<
Td
>
...
...
ui/withdrawals/optimisticL2/OptimisticL2WithdrawalsListItem.tsx
View file @
73ce4f50
...
...
@@ -50,7 +50,7 @@ const OptimisticL2WithdrawalsListItem = ({ item, isLoading }: Props) => {
<
ListItemMobileGrid
.
Value
>
<
TxEntity
isLoading=
{
isLoading
}
hash=
{
item
.
l2_t
x
_hash
}
hash=
{
item
.
l2_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
@@ -77,13 +77,13 @@ const OptimisticL2WithdrawalsListItem = ({ item, isLoading }: Props) => {
<
Skeleton
isLoaded=
{
!
isLoading
}
display=
"inline-block"
>
{
item
.
status
}
</
Skeleton
>
}
</
ListItemMobileGrid
.
Value
>
{
item
.
l1_t
x
_hash
&&
(
{
item
.
l1_t
ransaction
_hash
&&
(
<>
<
ListItemMobileGrid
.
Label
isLoading=
{
isLoading
}
>
L1 txn hash
</
ListItemMobileGrid
.
Label
>
<
ListItemMobileGrid
.
Value
>
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
l1_t
x
_hash
}
hash=
{
item
.
l1_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
ui/withdrawals/optimisticL2/OptimisticL2WithdrawalsTableItem.tsx
View file @
73ce4f50
...
...
@@ -39,7 +39,7 @@ const OptimisticL2WithdrawalsTableItem = ({ item, isLoading }: Props) => {
<
Td
verticalAlign=
"middle"
>
<
TxEntity
isLoading=
{
isLoading
}
hash=
{
item
.
l2_t
x
_hash
}
hash=
{
item
.
l2_t
ransaction
_hash
}
fontSize=
"sm"
lineHeight=
{
5
}
truncation=
"constant_long"
...
...
@@ -62,10 +62,10 @@ const OptimisticL2WithdrawalsTableItem = ({ item, isLoading }: Props) => {
}
</
Td
>
<
Td
verticalAlign=
"middle"
>
{
item
.
l1_t
x
_hash
?
(
{
item
.
l1_t
ransaction
_hash
?
(
<
TxEntityL1
isLoading=
{
isLoading
}
hash=
{
item
.
l1_t
x
_hash
}
hash=
{
item
.
l1_t
ransaction
_hash
}
truncation=
"constant_long"
noIcon
fontSize=
"sm"
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment