Commit e2901481 authored by isstuev's avatar isstuev

output roots

parent 80c06fc8
...@@ -140,6 +140,12 @@ The app instance could be customized by passing following variables to NodeJS en ...@@ -140,6 +140,12 @@ The app instance could be customized by passing following variables to NodeJS en
| NEXT_PUBLIC_IS_L2_NETWORK | `boolean` *(optional)* | Set to true for L2 solutions (Optimism Bedrock based) | false | | NEXT_PUBLIC_IS_L2_NETWORK | `boolean` *(optional)* | Set to true for L2 solutions (Optimism Bedrock based) | false |
| NEXT_PUBLIC_L1_BASE_URL | `string` *(optional)* | Base Blockscout URL for L1 network | `'http://eth-goerli.blockscout.com'` | | NEXT_PUBLIC_L1_BASE_URL | `string` *(optional)* | Base Blockscout URL for L1 network | `'http://eth-goerli.blockscout.com'` |
### L2 configuration
| Variable | Type | Description | Default value
| --- | --- | --- | --- |
| NEXT_PUBLIC_IS_L2_NETWORK | `boolean` *(optional)* | Set to true for L2 solutions (Optimism Bedrock based) | false |
| NEXT_PUBLIC_L1_BASE_URL | `string` *(optional)* | Base Blockscout URL for L1 network | `'http://eth-goerli.blockscout.com'` |
### Marketplace app configuration properties ### Marketplace app configuration properties
| Property | Type | Description | Example value | Property | Type | Description | Example value
......
...@@ -95,6 +95,8 @@ const config = Object.freeze({ ...@@ -95,6 +95,8 @@ const config = Object.freeze({
baseUrl, baseUrl,
authUrl, authUrl,
logoutUrl, logoutUrl,
isL2Network: getEnvValue(process.env.NEXT_PUBLIC_IS_L2_NETWORK) === 'true',
l1BaseUrl: getEnvValue(process.env.NEXT_PUBLIC_L1_BASE_URL),
ad: { ad: {
domainWithAd: getEnvValue(process.env.NEXT_PUBLIC_AD_DOMAIN_WITH_AD) || 'blockscout.com', domainWithAd: getEnvValue(process.env.NEXT_PUBLIC_AD_DOMAIN_WITH_AD) || 'blockscout.com',
adButlerOn: getEnvValue(process.env.NEXT_PUBLIC_AD_ADBUTLER_ON) === 'true', adButlerOn: getEnvValue(process.env.NEXT_PUBLIC_AD_ADBUTLER_ON) === 'true',
......
# ui config
NEXT_PUBLIC_FEATURED_NETWORKS=[{'title':'Ethereum','url':'https://blockscout.com/eth/mainnet','group':'mainnets','type':'eth_mainnet'},{'title':'Ethereum Classic','url':'https://blockscout.com/etx/mainnet','group':'mainnets','type':'etc_mainnet'},{'title':'Gnosis Chain','url':'https://blockscout.com/xdai/mainnet','group':'mainnets','type':'xdai_mainnet'},{'title':'Astar (EVM)','url':'https://blockscout.com/astar','group':'mainnets','type':'astar'},{'title':'Shiden (EVM)','url':'https://blockscout.com/shiden','group':'mainnets','type':'astar'},{'title':'Klaytn Mainnet (Cypress)','url':'https://klaytn-mainnet.aws-k8s.blockscout.com/','group':'mainnets','type':'klaytn'},{'title':'Goerli','url':'https://blockscout.com/eth/goerli/','group':'testnets','type':'goerli'},{'title':'Optimism Goerli','url':'https://blockscout.com/optimism/goerli/','group':'testnets','type':'optimism_goerli'},{'title':'Optimism Bedrock Alpha','url':'https://blockscout.com/optimism/bedrock-alpha','group':'testnets','type':'optimism_bedrock_alpha'},{'title':'Gnosis Chiado','url':'https://blockscout.com/gnosis/chiado/','group':'testnets','type':'gnosis_chiado'},{'title':'Shibuya (EVM)','url':'https://blockscout.com/shibuya','group':'testnets','type':'shibuya'},{'title':'Optimism Opcraft','url':'https://blockscout.com/optimism/opcraft','group':'other','type':'optimism_opcraft'},{'title':'Optimism on Gnosis Chain','url':'https://blockscout.com/xdai/optimism','group':'other','type':'optimism_gnosis'},{'title':'ARTIS-Σ1','url':'https://blockscout.com/artis/sigma1','group':'other','type':'artis_sigma1'},{'title':'LUKSO L14','url':'https://blockscout.com/lukso/l14','group':'other','type':'lukso_l14'},{'title':'POA','url':'https://blockscout.com/poa/core','group':'other','type':'poa_core'},{'title':'POA Sokol','url':'https://blockscout.com/poa/sokol','group':'other','type':'poa_sokol'}]
NEXT_PUBLIC_NETWORK_EXPLORERS=[{'title':'Anyblock','baseUrl':'https://explorer.anyblock.tools','paths':{'tx':'/ethereum/ethereum/goerli/transaction','address':'/ethereum/ethereum/goerli/address'}},{'title':'Etherscan','baseUrl':'https://goerli.etherscan.io/','paths':{'tx':'/tx','address':'/address'}}]
# network config
NEXT_PUBLIC_NETWORK_NAME=Goerli
NEXT_PUBLIC_NETWORK_SHORT_NAME=Goerli
NEXT_PUBLIC_NETWORK_ASSETS_PATHNAME=ethereum
NEXT_PUBLIC_NETWORK_TYPE=goerli
NEXT_PUBLIC_NETWORK_ID=5
NEXT_PUBLIC_NETWORK_CURRENCY_NAME=Ether
NEXT_PUBLIC_NETWORK_CURRENCY_SYMBOL=ETH
NEXT_PUBLIC_NETWORK_CURRENCY_DECIMALS=18
NEXT_PUBLIC_NETWORK_TOKEN_ADDRESS=0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2
NEXT_PUBLIC_IS_ACCOUNT_SUPPORTED=true
NEXT_PUBLIC_NETWORK_VERIFICATION_TYPE=validation
NEXT_PUBLIC_NETWORK_RPC_URL=https://rpc.ankr.com/eth_goerli
NEXT_PUBLIC_MARKETPLACE_SUBMIT_FORM=https://airtable.com/shrqUAcjgGJ4jU88C
NEXT_PUBLIC_MARKETPLACE_APP_LIST=[{'author': 'Blockscout','id':'token-approval-tracker','title':'Token Approval Tracker','logo':'https://approval-tracker.vercel.app/icon-192.png','categories':['security','tools'],'shortDescription':'Token Approval Tracker shows all approvals for any ERC20-compliant tokens and NFTs and lets to revoke them or adjust the approved amount.','site':'https://docs.blockscout.com/for-users/blockscout-apps/token-approval-tracker','description':'Token Approval Tracker shows all approvals for any ERC20-compliant tokens and NFTs and lets to revoke them or adjust the approved amount.','url':'https://approval-tracker.vercel.app/'},{'author': 'Revoke','id':'revoke.cash','title':'Revoke.cash','logo':'https://www.gitbook.com/cdn-cgi/image/width=32,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FVBMGyUFnd6CScjfK7CYQ%252Frevoke_sing.png%3Falt%3Dmedia%26token%3D9ab94986-7ab1-41c8-bf7e-d9ce11d23182','categories':['security','tools'],'shortDescription': 'Revoke.cash comes in as a preventative tool to manage your token allowances and practice proper wallet hygiene. By regularly revoking active allowances you reduce the chances of becoming the victim of allowance exploits.','site': 'https://revoke.cash/about','description': 'Revoke.cash comes in as a preventative tool to manage your token allowances and practice proper wallet hygiene. By regularly revoking active allowances you reduce the chances of becoming the victim of allowance exploits.','url':'https://revoke.cash/'},{'author':'Aave','id': 'aave','title': 'Aave','logo': 'https://www.gitbook.com/cdn-cgi/image/width=32,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FrZkUTIUCG7Zx8BW6Em34%252FAave.png%3Falt%3Dmedia%26token%3D249797a4-4c1e-4372-9cd2-3e48e05e5f30','categories':['tools'],'shortDescription':'Aave is a decentralised non-custodial liquidity market protocol where users can participate as suppliers or borrowers. Suppliers provide liquidity to the market to earn a passive income, while borrowers are able to borrow in an overcollateralised (perpetually) or undercollateralised (one-block liquidity) fashion.','site': 'https://docs.aave.com/faq/','description': 'Aave is a decentralised non-custodial liquidity market protocol where users can participate as suppliers or borrowers. Suppliers provide liquidity to the market to earn a passive income, while borrowers are able to borrow in an overcollateralised (perpetually) or undercollateralised (one-block liquidity) fashion.','url': 'https://staging.aave.com/'},{'author':'LooksRare','id':'looksrare','external':true,'title':'LooksRare','logo': 'https://www.gitbook.com/cdn-cgi/image/width=32,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FeAI4gy3qPMt68mZOZHAx%252FLooksRare.png%3Falt%3Dmedia%26token%3D44c01439-ae09-40aa-b904-3a9ce5b2e002','categories':['tools'],'shortDescription': 'LooksRare is the web3 NFT Marketplace where traders and collectors have earned over $1.3 Billion in rewards.','site':'https://docs.looksrare.org/about/welcome-to-looksrare','description':'LooksRare is the web3 NFT Marketplace where traders and collectors have earned over $1.3 Billion in rewards.','url': 'https://goerli.looksrare.org/'},{'author':'zkSync Bridge','id':'zksync-bridge','external':true,'title':'zkSync Bridge','logo':'https://www.gitbook.com/cdn-cgi/image/width=32,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FrtQsaAz9BjGBc35tVAnq%252FzkSync.png%3Falt%3Dmedia%26token%3D5c18171c-8ccf-4a88-8f44-680cbf238115','categories':['security','tools'],'shortDescription':'zkSync 2.0 Goerli Bridge','site':'https://v2-docs.zksync.io/dev/','description':'zkSync 2.0 Goerli Bridge','url':'https://portal.zksync.io/bridge'},{'author':'dYdX','id':'dydx','external':true,'title':'dYdX','logo':'https://www.gitbook.com/cdn-cgi/image/width=32,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FCrOglR72wpi0UhEscwe4%252Fdxdy.png%3Falt%3Dmedia%26token%3D8811909e-93e3-487c-9614-dffce37223e9','categories': ['security','tools'],'shortDescription':'dYdX is a leading decentralized exchange that currently supports perpetual trading. dYdX runs on smart contracts on the Ethereum blockchain, and allows users to trade with no intermediaries.','site':'https://help.dydx.exchange/en/articles/3047379-introduction-and-overview','description':'dYdX is a leading decentralized exchange that currently supports perpetual trading. dYdX runs on smart contracts on the Ethereum blockchain, and allows users to trade with no intermediaries.','url':'https://trade.stage.dydx.exchange/portfolio/overview'},{'author':'MetalSwap','id':'metalswap','title':'MetalSwap','logo':'https://www.gitbook.com/cdn-cgi/image/width=32,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252F8xqldTvxb6avrwVVc3rS%252FMetalSwap.png%3Falt%3Dmedia%26token%3D92d2db99-853a-487d-8d8c-8cdeaeaaf014','categories':['security','tools'],'shortDescription':'MetalSwap is a decentralised platform that enables hedging swaps in financial markets with the aim of providing a hedge for commodity traders and an investment opportunity for those who contribute to the shared liquidity of the project.','site':'https://docs.metalswap.finance/','description':'MetalSwap is a decentralised platform that enables hedging swaps in financial markets with the aim of providing a hedge for commodity traders and an investment opportunity for those who contribute to the shared liquidity of the project.','url':'https://demo.metalswap.finance/'},{'author':'FaucetDao','id':'faucetdao','title':'FaucetDao','logo':'https://www.gitbook.com/cdn-cgi/image/width=32,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252Ffnnt3ZNZhzRwqMM5YYjD%252FPlaceholder.png%3Falt%3Dmedia%26token%3D507571bb-d76f-4d96-a35e-2b278608f7ca','categories':['tools'],'shortDescription':'FaucetDao is a decentralised community fund providing liquidity and support to early-stage well vetted blockchain projects.','site':'https://linktr.ee/faucet_dao','description':'FaucetDao is a decentralised community fund providing liquidity and support to early-stage well vetted blockchain projects.','url':'https://www.faucetdao.shop/swap?chain=goerli'},{'author':'Uniswap','id':'uniswap','title':'Uniswap','logo':'https://www.gitbook.com/cdn-cgi/image/width=32,dpr=2.200000047683716,format=auto/https%3A%2F%2Ffiles.gitbook.com%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252F-Lq1XoWGmy8zggj_u2fM%252Fuploads%252FJc0QAyeaBmFIL97tSmGv%252FUniswap.png%3Falt%3Dmedia%26token%3D5d25d796-c273-4e22-92fa-ff85206bec76','categories':['tools'],'shortDescription':'Uniswap is a cryptocurrency exchange which uses a decentralized network protocol.','site':'https://docs.uniswap.org/','description':'Uniswap is a cryptocurrency exchange which uses a decentralized network protocol.','url':'https://app.uniswap.org/swap'}]
NEXT_PUBLIC_HOMEPAGE_CHARTS=['daily_txs']
# api config
NEXT_PUBLIC_API_HOST=blockscout-main.test.aws-k8s.blockscout.com
NEXT_PUBLIC_API_BASE_PATH=/
NEXT_PUBLIC_STATS_API_HOST=https://stats-test.aws-k8s.blockscout.com
# l2 config
NEXT_PUBLIC_IS_L2_NETWORK=true
NEXT_PUBLIC_L1_BASE_URL='https://eth-goerli.blockscout.com/'
{
"items": [
{
"l1_block_number": 8456113,
"l1_timestamp": "2023-02-08T12:08:48.000000Z",
"l1_tx_hash": "0x19455a53758d5de89070164ff09c40d93f1b4447e721090f03aa150f6159265a",
"l2_block_number": 5214988,
"l2_output_index": 9926,
"output_root": "0xa7de9bd3986ce5ca8de9f0ab6c7473f4cebe225fb13b57cc5c8472de84a8bab3"
},
{
"l1_block_number": 8456099,
"l1_timestamp": "2023-02-08T12:05:24.000000Z",
"l1_tx_hash": "0x6aa081e8e33a085e4ec7124fcd8a5f7d36aac0828f176e80d4b70e313a11695b",
"l2_block_number": 5214868,
"l2_output_index": 9925,
"output_root": "0x4ec2822d2f7b4f834d693d88f8a4cf15899882915980a21756d29cfd9f9f3898"
},
{
"l1_block_number": 8456078,
"l1_timestamp": "2023-02-08T12:00:48.000000Z",
"l1_tx_hash": "0x4238988b0959e41a7b09cef67f58698e05e3bcc29b8d2f60e6c77dc68c91f16e",
"l2_block_number": 5214748,
"l2_output_index": 9924,
"output_root": "0x78b2e13c20f4bbfb4a008127edaaf25aa476f933669edd4856305bf4ab64a92b"
},
{
"l1_block_number": 8456062,
"l1_timestamp": "2023-02-08T11:57:00.000000Z",
"l1_tx_hash": "0x6c150176148da1c17f2cccf98daf905e0e5eaf4a0203a3b12ee658bfdc92bc16",
"l2_block_number": 5214628,
"l2_output_index": 9923,
"output_root": "0x5a7ad5f1c2f947bf7181db789f88b5ccbe6922b0e1a9a22284c1dc292eb07d39"
},
{
"l1_block_number": 8456048,
"l1_timestamp": "2023-02-08T11:53:48.000000Z",
"l1_tx_hash": "0xdd17cf043912be2f499d814f3f751c5e3b347915448f224c01cb8724fae5d501",
"l2_block_number": 5214508,
"l2_output_index": 9922,
"output_root": "0x5c7bb8a257b2fe54d574fff73739a1d8fe3155ca992955f3a37b7efadc392097"
},
{
"l1_block_number": 8456034,
"l1_timestamp": "2023-02-08T11:50:12.000000Z",
"l1_tx_hash": "0xe232d9639838de70db03faa29ebb244833928048c56be5e65f5e18b43f4baea9",
"l2_block_number": 5214388,
"l2_output_index": 9921,
"output_root": "0x4d5297fc16a875d2ba75894610e19093f5eb6c8d341afc828fa10f7385087964"
},
{
"l1_block_number": 8456017,
"l1_timestamp": "2023-02-08T11:45:12.000000Z",
"l1_tx_hash": "0x97f8121d407c7bb09441655844c82d32a5391b882e2f68999cec3236f9178fc9",
"l2_block_number": 5214268,
"l2_output_index": 9920,
"output_root": "0xf47c0f9aa635dd274488859eab930da294577cff08e2392b6c46542e5c7cf31a"
},
{
"l1_block_number": 8456001,
"l1_timestamp": "2023-02-08T11:41:36.000000Z",
"l1_tx_hash": "0xc6e4fb61fc1eca630696721d8369b20d358aa853eae499680f944511dbb9d0dc",
"l2_block_number": 5214148,
"l2_output_index": 9919,
"output_root": "0x8619d3c8cd18dd64c5202bdf1397b7a397bc26586405354b944a04fc731d110d"
},
{
"l1_block_number": 8455988,
"l1_timestamp": "2023-02-08T11:37:48.000000Z",
"l1_tx_hash": "0x7978a3bc3d0b91e85dd2481559f84c9e41a581942c84fe81396cfd47b97efc06",
"l2_block_number": 5214028,
"l2_output_index": 9918,
"output_root": "0x68c95f4c08696247a9280a6d7b9b84abec48228562d230c9247bb07af0b91834"
},
{
"l1_block_number": 8455971,
"l1_timestamp": "2023-02-08T11:33:00.000000Z",
"l1_tx_hash": "0xa58fc1729bbd5d51eaf4286bb9cfe956f6c7457868635f832a352186797898c7",
"l2_block_number": 5213908,
"l2_output_index": 9917,
"output_root": "0x5f34c67acdc65807f0082e2046a8713e7f56b84e078923109116e27f14b3dc59"
},
{
"l1_block_number": 8455954,
"l1_timestamp": "2023-02-08T11:29:12.000000Z",
"l1_tx_hash": "0x0cd3452f5bbbeebcc02ca0384fd42199a08cdbc701530f86de51eaa0d6405595",
"l2_block_number": 5213788,
"l2_output_index": 9916,
"output_root": "0x3a652901d2cc1d499bda8275a7efd3f7291261f7f396cb48291d44a0841a4c02"
},
{
"l1_block_number": 8455939,
"l1_timestamp": "2023-02-08T11:25:00.000000Z",
"l1_tx_hash": "0x0489b97feeea691523f904dffff594cb21ba127fe3a555c9bc9c49522133a0b2",
"l2_block_number": 5213668,
"l2_output_index": 9915,
"output_root": "0x876dce38a499c18176078d0dbef4f864921c38160c430071a1a31b4b26be9f0a"
},
{
"l1_block_number": 8455923,
"l1_timestamp": "2023-02-08T11:21:12.000000Z",
"l1_tx_hash": "0x20fbc35bb0fca7db023baac10f3e4ae943053c8196e471c9cc8427c2c5f9b4ca",
"l2_block_number": 5213548,
"l2_output_index": 9914,
"output_root": "0xc695f1dce9dc0871366f98e96d8feb52ed1b24e50969be9dd9a00632a9e9c9fc"
},
{
"l1_block_number": 8455904,
"l1_timestamp": "2023-02-08T11:16:36.000000Z",
"l1_tx_hash": "0xe197636501be45f63b44aeb6083826ec1606aa4046353387e1777b7dea887e81",
"l2_block_number": 5213428,
"l2_output_index": 9913,
"output_root": "0xfd8c49eb35fc48c79d430f16b18e252d274a44415e0d434e322e2f8fd163c721"
},
{
"l1_block_number": 8455888,
"l1_timestamp": "2023-02-08T11:13:12.000000Z",
"l1_tx_hash": "0x14cf015e9b86af97702575642b657cb999041c438a747e08f3209420e34f818b",
"l2_block_number": 5213308,
"l2_output_index": 9912,
"output_root": "0xf7bd0b13b3732e3ce92a1153b542e1526c88d62bf28399005d0f894d3a699188"
},
{
"l1_block_number": 8455870,
"l1_timestamp": "2023-02-08T11:08:48.000000Z",
"l1_tx_hash": "0x8b8c643b2f0721b9878e9f04a013ee9442983821df738ec7bf6e6106b0810da8",
"l2_block_number": 5213188,
"l2_output_index": 9911,
"output_root": "0x2a14688d477514235ca80e4b06c7e442d4a71ef762229240f23d4f0958d12342"
},
{
"l1_block_number": 8455857,
"l1_timestamp": "2023-02-08T11:05:36.000000Z",
"l1_tx_hash": "0x1cddcacb7504971f9e281a693957bf312f5de9f43daf1a3566d007f3bbcad6bb",
"l2_block_number": 5213068,
"l2_output_index": 9910,
"output_root": "0x34568d5df099c4d06d8f64a438cdab0c5f027c532c8283de6b3a4e571273e5cc"
},
{
"l1_block_number": 8455836,
"l1_timestamp": "2023-02-08T11:00:48.000000Z",
"l1_tx_hash": "0xbbc027b4f24941a801818f0da618efb171d396f86e7091a469dce7634362dc02",
"l2_block_number": 5212948,
"l2_output_index": 9909,
"output_root": "0x45634b0556155a8122fcbd37d0ffae9bf8e4fe767c5bfc741996fd3f04a02287"
},
{
"l1_block_number": 8455822,
"l1_timestamp": "2023-02-08T10:57:48.000000Z",
"l1_tx_hash": "0x7e29e0f8c200d30f9bd13faed6d64b72314462c53100b3b8c94f98342593bcb4",
"l2_block_number": 5212828,
"l2_output_index": 9908,
"output_root": "0x54272366310671f42cbf65ab699d7fed17ed5738a776a35acaacdabc00922333"
},
{
"l1_block_number": 8455804,
"l1_timestamp": "2023-02-08T10:52:48.000000Z",
"l1_tx_hash": "0xad9bb0f27fc2f9eb6fae776328a3c49d0dfe6bcdf47612e0f43434badb0909ce",
"l2_block_number": 5212708,
"l2_output_index": 9907,
"output_root": "0xa6f32b912f66107013a39a108c677251229cc4fd869b5da73e58cc8e049aa6ec"
},
{
"l1_block_number": 8455787,
"l1_timestamp": "2023-02-08T10:48:48.000000Z",
"l1_tx_hash": "0x32dbf38b61495a99fe16703fd1091f18dd2d5ee2ab731b96967ccfd0fa4caad6",
"l2_block_number": 5212588,
"l2_output_index": 9906,
"output_root": "0x386bccf78634bbda15329e4434267f13225b4bac1c13ea5b5fc0f72303ab610d"
},
{
"l1_block_number": 8455774,
"l1_timestamp": "2023-02-08T10:45:36.000000Z",
"l1_tx_hash": "0x2cfa7f476ce2048e20a66f4a516b5bbc54b2c6b02c58af0af6d9b7a29b3cd195",
"l2_block_number": 5212468,
"l2_output_index": 9905,
"output_root": "0xae8327d565098198f1f69525ae83966b1804a72a05b5b677a597af8fab60685d"
},
{
"l1_block_number": 8455758,
"l1_timestamp": "2023-02-08T10:41:12.000000Z",
"l1_tx_hash": "0x941c85bae163d8aaf5f42ddc3a8e38d1724e6764f5327be3fc92e0e4532e6b08",
"l2_block_number": 5212348,
"l2_output_index": 9904,
"output_root": "0x330caf6ef4f6b05ee4abc3565a3f1af6a62ff73646dc61f7869b8229ab23a1a5"
},
{
"l1_block_number": 8455743,
"l1_timestamp": "2023-02-08T10:37:24.000000Z",
"l1_tx_hash": "0x065d6aa4b6e53b8bb75f17280970f789ad8dd6ddb0d3152c67dfa2c804b5f801",
"l2_block_number": 5212228,
"l2_output_index": 9903,
"output_root": "0x17d39d320eabfb801eb4b611d9dbf361f7cba6237759c419b872366deeeb4e77"
},
{
"l1_block_number": 8455727,
"l1_timestamp": "2023-02-08T10:33:00.000000Z",
"l1_tx_hash": "0x572643e9a429a9e892fcc27102f4c072db952068a2e114f0dd1d6b086b59bc27",
"l2_block_number": 5212108,
"l2_output_index": 9902,
"output_root": "0x84ece5e60ffe5a6d81d4b2eee0ddb463eea0992d5ccaf9edc87d6f7a30182bf6"
},
{
"l1_block_number": 8455716,
"l1_timestamp": "2023-02-08T10:30:24.000000Z",
"l1_tx_hash": "0x006aea71566f38943026ed5114d0e29cb35986e2fb2002e690240daa5ffe41a7",
"l2_block_number": 5211988,
"l2_output_index": 9901,
"output_root": "0xd0a1770039533d2c923f988c621a5f975a4af8e915546eaa331ef68f465dd711"
},
{
"l1_block_number": 8455702,
"l1_timestamp": "2023-02-08T10:27:24.000000Z",
"l1_tx_hash": "0x658170b3bbe4134036bcd474e4c3ce7a17ada12fb5ccc33bdd3ab493c29aed7f",
"l2_block_number": 5211868,
"l2_output_index": 9900,
"output_root": "0x24f3091176cbfb0776d066fc83fd7a238c9e4ca8fff9ab9b1454a62b86055404"
},
{
"l1_block_number": 8455673,
"l1_timestamp": "2023-02-08T10:20:36.000000Z",
"l1_tx_hash": "0x949902db09f3b900358bbe90bdf990b659b55881431fd22504572c5d7c10e51a",
"l2_block_number": 5211748,
"l2_output_index": 9899,
"output_root": "0xf0243750b324b6865690d2c51133958e1a78700692a9573dbfe11928518a1b99"
},
{
"l1_block_number": 8455656,
"l1_timestamp": "2023-02-08T10:16:48.000000Z",
"l1_tx_hash": "0x80e3a5fe70a8d592cae1ced400fdff39392bc71a21437e107cd0527dbb0a8c22",
"l2_block_number": 5211628,
"l2_output_index": 9898,
"output_root": "0x8ad3022eaf6387aaa1ebddb083d682f57047f945d35d36ba2a9d4fcb293cd70c"
},
{
"l1_block_number": 8455641,
"l1_timestamp": "2023-02-08T10:12:48.000000Z",
"l1_tx_hash": "0xf6ce6ae03caae01a77b5ece2b57edf3b43114cf404a5f31b421cd4f921dc9dd8",
"l2_block_number": 5211508,
"l2_output_index": 9897,
"output_root": "0x3e7062ac89b8d7860757b38c1f17b8e97987de4f1310f38ca106a76af214092f"
},
{
"l1_block_number": 8455626,
"l1_timestamp": "2023-02-08T10:09:00.000000Z",
"l1_tx_hash": "0x1694fe0fd3f4879e3a717f0f5909e876122c7130457d1131f61fcabb68525f6a",
"l2_block_number": 5211388,
"l2_output_index": 9896,
"output_root": "0x9e5dc4831cbef28ef01a7af90c78ecd4fced258cbe67a28f265381f3fbbd248e"
},
{
"l1_block_number": 8455610,
"l1_timestamp": "2023-02-08T10:05:12.000000Z",
"l1_tx_hash": "0x60d77bdd872108aa0b219699f77283bb8e04c264f7ace9c12e9390fa159ce60a",
"l2_block_number": 5211268,
"l2_output_index": 9895,
"output_root": "0x2f7f1cd27a33745d38345450234eebd35f94b2228a73547edd6687583334e8b2"
},
{
"l1_block_number": 8455592,
"l1_timestamp": "2023-02-08T10:00:36.000000Z",
"l1_tx_hash": "0x33c105f67d8f54a941d80748fab600641b32859cfbd29794be85a50ccfd908be",
"l2_block_number": 5211148,
"l2_output_index": 9894,
"output_root": "0x1fcc81da98544e1579f6ccf0e97fab5e6a362e5930ba25985e77cc4ce962feb0"
},
{
"l1_block_number": 8455576,
"l1_timestamp": "2023-02-08T09:56:48.000000Z",
"l1_tx_hash": "0xf047d438050394e0a532985e75536e576096e40b2a603b08f67c55d68fed2517",
"l2_block_number": 5211028,
"l2_output_index": 9893,
"output_root": "0x610ec1384c00854d5893f27027e6520a1540740d58bc45ea00409c5a556f4e45"
},
{
"l1_block_number": 8455563,
"l1_timestamp": "2023-02-08T09:53:24.000000Z",
"l1_tx_hash": "0x71055eb775cfce8232dad5437a80ca5aa6eb57f695d142b2dc74b90bb882856c",
"l2_block_number": 5210908,
"l2_output_index": 9892,
"output_root": "0xc6091731ae9711b500acff809e0305331fd676e88c43b23977e5a906fabe8b7e"
},
{
"l1_block_number": 8455546,
"l1_timestamp": "2023-02-08T09:48:36.000000Z",
"l1_tx_hash": "0x48539897746a19f345878d6765e77c28929de63450b4382ce57cad783756a6cf",
"l2_block_number": 5210788,
"l2_output_index": 9891,
"output_root": "0x2a9ffe8fe94b27b4fb22440d9c76dd9bc8419089cd200ebc8424c6148b68b397"
},
{
"l1_block_number": 8455529,
"l1_timestamp": "2023-02-08T09:45:00.000000Z",
"l1_tx_hash": "0x8eba3b4ae39270e912d9079f310cd83c4d27d659c7b8ff7b3b044cc6435912f9",
"l2_block_number": 5210668,
"l2_output_index": 9890,
"output_root": "0x5dd4fe3e8a3c93aaac9f2a42e1100da968f13ba0764d8fac1ac7d01a9c5269fa"
},
{
"l1_block_number": 8455518,
"l1_timestamp": "2023-02-08T09:42:24.000000Z",
"l1_tx_hash": "0x2f1e94f4294d47c287a2c515d3cea1f7d2800426ccae9e8c879bb887fd9db096",
"l2_block_number": 5210548,
"l2_output_index": 9889,
"output_root": "0xe26c38f3b364e8d1f4851a5e1b4d7e0b8be3fcc655f1e621883777933b84d69f"
},
{
"l1_block_number": 8455497,
"l1_timestamp": "2023-02-08T09:37:12.000000Z",
"l1_tx_hash": "0xd8b6c932b649ab2b10af31c1875bfd629521ccbb6f0461e1959faa9f00e417a0",
"l2_block_number": 5210428,
"l2_output_index": 9888,
"output_root": "0xab524505e787ae68e0dd35a819b3a20df6979e98d6c4ef6c5711e9da4f07a9ad"
},
{
"l1_block_number": 8455480,
"l1_timestamp": "2023-02-08T09:33:12.000000Z",
"l1_tx_hash": "0x2d3924e0f76420a32033b2b2f2163a54f8833a712c6d2f524d9b6be49d61f3ec",
"l2_block_number": 5210308,
"l2_output_index": 9887,
"output_root": "0x0054fbcbe0aece0d16614dd4d06cc60d8d946a690218a0880d80a5605a615db1"
},
{
"l1_block_number": 8455461,
"l1_timestamp": "2023-02-08T09:28:48.000000Z",
"l1_tx_hash": "0xa20702b1c3146f7ddef7e0d2f27fa128901983d278f43a48577ec37c8317eced",
"l2_block_number": 5210188,
"l2_output_index": 9886,
"output_root": "0x865400d4edbca1fc7159df73af25a86015717121817074cb5ab6cd5c00c35b1c"
},
{
"l1_block_number": 8455446,
"l1_timestamp": "2023-02-08T09:25:24.000000Z",
"l1_tx_hash": "0x875f2ee85f789b5f6ea972ea6ffe0246e7b0d4be5558f90de229a75dcab00c96",
"l2_block_number": 5210068,
"l2_output_index": 9885,
"output_root": "0x1f7593a5ae000432ebef24b3e77aa692f011d50e94e3382537af43cd1af1c52b"
},
{
"l1_block_number": 8455426,
"l1_timestamp": "2023-02-08T09:20:48.000000Z",
"l1_tx_hash": "0xf15d34f6c1b3a0518d2f6091c4dd6d0151443ca68d55e05ff9902e88a26200bc",
"l2_block_number": 5209948,
"l2_output_index": 9884,
"output_root": "0x74fab9de7fe7bfc354dbcf966d5ea2aec1c1f73192ba74898b942cc238ef8834"
},
{
"l1_block_number": 8455413,
"l1_timestamp": "2023-02-08T09:17:36.000000Z",
"l1_tx_hash": "0x9ffa6a7527545420845b4905b4978f9bb2e72fb90407510769ccebaa022a1225",
"l2_block_number": 5209828,
"l2_output_index": 9883,
"output_root": "0x89ef893f6543bef57e1e93512a7fd8d0db0c82e0af24ef650a6577cba0b64216"
},
{
"l1_block_number": 8455395,
"l1_timestamp": "2023-02-08T09:12:48.000000Z",
"l1_tx_hash": "0x9f59efb96abbce2abcade9fd4d5beac1725118081302018ddaabd8e84f033e81",
"l2_block_number": 5209708,
"l2_output_index": 9882,
"output_root": "0xc82a57c8e79a4072a75df767360e2a35e0678046205670c7d5636a2bf7cdd4f2"
},
{
"l1_block_number": 8455379,
"l1_timestamp": "2023-02-08T09:09:24.000000Z",
"l1_tx_hash": "0x3e73c240c20a681ad2303ed05ee401b4cf8a3dd7b2c0e40c3ca4797519569c70",
"l2_block_number": 5209588,
"l2_output_index": 9881,
"output_root": "0x7c2aab73acb45819b566ec2b1261520728eaf381647f051bbc065e56101b19b3"
},
{
"l1_block_number": 8455362,
"l1_timestamp": "2023-02-08T09:04:48.000000Z",
"l1_tx_hash": "0x59f0c6b4ce27c650fad0e2dc5c986d52540f890578770abcf158410f934e789e",
"l2_block_number": 5209468,
"l2_output_index": 9880,
"output_root": "0x4e557a71fe615bb2b7d3fbda394e6a9e5f0ce15116705d6bd41581c282d54925"
},
{
"l1_block_number": 8455343,
"l1_timestamp": "2023-02-08T09:00:48.000000Z",
"l1_tx_hash": "0xeb2bf36d60fdb6fc40a3f0244b7c593b5d6d8f8d704e0777f71278087fe1c7af",
"l2_block_number": 5209348,
"l2_output_index": 9879,
"output_root": "0xb2cc1cf0a16e93f9caffbc544883c7fc2eed6af86a430ebfa6b090a6d65ba98e"
},
{
"l1_block_number": 8455327,
"l1_timestamp": "2023-02-08T08:57:12.000000Z",
"l1_tx_hash": "0xffeb8735dea86343ea95bdde3b9ee3ab5ba9713cc633e12f1c2362136a084143",
"l2_block_number": 5209228,
"l2_output_index": 9878,
"output_root": "0xd68fcc041a569ab15bb8c8b70daafa7b4217d3a713f62f07822afefda618d8ef"
},
{
"l1_block_number": 8455309,
"l1_timestamp": "2023-02-08T08:53:00.000000Z",
"l1_tx_hash": "0x70014fa4ef2ed89f33d46d388799f3f3908292991e90557765b964fbad4f26a5",
"l2_block_number": 5209108,
"l2_output_index": 9877,
"output_root": "0x9193376b5890013073dd46ecd8f954872ab1112e0379da722d24f412a5cde55a"
}
],
"next_page_params": {
"index": 9877,
"items_count": 50
},
"total": 9927
}
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24">
<path fill="currentColor" fill-rule="evenodd" d="M14.806 21.313H4.582A.583.583 0 0 1 4 20.731V6.179c0-.322.261-.583.582-.583h2.654V3.27c0-.321.26-.582.582-.582h7.313c.007 0 .013.002.02.004.005.001.01.003.017.003a.558.558 0 0 1 .153.031l.02.006a.575.575 0 0 1 .194.118l4.285 4.11-.002.002a.58.58 0 0 1 .181.419v9.064a1.96 1.96 0 0 1-1.958 1.959h-1.277v.95a1.96 1.96 0 0 1-1.96 1.959ZM18.31 6.798l-2.598-2.506v1.713c0 .437.356.793.793.793h1.805Zm-3.42-3.289H8.058v14.072h10.327a.794.794 0 0 0 .793-.793V7.62h-2.671c-1.08 0-1.616-.535-1.616-1.615V3.509ZM7.236 6.42H4.822v14.07H15.15c.437 0 .793-.7.793-1.136v-.951H7.818a.582.582 0 0 1-.582-.583V6.42Zm9.482 4.532a.39.39 0 1 0 0-.78h-5.12l.502-.504a.39.39 0 0 0-.55-.549l-1.168 1.169a.39.39 0 0 0 .059.599.39.39 0 0 0 .216.065h6.06Zm-.012 1.363h-6.061a.39.39 0 0 0 0 .779h5.12l-.502.504a.39.39 0 1 0 .549.55l1.168-1.17a.39.39 0 0 0-.058-.598.39.39 0 0 0-.216-.065Z" clip-rule="evenodd"/>
<path fill="currentColor" d="M7.236 5.596v.25h.25v-.25h-.25Zm7.915-2.905-.07.24.07-.24Zm.017.003.014-.25-.014.25Zm.153.031.085-.235-.003-.001-.082.236Zm.02.006.072-.239-.072.24Zm.031.012.104-.228h-.001l-.103.228Zm.162.106.173-.18-.173.18Zm4.287 4.111.177.177.18-.18-.184-.177-.173.18Zm-.002.002-.176-.177-.18.18.183.177.173-.18Zm-3.054 11.442v-.25h-.25v.25h.25ZM15.713 4.292l.174-.18-.424-.408v.588h.25Zm2.598 2.506v.25h.62l-.446-.43-.174.18ZM8.058 3.51v-.25h-.25v.25h.25Zm6.833 0h.25v-.25h-.25v.25ZM8.058 17.581h-.25v.25h.25v-.25Zm11.12-9.96h.25v-.25h-.25v.25ZM4.822 6.418v-.25h-.25v.25h.25Zm2.414 0h.25v-.25h-.25v.25ZM4.822 20.49h-.25v.25h.25v-.25Zm11.12-2.087h.25v-.25h-.25v.25Zm1.051-7.567-.177-.177.177.177Zm0-.551-.177.177.177-.177Zm-5.396-.114-.177-.177-.425.427h.602v-.25Zm.503-.505.177.177.007-.007.006-.007-.19-.163Zm.093-.268.25-.01-.25.01Zm-.114-.26.177-.177-.177.177Zm-.26-.114.01-.25-.01.25Zm-.268.093-.163-.19-.007.007-.007.007.177.176Zm-1.169 1.169.177.177-.177-.177Zm-.107.199.245.05-.245-.05Zm.022.225-.232.095.001.001.23-.096Zm.143.175.139-.209-.139.209Zm.217.065v-.25.25Zm6.049 1.363v.25-.25Zm-6.337.114.177.177-.177-.177Zm0 .55.177-.176-.177.177Zm5.396.115.177.176.425-.426h-.602v.25Zm-.502.504.162.19.008-.007.007-.007-.177-.176Zm-.098.126.225.11-.225-.11Zm-.038.155-.25-.01.25.01Zm.026.157.233-.091-.233.09Zm.088.133-.177.177.177-.177Zm.29.114-.01-.25.01.25Zm.154-.039.11.225-.11-.225Zm.127-.097-.177-.177-.007.007-.006.007.19.163Zm1.168-1.168-.176-.178v.001l.176.177Zm.086-.425.23-.095v-.001l-.23.096Zm-.144-.174-.139.208.139-.208Zm-12.34 9.184h10.224v-.5H4.582v.5Zm-.832-.832c0 .46.373.832.832.832v-.5a.333.333 0 0 1-.332-.332h-.5Zm0-14.552V20.73h.5V6.179h-.5Zm.832-.833a.833.833 0 0 0-.832.833h.5c0-.184.149-.333.332-.333v-.5Zm2.654 0H4.582v.5h2.654v-.5Zm-.25-2.077v2.327h.5V3.27h-.5Zm.832-.832a.832.832 0 0 0-.832.832h.5c0-.183.148-.332.332-.332v-.5Zm7.313 0H7.818v.5h7.313v-.5Zm.09.014c-.002 0-.041-.014-.09-.014v.5a.202.202 0 0 1-.042-.004c-.007-.002-.013-.004-.009-.002l.14-.48Zm-.04-.006a.2.2 0 0 1 .034.004l.006.002-.14.48s.034.01.073.013l.027-.5Zm.222.044a.808.808 0 0 0-.22-.044l-.03.499a.307.307 0 0 1 .085.017l.165-.472Zm.01.003a2.077 2.077 0 0 1-.007-.002s-.001 0 0 0l-.17.47.032.01.145-.478Zm.062.022a.443.443 0 0 0-.062-.022l-.145.479a.198.198 0 0 1 .008.002l-.006-.002.205-.457Zm.232.154a.823.823 0 0 0-.231-.153l-.208.455c.041.018.07.038.093.06l.346-.362Zm4.287 4.112-4.287-4.111-.346.36 4.287 4.112.346-.361Zm.002.359.002-.002-.354-.354-.001.002.353.354Zm.254.242a.83.83 0 0 0-.257-.6l-.347.361a.33.33 0 0 1 .104.239h.5Zm0 9.064V7.381h-.5v9.064h.5Zm-2.208 2.209a2.21 2.21 0 0 0 2.208-2.209h-.5a1.71 1.71 0 0 1-1.708 1.709v.5Zm-1.277 0h1.277v-.5h-1.277v.5Zm.25.7v-.95h-.5v.95h.5Zm-2.21 2.209a2.21 2.21 0 0 0 2.21-2.208h-.5a1.71 1.71 0 0 1-1.71 1.708v.5Zm.735-17.09 2.598 2.505.347-.36-2.598-2.506-.348.36Zm.423 1.532V4.292h-.5v1.713h.5Zm.543.543a.544.544 0 0 1-.543-.543h-.5c0 .575.468 1.043 1.043 1.043v-.5Zm1.805 0h-1.805v.5h1.805v-.5ZM8.058 3.76h6.833v-.5H8.058v.5Zm.25 13.822V3.51h-.5v14.072h.5Zm10.077-.25H8.058v.5h10.327v-.5Zm.543-.543c0 .3-.244.543-.543.543v.5c.575 0 1.043-.468 1.043-1.043h-.5Zm0-9.168v9.168h.5V7.62h-.5Zm-2.421.25h2.67v-.5h-2.67v.5ZM14.64 6.005c0 .578.143 1.057.476 1.39.333.332.812.475 1.39.475v-.5c-.502 0-.831-.124-1.037-.33-.205-.205-.33-.533-.33-1.035h-.5Zm0-2.496v2.496h.5V3.509h-.5ZM4.822 6.67h2.414v-.5H4.822v.5Zm.25 13.822V6.419h-.5V20.49h.5Zm10.077-.25H4.822v.5h10.326v-.5Zm.543-.886c0 .162-.07.401-.195.599-.13.21-.264.287-.348.287v.5c.352 0 .616-.272.772-.522.164-.26.27-.59.27-.864h-.5Zm0-.951v.95h.5v-.95h-.5Zm-7.874.25h8.124v-.5H7.818v.5Zm-.832-.833c0 .46.372.833.832.833v-.5a.332.332 0 0 1-.332-.333h-.5Zm0-11.402v11.4h.5V6.42h-.5Zm9.83 4.24a.14.14 0 0 1-.098.042v.5a.64.64 0 0 0 .452-.188l-.354-.353Zm.041-.098a.14.14 0 0 1-.04.099l.353.353a.64.64 0 0 0 .187-.452h-.5Zm-.04-.098a.14.14 0 0 1 .04.098h.5a.64.64 0 0 0-.187-.452l-.354.354Zm-.1-.041a.14.14 0 0 1 .1.04l.353-.353a.64.64 0 0 0-.452-.187v.5Zm-5.12 0h5.12v-.5h-5.12v.5Zm.326-.931-.503.504.355.353.502-.504-.354-.353Zm.02-.082a.14.14 0 0 1-.033.096l.38.325a.64.64 0 0 0 .153-.44l-.5.019Zm-.04-.093a.14.14 0 0 1 .04.093l.5-.02a.64.64 0 0 0-.187-.427l-.353.354Zm-.094-.041a.14.14 0 0 1 .094.04l.353-.353a.64.64 0 0 0-.427-.187l-.02.5Zm-.096.033a.14.14 0 0 1 .096-.033l.02-.5a.64.64 0 0 0-.44.153l.324.38Zm-1.154 1.155 1.168-1.168-.353-.353-1.168 1.168.353.354Zm-.039.072a.139.139 0 0 1 .039-.071l-.353-.355a.64.64 0 0 0-.176.328l.49.098Zm.008.081a.139.139 0 0 1-.008-.08l-.49-.1a.64.64 0 0 0 .036.37l.462-.19Zm.05.061a.14.14 0 0 1-.05-.062l-.462.192c.049.117.13.217.236.287l.277-.417Zm.078.024a.14.14 0 0 1-.077-.024l-.277.417a.64.64 0 0 0 .356.107l-.002-.5Zm6.062 0h-6.061v.5h6.06v-.5Zm-6.073 1.863h6.06v-.5h-6.06v.5Zm-.099.04a.14.14 0 0 1 .099-.04v-.5a.64.64 0 0 0-.452.187l.353.354Zm-.04.1a.14.14 0 0 1 .04-.1l-.353-.353a.639.639 0 0 0-.188.452h.5Zm.04.098a.14.14 0 0 1-.04-.099h-.5c0 .17.067.333.187.452l.353-.353Zm.099.04a.14.14 0 0 1-.099-.04l-.353.353a.64.64 0 0 0 .452.188v-.5Zm5.12 0h-5.12v.5h5.12v-.5Zm-.325.931.502-.504-.354-.353-.502.505.354.352Zm-.05.06a.138.138 0 0 1 .035-.046l-.325-.38a.639.639 0 0 0-.16.207l.45.218Zm-.014.054a.14.14 0 0 1 .014-.055l-.45-.218a.64.64 0 0 0-.063.254l.5.02Zm.01.057a.139.139 0 0 1-.01-.057l-.5-.019a.64.64 0 0 0 .045.258l.465-.182Zm.031.047a.139.139 0 0 1-.03-.047l-.466.182a.64.64 0 0 0 .143.219l.353-.354Zm.048.032a.139.139 0 0 1-.048-.032l-.353.354a.64.64 0 0 0 .219.143l.182-.465Zm.056.01a.139.139 0 0 1-.056-.01l-.182.465a.64.64 0 0 0 .258.044l-.02-.5Zm.056-.015a.138.138 0 0 1-.056.014l.02.5a.64.64 0 0 0 .253-.064l-.217-.45Zm.045-.035a.138.138 0 0 1-.045.035l.217.45a.64.64 0 0 0 .208-.16l-.38-.325Zm1.181-1.182-1.168 1.168.354.354 1.168-1.168-.354-.354Zm.04-.072a.139.139 0 0 1-.04.071l.353.355a.64.64 0 0 0 .176-.327l-.49-.099Zm-.009-.08a.14.14 0 0 1 .008.08l.49.099a.64.64 0 0 0-.035-.37l-.463.19Zm-.05-.062a.14.14 0 0 1 .051.063l.461-.193a.64.64 0 0 0-.236-.286l-.276.416Zm-.078-.023a.14.14 0 0 1 .078.023l.276-.416a.639.639 0 0 0-.355-.107l.001.5Z"/>
</svg>
import type { NextPage } from 'next';
import Head from 'next/head';
import React from 'react';
import getNetworkTitle from 'lib/networks/getNetworkTitle';
import OutputRoots from 'ui/pages/OutputRoots';
const TokensPage: NextPage = () => {
const title = getNetworkTitle();
return (
<>
<Head>
<title>{ title }</title>
</Head>
<OutputRoots/>
</>
);
};
export default TokensPage;
export { getServerSideProps } from 'lib/next/getServerSidePropsL2';
export type OutputRootsItem = {
l1_block_number: number;
l1_timestamp: string;
l1_tx_hash: string;
l2_block_number: number;
l2_output_index: number;
output_root: string;
}
export type OutputRootsResponse = {
items: Array<OutputRootsItem>;
next_page_params: {
index: number;
items_count: number;
};
}
/* eslint-disable @typescript-eslint/naming-convention */
import { Box, Flex, Text, HStack, Icon } from '@chakra-ui/react';
import React from 'react';
import type { OutputRootsItem } from 'types/api/outputRoots';
import txIcon from 'icons/transactions.svg';
import useTimeAgoIncrement from 'lib/hooks/useTimeAgoIncrement';
import link from 'lib/link/link';
import CopyToClipboard from 'ui/shared/CopyToClipboard';
import HashStringShortenDynamic from 'ui/shared/HashStringShortenDynamic';
import LinkExternal from 'ui/shared/LinkExternal';
import LinkInternal from 'ui/shared/LinkInternal';
import ListItemMobile from 'ui/shared/ListItemMobile';
type Props = OutputRootsItem;
const OutputRootsListItem = ({
l2_output_index,
l1_timestamp,
l2_block_number,
l1_tx_hash,
output_root,
}: Props) => {
const url = link('tx', { id: l1_tx_hash });
const timeAgo = useTimeAgoIncrement(l1_timestamp, false);
return (
<ListItemMobile rowGap={ 3 }>
<Flex alignItems="center" justifyContent="space-between" w="100%">
#{ l2_output_index }
{ l1_timestamp && <Text variant="secondary" fontWeight="400" fontSize="sm">{ timeAgo }</Text> }
</Flex>
<HStack spacing={ 3 }>
<Text fontSize="sm" fontWeight={ 500 }>L2 block</Text>
<LinkInternal display="flex" alignItems="center" href={ link('block', { id: l2_block_number.toString() }) }>
{ l2_block_number }
</LinkInternal>
</HStack>
<HStack spacing={ 3 } width="100%">
<Text fontSize="sm" fontWeight={ 500 } whiteSpace="nowrap">Output root</Text>
<Flex overflow="hidden" whiteSpace="nowrap" alignItems="center" w="100%">
<Text variant="secondary" w="calc(100% - 36px)"><HashStringShortenDynamic hash={ output_root }/></Text>
<CopyToClipboard text={ output_root } ml={ 2 }/>
</Flex>
</HStack>
<LinkExternal href={ url } w="100%">
<Icon as={ txIcon } boxSize={ 6 } mr={ 1 }/>
<Box w="calc(100% - 36px)" overflow="hidden" whiteSpace="nowrap"><HashStringShortenDynamic hash={ l1_tx_hash }/></Box>
</LinkExternal>
</ListItemMobile>
);
};
export default OutputRootsListItem;
import { Table, Tbody, Th, Tr } from '@chakra-ui/react';
import React from 'react';
import type { OutputRootsItem } from 'types/api/outputRoots';
import { default as Thead } from 'ui/shared/TheadSticky';
import OutputRootsTableItem from './OutputRootsTableItem';
type Props = {
items: Array<OutputRootsItem>;
top: number;
}
const OutputRootsTable = ({ items, top }: Props) => {
return (
<Table variant="simple" size="sm">
<Thead top={ top }>
<Tr>
<Th width="130px">L2 output index</Th>
<Th width="120px">Age</Th>
<Th width="15%">L2 block #</Th>
<Th width="45%">L1 txn hash</Th>
<Th width="35%">Output root</Th>
</Tr>
</Thead>
<Tbody>
{ items.map((item) => (
<OutputRootsTableItem key={ item.l2_output_index } { ...item }/>
)) }
</Tbody>
</Table>
);
};
export default OutputRootsTable;
/* eslint-disable @typescript-eslint/naming-convention */
import { Box, Flex, Td, Tr, Text, Icon } from '@chakra-ui/react';
import React from 'react';
import type { OutputRootsItem } from 'types/api/outputRoots';
import appConfig from 'configs/app/config';
import txIcon from 'icons/transactions.svg';
import txBatchIcon from 'icons/txBatch.svg';
import useTimeAgoIncrement from 'lib/hooks/useTimeAgoIncrement';
import link from 'lib/link/link';
import CopyToClipboard from 'ui/shared/CopyToClipboard';
import HashStringShortenDynamic from 'ui/shared/HashStringShortenDynamic';
import LinkExternal from 'ui/shared/LinkExternal';
import LinkInternal from 'ui/shared/LinkInternal';
type Props = OutputRootsItem;
const OutputRootsTableItem = ({
l2_output_index,
l1_timestamp,
l2_block_number,
l1_tx_hash,
output_root,
}: Props) => {
const url = link('tx', { id: l1_tx_hash }, {}, appConfig.l1BaseUrl);
const timeAgo = useTimeAgoIncrement(l1_timestamp, false);
return (
<Tr>
<Td verticalAlign="middle">
<Text>{ l2_output_index }</Text>
</Td>
<Td verticalAlign="middle">
<Text variant="secondary">{ timeAgo }</Text>
</Td>
<Td verticalAlign="middle">
<LinkInternal fontWeight={ 600 } display="flex" alignItems="center" href={ link('block', { id: l2_block_number.toString() }) }>
<Icon as={ txBatchIcon } boxSize={ 6 } mr={ 1 }/>
{ l2_block_number }
</LinkInternal>
</Td>
<Td verticalAlign="middle" pr={ 12 }>
<Flex>
<LinkExternal href={ url } w="100%">
<Icon as={ txIcon } boxSize={ 6 } mr={ 1 }/>
<Box w="calc(100% - 36px)" overflow="hidden" whiteSpace="nowrap"><HashStringShortenDynamic hash={ l1_tx_hash }/></Box>
</LinkExternal>
</Flex>
</Td>
<Td verticalAlign="middle">
<Flex overflow="hidden" whiteSpace="nowrap" w="100%" alignItems="center">
<Box w="calc(100% - 36px)"><HashStringShortenDynamic hash={ output_root }/></Box>
<CopyToClipboard text={ output_root } ml={ 2 }/>
</Flex>
</Td>
</Tr>
);
};
export default OutputRootsTableItem;
import { Flex, Hide, Show, Skeleton, Text } from '@chakra-ui/react';
import React from 'react';
import dataMock from 'data/outputRoots.json';
import isBrowser from 'lib/isBrowser';
import OutputRootsListItem from 'ui/outputRoots/OutputRootsListItem';
import OutputRootsTable from 'ui/outputRoots/OutputRootsTable';
import Page from 'ui/shared/Page/Page';
import PageTitle from 'ui/shared/Page/PageTitle';
import SkeletonList from 'ui/shared/skeletons/SkeletonList';
import SkeletonTable from 'ui/shared/skeletons/SkeletonTable';
const OutputRoots = () => {
// request!!
const [ isLoading, setIsLoading ] = React.useState(true);
React.useEffect(() => {
if (isBrowser()) {
setTimeout(() => setIsLoading(false), 2000);
}
}, []);
const data = dataMock;
const isPaginationVisible = false;
const content = (() => {
if (isLoading) {
return (
<>
<SkeletonList display={{ base: 'block', lg: 'none' }}/>
<SkeletonTable display={{ base: 'none', lg: 'block' }} columns={ [ '130px', '120px', '15%', '45%', '35%' ] }/>
</>
);
}
return (
<>
<Show below="lg" ssr={ false }>{ data.items.map((item => <OutputRootsListItem key={ item.l2_output_index } { ...item }/>)) }</Show>
<Hide below="lg" ssr={ false }><OutputRootsTable items={ data.items } top={ isPaginationVisible ? 80 : 0 }/></Hide>
</>
);
})();
return (
<Page>
<PageTitle text="Output roots" withTextAd/>
{ isLoading ? <Skeleton w="400px" h="26px" mb={ 7 }/> : (
<Flex mb={ 7 } flexWrap="wrap">
L2 output index
<Text fontWeight={ 600 } whiteSpace="pre"> #{ data.items[0].l2_output_index } </Text>to
<Text fontWeight={ 600 } whiteSpace="pre"> #{ data.items[dataMock.items.length - 1].l2_output_index } </Text>
(total of { data.total.toLocaleString('en') } roots)
</Flex>
) }
{ /* Pagination */ }
{ content }
</Page>
);
};
export default OutputRoots;
...@@ -46,7 +46,7 @@ const TransactionPageContent = () => { ...@@ -46,7 +46,7 @@ const TransactionPageContent = () => {
.filter((explorer) => explorer.paths.tx) .filter((explorer) => explorer.paths.tx)
.map((explorer) => { .map((explorer) => {
const url = new URL(explorer.paths.tx + '/' + hash, explorer.baseUrl); const url = new URL(explorer.paths.tx + '/' + hash, explorer.baseUrl);
return <LinkExternal key={ explorer.baseUrl } href={ url.toString() }>{ `Open in ${ explorer.title }` }</LinkExternal>; return <LinkExternal key={ explorer.baseUrl } href={ url.toString() }>Open in { explorer.title }</LinkExternal>;
}); });
const additionals = ( const additionals = (
......
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