Skip to content

Commit f6ef60d

Browse files
2 parents a51012f + 0f853a9 commit f6ef60d

File tree

103 files changed

+2660
-1939
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

103 files changed

+2660
-1939
lines changed

.env.example

Lines changed: 44 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,62 @@
1-
#MAINNET
2-
NUXT_PUBLIC_SENTRY_AUTH_TOKEN=
3-
NUXT_PUBLIC_SENTRY_DSN=
1+
# ------ MAINNET ------
2+
3+
# Required
44
NUXT_PUBLIC_APP_DOMAIN=localhost:8080
55
NUXT_PUBLIC_MIDDLEWARE_URL=https://mainnet.aeternity.io/mdw
66
NUXT_PUBLIC_NODE_URL=https://mainnet.aeternity.io
77
NUXT_PUBLIC_WEBSOCKET_URL=wss://mainnet.aeternity.io/mdw/v3/websocket
8+
NUXT_PUBLIC_NETWORK_ID=ae_mainnet
89
NUXT_PUBLIC_NETWORK_NAME=MAINNET
10+
11+
# Alternative Network
912
NUXT_PUBLIC_ALTERNATIVE_NETWORK_NAME=TESTNET
10-
NUXT_PUBLIC_NETWORK_ID=ae_mainnet
1113
NUXT_PUBLIC_ALTERNATIVE_NETWORK_URL=http://localhost:8081
14+
15+
# DEX
1216
NUXT_PUBLIC_DEX_BACKEND_URL=https://dex-backend-mainnet.prd.service.aepps.com
1317
NUXT_PUBLIC_SH_DEX_CONTRACTS='ct_2mfj3FoZxnhkSw5RZMcP8BfPoB1QR4QiYGNCdkAvLZ1zfF6paW;ct_azbNZ1XrPjXfqBqbAh1ffLNTQ1sbnuUDFvJrXjYz7JQA1saQ3'
18+
19+
# Smart Contract Verification
1420
NUXT_PUBLIC_CONTRACT_VERIFICATION_SERVICE_URL=https://scv-gateway.dev.service.aepps.com
21+
22+
# Feature flags
23+
NUXT_PUBLIC_ENABLE_MARKET_STATS=true
24+
NUXT_PUBLIC_ENABLE_NODES=true
25+
26+
# Other
1527
NUXT_PUBLIC_AE_TOKEN_ID=ct_J3zBY8xxjsRr3QojETNw48Eb38fjvEuJKkQ6KzECvubvEcvCa
1628
NUXT_PUBLIC_DEBUG_MODE=false
29+
NUXT_PUBLIC_PLAUSIBLE_URL=
30+
NUXT_PUBLIC_SENTRY_AUTH_TOKEN=
31+
NUXT_PUBLIC_SENTRY_DSN=
1732

33+
# ------ TESTNET ------
1834

19-
#TESTNET
20-
#NUXT_PUBLIC_SENTRY_AUTH_TOKEN=
21-
#NUXT_PUBLIC_SENTRY_DSN=
22-
#NUXT_PUBLIC_APP_DOMAIN="http://localhost:8080"
23-
#NUXT_PUBLIC_MIDDLEWARE_URL="https://testnet.aeternity.io/mdw"
24-
#NUXT_PUBLIC_NODE_URL="https://testnet.aeternity.io"
25-
#NUXT_PUBLIC_WEBSOCKET_URL="wss://testnet.aeternity.io/mdw/v3/websocket"
26-
#NUXT_PUBLIC_NETWORK_NAME="TESTNET"
27-
#NUXT_PUBLIC_ALTERNATIVE_NETWORK_NAME="MAINNET"
35+
# Required
36+
#NUXT_PUBLIC_APP_DOMAIN=localhost:8080
37+
#NUXT_PUBLIC_MIDDLEWARE_URL=https://testnet.aeternity.io/mdw
38+
#NUXT_PUBLIC_NODE_URL=https://testnet.aeternity.io
39+
#NUXT_PUBLIC_WEBSOCKET_URL=wss://testnet.aeternity.io/mdw/v3/websocket
40+
#NUXT_PUBLIC_NETWORK_NAME=TESTNET
2841
#NUXT_PUBLIC_NETWORK_ID="ae_uat"
29-
#NUXT_PUBLIC_ALTERNATIVE_NETWORK_URL="http://localhost:8081"
42+
43+
# Alternative network
44+
#NUXT_PUBLIC_ALTERNATIVE_NETWORK_NAME="MAINNET"
45+
46+
# DEX
3047
#NUXT_PUBLIC_DEX_BACKEND_URL=https://dex-backend-testnet.prd.service.aepps.com
3148
#NUXT_PUBLIC_SH_DEX_CONTRACTS='ct_NhbxN8wg8NLkGuzwRNDQhMDKSKBwDAQgxQawK7tkigi2aC7i9;ct_MLXQEP12MBn99HL6WDaiTqDbG4bJQ3Q9Bzr57oLfvEkghvpFb'
49+
50+
# Smart Contract Verification
3251
#NUXT_PUBLIC_CONTRACT_VERIFICATION_SERVICE_URL="https://scv-gateway-testnet.dev.service.aepps.com"
33-
#NUXT_PUBLIC_AE_TOKEN_ID=ct_JDp175ruWd7mQggeHewSLS1PFXt9AzThCDaFedxon8mF8xTRF
52+
53+
# Feature flags
54+
#NUXT_PUBLIC_ENABLE_MARKET_STATS=true
55+
#NUXT_PUBLIC_ENABLE_NODES=http://138.68.22.27:3113/v2/debug/network
56+
57+
# Other
58+
#NUXT_PUBLIC_AE_TOKEN_ID=
59+
#NUXT_PUBLIC_DEBUG_MODE=false
60+
#NUXT_PUBLIC_PLAUSIBLE_URL=
61+
#NUXT_PUBLIC_SENTRY_AUTH_TOKEN=
62+
#NUXT_PUBLIC_SENTRY_DSN=

CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Changelog
22

3+
## [0.19.0](https://github.com/aeternity/aescan/compare/0.18.0...0.19.0) (2025-01-16)
4+
5+
6+
### Features
7+
8+
* Dex Trades per Token ([#876](https://github.com/aeternity/aescan/issues/876)) ([1b771c8](https://github.com/aeternity/aescan/commit/1b771c8b3f9d18a89e4ee30a3df7af739ee43c1e))
9+
* hyperchains support ([#1003](https://github.com/aeternity/aescan/issues/1003)) ([0de2e89](https://github.com/aeternity/aescan/commit/0de2e8926e02f1e34b503a700716a1471079306f))
10+
* Show Block gas limit 2 ([#1030](https://github.com/aeternity/aescan/issues/1030)) ([5e2a631](https://github.com/aeternity/aescan/commit/5e2a63165726554a9d97bea787fea0786bb253bd))
11+
* upgrade dependencies ([#1028](https://github.com/aeternity/aescan/issues/1028)) ([f6f076a](https://github.com/aeternity/aescan/commit/f6f076aa954cf72dc83500ea1635666a0c23e4ac))
12+
13+
14+
### Bug Fixes
15+
16+
* e2e randomly failing ([#1020](https://github.com/aeternity/aescan/issues/1020)) ([d0f8737](https://github.com/aeternity/aescan/commit/d0f87376b0bfac7ec35b59220ae3c4838fab5b64))
17+
* Mixed controls of hints ([#1016](https://github.com/aeternity/aescan/issues/1016)) ([9d4a9c9](https://github.com/aeternity/aescan/commit/9d4a9c919135e97e8b6dfa2207fa1aed5ad4a891))
18+
* Name appears in Auction and Expired list ([#1032](https://github.com/aeternity/aescan/issues/1032)) ([1abdace](https://github.com/aeternity/aescan/commit/1abdace1af94a8cf12dbd8779099281ab340dbb1))
19+
320
## [0.18.0](https://github.com/aeternity/aescan/compare/0.17.0...0.18.0) (2025-01-13)
421

522

cypress.config.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ export default defineConfig({
2424
baseUrl: 'http://localhost:8080',
2525
experimentalRunAllSpecs: true,
2626
},
27+
retries: 10,
2728
viewportWidth: 1280,
2829
viewportHeight: 720,
29-
defaultCommandTimeout: 180000,
30+
defaultCommandTimeout: 20000,
3031
})

cypress/e2e/app/tokenDetail.cy.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ describe('token detail', () => {
77

88
cy.contains('.tabs__item', 'Events').click()
99
cy.get('.token-events-panel .paginated-content').should('be.visible')
10+
11+
cy.contains('.tabs__item', 'Trades').click()
12+
cy.get('.token-trades-panel .paginated-content').should('be.visible')
1013
})
1114

1215
it('should display token not found', () => {

nuxt.config.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ export default defineNuxtConfig({
2727
dirs: ['./stores'],
2828
},
2929
plausible: {
30-
apiHost: 'https://plausible.dev.service.aepps.com',
30+
apiHost: process.env.PLAUSIBLE_URL,
3131
trackLocalhost: false,
3232
},
3333
appConfig: {
@@ -50,9 +50,11 @@ export default defineNuxtConfig({
5050
DEBUG_MODE: process.env.DEBUG_MODE,
5151
CONTRACT_VERIFICATION_SERVICE_URL: process.env.CONTRACT_VERIFICATION_SERVICE_URL,
5252
SH_DEX_CONTRACTS: process.env.SH_DEX_CONTRACTS?.split(';'),
53+
PLAUSIBLE_URL: process.env.PLAUSIBLE_URL,
54+
ENABLE_MARKET_STATS: process.env.ENABLE_MARKET_STATS,
55+
ENABLE_NODES: process.env.ENABLE_NODES,
5356
},
5457
},
55-
5658
postcss: {
5759
plugins: {
5860
autoprefixer: {},
@@ -106,7 +108,6 @@ export default defineNuxtConfig({
106108
}),
107109
],
108110
},
109-
110111
monacoEditor: {
111112
locale: 'en',
112113
componentName: {

package.json

Lines changed: 29 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "aescan",
3-
"version": "0.18.0",
3+
"version": "0.19.0",
44
"private": true,
55
"author": "æternity",
66
"description": "æScan is a blockchain explorer, analytics platform, and decentralized smart contract navigation platform based on æternity",
@@ -31,64 +31,64 @@
3131
"dependencies": {
3232
"@aeternity/aepp-sdk": "14.0.0",
3333
"@sentry/tracing": "^7.114.0",
34-
"@sentry/vite-plugin": "^2.22.6",
35-
"@sentry/vue": "^8.37.1",
34+
"@sentry/vite-plugin": "^2.22.7",
35+
"@sentry/vue": "^8.47.0",
3636
"@vuepic/vue-datepicker": "^10.0.0",
37-
"@vueuse/core": "^11.2.0",
37+
"@vueuse/core": "^12.3.0",
3838
"@vueuse/head": "^2.0.0",
39-
"axios": "^1.7.7",
39+
"axios": "^1.7.9",
4040
"bignumber.js": "9.1.2",
4141
"camelcase-keys-deep": "^0.1.0",
42-
"chart.js": "^4.4.6",
42+
"chart.js": "^4.4.7",
4343
"compression": "^1.7.5",
4444
"core-js": "^3.39.0",
45-
"express": "^4.21.1",
45+
"express": "^4.21.2",
4646
"floating-vue": "^5.2.2",
4747
"luxon": "^3.5.0",
4848
"memory-cache": "^0.2.0",
49-
"pinia": "^2.1.7",
50-
"swiper": "^11.1.14",
51-
"vue": "^3.4.31",
49+
"pinia": "^2.3.0",
50+
"swiper": "^11.2.0",
51+
"vue": "^3.5.13",
5252
"vue-chartjs": "^5.3.2",
5353
"vue-multiselect": "^3.1.0",
54-
"vue-router": "^4.4.5"
54+
"vue-router": "^4.5.0"
5555
},
5656
"devDependencies": {
5757
"@csstools/postcss-global-data": "^3.0.0",
58-
"@eslint/compat": "^1.2.2",
59-
"@eslint/eslintrc": "^3.1.0",
60-
"@eslint/js": "^9.14.0",
58+
"@eslint/compat": "^1.2.4",
59+
"@eslint/eslintrc": "^3.2.0",
60+
"@eslint/js": "^9.17.0",
6161
"@nuxtjs/eslint-config-typescript": "^12.1.0",
62-
"@nuxtjs/plausible": "^1.0.3",
63-
"@pinia/nuxt": "^0.5.1",
64-
"@vitejs/plugin-vue": "^5.0.5",
62+
"@nuxtjs/plausible": "^1.2.0",
63+
"@pinia/nuxt": "^0.9.0",
64+
"@vitejs/plugin-vue": "^5.2.1",
6565
"autoprefixer": "^10.4.20",
66-
"cypress": "^13.15.2",
67-
"eslint": "^9.14.0",
66+
"cypress": "^13.17.0",
67+
"eslint": "^9.17.0",
6868
"eslint-config-standard": "^17.1.0",
6969
"eslint-plugin-import": "^2.31.0",
70-
"eslint-plugin-n": "^17.13.1",
70+
"eslint-plugin-n": "^17.15.1",
7171
"eslint-plugin-nuxt": "^4.0.0",
7272
"eslint-plugin-prettier": "^5.2.1",
73-
"eslint-plugin-promise": "^7.1.0",
74-
"eslint-plugin-vue": "^9.30.0",
75-
"monaco-editor": "^0.52.0",
76-
"nuxt": "^3.14.159",
73+
"eslint-plugin-promise": "^7.2.1",
74+
"eslint-plugin-vue": "^9.32.0",
75+
"monaco-editor": "^0.52.2",
76+
"nuxt": "^3.15.1",
7777
"nuxt-monaco-editor": "^1.3.1",
78-
"postcss": "^8.4.47",
78+
"postcss": "^8.4.49",
7979
"postcss-custom-media": "^11.0.5",
8080
"postcss-html": "^1.7.0",
8181
"postcss-import": "^16.1.0",
8282
"postcss-load-config": "^6.0.1",
8383
"postcss-nested": "^7.0.2",
84-
"prettier": "^3.3.3",
84+
"prettier": "^3.4.2",
8585
"rollup-plugin-ternary": "^2.0.1",
86-
"stylelint": "^16.10.0",
86+
"stylelint": "^16.12.0",
8787
"stylelint-config-recommended": "^14.0.1",
8888
"stylelint-config-recommended-vue": "^1.5.0",
8989
"stylelint-config-standard": "^36.0.1",
90-
"typescript": "^5.6.3",
91-
"vite": "^5.4.10",
90+
"typescript": "^5.7.2",
91+
"vite": "^6.0.7",
9292
"vite-plugin-html": "^3.2.2"
9393
},
9494
"browserslist": [

src/app/router.options.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import type { RouterConfig } from '@nuxt/schema'
2-
import { MENU_HASH } from '../utils/constants'
2+
import { MENU_HASH } from '@/utils/constants'
33

44
export default <RouterConfig>{
55
scrollBehavior(to, _from, savedPosition) {

src/assets/styles/elements/_table.css

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ th {
1010
font-weight: 500;
1111
font-size: 14px;
1212
line-height: 22px;
13+
white-space: nowrap;
1314

1415
vertical-align: middle;
1516
padding: 7px 7px 7px 0;

src/components/AccountActivitiesTableCondensed.vue

Lines changed: 24 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,10 @@
77
<tbody>
88
<tr class="account-activities-table-condensed__row">
99
<th class="account-activities-table-condensed__header">
10-
<app-tooltip>
11-
Hash
12-
<template #tooltip>
13-
{{ accountHints.activityHash }}
14-
</template>
15-
</app-tooltip>
10+
<hint-tooltip>
11+
{{ accountHints.activityHash }}
12+
</hint-tooltip>
13+
Hash
1614
</th>
1715
<td class="account-activities-table-condensed__data">
1816
<value-hash-ellipsed
@@ -26,12 +24,10 @@
2624
</tr>
2725
<tr class="account-activities-table-condensed__row">
2826
<th class="account-activities-table-condensed__header">
29-
<app-tooltip>
30-
<time-toggle-button/>
31-
<template #tooltip>
32-
{{ accountHints.activityTime }}
33-
</template>
34-
</app-tooltip>
27+
<hint-tooltip>
28+
{{ accountHints.activityTime }}
29+
</hint-tooltip>
30+
<time-toggle-button class="account-activities-table-condensed__button"/>
3531
</th>
3632
<td class="account-activities-table-condensed__data">
3733
<block-time-cell
@@ -41,12 +37,10 @@
4137
</tr>
4238
<tr class="account-activities-table-condensed__row">
4339
<th class="account-activities-table-condensed__header">
44-
<app-tooltip>
45-
Type
46-
<template #tooltip>
47-
{{ accountHints.activityType }}
48-
</template>
49-
</app-tooltip>
40+
<hint-tooltip>
41+
{{ accountHints.activityType }}
42+
</hint-tooltip>
43+
Type
5044
</th>
5145
<td class="account-activities-table-condensed__data">
5246
<account-activity-type-cell
@@ -56,12 +50,10 @@
5650
</tr>
5751
<tr class="account-activities-table-condensed__row">
5852
<th class="account-activities-table-condensed__header">
59-
<app-tooltip>
60-
Activity
61-
<template #tooltip>
62-
{{ accountHints.activityMeaning }}
63-
</template>
64-
</app-tooltip>
53+
<hint-tooltip>
54+
{{ accountHints.activityMeaning }}
55+
</hint-tooltip>
56+
Activity
6557
</th>
6658
<td class="account-activities-table-condensed__data">
6759
<account-activity-cell
@@ -71,12 +63,10 @@
7163
</tr>
7264
<tr class="account-activities-table-condensed__row">
7365
<th class="account-activities-table-condensed__header">
74-
<app-tooltip>
75-
Data
76-
<template #tooltip>
77-
{{ accountHints.activityData }}
78-
</template>
79-
</app-tooltip>
66+
<hint-tooltip>
67+
{{ accountHints.activityData }}
68+
</hint-tooltip>
69+
Data
8070
</th>
8171
<td class="account-activities-table-condensed__data">
8272
<account-activity-data-cell
@@ -95,7 +85,6 @@ import AccountActivityTypeCell from '@/components/AccountActivityTypeCell'
9585
import AccountActivityDataCell from '@/components/AccountActivityDataCell'
9686
import ValueHashEllipsed from '@/components/ValueHashEllipsed'
9787
import { accountHints } from '@/utils/hints/accountHints'
98-
import AppTooltip from '@/components/AppTooltip'
9988
10089
defineProps({
10190
accountDetails: {
@@ -136,5 +125,9 @@ defineProps({
136125
&__data {
137126
text-align: right;
138127
}
128+
129+
&__button {
130+
margin-left: 3px;
131+
}
139132
}
140133
</style>

src/components/AccountActivityCell.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ const activityDescription = computed(() => {
8787
return 'Paid for'
8888
case 'InternalTransferEvent':
8989
if (props.activity.payload.kind === 'reward_block') {
90-
return 'Beneficiary reward'
90+
return 'Reward'
9191
}
9292
if (SH_DEX_CONTRACTS.includes(props.activity.payload.contractId)) {
9393
return 'SH-DEX transfer'

0 commit comments

Comments
 (0)