Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
e3fdc76
Merge pull request #724 from enkryptcom/develop
kvhnuke Jun 30, 2025
2e87176
Squashed commit of the following:
Julian-dev28 Jul 8, 2025
c69660a
working okx swap quote
Julian-dev28 Jul 8, 2025
17051da
remove debug messages
Julian-dev28 Jul 8, 2025
d1e73af
add coredao network
denalimarsh Jul 9, 2025
a476197
update coingecko platform ID to 'core'
denalimarsh Jul 9, 2025
898a65e
activity handler, coingeckoPlatform, use blockscout fallback
denalimarsh Jul 9, 2025
8178216
Merge pull request #726 from Julian-dev28/add-okx-provider
kvhnuke Jul 9, 2025
1d4d997
devop: cleanup
kvhnuke Jul 9, 2025
fb57efe
fix tx serialization issue with tests
Julian-dev28 Jul 10, 2025
d6deb2b
fix test lint issue
Julian-dev28 Jul 10, 2025
dd21eb6
add test ; update tx formatting
Julian-dev28 Jul 10, 2025
f8fc41a
solana tx conversion
Julian-dev28 Jul 10, 2025
8c2f2ab
working tx with debugging
Julian-dev28 Jul 11, 2025
80eff59
working swaps ; todo: unwrap Sol
Julian-dev28 Jul 11, 2025
2376c50
nit:formatting
Julian-dev28 Jul 11, 2025
36cd669
Woking USDC Swap
Julian-dev28 Jul 11, 2025
5feda86
improve gas fee logic
Julian-dev28 Jul 11, 2025
4d97d73
update okx provider index
Julian-dev28 Jul 15, 2025
080ed46
devop: update packages
kvhnuke Jul 15, 2025
a26288f
Merge pull request #728 from denalimarsh/main
kvhnuke Jul 15, 2025
9c9ac77
use api logic for unwrap tx
Julian-dev28 Jul 16, 2025
6a8416a
use tx data for swap
Julian-dev28 Jul 16, 2025
f2d5023
nit: add comment
Julian-dev28 Jul 16, 2025
e5dc227
use MEW API; add optional params; add fee logic
Julian-dev28 Jul 17, 2025
6c073a3
Merge pull request #730 from Julian-dev28/fix-okx-tx-issue
kvhnuke Jul 17, 2025
8f6f047
devop: merge updates
kvhnuke Jul 17, 2025
374f498
devop: update more packagesz
kvhnuke Jul 26, 2025
79994e5
devop: fix coredao
kvhnuke Jul 26, 2025
3f392c5
fix: build
kvhnuke Jul 26, 2025
8e6e553
Merge branch 'devop/package-updates-2-10' into devop/add-CoreDAO
kvhnuke Jul 26, 2025
8fda4c7
lint: all files
kvhnuke Jul 26, 2025
77c2c6a
lint: more
kvhnuke Jul 26, 2025
415019d
Add AppLayer Testnet Network
itamarcps Aug 1, 2025
253c86e
Merge pull request #735 from itamarcps/add-applayer-testnet
kvhnuke Aug 4, 2025
b5fc6ba
Merge branch 'devop/package-updates-2-10' into devop/add-CoreDAO
kvhnuke Aug 4, 2025
a15fb7c
Merge pull request #733 from enkryptcom/devop/add-CoreDAO
kvhnuke Aug 4, 2025
efa2457
devop: merge
kvhnuke Aug 4, 2025
d9bc1c0
devop: minor lints
kvhnuke Aug 4, 2025
da71ff5
devop: minor lints
kvhnuke Aug 4, 2025
88ebdd6
Merge pull request #729 from enkryptcom/feat/okx-sol-swap
kvhnuke Aug 4, 2025
5667536
devop: bump version
kvhnuke Aug 4, 2025
5dddd09
fix: network issues
kvhnuke Aug 5, 2025
1de67ae
fix: edgeware activity
kvhnuke Aug 6, 2025
064e68d
fix: network activity
kvhnuke Aug 6, 2025
125d19e
devop: set sol addresses
kvhnuke Aug 6, 2025
5248b47
devop: lint
kvhnuke Aug 6, 2025
97226b8
devop: cleanup
kvhnuke Aug 6, 2025
b1d407d
devop: add hoodi
kvhnuke Aug 7, 2025
f5325ff
devop: add hoodi
kvhnuke Aug 7, 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
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@
"devDependencies": {
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@swc/core": "^1.12.1",
"concurrently": "^9.1.2",
"@swc/core": "^1.13.2",
"concurrently": "^9.2.0",
"husky": "^9.1.7",
"node-notifier": "^10.0.1",
"nodemon": "^3.1.10",
Expand Down
16 changes: 8 additions & 8 deletions packages/extension-bridge/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -44,23 +44,23 @@
"webextension-polyfill": "^0.12.0"
},
"devDependencies": {
"@types/node": "^22.15.24",
"@types/node": "^22.16.5",
"@types/webextension-polyfill": "^0.12.3",
"@typescript-eslint/eslint-plugin": "^8.34.1",
"@typescript-eslint/parser": "^8.34.1",
"@typescript-eslint/eslint-plugin": "^8.38.0",
"@typescript-eslint/parser": "^8.38.0",
"bumpp": "^10.2.0",
"eslint": "^9.29.0",
"eslint": "^9.32.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^10.1.5",
"eslint-config-prettier": "^10.1.8",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-import": "^2.32.0",
"eslint-plugin-module-resolver": "^1.5.0",
"prettier": "^3.5.3",
"prettier": "^3.6.2",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"tsup": "^8.5.0",
"type-fest": "^4.41.0",
"typescript": "^5.8.3",
"typescript-eslint": "8.34.1"
"typescript-eslint": "8.38.0"
}
}
10 changes: 5 additions & 5 deletions packages/extension/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import pluginVue from 'eslint-plugin-vue'
import vueTsEslintConfig from '@vue/eslint-config-typescript'
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting'
import pluginVue from 'eslint-plugin-vue';
import vueTsEslintConfig from '@vue/eslint-config-typescript';
import skipFormatting from '@vue/eslint-config-prettier/skip-formatting';

export default [
{
Expand All @@ -10,7 +10,7 @@ export default [

{
name: 'app/files-to-ignore',
ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'],
ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**', 'public/**/*'],
},

...pluginVue.configs['flat/essential'],
Expand All @@ -31,4 +31,4 @@ export default [
},
ignores: ['./public/vendor', './dist'],
},
]
];
62 changes: 31 additions & 31 deletions packages/extension/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@enkryptcom/extension",
"version": "2.9.0",
"version": "2.10.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.17.10",
"@amplitude/analytics-browser": "^2.20.1",
"@enkryptcom/extension-bridge": "workspace:^",
"@enkryptcom/hw-wallets": "workspace:^",
"@enkryptcom/keyring": "workspace:^",
Expand All @@ -36,33 +36,33 @@
"@ethereumjs/tx": "^5.4.0",
"@ethereumjs/util": "^9.1.0",
"@ethereumjs/wallet": "^2.0.4",
"@kadena/client": "^1.17.1",
"@kadena/pactjs-cli": "^1.17.1",
"@ledgerhq/hw-transport-webusb": "^6.29.6",
"@kadena/client": "^1.18.0",
"@kadena/pactjs-cli": "^1.18.0",
"@ledgerhq/hw-transport-webusb": "^6.29.8",
"@metamask/eth-sig-util": "^8.2.0",
"@metaplex-foundation/mpl-bubblegum": "^5.0.1",
"@metaplex-foundation/mpl-bubblegum": "^5.0.2",
"@metaplex-foundation/umi": "^1.2.0",
"@metaplex-foundation/umi-bundle-defaults": "^1.2.0",
"@polkadot/api": "^16.2.2",
"@polkadot/extension-inject": "^0.59.2",
"@polkadot/keyring": "^13.5.2",
"@polkadot/rpc-provider": "^16.2.2",
"@polkadot/types": "^16.2.2",
"@polkadot/types-known": "^16.2.2",
"@polkadot/ui-shared": "^3.14.1",
"@polkadot/util": "^13.5.2",
"@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",
"@solana-developers/helpers": "2.8.0",
"@solana/spl-token": "^0.4.13",
"@solana/wallet-standard-features": "^1.3.0",
"@solana/web3.js": "^1.98.2",
"@wallet-standard/base": "^1.1.0",
"add": "^2.0.6",
"bignumber.js": "^9.3.0",
"bignumber.js": "^9.3.1",
"bip39": "^3.1.0",
"bitcoinjs-lib": "^6.1.7",
"bs58": "^6.0.0",
"concurrently": "^9.1.2",
"concurrently": "^9.2.0",
"echarts": "^5.6.0",
"ethereum-cryptography": "^2.2.1",
"ethereumjs-abi": "^0.6.8",
Expand All @@ -78,7 +78,7 @@
"switch-ts": "^1.1.1",
"url-parse": "^1.5.10",
"uuid": "^11.1.0",
"vue": "^3.5.16",
"vue": "^3.5.18",
"vue-echarts": "7.0.3",
"vue-router": "^4.5.1",
"vue3-lottie": "^3.3.1",
Expand All @@ -96,16 +96,16 @@
"@rollup/plugin-node-resolve": "^16.0.1",
"@rollup/plugin-replace": "^6.0.2",
"@rollup/plugin-terser": "^0.4.4",
"@rollup/plugin-typescript": "^12.1.3",
"@rollup/plugin-typescript": "^12.1.4",
"@tsconfig/node20": "^20.1.6",
"@types/bs58": "^5.0.0",
"@types/chrome": "^0.0.326",
"@types/chrome": "^0.1.1",
"@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.17",
"@types/node": "^22.15.24",
"@types/lodash": "^4.17.20",
"@types/node": "^22.16.5",
"@types/semver": "^7.7.0",
"@types/url-parse": "^1.4.11",
"@types/utf-8-validate": "^5.0.2",
Expand All @@ -114,31 +114,31 @@
"@types/zxcvbn": "^4.4.5",
"@vitejs/plugin-vue": "^5.2.4",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.5.1",
"@vue/eslint-config-typescript": "^14.6.0",
"@vue/tsconfig": "^0.7.0",
"@vueuse/core": "^13.3.0",
"@vueuse/core": "^13.5.0",
"cross-env": "^7.0.3",
"eslint": "^9.29.0",
"eslint-plugin-vue": "^10.2.0",
"eslint": "^9.32.0",
"eslint-plugin-vue": "^10.3.0",
"fs-extra": "^11.3.0",
"jsdom": "^26.1.0",
"less": "^4.3.0",
"less": "^4.4.0",
"less-loader": "^12.3.0",
"npm-run-all2": "^8.0.4",
"prettier": "^3.5.3",
"prettier": "^3.6.2",
"rimraf": "^6.0.1",
"rollup": "^4.43.0",
"rollup": "^4.45.1",
"rollup-plugin-visualizer": "^6.0.3",
"semver": "^7.7.2",
"systeminformation": "^5.27.3",
"systeminformation": "^5.27.7",
"tsup": "^8.5.0",
"typescript": "~5.8.3",
"url": "^0.11.4",
"vite": "^6.3.5",
"vite-plugin-node-polyfills": "0.23.0",
"vite-plugin-node-polyfills": "0.24.0",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.2.4",
"vue-tsc": "^2.2.10",
"vue-tsc": "^2.2.12",
"webextension-polyfill": "^0.12.0"
},
"installConfig": {
Expand Down
4 changes: 0 additions & 4 deletions packages/extension/src/libs/dapp-list/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,6 @@ const lists: Partial<Record<NetworkNames, string>> = {
'https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/avax.json',
[NetworkNames.Fantom]:
'https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/ftm.json',
[NetworkNames.Klaytn]:
'https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/klay.json',
[NetworkNames.Aurora]:
'https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/aurora.json',
[NetworkNames.Base]:
Expand All @@ -67,8 +65,6 @@ const lists: Partial<Record<NetworkNames, string>> = {
'https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/matic-zkevm.json',
[NetworkNames.Bitcoin]:
'https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/btc.json',
[NetworkNames.Arthera]:
'https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/arthera.json',
[NetworkNames.Blast]:
'https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/blast.json',
[NetworkNames.ArbitrumNova]:
Expand Down
6 changes: 5 additions & 1 deletion packages/extension/src/libs/name-resolver/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,11 @@ class GenericNameResolver {
});
}

async resolveName(name: string, coins: CoinType[], providerChain?: string): Promise<string | null> {
async resolveName(
name: string,
coins: CoinType[],
providerChain?: string,
): Promise<string | null> {
let response: string | null = null;
for (const coin of coins) {
response = await this.nameResolver
Expand Down
19 changes: 9 additions & 10 deletions packages/extension/src/libs/nft-handlers/conflux.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
import { NFTCollection, NFTType, NFTItem } from '@/types/nft';
import { NFTCollection, NFTType } from '@/types/nft';
import { NodeType } from '@/types/provider';
import cacheFetch from '../cache-fetch';
import { NetworkNames } from '@enkryptcom/types';
import {
ConfluxResponse,
ConfluxNFTItem,
NFTBalanceItem,
ListResponse,
NFTItemWithDesc,
} from './types/conflux';

Expand All @@ -21,9 +20,9 @@ export default async (
): Promise<NFTCollection[]> => {
if (network.name !== NetworkNames.Conflux)
throw new Error('Conflux: network not supported');
let allItems: NFTCollection[] = [];
const allItems: NFTCollection[] = [];

let nftBalances: ConfluxResponse = await cacheFetch(
const nftBalances: ConfluxResponse = await cacheFetch(
{
url: `${CONFLUX_ENDPOINT}/nft/balances?owner=${address}&skip=0&limit=100`,
},
Expand All @@ -33,16 +32,16 @@ export default async (
return [];
}

for (let collection of nftBalances.result
for (const collection of nftBalances.result
.list as unknown as NFTBalanceItem[]) {
let contract = collection.contract;
const contract = collection.contract;

let items = await getCollectionItems(contract, address);
const items = await getCollectionItems(contract, address);
if (!items.length) {
continue;
}

let nftCollection: NFTCollection = {
const nftCollection: NFTCollection = {
name: collection.name,
image: collection.iconUrl || '',
description: items[0].description,
Expand All @@ -59,7 +58,7 @@ async function getCollectionItems(
contract: string,
address: string,
): Promise<NFTItemWithDesc[]> {
let itemResponse: ConfluxResponse = await cacheFetch(
const itemResponse: ConfluxResponse = await cacheFetch(
{
url: `${CONFLUX_ENDPOINT}/nft/tokens?contract=${contract}&owner=${address}&skip=0&limit=100&withBrief=${true}&withMetadata=${true}&suppressMetadataError=${true}`,
},
Expand All @@ -69,7 +68,7 @@ async function getCollectionItems(
if (itemResponse.status !== '1') {
return [];
}
let items: ConfluxNFTItem[] = itemResponse.result
const items: ConfluxNFTItem[] = itemResponse.result
.list as unknown as ConfluxNFTItem[];

return items.map(item => ({
Expand Down
11 changes: 5 additions & 6 deletions packages/extension/src/libs/rate-state/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,12 @@ export default class RateState {
}

/**
*
* @param immediate
*
* @param immediate
* @returns boolean
*
*
* allow popup to show immediately
*
*
*/
async showPopup(immediate: boolean = false): Promise<boolean> {
const state: IState | undefined = await this.storage.get(
Expand Down Expand Up @@ -49,8 +49,7 @@ export default class RateState {

await this.storage.set(StorageKeys.rateInfo, state);
return true;
}
else if (!state.alreadyRated) {
} else if (!state.alreadyRated) {
if (state.popupTime < now) {
state.popupTime = popupTime;

Expand Down
38 changes: 18 additions & 20 deletions packages/extension/src/libs/recently-sent-addresses/index.ts
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import { InternalStorageNamespace } from "@/types/provider";
import BrowserStorage from "../common/browser-storage";
import { IState, } from "./types";
import { NetworkNames } from "@enkryptcom/types";
import { BaseNetwork } from "@/types/base-network";
import { InternalStorageNamespace } from '@/types/provider';
import BrowserStorage from '../common/browser-storage';
import { IState } from './types';
import { NetworkNames } from '@enkryptcom/types';
import { BaseNetwork } from '@/types/base-network';

class RecentlySentAddressesState {
#storage: BrowserStorage
#storage: BrowserStorage;

constructor() {
this.#storage = new BrowserStorage(
Expand All @@ -17,25 +17,23 @@ class RecentlySentAddressesState {
network: Pick<BaseNetwork, 'name' | 'displayAddress'>,
address: string,
): Promise<void> {
const key = network.name
const state: IState | undefined = await this.#storage.get(key)
const key = network.name;
const state: IState | undefined = await this.#storage.get(key);
const newState: IState = {
...state,
addresses: Array.from(new Set([
network.displayAddress(address),
...(state?.addresses ?? []),
])).slice(0, 5),
}
await this.#storage.set(key, newState)
addresses: Array.from(
new Set([network.displayAddress(address), ...(state?.addresses ?? [])]),
).slice(0, 5),
};
await this.#storage.set(key, newState);
}

async getRecentlySentAddresses(networkName: NetworkNames): Promise<string[]> {
const key = networkName
const out: IState | undefined = await this.#storage.get(key)
if (!out) return []
return out.addresses
const key = networkName;
const out: IState | undefined = await this.#storage.get(key);
if (!out) return [];
return out.addresses;
}
}

export default RecentlySentAddressesState

export default RecentlySentAddressesState;
4 changes: 2 additions & 2 deletions packages/extension/src/libs/recently-sent-addresses/types.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
export type IState = {
addresses: string[]
}
addresses: string[];
};
Loading