Commit a76c14ca authored by tom goriunov's avatar tom goriunov Committed by GitHub

Migrate to the props with consistent full naming in the API for addre… (#2694)

* Migrate to the props with consistent full naming in the API for address hash entity and multiple props for L2-rollups

Fixes #2686

* fix test
parent bb0b5f12
...@@ -124,7 +124,7 @@ export const contract: Address = { ...@@ -124,7 +124,7 @@ export const contract: Address = {
has_validated_blocks: false, has_validated_blocks: false,
hash: hash, hash: hash,
implementations: [ implementations: [
{ address: '0x2F4F4A52295940C576417d29F22EEb92B440eC89', name: 'HomeBridge' }, { address_hash: '0x2F4F4A52295940C576417d29F22EEb92B440eC89', name: 'HomeBridge' },
], ],
is_contract: true, is_contract: true,
is_verified: true, is_verified: true,
......
export const multiple = [ export const multiple = [
{ address: '0xA84d24bD8ACE4d349C5f8c5DeeDd8bc071Ce5e2b', name: null }, { address_hash: '0xA84d24bD8ACE4d349C5f8c5DeeDd8bc071Ce5e2b', name: null },
{ address: '0xc9e91eDeA9DC16604022e4E5b437Df9c64EdB05A', name: 'Diamond' }, { address_hash: '0xc9e91eDeA9DC16604022e4E5b437Df9c64EdB05A', name: 'Diamond' },
{ address: '0x2041832c62C0F89426b48B5868146C0b1fcd23E7', name: null }, { address_hash: '0x2041832c62C0F89426b48B5868146C0b1fcd23E7', name: null },
{ address: '0x5f7DC6ECcF05594429671F83cc0e42EE18bC0974', name: 'VariablePriceFacet' }, { address_hash: '0x5f7DC6ECcF05594429671F83cc0e42EE18bC0974', name: 'VariablePriceFacet' },
{ address: '0x7abC92E242e88e4B0d6c5Beb4Df80e94D2c8A78c', name: null }, { address_hash: '0x7abC92E242e88e4B0d6c5Beb4Df80e94D2c8A78c', name: null },
{ address: '0x84178a0c58A860eCCFB7E3aeA64a09543062A356', name: 'MultiSaleFacet' }, { address_hash: '0x84178a0c58A860eCCFB7E3aeA64a09543062A356', name: 'MultiSaleFacet' },
{ address: '0x33aD95537e63e9f09d96dE201e10715Ed40D9400', name: 'SVGTemplatesFacet' }, { address_hash: '0x33aD95537e63e9f09d96dE201e10715Ed40D9400', name: 'SVGTemplatesFacet' },
{ address: '0xfd86Aa7f902185a8Df9859c25E4BF52D3DaDd9FA', name: 'ERC721AReceiverFacet' }, { address_hash: '0xfd86Aa7f902185a8Df9859c25E4BF52D3DaDd9FA', name: 'ERC721AReceiverFacet' },
{ address: '0x6945a35df18e59Ce09fec4B6cD3C4F9cFE6369de', name: null }, { address_hash: '0x6945a35df18e59Ce09fec4B6cD3C4F9cFE6369de', name: null },
]; ];
...@@ -26,7 +26,7 @@ export const baseResponse: AdvancedFilterResponse = { ...@@ -26,7 +26,7 @@ export const baseResponse: AdvancedFilterResponse = {
hash: '0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6', hash: '0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6',
implementations: [ implementations: [
{ {
address: '0x31DA64D19Cd31A19CD09F4070366Fe2144792cf7', address_hash: '0x31DA64D19Cd31A19CD09F4070366Fe2144792cf7',
name: 'SequencerInbox', name: 'SequencerInbox',
}, },
], ],
......
...@@ -5,7 +5,7 @@ export const baseResponse: ArbitrumL2MessagesResponse = { ...@@ -5,7 +5,7 @@ export const baseResponse: ArbitrumL2MessagesResponse = {
{ {
completion_transaction_hash: '0x0b7d58c0a6b4695ba28d99df928591fb931c812c0aab6d0093ff5040d2f9bc5e', completion_transaction_hash: '0x0b7d58c0a6b4695ba28d99df928591fb931c812c0aab6d0093ff5040d2f9bc5e',
id: 181920, id: 181920,
origination_address: '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a', origination_address_hash: '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a',
origination_transaction_block_number: 123456, origination_transaction_block_number: 123456,
origination_transaction_hash: '0x210d9f70f411de1079e32a98473b04345a5ea6ff2340a8511ebc2df641274436', origination_transaction_hash: '0x210d9f70f411de1079e32a98473b04345a5ea6ff2340a8511ebc2df641274436',
origination_timestamp: '2023-06-01T14:46:48.000000Z', origination_timestamp: '2023-06-01T14:46:48.000000Z',
...@@ -14,7 +14,7 @@ export const baseResponse: ArbitrumL2MessagesResponse = { ...@@ -14,7 +14,7 @@ export const baseResponse: ArbitrumL2MessagesResponse = {
{ {
completion_transaction_hash: '0x0b7d58c0a6b4695ba28d99df928591fb931c812c0aab6d0093ff5040d2f9bc5e', completion_transaction_hash: '0x0b7d58c0a6b4695ba28d99df928591fb931c812c0aab6d0093ff5040d2f9bc5e',
id: 181921, id: 181921,
origination_address: '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a', origination_address_hash: '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a',
origination_transaction_block_number: 123400, origination_transaction_block_number: 123400,
origination_transaction_hash: '0x210d9f70f411de1079e32a98473b04345a5ea6ff2340a8511ebc2df641274436', origination_transaction_hash: '0x210d9f70f411de1079e32a98473b04345a5ea6ff2340a8511ebc2df641274436',
origination_timestamp: '2023-06-01T14:46:48.000000Z', origination_timestamp: '2023-06-01T14:46:48.000000Z',
......
...@@ -5,10 +5,10 @@ import { finalized } from './txnBatches'; ...@@ -5,10 +5,10 @@ import { finalized } from './txnBatches';
export const batchData: ArbitrumL2TxnBatch = { export const batchData: ArbitrumL2TxnBatch = {
...finalized, ...finalized,
after_acc: '0xcd064f3409015e8e6407e492e5275a185e492c6b43ccf127f22092d8057a9ffb', after_acc_hash: '0xcd064f3409015e8e6407e492e5275a185e492c6b43ccf127f22092d8057a9ffb',
before_acc: '0x2ed7c4985eb778d76ec400a43805e7feecc8c2afcdb492dbe5caf227de6d37bc', before_acc_hash: '0x2ed7c4985eb778d76ec400a43805e7feecc8c2afcdb492dbe5caf227de6d37bc',
start_block: 1245209, start_block_number: 1245209,
end_block: 1245490, end_block_number: 1245490,
data_availability: { data_availability: {
batch_data_container: 'in_blob4844', batch_data_container: 'in_blob4844',
}, },
...@@ -16,10 +16,10 @@ export const batchData: ArbitrumL2TxnBatch = { ...@@ -16,10 +16,10 @@ export const batchData: ArbitrumL2TxnBatch = {
export const batchDataAnytrust: ArbitrumL2TxnBatch = { export const batchDataAnytrust: ArbitrumL2TxnBatch = {
...finalized, ...finalized,
after_acc: '0xcd064f3409015e8e6407e492e5275a185e492c6b43ccf127f22092d8057a9ffb', after_acc_hash: '0xcd064f3409015e8e6407e492e5275a185e492c6b43ccf127f22092d8057a9ffb',
before_acc: '0x2ed7c4985eb778d76ec400a43805e7feecc8c2afcdb492dbe5caf227de6d37bc', before_acc_hash: '0x2ed7c4985eb778d76ec400a43805e7feecc8c2afcdb492dbe5caf227de6d37bc',
start_block: 1245209, start_block_number: 1245209,
end_block: 1245490, end_block_number: 1245490,
data_availability: { data_availability: {
batch_data_container: 'in_anytrust', batch_data_container: 'in_anytrust',
bls_signature: '0x142577943e30b1ad1b4e40a1c08e00c24a68d6c366f953e361048b7127e327b5bdb8f168ba986beae40cfaf79ea2788004d750555684751e361d6f6445e5c521b45ac93a76da24add241a4a5410ca3a09fa82cf0aafd78801cbd0ad99d5be6b3', bls_signature: '0x142577943e30b1ad1b4e40a1c08e00c24a68d6c366f953e361048b7127e327b5bdb8f168ba986beae40cfaf79ea2788004d750555684751e361d6f6445e5c521b45ac93a76da24add241a4a5410ca3a09fa82cf0aafd78801cbd0ad99d5be6b3',
...@@ -41,10 +41,10 @@ export const batchDataAnytrust: ArbitrumL2TxnBatch = { ...@@ -41,10 +41,10 @@ export const batchDataAnytrust: ArbitrumL2TxnBatch = {
export const batchDataCelestia: ArbitrumL2TxnBatch = { export const batchDataCelestia: ArbitrumL2TxnBatch = {
...finalized, ...finalized,
after_acc: '0xcd064f3409015e8e6407e492e5275a185e492c6b43ccf127f22092d8057a9ffb', after_acc_hash: '0xcd064f3409015e8e6407e492e5275a185e492c6b43ccf127f22092d8057a9ffb',
before_acc: '0x2ed7c4985eb778d76ec400a43805e7feecc8c2afcdb492dbe5caf227de6d37bc', before_acc_hash: '0x2ed7c4985eb778d76ec400a43805e7feecc8c2afcdb492dbe5caf227de6d37bc',
start_block: 1245209, start_block_number: 1245209,
end_block: 1245490, end_block_number: 1245490,
data_availability: { data_availability: {
batch_data_container: 'in_celestia', batch_data_container: 'in_celestia',
height: 4520041, height: 4520041,
......
...@@ -2,11 +2,11 @@ import type { ArbitrumL2TxnWithdrawalsItem } from 'types/api/arbitrumL2'; ...@@ -2,11 +2,11 @@ import type { ArbitrumL2TxnWithdrawalsItem } from 'types/api/arbitrumL2';
export const unclaimed: ArbitrumL2TxnWithdrawalsItem = { export const unclaimed: ArbitrumL2TxnWithdrawalsItem = {
arb_block_number: 115114348, arb_block_number: 115114348,
caller: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d', caller_address_hash: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d',
callvalue: '21000000000000000000', callvalue: '21000000000000000000',
completion_transaction_hash: null, completion_transaction_hash: null,
data: '0x', data: '0x',
destination: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d', destination_address_hash: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d',
eth_block_number: 7503173, eth_block_number: 7503173,
id: 59874, id: 59874,
l2_timestamp: 1737020350, l2_timestamp: 1737020350,
...@@ -16,21 +16,21 @@ export const unclaimed: ArbitrumL2TxnWithdrawalsItem = { ...@@ -16,21 +16,21 @@ export const unclaimed: ArbitrumL2TxnWithdrawalsItem = {
export const claimed: ArbitrumL2TxnWithdrawalsItem = { export const claimed: ArbitrumL2TxnWithdrawalsItem = {
arb_block_number: 115114348, arb_block_number: 115114348,
caller: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d', caller_address_hash: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d',
callvalue: '21000000000000000000', callvalue: '21000000000000000000',
completion_transaction_hash: '0x215382498438cb6532a5e5fb07d664bbf912187866591470d47c3cfbce2dc4a8', completion_transaction_hash: '0x215382498438cb6532a5e5fb07d664bbf912187866591470d47c3cfbce2dc4a8',
data: '0x', data: '0x',
destination: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d', destination_address_hash: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d',
eth_block_number: 7503173, eth_block_number: 7503173,
id: 59875, id: 59875,
l2_timestamp: 1737020350, l2_timestamp: 1737020350,
status: 'relayed', status: 'relayed',
token: { token: {
address: '0x0000000000000000000000000000000000000000', address_hash: '0x0000000000000000000000000000000000000000',
symbol: 'USDC', symbol: 'USDC',
name: 'USDC Token', name: 'USDC Token',
decimals: 6, decimals: 6,
amount: '10000000000', amount: '10000000000',
destination: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d', destination_address_hash: '0x07e1e36fe70cd58a05c00812d573dc39a127ee6d',
}, },
}; };
...@@ -5,7 +5,7 @@ export const baseResponse: ArbitrumL2MessagesResponse = { ...@@ -5,7 +5,7 @@ export const baseResponse: ArbitrumL2MessagesResponse = {
{ {
completion_transaction_hash: '0x0b7d58c0a6b4695ba28d99df928591fb931c812c0aab6d0093ff5040d2f9bc5e', completion_transaction_hash: '0x0b7d58c0a6b4695ba28d99df928591fb931c812c0aab6d0093ff5040d2f9bc5e',
id: 181920, id: 181920,
origination_address: '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a', origination_address_hash: '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a',
origination_transaction_block_number: 123456, origination_transaction_block_number: 123456,
origination_transaction_hash: '0x210d9f70f411de1079e32a98473b04345a5ea6ff2340a8511ebc2df641274436', origination_transaction_hash: '0x210d9f70f411de1079e32a98473b04345a5ea6ff2340a8511ebc2df641274436',
origination_timestamp: '2023-06-01T14:46:48.000000Z', origination_timestamp: '2023-06-01T14:46:48.000000Z',
...@@ -14,7 +14,7 @@ export const baseResponse: ArbitrumL2MessagesResponse = { ...@@ -14,7 +14,7 @@ export const baseResponse: ArbitrumL2MessagesResponse = {
{ {
completion_transaction_hash: '0x0b7d58c0a6b4695ba28d99df928591fb931c812c0aab6d0093ff5040d2f9bc5e', completion_transaction_hash: '0x0b7d58c0a6b4695ba28d99df928591fb931c812c0aab6d0093ff5040d2f9bc5e',
id: 181921, id: 181921,
origination_address: '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a', origination_address_hash: '0x2B51Ae4412F79c3c1cB12AA40Ea4ECEb4e80511a',
origination_transaction_block_number: 123400, origination_transaction_block_number: 123400,
origination_transaction_hash: '0x210d9f70f411de1079e32a98473b04345a5ea6ff2340a8511ebc2df641274436', origination_transaction_hash: '0x210d9f70f411de1079e32a98473b04345a5ea6ff2340a8511ebc2df641274436',
origination_timestamp: '2023-06-01T14:46:48.000000Z', origination_timestamp: '2023-06-01T14:46:48.000000Z',
......
...@@ -52,7 +52,7 @@ export const base: Block = { ...@@ -52,7 +52,7 @@ export const base: Block = {
state_root: 'TODO', state_root: 'TODO',
timestamp: '2022-11-11T11:59:35Z', timestamp: '2022-11-11T11:59:35Z',
total_difficulty: '10258276095980170141167591583995189665817672619', total_difficulty: '10258276095980170141167591583995189665817672619',
transaction_count: 5, transactions_count: 5,
transaction_fees: '26853607500000000', transaction_fees: '26853607500000000',
type: 'block', type: 'block',
uncles_hashes: [], uncles_hashes: [],
...@@ -89,7 +89,7 @@ export const genesis: Block = { ...@@ -89,7 +89,7 @@ export const genesis: Block = {
state_root: 'TODO', state_root: 'TODO',
timestamp: '2017-12-16T00:13:24.000000Z', timestamp: '2017-12-16T00:13:24.000000Z',
total_difficulty: '131072', total_difficulty: '131072',
transaction_count: 0, transactions_count: 0,
transaction_fees: '0', transaction_fees: '0',
type: 'block', type: 'block',
uncles_hashes: [], uncles_hashes: [],
...@@ -111,7 +111,7 @@ export const base2: Block = { ...@@ -111,7 +111,7 @@ export const base2: Block = {
ens_domain_name: null, ens_domain_name: null,
}, },
timestamp: '2022-11-11T11:46:05Z', timestamp: '2022-11-11T11:46:05Z',
transaction_count: 253, transactions_count: 253,
gas_target_percentage: 23.6433, gas_target_percentage: 23.6433,
gas_used: '6333342', gas_used: '6333342',
gas_used_percentage: 87.859504, gas_used_percentage: 87.859504,
......
...@@ -18,7 +18,7 @@ export const contract1: VerifiedContract = { ...@@ -18,7 +18,7 @@ export const contract1: VerifiedContract = {
language: 'solidity', language: 'solidity',
market_cap: null, market_cap: null,
optimization_enabled: false, optimization_enabled: false,
transaction_count: 7334224, transactions_count: 7334224,
verified_at: '2022-09-16T18:49:29.605179Z', verified_at: '2022-09-16T18:49:29.605179Z',
license_type: 'mit', license_type: 'mit',
}; };
...@@ -42,7 +42,7 @@ export const contract2: VerifiedContract = { ...@@ -42,7 +42,7 @@ export const contract2: VerifiedContract = {
language: 'vyper', language: 'vyper',
market_cap: null, market_cap: null,
optimization_enabled: true, optimization_enabled: true,
transaction_count: 440, transactions_count: 440,
verified_at: '2021-09-07T20:01:56.076979Z', verified_at: '2021-09-07T20:01:56.076979Z',
license_type: 'bsd_3_clause', license_type: 'bsd_3_clause',
}; };
...@@ -68,7 +68,7 @@ export const contract3: VerifiedContract = { ...@@ -68,7 +68,7 @@ export const contract3: VerifiedContract = {
license_type: 'none', license_type: 'none',
market_cap: null, market_cap: null,
optimization_enabled: false, optimization_enabled: false,
transaction_count: 0, transactions_count: 0,
verified_at: '2024-12-03T14:05:42.796224Z', verified_at: '2024-12-03T14:05:42.796224Z',
}; };
......
...@@ -7,17 +7,17 @@ export const mudWorlds: MudWorldsResponse = { ...@@ -7,17 +7,17 @@ export const mudWorlds: MudWorldsResponse = {
{ {
address: withName, address: withName,
coin_balance: '300000000000000000', coin_balance: '300000000000000000',
transaction_count: 3938, transactions_count: 3938,
}, },
{ {
address: withoutName, address: withoutName,
coin_balance: '0', coin_balance: '0',
transaction_count: 0, transactions_count: 0,
}, },
{ {
address: withoutName, address: withoutName,
coin_balance: '0', coin_balance: '0',
transaction_count: 0, transactions_count: 0,
}, },
], ],
next_page_params: { next_page_params: {
......
export const data = { export const data = {
items: [ items: [
{ {
contract_address: '0x5cbe1b88b6357e6a8f0821bea72cc0b88c231f1c', contract_address_hash: '0x5cbe1b88b6357e6a8f0821bea72cc0b88c231f1c',
created_at: '2022-05-27T01:13:48.000000Z', created_at: '2022-05-27T01:13:48.000000Z',
game_type: 0, game_type: 0,
index: 6662, index: 6662,
...@@ -10,7 +10,7 @@ export const data = { ...@@ -10,7 +10,7 @@ export const data = {
status: 'In progress', status: 'In progress',
}, },
{ {
contract_address: '0x5cbe1b88b6357e6a8f0821bea72cc0b88c231f1c', contract_address_hash: '0x5cbe1b88b6357e6a8f0821bea72cc0b88c231f1c',
created_at: '2022-05-27T01:13:48.000000Z', created_at: '2022-05-27T01:13:48.000000Z',
game_type: 0, game_type: 0,
index: 6662, index: 6662,
......
...@@ -9,35 +9,35 @@ export const txnBatchesData: OptimisticL2TxnBatchesResponse = { ...@@ -9,35 +9,35 @@ export const txnBatchesData: OptimisticL2TxnBatchesResponse = {
items: [ items: [
{ {
batch_data_container: 'in_blob4844', batch_data_container: 'in_blob4844',
internal_id: 260998, number: 260998,
l1_timestamp: '2022-11-10T11:29:11.000000Z', l1_timestamp: '2022-11-10T11:29:11.000000Z',
l1_transaction_hashes: [ l1_transaction_hashes: [
'0x9553351f6bd1577f4e782738c087be08697fb11f3b91745138d71ba166d62c3b', '0x9553351f6bd1577f4e782738c087be08697fb11f3b91745138d71ba166d62c3b',
], ],
l2_block_end: 124882074, l2_end_block_number: 124882074,
l2_block_start: 124881833, l2_start_block_number: 124881833,
transaction_count: 4011, transactions_count: 4011,
}, },
{ {
batch_data_container: 'in_calldata', batch_data_container: 'in_calldata',
internal_id: 260997, number: 260997,
l1_timestamp: '2022-11-03T11:20:59.000000Z', l1_timestamp: '2022-11-03T11:20:59.000000Z',
l1_transaction_hashes: [ l1_transaction_hashes: [
'0x80f5fba70d5685bc2b70df836942e892b24afa7bba289a2fac0ca8f4d554cc72', '0x80f5fba70d5685bc2b70df836942e892b24afa7bba289a2fac0ca8f4d554cc72',
], ],
l2_block_end: 124881832, l2_end_block_number: 124881832,
l2_block_start: 124881613, l2_start_block_number: 124881613,
transaction_count: 4206, transactions_count: 4206,
}, },
{ {
internal_id: 260996, number: 260996,
l1_timestamp: '2024-09-03T11:14:23.000000Z', l1_timestamp: '2024-09-03T11:14:23.000000Z',
l1_transaction_hashes: [ l1_transaction_hashes: [
'0x39f4c46cae57bae936acb9159e367794f41f021ed3788adb80ad93830edb5f22', '0x39f4c46cae57bae936acb9159e367794f41f021ed3788adb80ad93830edb5f22',
], ],
l2_block_end: 124881612, l2_end_block_number: 124881612,
l2_block_start: 124881380, l2_start_block_number: 124881380,
transaction_count: 4490, transactions_count: 4490,
}, },
], ],
next_page_params: { next_page_params: {
...@@ -48,14 +48,14 @@ export const txnBatchesData: OptimisticL2TxnBatchesResponse = { ...@@ -48,14 +48,14 @@ export const txnBatchesData: OptimisticL2TxnBatchesResponse = {
export const txnBatchTypeCallData: OptimismL2TxnBatchTypeCallData = { export const txnBatchTypeCallData: OptimismL2TxnBatchTypeCallData = {
batch_data_container: 'in_calldata', batch_data_container: 'in_calldata',
internal_id: 309123, number: 309123,
l1_timestamp: '2022-08-10T10:30:24.000000Z', l1_timestamp: '2022-08-10T10:30:24.000000Z',
l1_transaction_hashes: [ l1_transaction_hashes: [
'0x478c45f182631ae6f7249d40f31fdac36f41d88caa2e373fba35340a7345ca67', '0x478c45f182631ae6f7249d40f31fdac36f41d88caa2e373fba35340a7345ca67',
], ],
l2_block_end: 10146784, l2_end_block_number: 10146784,
l2_block_start: 10145379, l2_start_block_number: 10145379,
transaction_count: 1608, transactions_count: 1608,
}; };
export const txnBatchTypeCelestia: OptimismL2TxnBatchTypeCelestia = { export const txnBatchTypeCelestia: OptimismL2TxnBatchTypeCelestia = {
...@@ -69,14 +69,14 @@ export const txnBatchTypeCelestia: OptimismL2TxnBatchTypeCelestia = { ...@@ -69,14 +69,14 @@ export const txnBatchTypeCelestia: OptimismL2TxnBatchTypeCelestia = {
namespace: '0x00000000000000000000000000000000000000000008e5f679bf7116cb', namespace: '0x00000000000000000000000000000000000000000008e5f679bf7116cb',
}, },
], ],
internal_id: 309667, number: 309667,
l1_timestamp: '2022-08-28T16:51:12.000000Z', l1_timestamp: '2022-08-28T16:51:12.000000Z',
l1_transaction_hashes: [ l1_transaction_hashes: [
'0x2bb0b96a8ba0f063a243ac3dee0b2f2d87edb2ba9ef44bfcbc8ed191af1c4c24', '0x2bb0b96a8ba0f063a243ac3dee0b2f2d87edb2ba9ef44bfcbc8ed191af1c4c24',
], ],
l2_block_end: 10935879, l2_end_block_number: 10935879,
l2_block_start: 10934514, l2_start_block_number: 10934514,
transaction_count: 1574, transactions_count: 1574,
}; };
export const txnBatchTypeEip4844: OptimismL2TxnBatchTypeEip4844 = { export const txnBatchTypeEip4844: OptimismL2TxnBatchTypeEip4844 = {
...@@ -93,12 +93,12 @@ export const txnBatchTypeEip4844: OptimismL2TxnBatchTypeEip4844 = { ...@@ -93,12 +93,12 @@ export const txnBatchTypeEip4844: OptimismL2TxnBatchTypeEip4844 = {
l1_transaction_hash: '0x3870f136497e5501dc20d0974daf379c8636c958794d59a9c90d4f8a9f0ed20a', l1_transaction_hash: '0x3870f136497e5501dc20d0974daf379c8636c958794d59a9c90d4f8a9f0ed20a',
}, },
], ],
internal_id: 2538459, number: 2538459,
l1_timestamp: '2022-08-23T03:59:12.000000Z', l1_timestamp: '2022-08-23T03:59:12.000000Z',
l1_transaction_hashes: [ l1_transaction_hashes: [
'0x3870f136497e5501dc20d0974daf379c8636c958794d59a9c90d4f8a9f0ed20a', '0x3870f136497e5501dc20d0974daf379c8636c958794d59a9c90d4f8a9f0ed20a',
], ],
l2_block_end: 16291502, l2_end_block_number: 16291502,
l2_block_start: 16291373, l2_start_block_number: 16291373,
transaction_count: 704, transactions_count: 704,
}; };
...@@ -15,9 +15,9 @@ export const batchData = { ...@@ -15,9 +15,9 @@ export const batchData = {
data_availability: { data_availability: {
batch_data_container: 'in_blob4844' as const, batch_data_container: 'in_blob4844' as const,
}, },
start_block: 456000, start_block_number: 456000,
end_block: 789000, end_block_number: 789000,
transaction_count: 654, transactions_count: 654,
}; };
export const baseResponse: ScrollL2BatchesResponse = { export const baseResponse: ScrollL2BatchesResponse = {
...@@ -38,9 +38,9 @@ export const baseResponse: ScrollL2BatchesResponse = { ...@@ -38,9 +38,9 @@ export const baseResponse: ScrollL2BatchesResponse = {
data_availability: { data_availability: {
batch_data_container: 'in_calldata', batch_data_container: 'in_calldata',
}, },
start_block: 456000, start_block_number: 456000,
end_block: 789000, end_block_number: 789000,
transaction_count: 962, transactions_count: 962,
}, },
], ],
next_page_params: { next_page_params: {
......
...@@ -12,7 +12,7 @@ import type { ...@@ -12,7 +12,7 @@ import type {
} from 'types/api/search'; } from 'types/api/search';
export const token1: SearchResultToken = { export const token1: SearchResultToken = {
address: '0x377c5F2B300B25a534d4639177873b7fEAA56d4B', address_hash: '0x377c5F2B300B25a534d4639177873b7fEAA56d4B',
address_url: '/address/0x377c5F2B300B25a534d4639177873b7fEAA56d4B', address_url: '/address/0x377c5F2B300B25a534d4639177873b7fEAA56d4B',
name: 'Toms NFT', name: 'Toms NFT',
symbol: 'TNT', symbol: 'TNT',
...@@ -27,7 +27,7 @@ export const token1: SearchResultToken = { ...@@ -27,7 +27,7 @@ export const token1: SearchResultToken = {
}; };
export const token2: SearchResultToken = { export const token2: SearchResultToken = {
address: '0xC35Cc7223B0175245E9964f2E3119c261E8e21F9', address_hash: '0xC35Cc7223B0175245E9964f2E3119c261E8e21F9',
address_url: '/address/0xC35Cc7223B0175245E9964f2E3119c261E8e21F9', address_url: '/address/0xC35Cc7223B0175245E9964f2E3119c261E8e21F9',
name: 'TomToken', name: 'TomToken',
symbol: 'pdE1B', symbol: 'pdE1B',
...@@ -68,7 +68,7 @@ export const block3: SearchResultBlock = { ...@@ -68,7 +68,7 @@ export const block3: SearchResultBlock = {
}; };
export const address1: SearchResultAddressOrContract = { export const address1: SearchResultAddressOrContract = {
address: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131a', address_hash: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131a',
name: null, name: null,
type: 'address' as const, type: 'address' as const,
is_smart_contract_verified: false, is_smart_contract_verified: false,
...@@ -76,7 +76,7 @@ export const address1: SearchResultAddressOrContract = { ...@@ -76,7 +76,7 @@ export const address1: SearchResultAddressOrContract = {
}; };
export const address2: SearchResultAddressOrContract = { export const address2: SearchResultAddressOrContract = {
address: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131b', address_hash: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131b',
name: null, name: null,
type: 'address' as const, type: 'address' as const,
is_smart_contract_verified: false, is_smart_contract_verified: false,
...@@ -90,7 +90,7 @@ export const address2: SearchResultAddressOrContract = { ...@@ -90,7 +90,7 @@ export const address2: SearchResultAddressOrContract = {
}; };
export const contract1: SearchResultAddressOrContract = { export const contract1: SearchResultAddressOrContract = {
address: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131a', address_hash: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131a',
name: 'Unknown contract in this network', name: 'Unknown contract in this network',
type: 'contract' as const, type: 'contract' as const,
is_smart_contract_verified: true, is_smart_contract_verified: true,
...@@ -98,7 +98,7 @@ export const contract1: SearchResultAddressOrContract = { ...@@ -98,7 +98,7 @@ export const contract1: SearchResultAddressOrContract = {
}; };
export const contract2: SearchResultAddressOrContract = { export const contract2: SearchResultAddressOrContract = {
address: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131a', address_hash: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131a',
name: 'Super utko', name: 'Super utko',
type: 'contract' as const, type: 'contract' as const,
is_smart_contract_verified: true, is_smart_contract_verified: true,
...@@ -107,7 +107,7 @@ export const contract2: SearchResultAddressOrContract = { ...@@ -107,7 +107,7 @@ export const contract2: SearchResultAddressOrContract = {
}; };
export const label1: SearchResultLabel = { export const label1: SearchResultLabel = {
address: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131a', address_hash: '0xb64a30399f7F6b0C154c2E7Af0a3ec7B0A5b131a',
name: 'utko', name: 'utko',
type: 'label' as const, type: 'label' as const,
is_smart_contract_verified: true, is_smart_contract_verified: true,
...@@ -135,7 +135,7 @@ export const blob1: SearchResultBlob = { ...@@ -135,7 +135,7 @@ export const blob1: SearchResultBlob = {
}; };
export const domain1: SearchResultDomain = { export const domain1: SearchResultDomain = {
address: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', address_hash: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
ens_info: { ens_info: {
address_hash: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045', address_hash: '0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045',
expiry_date: '2039-09-01T07:36:18.000Z', expiry_date: '2039-09-01T07:36:18.000Z',
......
...@@ -2,148 +2,148 @@ export const base = { ...@@ -2,148 +2,148 @@ export const base = {
chart_data: [ chart_data: [
{ {
date: '2022-11-28', date: '2022-11-28',
transaction_count: 26815, transactions_count: 26815,
}, },
{ {
date: '2022-11-27', date: '2022-11-27',
transaction_count: 34784, transactions_count: 34784,
}, },
{ {
date: '2022-11-26', date: '2022-11-26',
transaction_count: 77527, transactions_count: 77527,
}, },
{ {
date: '2022-11-25', date: '2022-11-25',
transaction_count: 39687, transactions_count: 39687,
}, },
{ {
date: '2022-11-24', date: '2022-11-24',
transaction_count: 40752, transactions_count: 40752,
}, },
{ {
date: '2022-11-23', date: '2022-11-23',
transaction_count: 32569, transactions_count: 32569,
}, },
{ {
date: '2022-11-22', date: '2022-11-22',
transaction_count: 34449, transactions_count: 34449,
}, },
{ {
date: '2022-11-21', date: '2022-11-21',
transaction_count: 106047, transactions_count: 106047,
}, },
{ {
date: '2022-11-20', date: '2022-11-20',
transaction_count: 107713, transactions_count: 107713,
}, },
{ {
date: '2022-11-19', date: '2022-11-19',
transaction_count: 96311, transactions_count: 96311,
}, },
{ {
date: '2022-11-18', date: '2022-11-18',
transaction_count: 30828, transactions_count: 30828,
}, },
{ {
date: '2022-11-17', date: '2022-11-17',
transaction_count: 27422, transactions_count: 27422,
}, },
{ {
date: '2022-11-16', date: '2022-11-16',
transaction_count: 75898, transactions_count: 75898,
}, },
{ {
date: '2022-11-15', date: '2022-11-15',
transaction_count: 84084, transactions_count: 84084,
}, },
{ {
date: '2022-11-14', date: '2022-11-14',
transaction_count: 62266, transactions_count: 62266,
}, },
{ {
date: '2022-11-13', date: '2022-11-13',
transaction_count: 22338, transactions_count: 22338,
}, },
{ {
date: '2022-11-12', date: '2022-11-12',
transaction_count: 86764, transactions_count: 86764,
}, },
{ {
date: '2022-11-11', date: '2022-11-11',
transaction_count: 79493, transactions_count: 79493,
}, },
{ {
date: '2022-11-10', date: '2022-11-10',
transaction_count: 92887, transactions_count: 92887,
}, },
{ {
date: '2022-11-09', date: '2022-11-09',
transaction_count: 43691, transactions_count: 43691,
}, },
{ {
date: '2022-11-08', date: '2022-11-08',
transaction_count: 74197, transactions_count: 74197,
}, },
{ {
date: '2022-11-07', date: '2022-11-07',
transaction_count: 58131, transactions_count: 58131,
}, },
{ {
date: '2022-11-06', date: '2022-11-06',
transaction_count: 62477, transactions_count: 62477,
}, },
{ {
date: '2022-11-05', date: '2022-11-05',
transaction_count: 82897, transactions_count: 82897,
}, },
{ {
date: '2022-11-04', date: '2022-11-04',
transaction_count: 91725, transactions_count: 91725,
}, },
{ {
date: '2022-11-03', date: '2022-11-03',
transaction_count: 83667, transactions_count: 83667,
}, },
{ {
date: '2022-11-02', date: '2022-11-02',
transaction_count: 63743, transactions_count: 63743,
}, },
{ {
date: '2022-11-01', date: '2022-11-01',
transaction_count: 152059, transactions_count: 152059,
}, },
{ {
date: '2022-10-31', date: '2022-10-31',
transaction_count: 62519, transactions_count: 62519,
}, },
{ {
date: '2022-10-30', date: '2022-10-30',
transaction_count: 48569, transactions_count: 48569,
}, },
{ {
date: '2022-10-29', date: '2022-10-29',
transaction_count: 36789, transactions_count: 36789,
}, },
], ],
}; };
export const partialData = { export const partialData = {
chart_data: [ chart_data: [
{ date: '2022-11-28', transaction_count: 26815 }, { date: '2022-11-28', transactions_count: 26815 },
{ date: '2022-11-27', transaction_count: 34784 }, { date: '2022-11-27', transactions_count: 34784 },
{ date: '2022-11-26', transaction_count: 77527 }, { date: '2022-11-26', transactions_count: 77527 },
{ date: '2022-11-25', transaction_count: null }, { date: '2022-11-25', transactions_count: null },
{ date: '2022-11-24', transaction_count: null }, { date: '2022-11-24', transactions_count: null },
{ date: '2022-11-23', transaction_count: null }, { date: '2022-11-23', transactions_count: null },
{ date: '2022-11-22', transaction_count: 63433 }, { date: '2022-11-22', transactions_count: 63433 },
{ date: '2022-11-21', transaction_count: null }, { date: '2022-11-21', transactions_count: null },
], ],
}; };
export const noData = { export const noData = {
chart_data: [ chart_data: [
{ date: '2022-11-25', transaction_count: null }, { date: '2022-11-25', transactions_count: null },
{ date: '2022-11-24', transaction_count: null }, { date: '2022-11-24', transactions_count: null },
{ date: '2022-11-23', transaction_count: null }, { date: '2022-11-23', transactions_count: null },
], ],
}; };
import type { TokenCounters, TokenInfo } from 'types/api/token'; import type { TokenCounters, TokenInfo } from 'types/api/token';
export const tokenInfo: TokenInfo = { export const tokenInfo: TokenInfo = {
address: '0x55d536e4d6c1993d8ef2e2a4ef77f02088419420', address_hash: '0x55d536e4d6c1993d8ef2e2a4ef77f02088419420',
circulating_market_cap: '117629601.61913824', circulating_market_cap: '117629601.61913824',
decimals: '18', decimals: '18',
exchange_rate: '2.0101', exchange_rate: '2.0101',
holders: '46554', holders_count: '46554',
name: 'ARIANEE', name: 'ARIANEE',
symbol: 'ARIA', symbol: 'ARIA',
type: 'ERC-20' as const, type: 'ERC-20' as const,
...@@ -19,11 +19,11 @@ export const tokenCounters: TokenCounters = { ...@@ -19,11 +19,11 @@ export const tokenCounters: TokenCounters = {
}; };
export const tokenInfoERC20a: TokenInfo<'ERC-20'> = { export const tokenInfoERC20a: TokenInfo<'ERC-20'> = {
address: '0xb2a90505dc6680a7a695f7975d0d32EeF610f456', address_hash: '0xb2a90505dc6680a7a695f7975d0d32EeF610f456',
circulating_market_cap: '117268489.23970924', circulating_market_cap: '117268489.23970924',
decimals: '18', decimals: '18',
exchange_rate: null, exchange_rate: null,
holders: '23', holders_count: '23',
name: 'hyfi.token', name: 'hyfi.token',
symbol: 'HyFi', symbol: 'HyFi',
total_supply: '369000000000000000000000000', total_supply: '369000000000000000000000000',
...@@ -32,11 +32,11 @@ export const tokenInfoERC20a: TokenInfo<'ERC-20'> = { ...@@ -32,11 +32,11 @@ export const tokenInfoERC20a: TokenInfo<'ERC-20'> = {
}; };
export const tokenInfoERC20b: TokenInfo<'ERC-20'> = { export const tokenInfoERC20b: TokenInfo<'ERC-20'> = {
address: '0xc1116c98ba622a6218433fF90a2E40DEa482d7A7', address_hash: '0xc1116c98ba622a6218433fF90a2E40DEa482d7A7',
circulating_market_cap: '115060192.36105014', circulating_market_cap: '115060192.36105014',
decimals: '6', decimals: '6',
exchange_rate: '0.982', exchange_rate: '0.982',
holders: '17', holders_count: '17',
name: 'USD Coin', name: 'USD Coin',
symbol: 'USDC', symbol: 'USDC',
total_supply: '900000000000000000000000000', total_supply: '900000000000000000000000000',
...@@ -45,11 +45,11 @@ export const tokenInfoERC20b: TokenInfo<'ERC-20'> = { ...@@ -45,11 +45,11 @@ export const tokenInfoERC20b: TokenInfo<'ERC-20'> = {
}; };
export const tokenInfoERC20c: TokenInfo<'ERC-20'> = { export const tokenInfoERC20c: TokenInfo<'ERC-20'> = {
address: '0xc1116c98ba622a6218433fF90a2E40DEa482d7A8', address_hash: '0xc1116c98ba622a6218433fF90a2E40DEa482d7A8',
circulating_market_cap: null, circulating_market_cap: null,
decimals: '18', decimals: '18',
exchange_rate: '1328.89', exchange_rate: '1328.89',
holders: '17', holders_count: '17',
name: 'Ethereum', name: 'Ethereum',
symbol: 'ETH', symbol: 'ETH',
total_supply: '1000000000000000000000000', total_supply: '1000000000000000000000000',
...@@ -58,11 +58,11 @@ export const tokenInfoERC20c: TokenInfo<'ERC-20'> = { ...@@ -58,11 +58,11 @@ export const tokenInfoERC20c: TokenInfo<'ERC-20'> = {
}; };
export const tokenInfoERC20d: TokenInfo<'ERC-20'> = { export const tokenInfoERC20d: TokenInfo<'ERC-20'> = {
address: '0xCc7bb2D219A0FC08033E130629C2B854b7bA9196', address_hash: '0xCc7bb2D219A0FC08033E130629C2B854b7bA9196',
circulating_market_cap: null, circulating_market_cap: null,
decimals: '18', decimals: '18',
exchange_rate: null, exchange_rate: null,
holders: '102625', holders_count: '102625',
name: 'Zeta', name: 'Zeta',
symbol: 'ZETA', symbol: 'ZETA',
total_supply: '2100000000000000000000000000', total_supply: '2100000000000000000000000000',
...@@ -71,11 +71,11 @@ export const tokenInfoERC20d: TokenInfo<'ERC-20'> = { ...@@ -71,11 +71,11 @@ export const tokenInfoERC20d: TokenInfo<'ERC-20'> = {
}; };
export const tokenInfoERC20LongSymbol: TokenInfo<'ERC-20'> = { export const tokenInfoERC20LongSymbol: TokenInfo<'ERC-20'> = {
address: '0xCc7bb2D219A0FC08033E130629C2B854b7bA9197', address_hash: '0xCc7bb2D219A0FC08033E130629C2B854b7bA9197',
circulating_market_cap: '112855875.75888918', circulating_market_cap: '112855875.75888918',
decimals: '18', decimals: '18',
exchange_rate: '1328.89', exchange_rate: '1328.89',
holders: '102625', holders_count: '102625',
name: 'Zeta', name: 'Zeta',
symbol: 'ipfs://QmUpFUfVKDCWeZQk5pvDFUxnpQP9N6eLSHhNUy49T1JVtY', symbol: 'ipfs://QmUpFUfVKDCWeZQk5pvDFUxnpQP9N6eLSHhNUy49T1JVtY',
total_supply: '2100000000000000000000000000', total_supply: '2100000000000000000000000000',
...@@ -84,11 +84,11 @@ export const tokenInfoERC20LongSymbol: TokenInfo<'ERC-20'> = { ...@@ -84,11 +84,11 @@ export const tokenInfoERC20LongSymbol: TokenInfo<'ERC-20'> = {
}; };
export const tokenInfoERC721a: TokenInfo<'ERC-721'> = { export const tokenInfoERC721a: TokenInfo<'ERC-721'> = {
address: '0xDe7cAc71E072FCBd4453E5FB3558C2684d1F88A0', address_hash: '0xDe7cAc71E072FCBd4453E5FB3558C2684d1F88A0',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '7', holders_count: '7',
name: 'HyFi Athena', name: 'HyFi Athena',
symbol: 'HYFI_ATHENA', symbol: 'HYFI_ATHENA',
total_supply: '105', total_supply: '105',
...@@ -97,11 +97,11 @@ export const tokenInfoERC721a: TokenInfo<'ERC-721'> = { ...@@ -97,11 +97,11 @@ export const tokenInfoERC721a: TokenInfo<'ERC-721'> = {
}; };
export const tokenInfoERC721b: TokenInfo<'ERC-721'> = { export const tokenInfoERC721b: TokenInfo<'ERC-721'> = {
address: '0xA8d5C7beEA8C9bB57f5fBa35fB638BF45550b11F', address_hash: '0xA8d5C7beEA8C9bB57f5fBa35fB638BF45550b11F',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '2', holders_count: '2',
name: 'World Of Women Galaxy', name: 'World Of Women Galaxy',
symbol: 'WOWG', symbol: 'WOWG',
total_supply: null, total_supply: null,
...@@ -110,11 +110,11 @@ export const tokenInfoERC721b: TokenInfo<'ERC-721'> = { ...@@ -110,11 +110,11 @@ export const tokenInfoERC721b: TokenInfo<'ERC-721'> = {
}; };
export const tokenInfoERC721c: TokenInfo<'ERC-721'> = { export const tokenInfoERC721c: TokenInfo<'ERC-721'> = {
address: '0x47646F1d7dc4Dd2Db5a41D092e2Cf966e27A4992', address_hash: '0x47646F1d7dc4Dd2Db5a41D092e2Cf966e27A4992',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '12', holders_count: '12',
name: 'Puma', name: 'Puma',
symbol: 'PUMA', symbol: 'PUMA',
total_supply: null, total_supply: null,
...@@ -123,11 +123,11 @@ export const tokenInfoERC721c: TokenInfo<'ERC-721'> = { ...@@ -123,11 +123,11 @@ export const tokenInfoERC721c: TokenInfo<'ERC-721'> = {
}; };
export const tokenInfoERC721LongSymbol: TokenInfo<'ERC-721'> = { export const tokenInfoERC721LongSymbol: TokenInfo<'ERC-721'> = {
address: '0x47646F1d7dc4Dd2Db5a41D092e2Cf966e27A4993', address_hash: '0x47646F1d7dc4Dd2Db5a41D092e2Cf966e27A4993',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '12', holders_count: '12',
name: 'Puma', name: 'Puma',
symbol: 'ipfs://QmUpFUfVKDCWeZQk5pvDFUxnpQP9N6eLSHhNUy49T1JVtY', symbol: 'ipfs://QmUpFUfVKDCWeZQk5pvDFUxnpQP9N6eLSHhNUy49T1JVtY',
total_supply: null, total_supply: null,
...@@ -136,11 +136,11 @@ export const tokenInfoERC721LongSymbol: TokenInfo<'ERC-721'> = { ...@@ -136,11 +136,11 @@ export const tokenInfoERC721LongSymbol: TokenInfo<'ERC-721'> = {
}; };
export const tokenInfoERC1155a: TokenInfo<'ERC-1155'> = { export const tokenInfoERC1155a: TokenInfo<'ERC-1155'> = {
address: '0x4b333DEd10c7ca855EA2C8D4D90A0a8b73788c8e', address_hash: '0x4b333DEd10c7ca855EA2C8D4D90A0a8b73788c8e',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '22', holders_count: '22',
name: 'HyFi Membership', name: 'HyFi Membership',
symbol: 'HYFI_MEMBERSHIP', symbol: 'HYFI_MEMBERSHIP',
total_supply: '482', total_supply: '482',
...@@ -149,11 +149,11 @@ export const tokenInfoERC1155a: TokenInfo<'ERC-1155'> = { ...@@ -149,11 +149,11 @@ export const tokenInfoERC1155a: TokenInfo<'ERC-1155'> = {
}; };
export const tokenInfoERC1155b: TokenInfo<'ERC-1155'> = { export const tokenInfoERC1155b: TokenInfo<'ERC-1155'> = {
address: '0xf4b71b179132ad457f6bcae2a55efa9e4b26eefc', address_hash: '0xf4b71b179132ad457f6bcae2a55efa9e4b26eefc',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '100', holders_count: '100',
name: 'WinkyVerse Collections', name: 'WinkyVerse Collections',
symbol: 'WVC', symbol: 'WVC',
total_supply: '4943', total_supply: '4943',
...@@ -162,11 +162,11 @@ export const tokenInfoERC1155b: TokenInfo<'ERC-1155'> = { ...@@ -162,11 +162,11 @@ export const tokenInfoERC1155b: TokenInfo<'ERC-1155'> = {
}; };
export const tokenInfoERC1155WithoutName: TokenInfo<'ERC-1155'> = { export const tokenInfoERC1155WithoutName: TokenInfo<'ERC-1155'> = {
address: '0x4b333DEd10c7ca855EA2C8D4D90A0a8b73788c8a', address_hash: '0x4b333DEd10c7ca855EA2C8D4D90A0a8b73788c8a',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '22', holders_count: '22',
name: null, name: null,
symbol: null, symbol: null,
total_supply: '482', total_supply: '482',
...@@ -175,11 +175,11 @@ export const tokenInfoERC1155WithoutName: TokenInfo<'ERC-1155'> = { ...@@ -175,11 +175,11 @@ export const tokenInfoERC1155WithoutName: TokenInfo<'ERC-1155'> = {
}; };
export const tokenInfoERC404: TokenInfo<'ERC-404'> = { export const tokenInfoERC404: TokenInfo<'ERC-404'> = {
address: '0xB5C457dDB4cE3312a6C5a2b056a1652bd542a208', address_hash: '0xB5C457dDB4cE3312a6C5a2b056a1652bd542a208',
circulating_market_cap: '0.0', circulating_market_cap: '0.0',
decimals: '18', decimals: '18',
exchange_rate: '1484.13', exchange_rate: '1484.13',
holders: '81', holders_count: '81',
icon_url: null, icon_url: null,
name: 'OMNI404', name: 'OMNI404',
symbol: 'O404', symbol: 'O404',
......
...@@ -27,11 +27,11 @@ export const erc20: TokenTransfer = { ...@@ -27,11 +27,11 @@ export const erc20: TokenTransfer = {
ens_domain_name: 'kitty.kitty.cat.eth', ens_domain_name: 'kitty.kitty.cat.eth',
}, },
token: { token: {
address: '0x55d536e4d6c1993d8ef2e2a4ef77f02088419420', address_hash: '0x55d536e4d6c1993d8ef2e2a4ef77f02088419420',
circulating_market_cap: '117629601.61913824', circulating_market_cap: '117629601.61913824',
decimals: '18', decimals: '18',
exchange_rate: '42', exchange_rate: '42',
holders: '46554', holders_count: '46554',
name: 'ARIANEE', name: 'ARIANEE',
symbol: 'ARIA', symbol: 'ARIA',
type: 'ERC-20', type: 'ERC-20',
...@@ -75,11 +75,11 @@ export const erc721: TokenTransfer = { ...@@ -75,11 +75,11 @@ export const erc721: TokenTransfer = {
ens_domain_name: null, ens_domain_name: null,
}, },
token: { token: {
address: '0x363574E6C5C71c343d7348093D84320c76d5Dd29', address_hash: '0x363574E6C5C71c343d7348093D84320c76d5Dd29',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '63090', holders_count: '63090',
name: 'Arianee Smart-Asset', name: 'Arianee Smart-Asset',
symbol: 'AriaSA', symbol: 'AriaSA',
type: 'ERC-721', type: 'ERC-721',
...@@ -123,11 +123,11 @@ export const erc1155A: TokenTransfer = { ...@@ -123,11 +123,11 @@ export const erc1155A: TokenTransfer = {
ens_domain_name: 'kitty.kitty.cat.eth', ens_domain_name: 'kitty.kitty.cat.eth',
}, },
token: { token: {
address: '0xF56b7693E4212C584de4a83117f805B8E89224CB', address_hash: '0xF56b7693E4212C584de4a83117f805B8E89224CB',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '1', holders_count: '1',
name: null, name: null,
symbol: 'MY_SYMBOL_IS_VERY_LONG', symbol: 'MY_SYMBOL_IS_VERY_LONG',
type: 'ERC-1155', type: 'ERC-1155',
...@@ -202,11 +202,11 @@ export const erc404A: TokenTransfer = { ...@@ -202,11 +202,11 @@ export const erc404A: TokenTransfer = {
ens_domain_name: 'kitty.kitty.cat.eth', ens_domain_name: 'kitty.kitty.cat.eth',
}, },
token: { token: {
address: '0xF56b7693E4212C584de4a83117f805B8E89224CB', address_hash: '0xF56b7693E4212C584de4a83117f805B8E89224CB',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '1', holders_count: '1',
name: null, name: null,
symbol: 'MY_SYMBOL_IS_VERY_LONG', symbol: 'MY_SYMBOL_IS_VERY_LONG',
type: 'ERC-404', type: 'ERC-404',
......
...@@ -25,11 +25,11 @@ export const mintToken: TxStateChange = { ...@@ -25,11 +25,11 @@ export const mintToken: TxStateChange = {
], ],
is_miner: false, is_miner: false,
token: { token: {
address: '0x8977EA6C55e878125d1bF3433EBf72138B7a4543', address_hash: '0x8977EA6C55e878125d1bF3433EBf72138B7a4543',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '9191', holders_count: '9191',
name: 'ParaSpace Derivative Token MOONBIRD', name: 'ParaSpace Derivative Token MOONBIRD',
symbol: 'nMOONBIRD', symbol: 'nMOONBIRD',
total_supply: '10645', total_supply: '10645',
...@@ -64,11 +64,11 @@ export const receiveMintedToken: TxStateChange = { ...@@ -64,11 +64,11 @@ export const receiveMintedToken: TxStateChange = {
], ],
is_miner: false, is_miner: false,
token: { token: {
address: '0x8977EA6C55e878125d1bF3433EBf72138B7a4543', address_hash: '0x8977EA6C55e878125d1bF3433EBf72138B7a4543',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '9191', holders_count: '9191',
name: 'ParaSpace Derivative Token MOONBIRD', name: 'ParaSpace Derivative Token MOONBIRD',
symbol: 'nMOONBIRD', symbol: 'nMOONBIRD',
total_supply: '10645', total_supply: '10645',
...@@ -95,11 +95,11 @@ export const transfer1155Token: TxStateChange = { ...@@ -95,11 +95,11 @@ export const transfer1155Token: TxStateChange = {
change: '1', change: '1',
is_miner: false, is_miner: false,
token: { token: {
address: '0x56Cc277717106E528A9FcC2CD342Ff98db758041', address_hash: '0x56Cc277717106E528A9FcC2CD342Ff98db758041',
circulating_market_cap: null, circulating_market_cap: null,
decimals: null, decimals: null,
exchange_rate: null, exchange_rate: null,
holders: '50413', holders_count: '50413',
icon_url: null, icon_url: null,
name: null, name: null,
symbol: null, symbol: null,
...@@ -167,11 +167,11 @@ export const sendERC20Token: TxStateChange = { ...@@ -167,11 +167,11 @@ export const sendERC20Token: TxStateChange = {
change: '-3000000000', change: '-3000000000',
is_miner: false, is_miner: false,
token: { token: {
address: '0xdAC17F958D2ee523a2206206994597C13D831ec7', address_hash: '0xdAC17F958D2ee523a2206206994597C13D831ec7',
circulating_market_cap: '82978861367.28714', circulating_market_cap: '82978861367.28714',
decimals: '6', decimals: '6',
exchange_rate: '0.992839', exchange_rate: '0.992839',
holders: null, holders_count: null,
icon_url: 'https://gateway.tkn.xyz/ipfs/bafybeihrrubjya5nnwgqdm6mfqisxfnv76tl3yd452lkmgomn5n64gzbxu/', icon_url: 'https://gateway.tkn.xyz/ipfs/bafybeihrrubjya5nnwgqdm6mfqisxfnv76tl3yd452lkmgomn5n64gzbxu/',
name: 'Tether USD', name: 'Tether USD',
symbol: 'USDT', symbol: 'USDT',
......
...@@ -296,11 +296,11 @@ export const stabilityTx: Transaction = { ...@@ -296,11 +296,11 @@ export const stabilityTx: Transaction = {
}, },
dapp_fee: '34381250000000', dapp_fee: '34381250000000',
token: { token: {
address: '0xDc2B93f3291030F3F7a6D9363ac37757f7AD5C43', address_hash: '0xDc2B93f3291030F3F7a6D9363ac37757f7AD5C43',
circulating_market_cap: null, circulating_market_cap: null,
decimals: '18', decimals: '18',
exchange_rate: '123.567', exchange_rate: '123.567',
holders: '92', holders_count: '92',
icon_url: 'https://example.com/icon.png', icon_url: 'https://example.com/icon.png',
name: 'Stability Gas', name: 'Stability Gas',
symbol: 'GAS', symbol: 'GAS',
...@@ -327,11 +327,11 @@ export const celoTxn: Transaction = { ...@@ -327,11 +327,11 @@ export const celoTxn: Transaction = {
...base, ...base,
celo: { celo: {
gas_token: { gas_token: {
address: '0x874069Fa1Eb16D44d622F2e0Ca25eeA172369bC1', address_hash: '0x874069Fa1Eb16D44d622F2e0Ca25eeA172369bC1',
circulating_market_cap: null, circulating_market_cap: null,
decimals: '18', decimals: '18',
exchange_rate: '0.42', exchange_rate: '0.42',
holders: '205738', holders_count: '205738',
icon_url: 'https://example.com/icon.png', icon_url: 'https://example.com/icon.png',
name: 'Celo Dollar', name: 'Celo Dollar',
symbol: 'cUSD', symbol: 'cUSD',
...@@ -359,7 +359,7 @@ export const arbitrumTxn: Transaction = { ...@@ -359,7 +359,7 @@ export const arbitrumTxn: Transaction = {
gas_used_for_l1: '129773', gas_used_for_l1: '129773',
gas_used_for_l2: '128313', gas_used_for_l2: '128313',
message_related_info: { message_related_info: {
associated_l1_transaction: null, associated_l1_transaction_hash: null,
message_status: 'Relayed', message_status: 'Relayed',
}, },
network_fee: '1283130000000', network_fee: '1283130000000',
......
...@@ -15,8 +15,8 @@ export const txInterpretation: TxInterpretationResponse = { ...@@ -15,8 +15,8 @@ export const txInterpretation: TxInterpretationResponse = {
name: 'Duck', name: 'Duck',
type: 'ERC-20', type: 'ERC-20',
symbol: 'DUCK', symbol: 'DUCK',
address: '0x486a3c5f34cDc4EF133f248f1C81168D78da52e8', address_hash: '0x486a3c5f34cDc4EF133f248f1C81168D78da52e8',
holders: '1152', holders_count: '1152',
decimals: '18', decimals: '18',
icon_url: null, icon_url: null,
total_supply: '210000000000000000000000000', total_supply: '210000000000000000000000000',
......
...@@ -36,6 +36,6 @@ export const validatorsResponse: ValidatorsBlackfortResponse = { ...@@ -36,6 +36,6 @@ export const validatorsResponse: ValidatorsBlackfortResponse = {
}; };
export const validatorsCountersResponse: ValidatorsBlackfortCountersResponse = { export const validatorsCountersResponse: ValidatorsBlackfortCountersResponse = {
new_validators_counter_24h: '11', new_validators_count_24h: '11',
validators_counter: '140', validators_count: '140',
}; };
...@@ -30,8 +30,8 @@ export const validatorsResponse: ValidatorsStabilityResponse = { ...@@ -30,8 +30,8 @@ export const validatorsResponse: ValidatorsStabilityResponse = {
}; };
export const validatorsCountersResponse: ValidatorsStabilityCountersResponse = { export const validatorsCountersResponse: ValidatorsStabilityCountersResponse = {
active_validators_counter: '42', active_validators_count: '42',
active_validators_percentage: 7.14, active_validators_percentage: 7.14,
new_validators_counter_24h: '11', new_validators_count_24h: '11',
validators_counter: '140', validators_count: '140',
}; };
...@@ -22,7 +22,7 @@ export const txnBatchesData: ZkEvmL2TxnBatchesResponse = { ...@@ -22,7 +22,7 @@ export const txnBatchesData: ZkEvmL2TxnBatchesResponse = {
verify_transaction_hash: '0x48139721f792d3a68c3781b4cf50e66e8fc7dbb38adff778e09066ea5be9adb8', verify_transaction_hash: '0x48139721f792d3a68c3781b4cf50e66e8fc7dbb38adff778e09066ea5be9adb8',
sequence_transaction_hash: '0x6aa081e8e33a085e4ec7124fcd8a5f7d36aac0828f176e80d4b70e313a11695b', sequence_transaction_hash: '0x6aa081e8e33a085e4ec7124fcd8a5f7d36aac0828f176e80d4b70e313a11695b',
number: 5218590, number: 5218590,
transaction_count: 9, transactions_count: 9,
}, },
{ {
timestamp: '2023-06-01T14:46:48.000000Z', timestamp: '2023-06-01T14:46:48.000000Z',
...@@ -30,7 +30,7 @@ export const txnBatchesData: ZkEvmL2TxnBatchesResponse = { ...@@ -30,7 +30,7 @@ export const txnBatchesData: ZkEvmL2TxnBatchesResponse = {
verify_transaction_hash: null, verify_transaction_hash: null,
sequence_transaction_hash: null, sequence_transaction_hash: null,
number: 5218591, number: 5218591,
transaction_count: 9, transactions_count: 9,
}, },
], ],
next_page_params: { next_page_params: {
......
...@@ -3,18 +3,18 @@ import type { ZkSyncBatch } from 'types/api/zkSyncL2'; ...@@ -3,18 +3,18 @@ import type { ZkSyncBatch } from 'types/api/zkSyncL2';
export const base: ZkSyncBatch = { export const base: ZkSyncBatch = {
commit_transaction_hash: '0x7cd80c88977c2b310f79196b0b2136da18012be015ce80d0d9e9fe6cfad52b16', commit_transaction_hash: '0x7cd80c88977c2b310f79196b0b2136da18012be015ce80d0d9e9fe6cfad52b16',
commit_transaction_timestamp: '2022-03-19T09:37:38.726996Z', commit_transaction_timestamp: '2022-03-19T09:37:38.726996Z',
end_block: 1245490, end_block_number: 1245490,
execute_transaction_hash: '0x110b9a19afbabd5818a996ab2b493a9b23c888d73d95f1ab5272dbae503e103a', execute_transaction_hash: '0x110b9a19afbabd5818a996ab2b493a9b23c888d73d95f1ab5272dbae503e103a',
execute_transaction_timestamp: '2022-03-19T10:29:05.358066Z', execute_transaction_timestamp: '2022-03-19T10:29:05.358066Z',
l1_gas_price: '4173068062', l1_gas_price: '4173068062',
l1_transaction_count: 0, l1_transactions_count: 0,
l2_fair_gas_price: '100000000', l2_fair_gas_price: '100000000',
l2_transaction_count: 287, l2_transactions_count: 287,
number: 8051, number: 8051,
prove_transaction_hash: '0xb424162ba5afe17c710dceb5fc8d15d7d46a66223454dae8c74aa39f6802625b', prove_transaction_hash: '0xb424162ba5afe17c710dceb5fc8d15d7d46a66223454dae8c74aa39f6802625b',
prove_transaction_timestamp: '2022-03-19T10:29:05.279179Z', prove_transaction_timestamp: '2022-03-19T10:29:05.279179Z',
root_hash: '0x108c635b94f941fcabcb85500daec2f6be4f0747dff649b1cdd9dd7a7a264792', root_hash: '0x108c635b94f941fcabcb85500daec2f6be4f0747dff649b1cdd9dd7a7a264792',
start_block: 1245209, start_block_number: 1245209,
status: 'Executed on L1', status: 'Executed on L1',
timestamp: '2022-03-19T09:05:49.000000Z', timestamp: '2022-03-19T09:05:49.000000Z',
}; };
...@@ -10,7 +10,7 @@ export const sealed: ZkSyncBatchesItem = { ...@@ -10,7 +10,7 @@ export const sealed: ZkSyncBatchesItem = {
prove_transaction_timestamp: null, prove_transaction_timestamp: null,
status: 'Sealed on L2', status: 'Sealed on L2',
timestamp: '2022-03-19T12:53:36.000000Z', timestamp: '2022-03-19T12:53:36.000000Z',
transaction_count: 738, transactions_count: 738,
}; };
export const sent: ZkSyncBatchesItem = { export const sent: ZkSyncBatchesItem = {
...@@ -23,7 +23,7 @@ export const sent: ZkSyncBatchesItem = { ...@@ -23,7 +23,7 @@ export const sent: ZkSyncBatchesItem = {
prove_transaction_timestamp: null, prove_transaction_timestamp: null,
status: 'Sent to L1', status: 'Sent to L1',
timestamp: '2022-03-19T11:36:45.000000Z', timestamp: '2022-03-19T11:36:45.000000Z',
transaction_count: 766, transactions_count: 766,
}; };
export const executed: ZkSyncBatchesItem = { export const executed: ZkSyncBatchesItem = {
...@@ -36,7 +36,7 @@ export const executed: ZkSyncBatchesItem = { ...@@ -36,7 +36,7 @@ export const executed: ZkSyncBatchesItem = {
prove_transaction_timestamp: '2022-03-19T13:28:16.603104Z', prove_transaction_timestamp: '2022-03-19T13:28:16.603104Z',
status: 'Executed on L1', status: 'Executed on L1',
timestamp: '2022-03-19T10:01:52.000000Z', timestamp: '2022-03-19T10:01:52.000000Z',
transaction_count: 1071, transactions_count: 1071,
}; };
export const baseResponse: ZkSyncBatchesResponse = { export const baseResponse: ZkSyncBatchesResponse = {
......
...@@ -31,15 +31,15 @@ export const L2_WITHDRAWAL_ITEM: OptimisticL2WithdrawalsItem = { ...@@ -31,15 +31,15 @@ export const L2_WITHDRAWAL_ITEM: OptimisticL2WithdrawalsItem = {
}; };
export const L2_TXN_BATCHES_ITEM: OptimisticL2TxnBatchesItem = { export const L2_TXN_BATCHES_ITEM: OptimisticL2TxnBatchesItem = {
internal_id: 260991, number: 260991,
batch_data_container: 'in_blob4844', batch_data_container: 'in_blob4844',
l1_timestamp: '2023-06-01T14:46:48.000000Z', l1_timestamp: '2023-06-01T14:46:48.000000Z',
l1_transaction_hashes: [ l1_transaction_hashes: [
TX_HASH, TX_HASH,
], ],
l2_block_start: 5218590, l2_start_block_number: 5218590,
l2_block_end: 5218777, l2_end_block_number: 5218777,
transaction_count: 9, transactions_count: 9,
}; };
export const L2_TXN_BATCH: OptimismL2TxnBatch = { export const L2_TXN_BATCH: OptimismL2TxnBatch = {
...@@ -64,7 +64,7 @@ export const L2_OUTPUT_ROOTS_ITEM: OptimisticL2OutputRootsItem = { ...@@ -64,7 +64,7 @@ export const L2_OUTPUT_ROOTS_ITEM: OptimisticL2OutputRootsItem = {
}; };
export const L2_DISPUTE_GAMES_ITEM: OptimisticL2DisputeGamesItem = { export const L2_DISPUTE_GAMES_ITEM: OptimisticL2DisputeGamesItem = {
contract_address: ADDRESS_HASH, contract_address_hash: ADDRESS_HASH,
created_at: '2023-06-01T15:26:12.000000Z', created_at: '2023-06-01T15:26:12.000000Z',
game_type: 0, game_type: 0,
index: 6594, index: 6594,
......
...@@ -27,7 +27,7 @@ export const ADDRESS_INFO: Address = { ...@@ -27,7 +27,7 @@ export const ADDRESS_INFO: Address = {
has_tokens: false, has_tokens: false,
has_validated_blocks: false, has_validated_blocks: false,
hash: ADDRESS_HASH, hash: ADDRESS_HASH,
implementations: [ { address: ADDRESS_HASH, name: 'Transparent Upgradable Proxy' } ], implementations: [ { address_hash: ADDRESS_HASH, name: 'Transparent Upgradable Proxy' } ],
is_contract: true, is_contract: true,
is_verified: true, is_verified: true,
name: 'ChainLink Token (goerli)', name: 'ChainLink Token (goerli)',
...@@ -58,7 +58,7 @@ export const ADDRESS_TABS_COUNTERS: AddressTabsCounters = { ...@@ -58,7 +58,7 @@ export const ADDRESS_TABS_COUNTERS: AddressTabsCounters = {
export const TOP_ADDRESS: AddressesItem = { export const TOP_ADDRESS: AddressesItem = {
coin_balance: '11886682377162664596540805', coin_balance: '11886682377162664596540805',
transaction_count: '1835', transactions_count: '1835',
hash: '0x4f7A67464B5976d7547c860109e4432d50AfB38e', hash: '0x4f7A67464B5976d7547c860109e4432d50AfB38e',
implementations: null, implementations: null,
is_contract: false, is_contract: false,
......
...@@ -6,7 +6,7 @@ import { TX_HASH } from './tx'; ...@@ -6,7 +6,7 @@ import { TX_HASH } from './tx';
export const ARBITRUM_MESSAGES_ITEM: ArbitrumL2MessagesItem = { export const ARBITRUM_MESSAGES_ITEM: ArbitrumL2MessagesItem = {
completion_transaction_hash: TX_HASH, completion_transaction_hash: TX_HASH,
id: 181920, id: 181920,
origination_address: ADDRESS_HASH, origination_address_hash: ADDRESS_HASH,
origination_transaction_block_number: 123456, origination_transaction_block_number: 123456,
origination_transaction_hash: TX_HASH, origination_transaction_hash: TX_HASH,
origination_timestamp: '2023-06-01T14:46:48.000000Z', origination_timestamp: '2023-06-01T14:46:48.000000Z',
...@@ -28,10 +28,10 @@ export const ARBITRUM_L2_TXN_BATCHES_ITEM: ArbitrumL2TxnBatchesItem = { ...@@ -28,10 +28,10 @@ export const ARBITRUM_L2_TXN_BATCHES_ITEM: ArbitrumL2TxnBatchesItem = {
export const ARBITRUM_L2_TXN_BATCH: ArbitrumL2TxnBatch = { export const ARBITRUM_L2_TXN_BATCH: ArbitrumL2TxnBatch = {
...ARBITRUM_L2_TXN_BATCHES_ITEM, ...ARBITRUM_L2_TXN_BATCHES_ITEM,
after_acc: '0xcd064f3409015e8e6407e492e5275a185e492c6b43ccf127f22092d8057a9ffb', after_acc_hash: '0xcd064f3409015e8e6407e492e5275a185e492c6b43ccf127f22092d8057a9ffb',
before_acc: '0x2ed7c4985eb778d76ec400a43805e7feecc8c2afcdb492dbe5caf227de6d37bc', before_acc_hash: '0x2ed7c4985eb778d76ec400a43805e7feecc8c2afcdb492dbe5caf227de6d37bc',
start_block: 1245209, start_block_number: 1245209,
end_block: 1245490, end_block_number: 1245490,
data_availability: { data_availability: {
batch_data_container: 'in_blob4844', batch_data_container: 'in_blob4844',
}, },
...@@ -39,11 +39,11 @@ export const ARBITRUM_L2_TXN_BATCH: ArbitrumL2TxnBatch = { ...@@ -39,11 +39,11 @@ export const ARBITRUM_L2_TXN_BATCH: ArbitrumL2TxnBatch = {
export const ARBITRUM_L2_TXN_WITHDRAWALS_ITEM: ArbitrumL2TxnWithdrawalsItem = { export const ARBITRUM_L2_TXN_WITHDRAWALS_ITEM: ArbitrumL2TxnWithdrawalsItem = {
arb_block_number: 70889261, arb_block_number: 70889261,
caller: '0x507f55d716340fc836ba52c1a8daebcfeedeef1a', caller_address_hash: '0x507f55d716340fc836ba52c1a8daebcfeedeef1a',
completion_transaction_hash: null, completion_transaction_hash: null,
callvalue: '100000000000000', callvalue: '100000000000000',
data: '0x', data: '0x',
destination: '0x507f55d716340fc836ba52c1a8daebcfeedeef1a', destination_address_hash: '0x507f55d716340fc836ba52c1a8daebcfeedeef1a',
eth_block_number: 6494128, eth_block_number: 6494128,
id: 43685, id: 43685,
l2_timestamp: 1723578569, l2_timestamp: 1723578569,
......
...@@ -31,7 +31,7 @@ export const BLOCK: Block = { ...@@ -31,7 +31,7 @@ export const BLOCK: Block = {
state_root: 'TODO', state_root: 'TODO',
timestamp: '2023-05-12T19:29:12.000000Z', timestamp: '2023-05-12T19:29:12.000000Z',
total_difficulty: '10837812015930321201107455268036056402048391639', total_difficulty: '10837812015930321201107455268036056402048391639',
transaction_count: 142, transactions_count: 142,
transaction_fees: '19241635547777613', transaction_fees: '19241635547777613',
type: 'block', type: 'block',
uncles_hashes: [], uncles_hashes: [],
......
...@@ -71,7 +71,7 @@ export const VERIFIED_CONTRACT_INFO: VerifiedContract = { ...@@ -71,7 +71,7 @@ export const VERIFIED_CONTRACT_INFO: VerifiedContract = {
language: 'solidity', language: 'solidity',
market_cap: null, market_cap: null,
optimization_enabled: false, optimization_enabled: false,
transaction_count: 565058, transactions_count: 565058,
verified_at: '2023-04-10T13:16:33.884921Z', verified_at: '2023-04-10T13:16:33.884921Z',
license_type: 'mit', license_type: 'mit',
}; };
...@@ -113,7 +113,7 @@ export const MUD_SYSTEMS: SmartContractMudSystemsResponse = { ...@@ -113,7 +113,7 @@ export const MUD_SYSTEMS: SmartContractMudSystemsResponse = {
items: [ items: [
{ {
name: 'sy.AccessManagement', name: 'sy.AccessManagement',
address: ADDRESS_HASH, address_hash: ADDRESS_HASH,
}, },
], ],
}; };
...@@ -20,5 +20,5 @@ export const MUD_SCHEMA: MudWorldSchema = { ...@@ -20,5 +20,5 @@ export const MUD_SCHEMA: MudWorldSchema = {
export const MUD_WORLD: MudWorldItem = { export const MUD_WORLD: MudWorldItem = {
address: ADDRESS_PARAMS, address: ADDRESS_PARAMS,
coin_balance: '7072643779453701031672', coin_balance: '7072643779453701031672',
transaction_count: 442, transactions_count: 442,
}; };
...@@ -13,10 +13,10 @@ export const SCROLL_L2_TXN_BATCH: ScrollL2TxnBatch = { ...@@ -13,10 +13,10 @@ export const SCROLL_L2_TXN_BATCH: ScrollL2TxnBatch = {
hash: null, hash: null,
timestamp: null, timestamp: null,
}, },
end_block: 1711, end_block_number: 1711,
number: 273, number: 273,
start_block: 1697, start_block_number: 1697,
transaction_count: 15, transactions_count: 15,
data_availability: { data_availability: {
batch_data_container: 'in_blob4844', batch_data_container: 'in_blob4844',
}, },
......
...@@ -3,7 +3,7 @@ import type { SearchResult, SearchResultItem } from 'types/api/search'; ...@@ -3,7 +3,7 @@ import type { SearchResult, SearchResultItem } from 'types/api/search';
import { ADDRESS_HASH } from './addressParams'; import { ADDRESS_HASH } from './addressParams';
export const SEARCH_RESULT_ITEM: SearchResultItem = { export const SEARCH_RESULT_ITEM: SearchResultItem = {
address: ADDRESS_HASH, address_hash: ADDRESS_HASH,
address_url: '/address/0x3714A8C7824B22271550894f7555f0a672f97809', address_url: '/address/0x3714A8C7824B22271550894f7555f0a672f97809',
name: 'USDC', name: 'USDC',
symbol: 'USDC', symbol: 'USDC',
...@@ -20,7 +20,7 @@ export const SEARCH_RESULT_ITEM: SearchResultItem = { ...@@ -20,7 +20,7 @@ export const SEARCH_RESULT_ITEM: SearchResultItem = {
export const SEARCH_RESULT_NEXT_PAGE_PARAMS: SearchResult['next_page_params'] = { export const SEARCH_RESULT_NEXT_PAGE_PARAMS: SearchResult['next_page_params'] = {
address_hash: ADDRESS_HASH, address_hash: ADDRESS_HASH,
block_hash: null, block_hash: null,
holder_count: 11, holders_count: 11,
inserted_at: '2023-05-19T17:21:19.203681Z', inserted_at: '2023-05-19T17:21:19.203681Z',
item_type: 'token', item_type: 'token',
items_count: 50, items_count: 50,
......
...@@ -17,11 +17,11 @@ import { generateListStub } from './utils'; ...@@ -17,11 +17,11 @@ import { generateListStub } from './utils';
export const BLOCK_HASH = '0x8fa7b9e5e5e79deeb62d608db22ba9a5cb45388c7ebb9223ae77331c6080dc70'; export const BLOCK_HASH = '0x8fa7b9e5e5e79deeb62d608db22ba9a5cb45388c7ebb9223ae77331c6080dc70';
export const TOKEN_INFO_ERC_20: TokenInfo<'ERC-20'> = { export const TOKEN_INFO_ERC_20: TokenInfo<'ERC-20'> = {
address: ADDRESS_HASH, address_hash: ADDRESS_HASH,
circulating_market_cap: '117629601.61913824', circulating_market_cap: '117629601.61913824',
decimals: '18', decimals: '18',
exchange_rate: '0.999997', exchange_rate: '0.999997',
holders: '16026', holders_count: '16026',
name: 'Stub Token (goerli)', name: 'Stub Token (goerli)',
symbol: 'STUB', symbol: 'STUB',
total_supply: '60000000000000000000000', total_supply: '60000000000000000000000',
......
...@@ -16,10 +16,10 @@ export const VALIDATOR_STABILITY: ValidatorStability = { ...@@ -16,10 +16,10 @@ export const VALIDATOR_STABILITY: ValidatorStability = {
}; };
export const VALIDATORS_STABILITY_COUNTERS: ValidatorsStabilityCountersResponse = { export const VALIDATORS_STABILITY_COUNTERS: ValidatorsStabilityCountersResponse = {
active_validators_counter: '42', active_validators_count: '42',
active_validators_percentage: 7.14, active_validators_percentage: 7.14,
new_validators_counter_24h: '11', new_validators_count_24h: '11',
validators_counter: '140', validators_count: '140',
}; };
export const VALIDATOR_BLACKFORT: ValidatorBlackfort = { export const VALIDATOR_BLACKFORT: ValidatorBlackfort = {
...@@ -31,8 +31,8 @@ export const VALIDATOR_BLACKFORT: ValidatorBlackfort = { ...@@ -31,8 +31,8 @@ export const VALIDATOR_BLACKFORT: ValidatorBlackfort = {
}; };
export const VALIDATORS_BLACKFORT_COUNTERS: ValidatorsBlackfortCountersResponse = { export const VALIDATORS_BLACKFORT_COUNTERS: ValidatorsBlackfortCountersResponse = {
new_validators_counter_24h: '11', new_validators_count_24h: '11',
validators_counter: '140', validators_count: '140',
}; };
export const VALIDATORS_ZILLIQA_ITEM: ValidatorsZilliqaItem = { export const VALIDATORS_ZILLIQA_ITEM: ValidatorsZilliqaItem = {
......
...@@ -28,7 +28,7 @@ export const ZKEVM_L2_TXN_BATCHES_ITEM: ZkEvmL2TxnBatchesItem = { ...@@ -28,7 +28,7 @@ export const ZKEVM_L2_TXN_BATCHES_ITEM: ZkEvmL2TxnBatchesItem = {
verify_transaction_hash: TX_HASH, verify_transaction_hash: TX_HASH,
sequence_transaction_hash: TX_HASH, sequence_transaction_hash: TX_HASH,
number: 5218590, number: 5218590,
transaction_count: 9, transactions_count: 9,
}; };
export const ZKEVM_L2_TXN_BATCH: ZkEvmL2TxnBatch = { export const ZKEVM_L2_TXN_BATCH: ZkEvmL2TxnBatch = {
......
...@@ -12,16 +12,16 @@ export const ZKSYNC_L2_TXN_BATCHES_ITEM: ZkSyncBatchesItem = { ...@@ -12,16 +12,16 @@ export const ZKSYNC_L2_TXN_BATCHES_ITEM: ZkSyncBatchesItem = {
prove_transaction_timestamp: '2022-03-17T20:49:48.772442Z', prove_transaction_timestamp: '2022-03-17T20:49:48.772442Z',
status: 'Executed on L1', status: 'Executed on L1',
timestamp: '2022-03-17T17:00:11.000000Z', timestamp: '2022-03-17T17:00:11.000000Z',
transaction_count: 1215, transactions_count: 1215,
}; };
export const ZKSYNC_L2_TXN_BATCH: ZkSyncBatch = { export const ZKSYNC_L2_TXN_BATCH: ZkSyncBatch = {
...ZKSYNC_L2_TXN_BATCHES_ITEM, ...ZKSYNC_L2_TXN_BATCHES_ITEM,
start_block: 1245209, start_block_number: 1245209,
end_block: 1245490, end_block_number: 1245490,
l1_gas_price: '4173068062', l1_gas_price: '4173068062',
l1_transaction_count: 0, l1_transactions_count: 0,
l2_fair_gas_price: '100000000', l2_fair_gas_price: '100000000',
l2_transaction_count: 287, l2_transactions_count: 287,
root_hash: '0x108c635b94f941fcabcb85500daec2f6be4f0747dff649b1cdd9dd7a7a264792', root_hash: '0x108c635b94f941fcabcb85500daec2f6be4f0747dff649b1cdd9dd7a7a264792',
}; };
...@@ -2,7 +2,7 @@ import type { AddressMetadataTagApi } from './addressMetadata'; ...@@ -2,7 +2,7 @@ import type { AddressMetadataTagApi } from './addressMetadata';
import type { SmartContractProxyType } from './contract'; import type { SmartContractProxyType } from './contract';
export interface AddressImplementation { export interface AddressImplementation {
address: string; address_hash: string;
filecoin_robust_address?: string | null; filecoin_robust_address?: string | null;
name?: string | null; name?: string | null;
} }
......
import type { AddressParam } from './addressParams'; import type { AddressParam } from './addressParams';
export type AddressesItem = AddressParam & { transaction_count: string; coin_balance: string | null }; export type AddressesItem = AddressParam & { transactions_count: string; coin_balance: string | null };
export type AddressesResponse = { export type AddressesResponse = {
items: Array<AddressesItem>; items: Array<AddressesItem>;
......
...@@ -17,7 +17,7 @@ export type ArbitrumL2MessageStatus = 'initiated' | 'sent' | 'confirmed' | 'rela ...@@ -17,7 +17,7 @@ export type ArbitrumL2MessageStatus = 'initiated' | 'sent' | 'confirmed' | 'rela
export type ArbitrumL2MessagesItem = { export type ArbitrumL2MessagesItem = {
completion_transaction_hash: string | null; completion_transaction_hash: string | null;
id: number; id: number;
origination_address: string; origination_address_hash: string;
origination_timestamp: string | null; origination_timestamp: string | null;
origination_transaction_block_number: number | null; origination_transaction_block_number: number | null;
origination_transaction_hash: string; origination_transaction_hash: string;
...@@ -87,11 +87,11 @@ export type ArbitrumL2TxnBatchDataAvailability = ArbitrumL2TxnBatchDAAnytrust | ...@@ -87,11 +87,11 @@ export type ArbitrumL2TxnBatchDataAvailability = ArbitrumL2TxnBatchDAAnytrust |
}; };
export type ArbitrumL2TxnBatch = { export type ArbitrumL2TxnBatch = {
after_acc: string; after_acc_hash: string;
before_acc: string; before_acc_hash: string;
commitment_transaction: ArbitrumL2BatchCommitmentTx; commitment_transaction: ArbitrumL2BatchCommitmentTx;
end_block: number; end_block_number: number;
start_block: number; start_block_number: number;
number: number; number: number;
transactions_count: number; transactions_count: number;
data_availability: ArbitrumL2TxnBatchDataAvailability; data_availability: ArbitrumL2TxnBatchDataAvailability;
...@@ -118,19 +118,19 @@ export type ArbitrumL2BatchBlocks = { ...@@ -118,19 +118,19 @@ export type ArbitrumL2BatchBlocks = {
export interface ArbitrumL2TxnWithdrawalsItem { export interface ArbitrumL2TxnWithdrawalsItem {
arb_block_number: number; arb_block_number: number;
caller: string; caller_address_hash: string;
callvalue: string; callvalue: string;
completion_transaction_hash: string | null; completion_transaction_hash: string | null;
data: string; data: string;
destination: string; destination_address_hash: string;
eth_block_number: number; eth_block_number: number;
id: number; id: number;
l2_timestamp: number; l2_timestamp: number;
status: ArbitrumL2MessageStatus; status: ArbitrumL2MessageStatus;
token: { token: {
address: string; address_hash: string;
amount: string | null; amount: string | null;
destination: string | null; destination_address_hash: string | null;
name: string | null; name: string | null;
symbol: string | null; symbol: string | null;
decimals: number | null; decimals: number | null;
...@@ -143,7 +143,7 @@ export interface ArbitrumL2TxnWithdrawalsResponse { ...@@ -143,7 +143,7 @@ export interface ArbitrumL2TxnWithdrawalsResponse {
export interface ArbitrumL2MessageClaimResponse { export interface ArbitrumL2MessageClaimResponse {
calldata: string; calldata: string;
outbox_address: string; outbox_address_hash: string;
} }
export const ARBITRUM_L2_TX_BATCH_STATUSES = [ export const ARBITRUM_L2_TX_BATCH_STATUSES = [
......
...@@ -20,7 +20,7 @@ export interface BlockBaseFeeCelo { ...@@ -20,7 +20,7 @@ export interface BlockBaseFeeCelo {
export interface Block { export interface Block {
height: number; height: number;
timestamp: string; timestamp: string;
transaction_count: number; transactions_count: number;
miner: AddressParam; miner: AddressParam;
size: number; size: number;
hash: string; hash: string;
...@@ -56,7 +56,7 @@ export interface Block { ...@@ -56,7 +56,7 @@ export interface Block {
excess_blob_gas?: string; excess_blob_gas?: string;
blob_transaction_count?: number; blob_transaction_count?: number;
// ZKSYNC FIELDS // ZKSYNC FIELDS
zksync?: Omit<ZkSyncBatchesItem, 'number' | 'transaction_count' | 'timestamp'> & { zksync?: Omit<ZkSyncBatchesItem, 'number' | 'transactions_count' | 'timestamp'> & {
batch_number: number | null; batch_number: number | null;
}; };
arbitrum?: ArbitrumBlockData; arbitrum?: ArbitrumBlockData;
...@@ -76,7 +76,7 @@ type ArbitrumBlockData = { ...@@ -76,7 +76,7 @@ type ArbitrumBlockData = {
commitment_transaction: ArbitrumL2TxData; commitment_transaction: ArbitrumL2TxData;
confirmation_transaction: ArbitrumL2TxData; confirmation_transaction: ArbitrumL2TxData;
delayed_messages: number; delayed_messages: number;
l1_block_height: number; l1_block_number: number;
send_count: number; send_count: number;
send_root: string; send_root: string;
status: ArbitrumBatchStatus; status: ArbitrumBatchStatus;
...@@ -84,7 +84,7 @@ type ArbitrumBlockData = { ...@@ -84,7 +84,7 @@ type ArbitrumBlockData = {
export interface OptimismBlockData { export interface OptimismBlockData {
batch_data_container: OptimisticL2BatchDataContainer; batch_data_container: OptimisticL2BatchDataContainer;
internal_id: number; number: number;
blobs: Array<OptimisticL2BlobTypeEip4844> | Array<OptimisticL2BlobTypeCelestia> | null; blobs: Array<OptimisticL2BlobTypeEip4844> | Array<OptimisticL2BlobTypeCelestia> | null;
l1_timestamp: string; l1_timestamp: string;
l1_transaction_hashes: Array<string>; l1_transaction_hashes: Array<string>;
......
export interface ChartTransactionItem { export interface ChartTransactionItem {
date: string; date: string;
transaction_count: number | null; transactions_count: number | null;
} }
export interface ChartMarketItem { export interface ChartMarketItem {
......
...@@ -159,7 +159,7 @@ export interface SmartContractMudSystemsResponse { ...@@ -159,7 +159,7 @@ export interface SmartContractMudSystemsResponse {
} }
export interface SmartContractMudSystemItem { export interface SmartContractMudSystemItem {
address: string; address_hash: string;
name: string; name: string;
} }
......
...@@ -9,7 +9,7 @@ export interface VerifiedContract { ...@@ -9,7 +9,7 @@ export interface VerifiedContract {
language: 'vyper' | 'yul' | 'solidity' | 'stylus_rust'; language: 'vyper' | 'yul' | 'solidity' | 'stylus_rust';
has_constructor_args: boolean; has_constructor_args: boolean;
optimization_enabled: boolean; optimization_enabled: boolean;
transaction_count: number | null; transactions_count: number | null;
verified_at: string; verified_at: string;
market_cap: string | null; market_cap: string | null;
license_type: SmartContractLicenseType | null; license_type: SmartContractLicenseType | null;
......
...@@ -11,7 +11,7 @@ export type MudWorldsResponse = { ...@@ -11,7 +11,7 @@ export type MudWorldsResponse = {
export type MudWorldItem = { export type MudWorldItem = {
address: AddressParam; address: AddressParam;
coin_balance: string; coin_balance: string;
transaction_count: number | null; transactions_count: number | null;
}; };
export type MudWorldSchema = { export type MudWorldSchema = {
......
...@@ -40,13 +40,13 @@ export type OptimisticL2OutputRootsResponse = { ...@@ -40,13 +40,13 @@ export type OptimisticL2OutputRootsResponse = {
export type OptimisticL2BatchDataContainer = 'in_blob4844' | 'in_celestia' | 'in_calldata'; export type OptimisticL2BatchDataContainer = 'in_blob4844' | 'in_celestia' | 'in_calldata';
export type OptimisticL2TxnBatchesItem = { export type OptimisticL2TxnBatchesItem = {
internal_id: number; number: number;
batch_data_container?: OptimisticL2BatchDataContainer; batch_data_container?: OptimisticL2BatchDataContainer;
l1_timestamp: string; l1_timestamp: string;
l1_transaction_hashes: Array<string>; l1_transaction_hashes: Array<string>;
l2_block_start: number; l2_start_block_number: number;
l2_block_end: number; l2_end_block_number: number;
transaction_count: number; transactions_count: number;
}; };
export type OptimisticL2TxnBatchesResponse = { export type OptimisticL2TxnBatchesResponse = {
...@@ -72,12 +72,12 @@ export interface OptimisticL2BlobTypeCelestia { ...@@ -72,12 +72,12 @@ export interface OptimisticL2BlobTypeCelestia {
} }
interface OptimismL2TxnBatchBase { interface OptimismL2TxnBatchBase {
internal_id: number; number: number;
l1_timestamp: string; l1_timestamp: string;
l1_transaction_hashes: Array<string>; l1_transaction_hashes: Array<string>;
l2_block_start: number; l2_start_block_number: number;
l2_block_end: number; l2_end_block_number: number;
transaction_count: number; transactions_count: number;
} }
export interface OptimismL2TxnBatchTypeCallData extends OptimismL2TxnBatchBase { export interface OptimismL2TxnBatchTypeCallData extends OptimismL2TxnBatchBase {
...@@ -151,7 +151,7 @@ export type OptimisticL2DisputeGamesResponse = { ...@@ -151,7 +151,7 @@ export type OptimisticL2DisputeGamesResponse = {
}; };
export type OptimisticL2DisputeGamesItem = { export type OptimisticL2DisputeGamesItem = {
contract_address: string; contract_address_hash: string;
created_at: string; created_at: string;
game_type: number; game_type: number;
index: number; index: number;
......
...@@ -25,9 +25,9 @@ export type ScrollL2TxnBatch = { ...@@ -25,9 +25,9 @@ export type ScrollL2TxnBatch = {
number: number; number: number;
commitment_transaction: ScrollL2TxnBatchCommitmentTransaction; commitment_transaction: ScrollL2TxnBatchCommitmentTransaction;
confirmation_transaction: ScrollL2TxnBatchConfirmationTransaction; confirmation_transaction: ScrollL2TxnBatchConfirmationTransaction;
start_block: number; start_block_number: number;
end_block: number; end_block_number: number;
transaction_count: number; transactions_count: number;
data_availability: { data_availability: {
batch_data_container: 'in_blob4844' | 'in_calldata'; batch_data_container: 'in_blob4844' | 'in_calldata';
}; };
......
...@@ -22,7 +22,7 @@ export interface SearchResultToken { ...@@ -22,7 +22,7 @@ export interface SearchResultToken {
type: 'token'; type: 'token';
name: string; name: string;
symbol: string; symbol: string;
address: string; address_hash: string;
token_url: string; token_url: string;
address_url: string; address_url: string;
icon_url: string | null; icon_url: string | null;
...@@ -44,7 +44,7 @@ type SearchResultEnsInfo = { ...@@ -44,7 +44,7 @@ type SearchResultEnsInfo = {
interface SearchResultAddressData { interface SearchResultAddressData {
name: string | null; name: string | null;
address: string; address_hash: string;
is_smart_contract_verified: boolean; is_smart_contract_verified: boolean;
certified?: true; certified?: true;
filecoin_robust_address?: string | null; filecoin_robust_address?: string | null;
...@@ -75,7 +75,7 @@ export interface SearchResultDomain extends SearchResultAddressData { ...@@ -75,7 +75,7 @@ export interface SearchResultDomain extends SearchResultAddressData {
export interface SearchResultLabel { export interface SearchResultLabel {
type: 'label'; type: 'label';
address: string; address_hash: string;
filecoin_robust_address?: string | null; filecoin_robust_address?: string | null;
name: string; name: string;
is_smart_contract_verified: boolean; is_smart_contract_verified: boolean;
...@@ -127,7 +127,7 @@ export interface SearchResult { ...@@ -127,7 +127,7 @@ export interface SearchResult {
next_page_params: { next_page_params: {
address_hash: string | null; address_hash: string | null;
block_hash: string | null; block_hash: string | null;
holder_count: number | null; holders_count: number | null;
inserted_at: string | null; inserted_at: string | null;
item_type: SearchResultType; item_type: SearchResultType;
items_count: number; items_count: number;
......
...@@ -5,12 +5,12 @@ export type NFTTokenType = 'ERC-721' | 'ERC-1155' | 'ERC-404'; ...@@ -5,12 +5,12 @@ export type NFTTokenType = 'ERC-721' | 'ERC-1155' | 'ERC-404';
export type TokenType = 'ERC-20' | NFTTokenType; export type TokenType = 'ERC-20' | NFTTokenType;
export interface TokenInfo<T extends TokenType = TokenType> { export interface TokenInfo<T extends TokenType = TokenType> {
address: string; address_hash: string;
type: T; type: T;
symbol: string | null; symbol: string | null;
name: string | null; name: string | null;
decimals: string | null; decimals: string | null;
holders: string | null; holders_count: string | null;
exchange_rate: string | null; exchange_rate: string | null;
total_supply: string | null; total_supply: string | null;
icon_url: string | null; icon_url: string | null;
......
...@@ -4,7 +4,7 @@ import type { TokenTransfer } from './tokenTransfer'; ...@@ -4,7 +4,7 @@ import type { TokenTransfer } from './tokenTransfer';
export type TokensResponse = { export type TokensResponse = {
items: Array<TokenInfo>; items: Array<TokenInfo>;
next_page_params: { next_page_params: {
holder_count: number; holders_count: number;
items_count: number; items_count: number;
name: string; name: string;
market_cap: string | null; market_cap: string | null;
...@@ -28,7 +28,7 @@ export interface TokenInstanceTransferPagination { ...@@ -28,7 +28,7 @@ export interface TokenInstanceTransferPagination {
} }
export interface TokensSorting { export interface TokensSorting {
sort: 'fiat_value' | 'holder_count' | 'circulating_market_cap'; sort: 'fiat_value' | 'holders_count' | 'circulating_market_cap';
order: 'asc' | 'desc'; order: 'asc' | 'desc';
} }
......
...@@ -89,7 +89,7 @@ export type Transaction = { ...@@ -89,7 +89,7 @@ export type Transaction = {
zkevm_status?: typeof ZKEVM_L2_TX_STATUSES[number]; zkevm_status?: typeof ZKEVM_L2_TX_STATUSES[number];
zkevm_sequence_hash?: string; zkevm_sequence_hash?: string;
// zkSync FIELDS // zkSync FIELDS
zksync?: Omit<ZkSyncBatchesItem, 'number' | 'transaction_count' | 'timestamp'> & { zksync?: Omit<ZkSyncBatchesItem, 'number' | 'transactions_count' | 'timestamp'> & {
batch_number: number | null; batch_number: number | null;
}; };
// Zilliqa fields // Zilliqa fields
...@@ -123,7 +123,7 @@ type ArbitrumTransactionData = { ...@@ -123,7 +123,7 @@ type ArbitrumTransactionData = {
poster_fee: string; poster_fee: string;
status: ArbitrumBatchStatus; status: ArbitrumBatchStatus;
message_related_info: { message_related_info: {
associated_l1_transaction: string | null; associated_l1_transaction_hash: string | null;
message_status: ArbitrumTransactionMessageStatus; message_status: ArbitrumTransactionMessageStatus;
}; };
}; };
...@@ -213,7 +213,7 @@ export type ScrollTransactionData = { ...@@ -213,7 +213,7 @@ export type ScrollTransactionData = {
}; };
export interface TxAuthorization { export interface TxAuthorization {
address: string; address_hash: string;
authority: string; authority: string;
chain_id: number; chain_id: number;
nonce: number; nonce: number;
......
...@@ -19,10 +19,10 @@ export interface ValidatorsStabilityResponse { ...@@ -19,10 +19,10 @@ export interface ValidatorsStabilityResponse {
} }
export interface ValidatorsStabilityCountersResponse { export interface ValidatorsStabilityCountersResponse {
active_validators_counter: string; active_validators_count: string;
active_validators_percentage: number; active_validators_percentage: number;
new_validators_counter_24h: string; new_validators_count_24h: string;
validators_counter: string; validators_count: string;
} }
export interface ValidatorsStabilityFilters { export interface ValidatorsStabilityFilters {
...@@ -57,8 +57,8 @@ export interface ValidatorsBlackfortResponse { ...@@ -57,8 +57,8 @@ export interface ValidatorsBlackfortResponse {
} }
export interface ValidatorsBlackfortCountersResponse { export interface ValidatorsBlackfortCountersResponse {
new_validators_counter_24h: string; new_validators_count_24h: string;
validators_counter: string; validators_count: string;
} }
export interface ValidatorsBlackfortSorting { export interface ValidatorsBlackfortSorting {
......
...@@ -18,6 +18,6 @@ export type WithdrawalsItem = { ...@@ -18,6 +18,6 @@ export type WithdrawalsItem = {
}; };
export type WithdrawalsCounters = { export type WithdrawalsCounters = {
withdrawal_count: string; withdrawals_count: string;
withdrawal_sum: string; withdrawals_sum: string;
}; };
...@@ -42,7 +42,7 @@ export type ZkEvmL2TxnBatchesItem = { ...@@ -42,7 +42,7 @@ export type ZkEvmL2TxnBatchesItem = {
sequence_transaction_hash: string | null; sequence_transaction_hash: string | null;
status: string; status: string;
timestamp: string | null; timestamp: string | null;
transaction_count: number; transactions_count: number;
}; };
export type ZkEvmL2TxnBatchesResponse = { export type ZkEvmL2TxnBatchesResponse = {
......
...@@ -20,7 +20,7 @@ export interface ZkSyncBatchesItem { ...@@ -20,7 +20,7 @@ export interface ZkSyncBatchesItem {
prove_transaction_timestamp: string | null; prove_transaction_timestamp: string | null;
status: ZkSyncBatchStatus; status: ZkSyncBatchStatus;
timestamp: string; timestamp: string;
transaction_count: number; transactions_count: number;
} }
export type ZkSyncBatchesResponse = { export type ZkSyncBatchesResponse = {
...@@ -31,13 +31,13 @@ export type ZkSyncBatchesResponse = { ...@@ -31,13 +31,13 @@ export type ZkSyncBatchesResponse = {
} | null; } | null;
}; };
export interface ZkSyncBatch extends Omit<ZkSyncBatchesItem, 'transaction_count'> { export interface ZkSyncBatch extends Omit<ZkSyncBatchesItem, 'transactions_count'> {
start_block: number; start_block_number: number;
end_block: number; end_block_number: number;
l1_gas_price: string; l1_gas_price: string;
l1_transaction_count: number; l1_transactions_count: number;
l2_fair_gas_price: string; l2_fair_gas_price: string;
l2_transaction_count: number; l2_transactions_count: number;
root_hash: string; root_hash: string;
} }
......
...@@ -235,7 +235,7 @@ test.describe('update balances via socket', () => { ...@@ -235,7 +235,7 @@ test.describe('update balances via socket', () => {
value: '9852000000000000', value: '9852000000000000',
token: { token: {
...tokensMock.erc20c.token, ...tokensMock.erc20c.token,
address: '0xE2cf36D00C57e01371b94B4206ae2CF841931Adc', address_hash: '0xE2cf36D00C57e01371b94B4206ae2CF841931Adc',
name: 'Tether USD', name: 'Tether USD',
symbol: 'USDT', symbol: 'USDT',
}, },
......
...@@ -41,7 +41,7 @@ const AddressBlocksValidatedListItem = (props: Props) => { ...@@ -41,7 +41,7 @@ const AddressBlocksValidatedListItem = (props: Props) => {
<Flex columnGap={ 2 } w="100%"> <Flex columnGap={ 2 } w="100%">
<Skeleton loading={ props.isLoading } fontWeight={ 500 } flexShrink={ 0 }>Txn</Skeleton> <Skeleton loading={ props.isLoading } fontWeight={ 500 } flexShrink={ 0 }>Txn</Skeleton>
<Skeleton loading={ props.isLoading } display="inline-block" color="Skeleton_secondary"> <Skeleton loading={ props.isLoading } display="inline-block" color="Skeleton_secondary">
<span>{ props.transaction_count }</span> <span>{ props.transactions_count }</span>
</Skeleton> </Skeleton>
</Flex> </Flex>
<Flex columnGap={ 2 } w="100%"> <Flex columnGap={ 2 } w="100%">
......
...@@ -42,7 +42,7 @@ const AddressBlocksValidatedTableItem = (props: Props) => { ...@@ -42,7 +42,7 @@ const AddressBlocksValidatedTableItem = (props: Props) => {
</TableCell> </TableCell>
<TableCell> <TableCell>
<Skeleton loading={ props.isLoading } display="inline-block" fontWeight="500"> <Skeleton loading={ props.isLoading } display="inline-block" fontWeight="500">
<span>{ props.transaction_count }</span> <span>{ props.transactions_count }</span>
</Skeleton> </Skeleton>
</TableCell> </TableCell>
<TableCell> <TableCell>
......
...@@ -30,7 +30,11 @@ test.beforeEach(async({ mockApiResponse, page }) => { ...@@ -30,7 +30,11 @@ test.beforeEach(async({ mockApiResponse, page }) => {
test.describe('full view', () => { test.describe('full view', () => {
test.beforeEach(async({ mockApiResponse }) => { test.beforeEach(async({ mockApiResponse }) => {
await mockApiResponse('contract', contractMock.withChangedByteCode, { pathParams: { hash: addressMock.contract.hash } }); await mockApiResponse('contract', contractMock.withChangedByteCode, { pathParams: { hash: addressMock.contract.hash } });
await mockApiResponse('contract', contractMock.withChangedByteCode, { pathParams: { hash: addressMock.contract.implementations?.[0].address as string } }); await mockApiResponse(
'contract',
contractMock.withChangedByteCode,
{ pathParams: { hash: addressMock.contract.implementations?.[0].address_hash as string } },
);
}); });
test('source code +@dark-mode', async({ render, createSocket }) => { test('source code +@dark-mode', async({ render, createSocket }) => {
...@@ -87,7 +91,11 @@ test.describe('mobile view', () => { ...@@ -87,7 +91,11 @@ test.describe('mobile view', () => {
test('source code', async({ render, createSocket, mockApiResponse }) => { test('source code', async({ render, createSocket, mockApiResponse }) => {
await mockApiResponse('contract', contractMock.withChangedByteCode, { pathParams: { hash: addressMock.contract.hash } }); await mockApiResponse('contract', contractMock.withChangedByteCode, { pathParams: { hash: addressMock.contract.hash } });
await mockApiResponse('contract', contractMock.withChangedByteCode, { pathParams: { hash: addressMock.contract.implementations?.[0].address as string } }); await mockApiResponse(
'contract',
contractMock.withChangedByteCode,
{ pathParams: { hash: addressMock.contract.implementations?.[0].address_hash as string } },
);
const component = await render(<ContractDetails/>, { hooksConfig }, { withSocket: true }); const component = await render(<ContractDetails/>, { hooksConfig }, { withSocket: true });
const socket = await createSocket(); const socket = await createSocket();
await socketServer.joinChannel(socket, `addresses:${ addressMock.contract.hash.toLowerCase() }`); await socketServer.joinChannel(socket, `addresses:${ addressMock.contract.hash.toLowerCase() }`);
......
...@@ -40,30 +40,30 @@ const ContractDetails = ({ addressData, channel, mainContractQuery }: Props) => ...@@ -40,30 +40,30 @@ const ContractDetails = ({ addressData, channel, mainContractQuery }: Props) =>
const sourceItems: Array<AddressImplementation> = React.useMemo(() => { const sourceItems: Array<AddressImplementation> = React.useMemo(() => {
const currentAddressDefaultName = addressData?.proxy_type === 'eip7702' ? 'Current address' : 'Current contract'; const currentAddressDefaultName = addressData?.proxy_type === 'eip7702' ? 'Current address' : 'Current contract';
const currentAddressItem = { address: addressData.hash, name: addressData?.name || currentAddressDefaultName }; const currentAddressItem = { address_hash: addressData.hash, name: addressData?.name || currentAddressDefaultName };
if (!addressData || !addressData.implementations || addressData.implementations.length === 0) { if (!addressData || !addressData.implementations || addressData.implementations.length === 0) {
return [ currentAddressItem ]; return [ currentAddressItem ];
} }
return [ return [
currentAddressItem, currentAddressItem,
...(addressData?.implementations.filter((item) => item.address !== addressData.hash && item.name) || []), ...(addressData?.implementations.filter((item) => item.address_hash !== addressData.hash && item.name) || []),
]; ];
}, [ addressData ]); }, [ addressData ]);
const [ selectedItem, setSelectedItem ] = React.useState(sourceItems.find((item) => item.address === sourceAddress) || sourceItems[0]); const [ selectedItem, setSelectedItem ] = React.useState(sourceItems.find((item) => item.address_hash === sourceAddress) || sourceItems[0]);
const contractQuery = useApiQuery('contract', { const contractQuery = useApiQuery('contract', {
pathParams: { hash: selectedItem?.address }, pathParams: { hash: selectedItem?.address_hash },
queryOptions: { queryOptions: {
enabled: Boolean(selectedItem?.address && !mainContractQuery.isPlaceholderData), enabled: Boolean(selectedItem?.address_hash && !mainContractQuery.isPlaceholderData),
refetchOnMount: false, refetchOnMount: false,
placeholderData: addressData?.is_verified ? stubs.CONTRACT_CODE_VERIFIED : stubs.CONTRACT_CODE_UNVERIFIED, placeholderData: addressData?.is_verified ? stubs.CONTRACT_CODE_VERIFIED : stubs.CONTRACT_CODE_UNVERIFIED,
}, },
}); });
const { data, isPlaceholderData, isError } = contractQuery; const { data, isPlaceholderData, isError } = contractQuery;
const tabs = useContractDetailsTabs({ data, isLoading: isPlaceholderData, addressData, sourceAddress: selectedItem.address }); const tabs = useContractDetailsTabs({ data, isLoading: isPlaceholderData, addressData, sourceAddress: selectedItem.address_hash });
const handleContractWasVerifiedMessage: SocketMessage.SmartContractWasVerified['handler'] = React.useCallback(() => { const handleContractWasVerifiedMessage: SocketMessage.SmartContractWasVerified['handler'] = React.useCallback(() => {
queryClient.refetchQueries({ queryClient.refetchQueries({
......
...@@ -10,7 +10,7 @@ import AddressEntity from 'ui/shared/entities/address/AddressEntity'; ...@@ -10,7 +10,7 @@ import AddressEntity from 'ui/shared/entities/address/AddressEntity';
import LinkNewTab from 'ui/shared/links/LinkNewTab'; import LinkNewTab from 'ui/shared/links/LinkNewTab';
export interface Item { export interface Item {
address: string; address_hash: string;
name?: string | null | undefined; name?: string | null | undefined;
} }
...@@ -26,14 +26,14 @@ interface Props { ...@@ -26,14 +26,14 @@ interface Props {
const ContractSourceAddressSelector = ({ className, selectedItem, onItemSelect, items, isLoading, label }: Props) => { const ContractSourceAddressSelector = ({ className, selectedItem, onItemSelect, items, isLoading, label }: Props) => {
const handleItemSelect = React.useCallback(({ value }: { value: Array<string> }) => { const handleItemSelect = React.useCallback(({ value }: { value: Array<string> }) => {
const nextOption = items.find(({ address }) => address === value[0]); const nextOption = items.find(({ address_hash: addressHash }) => addressHash === value[0]);
if (nextOption) { if (nextOption) {
onItemSelect(nextOption); onItemSelect(nextOption);
} }
}, [ items, onItemSelect ]); }, [ items, onItemSelect ]);
const collection = React.useMemo(() => { const collection = React.useMemo(() => {
const options = items.map(({ address, name }) => ({ label: name || address, value: address })); const options = items.map(({ address_hash: addressHash, name }) => ({ label: name || addressHash, value: addressHash }));
return createListCollection({ items: options }); return createListCollection({ items: options });
}, [ items ]); }, [ items ]);
...@@ -50,7 +50,7 @@ const ContractSourceAddressSelector = ({ className, selectedItem, onItemSelect, ...@@ -50,7 +50,7 @@ const ContractSourceAddressSelector = ({ className, selectedItem, onItemSelect,
<Flex flexWrap="wrap" columnGap={ 3 } rowGap={ 2 } className={ className }> <Flex flexWrap="wrap" columnGap={ 3 } rowGap={ 2 } className={ className }>
<chakra.span fontWeight={ 500 } fontSize="sm">{ label }</chakra.span> <chakra.span fontWeight={ 500 } fontSize="sm">{ label }</chakra.span>
<AddressEntity <AddressEntity
address={{ hash: items[0].address, is_contract: true, is_verified: true }} address={{ hash: items[0].address_hash, is_contract: true, is_verified: true }}
/> />
</Flex> </Flex>
); );
...@@ -62,17 +62,17 @@ const ContractSourceAddressSelector = ({ className, selectedItem, onItemSelect, ...@@ -62,17 +62,17 @@ const ContractSourceAddressSelector = ({ className, selectedItem, onItemSelect,
<Select <Select
collection={ collection } collection={ collection }
placeholder="Select contract" placeholder="Select contract"
defaultValue={ [ selectedItem.address ] } defaultValue={ [ selectedItem.address_hash ] }
onValueChange={ handleItemSelect } onValueChange={ handleItemSelect }
maxW={{ base: '180px', lg: '400px' }} maxW={{ base: '180px', lg: '400px' }}
w="fit-content" w="fit-content"
loading={ isLoading } loading={ isLoading }
/> />
<Flex alignItems="center"> <Flex alignItems="center">
<CopyToClipboard text={ selectedItem.address } ml={ 0 }/> <CopyToClipboard text={ selectedItem.address_hash } ml={ 0 }/>
<LinkNewTab <LinkNewTab
label="Open contract details page in new tab" label="Open contract details page in new tab"
href={ route({ pathname: '/address/[hash]', query: { hash: selectedItem.address, tab: 'contract' } }) } href={ route({ pathname: '/address/[hash]', query: { hash: selectedItem.address_hash, tab: 'contract' } }) }
/> />
</Flex> </Flex>
</Flex> </Flex>
......
...@@ -28,12 +28,12 @@ const ContractMethodsMudSystem = ({ items }: Props) => { ...@@ -28,12 +28,12 @@ const ContractMethodsMudSystem = ({ items }: Props) => {
const sourceAddress = getQueryParamString(router.query.source_address); const sourceAddress = getQueryParamString(router.query.source_address);
const tab = getQueryParamString(router.query.tab); const tab = getQueryParamString(router.query.tab);
const [ selectedItem, setSelectedItem ] = React.useState(items.find((item) => item.address === sourceAddress) || items[0]); const [ selectedItem, setSelectedItem ] = React.useState(items.find((item) => item.address_hash === sourceAddress) || items[0]);
const systemInfoQuery = useApiQuery('contract_mud_system_info', { const systemInfoQuery = useApiQuery('contract_mud_system_info', {
pathParams: { hash: addressHash, system_address: selectedItem.address }, pathParams: { hash: addressHash, system_address: selectedItem.address_hash },
queryOptions: { queryOptions: {
enabled: Boolean(selectedItem?.address), enabled: Boolean(selectedItem?.address_hash),
refetchOnMount: false, refetchOnMount: false,
}, },
}); });
...@@ -63,7 +63,7 @@ const ContractMethodsMudSystem = ({ items }: Props) => { ...@@ -63,7 +63,7 @@ const ContractMethodsMudSystem = ({ items }: Props) => {
/> />
</div> </div>
<ContractMethodsContainer <ContractMethodsContainer
key={ selectedItem.address } key={ selectedItem.address_hash }
isLoading={ systemInfoQuery.isPending } isLoading={ systemInfoQuery.isPending }
isEmpty={ abi.length === 0 } isEmpty={ abi.length === 0 }
type={ filters.methodType } type={ filters.methodType }
...@@ -74,7 +74,7 @@ const ContractMethodsMudSystem = ({ items }: Props) => { ...@@ -74,7 +74,7 @@ const ContractMethodsMudSystem = ({ items }: Props) => {
tab={ tab } tab={ tab }
addressHash={ addressHash } addressHash={ addressHash }
visibleItems={ filters.visibleItems } visibleItems={ filters.visibleItems }
sourceAddress={ selectedItem.address } sourceAddress={ selectedItem.address_hash }
/> />
</ContractMethodsContainer> </ContractMethodsContainer>
</Flex> </Flex>
......
...@@ -16,9 +16,9 @@ test('with one implementation +@mobile', async({ render, mockApiResponse }) => { ...@@ -16,9 +16,9 @@ test('with one implementation +@mobile', async({ render, mockApiResponse }) => {
}, },
}; };
const implementations = [ const implementations = [
{ address: '0x2F4F4A52295940C576417d29F22EEb92B440eC89', name: 'HomeBridge' }, { address_hash: '0x2F4F4A52295940C576417d29F22EEb92B440eC89', name: 'HomeBridge' },
]; ];
await mockApiResponse('contract', { ...contractMock.verified, abi: methodsMock.read }, { pathParams: { hash: implementations[0].address } }); await mockApiResponse('contract', { ...contractMock.verified, abi: methodsMock.read }, { pathParams: { hash: implementations[0].address_hash } });
const component = await render(<ContractMethodsProxy implementations={ implementations }/>, { hooksConfig }); const component = await render(<ContractMethodsProxy implementations={ implementations }/>, { hooksConfig });
await expect(component).toHaveScreenshot(); await expect(component).toHaveScreenshot();
...@@ -31,10 +31,10 @@ test('with multiple implementations +@mobile', async({ render, mockApiResponse } ...@@ -31,10 +31,10 @@ test('with multiple implementations +@mobile', async({ render, mockApiResponse }
}, },
}; };
const implementations = [ const implementations = [
{ address: '0x2F4F4A52295940C576417d29F22EEb92B440eC89', name: 'HomeBridge' }, { address_hash: '0x2F4F4A52295940C576417d29F22EEb92B440eC89', name: 'HomeBridge' },
{ address: '0xc9e91eDeA9DC16604022e4E5b437Df9c64EdB05A', name: 'Diamond' }, { address_hash: '0xc9e91eDeA9DC16604022e4E5b437Df9c64EdB05A', name: 'Diamond' },
]; ];
await mockApiResponse('contract', { ...contractMock.verified, abi: methodsMock.read }, { pathParams: { hash: implementations[0].address } }); await mockApiResponse('contract', { ...contractMock.verified, abi: methodsMock.read }, { pathParams: { hash: implementations[0].address_hash } });
const component = await render(<ContractMethodsProxy implementations={ implementations }/>, { hooksConfig }); const component = await render(<ContractMethodsProxy implementations={ implementations }/>, { hooksConfig });
await expect(component).toHaveScreenshot(); await expect(component).toHaveScreenshot();
......
...@@ -28,12 +28,12 @@ const ContractMethodsProxy = ({ implementations, isLoading: isInitialLoading, pr ...@@ -28,12 +28,12 @@ const ContractMethodsProxy = ({ implementations, isLoading: isInitialLoading, pr
const tab = getQueryParamString(router.query.tab); const tab = getQueryParamString(router.query.tab);
const addressHash = getQueryParamString(router.query.hash); const addressHash = getQueryParamString(router.query.hash);
const [ selectedItem, setSelectedItem ] = React.useState(implementations.find((item) => item.address === sourceAddress) || implementations[0]); const [ selectedItem, setSelectedItem ] = React.useState(implementations.find((item) => item.address_hash === sourceAddress) || implementations[0]);
const contractQuery = useApiQuery('contract', { const contractQuery = useApiQuery('contract', {
pathParams: { hash: selectedItem.address }, pathParams: { hash: selectedItem.address_hash },
queryOptions: { queryOptions: {
enabled: Boolean(selectedItem.address), enabled: Boolean(selectedItem.address_hash),
refetchOnMount: false, refetchOnMount: false,
}, },
}); });
...@@ -61,7 +61,7 @@ const ContractMethodsProxy = ({ implementations, isLoading: isInitialLoading, pr ...@@ -61,7 +61,7 @@ const ContractMethodsProxy = ({ implementations, isLoading: isInitialLoading, pr
/> />
</div> </div>
<ContractMethodsContainer <ContractMethodsContainer
key={ selectedItem.address } key={ selectedItem.address_hash }
isLoading={ isInitialLoading || contractQuery.isPending } isLoading={ isInitialLoading || contractQuery.isPending }
isEmpty={ abi.length === 0 } isEmpty={ abi.length === 0 }
type={ filters.methodType } type={ filters.methodType }
...@@ -72,7 +72,7 @@ const ContractMethodsProxy = ({ implementations, isLoading: isInitialLoading, pr ...@@ -72,7 +72,7 @@ const ContractMethodsProxy = ({ implementations, isLoading: isInitialLoading, pr
tab={ tab } tab={ tab }
addressHash={ addressHash } addressHash={ addressHash }
visibleItems={ filters.visibleItems } visibleItems={ filters.visibleItems }
sourceAddress={ selectedItem.address } sourceAddress={ selectedItem.address_hash }
/> />
</ContractMethodsContainer> </ContractMethodsContainer>
</Flex> </Flex>
......
...@@ -68,7 +68,7 @@ export default function useContractTabs(data: Address | undefined, isPlaceholder ...@@ -68,7 +68,7 @@ export default function useContractTabs(data: Address | undefined, isPlaceholder
}); });
const verifiedImplementations = React.useMemo(() => { const verifiedImplementations = React.useMemo(() => {
return data?.implementations?.filter(({ name, address }) => name && address && address !== data?.hash) || []; return data?.implementations?.filter(({ name, address_hash: addressHash }) => name && addressHash && addressHash !== data?.hash) || [];
}, [ data?.hash, data?.implementations ]); }, [ data?.hash, data?.implementations ]);
return React.useMemo(() => { return React.useMemo(() => {
......
...@@ -38,9 +38,9 @@ const AddressImplementations = ({ data, isLoading, proxyType }: Props) => { ...@@ -38,9 +38,9 @@ const AddressImplementations = ({ data, isLoading, proxyType }: Props) => {
> >
{ data.map((item) => ( { data.map((item) => (
<AddressEntity <AddressEntity
key={ item.address } key={ item.address_hash }
address={{ address={{
hash: item.address, hash: item.address_hash,
filecoin: { robust: item.filecoin_robust_address }, filecoin: { robust: item.filecoin_robust_address },
name: item.name, name: item.name,
is_contract: true, is_contract: true,
......
...@@ -68,7 +68,7 @@ const TokenSelectItem = ({ data }: Props) => { ...@@ -68,7 +68,7 @@ const TokenSelectItem = ({ data }: Props) => {
} }
})(); })();
const url = route({ pathname: '/token/[hash]', query: { hash: data.token.address } }); const url = route({ pathname: '/token/[hash]', query: { hash: data.token.address_hash } });
return ( return (
<Link <Link
......
...@@ -78,7 +78,7 @@ const TokenSelectMenu = ({ erc20sort, erc1155sort, erc404sort, filteredData, onI ...@@ -78,7 +78,7 @@ const TokenSelectMenu = ({ erc20sort, erc1155sort, erc404sort, filteredData, onI
) } ) }
</Flex> </Flex>
{ tokenInfo.items.sort(sortingFns[type](sortDirection)).map((data) => { tokenInfo.items.sort(sortingFns[type](sortDirection)).map((data) =>
<TokenSelectItem key={ data.token.address + data.token_id } data={ data }/>) } <TokenSelectItem key={ data.token.address_hash + data.token_id } data={ data }/>) }
</Box> </Box>
); );
}) } }) }
......
...@@ -38,7 +38,7 @@ const AddressCollections = ({ collectionsQuery, address, hasActiveFilters }: Pro ...@@ -38,7 +38,7 @@ const AddressCollections = ({ collectionsQuery, address, hasActiveFilters }: Pro
const collectionUrl = route({ const collectionUrl = route({
pathname: '/token/[hash]', pathname: '/token/[hash]',
query: { query: {
hash: item.token.address, hash: item.token.address_hash,
tab: 'inventory', tab: 'inventory',
holder_address_hash: address, holder_address_hash: address,
scroll_to_tabs: 'true', scroll_to_tabs: 'true',
...@@ -46,7 +46,7 @@ const AddressCollections = ({ collectionsQuery, address, hasActiveFilters }: Pro ...@@ -46,7 +46,7 @@ const AddressCollections = ({ collectionsQuery, address, hasActiveFilters }: Pro
}); });
const hasOverload = Number(item.amount) > item.token_instances.length; const hasOverload = Number(item.amount) > item.token_instances.length;
return ( return (
<Box key={ item.token.address + index } mb={ 6 }> <Box key={ item.token.address_hash + index } mb={ 6 }>
<Flex mb={ 3 } flexWrap="wrap" lineHeight="30px"> <Flex mb={ 3 } flexWrap="wrap" lineHeight="30px">
<TokenEntity <TokenEntity
width="auto" width="auto"
...@@ -71,7 +71,7 @@ const AddressCollections = ({ collectionsQuery, address, hasActiveFilters }: Pro ...@@ -71,7 +71,7 @@ const AddressCollections = ({ collectionsQuery, address, hasActiveFilters }: Pro
gridTemplateColumns={{ base: 'repeat(2, calc((100% - 12px)/2))', lg: 'repeat(auto-fill, minmax(210px, 1fr))' }} gridTemplateColumns={{ base: 'repeat(2, calc((100% - 12px)/2))', lg: 'repeat(auto-fill, minmax(210px, 1fr))' }}
> >
{ item.token_instances.map((instance, index) => { { item.token_instances.map((instance, index) => {
const key = item.token.address + '_' + (instance.id && !isPlaceholderData ? `id_${ instance.id }` : `index_${ index }`); const key = item.token.address_hash + '_' + (instance.id && !isPlaceholderData ? `id_${ instance.id }` : `index_${ index }`);
return ( return (
<NFTItem <NFTItem
......
...@@ -34,7 +34,7 @@ const AddressNFTs = ({ tokensQuery, hasActiveFilters }: Props) => { ...@@ -34,7 +34,7 @@ const AddressNFTs = ({ tokensQuery, hasActiveFilters }: Props) => {
gridTemplateColumns={{ base: 'repeat(2, calc((100% - 12px)/2))', lg: 'repeat(auto-fill, minmax(210px, 1fr))' }} gridTemplateColumns={{ base: 'repeat(2, calc((100% - 12px)/2))', lg: 'repeat(auto-fill, minmax(210px, 1fr))' }}
> >
{ data.items.map((item, index) => { { data.items.map((item, index) => {
const key = item.token.address + '_' + (item.id && !isPlaceholderData ? `id_${ item.id }` : `index_${ index }`); const key = item.token.address_hash + '_' + (item.id && !isPlaceholderData ? `id_${ item.id }` : `index_${ index }`);
return ( return (
<NFTItem <NFTItem
......
...@@ -30,7 +30,7 @@ const ERC20Tokens = ({ tokensQuery }: Props) => { ...@@ -30,7 +30,7 @@ const ERC20Tokens = ({ tokensQuery }: Props) => {
<Box hideBelow="lg"><ERC20TokensTable data={ data.items } top={ pagination.isVisible ? 72 : 0 } isLoading={ isPlaceholderData }/></Box> <Box hideBelow="lg"><ERC20TokensTable data={ data.items } top={ pagination.isVisible ? 72 : 0 } isLoading={ isPlaceholderData }/></Box>
<Box hideFrom="lg">{ data.items.map((item, index) => ( <Box hideFrom="lg">{ data.items.map((item, index) => (
<ERC20TokensListItem <ERC20TokensListItem
key={ item.token.address + (isPlaceholderData ? index : '') } key={ item.token.address_hash + (isPlaceholderData ? index : '') }
{ ...item } { ...item }
isLoading={ isPlaceholderData } isLoading={ isPlaceholderData }
/> />
......
...@@ -32,7 +32,7 @@ const ERC20TokensListItem = ({ token, value, isLoading }: Props) => { ...@@ -32,7 +32,7 @@ const ERC20TokensListItem = ({ token, value, isLoading }: Props) => {
</Flex> </Flex>
<Flex alignItems="center" pl={ 8 }> <Flex alignItems="center" pl={ 8 }>
<AddressEntity <AddressEntity
address={{ hash: token.address }} address={{ hash: token.address_hash }}
isLoading={ isLoading } isLoading={ isLoading }
truncation="constant" truncation="constant"
noIcon noIcon
......
...@@ -26,7 +26,7 @@ const ERC20TokensTable = ({ data, top, isLoading }: Props) => { ...@@ -26,7 +26,7 @@ const ERC20TokensTable = ({ data, top, isLoading }: Props) => {
</TableHeaderSticky> </TableHeaderSticky>
<TableBody> <TableBody>
{ data.map((item, index) => ( { data.map((item, index) => (
<ERC20TokensTableItem key={ item.token.address + (isLoading ? index : '') } { ...item } isLoading={ isLoading }/> <ERC20TokensTableItem key={ item.token.address_hash + (isLoading ? index : '') } { ...item } isLoading={ isLoading }/>
)) } )) }
</TableBody> </TableBody>
</TableRoot> </TableRoot>
......
...@@ -37,7 +37,7 @@ const ERC20TokensTableItem = ({ ...@@ -37,7 +37,7 @@ const ERC20TokensTableItem = ({
<TableCell verticalAlign="middle"> <TableCell verticalAlign="middle">
<Flex alignItems="center" width="150px" justifyContent="space-between"> <Flex alignItems="center" width="150px" justifyContent="space-between">
<AddressEntity <AddressEntity
address={{ hash: token.address }} address={{ hash: token.address_hash }}
isLoading={ isLoading } isLoading={ isLoading }
truncation="constant" truncation="constant"
noIcon noIcon
......
...@@ -21,7 +21,7 @@ type Props = AddressNFT & { isLoading: boolean; withTokenLink?: boolean }; ...@@ -21,7 +21,7 @@ type Props = AddressNFT & { isLoading: boolean; withTokenLink?: boolean };
const NFTItem = ({ token, value, isLoading, withTokenLink, ...tokenInstance }: Props) => { const NFTItem = ({ token, value, isLoading, withTokenLink, ...tokenInstance }: Props) => {
const valueResult = token.decimals && value ? getCurrencyValue({ value, decimals: token.decimals, accuracy: 2 }).valueStr : value; const valueResult = token.decimals && value ? getCurrencyValue({ value, decimals: token.decimals, accuracy: 2 }).valueStr : value;
const tokenInstanceLink = tokenInstance.id ? const tokenInstanceLink = tokenInstance.id ?
route({ pathname: '/token/[hash]/instance/[id]', query: { hash: token.address, id: tokenInstance.id } }) : route({ pathname: '/token/[hash]/instance/[id]', query: { hash: token.address_hash, id: tokenInstance.id } }) :
undefined; undefined;
return ( return (
...@@ -41,7 +41,7 @@ const NFTItem = ({ token, value, isLoading, withTokenLink, ...tokenInstance }: P ...@@ -41,7 +41,7 @@ const NFTItem = ({ token, value, isLoading, withTokenLink, ...tokenInstance }: P
<Flex justifyContent="space-between" w="100%" flexWrap="wrap"> <Flex justifyContent="space-between" w="100%" flexWrap="wrap">
<Flex ml={ 1 } overflow="hidden"> <Flex ml={ 1 } overflow="hidden">
<Text whiteSpace="pre" color="text.secondary">ID# </Text> <Text whiteSpace="pre" color="text.secondary">ID# </Text>
<NftEntity hash={ token.address } id={ tokenInstance.id } isLoading={ isLoading } noIcon/> <NftEntity hash={ token.address_hash } id={ tokenInstance.id } isLoading={ isLoading } noIcon/>
</Flex> </Flex>
<Skeleton loading={ isLoading } overflow="hidden" ml={ 1 }> <Skeleton loading={ isLoading } overflow="hidden" ml={ 1 }>
{ valueResult && ( { valueResult && (
......
...@@ -69,7 +69,7 @@ export const sortingFns = { ...@@ -69,7 +69,7 @@ export const sortingFns = {
export const filterTokens = (searchTerm: string) => ({ token }: AddressTokenBalance) => { export const filterTokens = (searchTerm: string) => ({ token }: AddressTokenBalance) => {
if (!token.name) { if (!token.name) {
return !searchTerm ? true : token.address.toLowerCase().includes(searchTerm); return !searchTerm ? true : token.address_hash.toLowerCase().includes(searchTerm);
} }
return token.name?.toLowerCase().includes(searchTerm); return token.name?.toLowerCase().includes(searchTerm);
......
...@@ -16,7 +16,7 @@ interface Props { ...@@ -16,7 +16,7 @@ interface Props {
} }
const tokenBalanceItemIdentityFactory = (match: AddressTokenBalance) => (item: AddressTokenBalance) => (( const tokenBalanceItemIdentityFactory = (match: AddressTokenBalance) => (item: AddressTokenBalance) => ((
match.token.address === item.token.address && match.token.address_hash === item.token.address_hash &&
match.token_id === item.token_id && match.token_id === item.token_id &&
match.token_instance?.id === item.token_instance?.id match.token_instance?.id === item.token_instance?.id
)); ));
......
...@@ -62,7 +62,7 @@ const AddressesListItem = ({ ...@@ -62,7 +62,7 @@ const AddressesListItem = ({
<HStack gap={ 3 }> <HStack gap={ 3 }>
<Skeleton loading={ isLoading } fontSize="sm" fontWeight={ 500 }>Txn count</Skeleton> <Skeleton loading={ isLoading } fontSize="sm" fontWeight={ 500 }>Txn count</Skeleton>
<Skeleton loading={ isLoading } fontSize="sm" color="text.secondary"> <Skeleton loading={ isLoading } fontSize="sm" color="text.secondary">
<span>{ Number(item.transaction_count).toLocaleString() }</span> <span>{ Number(item.transactions_count).toLocaleString() }</span>
</Skeleton> </Skeleton>
</HStack> </HStack>
</ListItemMobile> </ListItemMobile>
......
...@@ -62,7 +62,7 @@ const AddressesTableItem = ({ ...@@ -62,7 +62,7 @@ const AddressesTableItem = ({
) } ) }
<TableCell isNumeric> <TableCell isNumeric>
<Skeleton loading={ isLoading } display="inline-block" lineHeight="24px"> <Skeleton loading={ isLoading } display="inline-block" lineHeight="24px">
{ Number(item.transaction_count).toLocaleString() } { Number(item.transactions_count).toLocaleString() }
</Skeleton> </Skeleton>
</TableCell> </TableCell>
</TableRow> </TableRow>
......
...@@ -39,7 +39,7 @@ const AddressesLabelSearchListItem = ({ ...@@ -39,7 +39,7 @@ const AddressesLabelSearchListItem = ({
<HStack gap={ 3 }> <HStack gap={ 3 }>
<Skeleton loading={ isLoading } fontSize="sm" fontWeight={ 500 }>Txn count</Skeleton> <Skeleton loading={ isLoading } fontSize="sm" fontWeight={ 500 }>Txn count</Skeleton>
<Skeleton loading={ isLoading } fontSize="sm" color="text.secondary"> <Skeleton loading={ isLoading } fontSize="sm" color="text.secondary">
<span>{ Number(item.transaction_count).toLocaleString() }</span> <span>{ Number(item.transactions_count).toLocaleString() }</span>
</Skeleton> </Skeleton>
</HStack> </HStack>
</ListItemMobile> </ListItemMobile>
......
...@@ -40,7 +40,7 @@ const AddressesLabelSearchTableItem = ({ ...@@ -40,7 +40,7 @@ const AddressesLabelSearchTableItem = ({
</TableCell> </TableCell>
<TableCell isNumeric> <TableCell isNumeric>
<Skeleton loading={ isLoading } display="inline-block" lineHeight="24px"> <Skeleton loading={ isLoading } display="inline-block" lineHeight="24px">
{ Number(item.transaction_count).toLocaleString() } { Number(item.transactions_count).toLocaleString() }
</Skeleton> </Skeleton>
</TableCell> </TableCell>
</TableRow> </TableRow>
......
...@@ -101,6 +101,6 @@ export const NATIVE_TOKEN = { ...@@ -101,6 +101,6 @@ export const NATIVE_TOKEN = {
name: config.chain.currency.name || '', name: config.chain.currency.name || '',
icon_url: '', icon_url: '',
symbol: config.chain.currency.symbol || '', symbol: config.chain.currency.symbol || '',
address: 'native', address_hash: 'native',
type: 'ERC-20' as const, type: 'ERC-20' as const,
} as TokenInfo; } as TokenInfo;
...@@ -74,16 +74,16 @@ const AssetFilter = ({ value = [], handleFilterChange }: Props) => { ...@@ -74,16 +74,16 @@ const AssetFilter = ({ value = [], handleFilterChange }: Props) => {
}); });
const onTokenClick = React.useCallback((token: TokenInfo) => () => { const onTokenClick = React.useCallback((token: TokenInfo) => () => {
setCurrentValue(prev => prev.findIndex(i => i.token.address === token.address) > -1 ? prev : [ { token, mode: 'include' }, ...prev ]); setCurrentValue(prev => prev.findIndex(i => i.token.address_hash === token.address_hash) > -1 ? prev : [ { token, mode: 'include' }, ...prev ]);
}, []); }, []);
const onReset = React.useCallback(() => setCurrentValue([]), []); const onReset = React.useCallback(() => setCurrentValue([]), []);
const onFilter = React.useCallback(() => { const onFilter = React.useCallback(() => {
setSearchTerm(''); setSearchTerm('');
handleFilterChange(FILTER_PARAM_INCLUDE, currentValue.filter(i => i.mode === 'include').map(i => i.token.address)); handleFilterChange(FILTER_PARAM_INCLUDE, currentValue.filter(i => i.mode === 'include').map(i => i.token.address_hash));
handleFilterChange(NAME_PARAM_INCLUDE, currentValue.filter(i => i.mode === 'include').map(i => i.token.symbol || '')); handleFilterChange(NAME_PARAM_INCLUDE, currentValue.filter(i => i.mode === 'include').map(i => i.token.symbol || ''));
handleFilterChange(FILTER_PARAM_EXCLUDE, currentValue.filter(i => i.mode === 'exclude').map(i => i.token.address)); handleFilterChange(FILTER_PARAM_EXCLUDE, currentValue.filter(i => i.mode === 'exclude').map(i => i.token.address_hash));
handleFilterChange(NAME_PARAM_EXCLUDE, currentValue.filter(i => i.mode === 'exclude').map(i => i.token.symbol || '')); handleFilterChange(NAME_PARAM_EXCLUDE, currentValue.filter(i => i.mode === 'exclude').map(i => i.token.symbol || ''));
return; return;
}, [ handleFilterChange, currentValue ]); }, [ handleFilterChange, currentValue ]);
...@@ -104,7 +104,7 @@ const AssetFilter = ({ value = [], handleFilterChange }: Props) => { ...@@ -104,7 +104,7 @@ const AssetFilter = ({ value = [], handleFilterChange }: Props) => {
initialValue={ searchTerm } initialValue={ searchTerm }
/> />
{ !searchTerm && currentValue.map((item, index) => ( { !searchTerm && currentValue.map((item, index) => (
<Flex key={ item.token.address } alignItems="center"> <Flex key={ item.token.address_hash } alignItems="center">
<Select <Select
size="sm" size="sm"
value={ [ item.mode ] } value={ [ item.mode ] }
...@@ -126,14 +126,14 @@ const AssetFilter = ({ value = [], handleFilterChange }: Props) => { ...@@ -126,14 +126,14 @@ const AssetFilter = ({ value = [], handleFilterChange }: Props) => {
<Flex rowGap={ 3 } flexWrap="wrap" gap={ 3 } mb={ 2 }> <Flex rowGap={ 3 } flexWrap="wrap" gap={ 3 } mb={ 2 }>
{ [ NATIVE_TOKEN, ...tokensQuery.data.items ].map(token => ( { [ NATIVE_TOKEN, ...tokensQuery.data.items ].map(token => (
<Tag <Tag
key={ token.address } key={ token.address_hash }
data-id={ token.address } data-id={ token.address_hash }
onClick={ onTokenClick(token) } onClick={ onTokenClick(token) }
variant="select" variant="select"
> >
<Flex flexGrow={ 1 } alignItems="center"> <Flex flexGrow={ 1 } alignItems="center">
{ token.address === NATIVE_TOKEN.address ? <NativeTokenIcon boxSize={ 5 } mr={ 2 }/> : <TokenEntity.Icon token={ token }/> } { token.address_hash === NATIVE_TOKEN.address_hash ? <NativeTokenIcon boxSize={ 5 } mr={ 2 }/> : <TokenEntity.Icon token={ token }/> }
{ token.symbol || token.name || token.address } { token.symbol || token.name || token.address_hash }
</Flex> </Flex>
</Tag> </Tag>
)) } )) }
...@@ -143,12 +143,12 @@ const AssetFilter = ({ value = [], handleFilterChange }: Props) => { ...@@ -143,12 +143,12 @@ const AssetFilter = ({ value = [], handleFilterChange }: Props) => {
{ searchTerm && tokensQuery.data && !tokensQuery.data?.items.length && <Text>No tokens found</Text> } { searchTerm && tokensQuery.data && !tokensQuery.data?.items.length && <Text>No tokens found</Text> }
{ searchTerm && tokensQuery.data && Boolean(tokensQuery.data?.items.length) && ( { searchTerm && tokensQuery.data && Boolean(tokensQuery.data?.items.length) && (
<Flex display="flex" flexDir="column" rowGap={ 3 } maxH="250px" overflowY="scroll" mt={ 3 } ml="-4px"> <Flex display="flex" flexDir="column" rowGap={ 3 } maxH="250px" overflowY="scroll" mt={ 3 } ml="-4px">
<CheckboxGroup value={ currentValue.map(i => i.token.address) } orientation="vertical"> <CheckboxGroup value={ currentValue.map(i => i.token.address_hash) } orientation="vertical">
{ tokensQuery.data.items.map(token => ( { tokensQuery.data.items.map(token => (
<Checkbox <Checkbox
key={ token.address } key={ token.address_hash }
value={ token.address } value={ token.address_hash }
id={ token.address } id={ token.address_hash }
onChange={ onTokenClick(token) } onChange={ onTokenClick(token) }
overflow="hidden" overflow="hidden"
w="100%" w="100%"
......
...@@ -114,7 +114,7 @@ const BlockDetails = ({ query }: Props) => { ...@@ -114,7 +114,7 @@ const BlockDetails = ({ query }: Props) => {
const txsNum = (() => { const txsNum = (() => {
const blockTxsNum = ( const blockTxsNum = (
<Link href={ route({ pathname: '/block/[height_or_hash]', query: { height_or_hash: heightOrHash, tab: 'txs' } }) }> <Link href={ route({ pathname: '/block/[height_or_hash]', query: { height_or_hash: heightOrHash, tab: 'txs' } }) }>
{ data.transaction_count } txn{ data.transaction_count === 1 ? '' : 's' } { data.transactions_count } txn{ data.transactions_count === 1 ? '' : 's' }
</Link> </Link>
); );
...@@ -179,7 +179,7 @@ const BlockDetails = ({ query }: Props) => { ...@@ -179,7 +179,7 @@ const BlockDetails = ({ query }: Props) => {
L1 block height L1 block height
</DetailedInfo.ItemLabel> </DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue> <DetailedInfo.ItemValue>
<BlockEntityL1 isLoading={ isPlaceholderData } number={ data.arbitrum.l1_block_height }/> <BlockEntityL1 isLoading={ isPlaceholderData } number={ data.arbitrum.l1_block_number }/>
</DetailedInfo.ItemValue> </DetailedInfo.ItemValue>
</> </>
) } ) }
...@@ -209,8 +209,8 @@ const BlockDetails = ({ query }: Props) => { ...@@ -209,8 +209,8 @@ const BlockDetails = ({ query }: Props) => {
Batch Batch
</DetailedInfo.ItemLabel> </DetailedInfo.ItemLabel>
<DetailedInfo.ItemValue columnGap={ 3 }> <DetailedInfo.ItemValue columnGap={ 3 }>
{ data.optimism.internal_id ? { data.optimism.number ?
<BatchEntityL2 isLoading={ isPlaceholderData } number={ data.optimism.internal_id }/> : <BatchEntityL2 isLoading={ isPlaceholderData } number={ data.optimism.number }/> :
<Skeleton loading={ isPlaceholderData }>Pending</Skeleton> } <Skeleton loading={ isPlaceholderData }>Pending</Skeleton> }
{ data.optimism.batch_data_container && ( { data.optimism.batch_data_container && (
<OptimisticL2TxnBatchDA <OptimisticL2TxnBatchDA
......
...@@ -65,7 +65,7 @@ export default function useBlockQuery({ heightOrHash }: Params): BlockQuery { ...@@ -65,7 +65,7 @@ export default function useBlockQuery({ heightOrHash }: Params): BlockQuery {
return { return {
height: Number(block.number), height: Number(block.number),
timestamp: dayjs.unix(Number(block.timestamp)).format(), timestamp: dayjs.unix(Number(block.timestamp)).format(),
transaction_count: block.transactions.length, transactions_count: block.transactions.length,
miner: { ...unknownAddress, hash: block.miner }, miner: { ...unknownAddress, hash: block.miner },
size: Number(block.size), size: Number(block.size),
hash: block.hash, hash: block.hash,
......
...@@ -84,14 +84,14 @@ const BlocksListItem = ({ data, isLoading, enableTimeIncrement, animation }: Pro ...@@ -84,14 +84,14 @@ const BlocksListItem = ({ data, isLoading, enableTimeIncrement, animation }: Pro
) } ) }
<Flex columnGap={ 2 }> <Flex columnGap={ 2 }>
<Text fontWeight={ 500 }>Txn</Text> <Text fontWeight={ 500 }>Txn</Text>
{ data.transaction_count > 0 ? ( { data.transactions_count > 0 ? (
<Skeleton loading={ isLoading } display="inline-block"> <Skeleton loading={ isLoading } display="inline-block">
<Link href={ route({ pathname: '/block/[height_or_hash]', query: { height_or_hash: String(data.height), tab: 'txs' } }) }> <Link href={ route({ pathname: '/block/[height_or_hash]', query: { height_or_hash: String(data.height), tab: 'txs' } }) }>
{ data.transaction_count } { data.transactions_count }
</Link> </Link>
</Skeleton> </Skeleton>
) : ) :
<Text color="text.secondary">{ data.transaction_count }</Text> <Text color="text.secondary">{ data.transactions_count }</Text>
} }
</Flex> </Flex>
<Box> <Box>
......
...@@ -83,16 +83,16 @@ const BlocksTableItem = ({ data, isLoading, enableTimeIncrement, animation }: Pr ...@@ -83,16 +83,16 @@ const BlocksTableItem = ({ data, isLoading, enableTimeIncrement, animation }: Pr
</TableCell> </TableCell>
) } ) }
<TableCell isNumeric > <TableCell isNumeric >
{ data.transaction_count > 0 ? ( { data.transactions_count > 0 ? (
<Skeleton loading={ isLoading } display="inline-block"> <Skeleton loading={ isLoading } display="inline-block">
<Link href={ route({ <Link href={ route({
pathname: '/block/[height_or_hash]', pathname: '/block/[height_or_hash]',
query: { height_or_hash: String(data.height), tab: 'txs' }, query: { height_or_hash: String(data.height), tab: 'txs' },
}) }> }) }>
{ data.transaction_count } { data.transactions_count }
</Link> </Link>
</Skeleton> </Skeleton>
) : data.transaction_count } ) : data.transactions_count }
</TableCell> </TableCell>
<TableCell > <TableCell >
<Skeleton loading={ isLoading } display="inline-block">{ BigNumber(data.gas_used || 0).toFormat() }</Skeleton> <Skeleton loading={ isLoading } display="inline-block">{ BigNumber(data.gas_used || 0).toFormat() }</Skeleton>
......
...@@ -35,8 +35,8 @@ const OptimisticL2DisputeGamesListItem = ({ item, isLoading }: Props) => { ...@@ -35,8 +35,8 @@ const OptimisticL2DisputeGamesListItem = ({ item, isLoading }: Props) => {
<ListItemMobileGrid.Label isLoading={ isLoading }>Address</ListItemMobileGrid.Label> <ListItemMobileGrid.Label isLoading={ isLoading }>Address</ListItemMobileGrid.Label>
<ListItemMobileGrid.Value color="text"> <ListItemMobileGrid.Value color="text">
<Skeleton loading={ isLoading } display="flex" overflow="hidden" w="100%" alignItems="center"> <Skeleton loading={ isLoading } display="flex" overflow="hidden" w="100%" alignItems="center">
<HashStringShorten hash={ item.contract_address } type="long"/> <HashStringShorten hash={ item.contract_address_hash } type="long"/>
<CopyToClipboard text={ item.contract_address } ml={ 2 } isLoading={ isLoading }/> <CopyToClipboard text={ item.contract_address_hash } ml={ 2 } isLoading={ isLoading }/>
</Skeleton> </Skeleton>
</ListItemMobileGrid.Value> </ListItemMobileGrid.Value>
......
...@@ -31,9 +31,9 @@ const OptimisticL2DisputeGamesTableItem = ({ item, isLoading }: Props) => { ...@@ -31,9 +31,9 @@ const OptimisticL2DisputeGamesTableItem = ({ item, isLoading }: Props) => {
<TableCell verticalAlign="middle"> <TableCell verticalAlign="middle">
<Flex overflow="hidden" w="100%" alignItems="center"> <Flex overflow="hidden" w="100%" alignItems="center">
<Skeleton loading={ isLoading }> <Skeleton loading={ isLoading }>
<HashStringShorten hash={ item.contract_address } type="long"/> <HashStringShorten hash={ item.contract_address_hash } type="long"/>
</Skeleton> </Skeleton>
<CopyToClipboard text={ item.contract_address } ml={ 2 } isLoading={ isLoading }/> <CopyToClipboard text={ item.contract_address_hash } ml={ 2 } isLoading={ isLoading }/>
</Flex> </Flex>
</TableCell> </TableCell>
<TableCell verticalAlign="middle"> <TableCell verticalAlign="middle">
......
...@@ -56,7 +56,7 @@ const LatestBlocksItem = ({ block, isLoading, animation }: Props) => { ...@@ -56,7 +56,7 @@ const LatestBlocksItem = ({ block, isLoading, animation }: Props) => {
</Flex> </Flex>
<Grid gridGap={ 2 } templateColumns="auto minmax(0, 1fr)" textStyle="sm"> <Grid gridGap={ 2 } templateColumns="auto minmax(0, 1fr)" textStyle="sm">
<Skeleton loading={ isLoading }>Txn</Skeleton> <Skeleton loading={ isLoading }>Txn</Skeleton>
<Skeleton loading={ isLoading } color="text.secondary"><span>{ block.transaction_count }</span></Skeleton> <Skeleton loading={ isLoading } color="text.secondary"><span>{ block.transactions_count }</span></Skeleton>
{ !config.features.rollup.isEnabled && !config.UI.views.block.hiddenFields?.total_reward && ( { !config.features.rollup.isEnabled && !config.UI.views.block.hiddenFields?.total_reward && (
<> <>
......
...@@ -70,7 +70,7 @@ export default function useChartDataQuery(indicatorId: ChainIndicatorId): UseFet ...@@ -70,7 +70,7 @@ export default function useChartDataQuery(indicatorId: ChainIndicatorId): UseFet
queryOptions: { queryOptions: {
refetchOnMount: false, refetchOnMount: false,
enabled: !isStatsFeatureEnabled && indicatorId === 'daily_txs', enabled: !isStatsFeatureEnabled && indicatorId === 'daily_txs',
select: (data) => data.chart_data.map((item) => ({ date: new Date(item.date), value: item.transaction_count })), select: (data) => data.chart_data.map((item) => ({ date: new Date(item.date), value: item.transactions_count })),
}, },
}); });
......
...@@ -76,7 +76,7 @@ const LatestZkEvmL2Batches = () => { ...@@ -76,7 +76,7 @@ const LatestZkEvmL2Batches = () => {
<LatestBatchItem <LatestBatchItem
key={ batch.number + (isPlaceholderData ? String(index) : '') } key={ batch.number + (isPlaceholderData ? String(index) : '') }
number={ batch.number } number={ batch.number }
txCount={ batch.transaction_count } txCount={ batch.transactions_count }
timestamp={ batch.timestamp } timestamp={ batch.timestamp }
status={ status } status={ status }
isLoading={ isPlaceholderData } isLoading={ isPlaceholderData }
......
...@@ -53,7 +53,7 @@ const ArbitrumL2MessagesListItem = ({ item, isLoading, direction }: Props) => { ...@@ -53,7 +53,7 @@ const ArbitrumL2MessagesListItem = ({ item, isLoading, direction }: Props) => {
<ListItemMobileGrid.Label isLoading={ isLoading }>From</ListItemMobileGrid.Label> <ListItemMobileGrid.Label isLoading={ isLoading }>From</ListItemMobileGrid.Label>
<ListItemMobileGrid.Value> <ListItemMobileGrid.Value>
<AddressEntity <AddressEntity
address={{ hash: item.origination_address }} address={{ hash: item.origination_address_hash }}
truncation="constant" truncation="constant"
isLoading={ isLoading } isLoading={ isLoading }
fontWeight={ 600 } fontWeight={ 600 }
......
...@@ -47,7 +47,7 @@ const ArbitrumL2MessagesTableItem = ({ item, direction, isLoading }: Props) => { ...@@ -47,7 +47,7 @@ const ArbitrumL2MessagesTableItem = ({ item, direction, isLoading }: Props) => {
{ direction === 'from-rollup' && ( { direction === 'from-rollup' && (
<TableCell verticalAlign="middle"> <TableCell verticalAlign="middle">
<AddressEntity <AddressEntity
address={{ hash: item.origination_address }} address={{ hash: item.origination_address_hash }}
truncation="constant" truncation="constant"
isLoading={ isLoading } isLoading={ isLoading }
fontWeight={ 600 } fontWeight={ 600 }
......
...@@ -40,7 +40,7 @@ const MudWorldsListItem = ({ ...@@ -40,7 +40,7 @@ const MudWorldsListItem = ({
<HStack gap={ 3 }> <HStack gap={ 3 }>
<Skeleton loading={ isLoading } fontSize="sm" fontWeight={ 500 }>Txn count</Skeleton> <Skeleton loading={ isLoading } fontSize="sm" fontWeight={ 500 }>Txn count</Skeleton>
<Skeleton loading={ isLoading } fontSize="sm" color="text.secondary"> <Skeleton loading={ isLoading } fontSize="sm" color="text.secondary">
<span>{ Number(item.transaction_count).toLocaleString() }</span> <span>{ Number(item.transactions_count).toLocaleString() }</span>
</Skeleton> </Skeleton>
</HStack> </HStack>
</ListItemMobile> </ListItemMobile>
......
...@@ -28,7 +28,7 @@ const MudWorldsTableItem = ({ item, isLoading }: Props) => { ...@@ -28,7 +28,7 @@ const MudWorldsTableItem = ({ item, isLoading }: Props) => {
</TableCell> </TableCell>
<TableCell isNumeric> <TableCell isNumeric>
<Skeleton loading={ isLoading } display="inline-block" lineHeight="24px"> <Skeleton loading={ isLoading } display="inline-block" lineHeight="24px">
{ Number(item.transaction_count).toLocaleString() } { Number(item.transactions_count).toLocaleString() }
</Skeleton> </Skeleton>
</TableCell> </TableCell>
</TableRow> </TableRow>
......
...@@ -11,23 +11,23 @@ const addresses: AddressesResponse = { ...@@ -11,23 +11,23 @@ const addresses: AddressesResponse = {
items: [ items: [
{ {
...addressMocks.withName, ...addressMocks.withName,
transaction_count: '1', transactions_count: '1',
coin_balance: '12345678901234567890000', coin_balance: '12345678901234567890000',
}, },
{ {
...addressMocks.token, ...addressMocks.token,
transaction_count: '109123890123', transactions_count: '109123890123',
coin_balance: '22222345678901234567890000', coin_balance: '22222345678901234567890000',
ens_domain_name: null, ens_domain_name: null,
}, },
{ {
...addressMocks.withoutName, ...addressMocks.withoutName,
transaction_count: '11', transactions_count: '11',
coin_balance: '1000000000000000000', coin_balance: '1000000000000000000',
}, },
{ {
...addressMocks.eoa, ...addressMocks.eoa,
transaction_count: '420', transactions_count: '420',
coin_balance: '123456', coin_balance: '123456',
}, },
], ],
......
...@@ -11,23 +11,23 @@ const addresses: AddressesMetadataSearchResult = { ...@@ -11,23 +11,23 @@ const addresses: AddressesMetadataSearchResult = {
items: [ items: [
{ {
...addressMocks.withName, ...addressMocks.withName,
transaction_count: '1', transactions_count: '1',
coin_balance: '12345678901234567890000', coin_balance: '12345678901234567890000',
}, },
{ {
...addressMocks.token, ...addressMocks.token,
transaction_count: '109123890123', transactions_count: '109123890123',
coin_balance: '22222345678901234567890000', coin_balance: '22222345678901234567890000',
ens_domain_name: null, ens_domain_name: null,
}, },
{ {
...addressMocks.withoutName, ...addressMocks.withoutName,
transaction_count: '11', transactions_count: '11',
coin_balance: '1000000000000000000', coin_balance: '1000000000000000000',
}, },
{ {
...addressMocks.eoa, ...addressMocks.eoa,
transaction_count: '420', transactions_count: '420',
coin_balance: null, coin_balance: null,
}, },
], ],
......
...@@ -10,7 +10,7 @@ test('base view +@mobile', async({ render, mockEnvs, mockTextAd, mockApiResponse ...@@ -10,7 +10,7 @@ test('base view +@mobile', async({ render, mockEnvs, mockTextAd, mockApiResponse
await mockEnvs(ENVS_MAP.beaconChain); await mockEnvs(ENVS_MAP.beaconChain);
await mockTextAd(); await mockTextAd();
await mockApiResponse('withdrawals', withdrawalsData); await mockApiResponse('withdrawals', withdrawalsData);
await mockApiResponse('withdrawals_counters', { withdrawal_count: '111111', withdrawal_sum: '1010101010110101001101010' }); await mockApiResponse('withdrawals_counters', { withdrawals_count: '111111', withdrawals_sum: '1010101010110101001101010' });
const component = await render(<BeaconChainWithdrawals/>); const component = await render(<BeaconChainWithdrawals/>);
await expect(component).toHaveScreenshot(); await expect(component).toHaveScreenshot();
}); });
...@@ -33,8 +33,8 @@ const Withdrawals = () => { ...@@ -33,8 +33,8 @@ const Withdrawals = () => {
const countersQuery = useApiQuery('withdrawals_counters', { const countersQuery = useApiQuery('withdrawals_counters', {
queryOptions: { queryOptions: {
placeholderData: { placeholderData: {
withdrawal_count: '19091878', withdrawals_count: '19091878',
withdrawal_sum: '4630710684332438', withdrawals_sum: '4630710684332438',
}, },
}, },
}); });
...@@ -71,8 +71,8 @@ const Withdrawals = () => { ...@@ -71,8 +71,8 @@ const Withdrawals = () => {
<Skeleton loading={ countersQuery.isPlaceholderData || isPlaceholderData } display="flex" flexWrap="wrap"> <Skeleton loading={ countersQuery.isPlaceholderData || isPlaceholderData } display="flex" flexWrap="wrap">
{ countersQuery.data && ( { countersQuery.data && (
<Text lineHeight={{ base: '24px', lg: '32px' }}> <Text lineHeight={{ base: '24px', lg: '32px' }}>
{ BigNumber(countersQuery.data.withdrawal_count).toFormat() } withdrawals processed { BigNumber(countersQuery.data.withdrawals_count).toFormat() } withdrawals processed
and { getCurrencyValue({ value: countersQuery.data.withdrawal_sum }).valueStr } { currencyUnits.ether } withdrawn and { getCurrencyValue({ value: countersQuery.data.withdrawals_sum }).valueStr } { currencyUnits.ether } withdrawn
</Text> </Text>
) } ) }
</Skeleton> </Skeleton>
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment