Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
100 commits
Select commit Hold shift + click to select a range
ab60632
chore: update dependencies and refactor ARC200 integration
scholtz Dec 19, 2025
8f73792
Refactor wallet store to TypeScript and update store index to use .ts…
scholtz Dec 19, 2025
4897cd0
feat: add WalletState interface and update wallet store to use typed …
scholtz Dec 19, 2025
06ccbf1
refactor: format error handling and improve readability in action han…
scholtz Dec 19, 2025
81d7594
feat: migrate algod actions to TypeScript and define AlgodState inter…
scholtz Dec 19, 2025
417d752
refactor: improve formatting and readability in action handlers
scholtz Dec 19, 2025
86343ba
feat: implement Arc14 module with state management and authentication…
scholtz Dec 19, 2025
56f487b
refactor: improve formatting and readability in Arc14State and signAu…
scholtz Dec 19, 2025
2877e13
feat: implement Axios module with state management and API actions
scholtz Dec 19, 2025
2d5d212
Refactor Vuex store: Introduce Config, FA2, and Indexer modules; remo…
scholtz Dec 19, 2025
35a8fed
feat: refactor participation and publicData modules; consolidate stat…
scholtz Dec 19, 2025
1dca91d
feat: implement Toast and Vote modules with state management; remove …
scholtz Dec 19, 2025
0418858
refactor: improve formatting in showToast function for better readabi…
scholtz Dec 19, 2025
560bba8
feat: refactor WalletConnect integration; replace legacy wc and wcCli…
scholtz Dec 19, 2025
6a779c2
feat: add Signer module with transaction signing capabilities; replac…
scholtz Dec 19, 2025
547fba6
refactor: improve formatting and readability in signTransaction and r…
scholtz Dec 19, 2025
7021cb3
feat: migrate i18n, service worker, and router to TypeScript; remove …
scholtz Dec 19, 2025
3a10b06
refactor: remove unused imports and fix placeholder binding in Select…
scholtz Dec 19, 2025
6ee013c
Refactor table structures in various components for improved readabil…
scholtz Dec 19, 2025
c95c454
refactor: update store usage to include RootState type in Vue components
scholtz Dec 19, 2025
9b79788
refactor: replace $t with t for i18n translation consistency across c…
scholtz Dec 19, 2025
db119c7
feat: enhance account address handling by converting Algorand address…
scholtz Dec 19, 2025
d89a8a9
feat: add error handling for account information retrieval in updateB…
scholtz Dec 19, 2025
d980e5a
feat: add fallback handling for missing accounts in accountInformatio…
scholtz Dec 19, 2025
b1bd127
feat: streamline account matching logic in vanity address generation
scholtz Dec 19, 2025
7f49fba
feat: implement vanity address generation with pattern matching in wo…
scholtz Dec 19, 2025
5187e0e
feat: enhance wallet state management and improve account selection h…
scholtz Dec 19, 2025
2572574
feat: enhance account rekey handling and improve type definitions in …
scholtz Dec 19, 2025
2244790
feat: refactor wallet and connection handling, remove deprecated file…
scholtz Dec 19, 2025
bb8961a
feat: simplify imports and remove unused variables across multiple co…
scholtz Dec 19, 2025
a19dd12
feat: add .d.ts files to tsconfig include for improved type definitions
scholtz Dec 19, 2025
c98185a
feat: add support for arbitrary file extensions and declare Vue compo…
scholtz Dec 19, 2025
2943bc6
feat: enhance amount normalization and improve maxAmount calculation …
scholtz Dec 19, 2025
080ec83
feat: streamline normalizeAmount function for improved readability an…
scholtz Dec 19, 2025
21aa65c
Implement feature X to enhance user experience and optimize performance
scholtz Dec 19, 2025
863bbe8
feat: add TypeScript typings for event parameters and improve state h…
scholtz Dec 19, 2025
66cd9e8
feat: add TypeScript error checking scripts and improve i18n usage in…
scholtz Dec 19, 2025
76e35d5
fix: standardize string quotes in Pay.vue and qrcode-reader-vue3.d.ts
scholtz Dec 19, 2025
3539d40
chore: update dependencies and refactor translation usage
scholtz Dec 19, 2025
9c359b0
Refactor ScheduledPaymentDetail and ScheduledPayments components for …
scholtz Dec 19, 2025
8d42de1
feat: enhance TypeScript typings and improve state handling in Export…
scholtz Dec 19, 2025
8ba9b84
refactor: improve code formatting and readability in Pay and SignAll …
scholtz Dec 19, 2025
ec1acf9
refactor: replace SignableTransaction with algosdk.Transaction for im…
scholtz Dec 19, 2025
44a1ff6
refactor: remove unused imports and variables in Export, ScheduledPay…
scholtz Dec 19, 2025
e69d4a5
fix: ensure accountAmount is a number for accurate calculations in Pa…
scholtz Dec 19, 2025
2568ce1
feat: enhance asset handling by introducing computed properties for n…
scholtz Dec 19, 2025
5b3dc68
refactor: improve readability of conditional check for asset ID in pa…
scholtz Dec 19, 2025
eb9c23f
feat: implement requirePayFrom function for improved account selectio…
scholtz Dec 19, 2025
8ad15a3
refactor: streamline router push syntax for improved readability in P…
scholtz Dec 19, 2025
4208d6d
feat: update ARC200 transaction composition for improved transaction …
scholtz Dec 19, 2025
3af9fe5
feat: update transaction parameter naming for consistency and clarity…
scholtz Dec 22, 2025
f896f9e
feat: enhance type definitions and improve code clarity in payment an…
scholtz Dec 24, 2025
9f2709f
feat(wallet): update account data structure and ensure network data i…
scholtz Dec 24, 2025
a9ed0ae
feat(wallet): refactor account data types and improve asset handling …
scholtz Dec 24, 2025
8e53b8c
feat(wallet): update transaction confirmation handling and type defin…
scholtz Dec 24, 2025
963fa80
feat(wallet): update account transaction handling to improve paramete…
scholtz Dec 24, 2025
7312432
feat(wallet): refactor account data types and improve balance handlin…
scholtz Dec 24, 2025
05a6e4e
feat(wallet): update file upload handling to use @select event and re…
scholtz Dec 24, 2025
4c604c6
feat(wallet): refactor 404 page to use script setup syntax for improv…
scholtz Dec 24, 2025
a537779
feat(wallet): refactor account overview components for improved struc…
scholtz Dec 24, 2025
8d78493
feat(wallet): improve template formatting for better readability in A…
scholtz Dec 24, 2025
a18bb5d
feat(wallet): enhance asset handling and type definitions for improve…
scholtz Dec 24, 2025
6252f09
feat(wallet): improve code formatting and readability in AccountDetai…
scholtz Dec 24, 2025
904dc01
feat(wallet): enhance type safety and normalize asset amounts in useS…
scholtz Dec 25, 2025
f0d5d9e
feat: Add new DEX aggregators for Biatec, Deflex, and Folks
scholtz Dec 25, 2025
213e9f7
feat(wallet): improve code formatting and readability in deflex aggre…
scholtz Dec 25, 2025
1854d21
Refactor asset handling to use camelCase for asset properties
scholtz Dec 25, 2025
72aee54
feat(wallet): normalize asset values to numbers in biatec aggregator
scholtz Dec 25, 2025
1cedfd3
feat(wallet): refactor to use local filters in TransactionDetail comp…
scholtz Dec 25, 2025
e5ab67d
feat(wallet): update Transactions component to use tableFilters for d…
scholtz Dec 25, 2025
ae4ba94
feat(wallet): enhance ReceivePayment component with improved asset ha…
scholtz Dec 25, 2025
b7dbda0
fix(ReceivePayment): streamline amount calculation in QR code generation
scholtz Dec 25, 2025
803ccc0
feat(Arc14): refactor to use Composition API and streamline state man…
scholtz Dec 25, 2025
1be6ca6
fix(Pay): handle undefined asset decimals and improve asset fetching …
scholtz Dec 25, 2025
c7688c9
chore: update TypeScript ESLint dependencies to latest versions
scholtz Dec 25, 2025
1e86281
Refactor and clean up code across multiple components
scholtz Dec 25, 2025
2dd193d
chore(ReceivePayment): remove unnecessary blank lines for cleaner code
scholtz Dec 25, 2025
04a4452
refactor: migrate from Vue CLI to Vite
scholtz Dec 25, 2025
91be36b
refactor: update transaction handling to use algosdk modelsv2 respons…
scholtz Dec 25, 2025
ef97ac0
refactor(Assets): simplify arc200 assets handling and improve readabi…
scholtz Dec 25, 2025
000e8c7
refactor: update transaction fields to align with algosdk modelsv2 re…
scholtz Dec 25, 2025
490d2c4
refactor(TransactionDetail): enhance transaction display and improve …
scholtz Dec 25, 2025
98f3ba9
refactor(Swap): add loading state for asset fetching and improve asse…
scholtz Dec 25, 2025
f71a925
refactor(Swap): remove redundant asset display in swap template
scholtz Dec 25, 2025
a6d9c53
chore: update dependencies to latest versions
scholtz Dec 25, 2025
3c5d9b4
refactor(Assets): change filters from reactive to ref for improved re…
scholtz Dec 25, 2025
5a34b8e
refactor: enhance filter types across asset-related components for im…
scholtz Dec 25, 2025
84e88a7
refactor: update wallet branding in HTML and manifest files
scholtz Dec 25, 2025
4297855
refactor(Localization): add missing keys and improve translations for…
scholtz Dec 25, 2025
6fdede1
refactor(Localization): remove unnecessary newline in connect section…
scholtz Dec 25, 2025
cb17367
refactor(Localization): update translations for scheduled payments in…
scholtz Dec 25, 2025
eebea9d
refactor: update assetId handling to use BigInt and improve transacti…
scholtz Dec 26, 2025
11c5c1b
refactor: update password input autocomplete attributes and improve e…
scholtz Dec 26, 2025
c876f63
refactor: enhance transaction signing logic with improved error handl…
scholtz Dec 26, 2025
38d86e9
refactor: ensure consistent ID comparison by converting to string in …
scholtz Dec 26, 2025
857ced9
rename deflex to haystack router
scholtz Dec 31, 2025
5e46fd4
refactor: clean up imports and improve logging in Cypress configurati…
scholtz Dec 31, 2025
bf4ddec
refactor: improve logging in deflexAggregator and extract getFolksCli…
scholtz Jan 4, 2026
5d31e3f
refactor: streamline navigation to ARC76 account creation in Cypress …
scholtz Jan 4, 2026
e769d2f
refactor: format code for better readability in ARC76 account creatio…
scholtz Jan 4, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 24 additions & 12 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,31 @@
module.exports = {
extends: "eslint:recommended",
root: true,
env: {
browser: true,
node: true,
es2022: true,
},
extends: [
"plugin:vue/vue3-essential",
"eslint:recommended",
"@vue/eslint-config-typescript",
],
parser: "vue-eslint-parser",
parserOptions: {
sourceType: "module",
ecmaVersion: "latest",
parser: "@typescript-eslint/parser",
ecmaVersion: "latest",
sourceType: "module",
},
overrides: [
{
files: ["*.ts", "*.js", "*.vue", "*.mts", "*.cts", "*.tsx"],
rules: {
"no-undef": "off",

"no-unused-vars": "warn",
rules: {
"no-unused-vars": "off",
"@typescript-eslint/no-unused-vars": [
"warn",
{
argsIgnorePattern: "^_",
varsIgnorePattern: "^_",
},
},
],
],
"vue/multi-word-component-names": "off",
"vue/no-reserved-component-names": "off",
},
};
7 changes: 7 additions & 0 deletions .github/copilot-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,13 @@ AWallet is a Vue 3-based cryptocurrency wallet for Algorand blockchain, built wi
- ESLint errors in `vue.config.js` due to obfuscated code are expected
- Exit code 1 is normal due to ESLint errors

### Localization

- **Master File**: `src/locales/en.json` is the source of truth for all localization keys.
- **Synchronization**: All other locale files (`af.json`, `cs.json`, `es.json`, `hu.json`, `it.json`, `nl.json`, `ru.json`, `sk.json`, `tr.json`) MUST have the exact same keys in the exact same order as `en.json`.
- **Missing Translations**: If a key is missing in a target locale, it should be added. If a translation is not available, use the English value as a placeholder or attempt a translation.
- **Formatting**: Ensure all JSON files use 2-space indentation and have a newline at the end.

## Testing

### Cypress E2E Tests
Expand Down
5 changes: 0 additions & 5 deletions babel.config.js

This file was deleted.

5 changes: 5 additions & 0 deletions check_algosdk.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
import algosdk from "algosdk";
console.log("indexerModels:", !!algosdk.indexerModels);
if (algosdk.indexerModels) {
console.log("Transaction:", !!algosdk.indexerModels.Transaction);
}
2 changes: 1 addition & 1 deletion cypress.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ export default defineConfig({
responseTimeout: 30000,
},

setupNodeEvents(on, config) {
setupNodeEvents(on) {
on("before:browser:launch", (browser, launchOptions) => {
if (browser.family === "chromium" && browser.name !== "electron") {
launchOptions.preferences.default.intl = { accept_languages: "en" };
Expand Down
23 changes: 14 additions & 9 deletions cypress/e2e/2-setup-account/create-arc76-account.cy.ts
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,23 @@ describe("Create ARC76 Account", () => {
// Create wallet using custom command
cy.createTestWallet();

// Navigate to account creation via menu using text-based selectors
// First expand the Wallet menu
cy.contains("Wallet", { timeout: 10000 }).click();
// The createTestWallet already redirects to /accounts

// Wait for menu to expand and click on "New account"
//cy.contains("New account", { timeout: 10000 }).should("be.visible").click();
cy.get(".pi-plus").first().trigger("mouseenter").wait(1000);
// Wait for the navbar to load
cy.get("nav", { timeout: 10000 }).should("be.visible");

// Use the menu to navigate to ARC76 account creation
cy.contains("Wallet", { timeout: 10000 }).click({ force: true });

// Wait for menu to expand and hover on "New account"
cy.contains("New account", { timeout: 10000 }).trigger("mouseenter", {
force: true,
});

// Wait for submenu to appear and click on "Email & Password account"
cy.contains("Email & Password account", { timeout: 10000 })
.should("be.visible")
.click();
cy.contains("Email & Password account", { timeout: 10000 }).click({
force: true,
});

// Wait for ARC76 form to load
cy.url().should("include", "/new-account/email-password");
Expand Down
3 changes: 2 additions & 1 deletion cypress/plugins/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
}
console.log("Cypress plugins/index.js loaded", on, config);
};
30 changes: 14 additions & 16 deletions public/index.html → index.html
Original file line number Diff line number Diff line change
Expand Up @@ -4,42 +4,40 @@
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width,initial-scale=1.0" />
<link rel="icon" href="<%= BASE_URL %>favicon.ico" />
<title>A-Wallet - Algorand Community Wallet</title>
<meta property="og:title" content="Community Algorand Wallet - AWallet" />
<meta property="og:image" content="<%= BASE_URL %>favicon.ico" />
<link rel="icon" href="/favicon.ico" />
<title>Biatec Wallet - Algorand Community Wallet</title>
<meta
property="og:title"
content="Community Algorand Wallet - Biatec Wallet"
/>
<meta property="og:image" content="/favicon.ico" />
<meta
property="og:description"
content="Free open source algorand wallet created by community for community."
/>
<meta property="og:type" content="website" />
<meta property="og:url" content="<%= BASE_URL %>" />
<meta name="twitter:image" content="<%= BASE_URL %>/img/logo.svg" />
<meta property="og:url" content="/" />
<meta name="twitter:image" content="/img/logo.svg" />
<meta name="twitter:title" content="AWallet - Community algorand wallet" />
<meta
name="twitter:description"
content="Free open source algorand wallet created by community for community."
/>
<link
id="theme-link"
rel="stylesheet"
href="<%= BASE_URL %>themes/_empty/theme.css"
/>
<link id="theme-link" rel="stylesheet" href="/themes/_empty/theme.css" />
<link
id="theme-link-custom"
rel="stylesheet"
href="<%= BASE_URL %>custom-themes/_empty/theme.css"
href="/custom-themes/_empty/theme.css"
/>
</head>
<body class="flex flex-column h-screen m-0">
<noscript>
<strong
>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work
properly without JavaScript enabled. Please enable it to
continue.</strong
>We're sorry but A-Wallet doesn't work properly without JavaScript
enabled. Please enable it to continue.</strong
>
</noscript>
<div id="app" class="flex flex-column flex-grow-1 m-2"></div>
<!-- built files will be auto injected -->
<script type="module" src="/src/main.ts"></script>
</body>
</html>
114 changes: 0 additions & 114 deletions package copy.json

This file was deleted.

Loading
Loading