Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
51 commits
Select commit Hold shift + click to select a range
1048072
feat: add buy button for assets
gamalielhere Apr 23, 2025
e66ef35
fix: update send to allow using token param
gamalielhere Apr 23, 2025
9e3395a
feat: implement send redirect on solana as well
gamalielhere Apr 23, 2025
7bc9d08
Merge branch 'devop/update-packages' of github.com:enkryptcom/enKrypt…
gamalielhere Apr 23, 2025
2eee0e1
feat: update rate store, apply changes to all pages necessary
gamalielhere Apr 24, 2025
2a58f08
Testing
DillonLin Apr 29, 2025
ddd1eea
Testing
DillonLin Apr 29, 2025
c1b7136
fix: refresh balance on tx confirm
ahsan-javaiid Mar 18, 2025
f16ed78
fix:jup.ag fees
kvhnuke May 6, 2025
7392bfe
feat: add Unit Zero and Unit Zero Testnet networks
Klyaus Apr 11, 2025
20f441b
refactoring: changes according to review
Klyaus May 7, 2025
9b7a6cd
add conflux network
Pana May 9, 2025
bf637fb
fix: conflicts and rewrite store, add comments
gamalielhere May 9, 2025
419767b
chore: add comments
gamalielhere May 9, 2025
d3711dd
devop: remove unused watch
gamalielhere May 9, 2025
7385dc6
Merge branch 'develop' of github.com:enkryptcom/enKrypt into feat/add…
gamalielhere May 12, 2025
77cda44
devop: update packages
kvhnuke May 12, 2025
74c6324
Merge pull request #681 from enkryptcom/fix/jup-ag-fees
kvhnuke May 12, 2025
e0ea928
Merge pull request #683 from conflux-fans/inte/conflux
kvhnuke May 12, 2025
8c4fca0
devop: merge conflux
kvhnuke May 12, 2025
b2d3a34
Merge branch 'devop/packeupdates-0512' into main
kvhnuke May 12, 2025
bb046c7
Merge pull request #669 from Klyaus/main
kvhnuke May 12, 2025
5af58a9
Merge pull request #641 from ahsan-javaiid/fix/refresh-balance
kvhnuke May 12, 2025
b5a00d2
Merge pull request #675 from enkryptcom/feat/add-asset-action
kvhnuke May 12, 2025
da7d9c4
Merge pull request #676 from enkryptcom/devop/rate-logic
kvhnuke May 12, 2025
d9c3fd1
Merge branch 'devop/packeupdates-0512' into main
kvhnuke May 12, 2025
8e7713a
Merge pull request #680 from DillonLin/main
kvhnuke May 12, 2025
0f93616
devop: new networks and prep release
kvhnuke May 12, 2025
a973477
fix: rate scrollbar
kvhnuke May 12, 2025
64ad768
Add Cytonic Testnet network
ChronosXYZ May 13, 2025
2de794e
Merge branch 'devop/packeupdates-0512' into add-cytonic-network
kvhnuke May 13, 2025
c5e82a7
Merge pull request #686 from cytonic-network/add-cytonic-network
kvhnuke May 13, 2025
f12a31d
fix: send issue
kvhnuke May 13, 2025
14a2fdd
fix: rate popup
gamalielhere May 13, 2025
4bd24c7
chore: remove unused imports
gamalielhere May 13, 2025
22742ff
chore: comment
gamalielhere May 13, 2025
829be91
fix: lint
gamalielhere May 13, 2025
b9a19d2
Add HEMI Network
0xJonHoldsCrypto May 13, 2025
e83c3f7
devop: clean up
gamalielhere May 13, 2025
c14a858
devop: add async
gamalielhere May 13, 2025
d753f64
Merge branch 'devop/packeupdates-0512' into main
kvhnuke May 13, 2025
f48b2b8
Merge pull request #688 from 0xJonHoldsCrypto/main
kvhnuke May 13, 2025
da2e9ac
Revert "Add HEMI Network"
kvhnuke May 13, 2025
049d80a
Merge pull request #689 from enkryptcom/revert-688-main
kvhnuke May 13, 2025
66fd3c2
devop: rsk testnet node update
kvhnuke May 14, 2025
82bfe02
Merge pull request #687 from enkryptcom/fix/rate
kvhnuke May 14, 2025
0650d04
chore: remove console
gamalielhere May 14, 2025
f0f08c9
Merge branch 'devop/packeupdates-0512' of github.com:enkryptcom/enKry…
gamalielhere May 14, 2025
ee55d1a
fix: remove line closing whole app
gamalielhere May 14, 2025
3e375a2
devop: bump version
kvhnuke May 16, 2025
97bd787
Merge pull request #684 from enkryptcom/devop/packeupdates-0512
kvhnuke May 16, 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
3 changes: 3 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ Enkrypt is a web3 wallet built from the ground up to support the multi-chain fut
- Canto
- Celo
- Degen
- Derive
- Dogecoin
- Edgeware
- Edgeware EVM
Expand Down Expand Up @@ -116,6 +117,8 @@ Enkrypt is a web3 wallet built from the ground up to support the multi-chain fut
- Ink Onchain
- Unichain
- Gravity
- Unit Zero
- Unit Zero Testnet
- More coming soon!

Looking to add your project? [Contact us!](https://mewwallet.typeform.com/enkrypt-inquiry?typeform-source=www.enkrypt.com)
Expand Down
8 changes: 4 additions & 4 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,13 +32,13 @@
"prepare": "husky"
},
"devDependencies": {
"@commitlint/cli": "^19.8.0",
"@commitlint/config-conventional": "^19.8.0",
"@swc/core": "^1.11.21",
"@commitlint/cli": "^19.8.1",
"@commitlint/config-conventional": "^19.8.1",
"@swc/core": "^1.11.24",
"concurrently": "^9.1.2",
"husky": "^9.1.7",
"node-notifier": "^10.0.1",
"nodemon": "^3.1.9",
"nodemon": "^3.1.10",
"ultra-runner": "^3.10.5"
},
"resolutions": {
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,23 +44,23 @@
"webextension-polyfill": "^0.12.0"
},
"devDependencies": {
"@types/node": "^22.14.1",
"@types/node": "^22.15.17",
"@types/webextension-polyfill": "^0.12.3",
"@typescript-eslint/eslint-plugin": "^8.30.1",
"@typescript-eslint/parser": "^8.30.1",
"@typescript-eslint/eslint-plugin": "^8.32.1",
"@typescript-eslint/parser": "^8.32.1",
"bumpp": "^10.1.0",
"eslint": "^9.24.0",
"eslint": "^9.26.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-config-prettier": "^10.1.2",
"eslint-config-prettier": "^10.1.5",
"eslint-import-resolver-alias": "^1.1.2",
"eslint-plugin-import": "^2.31.0",
"eslint-plugin-module-resolver": "^1.5.0",
"prettier": "^3.5.3",
"ts-node": "^10.9.2",
"tsconfig-paths": "^4.2.0",
"tsup": "^8.4.0",
"type-fest": "^4.40.0",
"type-fest": "^4.41.0",
"typescript": "^5.8.3",
"typescript-eslint": "8.30.1"
"typescript-eslint": "8.32.1"
}
}
47 changes: 24 additions & 23 deletions packages/extension/package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "@enkryptcom/extension",
"version": "2.6.0",
"version": "2.7.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.14.0",
"@amplitude/analytics-browser": "^2.17.4",
"@enkryptcom/extension-bridge": "workspace:^",
"@enkryptcom/hw-wallets": "workspace:^",
"@enkryptcom/keyring": "workspace:^",
Expand All @@ -40,25 +40,25 @@
"@kadena/pactjs-cli": "^1.17.1",
"@ledgerhq/hw-transport-webusb": "^6.29.4",
"@metamask/eth-sig-util": "^8.2.0",
"@metaplex-foundation/mpl-bubblegum": "^4.4.0",
"@metaplex-foundation/mpl-bubblegum": "^5.0.0",
"@metaplex-foundation/umi": "^1.2.0",
"@metaplex-foundation/umi-bundle-defaults": "^1.2.0",
"@polkadot/api": "^15.9.2",
"@polkadot/extension-inject": "^0.58.8",
"@polkadot/api": "^15.9.3",
"@polkadot/extension-inject": "^0.58.9",
"@polkadot/keyring": "^13.4.4",
"@polkadot/rpc-provider": "^15.9.2",
"@polkadot/types": "^15.9.2",
"@polkadot/types-known": "^15.9.2",
"@polkadot/rpc-provider": "^15.9.3",
"@polkadot/types": "^15.9.3",
"@polkadot/types-known": "^15.9.3",
"@polkadot/ui-shared": "^3.13.1",
"@polkadot/util": "^13.4.4",
"@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.0",
"@solana/web3.js": "^1.98.2",
"@wallet-standard/base": "^1.1.0",
"add": "^2.0.6",
"bignumber.js": "^9.2.1",
"bignumber.js": "^9.3.0",
"bip39": "^3.1.0",
"bitcoinjs-lib": "^6.1.7",
"bs58": "^6.0.0",
Expand All @@ -80,7 +80,7 @@
"uuid": "^11.1.0",
"vue": "^3.5.13",
"vue-echarts": "7.0.3",
"vue-router": "^4.5.0",
"vue-router": "^4.5.1",
"vue3-lottie": "^3.3.1",
"vuedraggable": "^4.1.0",
"web3-eth": "^1.10.4",
Expand All @@ -99,45 +99,46 @@
"@rollup/plugin-typescript": "^12.1.2",
"@tsconfig/node20": "^20.1.5",
"@types/bs58": "^5.0.0",
"@types/chrome": "^0.0.315",
"@types/chrome": "^0.0.322",
"@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.16",
"@types/node": "^22.14.1",
"@types/node": "^22.15.17",
"@types/semver": "^7.7.0",
"@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.3",
"@vitejs/plugin-vue": "^5.2.4",
"@vue/eslint-config-prettier": "^10.2.0",
"@vue/eslint-config-typescript": "^14.5.0",
"@vue/tsconfig": "^0.7.0",
"@vueuse/core": "^13.1.0",
"cross-env": "^7.0.3",
"eslint": "^9.24.0",
"eslint-plugin-vue": "^10.0.0",
"eslint": "^9.26.0",
"eslint-plugin-vue": "^10.1.0",
"fs-extra": "^11.3.0",
"jsdom": "^26.1.0",
"less": "^4.3.0",
"less-loader": "^12.2.0",
"npm-run-all2": "^7.0.2",
"less-loader": "^12.3.0",
"npm-run-all2": "^8.0.1",
"prettier": "^3.5.3",
"rimraf": "^6.0.1",
"rollup": "^4.40.0",
"rollup": "^4.40.2",
"rollup-plugin-visualizer": "^5.14.0",
"semver": "^7.7.1",
"semver": "^7.7.2",
"systeminformation": "^5.25.11",
"tsup": "^8.4.0",
"typescript": "~5.8.3",
"url": "^0.11.4",
"vite": "^6.3.1",
"vite": "^6.3.5",
"vite-plugin-node-polyfills": "0.23.0",
"vite-tsconfig-paths": "^5.1.4",
"vitest": "^3.1.1",
"vue-tsc": "^2.2.8",
"vitest": "^3.1.3",
"vue-tsc": "^2.2.10",
"webextension-polyfill": "^0.12.0"
},
"installConfig": {
Expand Down
84 changes: 84 additions & 0 deletions packages/extension/src/libs/nft-handlers/conflux.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
import { NFTCollection, NFTType, NFTItem } 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';

const CONFLUX_ENDPOINT = 'https://evmapi.confluxscan.org';
const CACHE_TTL = 60 * 1000;

// will fetch most 100 collections
// every collection will have most 100 items
export default async (
network: NodeType,
address: string,
): Promise<NFTCollection[]> => {
if (network.name !== NetworkNames.Conflux)
throw new Error('Conflux: network not supported');
let allItems: NFTCollection[] = [];

let nftBalances: ConfluxResponse = await cacheFetch(
{
url: `${CONFLUX_ENDPOINT}/nft/balances?owner=${address}&skip=0&limit=100`,
},
CACHE_TTL,
);
if (nftBalances.status !== '1' || nftBalances.result.total === 0) {
return [];
}

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

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

let nftCollection: NFTCollection = {
name: collection.name,
image: collection.iconUrl || '',
description: items[0].description,
contract,
items,
};
allItems.push(nftCollection);
}

return allItems;
};

async function getCollectionItems(
contract: string,
address: string,
): Promise<NFTItemWithDesc[]> {
let itemResponse: ConfluxResponse = await cacheFetch(
{
url: `${CONFLUX_ENDPOINT}/nft/tokens?contract=${contract}&owner=${address}&skip=0&limit=100&withBrief=${true}&withMetadata=${true}&suppressMetadataError=${true}`,
},
CACHE_TTL,
);

if (itemResponse.status !== '1') {
return [];
}
let items: ConfluxNFTItem[] = itemResponse.result
.list as unknown as ConfluxNFTItem[];

return items.map(item => ({
name: item.name,
id: item.tokenId,
contract: item.contract,
image: item.image,
description: item.description,
url: `https://evm.confluxscan.org/nft/${item.contract}/${item.tokenId}`,
type: item.type === 'ERC721' ? NFTType.ERC721 : NFTType.ERC1155,
}));
}
39 changes: 39 additions & 0 deletions packages/extension/src/libs/nft-handlers/types/conflux.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
import { NFTItem } from '@/types/nft';

export interface ConfluxNFTItem {
owner: string;
contract: string;
tokenId: string;
amount: string;
type: string;
name: string;
image: string;
description: string;
rawData: object;
}

export interface NFTBalanceItem {
owner: string;
contract: string;
balance: string;
name: string;
symbol: string;
type: string;
website: string | null;
iconUrl: string | null;
}

export interface ListResponse {
total: number;
list: object[];
}

export interface ConfluxResponse {
status: string;
message: string;
result: ListResponse;
}

export interface NFTItemWithDesc extends NFTItem {
description: string;
}
Loading