Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
18ca58d
Support Massa in browser extension
peterjah Jul 8, 2025
59761a5
add custom token support in asset view
peterjah Jul 29, 2025
1c58e94
support MRC20 sending
peterjah Jul 31, 2025
ed340c7
devop: export type
kvhnuke Aug 13, 2025
926c79a
devop: remove form network
kvhnuke Aug 18, 2025
3bc16b3
devop: remove matic estimate gas list
kvhnuke Aug 19, 2025
8ed1760
Merge pull request #739 from massalabs/extension
kvhnuke Aug 20, 2025
83e5aef
devop: migrate crypto to local
kvhnuke Aug 20, 2025
377ce34
fix massa signature verify
peterjah Aug 25, 2025
8442c9a
devop: update packages
kvhnuke Aug 27, 2025
9564e9b
devop: update vite web extension
kvhnuke Aug 27, 2025
cb937f8
devop: update node
kvhnuke Aug 27, 2025
555d271
Merge pull request #743 from massalabs/extension
kvhnuke Aug 27, 2025
da2e374
Merge pull request #740 from enkryptcom/devop/export-types
kvhnuke Aug 27, 2025
6bab919
fix: tests
kvhnuke Aug 27, 2025
48e0cfa
fix: tests
kvhnuke Aug 27, 2025
939d68d
fix: build
kvhnuke Aug 27, 2025
92094ed
Merge pull request #742 from enkryptcom/devop/massa-changes
kvhnuke Aug 27, 2025
8660bcf
fix: tests
kvhnuke Aug 27, 2025
a754ac7
devop: cleanup
kvhnuke Aug 27, 2025
14fa497
fix: sanko network
kvhnuke Aug 27, 2025
8583091
fix: broken networks
kvhnuke Aug 27, 2025
7a72a23
devop: add zksepolia
kvhnuke Aug 27, 2025
74afbf4
devop: add zksepolia
kvhnuke Aug 27, 2025
afe65f1
fix: build
kvhnuke Aug 28, 2025
f173a23
devop: cleanup
kvhnuke Aug 28, 2025
95d0f8e
fix: build
kvhnuke Aug 28, 2025
450b069
devop: package updates
kvhnuke Aug 29, 2025
5a61a02
feat: add TAC mainnet
suhailkakar Sep 1, 2025
6fad677
update chain id
suhailkakar Sep 1, 2025
321d659
fix chrome extension build
peterjah Sep 2, 2025
0900c8c
add invalid address error message
peterjah Sep 2, 2025
4b2b694
ensure network is initialized before checking address
peterjah Sep 2, 2025
0115ba6
Merge pull request #746 from massalabs/extension
kvhnuke Sep 2, 2025
f2f8410
fix: polkadot signing issue and name resolver
kvhnuke Sep 2, 2025
6dce76c
fix: build
kvhnuke Sep 2, 2025
dad3a3e
Merge pull request #745 from suhailkakar/main
kvhnuke Sep 2, 2025
7e46243
devop: add TAC network
kvhnuke Sep 2, 2025
48a072d
devop: add tac network
kvhnuke Sep 2, 2025
da80eaf
rework sent input amount
peterjah Sep 4, 2025
3b8c669
set fiat value max width in sent-input-amount
peterjah Sep 4, 2025
99c6b70
Merge pull request #747 from massalabs/extension
kvhnuke Sep 4, 2025
660ea08
fix: keyring error
kvhnuke Sep 4, 2025
92deecc
devop: update packages
kvhnuke Sep 8, 2025
2d62693
fix transaction amount validation
peterjah Sep 9, 2025
381da02
rework activity status check
peterjah Sep 9, 2025
6966188
fix add massa custom token
peterjah Sep 9, 2025
543105b
Merge pull request #749 from massalabs/extension
kvhnuke Sep 9, 2025
776c10b
fix: name issue and blank screen issue
kvhnuke Sep 9, 2025
ac3c8f0
fix: minor
kvhnuke Sep 9, 2025
901ece0
fix: conflicts
kvhnuke Sep 10, 2025
fb25068
devop: remove ham network, fix ftm explorer
kvhnuke Sep 10, 2025
cea48fd
fix: conflicts
kvhnuke Sep 11, 2025
7950524
Merge pull request #741 from enkryptcom/feat/massalabs-extension
kvhnuke Sep 11, 2025
cefd9e4
devop: add new network
kvhnuke Sep 11, 2025
266e863
devop: update massa to stable
kvhnuke Sep 15, 2025
c0aee18
devop: add massa generate tests
kvhnuke Sep 15, 2025
7a648bc
Merge pull request #744 from enkryptcom/devop/package-upgrades-2-11
kvhnuke Sep 15, 2025
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
2 changes: 1 addition & 1 deletion .github/workflows/test-all.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22.10.0"
node-version: "22.18.0"
cache: "yarn"
- run: yarn install
- run: yarn build:all
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/test-swap.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ jobs:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: "22.10.0"
node-version: "22.18.0"
cache: "yarn"
- run: yarn install
- run: yarn build:all
Expand Down
2 changes: 1 addition & 1 deletion .nvmrc
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v22.11.0
v22.18.0
3 changes: 2 additions & 1 deletion .vscode/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,6 @@
"source.fixAll": "explicit"
},
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.inlineSuggest.enabled": false
}
2 changes: 1 addition & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:22.11-bookworm
FROM node:22.18-bookworm
RUN apt-get update
RUN apt-get install build-essential zip -y
ENV HOME /home
Expand Down
7 changes: 4 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,13 @@
"devDependencies": {
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@swc/core": "^1.13.2",
"concurrently": "^9.2.0",
"@swc/core": "^1.13.5",
"concurrently": "^9.2.1",
"husky": "^9.1.7",
"node-notifier": "^10.0.1",
"nodemon": "^3.1.10",
"ultra-runner": "^3.10.5"
"ultra-runner": "^3.10.5",
"vite-plugin-node-polyfills": "0.24.0"
},
"resolutions": {
"@zondax/ledger-cosmos-js/vue": "^3.5.12",
Expand Down
14 changes: 7 additions & 7 deletions packages/extension-bridge/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,12 +44,12 @@
"webextension-polyfill": "^0.12.0"
},
"devDependencies": {
"@types/node": "^22.16.5",
"@types/node": "^22.18.3",
"@types/webextension-polyfill": "^0.12.3",
"@typescript-eslint/eslint-plugin": "^8.38.0",
"@typescript-eslint/parser": "^8.38.0",
"bumpp": "^10.2.0",
"eslint": "^9.32.0",
"@typescript-eslint/eslint-plugin": "^8.44.0",
"@typescript-eslint/parser": "^8.44.0",
"bumpp": "^10.2.3",
"eslint": "^9.35.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-alias": "^1.1.2",
Expand All @@ -60,7 +60,7 @@
"tsconfig-paths": "^4.2.0",
"tsup": "^8.5.0",
"type-fest": "^4.41.0",
"typescript": "^5.8.3",
"typescript-eslint": "8.38.0"
"typescript": "^5.9.2",
"typescript-eslint": "8.44.0"
}
}
21 changes: 12 additions & 9 deletions packages/extension/configs/vitest.config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,26 @@ export default defineConfig({
plugins: [
tsconfigPaths() as any,
nodePolyfills({
include: [
'crypto',
// ... include other Node.js modules if needed
],
include: ['crypto'],
}),
],
define: {
// setting __VERSION__ here blows it up for some reason
// __VERSION__: 'testing',
__IS_OPERA__: false,
},
test: {
environment: 'jsdom',
setupFiles: ['./tests/setup.ts'],
include: [
'src/**/*.{test,spec}.ts',
'tests/**/*.{test,spec}.ts',
include: ['src/**/*.{test,spec}.ts', 'tests/**/*.{test,spec}.ts'],
},
resolve: {
alias: [
{
find: /^(vite-plugin-node-polyfills\/shims\/.+)/,
replacement: '$1',
customResolver(source) {
return import.meta.resolve(source).replace(/^file:\/\//, '');
},
},
],
},
});
73 changes: 37 additions & 36 deletions packages/extension/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@enkryptcom/extension",
"version": "2.10.0",
"version": "2.11.0",
"private": true,
"type": "module",
"scripts": {
Expand All @@ -23,7 +23,7 @@
"watch:firefox": "yarn prebuild && cross-env BROWSER='firefox' vite"
},
"dependencies": {
"@amplitude/analytics-browser": "^2.20.1",
"@amplitude/analytics-browser": "^2.24.0",
"@enkryptcom/extension-bridge": "workspace:^",
"@enkryptcom/hw-wallets": "workspace:^",
"@enkryptcom/keyring": "workspace:^",
Expand All @@ -38,32 +38,33 @@
"@ethereumjs/wallet": "^2.0.4",
"@kadena/client": "^1.18.0",
"@kadena/pactjs-cli": "^1.18.0",
"@ledgerhq/hw-transport-webusb": "^6.29.8",
"@ledgerhq/hw-transport-webusb": "^6.29.10",
"@massalabs/massa-web3": "^5.3.0",
"@metamask/eth-sig-util": "^8.2.0",
"@metaplex-foundation/mpl-bubblegum": "^5.0.2",
"@metaplex-foundation/umi": "^1.2.0",
"@metaplex-foundation/umi-bundle-defaults": "^1.2.0",
"@polkadot/api": "^16.4.2",
"@polkadot/extension-inject": "^0.61.4",
"@polkadot/keyring": "^13.5.3",
"@polkadot/rpc-provider": "^16.4.2",
"@polkadot/types": "^16.4.2",
"@polkadot/types-known": "^16.4.2",
"@polkadot/ui-shared": "^3.15.2",
"@polkadot/util": "^13.5.3",
"@polkadot/wasm-crypto": "^7.4.1",
"@metaplex-foundation/umi": "^1.4.1",
"@metaplex-foundation/umi-bundle-defaults": "^1.4.1",
"@polkadot/api": "^16.4.7",
"@polkadot/extension-inject": "^0.61.7",
"@polkadot/keyring": "^13.5.6",
"@polkadot/rpc-provider": "^16.4.7",
"@polkadot/types": "^16.4.7",
"@polkadot/types-known": "^16.4.7",
"@polkadot/ui-shared": "^3.16.1",
"@polkadot/util": "^13.5.6",
"@polkadot/wasm-crypto": "^7.5.1",
"@solana-developers/helpers": "2.8.0",
"@solana/spl-token": "^0.4.13",
"@solana/spl-token": "^0.4.14",
"@solana/wallet-standard-features": "^1.3.0",
"@solana/web3.js": "^1.98.2",
"@solana/web3.js": "^1.98.4",
"@wallet-standard/base": "^1.1.0",
"add": "^2.0.6",
"bignumber.js": "^9.3.1",
"bip39": "^3.1.0",
"bitcoinjs-lib": "^6.1.7",
"bs58": "^6.0.0",
"concurrently": "^9.2.0",
"echarts": "^5.6.0",
"concurrently": "^9.2.1",
"echarts": "^6.0.0",
"ethereum-cryptography": "^2.2.1",
"ethereumjs-abi": "^0.6.8",
"eventemitter3": "^5.0.1",
Expand All @@ -78,7 +79,7 @@
"switch-ts": "^1.1.1",
"url-parse": "^1.5.10",
"uuid": "^11.1.0",
"vue": "^3.5.18",
"vue": "^3.5.21",
"vue-echarts": "7.0.3",
"vue-router": "^4.5.1",
"vue3-lottie": "^3.3.1",
Expand All @@ -89,7 +90,7 @@
"zxcvbn": "^4.4.2"
},
"devDependencies": {
"@crxjs/vite-plugin": "^2.0.0-beta.32",
"@crxjs/vite-plugin": "^2.2.0",
"@rollup/plugin-commonjs": "^28.0.6",
"@rollup/plugin-inject": "^5.0.5",
"@rollup/plugin-json": "^6.1.0",
Expand All @@ -99,46 +100,46 @@
"@rollup/plugin-typescript": "^12.1.4",
"@tsconfig/node20": "^20.1.6",
"@types/bs58": "^5.0.0",
"@types/chrome": "^0.1.1",
"@types/chrome": "^0.1.11",
"@types/ethereumjs-abi": "^0.6.5",
"@types/events": "^3.0.3",
"@types/fs-extra": "^11.0.4",
"@types/less": "^3.0.8",
"@types/lodash": "^4.17.20",
"@types/node": "^22.16.5",
"@types/semver": "^7.7.0",
"@types/node": "^22.18.3",
"@types/semver": "^7.7.1",
"@types/url-parse": "^1.4.11",
"@types/utf-8-validate": "^5.0.2",
"@types/uuid": "^10.0.0",
"@types/wif": "^2.0.5",
"@types/zxcvbn": "^4.4.5",
"@vitejs/plugin-vue": "^5.2.4",
"@vitejs/plugin-vue": "^6.0.1",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.6.0",
"@vue/tsconfig": "^0.7.0",
"@vueuse/core": "^13.5.0",
"cross-env": "^7.0.3",
"eslint": "^9.32.0",
"eslint-plugin-vue": "^10.3.0",
"fs-extra": "^11.3.0",
"@vue/tsconfig": "^0.8.1",
"@vueuse/core": "^13.9.0",
"cross-env": "^10.0.0",
"eslint": "^9.35.0",
"eslint-plugin-vue": "^10.4.0",
"fs-extra": "^11.3.2",
"jsdom": "^26.1.0",
"less": "^4.4.0",
"less": "^4.4.1",
"less-loader": "^12.3.0",
"npm-run-all2": "^8.0.4",
"prettier": "^3.6.2",
"rimraf": "^6.0.1",
"rollup": "^4.45.1",
"rollup": "^4.50.2",
"rollup-plugin-visualizer": "^6.0.3",
"semver": "^7.7.2",
"systeminformation": "^5.27.7",
"systeminformation": "^5.27.9",
"tsup": "^8.5.0",
"typescript": "~5.8.3",
"typescript": "~5.9.2",
"url": "^0.11.4",
"vite": "^6.3.5",
"vite": "^7.1.5",
"vite-plugin-node-polyfills": "0.24.0",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.2.4",
"vue-tsc": "^2.2.12",
"vue-tsc": "^3.0.7",
"webextension-polyfill": "^0.12.0"
},
"installConfig": {
Expand Down
1 change: 1 addition & 0 deletions packages/extension/src/libs/background/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ class BackgroundHandler {
[ProviderName.bitcoin]: {},
[ProviderName.kadena]: {},
[ProviderName.solana]: {},
[ProviderName.massa]: {},
};
this.#providers = Providers;
}
Expand Down
5 changes: 4 additions & 1 deletion packages/extension/src/libs/background/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import type EthereumProvider from '@/providers/ethereum';
import type PolkadotProvider from '@/providers/polkadot';
import type KadenaProvider from '@/providers/kadena';
import SolanaProvider from '@/providers/solana';
import MassaProvider from '@/providers/massa';

export interface TabProviderType {
[key: string]: Record<
Expand All @@ -12,6 +13,7 @@ export interface TabProviderType {
| BitcoinProvider
| KadenaProvider
| SolanaProvider
| MassaProvider
>;
}
export interface ProviderType {
Expand All @@ -20,7 +22,8 @@ export interface ProviderType {
| typeof PolkadotProvider
| typeof BitcoinProvider
| typeof KadenaProvider
| typeof SolanaProvider;
| typeof SolanaProvider
| typeof MassaProvider;
}
export interface ExternalMessageOptions {
savePersistentEvents: boolean;
Expand Down
3 changes: 2 additions & 1 deletion packages/extension/src/libs/tokens-state/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
CustomToken,
CustomErc20Token,
TokenType,
CustomMassaToken,
} from './types';
import { NetworkNames } from '@enkryptcom/types';

Expand All @@ -24,7 +25,7 @@ export class TokensState {
*/
async addErc20Token(
chainName: NetworkNames,
token: CustomErc20Token,
token: CustomErc20Token | CustomMassaToken,
): Promise<boolean> {
let state: IState | null = await this.storage.get(StorageKeys.customTokens);

Expand Down
4 changes: 4 additions & 0 deletions packages/extension/src/libs/tokens-state/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,8 @@ export interface CustomErc20Token extends CustomToken {
address: `0x${string}`;
}

export interface CustomMassaToken extends CustomToken {
address: `AS${string}`;
}

export type IState = Partial<Record<NetworkNames, CustomToken[]>>;
11 changes: 11 additions & 0 deletions packages/extension/src/libs/utils/initialize-wallet.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import PolkadotNetworks from '@/providers/polkadot/networks';
import BitcoinNetworks from '@/providers/bitcoin/networks';
import KadenaNetworks from '@/providers/kadena/networks';
import SolanaNetworks from '@/providers/solana/networks';
import MassaNetworks from '@/providers/massa/networks';
import { NetworkNames, WalletType } from '@enkryptcom/types';
import { getAccountsByNetworkName } from '@/libs/utils/accounts';
import BackupState from '../backup-state';
Expand All @@ -23,6 +24,9 @@ export const initAccounts = async (keyring: KeyRing) => {
const ed25519sol = (
await getAccountsByNetworkName(NetworkNames.Solana)
).filter(acc => !acc.isTestWallet);
const ed25519massa = (
await getAccountsByNetworkName(NetworkNames.Massa)
).filter(acc => !acc.isTestWallet);
if (secp256k1.length == 0)
await keyring.saveNewAccount({
basePath: EthereumNetworks.ethereum.basePath,
Expand Down Expand Up @@ -58,6 +62,13 @@ export const initAccounts = async (keyring: KeyRing) => {
signerType: SolanaNetworks.solana.signer[0],
walletType: WalletType.mnemonic,
});
if (ed25519massa.length == 0)
await keyring.saveNewAccount({
basePath: MassaNetworks.Massa.basePath,
name: 'Massa Account 1',
signerType: MassaNetworks.Massa.signer[0],
walletType: WalletType.mnemonic,
});
};
export const onboardInitializeWallets = async (options: {
mnemonic: string;
Expand Down
Loading