Merge branch 'main' of github.com:blockscout/frontend into release/v2-0-0

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

Some files were not shown because too many files have changed in this diff Show More