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 = {
has_validated_blocks: false,
hash: hash,
implementations: [
{ address: '0x2F4F4A52295940C576417d29F22EEb92B440eC89', name: 'HomeBridge' },
{ address_hash: '0x2F4F4A52295940C576417d29F22EEb92B440eC89', name: 'HomeBridge' },
],
is_contract: true,
is_verified: true,
......
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 },
];
......@@ -26,7 +26,7 @@ export const baseResponse: AdvancedFilterResponse = {
hash: '0x1c479675ad559DC151F6Ec7ed3FbF8ceE79582B6',
implementations: [
{
address: '0x31DA64D19Cd31A19CD09F4070366Fe2144792cf7',
address_hash: '0x31DA64D19Cd31A19CD09F4070366Fe2144792cf7',
name: 'SequencerInbox',
},
],
......
......@@ -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',
......
......@@ -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,
......
......@@ -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',
},
};
......@@ -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',
......
......@@ -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,
......
......@@ -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',
};
......
......@@ -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: {
......
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,
......
......@@ -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,
};
......@@ -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: {
......
......@@ -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',
......
......@@ -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 },
],
};
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',
......
......@@ -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',
......
......@@ -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',
......
......@@ -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',
......
......@@ -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',
......
......@@ -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',
};
......@@ -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',
};
......@@ -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: {
......
......@@ -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',
};
......@@ -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 = {
......
......@@ -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,
......
......@@ -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,
......
......@@ -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,
......
......@@ -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: [],
......
......@@ -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,
},
],
};
......@@ -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,
};
......@@ -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',
},
......
......@@ -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,
......
......@@ -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',
......
......@@ -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 = {
......
......@@ -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 = {
......
......@@ -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',
};
......@@ -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;
}
......
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>;
......
......@@ -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 = [
......
......@@ -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>;
......
export interface ChartTransactionItem {
date: string;
transaction_count: number | null;
transactions_count: number | null;
}
export interface ChartMarketItem {
......
......@@ -159,7 +159,7 @@ export interface SmartContractMudSystemsResponse {
}
export interface SmartContractMudSystemItem {
address: string;
address_hash: string;
name: string;
}
......
......@@ -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;
......
......@@ -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 = {
......
......@@ -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;
......
......@@ -25,9 +25,9 @@ export type ScrollL2TxnBatch = {
number: number;
commitment_transaction: ScrollL2TxnBatchCommitmentTransaction;
confirmation_transaction: ScrollL2TxnBatchConfirmationTransaction;
start_block: number;
end_block: number;
transaction_count: number;
start_block_number: number;
end_block_number: number;
transactions_count: number;
data_availability: {
batch_data_container: 'in_blob4844' | 'in_calldata';
};
......
......@@ -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;
......
......@@ -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;
......
......@@ -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';
}
......
......@@ -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;
......
......@@ -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 {
......
......@@ -18,6 +18,6 @@ export type WithdrawalsItem = {
};
export type WithdrawalsCounters = {
withdrawal_count: string;
withdrawal_sum: string;
withdrawals_count: string;
withdrawals_sum: string;
};
......@@ -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 = {
......
......@@ -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;
}
......
......@@ -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>
......
......@@ -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() }`);
......
......@@ -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>
......
......@@ -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,
......
......@@ -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
......
......@@ -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>
);
}) }
......
......@@ -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
......
......@@ -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
......
......@@ -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 }
/>
......
......@@ -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
......
......@@ -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>
......
......@@ -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
......
......@@ -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 && (
......
......@@ -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);
......
......@@ -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
));
......
......@@ -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>
......
......@@ -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>
......
......@@ -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;
......@@ -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%"
......
......@@ -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
......
......@@ -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,
......
......@@ -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>
......
......@@ -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">
......
......@@ -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 && (
<>
......
......@@ -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 }
......
......@@ -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 }
......
......@@ -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 }
......
......@@ -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>
......
......@@ -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>
......
......@@ -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',
},
],
......
......@@ -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,
},
],
......
......@@ -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();
});
......@@ -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>
......
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