From aabea15a18dfad2d9dfba842a8d866dd429256cb Mon Sep 17 00:00:00 2001 From: Jan Turk Date: Fri, 4 Oct 2024 00:56:06 +0200 Subject: [PATCH 001/123] Add Fraxtal network --- .../providers/etherscan/configs.ts | 1 + .../libs/assets-handlers/assetinfo-mew.ts | 4 +++ .../libs/assets-handlers/token-lists.ts | 1 + .../assets-handlers/types/tokenbalance-mew.ts | 3 +- .../providers/ethereum/networks/fraxtal.ts | 29 +++++++++++++++++ .../ethereum/networks/icons/fraxtal.svg | 32 +++++++++++++++++++ .../src/providers/ethereum/networks/index.ts | 2 ++ packages/types/src/networks.ts | 2 ++ 8 files changed, 73 insertions(+), 1 deletion(-) create mode 100644 packages/extension/src/providers/ethereum/networks/fraxtal.ts create mode 100755 packages/extension/src/providers/ethereum/networks/icons/fraxtal.svg diff --git a/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts b/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts index 64aa911bc..c904df373 100644 --- a/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts +++ b/packages/extension/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts @@ -68,6 +68,7 @@ const NetworkEndpoints: Record = { [NetworkNames.Mode]: "https://explorer.mode.network/", [NetworkNames.ProofOfPlayApex]: "https://explorer.apex.proofofplay.com/", [NetworkNames.Scroll]: "https://api.scrollscan.com/", + [NetworkNames.Fraxtal]: "https://api.fraxscan.com/", }; export { NetworkEndpoints }; diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts index 27e45a6f3..24399d099 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts @@ -175,6 +175,10 @@ const supportedNetworks: Record = { tbName: "rari", cgPlatform: undefined, }, + [NetworkNames.Fraxtal]: { + tbName: "frax", + cgPlatform: CoingeckoPlatform.Fraxtal, + }, }; const getTokens = ( diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts index d9ab4eb20..c1ddbb282 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/token-lists.ts @@ -40,6 +40,7 @@ const TokenList: Record = { [NetworkNames.OpBNB]: `https://tokens.coingecko.com/${CoingeckoPlatform.OpBNB}/all.json`, [NetworkNames.Scroll]: `https://tokens.coingecko.com/${CoingeckoPlatform.Scroll}/all.json`, [NetworkNames.Rari]: `https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/tokenlists/rari.json`, + [NetworkNames.Fraxtal]: `https://tokens.coingecko.com/${CoingeckoPlatform.Fraxtal}/all.json`, }; const getKnownNetworkTokens = async ( diff --git a/packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts b/packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts index 35e0adb59..c0b1dde97 100644 --- a/packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts +++ b/packages/extension/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts @@ -62,4 +62,5 @@ export type SupportedNetworkNames = | NetworkNames.Mode | NetworkNames.OpBNB | NetworkNames.Scroll - | NetworkNames.Rari; + | NetworkNames.Rari + | NetworkNames.Fraxtal; diff --git a/packages/extension/src/providers/ethereum/networks/fraxtal.ts b/packages/extension/src/providers/ethereum/networks/fraxtal.ts new file mode 100644 index 000000000..7fb84abb7 --- /dev/null +++ b/packages/extension/src/providers/ethereum/networks/fraxtal.ts @@ -0,0 +1,29 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import mewNFTHandler from "@/libs/nft-handlers/mew"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const fraxtalOptions: EvmNetworkOptions = { + name: NetworkNames.Fraxtal, + name_long: "Fraxtal", + homePage: "https://www.frax.com/", + blockExplorerTX: "https://fraxscan.com/tx/[[txHash]]", + blockExplorerAddr: "https://fraxscan.com/address/[[address]]", + chainID: "0xfc", + isTestNetwork: false, + currencyName: "frxETH", + currencyNameLong: "Frax Ether", + node: "https://rpc.frax.com", + icon: require("./icons/fraxtal.svg"), + coingeckoID: "fraxtal", + coingeckoPlatform: CoingeckoPlatform.Fraxtal, + NFTHandler: mewNFTHandler, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const fraxtal = new EvmNetwork(fraxtalOptions); + +export default fraxtal; diff --git a/packages/extension/src/providers/ethereum/networks/icons/fraxtal.svg b/packages/extension/src/providers/ethereum/networks/icons/fraxtal.svg new file mode 100755 index 000000000..158a6ac8d --- /dev/null +++ b/packages/extension/src/providers/ethereum/networks/icons/fraxtal.svg @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + diff --git a/packages/extension/src/providers/ethereum/networks/index.ts b/packages/extension/src/providers/ethereum/networks/index.ts index cd771d291..090a36b88 100644 --- a/packages/extension/src/providers/ethereum/networks/index.ts +++ b/packages/extension/src/providers/ethereum/networks/index.ts @@ -57,6 +57,7 @@ import opbnbNode from "./op-bnb"; import palmNode from "./palm"; import proofOfPlayApexNode from "./pop-apex"; import scrollNode from "./scroll"; +import fraxtalNode from "./fraxtal"; export default { sepolia: sepoliaNode, @@ -127,4 +128,5 @@ export default { palm: palmNode, popApex: proofOfPlayApexNode, scroll: scrollNode, + frax: fraxtalNode, }; diff --git a/packages/types/src/networks.ts b/packages/types/src/networks.ts index 235ff9bf3..fb41cb5fd 100644 --- a/packages/types/src/networks.ts +++ b/packages/types/src/networks.ts @@ -91,6 +91,7 @@ export enum NetworkNames { ProofOfPlayApex = "ProofOfPlayApex", Scroll = "scroll", Rari = "rari", + Fraxtal = "fraxtal", } export enum CoingeckoPlatform { @@ -146,4 +147,5 @@ export enum CoingeckoPlatform { Mode = "mode", OpBNB = "opbnb", Scroll = "scroll", + Fraxtal = "fraxtal", } From 750cc824d32b0dea31526fa4ecc07bfa4e617541 Mon Sep 17 00:00:00 2001 From: kvhnuke <10602065+kvhnuke@users.noreply.github.com> Date: Mon, 14 Oct 2024 15:43:49 -0700 Subject: [PATCH 002/123] devop: switch to vite --- .vscode/extensions.json | 4 +- .vscode/settings.json | 6 +- package.json | 1 + packages/extension-vite/.browserlistrc | 15 + packages/extension-vite/.editorconfig | 6 + packages/extension-vite/.gitignore | 30 + packages/extension-vite/.prettierrc.json | 7 + packages/extension-vite/README.md | 29 + packages/extension-vite/configs/base-build.js | 38 + .../extension-vite/configs/browser-build.js | 112 + .../extension-vite/configs/empty-polyfill.js | 3 + .../extension-vite/configs/get-system-info.js | 14 + .../configs/rollup.config.base.mjs | 46 + .../configs/rollup.config.contentscript.mjs | 3 + .../configs/rollup.config.inject.mjs | 3 + .../configs/testNullCompiler.js | 10 + .../extension-vite/configs/tsconfig.test.json | 10 + packages/extension-vite/env.d.ts | 1 + packages/extension-vite/eslint.config.mjs | 35 + packages/extension-vite/index.html | 13 + packages/extension-vite/package.json | 143 ++ .../public/assets/img/icons/icon16.png | Bin 0 -> 957 bytes .../public/assets/img/icons/icon192.png | Bin 0 -> 31338 bytes .../public/assets/img/icons/icon32.png | Bin 0 -> 1895 bytes .../public/assets/img/icons/icon64.png | Bin 0 -> 5182 bytes packages/extension-vite/public/favicon.ico | Bin 0 -> 202370 bytes .../public/trezor-usb-permissions.html | 24 + .../public/vendor/trezor-content-script.js | 1250 +++++++++++ .../public/vendor/trezor-usb-permissions.js | 72 + .../extension-vite/src/configs/constants.ts | 2 + .../src/libs/activity-state/index.ts | 110 + .../src/libs/activity-state/types.ts | 12 + .../activity-state/wrap-activity-handler.ts | 31 + .../external/handle-persistent-events.ts | 53 + .../src/libs/background/external/index.ts | 2 + .../src/libs/background/index.ts | 180 ++ .../background/internal/change-network.ts | 38 + .../background/internal/ethereum-decrypt.ts | 30 + .../background/internal/ethereum-pub-key.ts | 29 + .../src/libs/background/internal/index.ts | 18 + .../src/libs/background/internal/lock.ts | 11 + .../libs/background/internal/new-account.ts | 32 + .../libs/background/internal/send-to-tab.ts | 33 + .../src/libs/background/internal/sign.ts | 30 + .../src/libs/background/internal/unlock.ts | 34 + .../src/libs/background/types.ts | 27 + .../src/libs/cache-fetch/index.ts | 57 + .../src/libs/cache-fetch/types.ts | 10 + .../src/libs/common/browser-storage.ts | 10 + .../src/libs/custom-networks-state/index.ts | 84 + .../src/libs/custom-networks-state/types.ts | 9 + .../src/libs/dapp-list/assets/mew.svg | 4 + .../src/libs/dapp-list/assets/portal.svg | 12 + .../src/libs/dapp-list/index.ts | 106 + .../src/libs/domain-state/index.ts | 100 + .../src/libs/domain-state/types.ts | 8 + .../extension-vite/src/libs/error/index.ts | 49 + .../src/libs/json-tree-view/JsonTreeView.vue | 147 ++ .../libs/json-tree-view/JsonTreeViewItem.vue | 194 ++ .../src/libs/json-tree-view/index.ts | 4 + .../src/libs/json-tree-view/types.ts | 32 + .../src/libs/keyring/keyring.ts | 93 + .../src/libs/keyring/public-keyring.ts | 139 ++ .../src/libs/market-data/ethvm.ts | 84 + .../src/libs/market-data/index.ts | 139 ++ .../src/libs/market-data/types.ts | 41 + .../src/libs/messenger/eventbus.ts | 22 + .../src/libs/messenger/extension.ts | 160 ++ .../src/libs/messenger/internal-messenger.ts | 29 + .../src/libs/messenger/window.ts | 54 + .../src/libs/metrics/amplitude.ts | 73 + .../extension-vite/src/libs/metrics/index.ts | 98 + .../extension-vite/src/libs/metrics/types.ts | 49 + .../src/libs/name-resolver/index.ts | 29 + .../src/libs/networks-state/index.ts | 108 + .../src/libs/networks-state/types.ts | 12 + .../src/libs/nft-handlers/mew.ts | 56 + .../libs/nft-handlers/simplehash-ordinals.ts | 83 + .../libs/nft-handlers/simplehash-solana.ts | 95 + .../src/libs/nft-handlers/simplehash.ts | 109 + .../src/libs/nft-handlers/types/mew.ts | 44 + .../src/libs/nft-handlers/types/simplehash.ts | 63 + .../src/libs/nft-state/index.ts | 97 + .../src/libs/nft-state/types.ts | 5 + .../src/libs/persistent-events/index.ts | 50 + .../src/libs/persistent-events/types.ts | 10 + .../src/libs/rate-state/index.ts | 76 + .../src/libs/rate-state/types.ts | 10 + .../src/libs/settings-state/index.ts | 93 + .../src/libs/settings-state/types.ts | 31 + .../src/libs/sparkline/index.ts | 24 + .../src/libs/tokens-state/index.ts | 68 + .../src/libs/tokens-state/types.ts | 24 + .../extension-vite/src/libs/utils/accounts.ts | 46 + .../src/libs/utils/get-ui-path.ts | 3 + .../src/libs/utils/initialize-wallet.ts | 57 + .../extension-vite/src/libs/utils/networks.ts | 98 + .../src/libs/utils/number-formatter.ts | 529 +++++ .../src/libs/utils/open-hardware.ts | 10 + .../src/libs/utils/open-onboard.ts | 14 + .../src/libs/utils/scroll-settings.ts | 11 + .../extension-vite/src/libs/utils/tab-info.ts | 13 + .../src/libs/window-promise/handler.ts | 99 + .../src/libs/window-promise/index.ts | 4 + .../src/libs/window-promise/promise.ts | 122 ++ .../extension-vite/src/manifest/base.json | 51 + .../src/manifest/manifest-chrome.json | 27 + .../src/manifest/manifest-edge-opera.json | 49 + .../src/manifest/manifest-firefox.json | 46 + .../src/manifest/tests/manifests.mocha.ts | 8 + .../src/providers/bitcoin/index.ts | 73 + .../src/providers/bitcoin/inject.ts | 143 ++ .../bitcoin/libs/accounts-state/index.ts | 72 + .../bitcoin/libs/accounts-state/types.ts | 6 + .../bitcoin/libs/activity-handlers/index.ts | 3 + .../providers/haskoin/index.ts | 95 + .../activity-handlers/providers/ss/index.ts | 108 + .../src/providers/bitcoin/libs/api-ss.ts | 144 ++ .../src/providers/bitcoin/libs/api.ts | 113 + .../bitcoin/libs/bip322-message-sign.ts | 192 ++ .../src/providers/bitcoin/libs/blockies.ts | 113 + .../providers/bitcoin/libs/btc-fee-handler.ts | 22 + .../providers/bitcoin/libs/filter-ordinals.ts | 55 + .../providers/bitcoin/libs/message-router.ts | 56 + .../bitcoin/libs/sign-message-utils.ts | 47 + .../providers/bitcoin/libs/ss-fee-handler.ts | 35 + .../src/providers/bitcoin/libs/utils.ts | 104 + .../bitcoin/methods/btc_getBalance.ts | 39 + .../bitcoin/methods/btc_getNetwork.ts | 34 + .../bitcoin/methods/btc_getPublicKey.ts | 33 + .../bitcoin/methods/btc_requestAccounts.ts | 80 + .../bitcoin/methods/btc_signMessage.ts | 52 + .../providers/bitcoin/methods/btc_signPsbt.ts | 55 + .../bitcoin/methods/btc_switchNetwork.ts | 60 + .../src/providers/bitcoin/methods/index.ts | 16 + .../bitcoin/networks/bitcoin-testnet.ts | 56 + .../src/providers/bitcoin/networks/bitcoin.ts | 51 + .../providers/bitcoin/networks/dogecoin.ts | 51 + .../providers/bitcoin/networks/icons/btc.svg | 12 + .../providers/bitcoin/networks/icons/doge.svg | 1 + .../providers/bitcoin/networks/icons/ltc.svg | 1 + .../providers/bitcoin/networks/icons/tbtc.svg | 13 + .../src/providers/bitcoin/networks/index.ts | 11 + .../providers/bitcoin/networks/litecoin.ts | 51 + .../tests/bitcoin.address.derivation.mocha.ts | 16 + .../bitcoin/types/bitcoin-network.ts | 155 ++ .../src/providers/bitcoin/types/btc-token.ts | 19 + .../src/providers/bitcoin/types/index.ts | 109 + .../providers/bitcoin/ui/btc-connect-dapp.vue | 172 ++ .../providers/bitcoin/ui/btc-sign-message.vue | 122 ++ .../bitcoin/ui/btc-verify-transaction.vue | 342 +++ .../src/providers/bitcoin/ui/index.ts | 7 + .../src/providers/bitcoin/ui/libs/signer.ts | 199 ++ .../src/providers/bitcoin/ui/libs/tx-size.ts | 260 +++ .../src/providers/bitcoin/ui/routes/index.ts | 18 + .../src/providers/bitcoin/ui/routes/names.ts | 22 + .../components/send-address-input.vue | 160 ++ .../components/send-alert.vue | 72 + .../components/send-token-select.vue | 107 + .../bitcoin/ui/send-transaction/index.vue | 570 +++++ .../verify-transaction/index.vue | 356 +++ .../bitcoin/ui/styles/common-popup.less | 220 ++ .../bitcoin/ui/styles/verify-transaction.less | 479 ++++ .../src/providers/bitcoin/ui/types.ts | 47 + .../src/providers/common/libs/default-vals.ts | 29 + .../src/providers/common/libs/new-features.ts | 6 + .../src/providers/common/types/index.ts | 22 + .../components/nft-select-list-item.vue | 126 ++ .../components/nft-select-list-search.vue | 42 + .../nft-select-list/index.vue | 175 ++ .../ui/send-transaction/send-address-item.vue | 145 ++ .../common/ui/send-transaction/send-alert.vue | 68 + .../send-transaction/send-contacts-list.vue | 271 +++ .../ui/send-transaction/send-fee-select.vue | 150 ++ .../send-from-contacts-list.vue | 151 ++ .../ui/send-transaction/send-header.vue | 151 ++ .../ui/send-transaction/send-input-amount.vue | 182 ++ .../ui/send-transaction/send-nft-select.vue | 165 ++ .../verify-transaction-nft.vue | 85 + .../common/ui/styles/verify-transaction.less | 470 ++++ .../hardware-wallet-msg.vue | 45 + .../verify-transaction-account.vue | 117 + .../verify-transaction-amount.vue | 87 + .../verify-transaction-fee.vue | 63 + .../verify-transaction-network.vue | 66 + .../src/providers/ethereum/index.ts | 79 + .../src/providers/ethereum/inject.ts | 183 ++ .../providers/ethereum/libs/abi/erc1155.ts | 314 +++ .../src/providers/ethereum/libs/abi/erc20.ts | 86 + .../src/providers/ethereum/libs/abi/erc721.ts | 333 +++ .../ethereum/libs/accounts-state/index.ts | 77 + .../ethereum/libs/accounts-state/types.ts | 6 + .../ethereum/libs/activity-handlers/index.ts | 16 + .../providers/etherscan/configs.ts | 73 + .../providers/etherscan/index.ts | 100 + .../providers/etherscan/types.ts | 16 + .../providers/godwoken/configs.ts | 7 + .../providers/godwoken/index.ts | 212 ++ .../providers/okc/configs.ts | 8 + .../activity-handlers/providers/okc/index.ts | 109 + .../providers/ont-evm/configs.ts | 5 + .../providers/ont-evm/index.ts | 99 + .../providers/rivet/configs.ts | 9 + .../providers/rivet/index.ts | 99 + .../providers/telos/configs.ts | 7 + .../providers/telos/index.ts | 88 + .../providers/telos/types.ts | 16 + .../providers/tomoscan/configs.ts | 7 + .../providers/tomoscan/index.ts | 84 + .../providers/tomoscan/types.ts | 16 + .../src/providers/ethereum/libs/api.ts | 84 + .../libs/assets-handlers/assetinfo-mew.ts | 355 +++ .../libs/assets-handlers/solanachain.ts | 59 + .../libs/assets-handlers/token-lists.ts | 70 + .../libs/assets-handlers/tomochain.ts | 45 + .../assets-handlers/types/tokenbalance-mew.ts | 66 + .../src/providers/ethereum/libs/blockies.ts | 113 + .../src/providers/ethereum/libs/common.ts | 5 + .../ethereum/libs/message-handler.ts | 79 + .../ethereum/libs/sanitize-typed-data.ts | 53 + .../ethereum/libs/transaction/data-decoder.ts | 73 + .../ethereum/libs/transaction/decoder.ts | 98 + .../ethereum/libs/transaction/gas-utils.ts | 187 ++ .../ethereum/libs/transaction/index.ts | 288 +++ .../ethereum/libs/transaction/lists/4bytes.ts | 7 + .../libs/transaction/lists/tokenSigs.ts | 5 + .../ethereum/libs/transaction/op-data.ts | 133 ++ .../ethereum/libs/transaction/types.ts | 94 + .../providers/ethereum/libs/tx-broadcaster.ts | 28 + .../ethereum/methods/enkrypt_getPublicKey.ts | 32 + .../ethereum/methods/eth_accounts.ts | 43 + .../providers/ethereum/methods/eth_decrypt.ts | 35 + .../methods/eth_getEncryptionPublicKey.ts | 34 + .../ethereum/methods/eth_requestAccounts.ts | 99 + .../methods/eth_sendRawTransaction.ts | 25 + .../ethereum/methods/eth_sendTransaction.ts | 41 + .../providers/ethereum/methods/eth_sign.ts | 35 + .../ethereum/methods/eth_signTransaction.ts | 13 + .../ethereum/methods/eth_signTypedData.ts | 61 + .../src/providers/ethereum/methods/index.ts | 34 + .../ethereum/methods/personal_ecRecover.ts | 32 + .../ethereum/methods/personal_sign.ts | 45 + .../methods/wallet_addEthereumChain.ts | 170 ++ .../methods/wallet_requestPermissions.ts | 23 + .../methods/wallet_switchEthereumChain.ts | 80 + .../ethereum/methods/wallet_watchAsset.ts | 125 ++ .../src/providers/ethereum/networks/aa.ts | 23 + .../src/providers/ethereum/networks/aat.ts | 23 + .../providers/ethereum/networks/arb-nova.ts | 27 + .../src/providers/ethereum/networks/arb.ts | 29 + .../src/providers/ethereum/networks/astr.ts | 27 + .../src/providers/ethereum/networks/aurora.ts | 27 + .../src/providers/ethereum/networks/avax.ts | 29 + .../src/providers/ethereum/networks/base.ts | 27 + .../src/providers/ethereum/networks/blast.ts | 29 + .../src/providers/ethereum/networks/bsc.ts | 30 + .../providers/ethereum/networks/cagaAnkara.ts | 24 + .../src/providers/ethereum/networks/canto.ts | 27 + .../src/providers/ethereum/networks/celo.ts | 27 + .../ethereum/networks/coti-devnet.ts | 22 + .../src/providers/ethereum/networks/degen.ts | 27 + .../src/providers/ethereum/networks/dmt.ts | 27 + .../src/providers/ethereum/networks/edg.ts | 25 + .../src/providers/ethereum/networks/etc.ts | 26 + .../src/providers/ethereum/networks/eth.ts | 29 + .../ethereum/networks/form-testnet.ts | 24 + .../src/providers/ethereum/networks/forma.ts | 25 + .../src/providers/ethereum/networks/ftm.ts | 27 + .../src/providers/ethereum/networks/glmr.ts | 27 + .../src/providers/ethereum/networks/gno.ts | 29 + .../providers/ethereum/networks/godwoken.ts | 29 + .../src/providers/ethereum/networks/ham.ts | 24 + .../providers/ethereum/networks/holesky.ts | 21 + .../providers/ethereum/networks/icons/aa.svg | 42 + .../ethereum/networks/icons/apex.png | Bin 0 -> 16062 bytes .../ethereum/networks/icons/arbitrum-nova.png | Bin 0 -> 17854 bytes .../ethereum/networks/icons/arbitrum.svg | 16 + .../ethereum/networks/icons/astr.png | Bin 0 -> 15683 bytes .../ethereum/networks/icons/aurora.png | Bin 0 -> 41673 bytes .../ethereum/networks/icons/avax.svg | 4 + .../ethereum/networks/icons/base.svg | 531 +++++ .../ethereum/networks/icons/blast.webp | Bin 0 -> 14858 bytes .../providers/ethereum/networks/icons/bsc.svg | 4 + .../ethereum/networks/icons/caga.svg | 11 + .../ethereum/networks/icons/canto.svg | 4 + .../ethereum/networks/icons/celo.svg | 1 + .../ethereum/networks/icons/coti.png | Bin 0 -> 17682 bytes .../ethereum/networks/icons/degen.png | Bin 0 -> 3774 bytes .../ethereum/networks/icons/edgeware.svg | 13 + .../providers/ethereum/networks/icons/etc.svg | 8 + .../providers/ethereum/networks/icons/eth.svg | 6 + .../ethereum/networks/icons/form.png | Bin 0 -> 33086 bytes .../ethereum/networks/icons/forma.png | Bin 0 -> 2443 bytes .../providers/ethereum/networks/icons/ftm.svg | 1 + .../providers/ethereum/networks/icons/gno.svg | 15 + .../ethereum/networks/icons/godwoken.png | Bin 0 -> 6412 bytes .../providers/ethereum/networks/icons/ham.png | Bin 0 -> 15484 bytes .../networks/icons/immutable-zkevm.png | Bin 0 -> 17843 bytes .../ethereum/networks/icons/karura-evm.svg | 16 + .../ethereum/networks/icons/klaytn.png | Bin 0 -> 20529 bytes .../ethereum/networks/icons/linea.png | Bin 0 -> 3997 bytes .../ethereum/networks/icons/manta-pacific.png | Bin 0 -> 13354 bytes .../ethereum/networks/icons/matic.svg | 4 + .../ethereum/networks/icons/mode.png | Bin 0 -> 7278 bytes .../ethereum/networks/icons/moonbeam.svg | 17 + .../ethereum/networks/icons/moonriver.svg | 13 + .../providers/ethereum/networks/icons/okc.svg | 6 + .../ethereum/networks/icons/ont-evm.png | Bin 0 -> 10774 bytes .../providers/ethereum/networks/icons/op.svg | 5 + .../ethereum/networks/icons/opbnb.png | Bin 0 -> 11088 bytes .../ethereum/networks/icons/palm.svg | 11 + .../ethereum/networks/icons/rari.png | Bin 0 -> 8641 bytes .../ethereum/networks/icons/rootstock.svg | 1 + .../ethereum/networks/icons/sanko.png | Bin 0 -> 32691 bytes .../ethereum/networks/icons/scroll.png | Bin 0 -> 10488 bytes .../providers/ethereum/networks/icons/sdn.png | Bin 0 -> 44657 bytes .../ethereum/networks/icons/shiba-inu.svg | 113 + .../networks/icons/skaleBlockBrawlers.png | Bin 0 -> 246452 bytes .../networks/icons/skaleCalypsoNFTHub.png | Bin 0 -> 428727 bytes .../networks/icons/skaleCryptoBlades.png | Bin 0 -> 15794 bytes .../networks/icons/skaleCryptoColloseum.png | Bin 0 -> 205136 bytes .../ethereum/networks/icons/skaleEuropa.svg | 1 + .../ethereum/networks/icons/skaleExorde.png | Bin 0 -> 5634 bytes .../ethereum/networks/icons/skaleNebula.png | Bin 0 -> 80616 bytes .../ethereum/networks/icons/skaleRazor.png | Bin 0 -> 36334 bytes .../ethereum/networks/icons/skaleTitan.png | Bin 0 -> 216871 bytes .../ethereum/networks/icons/skl-fuel.png | Bin 0 -> 380826 bytes .../providers/ethereum/networks/icons/skl.png | Bin 0 -> 226238 bytes .../ethereum/networks/icons/sys_nevm.svg | 56 + .../ethereum/networks/icons/sys_rollux.svg | 36 + .../ethereum/networks/icons/telos.svg | Bin 0 -> 886636 bytes .../ethereum/networks/icons/tsys_nevm.svg | 52 + .../ethereum/networks/icons/tsys_rollux.svg | 34 + .../ethereum/networks/icons/viction.png | Bin 0 -> 52562 bytes .../ethereum/networks/icons/xlayer.png | Bin 0 -> 4191 bytes .../providers/ethereum/networks/icons/zcd.svg | 27 + .../ethereum/networks/icons/zksync.svg | 5 + .../ethereum/networks/immutable-zkevm.ts | 27 + .../src/providers/ethereum/networks/index.ts | 134 ++ .../src/providers/ethereum/networks/karura.ts | 25 + .../src/providers/ethereum/networks/klay.ts | 26 + .../src/providers/ethereum/networks/linea.ts | 28 + .../ethereum/networks/manta-pacific.ts | 30 + .../src/providers/ethereum/networks/matic.ts | 29 + .../providers/ethereum/networks/maticzk.ts | 29 + .../src/providers/ethereum/networks/mode.ts | 29 + .../src/providers/ethereum/networks/movr.ts | 27 + .../src/providers/ethereum/networks/okc.ts | 27 + .../src/providers/ethereum/networks/ontevm.ts | 24 + .../src/providers/ethereum/networks/op-bnb.ts | 27 + .../src/providers/ethereum/networks/op.ts | 29 + .../src/providers/ethereum/networks/palm.ts | 27 + .../providers/ethereum/networks/pop-apex.ts | 29 + .../src/providers/ethereum/networks/puppy.ts | 23 + .../src/providers/ethereum/networks/rari.ts | 29 + .../src/providers/ethereum/networks/rlx.ts | 27 + .../ethereum/networks/rsk-testnet.ts | 40 + .../src/providers/ethereum/networks/rsk.ts | 43 + .../src/providers/ethereum/networks/scroll.ts | 28 + .../src/providers/ethereum/networks/sdn.ts | 27 + .../providers/ethereum/networks/sepolia.ts | 23 + .../src/providers/ethereum/networks/shib.ts | 26 + .../ethereum/networks/skale/README.md | 95 + .../ethereum/networks/skale/blockBrawlers.ts | 29 + .../ethereum/networks/skale/calypso.ts | 25 + .../ethereum/networks/skale/chaos.ts | 25 + .../ethereum/networks/skale/cryptoBlades.ts | 35 + .../networks/skale/cryptoColosseum.ts | 25 + .../ethereum/networks/skale/europa.ts | 85 + .../ethereum/networks/skale/exorde.ts | 12 + .../ethereum/networks/skale/index.ts | 23 + .../ethereum/networks/skale/nebula.ts | 12 + .../ethereum/networks/skale/razor.ts | 30 + .../ethereum/networks/skale/skale-base.ts | 234 ++ .../ethereum/networks/skale/titan.ts | 12 + .../src/providers/ethereum/networks/sys.ts | 25 + .../src/providers/ethereum/networks/tlos.ts | 27 + .../src/providers/ethereum/networks/trlx.ts | 23 + .../src/providers/ethereum/networks/tsys.ts | 23 + .../src/providers/ethereum/networks/vic.ts | 27 + .../src/providers/ethereum/networks/xlayer.ts | 28 + .../src/providers/ethereum/networks/zcd.ts | 23 + .../providers/ethereum/networks/zkgoerli.ts | 25 + .../src/providers/ethereum/networks/zksync.ts | 29 + .../tests/ethereum.data.decode.mocha.ts | 30 + .../ethereum/tests/ethereum.events.mocha.ts | 140 ++ .../ethereum/tests/ethereum.requests.mocha.ts | 104 + .../ethereum/types/custom-evm-network.ts | 35 + .../providers/ethereum/types/erc20-token.ts | 41 + .../providers/ethereum/types/evm-network.ts | 291 +++ .../src/providers/ethereum/types/index.ts | 77 + .../ethereum/ui/eth-connect-dapp.vue | 172 ++ .../src/providers/ethereum/ui/eth-decrypt.vue | 108 + .../ethereum/ui/eth-get-encryption-key.vue | 106 + .../ethereum/ui/eth-sign-message.vue | 114 + .../ethereum/ui/eth-sign-typedata.vue | 148 ++ .../ethereum/ui/eth-verify-transaction.vue | 430 ++++ .../src/providers/ethereum/ui/index.ts | 7 + .../src/providers/ethereum/ui/libs/signer.ts | 110 + .../src/providers/ethereum/ui/routes/index.ts | 28 + .../src/providers/ethereum/ui/routes/names.ts | 47 + .../components/send-address-input.vue | 162 ++ .../components/send-token-select.vue | 116 + .../ethereum/ui/send-transaction/index.vue | 742 +++++++ .../verify-transaction/index.vue | 392 ++++ .../ethereum/ui/styles/common-popup.less | 224 ++ .../src/providers/ethereum/ui/types.ts | 40 + .../ui/wallet-add-ethereum-network.vue | 334 +++ .../ethereum/ui/wallet-watch-asset.vue | 389 ++++ .../extension-vite/src/providers/index.ts | 14 + .../src/providers/kadena/index.ts | 83 + .../src/providers/kadena/inject.ts | 57 + .../kadena/libs/accounts-state/index.ts | 60 + .../kadena/libs/accounts-state/types.ts | 6 + .../kadena/libs/activity-handlers/index.ts | 3 + .../providers/kadena/configs.ts | 13 + .../providers/kadena/index.ts | 100 + .../src/providers/kadena/libs/api.ts | 137 ++ .../providers/kadena/libs/message-handler.ts | 34 + .../src/providers/kadena/libs/network.ts | 21 + .../src/providers/kadena/methods/index.ts | 11 + .../kadena/methods/kda_getBalance.ts | 29 + .../kadena/methods/kda_requestAccounts.ts | 146 ++ .../kadena/methods/kda_signTransaction.ts | 42 + .../kadena/methods/kda_switchNetwork.ts | 60 + .../kadena/networks/icons/kadena-kda-logo.svg | 5 + .../src/providers/kadena/networks/index.ts | 7 + .../kadena/networks/kadena-testnet.ts | 41 + .../src/providers/kadena/networks/kadena.ts | 42 + .../src/providers/kadena/types/index.ts | 29 + .../providers/kadena/types/kadena-network.ts | 141 ++ .../src/providers/kadena/types/kda-token.ts | 128 ++ .../src/providers/kadena/ui/index.ts | 7 + .../src/providers/kadena/ui/kda-accounts.vue | 108 + .../providers/kadena/ui/kda-sign-message.vue | 121 + .../src/providers/kadena/ui/libs/signer.ts | 27 + .../src/providers/kadena/ui/routes/index.ts | 16 + .../src/providers/kadena/ui/routes/names.ts | 12 + .../components/send-address-input.vue | 176 ++ .../components/send-alert.vue | 53 + .../components/send-fee-display.vue | 124 ++ .../components/send-fee-select.vue | 129 ++ .../components/send-token-item.vue | 142 ++ .../components/send-token-list.vue | 139 ++ .../components/send-token-select.vue | 114 + .../kadena/ui/send-transaction/index.vue | 588 +++++ .../verify-transaction/index.vue | 358 +++ .../kadena/ui/styles/verify-transaction.less | 468 ++++ .../src/providers/kadena/ui/types/index.ts | 33 + .../src/providers/polkadot/index.ts | 66 + .../src/providers/polkadot/inject.ts | 109 + .../polkadot/libs/accounts-state/index.ts | 59 + .../polkadot/libs/accounts-state/types.ts | 6 + .../src/providers/polkadot/libs/accounts.ts | 33 + .../polkadot/libs/activity-handlers/index.ts | 3 + .../providers/subscan/configs.ts | 21 + .../providers/subscan/index.ts | 73 + .../providers/polkadot/libs/api-promises.ts | 15 + .../src/providers/polkadot/libs/api.ts | 59 + .../providers/polkadot/libs/asset-handler.ts | 107 + .../providers/polkadot/libs/asset-token.ts | 43 + .../src/providers/polkadot/libs/blockies.ts | 26 + .../polkadot/libs/injected-provider.ts | 45 + .../src/providers/polkadot/libs/keystore.ts | 41 + .../providers/polkadot/libs/message-router.ts | 21 + .../polkadot/libs/metadata-storage.ts | 73 + .../src/providers/polkadot/libs/metadata.ts | 28 + .../src/providers/polkadot/libs/provider.ts | 119 + .../src/providers/polkadot/libs/signer.ts | 47 + .../providers/polkadot/libs/signing-utils.ts | 33 + .../polkadot/methods/dot_accounts_get.ts | 90 + .../polkadot/methods/dot_metadata_get.ts | 24 + .../polkadot/methods/dot_metadata_set.ts | 34 + .../methods/dot_signer_signPayload.ts | 39 + .../polkadot/methods/dot_signer_signRaw.ts | 45 + .../src/providers/polkadot/methods/index.ts | 12 + .../polkadot/networks/acala/acala.ts | 37 + .../networks/acala/assets/acala-assets.ts | 35 + .../networks/acala/assets/icons/ACA.png | Bin 0 -> 15856 bytes .../networks/acala/assets/icons/AIR.png | Bin 0 -> 5985 bytes .../networks/acala/assets/icons/ARIS.png | Bin 0 -> 18759 bytes .../networks/acala/assets/icons/AUSD.png | Bin 0 -> 16388 bytes .../networks/acala/assets/icons/BNC.png | Bin 0 -> 2077 bytes .../networks/acala/assets/icons/BSX.png | Bin 0 -> 43496 bytes .../networks/acala/assets/icons/CRAB.png | Bin 0 -> 18622 bytes .../networks/acala/assets/icons/CSM.png | Bin 0 -> 7872 bytes .../networks/acala/assets/icons/DOT.png | Bin 0 -> 7037 bytes .../networks/acala/assets/icons/EQD.png | Bin 0 -> 55537 bytes .../networks/acala/assets/icons/ETH.svg | 29 + .../networks/acala/assets/icons/GENS.png | Bin 0 -> 101132 bytes .../networks/acala/assets/icons/HKO.png | Bin 0 -> 81172 bytes .../networks/acala/assets/icons/KAR.svg | 15 + .../networks/acala/assets/icons/KBTC.png | Bin 0 -> 20387 bytes .../networks/acala/assets/icons/KICO.png | Bin 0 -> 19671 bytes .../networks/acala/assets/icons/KINT.png | Bin 0 -> 18943 bytes .../networks/acala/assets/icons/KMA.png | Bin 0 -> 50492 bytes .../networks/acala/assets/icons/KSM.png | Bin 0 -> 2017 bytes .../networks/acala/assets/icons/LCDOT.png | Bin 0 -> 9871 bytes .../networks/acala/assets/icons/LDOT.png | Bin 0 -> 10948 bytes .../networks/acala/assets/icons/LKSM.png | Bin 0 -> 7981 bytes .../networks/acala/assets/icons/MOVR.png | Bin 0 -> 7144 bytes .../networks/acala/assets/icons/NEER.png | Bin 0 -> 25837 bytes .../networks/acala/assets/icons/PHA.png | Bin 0 -> 2067 bytes .../networks/acala/assets/icons/QTZ.png | Bin 0 -> 4094 bytes .../networks/acala/assets/icons/RMRK.png | Bin 0 -> 4137 bytes .../networks/acala/assets/icons/TAI.png | Bin 0 -> 8626 bytes .../networks/acala/assets/icons/TAP.png | Bin 0 -> 7067 bytes .../networks/acala/assets/icons/TDOT.png | Bin 0 -> 7944 bytes .../networks/acala/assets/icons/TEER.png | Bin 0 -> 28737 bytes .../networks/acala/assets/icons/TUR.png | Bin 0 -> 133168 bytes .../networks/acala/assets/icons/USDC.png | Bin 0 -> 12625 bytes .../networks/acala/assets/icons/USDT.png | Bin 0 -> 26986 bytes .../networks/acala/assets/icons/taiKSM.png | Bin 0 -> 7736 bytes .../networks/acala/assets/karura-assets.ts | 168 ++ .../polkadot/networks/acala/karura.ts | 38 + .../networks/acala/libs/assetinfo-orml.ts | 161 ++ .../networks/acala/types/acala-orml-asset.ts | 59 + .../networks/assethub/assethub-dot.ts | 37 + .../networks/assethub/assethub-ksm.ts | 37 + .../polkadot/networks/assethub/assets-dot.ts | 26 + .../polkadot/networks/assethub/assets-ksm.ts | 20 + .../polkadot/networks/assethub/icons/ded.png | Bin 0 -> 24946 bytes .../polkadot/networks/assethub/icons/rmrk.png | Bin 0 -> 10119 bytes .../polkadot/networks/assethub/icons/usdc.png | Bin 0 -> 2091 bytes .../polkadot/networks/assethub/icons/usdt.png | Bin 0 -> 1507 bytes .../polkadot/networks/assethub/index.ts | 4 + .../networks/astar/assets/astar-assets.ts | 26 + .../networks/astar/assets/icons/ACA.png | Bin 0 -> 15856 bytes .../networks/astar/assets/icons/AUSD.png | Bin 0 -> 16388 bytes .../networks/astar/assets/icons/DOT.png | Bin 0 -> 7037 bytes .../networks/astar/assets/icons/KAR.svg | 15 + .../networks/astar/assets/icons/KSM.png | Bin 0 -> 2017 bytes .../networks/astar/assets/icons/LDOT.png | Bin 0 -> 10948 bytes .../networks/astar/assets/icons/LKSM.png | Bin 0 -> 7981 bytes .../networks/astar/assets/icons/MOVR.png | Bin 0 -> 7144 bytes .../networks/astar/assets/shiden-assets.ts | 25 + .../polkadot/networks/astar/astar.ts | 37 + .../polkadot/networks/astar/shiden.ts | 37 + .../networks/bifrost/assets/bifrost-assets.ts | 72 + .../networks/bifrost/assets/icons/AUSD.png | Bin 0 -> 16388 bytes .../networks/bifrost/assets/icons/BNC.png | Bin 0 -> 2077 bytes .../networks/bifrost/assets/icons/CRAB.png | Bin 0 -> 1487 bytes .../networks/bifrost/assets/icons/CSM.png | Bin 0 -> 2256 bytes .../networks/bifrost/assets/icons/KAR.png | Bin 0 -> 1166 bytes .../networks/bifrost/assets/icons/KSM.png | Bin 0 -> 2017 bytes .../networks/bifrost/assets/icons/MOVR.png | Bin 0 -> 7144 bytes .../networks/bifrost/assets/icons/PHA.png | Bin 0 -> 961 bytes .../networks/bifrost/assets/icons/RMRK.png | Bin 0 -> 1579 bytes .../networks/bifrost/assets/icons/TUR.png | Bin 0 -> 1433 bytes .../networks/bifrost/assets/icons/USDT.png | Bin 0 -> 1171 bytes .../networks/bifrost/assets/icons/ZLK.png | Bin 0 -> 782 bytes .../polkadot/networks/bifrost/kusama.ts | 37 + .../networks/bifrost/libs/assetinfo-orml.ts | 161 ++ .../polkadot/networks/bifrost/polkadot.ts | 37 + .../bifrost/types/bifrost-orml-asset.ts | 54 + .../providers/polkadot/networks/edgeware.ts | 33 + .../polkadot/networks/icons/acala.svg | 11 + .../polkadot/networks/icons/amplitude.svg | 23 + .../polkadot/networks/icons/assethub.png | Bin 0 -> 8824 bytes .../polkadot/networks/icons/astar.png | Bin 0 -> 15683 bytes .../polkadot/networks/icons/bifrost.svg | 19 + .../polkadot/networks/icons/edgeware.svg | 13 + .../polkadot/networks/icons/interlay.svg | 104 + .../polkadot/networks/icons/karura.svg | 16 + .../polkadot/networks/icons/kintsugi.svg | 23 + .../polkadot/networks/icons/kusama.svg | 4 + .../polkadot/networks/icons/opal.svg | 1 + .../polkadot/networks/icons/pendulum.svg | 19 + .../polkadot/networks/icons/polkadot.svg | 10 + .../polkadot/networks/icons/quartz.svg | 1 + .../polkadot/networks/icons/shiden.png | Bin 0 -> 44657 bytes .../polkadot/networks/icons/unique.svg | 1 + .../polkadot/networks/icons/vara.svg | 68 + .../polkadot/networks/icons/westend.svg | 17 + .../src/providers/polkadot/networks/index.ts | 41 + .../src/providers/polkadot/networks/kusama.ts | 33 + .../polkadot/networks/pendulum/amplitude.ts | 33 + .../pendulum/assets/pendulum-assets.ts | 29 + .../polkadot/networks/pendulum/icons/AMPE.png | Bin 0 -> 25484 bytes .../polkadot/networks/pendulum/icons/PEN.png | Bin 0 -> 8911 bytes .../polkadot/networks/pendulum/pendulum.ts | 33 + .../providers/polkadot/networks/polkadot.ts | 33 + .../networks/unique/libs/activity-handler.ts | 130 ++ .../polkadot/networks/unique/opal.ts | 32 + .../polkadot/networks/unique/quartz.ts | 33 + .../polkadot/networks/unique/unique.ts | 33 + .../src/providers/polkadot/networks/vara.ts | 31 + .../providers/polkadot/networks/westend.ts | 31 + .../polkadot/tests/polkadot.requests.mocha.ts | 92 + .../src/providers/polkadot/types/index.ts | 70 + .../polkadot/types/substrate-native-token.ts | 46 + .../polkadot/types/substrate-network.ts | 194 ++ .../polkadot/types/substrate-token.ts | 13 + .../ui/custom-views/blind-approvetx.vue | 24 + .../polkadot/ui/custom-views/index.ts | 21 + .../ui/custom-views/mappings/acala.ts | 78 + .../ui/custom-views/mappings/index.ts | 11 + .../ui/custom-views/mappings/polkadot.ts | 10 + .../ui/custom-views/mappings/substrate.ts | 16 + .../ui/custom-views/transfer-approvetx.vue | 77 + .../polkadot/ui/custom-views/types.ts | 13 + .../providers/polkadot/ui/dot-accounts.vue | 108 + .../polkadot/ui/dot-sign-message.vue | 106 + .../polkadot/ui/dot-update-metadata.vue | 206 ++ .../polkadot/ui/dot-verify-transaction.vue | 405 ++++ .../src/providers/polkadot/ui/index.ts | 7 + .../src/providers/polkadot/ui/libs/signer.ts | 85 + .../src/providers/polkadot/ui/routes/index.ts | 20 + .../src/providers/polkadot/ui/routes/names.ts | 27 + .../components/send-address-input.vue | 181 ++ .../components/send-alert.vue | 72 + .../components/send-fee-display.vue | 124 ++ .../components/send-fee-select.vue | 129 ++ .../components/send-token-item.vue | 143 ++ .../components/send-token-list.vue | 140 ++ .../components/send-token-select.vue | 114 + .../polkadot/ui/send-transaction/index.vue | 630 ++++++ .../verify-transaction/index.vue | 383 ++++ .../ui/styles/verify-transaction.less | 468 ++++ .../src/providers/polkadot/ui/types/index.ts | 64 + .../src/providers/solana/index.ts | 77 + .../src/providers/solana/inject.ts | 114 + .../solana/libs/accounts-state/index.ts | 70 + .../solana/libs/accounts-state/types.ts | 6 + .../src/providers/solana/libs/api.ts | 110 + .../src/providers/solana/libs/blockies.ts | 113 + .../providers/solana/libs/message-router.ts | 41 + .../src/providers/solana/libs/utils.ts | 11 + .../solana/libs/wallet-standard/account.ts | 67 + .../solana/libs/wallet-standard/icon.ts | 3 + .../solana/libs/wallet-standard/index.ts | 1 + .../solana/libs/wallet-standard/initialize.ts | 7 + .../solana/libs/wallet-standard/register.ts | 83 + .../solana/libs/wallet-standard/solana.ts | 32 + .../solana/libs/wallet-standard/util.ts | 23 + .../solana/libs/wallet-standard/wallet.ts | 300 +++ .../solana/libs/wallet-standard/window.ts | 46 + .../src/providers/solana/methods/index.ts | 5 + .../providers/solana/methods/sol_connect.ts | 89 + .../solana/methods/sol_signInMessage.ts | 37 + .../solana/methods/sol_signTransaction.ts | 54 + .../providers/solana/networks/icons/sol.svg | 2 + .../src/providers/solana/networks/index.ts | 5 + .../src/providers/solana/networks/solana.ts | 29 + .../src/providers/solana/types/index.ts | 3 + .../src/providers/solana/types/sol-network.ts | 153 ++ .../src/providers/solana/types/sol-token.ts | 31 + .../src/providers/solana/ui/index.ts | 7 + .../src/providers/solana/ui/libs/decode-tx.ts | 158 ++ .../solana/ui/libs/get-priority-fees.ts | 74 + .../src/providers/solana/ui/libs/signer.ts | 110 + .../solana/ui/libs/signin-message.ts | 64 + .../src/providers/solana/ui/routes/index.ts | 18 + .../src/providers/solana/ui/routes/names.ts | 22 + .../components/send-address-input.vue | 158 ++ .../components/send-fee-select.vue | 134 ++ .../components/send-token-select.vue | 116 + .../solana/ui/send-transaction/index.vue | 739 +++++++ .../verify-transaction/index.vue | 414 ++++ .../providers/solana/ui/sol-connect-dapp.vue | 173 ++ .../providers/solana/ui/sol-sign-message.vue | 196 ++ .../solana/ui/sol-verify-transaction.vue | 336 +++ .../solana/ui/styles/common-popup.less | 220 ++ .../solana/ui/styles/verify-transaction.less | 479 ++++ .../src/providers/solana/ui/types.ts | 51 + .../src/scripts/chrome/background.ts | 52 + .../src/scripts/chrome/hot-reload.ts | 57 + .../src/scripts/contentscript.ts | 26 + .../src/scripts/firefox/background.ts | 46 + packages/extension-vite/src/scripts/inject.ts | 65 + packages/extension-vite/src/types/activity.ts | 145 ++ .../extension-vite/src/types/base-network.ts | 113 + .../extension-vite/src/types/base-token.ts | 73 + packages/extension-vite/src/types/globals.ts | 11 + .../extension-vite/src/types/messenger.ts | 64 + packages/extension-vite/src/types/nft.ts | 26 + packages/extension-vite/src/types/provider.ts | 221 ++ .../src/types/shims-vue-others.d.ts | 12 + .../extension-vite/src/types/shims-vue.d.ts | 4 + packages/extension-vite/src/types/ui.ts | 25 + packages/extension-vite/src/types/window.d.ts | 3 + packages/extension-vite/src/ui/action/App.vue | 679 ++++++ .../src/ui/action/assets/account.png | Bin 0 -> 1941 bytes .../ui/action/assets/animation/error-big.json | 1 + .../src/ui/action/assets/animation/error.json | 1 + .../ui/action/assets/animation/looking.json | 1 + .../assets/animation/search-not-found.json | 1941 +++++++++++++++++ .../assets/animation/send-checkmark.json | 1 + .../action/assets/animation/send-process.json | 1 + .../ui/action/assets/animation/status.json | 1 + .../assets/animation/swap-initiated.json | 1 + .../assets/animation/token-loading.json | 762 +++++++ .../ui/action/assets/animation/warning.json | 1 + .../src/ui/action/assets/common/not-found.jpg | Bin 0 -> 48808 bytes .../src/ui/action/assets/qr.png | Bin 0 -> 1177 bytes .../src/ui/action/assets/sparkline.png | Bin 0 -> 1021 bytes .../src/ui/action/components/Menu/index.vue | 42 + .../components/header-accounts.vue | 309 +++ .../components/subnet-list-item.vue | 118 + .../components/subnet-list.vue | 121 + .../components/accounts-header/index.vue | 89 + .../action/components/action-menu/index.vue | 114 + .../app-menu/components/app-menu-item.vue | 194 ++ .../ui/action/components/app-menu/index.vue | 95 + .../action/components/base-button/index.vue | 165 ++ .../action/components/base-checkbox/index.vue | 67 + .../components/base-file-picker/index.vue | 91 + .../ui/action/components/base-input/index.vue | 102 + .../action/components/base-search/index.vue | 122 ++ .../components/base-select-option.vue | 74 + .../action/components/base-select/index.vue | 138 ++ .../action/components/check-phrase/index.vue | 71 + .../components/custom-scrollbar/index.vue | 114 + .../css/perfect-scrollbar.css | 92 + .../perfect-scrollbar/handlers/click-rail.js | 31 + .../perfect-scrollbar/handlers/drag-thumb.js | 102 + .../perfect-scrollbar/handlers/keyboard.js | 148 ++ .../perfect-scrollbar/handlers/mouse-wheel.js | 155 ++ .../perfect-scrollbar/handlers/touch.js | 220 ++ .../perfect-scrollbar/index.js | 244 +++ .../perfect-scrollbar/lib/class-names.js | 45 + .../perfect-scrollbar/lib/css.js | 14 + .../perfect-scrollbar/lib/dom.js | 36 + .../perfect-scrollbar/lib/event-manager.js | 79 + .../perfect-scrollbar/lib/util.js | 43 + .../perfect-scrollbar/process-scroll-diff.js | 85 + .../perfect-scrollbar/update-geometry.js | 163 ++ .../action/components/label-input/index.vue | 109 + .../action/components/list-search/index.vue | 65 + .../ui/action/components/masonry/index.vue | 109 + .../action/components/network-menu/index.vue | 104 + .../action/components/notification/index.vue | 69 + .../components/password-input-strength.vue | 290 +++ .../components/password-input/index.vue | 38 + .../components/phrase-checkbox/index.vue | 77 + .../components/select-account-input/index.vue | 95 + .../src/ui/action/components/switch/index.vue | 89 + .../ui/action/components/tooltip/index.vue | 135 ++ .../src/ui/action/composables/account-info.ts | 53 + .../icons/actions/add-hardware-account.vue | 37 + .../src/ui/action/icons/actions/buy.vue | 30 + .../src/ui/action/icons/actions/delete.vue | 23 + .../src/ui/action/icons/actions/deposit.vue | 29 + .../src/ui/action/icons/actions/edit.vue | 23 + .../icons/actions/import-account-icon.vue | 36 + .../src/ui/action/icons/actions/more.vue | 23 + .../src/ui/action/icons/actions/paste.vue | 23 + .../src/ui/action/icons/actions/rarible.vue | 27 + .../src/ui/action/icons/actions/send.vue | 29 + .../src/ui/action/icons/actions/swap.vue | 43 + .../src/ui/action/icons/actions/view.vue | 15 + .../ui/action/icons/asset/sparkline-down.vue | 22 + .../ui/action/icons/asset/sparkline-up.vue | 22 + .../ui/action/icons/common/add-account.vue | 22 + .../src/ui/action/icons/common/add-icon.vue | 22 + .../src/ui/action/icons/common/arrow-back.vue | 22 + .../src/ui/action/icons/common/arrow-next.vue | 20 + .../src/ui/action/icons/common/arrow-prev.vue | 20 + .../ui/action/icons/common/balance-loader.vue | 75 + .../action/icons/common/checkbox-active.vue | 22 + .../src/ui/action/icons/common/clear-icon.vue | 23 + .../src/ui/action/icons/common/close-icon.vue | 20 + .../icons/common/custom-network-icon.vue | 22 + .../ui/action/icons/common/dapps-arrow.vue | 21 + .../src/ui/action/icons/common/done_icon.vue | 22 + .../src/ui/action/icons/common/drag-icon.vue | 23 + .../ui/action/icons/common/external-icon.vue | 21 + .../src/ui/action/icons/common/hold-icon.vue | 22 + .../ui/action/icons/common/info-icon-gray.vue | 22 + .../src/ui/action/icons/common/info-icon.vue | 27 + .../src/ui/action/icons/common/loader.vue | 86 + .../src/ui/action/icons/common/logo-big.vue | 41 + .../src/ui/action/icons/common/logo-min.vue | 47 + .../src/ui/action/icons/common/logo.vue | 41 + .../icons/common/manage-networks-icon.vue | 36 + .../src/ui/action/icons/common/more-icon.vue | 23 + .../ui/action/icons/common/right-arrow.vue | 20 + .../ui/action/icons/common/right-chevron.vue | 20 + .../src/ui/action/icons/common/search.vue | 22 + .../ui/action/icons/common/settings-icon.vue | 23 + .../src/ui/action/icons/common/sign-logo.vue | 42 + .../ui/action/icons/common/slider-icon.vue | 23 + .../action/icons/common/test-network-icon.vue | 39 + .../action/icons/connect/connected-icon.vue | 22 + .../icons/connect/connecting-ellipse.vue | 25 + .../action/icons/connect/connecting-icon.vue | 30 + .../src/ui/action/icons/connect/link-icon.vue | 46 + .../src/ui/action/icons/fee/economy-icon.vue | 22 + .../src/ui/action/icons/fee/higher-icon.vue | 22 + .../src/ui/action/icons/fee/highest-icon.vue | 22 + .../ui/action/icons/fee/recomended-icon.vue | 22 + .../src/ui/action/icons/fee/time-icon.vue | 22 + .../icons/hardware/connection-error.vue | 42 + .../icons/hardware/connection-success.vue | 28 + .../action/icons/hardware/hardware-icon.vue | 29 + .../icons/hardware/ledger-connection.vue | 102 + .../ui/action/icons/hardware/ledger-icon.vue | 37 + .../ui/action/icons/hardware/ledger-logo.vue | 27 + .../icons/hardware/trezor-connection.vue | 110 + .../ui/action/icons/hardware/trezor-icon.vue | 47 + .../ui/action/icons/hardware/trezor-logo.vue | 27 + .../src/ui/action/icons/header/bug_icon.vue | 21 + .../src/ui/action/icons/header/copy_icon.vue | 27 + .../action/icons/header/disconnect_icon.vue | 16 + .../ui/action/icons/header/external-icon.vue | 25 + .../ui/action/icons/header/feedback_icon.vue | 20 + .../src/ui/action/icons/header/info_icon.vue | 23 + .../src/ui/action/icons/header/qr_icon.vue | 22 + .../ui/action/icons/header/switch_arrow.vue | 20 + .../icons/import/import-account-animation.vue | 81 + .../icons/import/import-done-animation.vue | 92 + .../icons/import/import-error-animation.vue | 115 + .../import/import-keystore-animation.vue | 62 + .../import/import-private-key-animation.vue | 262 +++ .../action/icons/import/import-start-icon.vue | 29 + .../src/ui/action/icons/nft/nft-empty.vue | 22 + .../icons/nft/nft-more-add-to-favorite.vue | 23 + .../nft/nft-more-delete-from-favorite.vue | 21 + .../src/ui/action/icons/nft/nft-more-hide.vue | 23 + .../src/ui/action/icons/nft/nft-more-menu.vue | 23 + .../src/ui/action/icons/nft/nft-more-send.vue | 29 + .../src/ui/action/icons/nft/nft-more-show.vue | 23 + .../src/ui/action/icons/nft/nft-sort-menu.vue | 23 + .../ui/action/icons/password/help-icon.vue | 22 + .../ui/action/icons/password/hide-icon.vue | 20 + .../ui/action/icons/password/visible-icon.vue | 20 + .../src/ui/action/icons/raw/account.png | Bin 0 -> 1941 bytes .../src/ui/action/icons/raw/azuki-pic-1.png | Bin 0 -> 14807 bytes .../src/ui/action/icons/raw/azuki.png | Bin 0 -> 2757 bytes .../ui/action/icons/raw/cool-cats-pic-1.png | Bin 0 -> 13193 bytes .../ui/action/icons/raw/cool-cats-pic-2.png | Bin 0 -> 14787 bytes .../ui/action/icons/raw/cool-cats-pic-3.png | Bin 0 -> 10848 bytes .../src/ui/action/icons/raw/cool-cats.png | Bin 0 -> 3849 bytes .../src/ui/action/icons/raw/dapp-browser.png | Bin 0 -> 1498 bytes .../src/ui/action/icons/raw/eth-green.png | Bin 0 -> 1066 bytes .../src/ui/action/icons/raw/eth-logo.png | Bin 0 -> 2471 bytes .../src/ui/action/icons/raw/moonbeam.png | Bin 0 -> 2300 bytes .../src/ui/action/icons/raw/paraswap.png | Bin 0 -> 2777 bytes .../src/ui/action/icons/raw/polkadot.png | Bin 0 -> 2757 bytes .../src/ui/action/icons/raw/polygon-logo.png | Bin 0 -> 1952 bytes .../src/ui/action/icons/raw/rarible.png | Bin 0 -> 1048 bytes .../src/ui/action/icons/raw/uni.png | Bin 0 -> 6138 bytes .../src/ui/action/icons/raw/uniswap.png | Bin 0 -> 3496 bytes .../src/ui/action/icons/raw/yearn.png | Bin 0 -> 4261 bytes .../src/ui/action/icons/send/alert-icon.vue | 23 + .../src/ui/action/icons/send/arrow-down.vue | 23 + .../icons/send/send-checkmark-animation.vue | 166 ++ .../icons/send/send-process-animation.vue | 72 + .../icons/send/send-spinner-animation.vue | 74 + .../action/icons/send/switch-arrow-icon.vue | 23 + .../src/ui/action/icons/send/warning-icon.vue | 23 + .../ui/action/icons/social/github-icon.vue | 35 + .../ui/action/icons/social/instagram-icon.vue | 35 + .../ui/action/icons/social/reddit-icon.vue | 35 + .../ui/action/icons/social/twitter-icon.vue | 23 + .../src/ui/action/icons/swap/swap-arrows.vue | 23 + .../icons/swap/swap-looking-animation.vue | 160 ++ .../src/ui/action/icons/tabs/activity.vue | 23 + .../src/ui/action/icons/tabs/assets.vue | 23 + .../src/ui/action/icons/tabs/dapps.vue | 23 + .../src/ui/action/icons/tabs/nfts.vue | 23 + .../ui/action/icons/tip/extension-icon.vue | 24 + .../src/ui/action/icons/tip/online-icon.vue | 38 + .../src/ui/action/icons/tip/pin-icon.vue | 26 + .../extension-vite/src/ui/action/index.html | 20 + packages/extension-vite/src/ui/action/main.ts | 13 + .../src/ui/action/router/index.ts | 104 + .../src/ui/action/styles/color.less | 41 + .../src/ui/action/styles/custom-scroll.less | 95 + .../action/styles/provider-connect-dapp.less | 35 + .../src/ui/action/styles/theme.less | 10 + .../src/ui/action/types/account.ts | 16 + .../extension-vite/src/ui/action/types/fee.ts | 23 + .../src/ui/action/types/filters.ts | 17 + .../src/ui/action/types/main.ts | 3 + .../src/ui/action/types/network.d.ts | 3 + .../src/ui/action/types/password.ts | 7 + .../src/ui/action/types/token.ts | 16 + .../src/ui/action/types/transaction.ts | 24 + .../src/ui/action/utils/browser.ts | 62 + .../src/ui/action/utils/filters.ts | 34 + .../src/ui/action/utils/misc.ts | 5 + .../components/accounts-list-item-menu.vue | 84 + .../components/accounts-list-item.vue | 198 ++ .../accounts/components/accounts-search.vue | 78 + .../accounts/components/add-account-form.vue | 231 ++ .../components/delete-account-form.vue | 125 ++ .../components/rename-account-form.vue | 214 ++ .../src/ui/action/views/accounts/index.vue | 351 +++ .../components/add-network-header.vue | 74 + .../components/add-network-item.vue | 123 ++ .../components/add-network-search.vue | 161 ++ .../src/ui/action/views/add-network/index.vue | 93 + .../add-network/views/add-custom-network.vue | 357 +++ .../add-network/views/add-network-list.vue | 257 +++ .../action/views/asset-detail-view/index.vue | 312 +++ .../components/assets-not-found.vue | 43 + .../components/assets-select-list-item.vue | 148 ++ .../components/assets-select-list-search.vue | 61 + .../components/assets-select-loading.vue | 56 + .../action/views/assets-select-list/index.vue | 209 ++ .../ui/action/views/common-popup/index.vue | 46 + .../src/ui/action/views/deposit/index.vue | 304 +++ .../components/import-account-header.vue | 67 + .../components/import-account-process.vue | 71 + .../ui/action/views/import-account/index.vue | 233 ++ .../views/import-account-importing.vue | 235 ++ .../views/import-account-keystore-file.vue | 74 + .../views/import-account-password.vue | 205 ++ .../views/import-account-private-key.vue | 193 ++ .../import-account-select-account-dot.vue | 136 ++ .../views/import-account-start-dot.vue | 126 ++ .../views/import-account-start.vue | 119 + .../src/ui/action/views/intro/index.vue | 23 + .../components/lock-screen-forgot.vue | 176 ++ .../components/lock-screen-password-input.vue | 51 + .../components/lock-screen-timer.vue | 65 + .../src/ui/action/views/lock-screen/index.vue | 177 ++ .../ui/action/views/modal-accounts/index.vue | 179 ++ .../ui/action/views/modal-forgot/index.vue | 68 + .../action/views/modal-new-version/index.vue | 144 ++ .../ui/action/views/modal-preload/index.vue | 71 + .../src/ui/action/views/modal-rate/index.vue | 172 ++ .../src/ui/action/views/modal-sign/index.vue | 181 ++ .../components/network-activity-action.vue | 108 + .../components/network-activity-loading.vue | 45 + .../components/network-activity-total.vue | 85 + .../network-activity-transaction.vue | 304 +++ .../components/transaction-timer.vue | 60 + .../action/views/network-activity/index.vue | 318 +++ .../components/custom-evm-token.vue | 503 +++++ .../components/network-assets-item.vue | 279 +++ .../components/network-assets-loading.vue | 37 + .../ui/action/views/network-assets/index.vue | 210 ++ .../components/network-dapps-item.vue | 94 + .../ui/action/views/network-dapps/index.vue | 118 + .../network-nfts-category-sort-menu.vue | 84 + .../components/network-nfts-category.vue | 134 ++ .../components/network-nfts-empty.vue | 44 + .../components/network-nfts-favorite.vue | 85 + .../components/network-nfts-hidden.vue | 86 + .../network-nfts-item-more-menu.vue | 123 ++ .../components/network-nfts-item.vue | 244 +++ .../ui/action/views/network-nfts/index.vue | 210 ++ .../ui/action/views/nft-detail-view/index.vue | 200 ++ .../ui/action/views/reset-wallet/index.vue | 140 ++ .../components/send-process-account.vue | 114 + .../components/send-process-amount.vue | 86 + .../components/send-process-nft.vue | 81 + .../ui/action/views/send-process/index.vue | 150 ++ .../action/views/send-transaction/index.vue | 53 + .../settings/components/settings-button.vue | 102 + .../settings/components/settings-header.vue | 55 + .../components/settings-inner-header.vue | 85 + .../settings/components/settings-switch.vue | 74 + .../src/ui/action/views/settings/index.vue | 164 ++ .../settings/views/settings-about/index.vue | 51 + .../settings/views/settings-general/index.vue | 137 ++ .../views/settings-recovery/index.vue | 125 ++ .../settings/views/settings-start/index.vue | 123 ++ .../settings/views/settings-support/index.vue | 13 + .../components/swap-initiated-amount.vue | 71 + .../ui/action/views/swap-initiated/index.vue | 196 ++ .../swap/components/send-address-input.vue | 171 ++ .../swap/components/send-address-item.vue | 134 ++ .../swap/components/send-contacts-list.vue | 157 ++ .../components/swap-assets-select-list.vue | 65 + .../swap/components/swap-error/index.vue | 175 ++ .../views/swap/components/swap-error/types.ts | 30 + .../swap/components/swap-loading/index.vue | 129 ++ .../components/swap-network-select/index.vue | 114 + .../network-select-list-item.vue | 101 + .../network-select-list.vue | 112 + .../components/swap-token-amount-input.vue | 111 + .../swap-token-amount-input/index.vue | 128 ++ .../components/swap-token-fast-item.vue | 66 + .../components/swap-token-fast-list/index.vue | 44 + .../components/swap-token-select/index.vue | 143 ++ .../components/swap-token-amount-input.vue | 82 + .../components/swap-token-to-amount/index.vue | 122 ++ .../src/ui/action/views/swap/index.vue | 1023 +++++++++ .../action/views/swap/libs/bitcoin-gasvals.ts | 26 + .../ui/action/views/swap/libs/evm-gasvals.ts | 116 + .../views/swap/libs/send-transactions.ts | 422 ++++ .../action/views/swap/libs/solana-gasvals.ts | 219 ++ .../views/swap/libs/substrate-gasvals.ts | 23 + .../src/ui/action/views/swap/libs/swap-txs.ts | 175 ++ .../src/ui/action/views/swap/types.ts | 55 + .../components/best-offer-error.vue | 128 ++ .../components/best-offer-list-item.vue | 125 ++ .../components/best-offer-list.vue | 57 + .../components/best-offer-warning.vue | 61 + .../swap-best-offer-block/index.vue | 322 +++ .../swap/views/swap-best-offer/index.vue | 600 +++++ .../components/transaction-fee-item.vue | 155 ++ .../ui/action/views/transaction-fee/index.vue | 268 +++ .../action/views/verify-transaction/index.vue | 32 + .../extension-vite/src/ui/onboard/App.vue | 171 ++ .../create-wallet/double-check-phrase.vue | 83 + .../onboard/create-wallet/pick-password.vue | 90 + .../onboard/create-wallet/recovery-phrase.vue | 153 ++ .../src/ui/onboard/create-wallet/routes.ts | 48 + .../src/ui/onboard/create-wallet/store.ts | 16 + .../onboard/create-wallet/type-password.vue | 120 + .../ui/onboard/create-wallet/wallet-ready.vue | 99 + .../hardware-wallet/add-hardware-wallet.vue | 122 ++ .../components/hardware-account-imported.vue | 56 + .../components/hardware-importing-account.vue | 150 ++ .../components/hardware-select-account.vue | 144 ++ .../components/hardware-select-path.vue | 176 ++ .../components/hardware-wallet-error.vue | 80 + .../components/hardware-wallet-process.vue | 56 + .../src/ui/onboard/hardware-wallet/routes.ts | 37 + .../src/ui/onboard/hardware-wallet/store.ts | 12 + .../src/ui/onboard/hardware-wallet/types.ts | 19 + .../onboard/hardware-wallet/views/connect.vue | 138 ++ .../views/importing-account.vue | 232 ++ .../hardware-wallet/views/select-account.vue | 270 +++ .../extension-vite/src/ui/onboard/index.html | 20 + .../extension-vite/src/ui/onboard/main.ts | 21 + .../src/ui/onboard/new-wallet.vue | 79 + .../restore-wallet/enter-recovery-phrase.vue | 107 + .../ui/onboard/restore-wallet/other-info.vue | 69 + .../onboard/restore-wallet/pick-password.vue | 95 + .../src/ui/onboard/restore-wallet/routes.ts | 54 + .../onboard/restore-wallet/start-restore.vue | 66 + .../src/ui/onboard/restore-wallet/store.ts | 16 + .../onboard/restore-wallet/type-password.vue | 124 ++ .../extension-vite/src/ui/onboard/routes.ts | 31 + .../src/ui/onboard/user-analytics.vue | 106 + .../src/ui/provider-pages/App.vue | 42 + .../src/ui/provider-pages/enkrypt/index.ts | 7 + .../src/ui/provider-pages/enkrypt/loading.vue | 14 + .../ui/provider-pages/enkrypt/routes/index.ts | 17 + .../ui/provider-pages/enkrypt/routes/names.ts | 17 + .../provider-pages/enkrypt/unlock-keyring.vue | 142 ++ .../src/ui/provider-pages/home.vue | 16 + .../src/ui/provider-pages/index.html | 20 + .../src/ui/provider-pages/main.ts | 19 + .../src/ui/provider-pages/routes.ts | 23 + packages/extension-vite/tsconfig.app.json | 15 + packages/extension-vite/tsconfig.json | 11 + packages/extension-vite/tsconfig.node.json | 19 + packages/extension-vite/vite.config.ts | 58 + packages/hw-wallets/package.json | 1 + packages/name-resolution/package.json | 1 + packages/request/package.json | 1 + packages/storage/package.json | 1 + packages/swap/package.json | 1 + packages/types/package.json | 1 + yarn.lock | 1585 +++++++++++++- 1051 files changed, 79221 insertions(+), 34 deletions(-) create mode 100644 packages/extension-vite/.browserlistrc create mode 100644 packages/extension-vite/.editorconfig create mode 100644 packages/extension-vite/.gitignore create mode 100644 packages/extension-vite/.prettierrc.json create mode 100644 packages/extension-vite/README.md create mode 100644 packages/extension-vite/configs/base-build.js create mode 100644 packages/extension-vite/configs/browser-build.js create mode 100644 packages/extension-vite/configs/empty-polyfill.js create mode 100644 packages/extension-vite/configs/get-system-info.js create mode 100644 packages/extension-vite/configs/rollup.config.base.mjs create mode 100644 packages/extension-vite/configs/rollup.config.contentscript.mjs create mode 100644 packages/extension-vite/configs/rollup.config.inject.mjs create mode 100644 packages/extension-vite/configs/testNullCompiler.js create mode 100644 packages/extension-vite/configs/tsconfig.test.json create mode 100644 packages/extension-vite/env.d.ts create mode 100644 packages/extension-vite/eslint.config.mjs create mode 100644 packages/extension-vite/index.html create mode 100644 packages/extension-vite/package.json create mode 100644 packages/extension-vite/public/assets/img/icons/icon16.png create mode 100644 packages/extension-vite/public/assets/img/icons/icon192.png create mode 100644 packages/extension-vite/public/assets/img/icons/icon32.png create mode 100644 packages/extension-vite/public/assets/img/icons/icon64.png create mode 100644 packages/extension-vite/public/favicon.ico create mode 100644 packages/extension-vite/public/trezor-usb-permissions.html create mode 100644 packages/extension-vite/public/vendor/trezor-content-script.js create mode 100644 packages/extension-vite/public/vendor/trezor-usb-permissions.js create mode 100644 packages/extension-vite/src/configs/constants.ts create mode 100644 packages/extension-vite/src/libs/activity-state/index.ts create mode 100644 packages/extension-vite/src/libs/activity-state/types.ts create mode 100644 packages/extension-vite/src/libs/activity-state/wrap-activity-handler.ts create mode 100644 packages/extension-vite/src/libs/background/external/handle-persistent-events.ts create mode 100644 packages/extension-vite/src/libs/background/external/index.ts create mode 100644 packages/extension-vite/src/libs/background/index.ts create mode 100644 packages/extension-vite/src/libs/background/internal/change-network.ts create mode 100644 packages/extension-vite/src/libs/background/internal/ethereum-decrypt.ts create mode 100644 packages/extension-vite/src/libs/background/internal/ethereum-pub-key.ts create mode 100644 packages/extension-vite/src/libs/background/internal/index.ts create mode 100644 packages/extension-vite/src/libs/background/internal/lock.ts create mode 100644 packages/extension-vite/src/libs/background/internal/new-account.ts create mode 100644 packages/extension-vite/src/libs/background/internal/send-to-tab.ts create mode 100644 packages/extension-vite/src/libs/background/internal/sign.ts create mode 100644 packages/extension-vite/src/libs/background/internal/unlock.ts create mode 100644 packages/extension-vite/src/libs/background/types.ts create mode 100644 packages/extension-vite/src/libs/cache-fetch/index.ts create mode 100644 packages/extension-vite/src/libs/cache-fetch/types.ts create mode 100644 packages/extension-vite/src/libs/common/browser-storage.ts create mode 100644 packages/extension-vite/src/libs/custom-networks-state/index.ts create mode 100644 packages/extension-vite/src/libs/custom-networks-state/types.ts create mode 100644 packages/extension-vite/src/libs/dapp-list/assets/mew.svg create mode 100644 packages/extension-vite/src/libs/dapp-list/assets/portal.svg create mode 100644 packages/extension-vite/src/libs/dapp-list/index.ts create mode 100644 packages/extension-vite/src/libs/domain-state/index.ts create mode 100644 packages/extension-vite/src/libs/domain-state/types.ts create mode 100644 packages/extension-vite/src/libs/error/index.ts create mode 100644 packages/extension-vite/src/libs/json-tree-view/JsonTreeView.vue create mode 100644 packages/extension-vite/src/libs/json-tree-view/JsonTreeViewItem.vue create mode 100644 packages/extension-vite/src/libs/json-tree-view/index.ts create mode 100644 packages/extension-vite/src/libs/json-tree-view/types.ts create mode 100644 packages/extension-vite/src/libs/keyring/keyring.ts create mode 100644 packages/extension-vite/src/libs/keyring/public-keyring.ts create mode 100644 packages/extension-vite/src/libs/market-data/ethvm.ts create mode 100644 packages/extension-vite/src/libs/market-data/index.ts create mode 100644 packages/extension-vite/src/libs/market-data/types.ts create mode 100644 packages/extension-vite/src/libs/messenger/eventbus.ts create mode 100644 packages/extension-vite/src/libs/messenger/extension.ts create mode 100644 packages/extension-vite/src/libs/messenger/internal-messenger.ts create mode 100644 packages/extension-vite/src/libs/messenger/window.ts create mode 100644 packages/extension-vite/src/libs/metrics/amplitude.ts create mode 100644 packages/extension-vite/src/libs/metrics/index.ts create mode 100644 packages/extension-vite/src/libs/metrics/types.ts create mode 100644 packages/extension-vite/src/libs/name-resolver/index.ts create mode 100644 packages/extension-vite/src/libs/networks-state/index.ts create mode 100644 packages/extension-vite/src/libs/networks-state/types.ts create mode 100644 packages/extension-vite/src/libs/nft-handlers/mew.ts create mode 100644 packages/extension-vite/src/libs/nft-handlers/simplehash-ordinals.ts create mode 100644 packages/extension-vite/src/libs/nft-handlers/simplehash-solana.ts create mode 100644 packages/extension-vite/src/libs/nft-handlers/simplehash.ts create mode 100644 packages/extension-vite/src/libs/nft-handlers/types/mew.ts create mode 100644 packages/extension-vite/src/libs/nft-handlers/types/simplehash.ts create mode 100644 packages/extension-vite/src/libs/nft-state/index.ts create mode 100644 packages/extension-vite/src/libs/nft-state/types.ts create mode 100644 packages/extension-vite/src/libs/persistent-events/index.ts create mode 100644 packages/extension-vite/src/libs/persistent-events/types.ts create mode 100644 packages/extension-vite/src/libs/rate-state/index.ts create mode 100644 packages/extension-vite/src/libs/rate-state/types.ts create mode 100644 packages/extension-vite/src/libs/settings-state/index.ts create mode 100644 packages/extension-vite/src/libs/settings-state/types.ts create mode 100644 packages/extension-vite/src/libs/sparkline/index.ts create mode 100644 packages/extension-vite/src/libs/tokens-state/index.ts create mode 100644 packages/extension-vite/src/libs/tokens-state/types.ts create mode 100644 packages/extension-vite/src/libs/utils/accounts.ts create mode 100644 packages/extension-vite/src/libs/utils/get-ui-path.ts create mode 100644 packages/extension-vite/src/libs/utils/initialize-wallet.ts create mode 100644 packages/extension-vite/src/libs/utils/networks.ts create mode 100644 packages/extension-vite/src/libs/utils/number-formatter.ts create mode 100644 packages/extension-vite/src/libs/utils/open-hardware.ts create mode 100644 packages/extension-vite/src/libs/utils/open-onboard.ts create mode 100644 packages/extension-vite/src/libs/utils/scroll-settings.ts create mode 100644 packages/extension-vite/src/libs/utils/tab-info.ts create mode 100644 packages/extension-vite/src/libs/window-promise/handler.ts create mode 100644 packages/extension-vite/src/libs/window-promise/index.ts create mode 100644 packages/extension-vite/src/libs/window-promise/promise.ts create mode 100644 packages/extension-vite/src/manifest/base.json create mode 100644 packages/extension-vite/src/manifest/manifest-chrome.json create mode 100644 packages/extension-vite/src/manifest/manifest-edge-opera.json create mode 100644 packages/extension-vite/src/manifest/manifest-firefox.json create mode 100644 packages/extension-vite/src/manifest/tests/manifests.mocha.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/inject.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/accounts-state/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/accounts-state/types.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/providers/haskoin/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/providers/ss/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/api-ss.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/api.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/bip322-message-sign.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/blockies.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/btc-fee-handler.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/filter-ordinals.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/message-router.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/sign-message-utils.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/ss-fee-handler.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/libs/utils.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/methods/btc_getBalance.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/methods/btc_getNetwork.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/methods/btc_getPublicKey.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/methods/btc_requestAccounts.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/methods/btc_signMessage.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/methods/btc_signPsbt.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/methods/btc_switchNetwork.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/methods/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/networks/bitcoin-testnet.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/networks/bitcoin.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/networks/dogecoin.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/networks/icons/btc.svg create mode 100644 packages/extension-vite/src/providers/bitcoin/networks/icons/doge.svg create mode 100644 packages/extension-vite/src/providers/bitcoin/networks/icons/ltc.svg create mode 100644 packages/extension-vite/src/providers/bitcoin/networks/icons/tbtc.svg create mode 100644 packages/extension-vite/src/providers/bitcoin/networks/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/networks/litecoin.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/tests/bitcoin.address.derivation.mocha.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/types/bitcoin-network.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/types/btc-token.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/types/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/btc-connect-dapp.vue create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/btc-sign-message.vue create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/btc-verify-transaction.vue create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/libs/signer.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/libs/tx-size.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/routes/index.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/routes/names.ts create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-address-input.vue create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-alert.vue create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-token-select.vue create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/send-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/send-transaction/verify-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/styles/common-popup.less create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/styles/verify-transaction.less create mode 100644 packages/extension-vite/src/providers/bitcoin/ui/types.ts create mode 100644 packages/extension-vite/src/providers/common/libs/default-vals.ts create mode 100644 packages/extension-vite/src/providers/common/libs/new-features.ts create mode 100644 packages/extension-vite/src/providers/common/types/index.ts create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-item.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-search.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/index.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/send-address-item.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/send-alert.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/send-contacts-list.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/send-fee-select.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/send-from-contacts-list.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/send-header.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/send-input-amount.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/send-nft-select.vue create mode 100644 packages/extension-vite/src/providers/common/ui/send-transaction/verify-transaction-nft.vue create mode 100644 packages/extension-vite/src/providers/common/ui/styles/verify-transaction.less create mode 100644 packages/extension-vite/src/providers/common/ui/verify-transaction/hardware-wallet-msg.vue create mode 100644 packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-account.vue create mode 100644 packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-amount.vue create mode 100644 packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-fee.vue create mode 100644 packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-network.vue create mode 100644 packages/extension-vite/src/providers/ethereum/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/inject.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/abi/erc1155.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/abi/erc20.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/abi/erc721.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/accounts-state/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/accounts-state/types.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/types.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/godwoken/configs.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/godwoken/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/okc/configs.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/okc/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/ont-evm/configs.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/ont-evm/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/rivet/configs.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/rivet/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/configs.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/types.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/configs.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/types.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/api.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/assets-handlers/solanachain.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/assets-handlers/token-lists.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/assets-handlers/tomochain.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/blockies.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/common.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/message-handler.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/sanitize-typed-data.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/transaction/data-decoder.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/transaction/decoder.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/transaction/gas-utils.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/transaction/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/transaction/lists/4bytes.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/transaction/lists/tokenSigs.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/transaction/op-data.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/transaction/types.ts create mode 100644 packages/extension-vite/src/providers/ethereum/libs/tx-broadcaster.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/enkrypt_getPublicKey.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/eth_accounts.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/eth_decrypt.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/eth_getEncryptionPublicKey.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/eth_requestAccounts.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/eth_sendRawTransaction.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/eth_sendTransaction.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/eth_sign.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/eth_signTransaction.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/eth_signTypedData.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/personal_ecRecover.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/personal_sign.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/wallet_addEthereumChain.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/wallet_requestPermissions.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/wallet_switchEthereumChain.ts create mode 100644 packages/extension-vite/src/providers/ethereum/methods/wallet_watchAsset.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/aa.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/aat.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/arb-nova.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/arb.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/astr.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/aurora.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/avax.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/base.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/blast.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/bsc.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/cagaAnkara.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/canto.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/celo.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/coti-devnet.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/degen.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/dmt.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/edg.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/etc.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/eth.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/form-testnet.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/forma.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/ftm.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/glmr.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/gno.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/godwoken.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/ham.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/holesky.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/aa.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/apex.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/arbitrum-nova.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/arbitrum.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/astr.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/aurora.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/avax.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/base.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/blast.webp create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/bsc.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/caga.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/canto.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/celo.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/coti.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/degen.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/edgeware.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/etc.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/eth.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/form.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/forma.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/ftm.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/gno.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/godwoken.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/ham.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/immutable-zkevm.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/karura-evm.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/klaytn.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/linea.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/manta-pacific.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/matic.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/mode.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/moonbeam.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/moonriver.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/okc.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/ont-evm.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/op.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/opbnb.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/palm.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/rari.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/rootstock.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/sanko.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/scroll.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/sdn.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/shiba-inu.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skaleBlockBrawlers.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skaleCalypsoNFTHub.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skaleCryptoBlades.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skaleCryptoColloseum.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skaleEuropa.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skaleExorde.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skaleNebula.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skaleRazor.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skaleTitan.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skl-fuel.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/skl.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/sys_nevm.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/sys_rollux.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/telos.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/tsys_nevm.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/tsys_rollux.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/viction.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/xlayer.png create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/zcd.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/icons/zksync.svg create mode 100644 packages/extension-vite/src/providers/ethereum/networks/immutable-zkevm.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/karura.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/klay.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/linea.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/manta-pacific.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/matic.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/maticzk.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/mode.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/movr.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/okc.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/ontevm.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/op-bnb.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/op.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/palm.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/pop-apex.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/puppy.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/rari.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/rlx.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/rsk-testnet.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/rsk.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/scroll.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/sdn.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/sepolia.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/shib.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/README.md create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/blockBrawlers.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/calypso.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/chaos.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/cryptoBlades.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/cryptoColosseum.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/europa.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/exorde.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/nebula.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/razor.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/skale-base.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/skale/titan.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/sys.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/tlos.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/trlx.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/tsys.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/vic.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/xlayer.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/zcd.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/zkgoerli.ts create mode 100644 packages/extension-vite/src/providers/ethereum/networks/zksync.ts create mode 100644 packages/extension-vite/src/providers/ethereum/tests/ethereum.data.decode.mocha.ts create mode 100644 packages/extension-vite/src/providers/ethereum/tests/ethereum.events.mocha.ts create mode 100644 packages/extension-vite/src/providers/ethereum/tests/ethereum.requests.mocha.ts create mode 100644 packages/extension-vite/src/providers/ethereum/types/custom-evm-network.ts create mode 100644 packages/extension-vite/src/providers/ethereum/types/erc20-token.ts create mode 100644 packages/extension-vite/src/providers/ethereum/types/evm-network.ts create mode 100644 packages/extension-vite/src/providers/ethereum/types/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/ui/eth-connect-dapp.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/eth-decrypt.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/eth-get-encryption-key.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/eth-sign-message.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/eth-sign-typedata.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/eth-verify-transaction.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/ui/libs/signer.ts create mode 100644 packages/extension-vite/src/providers/ethereum/ui/routes/index.ts create mode 100644 packages/extension-vite/src/providers/ethereum/ui/routes/names.ts create mode 100644 packages/extension-vite/src/providers/ethereum/ui/send-transaction/components/send-address-input.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/send-transaction/components/send-token-select.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/send-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/send-transaction/verify-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/styles/common-popup.less create mode 100644 packages/extension-vite/src/providers/ethereum/ui/types.ts create mode 100644 packages/extension-vite/src/providers/ethereum/ui/wallet-add-ethereum-network.vue create mode 100644 packages/extension-vite/src/providers/ethereum/ui/wallet-watch-asset.vue create mode 100644 packages/extension-vite/src/providers/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/inject.ts create mode 100644 packages/extension-vite/src/providers/kadena/libs/accounts-state/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/libs/accounts-state/types.ts create mode 100644 packages/extension-vite/src/providers/kadena/libs/activity-handlers/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/libs/activity-handlers/providers/kadena/configs.ts create mode 100644 packages/extension-vite/src/providers/kadena/libs/activity-handlers/providers/kadena/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/libs/api.ts create mode 100644 packages/extension-vite/src/providers/kadena/libs/message-handler.ts create mode 100644 packages/extension-vite/src/providers/kadena/libs/network.ts create mode 100644 packages/extension-vite/src/providers/kadena/methods/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/methods/kda_getBalance.ts create mode 100644 packages/extension-vite/src/providers/kadena/methods/kda_requestAccounts.ts create mode 100644 packages/extension-vite/src/providers/kadena/methods/kda_signTransaction.ts create mode 100644 packages/extension-vite/src/providers/kadena/methods/kda_switchNetwork.ts create mode 100644 packages/extension-vite/src/providers/kadena/networks/icons/kadena-kda-logo.svg create mode 100644 packages/extension-vite/src/providers/kadena/networks/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/networks/kadena-testnet.ts create mode 100644 packages/extension-vite/src/providers/kadena/networks/kadena.ts create mode 100644 packages/extension-vite/src/providers/kadena/types/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/types/kadena-network.ts create mode 100644 packages/extension-vite/src/providers/kadena/types/kda-token.ts create mode 100644 packages/extension-vite/src/providers/kadena/ui/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/ui/kda-accounts.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/kda-sign-message.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/libs/signer.ts create mode 100644 packages/extension-vite/src/providers/kadena/ui/routes/index.ts create mode 100644 packages/extension-vite/src/providers/kadena/ui/routes/names.ts create mode 100644 packages/extension-vite/src/providers/kadena/ui/send-transaction/components/send-address-input.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/send-transaction/components/send-alert.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/send-transaction/components/send-fee-display.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/send-transaction/components/send-fee-select.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/send-transaction/components/send-token-item.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/send-transaction/components/send-token-list.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/send-transaction/components/send-token-select.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/send-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/send-transaction/verify-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/kadena/ui/styles/verify-transaction.less create mode 100644 packages/extension-vite/src/providers/kadena/ui/types/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/inject.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/accounts-state/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/accounts-state/types.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/accounts.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/activity-handlers/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/activity-handlers/providers/subscan/configs.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/activity-handlers/providers/subscan/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/api-promises.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/api.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/asset-handler.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/asset-token.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/blockies.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/injected-provider.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/keystore.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/message-router.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/metadata-storage.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/metadata.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/provider.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/signer.ts create mode 100644 packages/extension-vite/src/providers/polkadot/libs/signing-utils.ts create mode 100644 packages/extension-vite/src/providers/polkadot/methods/dot_accounts_get.ts create mode 100644 packages/extension-vite/src/providers/polkadot/methods/dot_metadata_get.ts create mode 100644 packages/extension-vite/src/providers/polkadot/methods/dot_metadata_set.ts create mode 100644 packages/extension-vite/src/providers/polkadot/methods/dot_signer_signPayload.ts create mode 100644 packages/extension-vite/src/providers/polkadot/methods/dot_signer_signRaw.ts create mode 100644 packages/extension-vite/src/providers/polkadot/methods/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/acala.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/acala-assets.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/ACA.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/AIR.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/ARIS.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/AUSD.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/BNC.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/BSX.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/CRAB.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/CSM.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/DOT.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/EQD.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/ETH.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/GENS.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/HKO.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/KAR.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/KBTC.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/KICO.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/KINT.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/KMA.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/KSM.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/LCDOT.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/LDOT.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/LKSM.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/MOVR.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/NEER.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/PHA.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/QTZ.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/RMRK.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/TAI.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/TAP.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/TDOT.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/TEER.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/TUR.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/USDC.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/USDT.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/icons/taiKSM.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/assets/karura-assets.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/karura.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/libs/assetinfo-orml.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/acala/types/acala-orml-asset.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/assethub/assethub-dot.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/assethub/assethub-ksm.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/assethub/assets-dot.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/assethub/assets-ksm.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/assethub/icons/ded.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/assethub/icons/rmrk.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/assethub/icons/usdc.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/assethub/icons/usdt.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/assethub/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/astar-assets.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/icons/ACA.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/icons/AUSD.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/icons/DOT.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/icons/KAR.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/icons/KSM.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/icons/LDOT.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/icons/LKSM.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/icons/MOVR.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/assets/shiden-assets.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/astar.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/astar/shiden.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/bifrost-assets.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/AUSD.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/BNC.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/CRAB.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/CSM.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/KAR.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/KSM.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/MOVR.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/PHA.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/RMRK.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/TUR.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/USDT.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/assets/icons/ZLK.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/kusama.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/libs/assetinfo-orml.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/polkadot.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/bifrost/types/bifrost-orml-asset.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/edgeware.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/acala.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/amplitude.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/assethub.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/astar.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/bifrost.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/edgeware.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/interlay.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/karura.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/kintsugi.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/kusama.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/opal.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/pendulum.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/polkadot.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/quartz.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/shiden.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/unique.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/vara.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/icons/westend.svg create mode 100644 packages/extension-vite/src/providers/polkadot/networks/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/kusama.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/pendulum/amplitude.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/pendulum/assets/pendulum-assets.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/pendulum/icons/AMPE.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/pendulum/icons/PEN.png create mode 100644 packages/extension-vite/src/providers/polkadot/networks/pendulum/pendulum.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/polkadot.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/unique/libs/activity-handler.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/unique/opal.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/unique/quartz.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/unique/unique.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/vara.ts create mode 100644 packages/extension-vite/src/providers/polkadot/networks/westend.ts create mode 100644 packages/extension-vite/src/providers/polkadot/tests/polkadot.requests.mocha.ts create mode 100644 packages/extension-vite/src/providers/polkadot/types/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/types/substrate-native-token.ts create mode 100644 packages/extension-vite/src/providers/polkadot/types/substrate-network.ts create mode 100644 packages/extension-vite/src/providers/polkadot/types/substrate-token.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/custom-views/blind-approvetx.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/custom-views/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/custom-views/mappings/acala.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/custom-views/mappings/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/custom-views/mappings/polkadot.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/custom-views/mappings/substrate.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/custom-views/transfer-approvetx.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/custom-views/types.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/dot-accounts.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/dot-sign-message.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/dot-update-metadata.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/dot-verify-transaction.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/libs/signer.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/routes/index.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/routes/names.ts create mode 100644 packages/extension-vite/src/providers/polkadot/ui/send-transaction/components/send-address-input.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/send-transaction/components/send-alert.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/send-transaction/components/send-fee-display.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/send-transaction/components/send-fee-select.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/send-transaction/components/send-token-item.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/send-transaction/components/send-token-list.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/send-transaction/components/send-token-select.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/send-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/send-transaction/verify-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/polkadot/ui/styles/verify-transaction.less create mode 100644 packages/extension-vite/src/providers/polkadot/ui/types/index.ts create mode 100644 packages/extension-vite/src/providers/solana/index.ts create mode 100644 packages/extension-vite/src/providers/solana/inject.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/accounts-state/index.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/accounts-state/types.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/api.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/blockies.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/message-router.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/utils.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/wallet-standard/account.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/wallet-standard/icon.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/wallet-standard/index.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/wallet-standard/initialize.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/wallet-standard/register.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/wallet-standard/solana.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/wallet-standard/util.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/wallet-standard/wallet.ts create mode 100644 packages/extension-vite/src/providers/solana/libs/wallet-standard/window.ts create mode 100644 packages/extension-vite/src/providers/solana/methods/index.ts create mode 100644 packages/extension-vite/src/providers/solana/methods/sol_connect.ts create mode 100644 packages/extension-vite/src/providers/solana/methods/sol_signInMessage.ts create mode 100644 packages/extension-vite/src/providers/solana/methods/sol_signTransaction.ts create mode 100644 packages/extension-vite/src/providers/solana/networks/icons/sol.svg create mode 100644 packages/extension-vite/src/providers/solana/networks/index.ts create mode 100644 packages/extension-vite/src/providers/solana/networks/solana.ts create mode 100644 packages/extension-vite/src/providers/solana/types/index.ts create mode 100644 packages/extension-vite/src/providers/solana/types/sol-network.ts create mode 100644 packages/extension-vite/src/providers/solana/types/sol-token.ts create mode 100644 packages/extension-vite/src/providers/solana/ui/index.ts create mode 100644 packages/extension-vite/src/providers/solana/ui/libs/decode-tx.ts create mode 100644 packages/extension-vite/src/providers/solana/ui/libs/get-priority-fees.ts create mode 100644 packages/extension-vite/src/providers/solana/ui/libs/signer.ts create mode 100644 packages/extension-vite/src/providers/solana/ui/libs/signin-message.ts create mode 100644 packages/extension-vite/src/providers/solana/ui/routes/index.ts create mode 100644 packages/extension-vite/src/providers/solana/ui/routes/names.ts create mode 100644 packages/extension-vite/src/providers/solana/ui/send-transaction/components/send-address-input.vue create mode 100644 packages/extension-vite/src/providers/solana/ui/send-transaction/components/send-fee-select.vue create mode 100644 packages/extension-vite/src/providers/solana/ui/send-transaction/components/send-token-select.vue create mode 100644 packages/extension-vite/src/providers/solana/ui/send-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/solana/ui/send-transaction/verify-transaction/index.vue create mode 100644 packages/extension-vite/src/providers/solana/ui/sol-connect-dapp.vue create mode 100644 packages/extension-vite/src/providers/solana/ui/sol-sign-message.vue create mode 100644 packages/extension-vite/src/providers/solana/ui/sol-verify-transaction.vue create mode 100644 packages/extension-vite/src/providers/solana/ui/styles/common-popup.less create mode 100644 packages/extension-vite/src/providers/solana/ui/styles/verify-transaction.less create mode 100644 packages/extension-vite/src/providers/solana/ui/types.ts create mode 100644 packages/extension-vite/src/scripts/chrome/background.ts create mode 100644 packages/extension-vite/src/scripts/chrome/hot-reload.ts create mode 100644 packages/extension-vite/src/scripts/contentscript.ts create mode 100644 packages/extension-vite/src/scripts/firefox/background.ts create mode 100644 packages/extension-vite/src/scripts/inject.ts create mode 100644 packages/extension-vite/src/types/activity.ts create mode 100644 packages/extension-vite/src/types/base-network.ts create mode 100644 packages/extension-vite/src/types/base-token.ts create mode 100644 packages/extension-vite/src/types/globals.ts create mode 100644 packages/extension-vite/src/types/messenger.ts create mode 100644 packages/extension-vite/src/types/nft.ts create mode 100644 packages/extension-vite/src/types/provider.ts create mode 100644 packages/extension-vite/src/types/shims-vue-others.d.ts create mode 100644 packages/extension-vite/src/types/shims-vue.d.ts create mode 100644 packages/extension-vite/src/types/ui.ts create mode 100644 packages/extension-vite/src/types/window.d.ts create mode 100644 packages/extension-vite/src/ui/action/App.vue create mode 100644 packages/extension-vite/src/ui/action/assets/account.png create mode 100644 packages/extension-vite/src/ui/action/assets/animation/error-big.json create mode 100644 packages/extension-vite/src/ui/action/assets/animation/error.json create mode 100644 packages/extension-vite/src/ui/action/assets/animation/looking.json create mode 100644 packages/extension-vite/src/ui/action/assets/animation/search-not-found.json create mode 100644 packages/extension-vite/src/ui/action/assets/animation/send-checkmark.json create mode 100644 packages/extension-vite/src/ui/action/assets/animation/send-process.json create mode 100644 packages/extension-vite/src/ui/action/assets/animation/status.json create mode 100644 packages/extension-vite/src/ui/action/assets/animation/swap-initiated.json create mode 100644 packages/extension-vite/src/ui/action/assets/animation/token-loading.json create mode 100644 packages/extension-vite/src/ui/action/assets/animation/warning.json create mode 100644 packages/extension-vite/src/ui/action/assets/common/not-found.jpg create mode 100644 packages/extension-vite/src/ui/action/assets/qr.png create mode 100644 packages/extension-vite/src/ui/action/assets/sparkline.png create mode 100644 packages/extension-vite/src/ui/action/components/Menu/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/accounts-header/components/header-accounts.vue create mode 100644 packages/extension-vite/src/ui/action/components/accounts-header/components/subnet-list-item.vue create mode 100644 packages/extension-vite/src/ui/action/components/accounts-header/components/subnet-list.vue create mode 100644 packages/extension-vite/src/ui/action/components/accounts-header/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/action-menu/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/app-menu/components/app-menu-item.vue create mode 100644 packages/extension-vite/src/ui/action/components/app-menu/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/base-button/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/base-checkbox/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/base-file-picker/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/base-input/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/base-search/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/base-select/components/base-select-option.vue create mode 100644 packages/extension-vite/src/ui/action/components/base-select/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/check-phrase/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/css/perfect-scrollbar.css create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/handlers/click-rail.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/handlers/drag-thumb.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/handlers/keyboard.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/handlers/mouse-wheel.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/handlers/touch.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/index.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/lib/class-names.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/lib/css.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/lib/dom.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/lib/event-manager.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/lib/util.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/process-scroll-diff.js create mode 100644 packages/extension-vite/src/ui/action/components/custom-scrollbar/perfect-scrollbar/update-geometry.js create mode 100644 packages/extension-vite/src/ui/action/components/label-input/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/list-search/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/masonry/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/network-menu/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/notification/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/password-input/components/password-input-strength.vue create mode 100644 packages/extension-vite/src/ui/action/components/password-input/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/phrase-checkbox/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/select-account-input/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/switch/index.vue create mode 100644 packages/extension-vite/src/ui/action/components/tooltip/index.vue create mode 100644 packages/extension-vite/src/ui/action/composables/account-info.ts create mode 100644 packages/extension-vite/src/ui/action/icons/actions/add-hardware-account.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/buy.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/delete.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/deposit.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/edit.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/import-account-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/more.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/paste.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/rarible.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/send.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/swap.vue create mode 100644 packages/extension-vite/src/ui/action/icons/actions/view.vue create mode 100644 packages/extension-vite/src/ui/action/icons/asset/sparkline-down.vue create mode 100644 packages/extension-vite/src/ui/action/icons/asset/sparkline-up.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/add-account.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/add-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/arrow-back.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/arrow-next.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/arrow-prev.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/balance-loader.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/checkbox-active.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/clear-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/close-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/custom-network-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/dapps-arrow.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/done_icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/drag-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/external-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/hold-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/info-icon-gray.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/info-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/loader.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/logo-big.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/logo-min.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/logo.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/manage-networks-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/more-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/right-arrow.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/right-chevron.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/search.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/settings-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/sign-logo.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/slider-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/common/test-network-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/connect/connected-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/connect/connecting-ellipse.vue create mode 100644 packages/extension-vite/src/ui/action/icons/connect/connecting-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/connect/link-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/fee/economy-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/fee/higher-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/fee/highest-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/fee/recomended-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/fee/time-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/hardware/connection-error.vue create mode 100644 packages/extension-vite/src/ui/action/icons/hardware/connection-success.vue create mode 100644 packages/extension-vite/src/ui/action/icons/hardware/hardware-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/hardware/ledger-connection.vue create mode 100644 packages/extension-vite/src/ui/action/icons/hardware/ledger-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/hardware/ledger-logo.vue create mode 100644 packages/extension-vite/src/ui/action/icons/hardware/trezor-connection.vue create mode 100644 packages/extension-vite/src/ui/action/icons/hardware/trezor-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/hardware/trezor-logo.vue create mode 100644 packages/extension-vite/src/ui/action/icons/header/bug_icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/header/copy_icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/header/disconnect_icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/header/external-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/header/feedback_icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/header/info_icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/header/qr_icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/header/switch_arrow.vue create mode 100644 packages/extension-vite/src/ui/action/icons/import/import-account-animation.vue create mode 100644 packages/extension-vite/src/ui/action/icons/import/import-done-animation.vue create mode 100644 packages/extension-vite/src/ui/action/icons/import/import-error-animation.vue create mode 100644 packages/extension-vite/src/ui/action/icons/import/import-keystore-animation.vue create mode 100644 packages/extension-vite/src/ui/action/icons/import/import-private-key-animation.vue create mode 100644 packages/extension-vite/src/ui/action/icons/import/import-start-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/nft/nft-empty.vue create mode 100644 packages/extension-vite/src/ui/action/icons/nft/nft-more-add-to-favorite.vue create mode 100644 packages/extension-vite/src/ui/action/icons/nft/nft-more-delete-from-favorite.vue create mode 100644 packages/extension-vite/src/ui/action/icons/nft/nft-more-hide.vue create mode 100644 packages/extension-vite/src/ui/action/icons/nft/nft-more-menu.vue create mode 100644 packages/extension-vite/src/ui/action/icons/nft/nft-more-send.vue create mode 100644 packages/extension-vite/src/ui/action/icons/nft/nft-more-show.vue create mode 100644 packages/extension-vite/src/ui/action/icons/nft/nft-sort-menu.vue create mode 100644 packages/extension-vite/src/ui/action/icons/password/help-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/password/hide-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/password/visible-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/raw/account.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/azuki-pic-1.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/azuki.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/cool-cats-pic-1.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/cool-cats-pic-2.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/cool-cats-pic-3.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/cool-cats.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/dapp-browser.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/eth-green.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/eth-logo.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/moonbeam.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/paraswap.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/polkadot.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/polygon-logo.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/rarible.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/uni.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/uniswap.png create mode 100644 packages/extension-vite/src/ui/action/icons/raw/yearn.png create mode 100644 packages/extension-vite/src/ui/action/icons/send/alert-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/send/arrow-down.vue create mode 100644 packages/extension-vite/src/ui/action/icons/send/send-checkmark-animation.vue create mode 100644 packages/extension-vite/src/ui/action/icons/send/send-process-animation.vue create mode 100644 packages/extension-vite/src/ui/action/icons/send/send-spinner-animation.vue create mode 100644 packages/extension-vite/src/ui/action/icons/send/switch-arrow-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/send/warning-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/social/github-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/social/instagram-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/social/reddit-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/social/twitter-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/swap/swap-arrows.vue create mode 100644 packages/extension-vite/src/ui/action/icons/swap/swap-looking-animation.vue create mode 100644 packages/extension-vite/src/ui/action/icons/tabs/activity.vue create mode 100644 packages/extension-vite/src/ui/action/icons/tabs/assets.vue create mode 100644 packages/extension-vite/src/ui/action/icons/tabs/dapps.vue create mode 100644 packages/extension-vite/src/ui/action/icons/tabs/nfts.vue create mode 100644 packages/extension-vite/src/ui/action/icons/tip/extension-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/tip/online-icon.vue create mode 100644 packages/extension-vite/src/ui/action/icons/tip/pin-icon.vue create mode 100644 packages/extension-vite/src/ui/action/index.html create mode 100644 packages/extension-vite/src/ui/action/main.ts create mode 100644 packages/extension-vite/src/ui/action/router/index.ts create mode 100644 packages/extension-vite/src/ui/action/styles/color.less create mode 100644 packages/extension-vite/src/ui/action/styles/custom-scroll.less create mode 100644 packages/extension-vite/src/ui/action/styles/provider-connect-dapp.less create mode 100644 packages/extension-vite/src/ui/action/styles/theme.less create mode 100644 packages/extension-vite/src/ui/action/types/account.ts create mode 100644 packages/extension-vite/src/ui/action/types/fee.ts create mode 100644 packages/extension-vite/src/ui/action/types/filters.ts create mode 100644 packages/extension-vite/src/ui/action/types/main.ts create mode 100644 packages/extension-vite/src/ui/action/types/network.d.ts create mode 100644 packages/extension-vite/src/ui/action/types/password.ts create mode 100644 packages/extension-vite/src/ui/action/types/token.ts create mode 100644 packages/extension-vite/src/ui/action/types/transaction.ts create mode 100644 packages/extension-vite/src/ui/action/utils/browser.ts create mode 100644 packages/extension-vite/src/ui/action/utils/filters.ts create mode 100644 packages/extension-vite/src/ui/action/utils/misc.ts create mode 100644 packages/extension-vite/src/ui/action/views/accounts/components/accounts-list-item-menu.vue create mode 100644 packages/extension-vite/src/ui/action/views/accounts/components/accounts-list-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/accounts/components/accounts-search.vue create mode 100644 packages/extension-vite/src/ui/action/views/accounts/components/add-account-form.vue create mode 100644 packages/extension-vite/src/ui/action/views/accounts/components/delete-account-form.vue create mode 100644 packages/extension-vite/src/ui/action/views/accounts/components/rename-account-form.vue create mode 100644 packages/extension-vite/src/ui/action/views/accounts/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/add-network/components/add-network-header.vue create mode 100644 packages/extension-vite/src/ui/action/views/add-network/components/add-network-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/add-network/components/add-network-search.vue create mode 100644 packages/extension-vite/src/ui/action/views/add-network/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/add-network/views/add-custom-network.vue create mode 100644 packages/extension-vite/src/ui/action/views/add-network/views/add-network-list.vue create mode 100644 packages/extension-vite/src/ui/action/views/asset-detail-view/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/assets-select-list/components/assets-not-found.vue create mode 100644 packages/extension-vite/src/ui/action/views/assets-select-list/components/assets-select-list-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/assets-select-list/components/assets-select-list-search.vue create mode 100644 packages/extension-vite/src/ui/action/views/assets-select-list/components/assets-select-loading.vue create mode 100644 packages/extension-vite/src/ui/action/views/assets-select-list/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/common-popup/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/deposit/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/components/import-account-header.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/components/import-account-process.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/views/import-account-importing.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/views/import-account-keystore-file.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/views/import-account-password.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/views/import-account-private-key.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/views/import-account-select-account-dot.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/views/import-account-start-dot.vue create mode 100644 packages/extension-vite/src/ui/action/views/import-account/views/import-account-start.vue create mode 100644 packages/extension-vite/src/ui/action/views/intro/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/lock-screen/components/lock-screen-forgot.vue create mode 100644 packages/extension-vite/src/ui/action/views/lock-screen/components/lock-screen-password-input.vue create mode 100644 packages/extension-vite/src/ui/action/views/lock-screen/components/lock-screen-timer.vue create mode 100644 packages/extension-vite/src/ui/action/views/lock-screen/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/modal-accounts/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/modal-forgot/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/modal-new-version/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/modal-preload/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/modal-rate/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/modal-sign/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-activity/components/network-activity-action.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-activity/components/network-activity-loading.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-activity/components/network-activity-total.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-activity/components/network-activity-transaction.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-activity/components/transaction-timer.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-activity/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-assets/components/custom-evm-token.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-assets/components/network-assets-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-assets/components/network-assets-loading.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-assets/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-dapps/components/network-dapps-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-dapps/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-nfts/components/network-nfts-category-sort-menu.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-nfts/components/network-nfts-category.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-nfts/components/network-nfts-empty.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-nfts/components/network-nfts-favorite.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-nfts/components/network-nfts-hidden.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-nfts/components/network-nfts-item-more-menu.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-nfts/components/network-nfts-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/network-nfts/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/nft-detail-view/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/reset-wallet/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/send-process/components/send-process-account.vue create mode 100644 packages/extension-vite/src/ui/action/views/send-process/components/send-process-amount.vue create mode 100644 packages/extension-vite/src/ui/action/views/send-process/components/send-process-nft.vue create mode 100644 packages/extension-vite/src/ui/action/views/send-process/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/send-transaction/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/components/settings-button.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/components/settings-header.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/components/settings-inner-header.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/components/settings-switch.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/views/settings-about/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/views/settings-general/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/views/settings-recovery/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/views/settings-start/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/settings/views/settings-support/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap-initiated/components/swap-initiated-amount.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap-initiated/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/send-address-input.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/send-address-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/send-contacts-list.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-assets-select-list.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-error/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-error/types.ts create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-loading/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-network-select/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-network-select/network-select-list-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-network-select/network-select-list.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-token-amount-input/components/swap-token-amount-input.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-token-amount-input/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-token-fast-list/components/swap-token-fast-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-token-fast-list/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-token-select/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-token-to-amount/components/swap-token-amount-input.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/components/swap-token-to-amount/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/libs/bitcoin-gasvals.ts create mode 100644 packages/extension-vite/src/ui/action/views/swap/libs/evm-gasvals.ts create mode 100644 packages/extension-vite/src/ui/action/views/swap/libs/send-transactions.ts create mode 100644 packages/extension-vite/src/ui/action/views/swap/libs/solana-gasvals.ts create mode 100644 packages/extension-vite/src/ui/action/views/swap/libs/substrate-gasvals.ts create mode 100644 packages/extension-vite/src/ui/action/views/swap/libs/swap-txs.ts create mode 100644 packages/extension-vite/src/ui/action/views/swap/types.ts create mode 100644 packages/extension-vite/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/components/best-offer-error.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/components/best-offer-list-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/components/best-offer-list.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/components/best-offer-warning.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/views/swap-best-offer/components/swap-best-offer-block/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/swap/views/swap-best-offer/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/transaction-fee/components/transaction-fee-item.vue create mode 100644 packages/extension-vite/src/ui/action/views/transaction-fee/index.vue create mode 100644 packages/extension-vite/src/ui/action/views/verify-transaction/index.vue create mode 100644 packages/extension-vite/src/ui/onboard/App.vue create mode 100644 packages/extension-vite/src/ui/onboard/create-wallet/double-check-phrase.vue create mode 100644 packages/extension-vite/src/ui/onboard/create-wallet/pick-password.vue create mode 100644 packages/extension-vite/src/ui/onboard/create-wallet/recovery-phrase.vue create mode 100644 packages/extension-vite/src/ui/onboard/create-wallet/routes.ts create mode 100644 packages/extension-vite/src/ui/onboard/create-wallet/store.ts create mode 100644 packages/extension-vite/src/ui/onboard/create-wallet/type-password.vue create mode 100644 packages/extension-vite/src/ui/onboard/create-wallet/wallet-ready.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/add-hardware-wallet.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/components/hardware-account-imported.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/components/hardware-importing-account.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/components/hardware-select-account.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/components/hardware-select-path.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/components/hardware-wallet-error.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/components/hardware-wallet-process.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/routes.ts create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/store.ts create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/types.ts create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/views/connect.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/views/importing-account.vue create mode 100644 packages/extension-vite/src/ui/onboard/hardware-wallet/views/select-account.vue create mode 100644 packages/extension-vite/src/ui/onboard/index.html create mode 100644 packages/extension-vite/src/ui/onboard/main.ts create mode 100644 packages/extension-vite/src/ui/onboard/new-wallet.vue create mode 100644 packages/extension-vite/src/ui/onboard/restore-wallet/enter-recovery-phrase.vue create mode 100644 packages/extension-vite/src/ui/onboard/restore-wallet/other-info.vue create mode 100644 packages/extension-vite/src/ui/onboard/restore-wallet/pick-password.vue create mode 100644 packages/extension-vite/src/ui/onboard/restore-wallet/routes.ts create mode 100644 packages/extension-vite/src/ui/onboard/restore-wallet/start-restore.vue create mode 100644 packages/extension-vite/src/ui/onboard/restore-wallet/store.ts create mode 100644 packages/extension-vite/src/ui/onboard/restore-wallet/type-password.vue create mode 100644 packages/extension-vite/src/ui/onboard/routes.ts create mode 100644 packages/extension-vite/src/ui/onboard/user-analytics.vue create mode 100644 packages/extension-vite/src/ui/provider-pages/App.vue create mode 100644 packages/extension-vite/src/ui/provider-pages/enkrypt/index.ts create mode 100644 packages/extension-vite/src/ui/provider-pages/enkrypt/loading.vue create mode 100644 packages/extension-vite/src/ui/provider-pages/enkrypt/routes/index.ts create mode 100644 packages/extension-vite/src/ui/provider-pages/enkrypt/routes/names.ts create mode 100644 packages/extension-vite/src/ui/provider-pages/enkrypt/unlock-keyring.vue create mode 100644 packages/extension-vite/src/ui/provider-pages/home.vue create mode 100644 packages/extension-vite/src/ui/provider-pages/index.html create mode 100644 packages/extension-vite/src/ui/provider-pages/main.ts create mode 100644 packages/extension-vite/src/ui/provider-pages/routes.ts create mode 100644 packages/extension-vite/tsconfig.app.json create mode 100644 packages/extension-vite/tsconfig.json create mode 100644 packages/extension-vite/tsconfig.node.json create mode 100644 packages/extension-vite/vite.config.ts diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 143e5a296..93ea3e783 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -1,7 +1,7 @@ { "recommendations": [ + "Vue.volar", "dbaeumer.vscode-eslint", - "esbenp.prettier-vscode", - "johnsoncodehk.volar" + "esbenp.prettier-vscode" ] } diff --git a/.vscode/settings.json b/.vscode/settings.json index 998b191f2..54e9b2be6 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,5 +5,9 @@ "changeProcessCWD": true } ], - "cSpell.words": ["enkrypt", "enkryptcom", "polkadot", "webextension"] + "editor.codeActionsOnSave": { + "source.fixAll": "explicit" + }, + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" } diff --git a/package.json b/package.json index 72efb5069..633ac0e2d 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "packages/keyring", "packages/extension-bridge", "packages/extension", + "packages/extension-vite", "packages/storage", "packages/request", "packages/hw-wallets", diff --git a/packages/extension-vite/.browserlistrc b/packages/extension-vite/.browserlistrc new file mode 100644 index 000000000..ed92abb80 --- /dev/null +++ b/packages/extension-vite/.browserlistrc @@ -0,0 +1,15 @@ +last 2 versions +not dead +not safari > 0 +not ios_saf > 0 +not baidu > 0 +not ie > 0 +not op_mini all +not samsung > 0 +not op_mob > 0 +not android > 0 +not kaios > 0 +not and_chr > 0 +not and_ff > 0 +not and_qq > 0 +not and_uc > 0 \ No newline at end of file diff --git a/packages/extension-vite/.editorconfig b/packages/extension-vite/.editorconfig new file mode 100644 index 000000000..ecea360f1 --- /dev/null +++ b/packages/extension-vite/.editorconfig @@ -0,0 +1,6 @@ +[*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue}] +charset = utf-8 +indent_size = 2 +indent_style = space +insert_final_newline = true +trim_trailing_whitespace = true diff --git a/packages/extension-vite/.gitignore b/packages/extension-vite/.gitignore new file mode 100644 index 000000000..8ee54e8d3 --- /dev/null +++ b/packages/extension-vite/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/packages/extension-vite/.prettierrc.json b/packages/extension-vite/.prettierrc.json new file mode 100644 index 000000000..effc164a5 --- /dev/null +++ b/packages/extension-vite/.prettierrc.json @@ -0,0 +1,7 @@ + +{ + "$schema": "https://json.schemastore.org/prettierrc", + "semi": false, + "singleQuote": true, + "arrowParens": "avoid" +} diff --git a/packages/extension-vite/README.md b/packages/extension-vite/README.md new file mode 100644 index 000000000..9968fa276 --- /dev/null +++ b/packages/extension-vite/README.md @@ -0,0 +1,29 @@ +# extension + +## Project setup + +``` +yarn install +``` + +### Compiles and hot-reloads for development + +``` +yarn serve +``` + +### Compiles and minifies for production + +``` +yarn build +``` + +### Lints and fixes files + +``` +yarn lint +``` + +### Customize configuration + +See [Configuration Reference](https://cli.vuejs.org/config/). diff --git a/packages/extension-vite/configs/base-build.js b/packages/extension-vite/configs/base-build.js new file mode 100644 index 000000000..968eaaad9 --- /dev/null +++ b/packages/extension-vite/configs/base-build.js @@ -0,0 +1,38 @@ +const path = require("path"); +const IS_DEV = process.env.NODE_ENV === "development"; +const setConfig = (config) => { + if (IS_DEV) config.devtool("source-map"); + else config.devtool(false); + + config.resolve.symlinks(false); + config.resolve.set("fallback", { + Buffer: require.resolve("buffer"), + crypto: require.resolve("crypto-browserify"), + util: require.resolve("util/"), + stream: require.resolve("stream-browserify"), + url: require.resolve("url/"), + os: false, + https: require.resolve("https-browserify"), + http: require.resolve("stream-http"), + path: require.resolve("path-browserify"), + fs: false, + zlib: false, + net: false, + tls: false, + }); + config.set("externals", { + "node:path": "commonjs2 node:path", + "node:fs/promises": {}, + }); + config + .plugin("buffer") // <-arbitrary name to give this plugin entry I guess? + .use(require.resolve("webpack/lib/ProvidePlugin"), [ + { Buffer: ["buffer", "Buffer"] }, + ]); + config.resolve.alias.set( + "@action", + path.resolve(__dirname, "../src/ui/action") + ); +}; + +exports.setConfig = setConfig; diff --git a/packages/extension-vite/configs/browser-build.js b/packages/extension-vite/configs/browser-build.js new file mode 100644 index 000000000..a46e9b71e --- /dev/null +++ b/packages/extension-vite/configs/browser-build.js @@ -0,0 +1,112 @@ +const CopyWebpackPlugin = require("copy-webpack-plugin"); + +const package = require("../package.json"); +const baseManifest = require("../src/manifest/base.json"); + +const BROWSER = process.env.BROWSER; +const browserNames = { + chrome: "chrome", + firefox: "firefox", + operaedge: "opera-edge", +}; + +const browserConfigs = { + [browserNames.chrome]: { + manifest: "./src/manifest/manifest-chrome.json", + background: "./src/scripts/chrome/background.ts", + }, + [browserNames.firefox]: { + manifest: "./src/manifest/manifest-firefox.json", + background: "./src/scripts/firefox/background.ts", + }, + [browserNames.operaedge]: { + manifest: "./src/manifest/manifest-edge-opera.json", + background: "./src/scripts/chrome/background.ts", + }, +}; + +function modifyManifest(buffer) { + const manifest = { ...baseManifest, ...JSON.parse(buffer.toString()) }; + manifest.version = package.version; + const manifest_JSON = JSON.stringify(manifest, null, 2); + return manifest_JSON; +} + +const scripts = { + background: browserConfigs[BROWSER].background, +}; + +const setConfig = (config) => { + for (const [name, path] of Object.entries(scripts)) { + config.entry(name).add(path).end(); + } + + const userScripts = Object.keys(scripts); + + //generate background and contentscript without default hashing + config.output.filename((file) => { + return !userScripts.includes(file.chunk.name) + ? `js/[name].js` + : `scripts/[name].js`; + }); + + //copy manifest + const copyManifest = new CopyWebpackPlugin({ + patterns: [ + { + from: browserConfigs[BROWSER].manifest, + to: "manifest.json", + transform: modifyManifest, + }, + ], + }); + config.plugin("copy-manifest").use(copyManifest); + config.plugin("define").tap((args) => { + Object.assign(args[0], { + __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: "false", + }); + const _base = args[0]["process.env"]; + args[0]["process.env"] = { + ..._base, + PACKAGE_VERSION: JSON.stringify(package.version), + BUILD_TIME: + BROWSER === browserNames.firefox + ? JSON.stringify("FF-build") + : new Date().toLocaleString().replace(/\D/g, ""), + IS_DEV: process.env.NODE_ENV === "development", + IS_FIREFOX: BROWSER === browserNames.firefox, + IS_OPERA_EDGE: BROWSER === browserNames.operaedge, + PREFILL_PASSWORD: + process.env.NODE_ENV === "development" + ? JSON.stringify("test pass") + : JSON.stringify(""), + }; + return args; + }); + // prevent codesplitting on scripts + const omitUserScripts = ({ name }) => { + return userScripts.includes(name) ? false : "all"; + }; + config.optimization.set("moduleIds", "deterministic"); + config.optimization.splitChunks({ + maxSize: + BROWSER === browserNames.firefox ? 3 * 1024 * 1024 : 10 * 1024 * 1024, + cacheGroups: { + vendors: { + name: "chunk-vendors", + test: /[\\/]node_modules[\\/]/, + priority: -10, + chunks: omitUserScripts, + reuseExistingChunk: true, + }, + common: { + name: "chunk-common", + minChunks: 2, + priority: -20, + chunks: omitUserScripts, + reuseExistingChunk: true, + }, + }, + }); +}; +exports.setConfig = setConfig; diff --git a/packages/extension-vite/configs/empty-polyfill.js b/packages/extension-vite/configs/empty-polyfill.js new file mode 100644 index 000000000..7a8acf967 --- /dev/null +++ b/packages/extension-vite/configs/empty-polyfill.js @@ -0,0 +1,3 @@ +export function rm() { + return null +} diff --git a/packages/extension-vite/configs/get-system-info.js b/packages/extension-vite/configs/get-system-info.js new file mode 100644 index 000000000..2a8473a6d --- /dev/null +++ b/packages/extension-vite/configs/get-system-info.js @@ -0,0 +1,14 @@ +const si = require("systeminformation"); +const fs = require("fs"); + +const machineInfo = {}; +const promises = []; +promises.push(si.cpu().then((data) => (machineInfo.cpu = data))); +promises.push(si.mem().then((data) => (machineInfo.mem = data))); +promises.push(si.system().then((data) => (machineInfo.system = data))); +promises.push(si.dockerInfo().then((data) => (machineInfo.dockerInfo = data))); +promises.push(si.vboxInfo().then((data) => (machineInfo.vboxInfo = data))); +promises.push(si.osInfo().then((data) => (machineInfo.osInfo = data))); +Promise.all(promises).then(() => { + fs.writeFileSync("./dist/build-system", JSON.stringify(machineInfo)); +}); diff --git a/packages/extension-vite/configs/rollup.config.base.mjs b/packages/extension-vite/configs/rollup.config.base.mjs new file mode 100644 index 000000000..d78b8fd31 --- /dev/null +++ b/packages/extension-vite/configs/rollup.config.base.mjs @@ -0,0 +1,46 @@ +import typescript from "@rollup/plugin-typescript"; +import commonjs from "@rollup/plugin-commonjs"; +import nodeResolve from "@rollup/plugin-node-resolve"; +import { uglify } from "rollup-plugin-uglify"; +import inject from "@rollup/plugin-inject"; +import replace from "@rollup/plugin-replace"; +import json from "@rollup/plugin-json"; +import packageJson from "../package.json" assert { type: "json" }; + +/** @typedef {import('rollup').InputOptions} InputOptions */ + +const enableMinification = process.env.minify === "on"; + +/** @type {InputOptions} */ +const base = { + input: [], + watch: { + exclude: /node_modules/, + }, + output: { + dir: "dist/scripts", + format: "iife", + sourcemap: process.env.minify !== "on", + }, + plugins: [ + replace({ + preventAssignment: true, + __VERSION__: JSON.stringify(packageJson.version), + __IS_OPERA__: process.env.BROWSER === "opera-edge", + }), + typescript({ + exclude: [/node_modules/], + }), + commonjs(), + json(), + inject({ + Buffer: ["buffer", "Buffer"], + }), + nodeResolve({ preferBuiltins: false }), + ], +}; +if (enableMinification) { + base.plugins.push(uglify()); +} + +export default base; diff --git a/packages/extension-vite/configs/rollup.config.contentscript.mjs b/packages/extension-vite/configs/rollup.config.contentscript.mjs new file mode 100644 index 000000000..5cc621e0b --- /dev/null +++ b/packages/extension-vite/configs/rollup.config.contentscript.mjs @@ -0,0 +1,3 @@ +import Base from "./rollup.config.base.mjs"; +Base.input.push("src/scripts/contentscript.ts"); +export default Base; diff --git a/packages/extension-vite/configs/rollup.config.inject.mjs b/packages/extension-vite/configs/rollup.config.inject.mjs new file mode 100644 index 000000000..0844b500b --- /dev/null +++ b/packages/extension-vite/configs/rollup.config.inject.mjs @@ -0,0 +1,3 @@ +import Base from "./rollup.config.base.mjs"; +Base.input.push("src/scripts/inject.ts"); +export default Base; diff --git a/packages/extension-vite/configs/testNullCompiler.js b/packages/extension-vite/configs/testNullCompiler.js new file mode 100644 index 000000000..152247070 --- /dev/null +++ b/packages/extension-vite/configs/testNullCompiler.js @@ -0,0 +1,10 @@ +const noop = () => 1; +global.__VERSION__ = "test"; +global.__IS_OPERA__ = false; +require.extensions[".css"] = noop; +require.extensions[".scss"] = noop; +require.extensions[".png"] = noop; +require.extensions[".jpg"] = noop; +require.extensions[".jpeg"] = noop; +require.extensions[".gif"] = noop; +require.extensions[".svg"] = noop; diff --git a/packages/extension-vite/configs/tsconfig.test.json b/packages/extension-vite/configs/tsconfig.test.json new file mode 100644 index 000000000..0e093d28c --- /dev/null +++ b/packages/extension-vite/configs/tsconfig.test.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "module": "commonjs", + "esModuleInterop": true, + "baseUrl": "..", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/packages/extension-vite/env.d.ts b/packages/extension-vite/env.d.ts new file mode 100644 index 000000000..11f02fe2a --- /dev/null +++ b/packages/extension-vite/env.d.ts @@ -0,0 +1 @@ +/// diff --git a/packages/extension-vite/eslint.config.mjs b/packages/extension-vite/eslint.config.mjs new file mode 100644 index 000000000..4e8bb168d --- /dev/null +++ b/packages/extension-vite/eslint.config.mjs @@ -0,0 +1,35 @@ +import pluginVue from 'eslint-plugin-vue' +import vueTsEslintConfig from '@vue/eslint-config-typescript' +import skipFormatting from '@vue/eslint-config-prettier/skip-formatting' + +export default [ + { + name: 'app/files-to-lint', + files: ['**/*.{ts,mts,tsx,vue}'], + }, + + { + name: 'app/files-to-ignore', + ignores: ['**/dist/**', '**/dist-ssr/**', '**/coverage/**'], + }, + + ...pluginVue.configs['flat/essential'], + ...vueTsEslintConfig(), + skipFormatting, + { + rules: { + 'no-console': 'off', + 'no-debugger': 'warn', + '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-var-requires': 'off', + 'vue/multi-word-component-names': 'off', + '@typescript-eslint/no-unused-vars': 'warn', + '@typescript-eslint/no-non-null-assertion': 'off', + '@typescript-eslint/no-require-imports': 'warn', + 'vue/no-side-effects-in-computed-properties': 'warn', + '@typescript-eslint/no-unused-expressions': 'warn', + '@typescript-eslint/ban-ts-comment': 'warn', + }, + ignores: ['./public/vendor', './dist'], + }, +] diff --git a/packages/extension-vite/index.html b/packages/extension-vite/index.html new file mode 100644 index 000000000..a88854489 --- /dev/null +++ b/packages/extension-vite/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/packages/extension-vite/package.json b/packages/extension-vite/package.json new file mode 100644 index 000000000..678542cfc --- /dev/null +++ b/packages/extension-vite/package.json @@ -0,0 +1,143 @@ +{ + "name": "@enkryptcom/extension-vite", + "version": "1.44.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build2": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build --force", + "lint": "eslint . --fix", + "format": "prettier --write src/", + "zip": "cd dist; zip -r release.zip *;", + "prebuild": "yarn kadena:prebuild", + "build:chrome": "yarn prebuild && cross-env BROWSER='chrome' vue-cli-service build && yarn build:rollup", + "build:firefox": "yarn prebuild && cross-env BROWSER='firefox' vue-cli-service build && yarn build:rollup && node configs/get-system-info.js", + "build:operaedge": "yarn prebuild && cross-env BROWSER='opera-edge' vue-cli-service build && cross-env BROWSER='opera-edge' yarn build:rollup", + "build:rollup": "cross-env minify=on rollup --config configs/rollup.config.contentscript.mjs && cross-env minify=on rollup --config configs/rollup.config.inject.mjs", + "inspectWebpack": "vue-cli-service inspect > webpack.log", + "kadena:prebuild": "pactjs contract-generate --contract=coin --api https://api.chainweb.com/chainweb/0.0/mainnet01/chain/1/pact", + "test": "ts-mocha --require ./configs/testNullCompiler.js --paths -p configs/tsconfig.test.json ./**/*.mocha.ts", + "watch": "yarn prebuild && rimraf dist && concurrently 'npm:watch-*(!firefox)'", + "watch:firefox": "yarn prebuild && concurrently 'npm:watch-*(!chrome)'", + "watch-contentscript": "rollup --watch --config configs/rollup.config.contentscript.mjs", + "watch-inject": "rollup --watch --config configs/rollup.config.inject.mjs", + "watch-vue-chrome": "cross-env BROWSER='chrome' vue-cli-service build --watch --no-clean", + "watch-vue-firefox": "cross-env BROWSER='firefox' vue-cli-service build --watch --no-clean" + }, + "dependencies": { + "@enkryptcom/extension-bridge": "workspace:^", + "@enkryptcom/hw-wallets": "workspace:^", + "@enkryptcom/keyring": "workspace:^", + "@enkryptcom/request": "workspace:^", + "@enkryptcom/storage": "workspace:^", + "@enkryptcom/swap": "workspace:^", + "@enkryptcom/types": "workspace:^", + "@enkryptcom/utils": "workspace:^", + "@ethereumjs/common": "^4.4.0", + "@ethereumjs/tx": "^5.4.0", + "@ethereumjs/util": "^9.1.0", + "@kadena/client": "^1.14.0", + "@kadena/pactjs-cli": "^1.14.0", + "@ledgerhq/hw-transport-webusb": "^6.29.4", + "@metamask/eth-sig-util": "^7.0.3", + "@metaplex-foundation/mpl-bubblegum": "^4.2.1", + "@metaplex-foundation/umi": "^0.9.2", + "@metaplex-foundation/umi-bundle-defaults": "^0.9.2", + "@polkadot/api": "^13.2.1", + "@polkadot/extension-inject": "^0.53.1", + "@polkadot/keyring": "^13.1.1", + "@polkadot/rpc-provider": "^13.2.1", + "@polkadot/types": "^13.2.1", + "@polkadot/types-known": "^13.2.1", + "@polkadot/ui-shared": "^3.10.1", + "@polkadot/util": "^13.1.1", + "@polkadot/wasm-crypto": "^7.3.2", + "@rollup/plugin-replace": "^5.0.7", + "@solana-developers/helpers": "^2.5.6", + "@solana/spl-token": "^0.4.8", + "@solana/wallet-standard-features": "^1.2.0", + "@solana/web3.js": "^1.95.3", + "@wallet-standard/base": "^0.0.0-20240703212708", + "add": "^2.0.6", + "bignumber.js": "^9.1.2", + "bip39": "^3.1.0", + "bitcoinjs-lib": "^6.1.6", + "bs58": "^6.0.0", + "chai": "^4.5.0", + "concurrently": "^8.2.2", + "echarts": "^5.5.1", + "ethereum-cryptography": "^2.2.1", + "ethereumjs-abi": "^0.6.8", + "ethereumjs-wallet": "^1.0.2", + "eventemitter3": "^5.0.1", + "lodash": "^4.17.21", + "memoize-one": "^6.0.0", + "moment": "^2.30.1", + "nanoevents": "^9.0.0", + "pact-lang-api": "^4.3.6", + "pinia": "^2.2.4", + "qrcode.vue": "^3.5.0", + "switch-ts": "^1.1.1", + "url-parse": "^1.5.10", + "uuid": "^10.0.0", + "vue": "^3.5.11", + "vue-echarts": "7.0.3", + "vue-router": "^4.4.5", + "vue3-lottie": "^3.3.1", + "vuedraggable": "^4.1.0", + "web3-eth": "^1.10.4", + "web3-utils": "^1.10.4", + "yarn": "^1.22.22", + "zxcvbn": "^4.4.2" + }, + "devDependencies": { + "@rollup/plugin-commonjs": "^26.0.3", + "@rollup/plugin-inject": "^5.0.5", + "@rollup/plugin-json": "^6.1.0", + "@rollup/plugin-node-resolve": "^15.3.0", + "@rollup/plugin-typescript": "^11.1.6", + "@tsconfig/node20": "^20.1.4", + "@types/bs58": "^4.0.4", + "@types/chrome": "^0.0.273", + "@types/ethereumjs-abi": "^0.6.5", + "@types/events": "^3.0.3", + "@types/less": "^3.0.6", + "@types/lodash": "^4.17.9", + "@types/mocha": "^10.0.8", + "@types/node": "^20.16.11", + "@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.1.4", + "@vue/eslint-config-prettier": "^10.0.0", + "@vue/eslint-config-typescript": "^14.0.0", + "@vue/tsconfig": "^0.5.1", + "cross-env": "^7.0.3", + "eslint": "^9.12.0", + "eslint-plugin-vue": "^9.28.0", + "less": "^4.2.0", + "less-loader": "^12.2.0", + "mocha": "^10.7.3", + "npm-run-all2": "^6.2.3", + "prettier": "^3.3.3", + "rimraf": "^6.0.1", + "rollup": "^4.23.0", + "rollup-plugin-uglify": "^6.0.4", + "semver": "^7.6.3", + "systeminformation": "^5.23.5", + "typescript": "~5.5.4", + "url": "^0.11.4", + "vite": "^5.4.8", + "vite-plugin-node-polyfills": "0.17.0", + "vue-tsc": "^2.1.6", + "webextension-polyfill": "^0.12.0" + }, + "installConfig": { + "hoistingLimits": "none" + } +} diff --git a/packages/extension-vite/public/assets/img/icons/icon16.png b/packages/extension-vite/public/assets/img/icons/icon16.png new file mode 100644 index 0000000000000000000000000000000000000000..ddc85592461b35767ef4f43a0a13d7ec3813e56c GIT binary patch literal 957 zcmV;u148_XP)u3)QWWIwq!1AqrNI7( zftf*sfs=ucK{heDxWG5qErbCGiWAF=lS_(n7*N2sYYdDa`m%0DVqS_|`yBVC^Ro|% zGmw1%$W};4VkaT7b8||Qp>6=Vo+mXgG#E&80I>{1 zF+%`@F@rM>HEdut&Om6upa=>t^l&InGd6SM|7TSO2KLDe41Xv5|Nnd8 z|NsB|7#NsmF)$nuLFjM3&%j{2AH+h4c>(zw&4IzR6(Oc!!N4HM#lUc)q9Cy-5iGz@;j|==^1poj76G=ot zRCocUQom~yK@@&-x5-@)&joEnBC)j6-og|%f<+Kp3&F;J!7es}AOi2)S^%y}R7*?9S|t-+MEgTg1+RxAV=+zHh$w%_I8Hq4@K0&8;l8X;VeC z$~z8GVc$`}03~n*Y=Lvk6HWbF+v-9jERLRJM5{*oL>^@zsFQeY5CtN`USenkuq6b# zq%~{(ZIToS>e+@cIM0~?G0bNJ&aDZ+)kp>~l@Hq>;AD-nq%6{3qrHdxyAZHMrRFzI z^CJDU_x9e?A2;8Jt)^#uk7g0a3QCslLcL(w9sj<6_56+R*Dktk?8S8%Tz{cNMKZ`~ zNAcP=-(qDUk%X~6SU{u)&^N;5xAnnwh*C-__erD-mF(Z(jYB=Y}i>uGUxaBN~2sG81%*)_UOb-P`swU#w7 fG4Azx6O7Rx`OhgEI*yIG00000NkvXXu0mjfw34Xg literal 0 HcmV?d00001 diff --git a/packages/extension-vite/public/assets/img/icons/icon192.png b/packages/extension-vite/public/assets/img/icons/icon192.png new file mode 100644 index 0000000000000000000000000000000000000000..cf92119f20a89dbd2defe4c6f14548463ee42293 GIT binary patch literal 31338 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 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/public/assets/img/icons/icon32.png b/packages/extension-vite/public/assets/img/icons/icon32.png new file mode 100644 index 0000000000000000000000000000000000000000..3632cd13ab76f697ceaab9e1ba8b16c3d2d87c3a GIT binary patch literal 1895 zcmV-t2blPYP)u3)QWWIwq!1AqrNI7( zftf*sfs=ucK{heDxWG5qErbCGiWAF=lS_(n7*N2sYYdDa`m%0DVqS_|`yBVC^Ro|% zGmw1%$W};4VkaT7b8||Qp>6=Vo+mXgG#E&80I>{1 zF+%`@F@rM>HEdut&Om6upa=>t^l&InGd6SM|7TSO2KLDe41Xv5|Nnd8 z|NsB|7#NsmF)$nuLFjM3&%j{2AH+h4c>(zw&4IzR6(Oc!!N4HM#lUc)q9Cy-5iGz@;j|==^1pojAy-7qt zRCod9S4(J}MHD_W|GhU!Q!t7aT$zm%{P$j$uKI_`JpMCtzH{cB z?>`sdR)0kA!o`Qo{qV z009`+r`UINKLC*{3^*NG7#(iiPYW0nUYX&;ffdFDZSV=O_fG&i1$kieCq5z(c8OU-jnqVg*rA2d5L}aMxV5FEv>_W2)rQm7@jvPN=_PuppO!r-Z4>X_i@%?M9z9Z#lA1;p8 zMqpeg&azUO3F%mR0%t_QUWS-*bQrUtFeh-fkHjhfR21=*tH3roa@P_K@$kJ}%7!es zS(|G5d4&bjvf_6HfEt2&kY_4n0YnrV5s_jvJA{pP+0K=$Wr^c`1|45Rg^2I~&xFc* z6Ju=~N2_A@Z-&{+*~kTkY+676lo5 zz@v{jK;s+waPDf1KSHm*x-oHTwY9xW2U$X*2uES+{XElAufjU*X|@4wG=Dz>|HT77 z081*yppaHdK9BzN=MV^_mfY5k-Uf_lDq@kPTD*)Gz4jy`rh&> zjt!1QyatW|SGd;|08eK#DpF|a%#UR zs1~$EXiqG7UrA}8-Vji)Io6De5fdr*X=xaM2iK)qAcci(1N$b=IS^$%KtfXV1Yu9< zrSMcDpp5u6aT|?jzFny0DQ3jJLMT6wda>03g*_Tj<6P@<8PZAfjmD zYDG#ZqQuzx!2hDOUO|8LWHU;N-3|`uk_R@^jjyTLD1QTpo~!7o{d}EY;7eP4lye&& zhCnJVSctTIA=Az6*L4gW6P8h|=9?GZZ>P-P+)PYN0F`Pf^r8aRt_UOraDSB|2N+CL zlzIT>^xP9O^XuQgw$(z$;t!3lkd+P_3$`ea)`{(6FDT>UMH?A=Q-%Nl002ovPDHLkV1j9FZG!*+ literal 0 HcmV?d00001 diff --git a/packages/extension-vite/public/assets/img/icons/icon64.png b/packages/extension-vite/public/assets/img/icons/icon64.png new file mode 100644 index 0000000000000000000000000000000000000000..77038c4ffb3ff681069f0f4d80b31cbb26b6bd11 GIT binary patch literal 5182 zcmV-E6v69>P)^0KxsomP;*c-LjVAHoMT{Me2|lzTg;-sz>u3)QWWIwq!1AqrNI7( zftf*sfs=ucK{heDxWG5qErbCGiWAF=lS_(n7*N2sYYdDa`m%0DVqS_|`yBVC^Ro|% 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癒_8 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 + + + TrezorConnect | Trezor + + + + + + + diff --git a/packages/extension-vite/public/vendor/trezor-content-script.js b/packages/extension-vite/public/vendor/trezor-content-script.js new file mode 100644 index 000000000..23cdb0089 --- /dev/null +++ b/packages/extension-vite/public/vendor/trezor-content-script.js @@ -0,0 +1,1250 @@ +// let port = chrome.runtime.connect({ name: "trezor-connect" }); +// port.onMessage.addListener((message) => { +// window.postMessage(message, window.location.origin); +// }); +// port.onDisconnect.addListener((d) => { +// port = null; +// }); + +// /* +// Passing messages from popup to background script +// */ + +// window.addEventListener("message", (event) => { +// if (port && event.source === window && event.data) { +// port.postMessage({ data: event.data }); +// } +// }); + +/******/ ;(() => { + // webpackBootstrap + /******/ 'use strict' + /******/ var __webpack_modules__ = { + /***/ 46: /***/ module => { + // Copyright Joyent, Inc. and other Node contributors. + // + // Permission is hereby granted, free of charge, to any person obtaining a + // copy of this software and associated documentation files (the + // "Software"), to deal in the Software without restriction, including + // without limitation the rights to use, copy, modify, merge, publish, + // distribute, sublicense, and/or sell copies of the Software, and to permit + // persons to whom the Software is furnished to do so, subject to the + // following conditions: + // + // The above copyright notice and this permission notice shall be included + // in all copies or substantial portions of the Software. + // + // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS + // OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN + // NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, + // DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + // OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE + // USE OR OTHER DEALINGS IN THE SOFTWARE. + + var R = typeof Reflect === 'object' ? Reflect : null + var ReflectApply = + R && typeof R.apply === 'function' + ? R.apply + : function ReflectApply(target, receiver, args) { + return Function.prototype.apply.call(target, receiver, args) + } + + var ReflectOwnKeys + if (R && typeof R.ownKeys === 'function') { + ReflectOwnKeys = R.ownKeys + } else if (Object.getOwnPropertySymbols) { + ReflectOwnKeys = function ReflectOwnKeys(target) { + return Object.getOwnPropertyNames(target).concat( + Object.getOwnPropertySymbols(target), + ) + } + } else { + ReflectOwnKeys = function ReflectOwnKeys(target) { + return Object.getOwnPropertyNames(target) + } + } + + function ProcessEmitWarning(warning) { + if (console && console.warn) console.warn(warning) + } + + var NumberIsNaN = + Number.isNaN || + function NumberIsNaN(value) { + return value !== value + } + + function EventEmitter() { + EventEmitter.init.call(this) + } + module.exports = EventEmitter + module.exports.once = once + + // Backwards-compat with node 0.10.x + EventEmitter.EventEmitter = EventEmitter + + EventEmitter.prototype._events = undefined + EventEmitter.prototype._eventsCount = 0 + EventEmitter.prototype._maxListeners = undefined + + // By default EventEmitters will print a warning if more than 10 listeners are + // added to it. This is a useful default which helps finding memory leaks. + var defaultMaxListeners = 10 + + function checkListener(listener) { + if (typeof listener !== 'function') { + throw new TypeError( + 'The "listener" argument must be of type Function. Received type ' + + typeof listener, + ) + } + } + + Object.defineProperty(EventEmitter, 'defaultMaxListeners', { + enumerable: true, + get: function () { + return defaultMaxListeners + }, + set: function (arg) { + if (typeof arg !== 'number' || arg < 0 || NumberIsNaN(arg)) { + throw new RangeError( + 'The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received ' + + arg + + '.', + ) + } + defaultMaxListeners = arg + }, + }) + + EventEmitter.init = function () { + if ( + this._events === undefined || + this._events === Object.getPrototypeOf(this)._events + ) { + this._events = Object.create(null) + this._eventsCount = 0 + } + + this._maxListeners = this._maxListeners || undefined + } + + // Obviously not all Emitters should be limited to 10. This function allows + // that to be increased. Set to zero for unlimited. + EventEmitter.prototype.setMaxListeners = function setMaxListeners(n) { + if (typeof n !== 'number' || n < 0 || NumberIsNaN(n)) { + throw new RangeError( + 'The value of "n" is out of range. It must be a non-negative number. Received ' + + n + + '.', + ) + } + this._maxListeners = n + return this + } + + function _getMaxListeners(that) { + if (that._maxListeners === undefined) + return EventEmitter.defaultMaxListeners + return that._maxListeners + } + + EventEmitter.prototype.getMaxListeners = function getMaxListeners() { + return _getMaxListeners(this) + } + + EventEmitter.prototype.emit = function emit(type) { + var args = [] + for (var i = 1; i < arguments.length; i++) args.push(arguments[i]) + var doError = type === 'error' + + var events = this._events + if (events !== undefined) + doError = doError && events.error === undefined + else if (!doError) return false + + // If there is no 'error' event listener then throw. + if (doError) { + var er + if (args.length > 0) er = args[0] + if (er instanceof Error) { + // Note: The comments on the `throw` lines are intentional, they show + // up in Node's output if this results in an unhandled exception. + throw er // Unhandled 'error' event + } + // At least give some kind of context to the user + var err = new Error( + 'Unhandled error.' + (er ? ' (' + er.message + ')' : ''), + ) + err.context = er + throw err // Unhandled 'error' event + } + + var handler = events[type] + + if (handler === undefined) return false + + if (typeof handler === 'function') { + ReflectApply(handler, this, args) + } else { + var len = handler.length + var listeners = arrayClone(handler, len) + for (var i = 0; i < len; ++i) ReflectApply(listeners[i], this, args) + } + + return true + } + + function _addListener(target, type, listener, prepend) { + var m + var events + var existing + + checkListener(listener) + + events = target._events + if (events === undefined) { + events = target._events = Object.create(null) + target._eventsCount = 0 + } else { + // To avoid recursion in the case that type === "newListener"! Before + // adding it to the listeners, first emit "newListener". + if (events.newListener !== undefined) { + target.emit( + 'newListener', + type, + listener.listener ? listener.listener : listener, + ) + + // Re-assign `events` because a newListener handler could have caused the + // this._events to be assigned to a new object + events = target._events + } + existing = events[type] + } + + if (existing === undefined) { + // Optimize the case of one listener. Don't need the extra array object. + existing = events[type] = listener + ++target._eventsCount + } else { + if (typeof existing === 'function') { + // Adding the second element, need to change to array. + existing = events[type] = prepend + ? [listener, existing] + : [existing, listener] + // If we've already got an array, just append. + } else if (prepend) { + existing.unshift(listener) + } else { + existing.push(listener) + } + + // Check for listener leak + m = _getMaxListeners(target) + if (m > 0 && existing.length > m && !existing.warned) { + existing.warned = true + // No error code for this since it is a Warning + + var w = new Error( + 'Possible EventEmitter memory leak detected. ' + + existing.length + + ' ' + + String(type) + + ' listeners ' + + 'added. Use emitter.setMaxListeners() to ' + + 'increase limit', + ) + w.name = 'MaxListenersExceededWarning' + w.emitter = target + w.type = type + w.count = existing.length + ProcessEmitWarning(w) + } + } + + return target + } + + EventEmitter.prototype.addListener = function addListener( + type, + listener, + ) { + return _addListener(this, type, listener, false) + } + + EventEmitter.prototype.on = EventEmitter.prototype.addListener + + EventEmitter.prototype.prependListener = function prependListener( + type, + listener, + ) { + return _addListener(this, type, listener, true) + } + + function onceWrapper() { + if (!this.fired) { + this.target.removeListener(this.type, this.wrapFn) + this.fired = true + if (arguments.length === 0) return this.listener.call(this.target) + return this.listener.apply(this.target, arguments) + } + } + + function _onceWrap(target, type, listener) { + var state = { + fired: false, + wrapFn: undefined, + target: target, + type: type, + listener: listener, + } + var wrapped = onceWrapper.bind(state) + wrapped.listener = listener + state.wrapFn = wrapped + return wrapped + } + + EventEmitter.prototype.once = function once(type, listener) { + checkListener(listener) + this.on(type, _onceWrap(this, type, listener)) + return this + } + + EventEmitter.prototype.prependOnceListener = function prependOnceListener( + type, + listener, + ) { + checkListener(listener) + this.prependListener(type, _onceWrap(this, type, listener)) + return this + } + + // Emits a 'removeListener' event if and only if the listener was removed. + EventEmitter.prototype.removeListener = function removeListener( + type, + listener, + ) { + var list, events, position, i, originalListener + + checkListener(listener) + + events = this._events + if (events === undefined) return this + + list = events[type] + if (list === undefined) return this + + if (list === listener || list.listener === listener) { + if (--this._eventsCount === 0) this._events = Object.create(null) + else { + delete events[type] + if (events.removeListener) + this.emit('removeListener', type, list.listener || listener) + } + } else if (typeof list !== 'function') { + position = -1 + + for (i = list.length - 1; i >= 0; i--) { + if (list[i] === listener || list[i].listener === listener) { + originalListener = list[i].listener + position = i + break + } + } + + if (position < 0) return this + + if (position === 0) list.shift() + else { + spliceOne(list, position) + } + + if (list.length === 1) events[type] = list[0] + + if (events.removeListener !== undefined) + this.emit('removeListener', type, originalListener || listener) + } + + return this + } + + EventEmitter.prototype.off = EventEmitter.prototype.removeListener + + EventEmitter.prototype.removeAllListeners = function removeAllListeners( + type, + ) { + var listeners, events, i + + events = this._events + if (events === undefined) return this + + // not listening for removeListener, no need to emit + if (events.removeListener === undefined) { + if (arguments.length === 0) { + this._events = Object.create(null) + this._eventsCount = 0 + } else if (events[type] !== undefined) { + if (--this._eventsCount === 0) this._events = Object.create(null) + else delete events[type] + } + return this + } + + // emit removeListener for all listeners on all events + if (arguments.length === 0) { + var keys = Object.keys(events) + var key + for (i = 0; i < keys.length; ++i) { + key = keys[i] + if (key === 'removeListener') continue + this.removeAllListeners(key) + } + this.removeAllListeners('removeListener') + this._events = Object.create(null) + this._eventsCount = 0 + return this + } + + listeners = events[type] + + if (typeof listeners === 'function') { + this.removeListener(type, listeners) + } else if (listeners !== undefined) { + // LIFO order + for (i = listeners.length - 1; i >= 0; i--) { + this.removeListener(type, listeners[i]) + } + } + + return this + } + + function _listeners(target, type, unwrap) { + var events = target._events + + if (events === undefined) return [] + + var evlistener = events[type] + if (evlistener === undefined) return [] + + if (typeof evlistener === 'function') + return unwrap ? [evlistener.listener || evlistener] : [evlistener] + + return unwrap + ? unwrapListeners(evlistener) + : arrayClone(evlistener, evlistener.length) + } + + EventEmitter.prototype.listeners = function listeners(type) { + return _listeners(this, type, true) + } + + EventEmitter.prototype.rawListeners = function rawListeners(type) { + return _listeners(this, type, false) + } + + EventEmitter.listenerCount = function (emitter, type) { + if (typeof emitter.listenerCount === 'function') { + return emitter.listenerCount(type) + } else { + return listenerCount.call(emitter, type) + } + } + + EventEmitter.prototype.listenerCount = listenerCount + function listenerCount(type) { + var events = this._events + + if (events !== undefined) { + var evlistener = events[type] + + if (typeof evlistener === 'function') { + return 1 + } else if (evlistener !== undefined) { + return evlistener.length + } + } + + return 0 + } + + EventEmitter.prototype.eventNames = function eventNames() { + return this._eventsCount > 0 ? ReflectOwnKeys(this._events) : [] + } + + function arrayClone(arr, n) { + var copy = new Array(n) + for (var i = 0; i < n; ++i) copy[i] = arr[i] + return copy + } + + function spliceOne(list, index) { + for (; index + 1 < list.length; index++) list[index] = list[index + 1] + list.pop() + } + + function unwrapListeners(arr) { + var ret = new Array(arr.length) + for (var i = 0; i < ret.length; ++i) { + ret[i] = arr[i].listener || arr[i] + } + return ret + } + + function once(emitter, name) { + return new Promise(function (resolve, reject) { + function errorListener(err) { + emitter.removeListener(name, resolver) + reject(err) + } + + function resolver() { + if (typeof emitter.removeListener === 'function') { + emitter.removeListener('error', errorListener) + } + resolve([].slice.call(arguments)) + } + + eventTargetAgnosticAddListener(emitter, name, resolver, { + once: true, + }) + if (name !== 'error') { + addErrorHandlerIfEventEmitter(emitter, errorListener, { + once: true, + }) + } + }) + } + + function addErrorHandlerIfEventEmitter(emitter, handler, flags) { + if (typeof emitter.on === 'function') { + eventTargetAgnosticAddListener(emitter, 'error', handler, flags) + } + } + + function eventTargetAgnosticAddListener(emitter, name, listener, flags) { + if (typeof emitter.on === 'function') { + if (flags.once) { + emitter.once(name, listener) + } else { + emitter.on(name, listener) + } + } else if (typeof emitter.addEventListener === 'function') { + // EventTarget does not have `error` event semantics like Node + // EventEmitters, we do not listen for `error` events here. + emitter.addEventListener(name, function wrapListener(arg) { + // IE does not have builtin `{ once: true }` support so we + // have to do it manually. + if (flags.once) { + emitter.removeEventListener(name, wrapListener) + } + listener(arg) + }) + } else { + throw new TypeError( + 'The "emitter" argument must be of type EventEmitter. Received type ' + + typeof emitter, + ) + } + } + + /***/ + }, + + /******/ + } + /************************************************************************/ + /******/ // The module cache + /******/ var __webpack_module_cache__ = {} + /******/ + /******/ // The require function + /******/ function __webpack_require__(moduleId) { + /******/ // Check if module is in cache + /******/ var cachedModule = __webpack_module_cache__[moduleId] + /******/ if (cachedModule !== undefined) { + /******/ return cachedModule.exports + /******/ + } + /******/ // Create a new module (and put it into the cache) + /******/ var module = (__webpack_module_cache__[moduleId] = { + /******/ // no module.id needed + /******/ // no module.loaded needed + /******/ exports: {}, + /******/ + }) + /******/ + /******/ // Execute the module function + /******/ __webpack_modules__[moduleId]( + module, + module.exports, + __webpack_require__, + ) + /******/ + /******/ // Return the exports of the module + /******/ return module.exports + /******/ + } + /******/ + /************************************************************************/ + /******/ /* webpack/runtime/global */ + /******/ ;(() => { + /******/ __webpack_require__.g = (function () { + /******/ if (typeof globalThis === 'object') return globalThis + /******/ try { + /******/ return this || new Function('return this')() + /******/ + } catch (e) { + /******/ if (typeof window === 'object') return window + /******/ + } + /******/ + })() + /******/ + })() + /******/ + /************************************************************************/ + + // EXTERNAL MODULE: ../../node_modules/events/events.js + var events = __webpack_require__(46) // CONCATENATED MODULE: ../utils/src/typedEventEmitter.ts + /* +Usage example: +type EventMap = { + obj: { id: string }; + primitive: boolean | number | string | symbol; + noArgs: undefined; + multipleArgs: (a: number, b: string, c: boolean) => void; + [type: `dynamic/${string}`]: boolean; +}; +*/ + + // NOTE: case 1. looks like case 4. but works differently. the order matters + + // 4. default + + class TypedEmitter extends events.EventEmitter { + // implement at least one function + listenerCount(eventName) { + return super.listenerCount(eventName) + } + } // CONCATENATED MODULE: ../connect-common/src/storage.ts + // https://github.com/trezor/connect/blob/develop/src/js/storage/index.js + + const storageVersion = 2 + const storageName = `storage_v${storageVersion}` + + /** + * remembered: + * - physical device from webusb pairing dialogue + * - passphrase to be used + */ + + // TODO: move storage somewhere else. Having it here brings couple of problems: + // - We can not import types from connect (would cause cyclic dependency) + // - it has here dependency on window object, not good + + const getEmptyState = () => ({ + origin: {}, + }) + let memoryStorage = getEmptyState() + const getPermanentStorage = () => { + const ls = localStorage.getItem(storageName) + return ls ? JSON.parse(ls) : getEmptyState() + } + class Storage extends TypedEmitter { + save(getNewState, temporary = false) { + if (temporary || !__webpack_require__.g.window) { + memoryStorage = getNewState(memoryStorage) + return + } + try { + const newState = getNewState(getPermanentStorage()) + localStorage.setItem(storageName, JSON.stringify(newState)) + this.emit('changed', newState) + } catch (err) { + // memory storage is fallback of the last resort + console.warn('long term storage not available') + memoryStorage = getNewState(memoryStorage) + } + } + saveForOrigin(getNewState, origin, temporary = false) { + this.save( + state => ({ + ...state, + origin: { + ...state.origin, + [origin]: getNewState(state.origin?.[origin] || {}), + }, + }), + temporary, + ) + } + load(temporary = false) { + if (temporary || !__webpack_require__.g?.window?.localStorage) { + return memoryStorage + } + try { + return getPermanentStorage() + } catch (err) { + // memory storage is fallback of the last resort + console.warn('long term storage not available') + return memoryStorage + } + } + loadForOrigin(origin, temporary = false) { + const state = this.load(temporary) + return state.origin?.[origin] || {} + } + } + const storage = new Storage() // CONCATENATED MODULE: ../utils/src/createDeferred.ts + + // unwrap promise response from Deferred + + const createDeferred = id => { + let localResolve = () => {} + let localReject = () => {} + const promise = new Promise((resolve, reject) => { + localResolve = resolve + localReject = reject + }) + return { + id, + resolve: localResolve, + reject: localReject, + promise, + } + } // CONCATENATED MODULE: ../utils/src/scheduleAction.ts + // Ignored when attempts is AttemptParams[] + + const isArray = attempts => Array.isArray(attempts) + const abortedBySignal = () => new Error('Aborted by signal') + const abortedByDeadline = () => new Error('Aborted by deadline') + const abortedByTimeout = () => new Error('Aborted by timeout') + const resolveAfterMs = (ms, clear) => + new Promise((resolve, reject) => { + if (clear.aborted) return reject() + if (ms === undefined) return resolve() + let timeout + const onClear = () => { + clearTimeout(timeout) + clear.removeEventListener('abort', onClear) + reject() + } + timeout = setTimeout(() => { + clear.removeEventListener('abort', onClear) + resolve() + }, ms) + clear.addEventListener('abort', onClear) + }) + const rejectAfterMs = (ms, reason, clear) => + new Promise((_, reject) => { + if (clear.aborted) return reject() + let timeout + const onClear = () => { + clearTimeout(timeout) + clear.removeEventListener('abort', onClear) + reject() + } + timeout = setTimeout(() => { + clear.removeEventListener('abort', onClear) + reject(reason()) + }, ms) + clear.addEventListener('abort', onClear) + }) + const maybeRejectAfterMs = (ms, reason, clear) => + ms === undefined ? [] : [rejectAfterMs(ms, reason, clear)] + const rejectWhenAborted = (signal, clear) => + new Promise((_, reject) => { + if (clear.aborted) return reject() + if (signal?.aborted) return reject(abortedBySignal()) + const onAbort = () => reject(abortedBySignal()) + signal?.addEventListener('abort', onAbort) + const onClear = () => { + signal?.removeEventListener('abort', onAbort) + clear.removeEventListener('abort', onClear) + reject() + } + clear.addEventListener('abort', onClear) + }) + const resolveAction = async (action, clear) => { + const aborter = new AbortController() + if (clear.aborted) aborter.abort() + const onClear = () => { + clear.removeEventListener('abort', onClear) + aborter.abort() + } + clear.addEventListener('abort', onClear) + try { + return await new Promise(resolve => resolve(action(aborter.signal))) + } finally { + if (!clear.aborted) clear.removeEventListener('abort', onClear) + } + } + const attemptLoop = async (attempts, attempt, failure, clear) => { + // Tries only (attempts - 1) times, because the last attempt throws its error + for (let a = 0; a < attempts - 1; a++) { + if (clear.aborted) break + const aborter = new AbortController() + const onClear = () => aborter.abort() + clear.addEventListener('abort', onClear) + try { + return await attempt(a, aborter.signal) + } catch (error) { + onClear() + await failure(a, error) + } finally { + clear.removeEventListener('abort', onClear) + } + } + return clear.aborted ? Promise.reject() : attempt(attempts - 1, clear) + } + const scheduleAction = async (action, params) => { + const { + signal, + delay, + attempts, + timeout, + deadline, + gap, + attemptFailureHandler, + } = params + const deadlineMs = deadline && deadline - Date.now() + const attemptCount = isArray(attempts) + ? attempts.length + : (attempts ?? (deadline ? Infinity : 1)) + const clearAborter = new AbortController() + const clear = clearAborter.signal + const getParams = isArray(attempts) + ? attempt => attempts[attempt] + : () => ({ + timeout, + gap, + }) + try { + return await Promise.race([ + rejectWhenAborted(signal, clear), + ...maybeRejectAfterMs(deadlineMs, abortedByDeadline, clear), + resolveAfterMs(delay, clear).then(() => + attemptLoop( + attemptCount, + (attempt, abort) => + Promise.race([ + ...maybeRejectAfterMs( + getParams(attempt).timeout, + abortedByTimeout, + clear, + ), + resolveAction(action, abort), + ]), + (attempt, error) => { + const errorHandlerResult = attemptFailureHandler?.(error) + return errorHandlerResult + ? Promise.reject(errorHandlerResult) + : resolveAfterMs(getParams(attempt).gap ?? 0, clear) + }, + clear, + ), + ), + ]) + } finally { + clearAborter.abort() + } + } // CONCATENATED MODULE: ../connect-common/src/messageChannel/abstract.ts + /** + * IMPORTS WARNING + * this file is bundled into content script so be careful what you are importing not to bloat the bundle + */ + + // TODO: so logger should be probably moved to connect common, or this file should be moved to connect + // import type { Log } from '@trezor/connect/src/utils/debug'; + + /** + * concepts: + * - it handshakes automatically with the other side of the channel + * - it queues messages fired before handshake and sends them after handshake is done + */ + class AbstractMessageChannel extends TypedEmitter { + messagePromises = {} + /** queue of messages that were scheduled before handshake */ + messagesQueue = [] + messageID = 0 + isConnected = false + handshakeMaxRetries = 5 + handshakeRetryInterval = 2000 + + /** + * function that passes data to the other side of the channel + */ + + /** + * channel identifiers that pairs AbstractMessageChannel instances on sending and receiving end together + */ + + constructor({ + sendFn, + channel, + logger, + lazyHandshake = false, + legacyMode = false, + }) { + super() + this.channel = channel + this.sendFn = sendFn + this.lazyHandshake = lazyHandshake + this.legacyMode = legacyMode + this.logger = logger + } + + /** + * initiates handshake sequence with peer. resolves after communication with peer is established + */ + init() { + if (!this.handshakeFinished) { + this.handshakeFinished = createDeferred() + if (this.legacyMode) { + // Bypass handshake for communication with legacy components + // We add a delay for enough time for the other side to be ready + setTimeout(() => { + this.handshakeFinished?.resolve() + }, 500) + } + if (!this.lazyHandshake) { + // When `lazyHandshake` handshakeWithPeer will start when received channel-handshake-request. + this.handshakeWithPeer() + } + } + return this.handshakeFinished.promise + } + + /** + * handshake between both parties of the channel. + * both parties initiate handshake procedure and keep asking over time in a loop until they time out or receive confirmation from peer + */ + handshakeWithPeer() { + this.logger?.log(this.channel.here, 'handshake') + return scheduleAction( + async () => { + this.postMessage( + { + type: 'channel-handshake-request', + data: { + success: true, + payload: undefined, + }, + }, + { + usePromise: false, + useQueue: false, + }, + ) + await this.handshakeFinished?.promise + }, + { + attempts: this.handshakeMaxRetries, + timeout: this.handshakeRetryInterval, + }, + ) + .then(() => { + this.logger?.log(this.channel.here, 'handshake confirmed') + this.messagesQueue.forEach(message => { + message.channel = this.channel + this.sendFn(message) + }) + this.messagesQueue = [] + }) + .catch(() => { + this.handshakeFinished?.reject(new Error('handshake failed')) + this.handshakeFinished = undefined + }) + } + + /** + * message received from communication channel in descendants of this class + * should be handled by this common onMessage method + */ + onMessage(_message) { + // Older code used to send message as a data property of the message object. + // This is a workaround to keep backward compatibility. + let message = _message + if ( + this.legacyMode && + message.type === undefined && + 'data' in message && + typeof message.data === 'object' && + message.data !== null && + 'type' in message.data && + typeof message.data.type === 'string' + ) { + // @ts-expect-error + message = message.data + } + const { channel, id, type, payload, success } = message + + // Don't verify channel in legacy mode + if (!this.legacyMode) { + if (!channel?.peer || channel.peer !== this.channel.here) { + // To wrong peer + return + } + if (!channel?.here || this.channel.peer !== channel.here) { + // From wrong peer + return + } + } + if (type === 'channel-handshake-request') { + this.postMessage( + { + type: 'channel-handshake-confirm', + data: { + success: true, + payload: undefined, + }, + }, + { + usePromise: false, + useQueue: false, + }, + ) + if (this.lazyHandshake) { + // When received channel-handshake-request in lazyHandshake mode we start from this side. + this.handshakeWithPeer() + } + return + } + if (type === 'channel-handshake-confirm') { + this.handshakeFinished?.resolve(undefined) + return + } + if (this.messagePromises[id]) { + this.messagePromises[id].resolve({ + id, + payload, + success, + }) + delete this.messagePromises[id] + } + const messagePromisesLength = Object.keys(this.messagePromises).length + if (messagePromisesLength > 5) { + this.logger?.warn( + `too many message promises (${messagePromisesLength}). this feels unexpected!`, + ) + } + + // @ts-expect-error TS complains for odd reasons + this.emit('message', message) + } + + // todo: outgoing messages should be typed + postMessage(message, { usePromise = true, useQueue = true } = {}) { + message.channel = this.channel + if (!usePromise) { + try { + this.sendFn(message) + } catch (err) { + if (useQueue) { + this.messagesQueue.push(message) + } + } + return + } + this.messageID++ + message.id = this.messageID + this.messagePromises[message.id] = createDeferred() + try { + this.sendFn(message) + } catch (err) { + if (useQueue) { + this.messagesQueue.push(message) + } + } + return this.messagePromises[message.id].promise + } + resolveMessagePromises(resolvePayload) { + // This is used when we know that the connection has been interrupted but there might be something waiting for it. + Object.keys(this.messagePromises).forEach(id => + this.messagePromises[id].resolve({ + id, + payload: resolvePayload, + }), + ) + } + clear() { + this.handshakeFinished = undefined + } + } // CONCATENATED MODULE: ../connect-common/src/index.ts // CONCATENATED MODULE: ../connect-web/src/channels/window-serviceworker.ts + /** + * Communication channel between: + * - here: chrome message port (in service worker) + * - peer: window.onMessage in trezor-content-script + */ + + class WindowServiceWorkerChannel extends AbstractMessageChannel { + constructor({ name, channel }) { + super({ + channel, + sendFn: message => { + if (!this.port) throw new Error('port not assigned') + this.port.postMessage(message) + }, + }) + const port = chrome.runtime.connect({ + name, + }) + this.port = port + this.connect() + } + connect() { + this.port?.onMessage.addListener(message => { + if (message.channel.here === this.channel.here) return + this.onMessage(message) + }) + this.isConnected = true + } + disconnect() { + if (!this.isConnected) return + this.port?.disconnect() + this.isConnected = false + } + } // CONCATENATED MODULE: ../connect/src/events/popup.ts + const POPUP = { + // Message called from popup.html inline script before "window.onload" event. This is first message from popup to window.opener. + BOOTSTRAP: 'popup-bootstrap', + // Message from popup.js to window.opener, called after "window.onload" event. This is second message from popup to window.opener. + LOADED: 'popup-loaded', + // Message from popup run in "core" mode. Connect core has been loaded, popup is ready to handle messages + // This is similar to IFRAME.LOADED message which signals the same but core is loaded in different context + CORE_LOADED: 'popup-core-loaded', + // Message from window.opener to popup.js. Send settings to popup. This is first message from window.opener to popup. + INIT: 'popup-init', + // Error message from popup to window.opener. Could be thrown during popup initialization process (POPUP.INIT) + ERROR: 'popup-error', + // Message to webextensions, opens "trezor-usb-permission.html" within webextension + EXTENSION_USB_PERMISSIONS: 'open-usb-permissions', + // Message called from both [popup > iframe] then [iframe > popup] in this exact order. + // Firstly popup call iframe to resolve popup promise in Core + // Then iframe reacts to POPUP.HANDSHAKE message and sends ConnectSettings, transport information and requested method details back to popup + HANDSHAKE: 'popup-handshake', + // Event emitted from PopupManager at the end of popup closing process. + // Sent from popup thru window.opener to an iframe because message channel between popup and iframe is no longer available + CLOSED: 'popup-closed', + // Message called from iframe to popup, it means that popup will not be needed (example: Blockchain methods are not using popup at all) + // This will close active popup window and/or clear opening process in PopupManager (maybe popup wasn't opened yet) + CANCEL_POPUP_REQUEST: 'ui-cancel-popup-request', + // Message called from inline element in popup.html (window.closeWindow), this is used only with webextensions to properly handle popup close event + CLOSE_WINDOW: 'window.close', + // todo: shouldn't it be UI_RESPONSE? + ANALYTICS_RESPONSE: 'popup-analytics-response', + /** webextension injected content script and content script notified popup */ + CONTENT_SCRIPT_LOADED: 'popup-content-script-loaded', + /** method.info async getter result passed from core to popup */ + METHOD_INFO: 'popup-method-info', + } + const createPopupMessage = (type, payload) => ({ + event: UI_EVENT, + type, + payload, + }) // CONCATENATED MODULE: ../connect/src/data/version.ts + const VERSION = '9.4.1' + const versionN = VERSION.split('.').map(s => parseInt(s, 10)) + const isBeta = VERSION.includes('beta') + const DEFAULT_DOMAIN = + /* unused pure expression or super */ null && + (isBeta + ? `https://connect.trezor.io/${VERSION}/` + : `https://connect.trezor.io/${versionN[0]}/`) + + // Increment with content script changes + const CONTENT_SCRIPT_VERSION = 1 // CONCATENATED MODULE: ./src/contentScript.ts + function trezorContentScript() { + // Check if extension ID matches the popup URL + const urlParams = new URLSearchParams(window.location.search) + const targetExtensionId = urlParams.get('extension-id') + if (targetExtensionId && targetExtensionId !== chrome.runtime.id) { + return + } + + /** + * communication between service worker and both webextension and popup manager + */ + const channel = new WindowServiceWorkerChannel({ + name: 'trezor-connect', + channel: { + here: '@trezor/connect-content-script', + peer: '@trezor/connect-webextension', + }, + }) + + /** + * messages that were sent before the channel was initialized + */ + const messagesQueue = [] + let channelReady = false + + /** + * Firefox enforces some restrictions on the content script that force us to use clones of objects when passing them between the content script and the background script + */ + function clone(obj) { + return JSON.parse(JSON.stringify(obj)) + } + + /* + * Passing messages from popup to service worker + */ + window.addEventListener('message', event => { + if (event.data?.channel?.here === '@trezor/connect-webextension') { + return + } + if (event.data?.type === POPUP.LOADED) { + window.postMessage( + { + type: POPUP.CONTENT_SCRIPT_LOADED, + payload: { + ...chrome.runtime.getManifest(), + id: chrome.runtime.id, + contentScriptVersion: CONTENT_SCRIPT_VERSION, + }, + }, + window.location.origin, + ) + } + if (event.source === window && event.data) { + if (channelReady) { + channel.postMessage(clone(event.data), { + usePromise: false, + }) + } else { + messagesQueue.push(event.data) + } + } + }) + channel.init().then(() => { + channelReady = true + + /** + * Passing messages from service worker to popup + */ + channel.on('message', message => { + window.postMessage(clone(message), window.location.origin) + }) + + // Send messages that have gathered before the channel was initialized + while (messagesQueue.length > 0) { + const message = messagesQueue.shift() + channel.postMessage(clone(message), { + usePromise: false, + }) + } + window.addEventListener('beforeunload', () => { + window.postMessage( + { + type: POPUP.CLOSED, + }, + window.location.origin, + ) + }) + }) + } + trezorContentScript() + /******/ +})() diff --git a/packages/extension-vite/public/vendor/trezor-usb-permissions.js b/packages/extension-vite/public/vendor/trezor-usb-permissions.js new file mode 100644 index 000000000..c258c2d8d --- /dev/null +++ b/packages/extension-vite/public/vendor/trezor-usb-permissions.js @@ -0,0 +1,72 @@ +const VERSION = "9.0.5"; +const versionN = VERSION.split(".").map((s) => parseInt(s, 10)); +// const DIRECTORY = `${ versionN[0] }${ (versionN[1] > 0 ? `.${versionN[1]}` : '') }/`; +const DIRECTORY = `${versionN[0]}/`; +const url = `https://connect.trezor.io/${DIRECTORY}`; + +/* Handling messages from usb permissions iframe */ +const switchToPopupTab = (event) => { + window.removeEventListener("beforeunload", switchToPopupTab); + + if (!event) { + // triggered from 'usb-permissions-close' message + // close current tab + chrome.tabs.query( + { + currentWindow: true, + active: true, + }, + (current) => { + if (current.length < 0) return; + chrome.tabs.remove(current[0].id); + } + ); + } + + // find tab by popup pattern and switch to it + chrome.tabs.query( + { + url: `${url}popup.html`, + }, + (tabs) => { + if (tabs.length < 0) return; + chrome.tabs.update(tabs[0].id, { active: true }); + } + ); +}; + +window.addEventListener("message", (event) => { + if (event.data === "usb-permissions-init") { + const iframe = document.getElementById("trezor-usb-permissions"); + if (!iframe || !(iframe instanceof HTMLIFrameElement)) { + throw new Error("trezor-usb-permissions missing or incorrect dom type"); + } + iframe.contentWindow.postMessage( + { + type: "usb-permissions-init", + extension: chrome.runtime.id, + }, + "*" + ); + } else if (event.data === "usb-permissions-close") { + switchToPopupTab(); + } +}); + +window.addEventListener("beforeunload", switchToPopupTab); +window.addEventListener("load", () => { + const instance = document.createElement("iframe"); + instance.id = "trezor-usb-permissions"; + instance.frameBorder = "0"; + instance.width = "100%"; + instance.height = "100%"; + instance.style.border = "0px"; + instance.style.width = "100%"; + instance.style.height = "100%"; + instance.setAttribute("src", `${url}extension-permissions.html`); + instance.setAttribute("allow", "usb"); + + if (document.body) { + document.body.appendChild(instance); + } +}); diff --git a/packages/extension-vite/src/configs/constants.ts b/packages/extension-vite/src/configs/constants.ts new file mode 100644 index 000000000..37be92bf7 --- /dev/null +++ b/packages/extension-vite/src/configs/constants.ts @@ -0,0 +1,2 @@ +export const EXTENSION_NAMESPACE = + "dfc62431af1c3c1258035e5ab4058b6440e507238cf0fe429ea39827a7ee43fc"; //keccak256("enkrypt") diff --git a/packages/extension-vite/src/libs/activity-state/index.ts b/packages/extension-vite/src/libs/activity-state/index.ts new file mode 100644 index 000000000..ebed431ff --- /dev/null +++ b/packages/extension-vite/src/libs/activity-state/index.ts @@ -0,0 +1,110 @@ +import { InternalStorageNamespace } from "@/types/provider"; +import BrowserStorage from "@/libs/common/browser-storage"; +import { ActivityOptions } from "./types"; +import { Activity, ActivityStatus } from "@/types/activity"; +const STORAGE_KEY = "activity"; +const MAX_PENDING_TIME = 12 * 60 * 60 * 1000; // 12 hours + +class ActivityState { + #storage: BrowserStorage; + constructor() { + this.#storage = new BrowserStorage(InternalStorageNamespace.activityState); + } + getActivityId(options: ActivityOptions) { + return `${options.address.toLowerCase()}-${options.network}`; + } + getActivityCacheId(options: ActivityOptions) { + return `${options.address.toLowerCase()}-${options.network}-cachetime`; + } + async addActivities( + activity: Activity[], + options: ActivityOptions + ): Promise { + let activities = await this.getActivitiesById(this.getActivityId(options)); + const liveHashesToRemove: string[] = []; + const oldHashesToRemove: string[] = []; + activities.forEach((act) => { + activity.forEach((lact) => { + if (act.transactionHash === lact.transactionHash) { + act.status = lact.status; + liveHashesToRemove.push(lact.transactionHash); + } + if ( + act.nonce && + act.nonce === lact.nonce && + act.transactionHash !== lact.transactionHash && + (lact.status === ActivityStatus.success || + lact.status === ActivityStatus.failed) + ) { + oldHashesToRemove.push(act.transactionHash); + } + }); + }); + activity = activity.filter( + (a) => !liveHashesToRemove.includes(a.transactionHash) + ); + activities = activities.filter( + (a) => !oldHashesToRemove.includes(a.transactionHash) + ); + let combined = activities.concat(activity); + combined.sort((a, b) => { + return b.timestamp - a.timestamp; + }); + const currentTime = new Date().getTime(); + combined = combined.filter( + (a) => + a.status !== ActivityStatus.pending || + a.timestamp > currentTime - MAX_PENDING_TIME + ); + await this.setActivitiesById( + combined.slice(0, 50), + this.getActivityId(options) + ); + } + async updateActivity( + activity: Activity, + options: ActivityOptions + ): Promise { + const activities = await this.getActivitiesById( + this.getActivityId(options) + ); + const clone = [...activities]; + activities.forEach((act, idx) => { + if (act.transactionHash === activity.transactionHash) + clone[idx] = activity; + }); + await this.setActivitiesById(clone, this.getActivityId(options)); + } + async setCacheTime(options: ActivityOptions): Promise { + await this.#storage.set(this.getActivityCacheId(options), { + [STORAGE_KEY]: new Date().getTime(), + }); + } + async getCacheTime(options: ActivityOptions): Promise { + const cacheTime: Record = await this.#storage.get( + this.getActivityCacheId(options) + ); + if (!cacheTime || !cacheTime[STORAGE_KEY]) return 0; + return cacheTime[STORAGE_KEY]; + } + async getAllActivities(options: ActivityOptions): Promise { + return this.getActivitiesById(this.getActivityId(options)); + } + async deleteAllActivities(options: ActivityOptions): Promise { + this.setActivitiesById([], this.getActivityId(options)); + } + private async setActivitiesById( + activities: Activity[], + id: string + ): Promise { + await this.#storage.set(id, { + [STORAGE_KEY]: activities, + }); + } + private async getActivitiesById(id: string): Promise { + const allStates: Record = await this.#storage.get(id); + if (!allStates || !allStates[STORAGE_KEY]) return []; + return allStates[STORAGE_KEY]; + } +} +export default ActivityState; diff --git a/packages/extension-vite/src/libs/activity-state/types.ts b/packages/extension-vite/src/libs/activity-state/types.ts new file mode 100644 index 000000000..125a96346 --- /dev/null +++ b/packages/extension-vite/src/libs/activity-state/types.ts @@ -0,0 +1,12 @@ +import { Activity } from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; + +export interface ActivityOptions { + address: string; + network: string; +} + +export type ActivityHandlerType = ( + _network: BaseNetwork, + _address: string +) => Promise; diff --git a/packages/extension-vite/src/libs/activity-state/wrap-activity-handler.ts b/packages/extension-vite/src/libs/activity-state/wrap-activity-handler.ts new file mode 100644 index 000000000..41bb0062d --- /dev/null +++ b/packages/extension-vite/src/libs/activity-state/wrap-activity-handler.ts @@ -0,0 +1,31 @@ +import ActivityState from "."; +import { ActivityHandlerType } from "./types"; +const CACHE_TTL = 1000 * 60 * 5; // 5 mins +export default (activityHandler: ActivityHandlerType): ActivityHandlerType => { + const returnFunction: ActivityHandlerType = async (network, address) => { + const activityState = new ActivityState(); + const options = { + address: address, + network: network.name, + }; + const [activities, cacheTime] = await Promise.all([ + activityState.getAllActivities(options), + activityState.getCacheTime(options), + ]); + if (cacheTime + CACHE_TTL < new Date().getTime()) { + const liveActivities = await activityHandler(network, address); + if (!activities.length) { + await activityState.addActivities(liveActivities, options); + await activityState.setCacheTime(options); + return liveActivities; + } else { + await activityState.addActivities(liveActivities, options); + await activityState.setCacheTime(options); + return activityState.getAllActivities(options); + } + } else { + return activities; + } + }; + return returnFunction; +}; diff --git a/packages/extension-vite/src/libs/background/external/handle-persistent-events.ts b/packages/extension-vite/src/libs/background/external/handle-persistent-events.ts new file mode 100644 index 000000000..a242a687b --- /dev/null +++ b/packages/extension-vite/src/libs/background/external/handle-persistent-events.ts @@ -0,0 +1,53 @@ +import PersistentEvents from "@/libs/persistent-events"; +import Browser from "webextension-polyfill"; +import { sendToWindow } from "@/libs/messenger/extension"; +import { OnMessageResponse } from "@enkryptcom/types"; +import { EnkryptProviderEventMethods } from "@/types/provider"; +import type BackgroundHandler from ".."; + +async function handlePersistentEvents(this: BackgroundHandler) { + const persistentEvents = new PersistentEvents(); + const allPersistentEvents = await persistentEvents.getAllEvents(); + const tabs = Object.keys(allPersistentEvents).map((s) => parseInt(s)); + const persistentEventPromises: Promise[] = []; + tabs.forEach((tab) => { + const tabPromise = Browser.tabs + .get(tab) + .then(() => { + const eventPromises: Promise[] = []; + allPersistentEvents[tab].forEach((persistentEvent) => { + const promise = this.externalHandler(persistentEvent.event, { + savePersistentEvents: false, + }).then((newResponse) => { + if ( + !newResponse.error && + newResponse.result !== persistentEvent.response.result + ) { + return sendToWindow( + { + provider: persistentEvent.event.provider, + message: JSON.stringify({ + method: EnkryptProviderEventMethods.persistentEvents, + params: [ + JSON.parse(persistentEvent.event.message), + persistentEvent.response.result, + newResponse.result, + ], + }), + }, + tab + ); + } + }); + eventPromises.push(promise); + }); + return Promise.all(eventPromises); + }) + .catch(() => { + persistentEvents.deleteEvents(tab); + }); + persistentEventPromises.push(tabPromise as any); + }); + await Promise.all(persistentEventPromises); +} +export default handlePersistentEvents; diff --git a/packages/extension-vite/src/libs/background/external/index.ts b/packages/extension-vite/src/libs/background/external/index.ts new file mode 100644 index 000000000..1774a58d2 --- /dev/null +++ b/packages/extension-vite/src/libs/background/external/index.ts @@ -0,0 +1,2 @@ +import handlePersistentEvents from "./handle-persistent-events"; +export { handlePersistentEvents }; diff --git a/packages/extension-vite/src/libs/background/index.ts b/packages/extension-vite/src/libs/background/index.ts new file mode 100644 index 000000000..668c65cf1 --- /dev/null +++ b/packages/extension-vite/src/libs/background/index.ts @@ -0,0 +1,180 @@ +import { + InternalMethods, + InternalOnMessageResponse, + Message, +} from "@/types/messenger"; +import { RPCRequestType, OnMessageResponse } from "@enkryptcom/types"; +import { v4 as randomUUID } from "uuid"; +import { getCustomError } from "../error"; +import KeyRingBase from "../keyring/keyring"; +import { sendToWindow } from "@/libs/messenger/extension"; +import { ProviderName } from "@/types/provider"; +import Providers from "@/providers"; +import Browser from "webextension-polyfill"; +import TabInfo from "@/libs/utils/tab-info"; +import PersistentEvents from "@/libs/persistent-events"; +import DomainState from "@/libs/domain-state"; +import { TabProviderType, ProviderType, ExternalMessageOptions } from "./types"; +import { getProviderNetworkByName } from "../utils/networks"; +import { + sign, + getEthereumPubKey, + ethereumDecrypt, + unlock, + changeNetwork, + sendToTab, + newAccount, + lock, +} from "./internal"; +import { handlePersistentEvents } from "./external"; +import SettingsState from "../settings-state"; + +class BackgroundHandler { + #keyring: KeyRingBase; + #tabProviders: TabProviderType; + #providers: ProviderType; + #persistentEvents: PersistentEvents; + #domainState: DomainState; + #settingsState: SettingsState; + + constructor() { + this.#keyring = new KeyRingBase(); + this.#persistentEvents = new PersistentEvents(); + this.#domainState = new DomainState(); + this.#settingsState = new SettingsState(); + this.#tabProviders = { + [ProviderName.ethereum]: {}, + [ProviderName.polkadot]: {}, + [ProviderName.bitcoin]: {}, + [ProviderName.kadena]: {}, + [ProviderName.solana]: {}, + }; + this.#providers = Providers; + } + async init(): Promise { + await handlePersistentEvents.bind(this)(); + const enkryptSettings = await this.#settingsState.getEnkryptSettings(); + if (!enkryptSettings.installedTimestamp) { + await this.#settingsState.setEnkryptSettings({ + ...enkryptSettings, + ...{ + installedTimestamp: new Date().getTime(), + randomUserID: randomUUID(), + }, + }); + } else { + await this.#settingsState.setEnkryptSettings({ + ...enkryptSettings, + randomUserID: randomUUID(), + }); + } + } + async externalHandler( + msg: Message, + options: ExternalMessageOptions = { savePersistentEvents: true } + ): Promise { + const { method, params } = JSON.parse(msg.message); + const _provider = msg.provider; + const _tabid = msg.sender.tabId; + if (_provider === ProviderName.enkrypt) { + if ( + method === InternalMethods.newWindowInit || + method === InternalMethods.newWindowUnload + ) { + this.#persistentEvents.deleteEvents(_tabid); + return { + result: JSON.stringify(true), + }; + } else if (method === InternalMethods.getSettings) { + return this.#settingsState.getAllSettings().then((settings) => { + return { + result: JSON.stringify(settings), + }; + }); + } + return { + error: JSON.stringify(getCustomError("Enkrypt: not implemented")), + }; + } + const tabInfo = TabInfo(await Browser.tabs.get(_tabid)); + if (!this.#tabProviders[_provider][_tabid]) { + const toWindow = (message: string) => { + sendToWindow( + { + provider: _provider, + message, + }, + _tabid + ); + }; + this.#tabProviders[_provider][_tabid] = new this.#providers[_provider]( + toWindow + ); + const domainState = await this.#domainState.getStateByDomain( + tabInfo.domain + ); + if (domainState.selectedNetwork) { + const providerNetwork = await getProviderNetworkByName( + _provider, + domainState.selectedNetwork + ); + + if (providerNetwork) { + this.#tabProviders[_provider][_tabid].setRequestProvider( + providerNetwork + ); + } + } + } + const isPersistent = await this.#tabProviders[_provider][ + _tabid + ].isPersistentEvent({ method, params }); + return this.#tabProviders[_provider][_tabid] + .request({ + method, + params, + options: tabInfo, + }) + .then((response) => { + if (isPersistent && !response.error && options.savePersistentEvents) + return this.#persistentEvents + .addEvent(_tabid, msg, response) + .then(() => response); + return response; + }); + } + internalHandler(msg: Message): Promise { + const message = JSON.parse(msg.message) as RPCRequestType; + switch (message.method) { + case InternalMethods.sign: + return sign(this.#keyring, message); + case InternalMethods.getEthereumEncryptionPublicKey: + return getEthereumPubKey(this.#keyring, message); + case InternalMethods.ethereumDecrypt: + return ethereumDecrypt(this.#keyring, message); + case InternalMethods.unlock: + return unlock(this.#keyring, message); + case InternalMethods.lock: + return lock(this.#keyring); + case InternalMethods.changeNetwork: + return changeNetwork(msg, this.#tabProviders); + case InternalMethods.isLocked: + return Promise.resolve({ + result: JSON.stringify(this.#keyring.isLocked()), + }); + case InternalMethods.sendToTab: + return sendToTab(msg, this.#tabProviders); + case InternalMethods.getNewAccount: + case InternalMethods.saveNewAccount: + return newAccount(this.#keyring, message); + default: + return Promise.resolve({ + error: getCustomError( + `background: unknown method: ${message.method}` + ), + }); + } + } +} + +export default BackgroundHandler; diff --git a/packages/extension-vite/src/libs/background/internal/change-network.ts b/packages/extension-vite/src/libs/background/internal/change-network.ts new file mode 100644 index 000000000..dccf4920a --- /dev/null +++ b/packages/extension-vite/src/libs/background/internal/change-network.ts @@ -0,0 +1,38 @@ +import { getCustomError } from "@/libs/error"; +import { getNetworkByName } from "@/libs/utils/networks"; +import { BaseNetwork } from "@/types/base-network"; +import { + ActionSendMessage, + InternalOnMessageResponse, + Message, +} from "@/types/messenger"; +import { RPCRequestType } from "@enkryptcom/types"; +import { TabProviderType } from "../types"; + +const changeNetwork = async ( + msg: Message, + tabProviders: TabProviderType +): Promise => { + const message = JSON.parse(msg.message) as RPCRequestType; + if (!message.params || message.params.length < 1) + return Promise.resolve({ + error: getCustomError("background: invalid params for change network"), + }); + const networkName = message.params[0] as string; + const network = (await getNetworkByName(networkName)) as BaseNetwork; + const actionMsg = msg as any as ActionSendMessage; + if ( + actionMsg.provider && + actionMsg.tabId && + tabProviders[actionMsg.provider][actionMsg.tabId] + ) { + tabProviders[actionMsg.provider][actionMsg.tabId].setRequestProvider( + network + ); + } + return Promise.resolve({ + result: JSON.stringify(true), + }); +}; + +export default changeNetwork; diff --git a/packages/extension-vite/src/libs/background/internal/ethereum-decrypt.ts b/packages/extension-vite/src/libs/background/internal/ethereum-decrypt.ts new file mode 100644 index 000000000..ff7261961 --- /dev/null +++ b/packages/extension-vite/src/libs/background/internal/ethereum-decrypt.ts @@ -0,0 +1,30 @@ +import { getCustomError } from "@/libs/error"; +import KeyRingBase from "@/libs/keyring/keyring"; +import { InternalOnMessageResponse } from "@/types/messenger"; +import { EnkryptAccount, RPCRequestType } from "@enkryptcom/types"; + +const ethereumDecrypt = ( + keyring: KeyRingBase, + message: RPCRequestType +): Promise => { + if (!message.params || message.params.length < 2) + return Promise.resolve({ + error: getCustomError("background: invalid params for decrypt"), + }); + const encryptedMessage = message.params[0] as string; + const account = message.params[1] as EnkryptAccount; + return keyring + .ethereumDecrypt(encryptedMessage, account) + .then((msg) => { + return { + result: JSON.stringify(msg), + }; + }) + .catch((e) => { + return { + error: getCustomError(e.message), + }; + }); +}; + +export default ethereumDecrypt; diff --git a/packages/extension-vite/src/libs/background/internal/ethereum-pub-key.ts b/packages/extension-vite/src/libs/background/internal/ethereum-pub-key.ts new file mode 100644 index 000000000..4ec54b0b8 --- /dev/null +++ b/packages/extension-vite/src/libs/background/internal/ethereum-pub-key.ts @@ -0,0 +1,29 @@ +import { getCustomError } from "@/libs/error"; +import KeyRingBase from "@/libs/keyring/keyring"; +import { InternalOnMessageResponse } from "@/types/messenger"; +import { EnkryptAccount, RPCRequestType } from "@enkryptcom/types"; + +const getEthereumPubKey = ( + keyring: KeyRingBase, + message: RPCRequestType +): Promise => { + if (!message.params || message.params.length < 1) + return Promise.resolve({ + error: getCustomError("background: invalid params for public key"), + }); + const account = message.params[0] as EnkryptAccount; + return keyring + .getEthereumEncryptionPublicKey(account) + .then((pubkey) => { + return { + result: JSON.stringify(pubkey), + }; + }) + .catch((e) => { + return { + error: getCustomError(e.message), + }; + }); +}; + +export default getEthereumPubKey; diff --git a/packages/extension-vite/src/libs/background/internal/index.ts b/packages/extension-vite/src/libs/background/internal/index.ts new file mode 100644 index 000000000..7eaa58cf6 --- /dev/null +++ b/packages/extension-vite/src/libs/background/internal/index.ts @@ -0,0 +1,18 @@ +import sign from "./sign"; +import getEthereumPubKey from "./ethereum-pub-key"; +import ethereumDecrypt from "./ethereum-decrypt"; +import unlock from "./unlock"; +import changeNetwork from "./change-network"; +import sendToTab from "./send-to-tab"; +import newAccount from "./new-account"; +import lock from "./lock"; +export { + sign, + getEthereumPubKey, + ethereumDecrypt, + unlock, + changeNetwork, + sendToTab, + newAccount, + lock, +}; diff --git a/packages/extension-vite/src/libs/background/internal/lock.ts b/packages/extension-vite/src/libs/background/internal/lock.ts new file mode 100644 index 000000000..8d34fcbd3 --- /dev/null +++ b/packages/extension-vite/src/libs/background/internal/lock.ts @@ -0,0 +1,11 @@ +import KeyRingBase from "@/libs/keyring/keyring"; +import { InternalOnMessageResponse } from "@/types/messenger"; + +const lock = (keyring: KeyRingBase): Promise => { + keyring.lock(); + return Promise.resolve({ + result: JSON.stringify(true), + }); +}; + +export default lock; diff --git a/packages/extension-vite/src/libs/background/internal/new-account.ts b/packages/extension-vite/src/libs/background/internal/new-account.ts new file mode 100644 index 000000000..91638812c --- /dev/null +++ b/packages/extension-vite/src/libs/background/internal/new-account.ts @@ -0,0 +1,32 @@ +import { getCustomError } from "@/libs/error"; +import KeyRingBase from "@/libs/keyring/keyring"; +import { InternalMethods, InternalOnMessageResponse } from "@/types/messenger"; +import { KeyRecordAdd, RPCRequestType } from "@enkryptcom/types"; + +const newAccount = ( + keyring: KeyRingBase, + message: RPCRequestType +): Promise => { + if (!message.params || message.params.length < 1) + return Promise.resolve({ + error: getCustomError("background: invalid params for new account"), + }); + const method = + message.method === InternalMethods.getNewAccount + ? "getNewAccount" + : "saveNewAccount"; + const keyrecord = message.params[0] as KeyRecordAdd; + return keyring[method](keyrecord) + .then((res) => { + return { + result: JSON.stringify(res), + }; + }) + .catch((e) => { + return { + error: getCustomError(e.message), + }; + }); +}; + +export default newAccount; diff --git a/packages/extension-vite/src/libs/background/internal/send-to-tab.ts b/packages/extension-vite/src/libs/background/internal/send-to-tab.ts new file mode 100644 index 000000000..57638bc1d --- /dev/null +++ b/packages/extension-vite/src/libs/background/internal/send-to-tab.ts @@ -0,0 +1,33 @@ +import { + ActionSendMessage, + InternalOnMessageResponse, + Message, +} from "@/types/messenger"; +import { RPCRequestType } from "@enkryptcom/types"; +import { TabProviderType } from "../types"; + +const sendToTab = ( + msg: Message, + tabProviders: TabProviderType +): Promise => { + const message = JSON.parse(msg.message) as RPCRequestType; + const actionMsg = msg as any as ActionSendMessage; + if ( + actionMsg.provider && + actionMsg.tabId && + tabProviders[actionMsg.provider][actionMsg.tabId] + ) { + tabProviders[actionMsg.provider][actionMsg.tabId].sendNotification( + JSON.stringify(message.params?.length ? message.params[0] : {}) + ); + return Promise.resolve({ + result: JSON.stringify(true), + }); + } else { + return Promise.resolve({ + result: JSON.stringify(false), + }); + } +}; + +export default sendToTab; diff --git a/packages/extension-vite/src/libs/background/internal/sign.ts b/packages/extension-vite/src/libs/background/internal/sign.ts new file mode 100644 index 000000000..e5f3a843a --- /dev/null +++ b/packages/extension-vite/src/libs/background/internal/sign.ts @@ -0,0 +1,30 @@ +import { getCustomError } from "@/libs/error"; +import KeyRingBase from "@/libs/keyring/keyring"; +import { InternalOnMessageResponse } from "@/types/messenger"; +import { EnkryptAccount, RPCRequestType } from "@enkryptcom/types"; + +const sign = ( + keyring: KeyRingBase, + message: RPCRequestType +): Promise => { + if (!message.params || message.params.length < 2) + return Promise.resolve({ + error: getCustomError("background: invalid params for signing"), + }); + const msgHash = message.params[0] as `0x${string}`; + const account = message.params[1] as EnkryptAccount; + return keyring + .sign(msgHash, account) + .then((sig) => { + return { + result: JSON.stringify(sig), + }; + }) + .catch((e) => { + return { + error: getCustomError(e.message), + }; + }); +}; + +export default sign; diff --git a/packages/extension-vite/src/libs/background/internal/unlock.ts b/packages/extension-vite/src/libs/background/internal/unlock.ts new file mode 100644 index 000000000..2ab5b4183 --- /dev/null +++ b/packages/extension-vite/src/libs/background/internal/unlock.ts @@ -0,0 +1,34 @@ +import { getCustomError } from "@/libs/error"; +import KeyRingBase from "@/libs/keyring/keyring"; +import { InternalOnMessageResponse } from "@/types/messenger"; +import { RPCRequestType } from "@enkryptcom/types"; +import { initAccounts } from "@/libs/utils/initialize-wallet"; + +const unlock = ( + keyring: KeyRingBase, + message: RPCRequestType +): Promise => { + if (!message.params || message.params.length < 1) + return Promise.resolve({ + error: getCustomError("background: invalid params for unlocking"), + }); + const password = message.params[0] as string; + const initNewAccounts = (message.params[1] as boolean) ?? false; + return keyring + .unlock(password) + .then(async () => { + if (initNewAccounts) { + await initAccounts(keyring); + } + return { + result: JSON.stringify(true), + }; + }) + .catch((e) => { + return { + error: getCustomError(e.message), + }; + }); +}; + +export default unlock; diff --git a/packages/extension-vite/src/libs/background/types.ts b/packages/extension-vite/src/libs/background/types.ts new file mode 100644 index 000000000..49ddf0487 --- /dev/null +++ b/packages/extension-vite/src/libs/background/types.ts @@ -0,0 +1,27 @@ +import BitcoinProvider from "@/providers/bitcoin"; +import type EthereumProvider from "@/providers/ethereum"; +import type PolkadotProvider from "@/providers/polkadot"; +import type KadenaProvider from "@/providers/kadena"; +import SolanaProvider from "@/providers/solana"; + +export interface TabProviderType { + [key: string]: Record< + number, + | EthereumProvider + | PolkadotProvider + | BitcoinProvider + | KadenaProvider + | SolanaProvider + >; +} +export interface ProviderType { + [key: string]: + | typeof EthereumProvider + | typeof PolkadotProvider + | typeof BitcoinProvider + | typeof KadenaProvider + | typeof SolanaProvider; +} +export interface ExternalMessageOptions { + savePersistentEvents: boolean; +} diff --git a/packages/extension-vite/src/libs/cache-fetch/index.ts b/packages/extension-vite/src/libs/cache-fetch/index.ts new file mode 100644 index 000000000..a553beba2 --- /dev/null +++ b/packages/extension-vite/src/libs/cache-fetch/index.ts @@ -0,0 +1,57 @@ +import { RequestOptions, StoredData } from "./types"; +import BrowserStorage from "../common/browser-storage"; +import { InternalStorageNamespace } from "@/types/provider"; +import { keccak256 } from "web3-utils"; +const STORAGE_TTL = 1000 * 60 * 60 * 24; +const TIMESTAMP = "timestamp"; +const cacheFetch = async ( + options: RequestOptions, + ttl: number = STORAGE_TTL +) => { + const storage = new BrowserStorage(InternalStorageNamespace.cacheFetch); + const storagetimestamp = await storage.get(TIMESTAMP); + if ( + storagetimestamp && + storagetimestamp[TIMESTAMP] + STORAGE_TTL < new Date().getTime() + ) { + await storage.clear(); + await storage.set(TIMESTAMP, { [TIMESTAMP]: new Date().getTime() }); + } else if (!storagetimestamp) { + await storage.set(TIMESTAMP, { [TIMESTAMP]: new Date().getTime() }); + } + const hash = keccak256(JSON.stringify(options)); + const cached: StoredData = await storage.get(hash); + + if (cached && cached.timestamp + ttl > new Date().getTime()) { + return JSON.parse(cached.data); + } else { + const fetchOptions: { + method?: string; + headers?: Record; + body?: string; + } = {}; + if (options.post) { + fetchOptions.method = "POST"; + fetchOptions.body = JSON.stringify(options.post); + } + if (options.headers) { + fetchOptions.headers = options.headers; + } + return fetch(options.url, fetchOptions) + .then((res) => res.json()) + .then((json) => { + const jsondata = options.postProcess ? options.postProcess(json) : json; + const jsonstring = JSON.stringify(jsondata); + if (!jsonstring.includes("error")) { + const store: StoredData = { + timestamp: new Date().getTime(), + data: jsonstring, + }; + return storage.set(hash, store).then(() => jsondata); + } + return jsondata; + }); + } +}; + +export default cacheFetch; diff --git a/packages/extension-vite/src/libs/cache-fetch/types.ts b/packages/extension-vite/src/libs/cache-fetch/types.ts new file mode 100644 index 000000000..574a4eb84 --- /dev/null +++ b/packages/extension-vite/src/libs/cache-fetch/types.ts @@ -0,0 +1,10 @@ +export interface RequestOptions { + url: string; + post?: Record; + headers?: Record; + postProcess?: (data: any) => any; +} +export interface StoredData { + timestamp: number; + data: string; +} diff --git a/packages/extension-vite/src/libs/common/browser-storage.ts b/packages/extension-vite/src/libs/common/browser-storage.ts new file mode 100644 index 000000000..7d94cb228 --- /dev/null +++ b/packages/extension-vite/src/libs/common/browser-storage.ts @@ -0,0 +1,10 @@ +import Storage from "@enkryptcom/storage"; +import { BrowserStorageArea } from "@enkryptcom/types"; + +class BrowserStorage extends Storage { + constructor(namespace: string, storage?: BrowserStorageArea) { + super(namespace, { storage }); + } +} + +export default BrowserStorage; diff --git a/packages/extension-vite/src/libs/custom-networks-state/index.ts b/packages/extension-vite/src/libs/custom-networks-state/index.ts new file mode 100644 index 000000000..d0c183e52 --- /dev/null +++ b/packages/extension-vite/src/libs/custom-networks-state/index.ts @@ -0,0 +1,84 @@ +import { CustomEvmNetworkOptions } from "@/providers/ethereum/types/custom-evm-network"; +import { InternalStorageNamespace } from "@/types/provider"; +import BrowserStorage from "../common/browser-storage"; +import { IState, StorageKeys } from "./types"; + +export default class CustomNetworksState { + private storage: BrowserStorage; + + constructor() { + this.storage = new BrowserStorage( + InternalStorageNamespace.customNetworksState + ); + } + + async addCustomNetwork(options: CustomEvmNetworkOptions): Promise { + const state: IState = await this.storage.get( + StorageKeys.customNetworksInfo + ); + options.name = `custom-${options.name}`; + if (state && state.customEvmNetworks) { + const networkExists = state.customEvmNetworks.find( + (net) => net.chainID === options.chainID + ); + + if (networkExists) { + return networkExists.name; + } + state.customEvmNetworks.push(options); + await this.storage.set(StorageKeys.customNetworksInfo, state); + } else { + const newState: IState = { + customEvmNetworks: [options], + }; + await this.storage.set(StorageKeys.customNetworksInfo, newState); + } + return options.name; + } + + async getCustomEVMNetwork( + chainId: `0x${string}` + ): Promise { + const state: IState = await this.storage.get( + StorageKeys.customNetworksInfo + ); + + if (state && state.customEvmNetworks) { + const networkOptions = state.customEvmNetworks.find( + (option) => option.chainID === chainId + ); + + if (networkOptions) { + return networkOptions; + } + } + + return null; + } + + async getAllCustomEVMNetworks(): Promise { + const state: IState = await this.storage.get( + StorageKeys.customNetworksInfo + ); + + if (state && state.customEvmNetworks) { + return state.customEvmNetworks; + } + + return []; + } + + async deleteEVMNetwork(chainID: string): Promise { + const state: IState = await this.storage.get( + StorageKeys.customNetworksInfo + ); + + if (state && state.customEvmNetworks) { + state.customEvmNetworks = state.customEvmNetworks.filter( + (net) => net.chainID !== chainID + ); + + await this.storage.set(StorageKeys.customNetworksInfo, state); + } + } +} diff --git a/packages/extension-vite/src/libs/custom-networks-state/types.ts b/packages/extension-vite/src/libs/custom-networks-state/types.ts new file mode 100644 index 000000000..d3003d697 --- /dev/null +++ b/packages/extension-vite/src/libs/custom-networks-state/types.ts @@ -0,0 +1,9 @@ +import { CustomEvmNetworkOptions } from "@/providers/ethereum/types/custom-evm-network"; + +export enum StorageKeys { + customNetworksInfo = "custom-networks-info", +} + +export interface IState { + customEvmNetworks: CustomEvmNetworkOptions[]; +} diff --git a/packages/extension-vite/src/libs/dapp-list/assets/mew.svg b/packages/extension-vite/src/libs/dapp-list/assets/mew.svg new file mode 100644 index 000000000..67449a063 --- /dev/null +++ b/packages/extension-vite/src/libs/dapp-list/assets/mew.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/extension-vite/src/libs/dapp-list/assets/portal.svg b/packages/extension-vite/src/libs/dapp-list/assets/portal.svg new file mode 100644 index 000000000..583da2508 --- /dev/null +++ b/packages/extension-vite/src/libs/dapp-list/assets/portal.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/packages/extension-vite/src/libs/dapp-list/index.ts b/packages/extension-vite/src/libs/dapp-list/index.ts new file mode 100644 index 000000000..5c008afdd --- /dev/null +++ b/packages/extension-vite/src/libs/dapp-list/index.ts @@ -0,0 +1,106 @@ +import { NetworkNames } from "@enkryptcom/types"; + +const lists: Partial> = { + [NetworkNames.Ethereum]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/eth.json", + [NetworkNames.Binance]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/bsc.json", + [NetworkNames.Matic]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/matic.json", + [NetworkNames.EthereumClassic]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/etc.json", + [NetworkNames.Kusama]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/ksm.json", + [NetworkNames.Polkadot]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/dot.json", + [NetworkNames.Acala]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/aca.json", + [NetworkNames.Karura]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/kar.json", + [NetworkNames.Moonbeam]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/glmr.json", + [NetworkNames.Moonriver]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/movr.json", + [NetworkNames.Astar]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/astr.json", + [NetworkNames.AstarEVM]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/astr.json", + [NetworkNames.Shiden]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/sdn.json", + [NetworkNames.ShidenEVM]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/sdn.json", + [NetworkNames.Okc]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/okc.json", + [NetworkNames.Optimism]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/op.json", + [NetworkNames.Canto]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/canto.json", + [NetworkNames.Bifrost]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/bifrost.json", + [NetworkNames.BifrostKusama]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/bifrost.json", + [NetworkNames.Edgeware]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/edg.json", + [NetworkNames.ZkSyncGoerli]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/zksyncgoerli.json", + [NetworkNames.ZkSync]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/zksync.json", + [NetworkNames.Rootstock]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/rootstock.json", + [NetworkNames.TomoChain]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/tomo.json", + [NetworkNames.Arbitrum]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/arb.json", + [NetworkNames.Avalanche]: + "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]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/base.json", + [NetworkNames.Celo]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/celo.json", + [NetworkNames.MaticZK]: + "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]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/nova.json", + [NetworkNames.Forma]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/forma.json", + [NetworkNames.Godwoken]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/godwoken.json", + [NetworkNames.ImmutableZkevm]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/imx.json", + [NetworkNames.ZChains]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/zchains.json", + [NetworkNames.MantaPacific]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/manta.json", + [NetworkNames.Mode]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/mode.json", + [NetworkNames.OpBNB]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/opBNB.json", + [NetworkNames.Palm]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/palm.json", + [NetworkNames.ProofOfPlayApex]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/popApex.json", + [NetworkNames.Scroll]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/scroll.json", + [NetworkNames.Rari]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/rari.json", + [NetworkNames.Solana]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/sol.json", + [NetworkNames.Linea]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/linea.json", + [NetworkNames.XLayer]: + "https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/dapps/xlayer.json", +}; + +export default lists; diff --git a/packages/extension-vite/src/libs/domain-state/index.ts b/packages/extension-vite/src/libs/domain-state/index.ts new file mode 100644 index 000000000..0977a7d9a --- /dev/null +++ b/packages/extension-vite/src/libs/domain-state/index.ts @@ -0,0 +1,100 @@ +import { + InternalStorageNamespace, + ProviderRequestOptions, +} from "@/types/provider"; +import Browser from "webextension-polyfill"; +import BrowserStorage from "../common/browser-storage"; +import tabInfo from "../utils/tab-info"; +import { IState, StorageKeys } from "./types"; +class DomainState { + #storage: BrowserStorage; + constructor() { + this.#storage = new BrowserStorage(InternalStorageNamespace.domainState); + } + async setSelectedNetwork(name: string): Promise { + const state = await this.getState(); + state.selectedNetwork = name; + await this.setState(state); + } + async getSelectedNetWork(): Promise { + const state = await this.getState(); + if (state.selectedNetwork) return state.selectedNetwork; + return null; + } + async setSelectedSubNetwork(id: string): Promise { + const state = await this.getState(); + state.selectedSubNetworkId = id; + await this.setState(state); + } + async getSelectedSubNetWork(): Promise { + const state = await this.getState(); + if (state.selectedSubNetworkId) return state.selectedSubNetworkId; + return null; + } + async setSelectedAddress(address: string): Promise { + const state = await this.getState(); + state.selectedAddress = address; + await this.setState(state); + } + async getSelectedAddress(): Promise { + const state = await this.getState(); + if (state.selectedAddress) return state.selectedAddress; + return null; + } + async deleteState(): Promise { + const allStates = await this.getAllStates(); + const domain = await this.getCurrentDomain(); + if (allStates[domain]) { + delete allStates[domain]; + await this.#storage.set(StorageKeys.providerInfo, allStates); + } + } + async deleteStateByDomain(domain: string): Promise { + const allStates = await this.getAllStates(); + if (allStates[domain]) { + delete allStates[domain]; + await this.#storage.set(StorageKeys.providerInfo, allStates); + } + } + async deleteAllStates(): Promise { + return await this.#storage.remove(StorageKeys.providerInfo); + } + async getCurrentTabId(): Promise { + return Browser.tabs + .query({ active: true, currentWindow: true }) + .then((tabs) => tabs[0].id as number); + } + async getCurrentTabInfo(): Promise { + return Browser.tabs + .query({ active: true, currentWindow: true }) + .then((tabs) => tabInfo(tabs[0])); + } + async getCurrentDomain(): Promise { + return this.getCurrentTabInfo().then((info) => info.domain); + } + async setState(state: IState): Promise { + const domain = await this.getCurrentDomain(); + const allStates = await this.getAllStates(); + allStates[domain] = state; + await this.#storage.set(StorageKeys.providerInfo, allStates); + } + async getStateByDomain(domain: string): Promise { + const allStates: Record = await this.getAllStates(); + if (!allStates[domain]) return {}; + else return allStates[domain]; + } + async getState(): Promise { + const allStates: Record = await this.getAllStates(); + const domain = await this.getCurrentDomain(); + if (!allStates[domain]) return {}; + else return allStates[domain]; + } + async getAllStates(): Promise> { + const allStates: Record = await this.#storage.get( + StorageKeys.providerInfo + ); + if (!allStates) return {}; + return allStates; + } +} +export default DomainState; diff --git a/packages/extension-vite/src/libs/domain-state/types.ts b/packages/extension-vite/src/libs/domain-state/types.ts new file mode 100644 index 000000000..f9e9cceed --- /dev/null +++ b/packages/extension-vite/src/libs/domain-state/types.ts @@ -0,0 +1,8 @@ +export enum StorageKeys { + providerInfo = "provider-info", +} +export interface IState { + selectedNetwork?: string; + selectedSubNetworkId?: string; + selectedAddress?: string; +} diff --git a/packages/extension-vite/src/libs/error/index.ts b/packages/extension-vite/src/libs/error/index.ts new file mode 100644 index 000000000..191f0c731 --- /dev/null +++ b/packages/extension-vite/src/libs/error/index.ts @@ -0,0 +1,49 @@ +import { ErrorCodes, JSONError } from "@/providers/ethereum/types"; +import { ProviderError } from "@enkryptcom/types"; +import { assert } from "chai"; +const errors: Record = { + 4001: { + name: "User Rejected Request", + description: "The user rejected the request.", + }, + 4100: { + name: "Unauthorized", + description: + " The requested method and/or account has not been authorized by the user.", + }, + 4200: { + name: "Unsupported Method", + description: "The Provider does not support the requested method.", + }, + 4900: { + name: "Disconnected", + description: "The Provider is disconnected from all chains.", + }, + 4901: { + name: "Chain Disconnected", + description: "The Provider is not connected to the requested chain.", + }, +}; + +export const getCustomError = (msg: string, code = 8546): ProviderError => { + const ret: ProviderError = { + code, + message: `${code}: ${msg}`, + }; + return ret; +}; +export const getError = (code: ErrorCodes, data?: unknown): ProviderError => { + assert(errors[code], "error code is invalid"); + const ret: ProviderError = { + code, + message: `${errors[code].name}: ${errors[code].description}`, + }; + if (data) ret.data = data; + return ret; +}; + +export const getJSONError = (code: ErrorCodes, data?: unknown): JSONError => { + return { + error: getError(code, data), + }; +}; diff --git a/packages/extension-vite/src/libs/json-tree-view/JsonTreeView.vue b/packages/extension-vite/src/libs/json-tree-view/JsonTreeView.vue new file mode 100644 index 000000000..5236e3c8b --- /dev/null +++ b/packages/extension-vite/src/libs/json-tree-view/JsonTreeView.vue @@ -0,0 +1,147 @@ + + + + + diff --git a/packages/extension-vite/src/libs/json-tree-view/JsonTreeViewItem.vue b/packages/extension-vite/src/libs/json-tree-view/JsonTreeViewItem.vue new file mode 100644 index 000000000..56681d10e --- /dev/null +++ b/packages/extension-vite/src/libs/json-tree-view/JsonTreeViewItem.vue @@ -0,0 +1,194 @@ + + + + + diff --git a/packages/extension-vite/src/libs/json-tree-view/index.ts b/packages/extension-vite/src/libs/json-tree-view/index.ts new file mode 100644 index 000000000..020452fdd --- /dev/null +++ b/packages/extension-vite/src/libs/json-tree-view/index.ts @@ -0,0 +1,4 @@ +import JsonTreeView from "./JsonTreeView.vue"; +import JsonTreeViewItem from "./JsonTreeViewItem.vue"; + +export { JsonTreeView, JsonTreeViewItem }; diff --git a/packages/extension-vite/src/libs/json-tree-view/types.ts b/packages/extension-vite/src/libs/json-tree-view/types.ts new file mode 100644 index 000000000..11bba9cd6 --- /dev/null +++ b/packages/extension-vite/src/libs/json-tree-view/types.ts @@ -0,0 +1,32 @@ +export interface SelectedData { + key: string; + value: string; + path: string; +} +export interface Data { + [key: string]: string; +} + +export enum ItemType { + OBJECT, + ARRAY, + VALUE, +} + +export type ValueTypes = + | unknown + | string + | number + | bigint + | boolean + | undefined; + +export type ItemData = { + key: string; + type: ItemType; + path: string; + depth: number; + length?: number; + children?: ItemData[]; + value?: ValueTypes; +}; diff --git a/packages/extension-vite/src/libs/keyring/keyring.ts b/packages/extension-vite/src/libs/keyring/keyring.ts new file mode 100644 index 000000000..4a251b925 --- /dev/null +++ b/packages/extension-vite/src/libs/keyring/keyring.ts @@ -0,0 +1,93 @@ +import KeyRing from "@enkryptcom/keyring"; +import { InternalStorageNamespace } from "@/types/provider"; +import BrowserStorage from "../common/browser-storage"; +import { + EnkryptAccount, + HWWalletAdd, + KeyPairAdd, + KeyRecordAdd, + SignerType, + SignOptions, + WalletType, +} from "@enkryptcom/types"; +export class KeyRingBase { + #keyring: KeyRing; + constructor() { + const browserStorage = new BrowserStorage(InternalStorageNamespace.keyring); + this.#keyring = new KeyRing(browserStorage); + } + init(mnemonic: string, password: string): Promise { + return this.#keyring.init(password, { mnemonic }); + } + async reset(): Promise { + const resetPromises = Object.values(InternalStorageNamespace).map((name) => + new BrowserStorage(name).clear() + ); + await Promise.all(resetPromises); + } + getNewAccount(options: { + basePath: string; + signerType: SignerType; + }): Promise { + return this.#keyring.createKey({ + name: "", + basePath: options.basePath, + signerType: options.signerType, + walletType: WalletType.mnemonic, + }); + } + saveNewAccount(options: KeyRecordAdd): Promise { + return this.#keyring.createAndSaveKey(options); + } + sign( + hexMessage: `0x${string}`, + options: SignOptions + ): Promise<`0x${string}`> { + return this.#keyring + .sign(hexMessage, options) + .then((hex: string) => hex as `0x${string}`); + } + getEthereumEncryptionPublicKey(options: SignOptions): Promise { + return this.#keyring.getEthereumEncryptionPublicKey(options); + } + ethereumDecrypt( + encryptedMessage: string, + options: SignOptions + ): Promise { + return this.#keyring.ethereumDecrypt(encryptedMessage, options); + } + getKeysArray(): Promise { + return this.#keyring.getKeysArray(); + } + getKeysObject(): Promise<{ [key: string]: EnkryptAccount }> { + return this.#keyring.getKeysObject(); + } + addHWAccount(account: HWWalletAdd): Promise { + return this.#keyring.addHWAccount(account); + } + addKeyPair(account: KeyPairAdd, password: string): Promise { + return this.#keyring.addKeyPair(account, password); + } + isLocked(): boolean { + return this.#keyring.isLocked(); + } + unlock(password: string): Promise { + return this.#keyring.unlockMnemonic(password); + } + lock(): void { + return this.#keyring.lock(); + } + getMnemonic(password: string): Promise { + return this.#keyring.getMnemonic(password); + } + isInitialized(): Promise { + return this.#keyring.isInitialized(); + } + renameAccount(address: string, newName: string): Promise { + return this.#keyring.renameAccount(address, newName); + } + deleteAccount(address: string): Promise { + return this.#keyring.deleteAccount(address); + } +} +export default KeyRingBase; diff --git a/packages/extension-vite/src/libs/keyring/public-keyring.ts b/packages/extension-vite/src/libs/keyring/public-keyring.ts new file mode 100644 index 000000000..210b1d518 --- /dev/null +++ b/packages/extension-vite/src/libs/keyring/public-keyring.ts @@ -0,0 +1,139 @@ +import { + SignerType, + Errors, + WalletType, + EnkryptAccount, +} from "@enkryptcom/types"; +import { assert } from "chai"; +import { KeyRingBase } from "./keyring"; +class PublicKeyRing { + #keyring: KeyRingBase; + constructor() { + this.#keyring = new KeyRingBase(); + } + private async getKeysObject(): Promise<{ [key: string]: EnkryptAccount }> { + const allKeys = await this.#keyring.getKeysObject(); + if (process.env.IS_DEV) { + allKeys["0x99999990d598b918799f38163204bbc30611b6b6"] = { + address: "0x99999990d598b918799f38163204bbc30611b6b6", + basePath: "m/44'/60'/1'/0", + name: "fake account #1", + pathIndex: 0, + publicKey: "0x0", + signerType: SignerType.secp256k1, + walletType: WalletType.mnemonic, + isHardware: false, + }; + allKeys["0xb1ea5a3e5ea7fa1834d48058ecda26d8c59e8251"] = { + address: "0xb1ea5a3e5ea7fa1834d48058ecda26d8c59e8251", //optimism nfts + basePath: "m/44'/60'/2'/0", + name: "fake account #2", + pathIndex: 0, + publicKey: "0x0", + signerType: SignerType.secp256k1, + walletType: WalletType.mnemonic, + isHardware: false, + }; + allKeys["0xe5dc07bdcdb8c98850050c7f67de7e164b1ea391"] = { + address: "0xe5dc07bdcdb8c98850050c7f67de7e164b1ea391", + basePath: "m/44'/60'/1'/1", + name: "fake ledger account #3", + pathIndex: 0, + publicKey: "0x0", + signerType: SignerType.secp256k1, + walletType: WalletType.ledger, + isHardware: true, + }; + allKeys["5E56EZk6jmpq1q3Har3Ms99D9TLN9ra2inFh7Q1Hj6GpUx6D"] = { + address: "5E56EZk6jmpq1q3Har3Ms99D9TLN9ra2inFh7Q1Hj6GpUx6D", + basePath: "//", + name: "fake ledger account #2", + pathIndex: 0, + publicKey: "0x0", + signerType: SignerType.sr25519, + walletType: WalletType.ledger, + isHardware: true, + }; + allKeys["5E56EZk6jmpq1q3Har3Ms99D9TLN9ra2inFh7Q1Hj6GpUx6D"] = { + address: "5CFnoCsP3pDK2thhSqYPwKELJFLQ1hBodqzSUypexyh7eHkB", + basePath: "//", + name: "fake account #4", + pathIndex: 0, + publicKey: "0x0", + signerType: SignerType.sr25519, + walletType: WalletType.mnemonic, + isHardware: false, + }; + allKeys[ + "bc1puzz9tmxawd7zdd7klfgtywrgpma3u22fz5ecxhucd4j8tygqe5ms2vdd9y" + ] = { + address: + "bc1puzz9tmxawd7zdd7klfgtywrgpma3u22fz5ecxhucd4j8tygqe5ms2vdd9y", + basePath: "m/49'/2'/0'/1", + name: "fake ltc account #4", + pathIndex: 0, + publicKey: "0x0", + signerType: SignerType.secp256k1btc, + walletType: WalletType.mnemonic, + isHardware: false, + }; + allKeys["77hREDDaAiimedtD9bR1JDMgYLW3AA5yPvD91pvrueRp"] = { + address: "77hREDDaAiimedtD9bR1JDMgYLW3AA5yPvD91pvrueRp", + basePath: "m/44'/501'/0'/1", + name: "fake sol acc 1", + pathIndex: 0, + publicKey: "0x0", + signerType: SignerType.ed25519sol, + walletType: WalletType.mnemonic, + isHardware: false, + }; + allKeys["tQvduDby4rvC6VU4rSirhVWuRYxbJz3rvUrVMkUWsZP"] = { + address: "tQvduDby4rvC6VU4rSirhVWuRYxbJz3rvUrVMkUWsZP", + basePath: "m/44'/501'/0'/1", + name: "fake sol acc 2", + pathIndex: 0, + publicKey: "0x0", + signerType: SignerType.ed25519sol, + walletType: WalletType.mnemonic, + isHardware: false, + }; + } + return allKeys; + } + async getAccounts(types?: SignerType[]): Promise { + return this.getKeysObject().then((keysObject) => { + const records = Object.values(keysObject); + return types + ? records.filter((r) => types.includes(r.signerType)) + : records; + }); + } + async getAccount(address: string): Promise { + const allKeys = await this.getKeysObject(); + assert(allKeys[address], Errors.KeyringErrors.AddressDoesntExists); + return allKeys[address]; + } + isLocked(): boolean { + return this.#keyring.isLocked(); + } + isInitialized(): Promise { + return this.#keyring.isInitialized(); + } + async accountAlreadyAdded(newAddress: string): Promise { + newAddress = newAddress.toLowerCase(); + + const allAccounts = await this.getAccounts(); + + let alreadyExists = false; + + for (const account of allAccounts) { + if (account.address.toLowerCase() === newAddress) { + alreadyExists = true; + break; + } + } + + return alreadyExists; + } +} +export default PublicKeyRing; diff --git a/packages/extension-vite/src/libs/market-data/ethvm.ts b/packages/extension-vite/src/libs/market-data/ethvm.ts new file mode 100644 index 000000000..c81c335ae --- /dev/null +++ b/packages/extension-vite/src/libs/market-data/ethvm.ts @@ -0,0 +1,84 @@ +import cacheFetch from "../cache-fetch"; +import { + CoinGeckoToken, + CoinGeckoTokenMarket, + CoingeckPlatforms, +} from "./types"; + +interface getCoinGeckoTokenInfoAllType { + data: { + getCoinGeckoTokenInfoAll: { + id: string; + symbol: string; + name: string; + platforms: { + platform: string; + address: string; + }[]; + }[]; + }; +} +const ETHVM_BASE = `https://api-v3.ethvm.dev`; + +const ethvmPost = (requestData: string): Promise => { + return cacheFetch( + { + url: ETHVM_BASE, + post: JSON.parse(requestData), + headers: { + "Content-Type": "application/json", + }, + }, + 10 * 60 * 1000 + ); +}; + +export const getAllPlatformData = (): Promise => { + return ethvmPost( + '{"operationName":null,"variables":{},"query":"{\\n getCoinGeckoTokenInfoAll {\\n id\\n symbol\\n name\\n platforms {\\n platform\\n address\\n }\\n }\\n}\\n"}' + ).then((json: getCoinGeckoTokenInfoAllType) => { + const retResponse: CoinGeckoToken[] = []; + json.data.getCoinGeckoTokenInfoAll.forEach((item) => { + const { id, name, symbol, platforms } = item; + const cgPlatforms: CoingeckPlatforms = {}; + platforms.forEach((p) => { + cgPlatforms[p.platform] = p.address; + }); + const token: CoinGeckoToken = { + id, + name, + symbol, + platforms: cgPlatforms, + }; + retResponse.push(token); + }); + return retResponse; + }); +}; + +export const getUSDPriceById = (id: string): Promise => { + return ethvmPost( + '{"operationName":null,"variables":{},"query":"{\\n getCoinGeckoTokenMarketDataByIds(coinGeckoTokenIds: [\\"' + + id + + '\\"]) {\\n current_price\\n }\\n}\\n"}' + ) + .then((json) => { + return json.data.getCoinGeckoTokenMarketDataByIds[0] + ? json.data.getCoinGeckoTokenMarketDataByIds[0].current_price.toString() + : null; + }) + .catch(() => null); +}; + +export const getMarketInfoByIDs = ( + ids: string[] +): Promise> => { + const params = ids.map((i) => '\\"' + i + '\\"').join(", "); + return ethvmPost( + '{"operationName":null,"variables":{},"query":"{\\n getCoinGeckoTokenMarketDataByIds(coinGeckoTokenIds: [' + + params + + ']) {\\n id\\n symbol\\n name\\n image\\n market_cap\\n market_cap_rank\\n high_24h\\n low_24h\\n price_change_24h\\n price_change_percentage_24h\\n sparkline_in_7d {\\n price\\n }\\n price_change_percentage_7d_in_currency\\n current_price\\n }\\n}\\n"}' + ).then((json) => { + return json.data.getCoinGeckoTokenMarketDataByIds as CoinGeckoTokenMarket[]; + }); +}; diff --git a/packages/extension-vite/src/libs/market-data/index.ts b/packages/extension-vite/src/libs/market-data/index.ts new file mode 100644 index 000000000..bd4e18d45 --- /dev/null +++ b/packages/extension-vite/src/libs/market-data/index.ts @@ -0,0 +1,139 @@ +import { InternalStorageNamespace } from "@/types/provider"; +import BrowserStorage from "../common/browser-storage"; +import { + StorageKeys, + CoinGeckoToken, + CoinGeckoTokenMarket, + FiatMarket, +} from "./types"; +import BigNumber from "bignumber.js"; +import { CoingeckoPlatform } from "@enkryptcom/types"; +import { + getAllPlatformData, + getMarketInfoByIDs, + getUSDPriceById, +} from "./ethvm"; +const FIAT_EXCHANGE_RATE_ENDPOINT = + "https://mainnet.mewwallet.dev/v2/prices/exchange-rates"; +const REFRESH_DELAY = 1000 * 60 * 5; + +class MarketData { + #storage: BrowserStorage; + constructor() { + this.#storage = new BrowserStorage(InternalStorageNamespace.marketData); + } + async getTokenValue( + tokenBalance: string, + coingeckoID: string, + fiatSymbol: string + ): Promise { + await this.setMarketInfo(); + const balanceBN = new BigNumber(tokenBalance); + const market = (await this.getMarketData([coingeckoID]))[0]; + const fiat = await this.getFiatValue(fiatSymbol); + if (market && fiat) { + return balanceBN + .multipliedBy(market.current_price ?? 0) + .multipliedBy(fiat.exchange_rate) + .toFixed(2); + } + return "0"; + } + async getTokenPrice(coingeckoID: string): Promise { + return getUSDPriceById(coingeckoID); + } + async getMarketInfoByContracts( + contracts: string[], + platformId: CoingeckoPlatform + ): Promise> { + await this.setMarketInfo(); + const allTokens = Object.values(await this.#getAllTokens()); + const requested: Record = {}; + const contractTokenMap: Record = {}; + contracts.forEach((add) => (contractTokenMap[add] = null)); + const tokenIds = allTokens + .filter((token) => { + if ( + token.platforms[platformId] && + contracts.includes(token.platforms[platformId]) + ) { + contractTokenMap[token.platforms[platformId]] = token.id; + return true; + } + return false; + }) + .map((token) => token.id); + if (!tokenIds.length) return requested; + const marketData = await this.getMarketData(tokenIds); + Object.keys(contractTokenMap).forEach((contract) => { + if (contractTokenMap[contract]) { + requested[contract] = + marketData.find((data) => data?.id === contractTokenMap[contract]) || + null; + } else { + requested[contract] = null; + } + }); + return requested; + } + async getMarketData( + coingeckoIDs: string[] + ): Promise> { + return getMarketInfoByIDs(coingeckoIDs).catch(() => + coingeckoIDs.map(() => null) + ); + } + async getFiatValue(symbol: string): Promise { + await this.setMarketInfo(); + const allFiatData = await this.#storage.get(StorageKeys.fiatInfo); + if (allFiatData[symbol]) return allFiatData[symbol]; + return null; + } + async #getLastTimestamp(): Promise { + const timestamp = await this.#storage.get(StorageKeys.lastTimestamp); + if (timestamp) return timestamp.timestamp; + return null; + } + async #setLastTimestamp(timestamp: number): Promise { + await this.#storage.set(StorageKeys.lastTimestamp, { timestamp }); + } + async #setAllTokens(tokens: Record): Promise { + await this.#storage.set(StorageKeys.allTokens, tokens); + } + async #getAllTokens(): Promise> { + return await this.#storage.get(StorageKeys.allTokens); + } + async #setFiatExchangeRates( + tokens: Record + ): Promise { + await this.#storage.set(StorageKeys.fiatInfo, tokens); + } + async setMarketInfo(): Promise { + const lastTimestamp = await this.#getLastTimestamp(); + if (lastTimestamp && lastTimestamp >= new Date().getTime() - REFRESH_DELAY) + return; + + const allCoins = await getAllPlatformData().then((json) => { + const allTokens = json as CoinGeckoToken[]; + const tokens: Record = {}; + allTokens.forEach((token) => { + tokens[token.id] = token; + }); + return tokens; + }); + await this.#setAllTokens(allCoins); + const fiatMarketData = await fetch(`${FIAT_EXCHANGE_RATE_ENDPOINT}`) + .then((res) => res.json()) + .then((json) => { + const topMarkets = json as FiatMarket[]; + const tokens: Record = {}; + topMarkets.forEach((token) => { + tokens[token.fiat_currency] = token; + }); + return tokens; + }); + await this.#setFiatExchangeRates(fiatMarketData); + await this.#setLastTimestamp(new Date().getTime()); + } +} +export default MarketData; diff --git a/packages/extension-vite/src/libs/market-data/types.ts b/packages/extension-vite/src/libs/market-data/types.ts new file mode 100644 index 000000000..7e379dde3 --- /dev/null +++ b/packages/extension-vite/src/libs/market-data/types.ts @@ -0,0 +1,41 @@ +export enum StorageKeys { + lastTimestamp = "last-time-stamp", + allTokens = "all-tokens", + fiatInfo = "fiat-info", +} + +export interface CoingeckPlatforms { + [key: string]: any; + ethereum?: string; + "ethereum-classic"?: string; + "binance-smart-chain"?: string; + gochain?: string; + "polygon-pos"?: string; + moonbeam?: string; + rootstock?: string; +} +export interface CoinGeckoToken { + id: string; + symbol: string; + name: string; + platforms: CoingeckPlatforms; +} +export interface CoinGeckoTokenMarket { + id: string; + symbol: string; + name: string; + image: string; + current_price: null | number; + market_cap: number; + market_cap_rank: number; + high_24h: number; + low_24h: number; + price_change_24h: number; + price_change_percentage_24h: number; + sparkline_in_7d: { price: number[] }; + price_change_percentage_7d_in_currency: number; +} +export interface FiatMarket { + fiat_currency: string; + exchange_rate: string; +} diff --git a/packages/extension-vite/src/libs/messenger/eventbus.ts b/packages/extension-vite/src/libs/messenger/eventbus.ts new file mode 100644 index 000000000..cd5840c85 --- /dev/null +++ b/packages/extension-vite/src/libs/messenger/eventbus.ts @@ -0,0 +1,22 @@ +import { createNanoEvents } from "nanoevents"; +const eventBus = createNanoEvents(); +const EventBusEmit = (key: string, message: any): Promise => { + return new Promise((resolve, reject) => { + eventBus.emit(key, message, (err: Error, res: any) => { + if (err) reject(err); + else resolve(res); + }); + }); +}; +const EventBusOn = (key: string, cb: (message: any) => Promise) => { + eventBus.on( + key, + (message: any, ebCB: (err: Error | null, res?: any) => void) => { + cb(message) + .then((res) => ebCB(null, res)) + .catch((err) => ebCB(err)); + } + ); +}; + +export { EventBusEmit, EventBusOn }; diff --git a/packages/extension-vite/src/libs/messenger/extension.ts b/packages/extension-vite/src/libs/messenger/extension.ts new file mode 100644 index 000000000..99f5a21b0 --- /dev/null +++ b/packages/extension-vite/src/libs/messenger/extension.ts @@ -0,0 +1,160 @@ +import { + onMessage, + sendMessage, + allowWindowMessaging, + getCurrentContext, +} from "@enkryptcom/extension-bridge"; +import { EXTENSION_NAMESPACE } from "@/configs/constants"; +import { + Message, + MessageType, + Destination, + onMessageType, + SendMessage, + InternalMessageType, + InternalOnMessageResponse, + ActionSendMessage, +} from "@/types/messenger"; +import { OnMessageResponse } from "@enkryptcom/types"; +import { assert } from "chai"; +import { EventBusEmit, EventBusOn } from "./eventbus"; + +export { getCurrentContext }; +export const sendToWindow = ( + message: SendMessage, + tabId: number +): Promise => { + return sendMessage( + MessageType.WINDOW_REQUEST, + message, + `${Destination.window}@${tabId}` + ).then((res) => res as unknown as OnMessageResponse); +}; + +export const setContentScriptNamespace = (): void => { + allowWindowMessaging(EXTENSION_NAMESPACE); +}; + +export const sendToBackgroundFromBackground = ( + message: SendMessage +): Promise => { + return EventBusEmit(MessageType.BACKGROUND_REQUEST, message).then( + (res) => res as unknown as InternalOnMessageResponse + ); +}; + +export const sendToBackgroundFromNewWindow = ( + message: SendMessage +): Promise => { + return sendMessage( + MessageType.NEWWINDOW_REQUEST, + message, + Destination.background + ).then((res) => res as unknown as InternalOnMessageResponse); +}; + +export const sendToBackgroundFromAction = ( + message: ActionSendMessage +): Promise => { + return sendMessage( + MessageType.ACTION_REQUEST, + message, + Destination.background + ).then((res) => res as unknown as InternalOnMessageResponse); +}; + +export const sendToBackgroundFromCS = ( + message: SendMessage +): Promise => { + return sendMessage( + MessageType.CS_REQUEST, + message, + Destination.background + ).then((res) => res as unknown as InternalOnMessageResponse); +}; + +export const sendToNewWindowFromBackground = ( + message: SendMessage, + tabId: number +): Promise => { + return sendMessage( + MessageType.NEWWINDOW_REQUEST, + message, + `${Destination.newWindow}@${tabId}` + ).then((res) => res as unknown as InternalOnMessageResponse); +}; + +const backgroundOnMessage = ( + type: MessageType, + cb: onMessageType | InternalMessageType +): void => { + onMessage(type, async (message) => { + const msg = message.data as Message; + msg.sender = message.sender; + return cb(msg); + }); +}; + +export const backgroundOnMessageFromWindow = (cb: onMessageType): void => { + backgroundOnMessage(MessageType.WINDOW_REQUEST, (message) => { + assert( + message.sender.context === Destination.window, + "Message didnt come from window" + ); + return cb(message); + }); +}; + +export const backgroundOnMessageFromNewWindow = ( + cb: InternalMessageType +): void => { + backgroundOnMessage(MessageType.NEWWINDOW_REQUEST, async (message) => { + assert( + message.sender.context === Destination.newWindow, + "Message didnt come from new-window" + ); + return cb(message); + }); +}; + +export const backgroundOnMessageFromAction = ( + cb: InternalMessageType +): void => { + backgroundOnMessage(MessageType.ACTION_REQUEST, async (message) => { + assert( + message.sender.context === Destination.popup, + "Message didnt come from popup" + ); + return cb(message); + }); +}; + +export const backgroundOnMessageFromCS = (cb: onMessageType): void => { + backgroundOnMessage(MessageType.CS_REQUEST, async (message) => { + assert( + message.sender.context === Destination.contentScript, + "Message didnt come from content script" + ); + return cb(message); + }); +}; + +export const newWindowOnMessageFromBackground = ( + cb: InternalMessageType +): void => { + backgroundOnMessage(MessageType.NEWWINDOW_REQUEST, async (message) => { + assert( + message.sender.context === Destination.background, + "Message didnt come from background" + ); + return cb(message); + }); +}; + +export const backgroundOnMessageFromBackground = ( + cb: InternalMessageType +): void => { + EventBusOn(MessageType.BACKGROUND_REQUEST, async (message) => { + return cb(message); + }); +}; diff --git a/packages/extension-vite/src/libs/messenger/internal-messenger.ts b/packages/extension-vite/src/libs/messenger/internal-messenger.ts new file mode 100644 index 000000000..b70340400 --- /dev/null +++ b/packages/extension-vite/src/libs/messenger/internal-messenger.ts @@ -0,0 +1,29 @@ +import { + sendToBackgroundFromAction, + sendToBackgroundFromNewWindow, + getCurrentContext, +} from "@/libs/messenger/extension"; +import { InternalOnMessageResponse } from "@/types/messenger"; +import { ProviderName } from "@/types/provider"; +import { RPCRequestType } from "@enkryptcom/types"; + +const sendUsingInternalMessengers = ( + req: RPCRequestType +): Promise => { + const context = getCurrentContext(); + if (context === "popup") { + return sendToBackgroundFromAction({ + message: JSON.stringify(req), + provider: ProviderName.enkrypt, + }); + } else if (context === "new-window") { + return sendToBackgroundFromNewWindow({ + message: JSON.stringify(req), + provider: ProviderName.enkrypt, + }); + } else { + throw new Error(`internal-messenger: unknown context ${context}`); + } +}; + +export default sendUsingInternalMessengers; diff --git a/packages/extension-vite/src/libs/messenger/window.ts b/packages/extension-vite/src/libs/messenger/window.ts new file mode 100644 index 000000000..99f199230 --- /dev/null +++ b/packages/extension-vite/src/libs/messenger/window.ts @@ -0,0 +1,54 @@ +import { + setNamespace, + onMessage, + sendMessage, +} from "@enkryptcom/extension-bridge/dist/window"; +import { EXTENSION_NAMESPACE } from "@/configs/constants"; +import { + Message, + SendMessage, + MessageType, + Destination, + onMessageType, +} from "@/types/messenger"; +import { OnMessageResponse } from "@enkryptcom/types"; +import { ProviderName } from "@/types/provider"; +import { assert } from "chai"; + +export const sendToBackgroundFromWindow = ( + message: SendMessage +): Promise => { + return sendMessage( + MessageType.WINDOW_REQUEST, + message, + Destination.background + ).then((res) => res as unknown as OnMessageResponse); +}; + +export const providerSendMessage = ( + provider: ProviderName, + message: string +): Promise => { + return sendToBackgroundFromWindow({ + provider: provider, + message: message, + }).then((res) => { + if (res.error) return Promise.reject(JSON.parse(res.error)); + else return JSON.parse(res.result as string); + }); +}; +export const setWindowNamespace = (): void => { + setNamespace(EXTENSION_NAMESPACE); +}; + +export const windowOnMessage = (cb: onMessageType): void => { + onMessage(MessageType.WINDOW_REQUEST, async (message) => { + assert( + message.sender.context === "background", + "Message didnt come from background" + ); + const msg = message.data as Message; + msg.sender = message.sender; + return cb(msg); + }); +}; diff --git a/packages/extension-vite/src/libs/metrics/amplitude.ts b/packages/extension-vite/src/libs/metrics/amplitude.ts new file mode 100644 index 000000000..714462124 --- /dev/null +++ b/packages/extension-vite/src/libs/metrics/amplitude.ts @@ -0,0 +1,73 @@ +import { init, track, Types, setOptOut } from "@amplitude/analytics-browser"; +import { detectBrowser, detectOS } from "@action/utils/browser"; +import SettingsState from "../settings-state"; + +const getUserAge = (installedDate: number) => { + const date1 = new Date(installedDate); + const date2 = new Date(); + const Difference_In_Time = date2.getTime() - date1.getTime(); + return Math.round(Difference_In_Time / (1000 * 3600 * 24)); +}; + +class Metrics { + browser = ""; + os = ""; + arch = ""; + installedTime = 0; + userId = ""; + + constructor() { + this.init(); + this.browser = detectBrowser(); + detectOS().then((info) => { + this.os = info.os; + this.arch = info.arch; + }); + } + private init() { + const settingsState = new SettingsState(); + settingsState.getEnkryptSettings().then((set) => { + this.installedTime = set.installedTimestamp; + if (typeof window !== "undefined") { + init("apikey", { + instanceName: process.env.IS_DEV + ? "enkrypt-extension-dev" + : "enkrypt-extension", + optOut: !set.isMetricsEnabled, + serverUrl: process.env.IS_DEV + ? "https://analytics-enkrypt-dev.mewwallet.dev/record" + : "https://analytics-enkrypt.mewwallet.dev/record", + appVersion: process.env.PACKAGE_VERSION as string, + trackingOptions: { + ipAddress: false, + }, + userId: set.randomUserID, + useBatch: true, + identityStorage: "none", + sessionTimeout: 15 * 60 * 1000, // 15 mins + logLevel: Types.LogLevel.None, + defaultTracking: { + formInteractions: false, + pageViews: false, + }, + }); + } + }); + } + track(event: string, options: Record) { + track( + event, + { ...options, userAge: getUserAge(this.installedTime) }, + { + os_name: this.os, + platform: this.browser, + device_model: this.arch, + } + ); + } + setOptOut(val: boolean) { + setOptOut(val); + } +} + +export default Metrics; diff --git a/packages/extension-vite/src/libs/metrics/index.ts b/packages/extension-vite/src/libs/metrics/index.ts new file mode 100644 index 000000000..0848877f6 --- /dev/null +++ b/packages/extension-vite/src/libs/metrics/index.ts @@ -0,0 +1,98 @@ +import { ProviderName } from "@/types/provider"; +import { NetworkNames } from "@enkryptcom/types"; +import Metrics from "./amplitude"; +import { + BuyEventType, + DAppsEventType, + GenericEvents, + NFTEventType, + NetworkChangeEvents, + SendEventType, + SettingEventType, + SwapEventType, +} from "./types"; + +const metrics = new Metrics(); + +const trackGenericEvents = (event: GenericEvents) => { + metrics.track("generic", { event }); +}; + +const trackNetworkSelected = ( + event: NetworkChangeEvents, + options: { provider: ProviderName; network: NetworkNames } +) => { + metrics.track("network", { event, ...options }); +}; + +const trackSwapEvents = ( + event: SwapEventType, + options: { + network: NetworkNames; + fromToken?: string; + toToken?: string; + swapProvider?: string; + error?: string; + } +) => { + metrics.track("swap", { event, ...options }); +}; + +const trackBuyEvents = ( + event: BuyEventType, + options: { + network: NetworkNames; + } +) => { + metrics.track("buy", { event, ...options }); +}; + +const trackSendEvents = ( + event: SendEventType, + options: { + network: NetworkNames; + error?: string; + } +) => { + metrics.track("send", { event, ...options }); +}; + +const trackNFTEvents = ( + event: NFTEventType, + options: { + network: NetworkNames; + } +) => { + metrics.track("nft", { event, ...options }); +}; + +const trackDAppsEvents = ( + event: DAppsEventType, + options: { + network: NetworkNames; + } +) => { + metrics.track("dapps", { event, ...options }); +}; + +const optOutofMetrics = (optOut: boolean) => { + if (!process.env.IS_FIREFOX) { + metrics.setOptOut(false); + metrics.track("settings", { + event: SettingEventType.OptOut, + value: optOut ? 1 : 0, + }); + } + metrics.setOptOut(optOut); +}; + +export { + trackNetworkSelected, + trackSwapEvents, + trackBuyEvents, + trackSendEvents, + trackNFTEvents, + trackDAppsEvents, + optOutofMetrics, + trackGenericEvents, +}; diff --git a/packages/extension-vite/src/libs/metrics/types.ts b/packages/extension-vite/src/libs/metrics/types.ts new file mode 100644 index 000000000..175eb3301 --- /dev/null +++ b/packages/extension-vite/src/libs/metrics/types.ts @@ -0,0 +1,49 @@ +export enum SwapEventType { + SwapOpen = "swap_open", + SwapRate = "swap_rate", + SwapVerify = "swap_verify", + SwapComplete = "swap_complete", + swapFailed = "swap_failed", + swapCancelled = "swap_cancelled", + swapBack = "swap_back", +} + +export enum GenericEvents { + login_success = "successful_login", + login_error = "login_error", +} + +export enum NetworkChangeEvents { + NetworkChangePopup = "network_change_popup", + NetworkChangeAPI = "network_change_api", +} + +export enum BuyEventType { + BuyClick = "buy_click", +} + +export enum SendEventType { + SendOpen = "send_open", + SendVerify = "send_verify", + SendAPIVerify = "send_api_verify", + SendComplete = "send_complete", + SendAPIComplete = "send_api_complete", + SendFailed = "send_failed", + SendAPIFailed = "send_api_failed", + SendApprove = "send_approve", + SendDecline = "send_decline", + SendAPIApprove = "send_api_approve", + SendAPIDecline = "send_api_decline", +} + +export enum NFTEventType { + NFTOpen = "nft_open", +} + +export enum DAppsEventType { + DAppsOpen = "dapps_open", +} + +export enum SettingEventType { + OptOut = "opt_out", +} diff --git a/packages/extension-vite/src/libs/name-resolver/index.ts b/packages/extension-vite/src/libs/name-resolver/index.ts new file mode 100644 index 000000000..e06498000 --- /dev/null +++ b/packages/extension-vite/src/libs/name-resolver/index.ts @@ -0,0 +1,29 @@ +import NameResolver, { type CoinType } from '@enkryptcom/name-resolution' +class GenericNameResolver { + nameResolver: NameResolver + + constructor() { + this.nameResolver = new NameResolver({ + ens: { node: 'https://nodes.mewapi.io/rpc/eth' }, + sid: { + node: { + bnb: 'https://nodes.mewapi.io/rpc/bsc', + arb: 'https://nodes.mewapi.io/rpc/arb', + }, + }, + }) + } + + async resolveName(name: string, coins: CoinType[]): Promise { + let response: string | null = null + for (const coin of coins) { + response = await this.nameResolver + .resolveAddress(name, coin) + .catch(() => null) + if (response) return response + } + return response + } +} + +export { CoinType, GenericNameResolver } diff --git a/packages/extension-vite/src/libs/networks-state/index.ts b/packages/extension-vite/src/libs/networks-state/index.ts new file mode 100644 index 000000000..37efd50f6 --- /dev/null +++ b/packages/extension-vite/src/libs/networks-state/index.ts @@ -0,0 +1,108 @@ +import BrowserStorage from "../common/browser-storage"; +import { POPULAR_NAMES } from "../utils/networks"; +import { InternalStorageNamespace } from "@/types/provider"; +import { IState, StorageKeys, NetworkStorageElement } from "./types"; +import { newNetworks, newSwaps } from "@/providers/common/libs/new-features"; + +class NetworksState { + private storage: BrowserStorage; + + constructor() { + this.storage = new BrowserStorage(InternalStorageNamespace.networksState); + } + + private async setInitialActiveNetworks(): Promise { + const networks: NetworkStorageElement[] = POPULAR_NAMES.map((name) => ({ + name, + })); + await this.setState({ networks, newNetworksVersion: "" }); + } + + async setNetworkStatus( + targetNetworkName: string, + isActive: boolean + ): Promise { + const state: IState = await this.getState(); + const targetNetwork: NetworkStorageElement = { + name: targetNetworkName, + }; + if ( + isActive && + state.networks.findIndex((n) => n.name === targetNetworkName) === -1 + ) { + state.networks.push(targetNetwork as NetworkStorageElement); + } else if (!isActive) { + const idxArr = state.networks.map((_, i) => i); + const filteredIdx = idxArr + .filter((i) => state.networks[i].name !== targetNetwork.name) + .sort((a, b) => a - b); + const activeNetworks: NetworkStorageElement[] = []; + filteredIdx.forEach((i) => activeNetworks.push(state.networks[i])); + state.networks = activeNetworks; + } + await this.setState(state); + } + + async insertNetworksWithNewFeatures(): Promise { + const state: IState | undefined = await this.getState(); + if ( + state && + state.networks && + state.newNetworksVersion !== process.env.PACKAGE_VERSION + ) { + let validNetworks = state.networks; + const netsWithFeatures = [ + ...new Set([...newNetworks, ...newSwaps]), + ].sort(); + const filteredNets = netsWithFeatures.filter((n) => { + for (const vn of validNetworks) if (vn.name === n) return false; + return true; + }); + const fnetworkItem = filteredNets.map((name) => { + return { + name, + }; + }); + const insertIdx = validNetworks.length > 5 ? 5 : validNetworks.length; + validNetworks = validNetworks + .slice(0, insertIdx) + .concat(fnetworkItem, validNetworks.slice(insertIdx)); + state.networks = validNetworks; + state.newNetworksVersion = process.env.PACKAGE_VERSION as string; + await this.setState(state); + } + } + + async getActiveNetworkNames(): Promise { + await this.insertNetworksWithNewFeatures(); + const state: IState | undefined = await this.getState(); + if (state && state.networks) { + const validNetworks = state.networks; + return validNetworks.map(({ name }) => name); + } else { + await this.setInitialActiveNetworks(); + return POPULAR_NAMES; + } + } + + async reorderNetwork(networkNames: string[]): Promise { + const state: IState | undefined = await this.getState(); + const activeNetworks: NetworkStorageElement[] = networkNames.map( + (name) => ({ name, isActive: true }) + ); + await this.setState({ + networks: activeNetworks, + newNetworksVersion: state.newNetworksVersion, + }); + } + + async setState(state: IState): Promise { + return this.storage.set(StorageKeys.networkInfo, state); + } + + async getState(): Promise { + return this.storage.get(StorageKeys.networkInfo); + } +} + +export default NetworksState; diff --git a/packages/extension-vite/src/libs/networks-state/types.ts b/packages/extension-vite/src/libs/networks-state/types.ts new file mode 100644 index 000000000..bd560a1f2 --- /dev/null +++ b/packages/extension-vite/src/libs/networks-state/types.ts @@ -0,0 +1,12 @@ +export enum StorageKeys { + networkInfo = "network-info", +} + +export interface NetworkStorageElement { + name: string; +} + +export interface IState { + networks: NetworkStorageElement[]; + newNetworksVersion: string; +} diff --git a/packages/extension-vite/src/libs/nft-handlers/mew.ts b/packages/extension-vite/src/libs/nft-handlers/mew.ts new file mode 100644 index 000000000..23e89778c --- /dev/null +++ b/packages/extension-vite/src/libs/nft-handlers/mew.ts @@ -0,0 +1,56 @@ +import { NFTCollection, NFTItem } from "@/types/nft"; +import { NodeType } from "@/types/provider"; +import Networks from "@/providers/ethereum/networks"; +import { + ContentRepresentation, + ContentURL, + NFTCollection as MEWNFTCollection, +} from "./types/mew"; +import cacheFetch from "../cache-fetch"; +const MEW_ENDPOINT = "https://mainnet.mewwallet.dev/v3/"; +const CACHE_TTL = 60 * 1000; +const getBestImageURL = (content: ContentURL[]) => { + const priority = [ContentRepresentation.IMAGE]; + for (const pri of priority) { + for (const cont of content) { + if (cont.type === pri) return cont.url; + } + } + return ""; +}; +export default async ( + network: NodeType, + address: string +): Promise => { + const supportedNetworks = [Networks.ethereum.name]; + if (!supportedNetworks.includes(network.name)) + throw new Error("MEW: network not supported"); + const fetchAll = (): Promise => { + const query = `${MEW_ENDPOINT}nfts/account?address=${address}`; + return cacheFetch({ url: query }, CACHE_TTL).then((json) => { + return json as MEWNFTCollection[]; + }); + }; + const allItems = await fetchAll(); + if (!allItems || !allItems.length) return []; + return allItems.map((item) => { + const ret: NFTCollection = { + name: item.name, + description: item.description, + image: item.image, + contract: item.contract_address, + items: item.assets.map((asset) => { + const retAsset: NFTItem = { + contract: item.contract_address, + id: asset.token_id, + image: getBestImageURL(asset.urls), + name: asset.name, + url: `https://rarible.com/token/${item.contract_address}:${asset.token_id}?ref=0x5bA9576c214FC7C6649f6F3C73dcbC2769b1761F`, + type: item.schema_type, + }; + return retAsset; + }), + }; + return ret; + }); +}; diff --git a/packages/extension-vite/src/libs/nft-handlers/simplehash-ordinals.ts b/packages/extension-vite/src/libs/nft-handlers/simplehash-ordinals.ts new file mode 100644 index 000000000..400d12e64 --- /dev/null +++ b/packages/extension-vite/src/libs/nft-handlers/simplehash-ordinals.ts @@ -0,0 +1,83 @@ +import { NFTCollection, NFTItem, NFTType } from "@/types/nft"; +import cacheFetch from "../cache-fetch"; +import { NetworkNames } from "@enkryptcom/types"; +import { SHOrdinalsNFTType, SHOrdinalsResponse } from "./types/simplehash"; +import { BaseNetwork } from "@/types/base-network"; +const SH_ENDPOINT = "https://partners.mewapi.io/nfts/"; +const CACHE_TTL = 1 * 1000; +export default async ( + network: BaseNetwork, + address: string +): Promise => { + const supportedNetworks = { + [NetworkNames.Bitcoin]: "bitcoin", + }; + if (!Object.keys(supportedNetworks).includes(network.name)) + throw new Error("Simplehash: network not supported"); + let allItems: SHOrdinalsNFTType[] = []; + const fetchAll = (continuation?: string): Promise => { + const query = continuation + ? continuation + : `${SH_ENDPOINT}owners?chains=${ + supportedNetworks[network.name as keyof typeof supportedNetworks] + }&wallet_addresses=${network.displayAddress(address)}`; + return cacheFetch( + { + url: query, + }, + CACHE_TTL + ).then((json) => { + const items: SHOrdinalsNFTType[] = (json.result as SHOrdinalsResponse) + .nfts; + allItems = allItems.concat(items); + if (json.result.next) return fetchAll(json.result.next); + }); + }; + await fetchAll(); + if (!allItems || !allItems.length) return []; + const collections: Record = {}; + allItems.forEach((item) => { + const collectionName = + item.extra_metadata.ordinal_details.protocol_name === "brc-20" + ? "BRC20" + : item.collection.name + ? item.collection.name + : "Unknown"; + const contractAddress = + item.collection.collection_id || item.contract_address; + if (!item.image_url && !item.previews.image_medium_url) return; + if (!collectionName) return; + if (collections[contractAddress]) { + const tItem: NFTItem = { + contract: contractAddress, + id: item.extra_metadata.ordinal_details.location, + image: item.previews.image_medium_url, + name: item.contract.name, + url: `https://ordinals.com/inscription/${item.contract_address}`, + type: NFTType.Ordinals, + }; + collections[contractAddress].items.push(tItem); + } else { + const ret: NFTCollection = { + name: collectionName, + description: item.collection.description, + image: + item.collection.image_url || + require("@action/assets/common/not-found.jpg"), + contract: contractAddress, + items: [ + { + contract: contractAddress, + id: item.extra_metadata.ordinal_details.location, + image: item.image_url || item.previews.image_medium_url, + name: item.contract.name, + url: `https://ordinals.com/inscription/${item.contract_address}`, + type: NFTType.Ordinals, + }, + ], + }; + collections[contractAddress] = ret; + } + }); + return Object.values(collections); +}; diff --git a/packages/extension-vite/src/libs/nft-handlers/simplehash-solana.ts b/packages/extension-vite/src/libs/nft-handlers/simplehash-solana.ts new file mode 100644 index 000000000..9cfd617ef --- /dev/null +++ b/packages/extension-vite/src/libs/nft-handlers/simplehash-solana.ts @@ -0,0 +1,95 @@ +import { NFTCollection, NFTItem, NFTType } from "@/types/nft"; +import { NodeType } from "@/types/provider"; +import cacheFetch from "../cache-fetch"; +import { NetworkNames } from "@enkryptcom/types"; +import { SHNFTType, SHResponse, SHSolanaNFTType } from "./types/simplehash"; +const SH_ENDPOINT = "https://partners.mewapi.io/nfts/"; +const CACHE_TTL = 60 * 1000; +const SolanaTokenPrograms = { + Bubblegum: "BGUMAp9Gq7iTEuizy4pqaxsTyUCBK68MDfK752saRPUY", + Token: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA", +}; +export default async ( + network: NodeType, + address: string +): Promise => { + const supportedNetworks = { + [NetworkNames.Solana]: "solana", + }; + if (!Object.keys(supportedNetworks).includes(network.name)) + throw new Error("Simplehash: network not supported"); + let allItems: SHSolanaNFTType[] = []; + const fetchAll = (continuation?: string): Promise => { + const query = continuation + ? continuation + : `${SH_ENDPOINT}owners_v2?chains=${ + supportedNetworks[network.name as keyof typeof supportedNetworks] + }&wallet_addresses=${network.displayAddress( + address + )}&filters=spam_score__lte=50`; + return cacheFetch( + { + url: query, + }, + CACHE_TTL + ).then((json) => { + const items: SHNFTType[] = (json.result as SHResponse).nfts; + allItems = allItems.concat(items as SHSolanaNFTType[]); + if (json.result.next) return fetchAll(json.result.next); + }); + }; + await fetchAll(); + if (!allItems || !allItems.length) return []; + const collections: Record = {}; + allItems.forEach((item) => { + if (!item.image_url && !item.previews.image_medium_url) return; + if ( + item.extra_metadata.token_program !== SolanaTokenPrograms.Bubblegum && + item.extra_metadata.token_program !== SolanaTokenPrograms.Token + ) + return; + if (collections[item.collection.collection_id]) { + const tItem: NFTItem = { + contract: item.contract_address, + id: item.nft_id, + image: item.image_url || item.previews.image_medium_url, + name: item.name, + url: item.collection.marketplace_pages.length + ? item.collection.marketplace_pages[0].nft_url + : `https://magiceden.io/item-details/${item.contract_address}`, + type: + item.extra_metadata.token_program === SolanaTokenPrograms.Bubblegum + ? NFTType.SolanaBGUM + : NFTType.SolanaToken, + }; + collections[item.collection.collection_id].items.push(tItem); + } else { + const ret: NFTCollection = { + name: item.collection.name, + description: item.collection.description, + image: + item.collection.image_url || + require("@action/assets/common/not-found.jpg"), + contract: item.contract_address, + items: [ + { + contract: item.contract_address, + id: item.nft_id, + image: item.image_url || item.previews.image_medium_url, + name: item.name, + url: item.collection.marketplace_pages.length + ? item.collection.marketplace_pages[0].nft_url + : `https://magiceden.io/item-details/${item.contract_address}`, + type: + item.extra_metadata.token_program === + SolanaTokenPrograms.Bubblegum + ? NFTType.SolanaBGUM + : NFTType.SolanaToken, + }, + ], + }; + collections[item.collection.collection_id] = ret; + } + }); + return Object.values(collections); +}; diff --git a/packages/extension-vite/src/libs/nft-handlers/simplehash.ts b/packages/extension-vite/src/libs/nft-handlers/simplehash.ts new file mode 100644 index 000000000..0ab864438 --- /dev/null +++ b/packages/extension-vite/src/libs/nft-handlers/simplehash.ts @@ -0,0 +1,109 @@ +import { NFTCollection, NFTItem, NFTType } from "@/types/nft"; +import { NodeType } from "@/types/provider"; +import cacheFetch from "../cache-fetch"; +import { NetworkNames } from "@enkryptcom/types"; +import { SHNFTType, SHResponse } from "./types/simplehash"; +const SH_ENDPOINT = "https://partners.mewapi.io/nfts/"; +const CACHE_TTL = 60 * 1000; +const getExternalURL = (network: NodeType, contract: string, id: string) => { + if (network.name === NetworkNames.Gnosis) + return `https://niftyfair.io/gc/asset/${contract}/${id}/`; + return ""; +}; +export default async ( + network: NodeType, + address: string +): Promise => { + const supportedNetworks = { + [NetworkNames.Optimism]: "optimism", + [NetworkNames.Binance]: "bsc", + [NetworkNames.Arbitrum]: "arbitrum", + [NetworkNames.ArbitrumNova]: "arbitrum-nova", + [NetworkNames.Gnosis]: "gnosis", + [NetworkNames.Avalanche]: "avalanche", + [NetworkNames.Matic]: "polygon", + [NetworkNames.MaticZK]: "polygon-zkevm", + [NetworkNames.ZkSync]: "zksync-era", + [NetworkNames.ZkSyncGoerli]: "zksync-era-testnet", + [NetworkNames.Base]: "base", + [NetworkNames.Blast]: "blast", + [NetworkNames.ImmutableZkevm]: "immutable-zkevm", + [NetworkNames.Rari]: "rari", + [NetworkNames.Forma]: "forma", + [NetworkNames.Godwoken]: "godwoken", + [NetworkNames.Linea]: "linea", + [NetworkNames.MantaPacific]: "manta", + [NetworkNames.Mode]: "mode", + [NetworkNames.OpBNB]: "opbnb", + [NetworkNames.Palm]: "palm", + [NetworkNames.ProofOfPlayApex]: "proof-of-play", + [NetworkNames.Scroll]: "scroll", + }; + if (!Object.keys(supportedNetworks).includes(network.name)) + throw new Error("Simplehash: network not supported"); + let allItems: SHNFTType[] = []; + const fetchAll = (continuation?: string): Promise => { + const query = continuation + ? continuation + : `${SH_ENDPOINT}owners_v2?chains=${ + supportedNetworks[network.name as keyof typeof supportedNetworks] + }&wallet_addresses=${address}&filters=spam_score__lte=75`; + return cacheFetch( + { + url: query, + }, + CACHE_TTL + ).then((json) => { + const items: SHNFTType[] = (json.result as SHResponse).nfts; + allItems = allItems.concat(items); + if (json.result.next) return fetchAll(json.result.next); + }); + }; + await fetchAll(); + if (!allItems || !allItems.length) return []; + const collections: Record = {}; + allItems.forEach((item) => { + if (!item.image_url && !item.previews.image_medium_url) return; + if ( + item.contract.type !== NFTType.ERC1155 && + item.contract.type !== NFTType.ERC721 + ) + return; + if (collections[item.contract_address]) { + const tItem: NFTItem = { + contract: item.contract_address, + id: item.token_id, + image: item.image_url || item.previews.image_medium_url, + name: item.name, + url: + item.external_url || + getExternalURL(network, item.contract_address, item.token_id), + type: item.contract.type, + }; + collections[item.contract_address].items.push(tItem); + } else { + const ret: NFTCollection = { + name: item.collection.name, + description: item.collection.description, + image: + item.collection.image_url || + require("@action/assets/common/not-found.jpg"), + contract: item.contract_address, + items: [ + { + contract: item.contract_address, + id: item.token_id, + image: item.image_url || item.previews.image_medium_url, + name: item.name, + url: + item.external_url || + getExternalURL(network, item.contract_address, item.token_id), + type: item.contract.type, + }, + ], + }; + collections[item.contract_address] = ret; + } + }); + return Object.values(collections); +}; diff --git a/packages/extension-vite/src/libs/nft-handlers/types/mew.ts b/packages/extension-vite/src/libs/nft-handlers/types/mew.ts new file mode 100644 index 000000000..ad0baf556 --- /dev/null +++ b/packages/extension-vite/src/libs/nft-handlers/types/mew.ts @@ -0,0 +1,44 @@ +import { NFTType } from "@/types/nft"; + +export enum ContentRepresentation { + IMAGE = "IMAGE", + MEDIA = "MEDIA", +} +export interface Trait { + trait: string; + count: number; + value: string; + percentage: string; +} +export interface ContentURL { + type: ContentRepresentation; + url: string; +} +export interface NFTAsset { + token_id: string; + name: string; + description: string; + traits: Trait[]; + urls: ContentURL[]; + opensea_url: string; +} +export interface SocialLinks { + website?: string; + discord?: string; +} +export interface CollectionStats { + count: string; + owners: string; +} +export interface NFTCollection { + name: string; + description: string; + image: string; + schema_type: NFTType; + contract_address: string; + contract_name: string; + contract_symbol: string; + social: SocialLinks; + stats: CollectionStats; + assets: NFTAsset[]; +} diff --git a/packages/extension-vite/src/libs/nft-handlers/types/simplehash.ts b/packages/extension-vite/src/libs/nft-handlers/types/simplehash.ts new file mode 100644 index 000000000..fb6e00673 --- /dev/null +++ b/packages/extension-vite/src/libs/nft-handlers/types/simplehash.ts @@ -0,0 +1,63 @@ +import { NFTType } from "@/types/nft"; + +export interface SHNFTType { + nft_id: string; + chain: string; + token_id: string; + contract_address: string; + name: string; + description: string; + image_url: string; + video_url: string | null; + audio_url: string | null; + previews: { + image_small_url: string; + image_medium_url: string; + image_large_url: string; + }; + external_url: string; + collection: { + name: null | string; + description: null | string; + image_url: string; + external_url: string; + collection_id: string; + spam_score: number; + marketplace_pages: { + marketplace_id: string; + marketplace_name: string; + collection_url: string; + nft_url: string; + }[]; + }; + contract: { + name: string; + type: NFTType; + }; +} +export interface SHOrdinalsNFTType extends SHNFTType { + extra_metadata: { + ordinal_details: { + location: string; + protocol_name: string; + }; + }; +} + +export interface SHSolanaNFTType extends SHNFTType { + extra_metadata: { + token_program: string; + }; +} + +export interface SHResponse { + next: string; + previous: string; + nfts: SHNFTType[]; +} + +export interface SHOrdinalsResponse { + next: string; + previous: string; + nfts: SHOrdinalsNFTType[]; +} diff --git a/packages/extension-vite/src/libs/nft-state/index.ts b/packages/extension-vite/src/libs/nft-state/index.ts new file mode 100644 index 000000000..da5fbad6f --- /dev/null +++ b/packages/extension-vite/src/libs/nft-state/index.ts @@ -0,0 +1,97 @@ +import { InternalStorageNamespace } from "@/types/provider"; +import BrowserStorage from "../common/browser-storage"; +import { NFTInfo, StorageKey } from "./types"; +class NFTState { + #storage: BrowserStorage; + constructor() { + this.#storage = new BrowserStorage(InternalStorageNamespace.nftState); + } + async getFavoriteNFTs(): Promise { + return this.getState(StorageKey.favoriteNFTs); + } + async getHiddenNFTs(): Promise { + return this.getState(StorageKey.hiddenNFTs); + } + async #setNFTInfo( + collectionIdentifier: string, + nftID: string, + storeKey: StorageKey + ) { + const state = await this.getState(storeKey); + if (!state[collectionIdentifier]) state[collectionIdentifier] = []; + if (!state[collectionIdentifier].includes(nftID)) { + state[collectionIdentifier].push(nftID); + await this.setState(state, storeKey); + } + } + async #deleteNFTInfo( + collectionIdentifier: string, + nftID: string, + storeKey: StorageKey + ) { + const state = await this.getState(storeKey); + if (!state[collectionIdentifier]) state[collectionIdentifier] = []; + state[collectionIdentifier] = state[collectionIdentifier].filter( + (item) => item !== nftID + ); + await this.setState(state, storeKey); + } + async setFavoriteNFT( + collectionIdentifier: string, + nftID: string + ): Promise { + return this.#setNFTInfo( + collectionIdentifier, + nftID, + StorageKey.favoriteNFTs + ); + } + async deleteFavoriteNFT( + collectionIdentifier: string, + nftID: string + ): Promise { + return this.#deleteNFTInfo( + collectionIdentifier, + nftID, + StorageKey.favoriteNFTs + ); + } + async setHiddenNFT( + collectionIdentifier: string, + nftID: string + ): Promise { + return this.#setNFTInfo(collectionIdentifier, nftID, StorageKey.hiddenNFTs); + } + async deleteHiddenNFT( + collectionIdentifier: string, + nftID: string + ): Promise { + return this.#deleteNFTInfo( + collectionIdentifier, + nftID, + StorageKey.hiddenNFTs + ); + } + async getState(storeKey: StorageKey): Promise> { + const allStates: Record = await this.#storage.get( + storeKey + ); + if (!allStates) return {}; + return allStates; + } + async setState( + state: Record, + storeKey: StorageKey + ): Promise { + await this.#storage.set(storeKey, state); + } + async deleteState(storeKey: StorageKey): Promise { + await this.#storage.set(storeKey, {}); + } + async deleteAllStates(): Promise { + const allStores = [StorageKey.favoriteNFTs, StorageKey.hiddenNFTs]; + const promises = allStores.map((store) => this.deleteState(store)); + await Promise.all(promises); + } +} +export default NFTState; diff --git a/packages/extension-vite/src/libs/nft-state/types.ts b/packages/extension-vite/src/libs/nft-state/types.ts new file mode 100644 index 000000000..a94f2e86c --- /dev/null +++ b/packages/extension-vite/src/libs/nft-state/types.ts @@ -0,0 +1,5 @@ +export enum StorageKey { + favoriteNFTs = "favorite-nfts", + hiddenNFTs = "hidden-nfts", +} +export type NFTInfo = Record; diff --git a/packages/extension-vite/src/libs/persistent-events/index.ts b/packages/extension-vite/src/libs/persistent-events/index.ts new file mode 100644 index 000000000..5274ab351 --- /dev/null +++ b/packages/extension-vite/src/libs/persistent-events/index.ts @@ -0,0 +1,50 @@ +import { Message } from "@/types/messenger"; +import { InternalStorageNamespace } from "@/types/provider"; +import { OnMessageResponse } from "@enkryptcom/types"; +import BrowserStorage from "../common/browser-storage"; +import { IPersistentEvent, StorageKeys } from "./types"; +class PersistentEvents { + #storage: BrowserStorage; + constructor() { + this.#storage = new BrowserStorage( + InternalStorageNamespace.persistentEvents + ); + } + async addEvent( + tabId: number, + event: Message, + response: OnMessageResponse + ): Promise { + const parsedCurrentEvents: IPersistentEvent[] = await this.getEvents(tabId); + parsedCurrentEvents.push({ + event, + response, + }); + const allEvents = await this.getAllEvents(); + allEvents[tabId] = parsedCurrentEvents; + await this.#storage.set(StorageKeys.events, allEvents); + } + async getEvents(tabId: number): Promise { + const allEvents = await this.getAllEvents(); + const parsedCurrentEvents: IPersistentEvent[] = allEvents[tabId] + ? allEvents[tabId] + : []; + return parsedCurrentEvents; + } + async deleteEvents(tabId: number): Promise { + const allEvents = await this.getAllEvents(); + if (allEvents[tabId]) { + delete allEvents[tabId]; + await this.#storage.set(StorageKeys.events, allEvents); + } + } + async deleteAllEvents(): Promise { + return await this.#storage.remove(StorageKeys.events); + } + async getAllEvents(): Promise> { + const allEvents = await this.#storage.get(StorageKeys.events); + if (!allEvents) return {}; + return allEvents; + } +} +export default PersistentEvents; diff --git a/packages/extension-vite/src/libs/persistent-events/types.ts b/packages/extension-vite/src/libs/persistent-events/types.ts new file mode 100644 index 000000000..cd08e8cf7 --- /dev/null +++ b/packages/extension-vite/src/libs/persistent-events/types.ts @@ -0,0 +1,10 @@ +import { Message } from "@/types/messenger"; +import { OnMessageResponse } from "@enkryptcom/types"; + +export interface IPersistentEvent { + event: Message; + response: OnMessageResponse; +} +export enum StorageKeys { + events = "events", +} diff --git a/packages/extension-vite/src/libs/rate-state/index.ts b/packages/extension-vite/src/libs/rate-state/index.ts new file mode 100644 index 000000000..3e7b874eb --- /dev/null +++ b/packages/extension-vite/src/libs/rate-state/index.ts @@ -0,0 +1,76 @@ +import BrowserStorage from "../common/browser-storage"; +import { InternalStorageNamespace } from "@/types/provider"; +import { IState, StorageKeys } from "./types"; + +// Two weeks +const POPUP_TIME = 1209600000; + +export default class RateState { + private storage: BrowserStorage; + + constructor() { + this.storage = new BrowserStorage(InternalStorageNamespace.rateState); + } + + async showPopup(): Promise { + const state: IState | undefined = await this.storage.get( + StorageKeys.rateInfo + ); + + if (state) { + if (!state.alreadyRated) { + const now = Date.now(); + + if (state.popupTime < now) { + const popupTime = Date.now() + POPUP_TIME; + state.popupTime = popupTime; + + await this.storage.set(StorageKeys.rateInfo, state); + return true; + } + } else { + return false; + } + } + + const popupTime = Date.now() + POPUP_TIME; + const newState: IState = { + popupTime, + alreadyRated: false, + }; + + this.storage.set(StorageKeys.rateInfo, newState); + + return false; + } + + async resetPopupTimer(): Promise { + const state: IState | undefined = await this.storage.get( + StorageKeys.rateInfo + ); + + const now = Date.now(); + const popupTime = now + POPUP_TIME; + + if (state) { + state.popupTime = popupTime; + await this.storage.set(StorageKeys.rateInfo, state); + } else { + const newState: IState = { + alreadyRated: false, + popupTime, + }; + + await this.storage.set(StorageKeys.rateInfo, newState); + } + } + + async setRated(): Promise { + const state: IState = { + alreadyRated: true, + popupTime: 0, + }; + + await this.storage.set(StorageKeys.rateInfo, state); + } +} diff --git a/packages/extension-vite/src/libs/rate-state/types.ts b/packages/extension-vite/src/libs/rate-state/types.ts new file mode 100644 index 000000000..7c6046448 --- /dev/null +++ b/packages/extension-vite/src/libs/rate-state/types.ts @@ -0,0 +1,10 @@ +export enum StorageKeys { + rateInfo = "rate-info", +} + +export interface Rate { + alreadyRated: boolean; + popupTime: number; +} + +export type IState = Rate; diff --git a/packages/extension-vite/src/libs/settings-state/index.ts b/packages/extension-vite/src/libs/settings-state/index.ts new file mode 100644 index 000000000..2987d650d --- /dev/null +++ b/packages/extension-vite/src/libs/settings-state/index.ts @@ -0,0 +1,93 @@ +import Browser from "webextension-polyfill"; +import { InternalStorageNamespace } from "@/types/provider"; +import BrowserStorage from "@/libs/common/browser-storage"; +import { + StorageKeys, + EVMSettingsType, + SubstrateSettingsType, + SettingsType, + BtcSettingsType, + EnkryptSettingsType, +} from "./types"; +import { merge } from "lodash"; + +class SettingsState { + #storage: BrowserStorage; + constructor() { + this.#storage = new BrowserStorage(InternalStorageNamespace.settingsState); + } + async getEVMSettings(): Promise { + const DEFUALT_ETH_TTL = 60 * 60 * 1000; + const state = await this.getStateByKey(StorageKeys.evmState); + const settings: EVMSettingsType = { + inject: { disabled: false, timestamp: 0 }, + }; + const merged: EVMSettingsType = merge(settings, state); + const currentTime = new Date().getTime(); + merged.inject.disabled = + merged.inject.timestamp + DEFUALT_ETH_TTL < currentTime + ? false + : merged.inject.disabled; + return merged; + } + async getSubstrateSettings(): Promise { + const state = await this.getStateByKey(StorageKeys.substrateState); + const settings: SubstrateSettingsType = { + injectPolkadotjs: false, + }; + return merge(settings, state); + } + async getBtcSettings(): Promise { + const state = await this.getStateByKey(StorageKeys.btcState); + const settings: BtcSettingsType = { + injectUnisat: false, + }; + return merge(settings, state); + } + async getEnkryptSettings(): Promise { + const state = await this.getStateByKey(StorageKeys.enkryptState); + const settings: EnkryptSettingsType = { + installedTimestamp: 0, + randomUserID: "", + isMetricsEnabled: true, + }; + return merge(settings, state); + } + async deleteStateByKey(key: string): Promise { + await this.#storage.remove(key); + } + async deleteAllStates(): Promise { + return await this.#storage.clear(); + } + async setEVMSettings(state: EVMSettingsType): Promise { + await this.#storage.set(StorageKeys.evmState, state); + } + async setEnkryptSettings(state: EnkryptSettingsType): Promise { + await this.#storage.set(StorageKeys.enkryptState, state); + } + async setSubstrateSettings(state: SubstrateSettingsType): Promise { + await this.#storage.set(StorageKeys.substrateState, state); + } + async setBtcSettings(state: BtcSettingsType): Promise { + await this.#storage.set(StorageKeys.btcState, state); + } + async getAllSettings(): Promise { + const evmstate = await this.getEVMSettings(); + const substratestate = await this.getSubstrateSettings(); + const btcstate = await this.getBtcSettings(); + const enkryptState = await this.getEnkryptSettings(); + return { + evm: evmstate, + substrate: substratestate, + btc: btcstate, + enkrypt: enkryptState, + manifestVersion: Browser.runtime.getManifest().manifest_version, + }; + } + async getStateByKey(key: string): Promise { + const state = await this.#storage.get(key); + if (!state) return {}; + else return state; + } +} +export default SettingsState; diff --git a/packages/extension-vite/src/libs/settings-state/types.ts b/packages/extension-vite/src/libs/settings-state/types.ts new file mode 100644 index 000000000..a7d375b64 --- /dev/null +++ b/packages/extension-vite/src/libs/settings-state/types.ts @@ -0,0 +1,31 @@ +export enum StorageKeys { + evmState = "evm-settings-state", + substrateState = "substrate-settings-state", + btcState = "btc-settings-state", + enkryptState = "enkrypt-settings-state", +} +export interface EVMInjectSettings { + disabled: boolean; + timestamp: number; +} +export interface EVMSettingsType { + inject: EVMInjectSettings; +} +export interface SubstrateSettingsType { + injectPolkadotjs: boolean; +} +export interface BtcSettingsType { + injectUnisat: boolean; +} +export interface EnkryptSettingsType { + installedTimestamp: number; + randomUserID: string; + isMetricsEnabled: boolean; +} +export interface SettingsType { + evm: EVMSettingsType; + substrate: SubstrateSettingsType; + btc: BtcSettingsType; + enkrypt: EnkryptSettingsType; + manifestVersion: number; +} diff --git a/packages/extension-vite/src/libs/sparkline/index.ts b/packages/extension-vite/src/libs/sparkline/index.ts new file mode 100644 index 000000000..efc8b484e --- /dev/null +++ b/packages/extension-vite/src/libs/sparkline/index.ts @@ -0,0 +1,24 @@ +const normalize = (val: number, max: number, min: number): number => { + return (val - min) / (max - min); +}; + +export default class Sparkline { + private _values: number[]; + + public constructor(values: number[] = [], maxValues: number) { + this._values = values.filter( + (val, idx) => idx % parseInt((values.length / maxValues).toString()) === 0 + ); + this._values.push(values[values.length - 1]); + this._values = this._values.map((val) => { + return ( + normalize(val, Math.max(...this._values), Math.min(...this._values)) * + 100 + ); + }); + } + + public get dataValues(): string { + return JSON.stringify(this._values); + } +} diff --git a/packages/extension-vite/src/libs/tokens-state/index.ts b/packages/extension-vite/src/libs/tokens-state/index.ts new file mode 100644 index 000000000..9421e7a9a --- /dev/null +++ b/packages/extension-vite/src/libs/tokens-state/index.ts @@ -0,0 +1,68 @@ +import BrowserStorage from "../common/browser-storage"; +import { InternalStorageNamespace } from "@/types/provider"; +import { + IState, + StorageKeys, + CustomToken, + CustomErc20Token, + TokenType, +} from "./types"; +import { NetworkNames } from "@enkryptcom/types"; + +export class TokensState { + private storage: BrowserStorage; + + constructor() { + this.storage = new BrowserStorage(InternalStorageNamespace.tokensState); + } + + /** + * Add a new custom ERC20 token for a given network. + * Returns `true` if the token was added and false otherwise. + * @param {NetworkNames} chainName - The name of the network the token is being added to. + * @param {CustomErc20Token} token - The token information being added. + */ + async addErc20Token( + chainName: NetworkNames, + token: CustomErc20Token + ): Promise { + let state: IState | null = await this.storage.get(StorageKeys.customTokens); + + if (state && state[chainName]) { + const tokens = state[chainName]; + + for (const t of tokens!) { + if ( + t.type === TokenType.ERC20 && + (t as CustomErc20Token).address.toLowerCase() === + token.address.toLowerCase() + ) { + return false; + } + } + + tokens!.push(token); + } else { + if (state) { + state[chainName] = [token]; + } else { + state = { [chainName]: [token] }; + } + } + + this.storage.set(StorageKeys.customTokens, state); + return true; + } + + async getTokensByNetwork(chainName: NetworkNames): Promise { + const state: IState | null = await this.storage.get( + StorageKeys.customTokens + ); + + if (state) { + return state[chainName] ?? []; + } + + return []; + } +} diff --git a/packages/extension-vite/src/libs/tokens-state/types.ts b/packages/extension-vite/src/libs/tokens-state/types.ts new file mode 100644 index 000000000..2d715fed4 --- /dev/null +++ b/packages/extension-vite/src/libs/tokens-state/types.ts @@ -0,0 +1,24 @@ +import { NetworkNames } from "@enkryptcom/types"; + +export enum StorageKeys { + customTokens = "custom-tokens", +} + +export enum TokenType { + ERC20 = "ERC20", +} + +export interface CustomToken { + name: string; + symbol: string; + decimals: number; + icon: string; + type: TokenType; + coingeckoID?: string; +} + +export interface CustomErc20Token extends CustomToken { + address: `0x${string}`; +} + +export type IState = Partial>; diff --git a/packages/extension-vite/src/libs/utils/accounts.ts b/packages/extension-vite/src/libs/utils/accounts.ts new file mode 100644 index 000000000..6b36593fe --- /dev/null +++ b/packages/extension-vite/src/libs/utils/accounts.ts @@ -0,0 +1,46 @@ +import { EnkryptAccount, NetworkNames, SignerType } from "@enkryptcom/types"; +import PublicKeyRing from "../keyring/public-keyring"; +import { getNetworkByName } from "./networks"; +import { ProviderName } from "@/types/provider"; + +const getOtherSigners = (signers: SignerType[]): SignerType[] => { + const otherSigners: SignerType[] = []; + Object.values(SignerType).forEach((_signer) => { + if (!signers.includes(_signer)) otherSigners.push(_signer); + }); + return otherSigners; +}; + +export const getAccountsByNetworkName = async ( + networkName: NetworkNames +): Promise => { + const network = await getNetworkByName(networkName); + + if (!network) return []; + + const keyring = new PublicKeyRing(); + + const accounts = await keyring.getAccounts(network.signer); + + const filtered = accounts.filter((account) => { + if ( + account.isHardware && + account.HWOptions !== undefined && + network.provider !== ProviderName.ethereum + ) { + return account.HWOptions.networkName === networkName; + } + return true; + }); + return filtered.map((f) => { + if ( + network.signer.includes(SignerType.secp256k1btc) && + f.name === "Bitcoin Account 1" + ) { + f.name = f.name.replace("Bitcoin", network.name_long); + } + return f; + }); +}; + +export { getOtherSigners }; diff --git a/packages/extension-vite/src/libs/utils/get-ui-path.ts b/packages/extension-vite/src/libs/utils/get-ui-path.ts new file mode 100644 index 000000000..26c1fab54 --- /dev/null +++ b/packages/extension-vite/src/libs/utils/get-ui-path.ts @@ -0,0 +1,3 @@ +export default (page: string, namespace: string): string => { + return `index.html#/${namespace}/${page}`; +}; diff --git a/packages/extension-vite/src/libs/utils/initialize-wallet.ts b/packages/extension-vite/src/libs/utils/initialize-wallet.ts new file mode 100644 index 000000000..d5d3df83b --- /dev/null +++ b/packages/extension-vite/src/libs/utils/initialize-wallet.ts @@ -0,0 +1,57 @@ +import KeyRing from "@/libs/keyring/keyring"; +import EthereumNetworks from "@/providers/ethereum/networks"; +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 { NetworkNames, WalletType } from "@enkryptcom/types"; +import { getAccountsByNetworkName } from "@/libs/utils/accounts"; +export const initAccounts = async (keyring: KeyRing) => { + const secp256k1btc = await getAccountsByNetworkName(NetworkNames.Bitcoin); + const secp256k1 = await getAccountsByNetworkName(NetworkNames.Ethereum); + const sr25519 = await getAccountsByNetworkName(NetworkNames.Polkadot); + const ed25519kda = await getAccountsByNetworkName(NetworkNames.Kadena); + const ed25519sol = await getAccountsByNetworkName(NetworkNames.Solana); + if (secp256k1.length == 0) + await keyring.saveNewAccount({ + basePath: EthereumNetworks.ethereum.basePath, + name: "EVM Account 1", + signerType: EthereumNetworks.ethereum.signer[0], + walletType: WalletType.mnemonic, + }); + if (sr25519.length == 0) + await keyring.saveNewAccount({ + basePath: PolkadotNetworks.polkadot.basePath, + name: "Substrate Account 1", + signerType: PolkadotNetworks.polkadot.signer[0], + walletType: WalletType.mnemonic, + }); + if (secp256k1btc.length == 0) + await keyring.saveNewAccount({ + basePath: BitcoinNetworks.bitcoin.basePath, + name: "Bitcoin Account 1", + signerType: BitcoinNetworks.bitcoin.signer[0], + walletType: WalletType.mnemonic, + }); + if (ed25519kda.length == 0) + await keyring.saveNewAccount({ + basePath: KadenaNetworks.kadena.basePath, + name: "Kadena Account 1", + signerType: KadenaNetworks.kadena.signer[0], + walletType: WalletType.mnemonic, + }); + if (ed25519sol.length == 0) + await keyring.saveNewAccount({ + basePath: SolanaNetworks.solana.basePath, + name: "Solana Account 1", + signerType: SolanaNetworks.solana.signer[0], + walletType: WalletType.mnemonic, + }); +}; +export const onboardInitializeWallets = async ( + mnemonic: string, + password: string +): Promise => { + const kr = new KeyRing(); + await kr.init(mnemonic, password); +}; diff --git a/packages/extension-vite/src/libs/utils/networks.ts b/packages/extension-vite/src/libs/utils/networks.ts new file mode 100644 index 000000000..ee18b4290 --- /dev/null +++ b/packages/extension-vite/src/libs/utils/networks.ts @@ -0,0 +1,98 @@ +import { ProviderName } from "@/types/provider"; +import { NetworkNames } from "@enkryptcom/types"; +import EthereumNetworks from "@/providers/ethereum/networks"; +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 { BaseNetwork } from "@/types/base-network"; +import CustomNetworksState from "../custom-networks-state"; +import { CustomEvmNetwork } from "@/providers/ethereum/types/custom-evm-network"; +import Ethereum from "@/providers/ethereum/networks/eth"; +import Polkadot from "@/providers/polkadot/networks/polkadot"; +import Bitcoin from "@/providers/bitcoin/networks/bitcoin"; +import Kadena from "@/providers/kadena/networks/kadena"; +import Solana from "@/providers/solana/networks/solana"; + +const providerNetworks: Record> = { + [ProviderName.ethereum]: EthereumNetworks, + [ProviderName.polkadot]: PolkadotNetworks, + [ProviderName.bitcoin]: BitcoinNetworks, + [ProviderName.kadena]: KadenaNetworks, + [ProviderName.solana]: SolanaNetworks, + [ProviderName.enkrypt]: {}, +}; +const getAllNetworks = async (): Promise => { + const customNetworksState = new CustomNetworksState(); + + const customNetworks = ( + await customNetworksState.getAllCustomEVMNetworks() + ).map((options) => new CustomEvmNetwork(options)); + + return (Object.values(EthereumNetworks) as BaseNetwork[]) + .concat(Object.values(PolkadotNetworks) as BaseNetwork[]) + .concat(Object.values(BitcoinNetworks) as BaseNetwork[]) + .concat(Object.values(KadenaNetworks) as BaseNetwork[]) + .concat(Object.values(SolanaNetworks) as BaseNetwork[]) + .concat(customNetworks); +}; +const getNetworkByName = async ( + name: string +): Promise => { + return (await getAllNetworks()).find((net) => net.name === name); +}; +const getProviderNetworkByName = async ( + provider: ProviderName, + networkName: string +): Promise => { + let networks = Object.values(providerNetworks[provider]); + + if (provider === ProviderName.ethereum) { + const customNetworkState = new CustomNetworksState(); + const customNetworks = ( + await customNetworkState.getAllCustomEVMNetworks() + ).map((options) => new CustomEvmNetwork(options)); + + networks = [...customNetworks, ...networks]; + } + + return networks.find((net) => net.name === networkName); +}; +const DEFAULT_EVM_NETWORK_NAME = NetworkNames.Ethereum; +const DEFAULT_SUBSTRATE_NETWORK_NAME = NetworkNames.Polkadot; +const DEFAULT_BTC_NETWORK_NAME = NetworkNames.Bitcoin; +const DEFAULT_KADENA_NETWORK_NAME = NetworkNames.Kadena; +const DEFAULT_SOLANA_NETWORK_NAME = NetworkNames.Solana; + +const DEFAULT_EVM_NETWORK = Ethereum; +const DEFAULT_SUBSTRATE_NETWORK = Polkadot; +const DEFAULT_BTC_NETWORK = Bitcoin; +const DEFAULT_KADENA_NETWORK = Kadena; +const DEFAULT_SOLANA_NETWORK = Solana; + +const POPULAR_NAMES = [ + NetworkNames.Bitcoin, + NetworkNames.Ethereum, + NetworkNames.Matic, + NetworkNames.Polkadot, + NetworkNames.Binance, + NetworkNames.Rootstock, + NetworkNames.Optimism, + NetworkNames.Kadena, +]; +export { + getAllNetworks, + getNetworkByName, + getProviderNetworkByName, + DEFAULT_EVM_NETWORK_NAME, + DEFAULT_SUBSTRATE_NETWORK_NAME, + DEFAULT_BTC_NETWORK_NAME, + POPULAR_NAMES, + DEFAULT_EVM_NETWORK, + DEFAULT_SUBSTRATE_NETWORK, + DEFAULT_BTC_NETWORK, + DEFAULT_KADENA_NETWORK, + DEFAULT_KADENA_NETWORK_NAME, + DEFAULT_SOLANA_NETWORK, + DEFAULT_SOLANA_NETWORK_NAME, +}; diff --git a/packages/extension-vite/src/libs/utils/number-formatter.ts b/packages/extension-vite/src/libs/utils/number-formatter.ts new file mode 100644 index 000000000..6d2c68f84 --- /dev/null +++ b/packages/extension-vite/src/libs/utils/number-formatter.ts @@ -0,0 +1,529 @@ +import BigNumber from "bignumber.js"; +import { isNull, isUndefined } from "lodash"; +import { toBN } from "web3-utils"; +import { fromWei } from "web3-utils"; + +interface FormattedValue { + value: string; + tooltipText?: string; + unit?: string; +} +/** + * --------------------------------- + * Number Format Helper. + * Used to format numerical strings in the UI + * --------------------------------- + */ + +/** FormatterNumber Object: + * { + * value: '< 0.0000001', //string + * tooltipText: '0.0000000001' //string || undefined, + * unit: 'eth' // string || undefined, + * }; + */ + +/** + * --------------------------------- + * Constants + * --------------------------------- + */ +const SmallNumberBreakpoint = 0.000001; +const SmallFiatBreakpoint = 0.01; +const TenThousand = 1e4; +const OneMillion = 1e6; +const OneBillion = 1e9; +const TenBillion = 1e10; +const OneTrillion = 1e12; +const OneQuadrillion = 1e15; + +const FormattedNumberUnit = { + ETH: "ETH", + GWEI: "Gwei", + WEI: "wei", + PERCENT: "%", + USD: "$", + B: "B", + T: "T", + Q: "Q", + M: "M", + FIAT: "fiat", +}; + +/* Set the global formatting options */ +const fmt = { + decimalSeparator: ".", + groupSeparator: ",", + groupSize: 3, +}; +BigNumber.config({ FORMAT: fmt }); +BigNumber.config({ ROUNDING_MODE: 1 }); // equivalent + +/** + * --------------------------------- + * CORE Functions + * --------------------------------- + */ + +/** + * GROUP I: Format number + * Converts an integer value to a formatted string using BigNumber.js + * @param {any} _value - number to convert takes BigNumber || string || number 1000 + * @return {string} formatter number as a string ie: '1,000' + */ + +const formatIntegerToString = ( + _value: BigNumber | string | number +): FormattedValue => { + return { + value: new BigNumber(_value).toFormat(), + }; +}; + +/** + * GROUP II: Formatted integers + * Converts an integer value to a FormattedNumber object, returns value in { billions, trillions, "> 1Q"} if > 1 million + * @param _value BigNumber || string || number} + * @return {object} FormattedNumber + */ +const formatIntegerValue = ( + _value: BigNumber | string | number +): FormattedValue => { + const value = new BigNumber(_value); + /* Case I: value >= 1,000,000,000,000,000 */ + if (value.isGreaterThanOrEqualTo(OneQuadrillion)) { + return convertToQuadrillion(value); + } + + /* Case II: value >= 1,000,000,000,000 */ + if (value.isGreaterThanOrEqualTo(OneTrillion)) { + return convertToTrillions(value); + } + + /* Case III: value >= 1,000,000,000 */ + if (value.isGreaterThanOrEqualTo(OneBillion)) { + return convertToBillions(value); + } + + /* Case IV: value >= 1,000,000 */ + if (value.isGreaterThanOrEqualTo(OneMillion)) { + return convertToMillions(value); + } + + /* Case V: value < 1,000,000,000 */ + return { value: value.toFormat() }; +}; + +/** + * GROUP III: Floating point values + * Converts a floating point value to a FormattedNumber object. Returns formatted value, unless the value is less then 0.000001. + * Show upto 6 decimal points or to the last decimal point. Ie: 1.3 should be shown as 1.3. Follows Group II (formatIntegerValue) if value is greater than 1 million. + * Use cases: Token Balances / Quantities / Tx fee/ Tx amount + * @param {any} _value number to convert takes BigNumber || string || number + * @returns {object} FormattedNumber with value as formatted string, and tooltipText + */ +function formatFloatingPointValue( + _value: BigNumber | string | number +): FormattedValue { + const value = new BigNumber(_value); + /** + * Case I: value === 0 + * Return: "0" + */ + if (value.isZero() || value.isNaN()) { + return { value: "0" }; + } + + /** + * Case II: value >= 1,000,000 + * Return: formated integer value with tooltip + */ + if (value.isGreaterThanOrEqualTo(OneMillion)) { + return formatIntegerValue(value); + } + + /** + * Case III: value >= 10,000 + * Return: a number, rounded to 2 decimal points and tooltip with full value if > 2 decimal places + */ + if (value.isGreaterThanOrEqualTo(TenThousand)) { + return getRoundNumber(value, 2); + } + + /** + * Case IV: value >= 1 + * Return: a number, rounded to 4 decimal points and tooltip with full value if > 4 decimal places + */ + if (value.isGreaterThanOrEqualTo(1)) { + return getRoundNumber(value, 4); + } + + /** + * Case V: value >= 0.0000001 + * Return: a number, rounded up to 7 decimal places and tooltip with full value if > 7 decimal places + */ + if (value.isGreaterThanOrEqualTo(SmallNumberBreakpoint)) { + return getRoundNumber(value, 6); + } + + /** + * Case V: value < 0.000001 + * Return: string "< 0.000001" and tooltip with full value + */ + return { + value: `< ${SmallNumberBreakpoint}`, + tooltipText: value.toFormat(), + }; +} + +/** + * GROUP IV: Balance ETH Value + * Converts a floating point WEI value to a FormattedNumber object. Returns formatted value in ETH, Gwei or wei. + * Show upto 6 decimal points or to the last decimal point. Ie: 1.3 should be shown as 1.3. Follows Group II (formatIntegerValue) if value is greater than 1 million. + * Use cases: Dashboard ETH balance / Swap & Send Transaction Balance /Access Wallet with Mnemonic type wallet, in address table + * @param {any} _value MUST BE IN WEI number to convert takes BigNumber || string || number + * @returns {object} FormattedNumber with value as formatted string, unit and tooltipText + */ +const formatBalanceEthValue = ( + _value: BigNumber | string | number +): FormattedValue => { + const value = new BigNumber(_value); + const ethValue = new BigNumber(fromWei(_value.toString())); + + /** + * Case I: value === 0 + * Return: "0 ETH" + */ + if (value.isZero()) { + return { value: "0", unit: FormattedNumberUnit.ETH }; + } + /** + * Case II: value < 10,000 wei + * Return: small values in WEI (no conversion) and tooltip with ETH value + */ + if (value.isLessThan(TenThousand)) { + return { + value: value.toFormat(), + unit: FormattedNumberUnit.WEI, + tooltipText: `${ethValue.toFormat()}`, + }; + } + /** + * Case III: value < 10 Billion Wei OR value < 10 Gwei + * Return: Gwei value + */ + if (value.isLessThan(TenBillion)) { + return { + value: new BigNumber(fromWei(_value.toString(), "gwei")).toFormat(), + unit: FormattedNumberUnit.GWEI, + tooltipText: `${ethValue.toFormat()}`, + }; + } + /** + * Case IV: 0.00000001 ETH <= x < 0.000001 ETH + * Return: rounded number to 8 dps + */ + if (value.isLessThan(OneTrillion)) { + const formatted = getRoundNumber(ethValue, 8); + return { + value: formatted.value, + unit: FormattedNumberUnit.ETH, + tooltipText: formatted.tooltipText, + }; + } + + /** + * Case V: x >= 0.000001 ETH + * Return: formatFloatingPointValue + */ + const formatted = formatFloatingPointValue(ethValue); + return { + value: formatted.value, + unit: FormattedNumberUnit.ETH, + tooltipText: formatted.tooltipText, + }; +}; +/** + * GROUP V: Gwei (gas) values + * Converts a floating point WEI value to a FormattedNumber object. Returns formatted value in ETH, Gwei or wei. + * Show upto 6 decimal points or to the last decimal point. Ie: 1.3 should be shown as 1.3. Follows Group II (formatIntegerValue) if value is greater than 1 million. + * Use cases: Token Balances / Quantities / Tx fee/ Tx amount + * @param {any} _value MUST BE IN WEI number to convert takes BigNumber || string || number + * @returns {object} FormattedNumber with value as formatted string, unit and tooltipText + */ +const formatGasValue = ( + _value: BigNumber | string | number +): FormattedValue => { + const value = new BigNumber(_value); + const gweiValue = new BigNumber(fromWei(_value.toString(), "gwei")); + const ethValue = new BigNumber(fromWei(_value.toString())); + const unit = FormattedNumberUnit.GWEI; + + /** + * Case I: value === 0 + * Return: "0 Gwei" + */ + if (value.isZero()) { + return { value: "0", unit }; + } + + /** + * Case II: x < 0.00001 Gwei + * Return: number in wei and show tooltip with Gwei value + */ + if (value.isLessThan(TenThousand)) { + return { + value: value.toFormat(), + unit: FormattedNumberUnit.WEI, + tooltipText: `${ethValue.toFormat()}`, + }; + } + + /** + * Case III: 0.00001 Gwei =< X < 1 mil Gwei + * Return: number in Gwei + */ + + if (gweiValue.isLessThan(OneMillion)) { + return { + value: formatFloatingPointValue(gweiValue).value, + unit: unit, + tooltipText: `${ethValue.toFormat()}`, + }; + } + + /** + * Case IV: x >= 1 mill + * Return: number in eth and show tooltip with Gwei value + */ + const formatted = formatFloatingPointValue(ethValue); + return { + value: formatted.value, + unit: FormattedNumberUnit.ETH, + tooltipText: `${formatted.tooltipText}`, + }; +}; +/** + * GROUP VI: Percentage values + * Converts a percentage value to a FormattedNumber + * @param {any} _value number to convert takes string || number + * @returns {object} FormattedNumber with value as formatted string, unit and tooltipText + */ +const formatPercentageValue = ( + _value: BigNumber | string | number +): FormattedValue => { + /* Strip '%' if necessary */ + const value = new BigNumber(_value.toString().replaceAll("%", "")); + const unit = FormattedNumberUnit.PERCENT; + /** + * Case I: value === 0 + * Return: "0%" + */ + if (value.isZero()) { + return { value: "0", unit }; + } + + const isNegative = value.isNegative(); // Record whether value is negative + const absoluteValue = value.absoluteValue(); // Get Absolute value + + /** + * Case II: |value| > 10000 + * Return: >10,000% or <-10000% and tooltip + */ + if (absoluteValue.isGreaterThan(TenThousand)) { + const result = isNegative ? "< -10,000%" : "> 10,000%"; + return { + value: result, + unit: unit, + tooltipText: `${value.toFormat()}%`, + }; + } + + /** + * Case III: |value| >= 1000 + * Return: whole number and tooltips if has decimal points + */ + if (absoluteValue.isGreaterThanOrEqualTo(1000)) { + const dps = value.decimalPlaces(); + return { + value: `${value.toFormat(0)}%`, + unit: unit, + tooltipText: dps ? `${value.toFormat()}%` : undefined, + }; + } + + /** + * Case IV: |value| >= 0.01 + * Return: rounded to 2 decimal points number and tooltip if > 2 decimal points + */ + if (absoluteValue.isGreaterThanOrEqualTo(0.01)) { + return { value: `${getRoundNumber(value, 2, true).value}%`, unit: unit }; + } + + /** + * Case V: |value| >= 0.01 + * Return: rounded to 2 decimal points number and tooltip if > 2 decimal points + */ + if (absoluteValue.isGreaterThanOrEqualTo(SmallNumberBreakpoint)) { + return { value: `${getRoundNumber(value, 6).value}%`, unit: unit }; + } + + /** + * Case VI: If |value| < 0.000001 + * Return: '>-0.000001' '<0.000001'r and tooltip + */ + const result = isNegative ? "> -0.000001%" : "< 0.000001%"; + return { value: result, unit: unit, tooltipText: `${value.toFormat()}%` }; +}; + +/** + * GROUP VII: Fiat Values + * Converts a fiat value to a FormattedNumber + * Shows upto 6 decimal points or to the last decimal point on 0.000001 <= X < 0.01. + * Shows 2 decimal points or to the last decimal point on 0.01 <= X < 1,000,000. + * @param _value: BigNumber + * @returns Object FormattedNumber with value as formatted string and tooltipText + */ +const formatFiatValue = ( + _value: BigNumber | string | number +): FormattedValue => { + const value = new BigNumber(_value); + /** + * Case I: value === 0 + * Return: "$0.00" + */ + if (value === undefined || value.isZero() || value.isNaN()) { + return { value: "0.00" }; + } + + /** + * Case II: value >= 1,000,000 + * Return: formated integer value with tooltip + */ + if (value.isGreaterThanOrEqualTo(OneMillion)) { + return formatIntegerValue(value); + } + + /** + * Case V: value > 0.04 + * Return: rounded number up to 2 decimal points, no tooltip + */ + if (value.isGreaterThanOrEqualTo(SmallFiatBreakpoint)) { + return { value: getRoundNumber(value, 2, true).value }; + } + + /** + * Case VI: 0.000001 <= value < 0.01 + * Return: rounded number up to 6 decimal points", no tooltip + */ + if (value.isGreaterThanOrEqualTo(SmallNumberBreakpoint)) { + return { value: getRoundNumber(value, 6).value }; + } + + /** + * Case V: value < 0.0000001 + * Return: string "< $0.0000001" and tooltip with full value with tooltip + */ + return { value: `< ${SmallNumberBreakpoint}`, tooltipText: value.toFormat() }; +}; + +/** + * --------------------------------- + * Helper Functions + * Do not export then to use in formatting strings + * --------------------------------- + */ + +/** + * Helper function. Converts a value to Millions in FormattedNumber object + * @param {BigNumber} value - number to convert takes BigNumber || string || number 1000 + * @return {object} - FormatterNumber + */ +const convertToMillions = (value: BigNumber): FormattedValue => { + const result = value.dividedBy(OneMillion); + return { + value: `${getRoundNumber(result, 4).value}${FormattedNumberUnit.M}`, + tooltipText: value.toFormat(), + }; +}; + +/** + * Helper function. Converts a value to Billions in FormattedNumber object + * @param {BigNumber} value - number to convert takes BigNumber || string || number + * @return {object} - FormatterNumber + */ +const convertToBillions = (value: BigNumber): FormattedValue => { + const result = value.dividedBy(OneBillion); + return { + value: `${getRoundNumber(result, 4).value}${FormattedNumberUnit.B}`, + tooltipText: value.toFormat(), + }; +}; +/** + * Helper function. Converts a value to Trillions in FormattedNumber object + * @param {BigNumber} value - number to convert takes BigNumber || string || number + * @return {object} - FormatterNumber + */ +const convertToTrillions = (value: BigNumber): FormattedValue => { + const result = value.dividedBy(OneTrillion); + return { + value: `${getRoundNumber(result, 4).value}${FormattedNumberUnit.T}`, + tooltipText: value.toFormat(), + }; +}; + +/** + * Helper function. returns Quadrillion in FormattedNumber object + * @param {BigNumber} value - number to convert takes BigNumber || string || number + * @return {object} - FormatterNumber + */ +const convertToQuadrillion = (value: BigNumber): FormattedValue => { + return { + value: "> 1Q", + unit: FormattedNumberUnit.Q, + tooltipText: value.toFormat(), + }; +}; + +/** + * Helper function. Rounds a value to specified decimal points and tooltip with full value if > more decimal points then round + * @param {BigNumber} value - number to convert takes BigNumber || string || number + * @param {number} round - how many decimal points to round the number + * @param {boolean} hasTrailingZeros - set this to true, if you want to dispaly trailing zeros ie: desired result 12.3000 instead of 12.3 + * @return {object} - FormatterNumber + */ +const getRoundNumber = ( + value: BigNumber, + round: number, + hasTrailingZeros = false +): FormattedValue => { + const dps = value.decimalPlaces(); + return { + value: hasTrailingZeros + ? value.decimalPlaces(round).toFormat(round) + : value.decimalPlaces(round).toFormat(), + tooltipText: dps! > round ? value.toFormat() : undefined, + }; +}; + +/***************************************** + * handeles edgecases for web3 util toBN + * @param {number} number - expects number, handles non numbers + * @return {BigNumber} BN from web3 + *****************************************/ + +const toBNSafe = (number: number) => { + if (isNaN(number) || isNull(number) || isUndefined(number)) number = 0; + return toBN(new BigNumber(number).toFixed(0)); +}; + +export { + formatIntegerToString, + formatIntegerValue, + formatFloatingPointValue, + formatFiatValue, + formatBalanceEthValue, + formatPercentageValue, + formatGasValue, + toBNSafe, +}; diff --git a/packages/extension-vite/src/libs/utils/open-hardware.ts b/packages/extension-vite/src/libs/utils/open-hardware.ts new file mode 100644 index 000000000..1930048dd --- /dev/null +++ b/packages/extension-vite/src/libs/utils/open-hardware.ts @@ -0,0 +1,10 @@ +import Browser from "webextension-polyfill"; +import { namespace } from "@/ui/onboard/hardware-wallet/routes"; +export default (networkName: string) => { + const hardwareWalletURL = Browser.runtime.getURL( + `onboard.html#/${namespace}/?network=${networkName}` + ); + Browser.tabs.create({ + url: hardwareWalletURL, + }); +}; diff --git a/packages/extension-vite/src/libs/utils/open-onboard.ts b/packages/extension-vite/src/libs/utils/open-onboard.ts new file mode 100644 index 000000000..7facb9437 --- /dev/null +++ b/packages/extension-vite/src/libs/utils/open-onboard.ts @@ -0,0 +1,14 @@ +import Browser from "webextension-polyfill"; + +export const openPrivacy = () => { + const onboardURL = Browser.runtime.getURL("onboard.html#/user-privacy"); + Browser.tabs.create({ + url: onboardURL, + }); +}; +export default () => { + const onboardURL = Browser.runtime.getURL("onboard.html"); + Browser.tabs.create({ + url: onboardURL, + }); +}; diff --git a/packages/extension-vite/src/libs/utils/scroll-settings.ts b/packages/extension-vite/src/libs/utils/scroll-settings.ts new file mode 100644 index 000000000..2bd984e12 --- /dev/null +++ b/packages/extension-vite/src/libs/utils/scroll-settings.ts @@ -0,0 +1,11 @@ +export default ({ + suppressScrollX = false, + suppressScrollY = false, + wheelPropagation = false, +}) => { + return { + suppressScrollY, + suppressScrollX, + wheelPropagation, + }; +}; diff --git a/packages/extension-vite/src/libs/utils/tab-info.ts b/packages/extension-vite/src/libs/utils/tab-info.ts new file mode 100644 index 000000000..d8ba51f3c --- /dev/null +++ b/packages/extension-vite/src/libs/utils/tab-info.ts @@ -0,0 +1,13 @@ +import { ProviderRequestOptions } from "@/types/provider"; +import { Tabs } from "webextension-polyfill"; +import URL from "url-parse"; +export default (tab: Tabs.Tab): ProviderRequestOptions => { + const domain = tab.url ? new URL(tab.url).hostname : ""; + return { + domain: domain || "", + url: tab.url || "", + faviconURL: tab.favIconUrl || "", + title: tab.title || "", + tabId: tab.id || 0, + }; +}; diff --git a/packages/extension-vite/src/libs/window-promise/handler.ts b/packages/extension-vite/src/libs/window-promise/handler.ts new file mode 100644 index 000000000..137baacdc --- /dev/null +++ b/packages/extension-vite/src/libs/window-promise/handler.ts @@ -0,0 +1,99 @@ +import { onMounted, reactive, ref, Ref, UnwrapNestedRefs } from "vue"; +import { + newWindowOnMessageFromBackground, + sendToBackgroundFromNewWindow, +} from "@/libs/messenger/extension"; +import { + ProviderRPCRequest, + ProviderRequestOptions, + ProviderName, +} from "@/types/provider"; +import { Destination, InternalOnMessageResponse } from "@/types/messenger"; +import PublicKeyRing from "@/libs/keyring/public-keyring"; +import type { WindowPromiseType } from "@/types/ui"; +import { getCustomError } from "@/libs/error"; +import { RPCRequestType } from "@enkryptcom/types"; + +export default (paramCount: number): Promise => { + let PromResolve: (val: WindowPromiseType) => void; + const RetPromise: Promise = new Promise((resolve) => { + PromResolve = resolve; + }); + const options: UnwrapNestedRefs = reactive({ + url: "", + domain: "", + faviconURL: "", + title: "", + tabId: 0, + }); + const PromiseResolve: Ref<(res: InternalOnMessageResponse) => void> = ref( + () => { + throw "window-promise-handler: not implemented"; + } + ); + const Request: Ref = ref({ method: "", value: "" }); + const KeyRing: PublicKeyRing = new PublicKeyRing(); + + const sendToBackground = ( + req: RPCRequestType + ): Promise => { + return sendToBackgroundFromNewWindow({ + provider: ProviderName.enkrypt, + message: JSON.stringify(req), + }).then((response) => { + if (response.error) return response; + else + return { + result: JSON.parse(response.result as string), + }; + }); + }; + onMounted(() => { + history.pushState(null, "", window.location.href); + history.back(); + window.onpopstate = () => history.forward(); + // prevents browser back button + + newWindowOnMessageFromBackground( + (message): Promise => { + if ( + message.sender.context !== Destination.background || + message.provider !== ProviderName.enkrypt + ) { + return Promise.resolve({ + error: getCustomError( + "window-promise-handler: invalid message sender" + ), + }); + } + const RPCRequest = JSON.parse(message.message) as ProviderRPCRequest; + if ( + paramCount > 0 && + (!RPCRequest.params || RPCRequest.params.length !== paramCount) + ) { + return Promise.resolve({ + error: getCustomError( + "window-promise-handler: invalid number of params" + ), + }); + } + options.domain = RPCRequest.options?.domain as string; + options.url = RPCRequest.options?.url as string; + options.faviconURL = RPCRequest.options?.faviconURL as string; + options.title = RPCRequest.options?.title as string; + Request.value = RPCRequest; + PromResolve({ + KeyRing, + Request, + options, + sendToBackground, + Resolve: PromiseResolve, + }); + return new Promise((resolve) => { + PromiseResolve.value = resolve; + }); + } + ); + }); + return RetPromise; +}; diff --git a/packages/extension-vite/src/libs/window-promise/index.ts b/packages/extension-vite/src/libs/window-promise/index.ts new file mode 100644 index 000000000..13098cea0 --- /dev/null +++ b/packages/extension-vite/src/libs/window-promise/index.ts @@ -0,0 +1,4 @@ +import WindowPromise from "./promise"; +import WindowPromiseHandler from "./handler"; + +export { WindowPromise, WindowPromiseHandler }; diff --git a/packages/extension-vite/src/libs/window-promise/promise.ts b/packages/extension-vite/src/libs/window-promise/promise.ts new file mode 100644 index 000000000..afd50ec00 --- /dev/null +++ b/packages/extension-vite/src/libs/window-promise/promise.ts @@ -0,0 +1,122 @@ +import { + sendToBackgroundFromBackground, + sendToNewWindowFromBackground, +} from "@/libs/messenger/extension"; +import { ProviderName } from "@/types/provider"; +import Browser from "webextension-polyfill"; +import { InternalMethods, InternalOnMessageResponse } from "@/types/messenger"; +import { getCustomError, getError } from "../error"; +import getUiPath from "../utils/get-ui-path"; +import UIRoutes from "@/ui/provider-pages/enkrypt/routes/names"; +import { ErrorCodes } from "@/providers/ethereum/types"; + +const UNLOCK_PATH = getUiPath(UIRoutes.unlock.path, ProviderName.enkrypt); +class WindowPromise { + private async getRawResponse( + url: string, + msg: string, + tabId: number + ): Promise { + return new Promise((resolve) => { + Browser.tabs.onUpdated.addListener(function listener(_tabId, info, tab) { + if (info.status === "complete" && _tabId === tabId && tab.url === url) { + resolve( + sendToNewWindowFromBackground( + { + provider: ProviderName.enkrypt, + message: msg, + }, + tabId + ) + ); + Browser.tabs.onUpdated.removeListener(listener); + } + }); + Browser.tabs.update(tabId, { url }); + }); + } + + private removeTab(tabId: number) { + Browser.tabs.get(tabId).then((info) => { + Browser.windows.remove(info.windowId!); + }); + } + + async getResponse( + url: string, + msg: string, + unlockKeyring = false + ): Promise { + const windowInfo = await Browser.windows.create({ + url: "/index.html#/enkrypt/loading", + type: "popup", + focused: true, + height: 600, + width: 460, + }); + const tabId: number | undefined = windowInfo.tabs?.length + ? windowInfo.tabs[0].id + : 0; + if (typeof tabId === "undefined") { + return Promise.resolve({ + error: getCustomError("unknown error, no tabId"), + }); + } + const waitForWindow = async (): Promise => { + + while ((await Browser.tabs.get(tabId)).status !== "complete") {} + }; + await waitForWindow(); + const monitorTabs = (): Promise => { + return new Promise((resolve) => { + Browser.tabs.onRemoved.addListener(function tabListener(_tabId) { + if (_tabId === tabId) { + Browser.tabs.onRemoved.removeListener(tabListener); + resolve({ + error: getError(ErrorCodes.userRejected), + }); + } + }); + }); + }; + const executePromise = async (): Promise => { + const isKeyRingLocked = await sendToBackgroundFromBackground({ + provider: ProviderName.enkrypt, + message: JSON.stringify({ + method: InternalMethods.isLocked, + params: [], + }), + }).then((res) => JSON.parse(res.result as string)); + if (unlockKeyring && isKeyRingLocked) { + const unlockKeyring = await this.getRawResponse( + Browser.runtime.getURL(UNLOCK_PATH), + msg, + tabId + ); + if (unlockKeyring.error) { + this.removeTab(tabId); + return unlockKeyring; + } else { + return await this.getRawResponse( + Browser.runtime.getURL(url), + msg, + tabId + ).then((res) => { + this.removeTab(tabId); + return res; + }); + } + } + return await this.getRawResponse( + Browser.runtime.getURL(url), + msg, + tabId + ).then((res) => { + this.removeTab(tabId); + return res; + }); + }; + return Promise.race([monitorTabs(), executePromise()]); + } +} +export default WindowPromise; diff --git a/packages/extension-vite/src/manifest/base.json b/packages/extension-vite/src/manifest/base.json new file mode 100644 index 000000000..0b20aafa8 --- /dev/null +++ b/packages/extension-vite/src/manifest/base.json @@ -0,0 +1,51 @@ +{ + "author": "https://www.enkrypt.com", + "homepage_url": "https://www.enkrypt.com", + "version": "", + "name": "Enkrypt: ETH, BTC and Solana Wallet", + "short_name": "Enkrypt", + "permissions": [ + "storage", + "unlimitedStorage", + "tabs", + "clipboardRead", + "clipboardWrite" + ], + "commands": { + "_execute_action": { + "suggested_key": { + "windows": "Alt+Shift+E", + "mac": "Alt+Shift+E", + "chromeos": "Alt+Shift+E", + "linux": "Alt+Shift+E" + } + } + }, + "content_scripts": [ + { + "matches": ["file://*/*", "http://*/*", "https://*/*"], + "js": ["scripts/inject.js"], + "run_at": "document_start", + "all_frames": false, + "world": "MAIN" + }, + { + "matches": ["file://*/*", "http://*/*", "https://*/*"], + "js": ["scripts/contentscript.js"], + "run_at": "document_start", + "all_frames": false + }, + { + "matches": ["*://connect.trezor.io/*/*"], + "js": ["vendor/trezor-content-script.js"], + "run_at": "document_start" + } + ], + "description": "Everything in the blockchain made easy", + "icons": { + "16": "assets/img/icons/icon16.png", + "32": "assets/img/icons/icon32.png", + "64": "assets/img/icons/icon64.png", + "192": "assets/img/icons/icon192.png" + } +} diff --git a/packages/extension-vite/src/manifest/manifest-chrome.json b/packages/extension-vite/src/manifest/manifest-chrome.json new file mode 100644 index 000000000..69ed534c9 --- /dev/null +++ b/packages/extension-vite/src/manifest/manifest-chrome.json @@ -0,0 +1,27 @@ +{ + "manifest_version": 3, + "action": { + "default_icon": { + "16": "assets/img/icons/icon16.png", + "32": "assets/img/icons/icon32.png", + "64": "assets/img/icons/icon64.png", + "192": "assets/img/icons/icon192.png" + }, + "default_title": "Enkrypt", + "default_popup": "action.html" + }, + "background": { + "service_worker": "scripts/background.js" + }, + "web_accessible_resources": [ + { + "resources": ["scripts/inject.js", "scripts/*.js.map"], + "use_dynamic_url": false, + "matches": ["file://*/*", "http://*/*", "https://*/*"] + } + ], + "minimum_chrome_version": "111", + "content_security_policy": { + "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self'" + } +} diff --git a/packages/extension-vite/src/manifest/manifest-edge-opera.json b/packages/extension-vite/src/manifest/manifest-edge-opera.json new file mode 100644 index 000000000..42d62a514 --- /dev/null +++ b/packages/extension-vite/src/manifest/manifest-edge-opera.json @@ -0,0 +1,49 @@ +{ + "manifest_version": 3, + "action": { + "default_icon": { + "16": "assets/img/icons/icon16.png", + "32": "assets/img/icons/icon32.png", + "64": "assets/img/icons/icon64.png", + "192": "assets/img/icons/icon192.png" + }, + "default_title": "Enkrypt", + "default_popup": "action.html" + }, + "background": { + "service_worker": "scripts/background.js" + }, + "host_permissions": ["file://*/*", "http://*/*", "https://*/*"], + "content_scripts": [ + { + "matches": ["file://*/*", "http://*/*", "https://*/*"], + "js": ["scripts/contentscript.js"], + "run_at": "document_start", + "all_frames": false + }, + { + "matches": ["*://connect.trezor.io/*/*"], + "js": ["vendor/trezor-content-script.js"], + "run_at": "document_start" + } + ], + "web_accessible_resources": [ + { + "resources": ["scripts/inject.js", "scripts/*.js.map"], + "use_dynamic_url": false, + "matches": ["file://*/*", "http://*/*", "https://*/*"] + } + ], + "minimum_chrome_version": "111", + "content_security_policy": { + "extension_pages": "script-src 'self' 'wasm-unsafe-eval'; object-src 'self'" + }, + "permissions": [ + "storage", + "unlimitedStorage", + "tabs", + "clipboardRead", + "clipboardWrite", + "scripting" + ] +} diff --git a/packages/extension-vite/src/manifest/manifest-firefox.json b/packages/extension-vite/src/manifest/manifest-firefox.json new file mode 100644 index 000000000..778079076 --- /dev/null +++ b/packages/extension-vite/src/manifest/manifest-firefox.json @@ -0,0 +1,46 @@ +{ + "manifest_version": 2, + "background": { + "scripts": ["scripts/background.js"], + "persistent": true + }, + "commands": { + "_execute_browser_action": { + "suggested_key": { + "windows": "Alt+Shift+E", + "mac": "Alt+Shift+E", + "chromeos": "Alt+Shift+E", + "linux": "Alt+Shift+E" + } + } + }, + "browser_action": { + "default_icon": { + "16": "assets/img/icons/icon16.png", + "32": "assets/img/icons/icon32.png", + "64": "assets/img/icons/icon64.png", + "192": "assets/img/icons/icon192.png" + }, + "default_title": "Enkrypt", + "default_popup": "action.html" + }, + "content_scripts": [ + { + "matches": ["file://*/*", "http://*/*", "https://*/*"], + "js": ["scripts/contentscript.js"], + "run_at": "document_start", + "all_frames": false + }, + { + "matches": ["*://connect.trezor.io/*/*"], + "js": ["vendor/trezor-content-script.js"], + "run_at": "document_start" + } + ], + "browser_specific_settings": { + "gecko": { + "strict_min_version": "100.0" + } + }, + "content_security_policy": "script-src 'self' 'unsafe-eval' 'wasm-unsafe-eval'" +} diff --git a/packages/extension-vite/src/manifest/tests/manifests.mocha.ts b/packages/extension-vite/src/manifest/tests/manifests.mocha.ts new file mode 100644 index 000000000..ce159defe --- /dev/null +++ b/packages/extension-vite/src/manifest/tests/manifests.mocha.ts @@ -0,0 +1,8 @@ +import BaseManifest from "../base.json"; +import { expect } from "chai"; + +describe("Various tests related to manifest", () => { + it("should have correct lengths", async () => { + expect(BaseManifest.name.length).to.be.lessThanOrEqual(45); + }); +}); diff --git a/packages/extension-vite/src/providers/bitcoin/index.ts b/packages/extension-vite/src/providers/bitcoin/index.ts new file mode 100644 index 000000000..47cd66f05 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/index.ts @@ -0,0 +1,73 @@ +import { BaseNetwork } from "@/types/base-network"; +import getRequestProvider, { RequestClass } from "@enkryptcom/request"; +import Networks from "./networks"; +import { MiddlewareFunction, OnMessageResponse } from "@enkryptcom/types"; +import Middlewares from "./methods"; +import EventEmitter from "eventemitter3"; +import { + BackgroundProviderInterface, + ProviderName, + ProviderRPCRequest, +} from "@/types/provider"; +import GetUIPath from "@/libs/utils/get-ui-path"; +import PublicKeyRing from "@/libs/keyring/public-keyring"; +import UIRoutes from "./ui/routes/names"; +import { BitcoinNetwork } from "./types/bitcoin-network"; +class BitcoinProvider + extends EventEmitter + implements BackgroundProviderInterface +{ + network: BitcoinNetwork; + requestProvider: RequestClass; + middlewares: MiddlewareFunction[] = []; + namespace: string; + KeyRing: PublicKeyRing; + UIRoutes = UIRoutes; + toWindow: (message: string) => void; + constructor( + toWindow: (message: string) => void, + network: BitcoinNetwork = Networks.bitcoin + ) { + super(); + this.network = network; + this.toWindow = toWindow; + this.setMiddleWares(); + this.requestProvider = getRequestProvider("", this.middlewares); + this.requestProvider.on("notification", (notif: any) => { + this.sendNotification(JSON.stringify(notif)); + }); + this.namespace = ProviderName.bitcoin; + this.KeyRing = new PublicKeyRing(); + } + private setMiddleWares(): void { + this.middlewares = Middlewares.map((mw) => mw.bind(this)); + } + setRequestProvider(network: BaseNetwork): void { + this.network = network as BitcoinNetwork; + this.requestProvider.changeNetwork(network.node); + } + async isPersistentEvent(): Promise { + return false; + } + async sendNotification(notif: string): Promise { + return this.toWindow(notif); + } + request(request: ProviderRPCRequest): Promise { + return this.requestProvider + .request(request) + .then((res) => { + return { + result: JSON.stringify(res), + }; + }) + .catch((e) => { + return { + error: JSON.stringify(e.message), + }; + }); + } + getUIPath(page: string): string { + return GetUIPath(page, this.namespace); + } +} +export default BitcoinProvider; diff --git a/packages/extension-vite/src/providers/bitcoin/inject.ts b/packages/extension-vite/src/providers/bitcoin/inject.ts new file mode 100644 index 000000000..805268e7e --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/inject.ts @@ -0,0 +1,143 @@ +import EventEmitter from "eventemitter3"; +import { handleIncomingMessage } from "./libs/message-router"; +import { EthereumRequest, EthereumResponse } from "@/providers/ethereum/types"; +import { + ProviderName, + ProviderOptions, + ProviderType, + ProviderInterface, + SendMessageHandler, +} from "@/types/provider"; +import { EnkryptWindow } from "@/types/globals"; +import { BitcoinNetworks } from "./types"; +import { InternalMethods } from "@/types/messenger"; +import { SettingsType } from "@/libs/settings-state/types"; + +export class Provider extends EventEmitter implements ProviderInterface { + connected: boolean; + name: ProviderName; + type: ProviderType; + version: string = __VERSION__; + autoRefreshOnNetworkChange = false; + networks: typeof BitcoinNetworks; + sendMessageHandler: SendMessageHandler; + constructor(options: ProviderOptions) { + super(); + this.connected = true; + this.name = options.name; + this.type = options.type; + this.networks = BitcoinNetworks; + this.sendMessageHandler = options.sendMessageHandler; + } + + async request(request: EthereumRequest): Promise { + const res = (await this.sendMessageHandler( + this.name, + JSON.stringify(request) + )) as EthereumResponse; + return res; + } + + requestAccounts = async () => { + return this.request({ + method: "btc_requestAccounts", + }); + }; + + getAccounts = async () => { + return this.request({ + method: "btc_requestAccounts", + }); + }; + + getPublicKey = async () => { + return this.request({ + method: "btc_getPublicKey", + }); + }; + + getNetwork = async () => { + return this.request({ + method: "btc_getNetwork", + }); + }; + + switchNetwork = async (network: string) => { + return this.request({ + method: "btc_switchNetwork", + params: [network], + }); + }; + + getBalance = async () => { + return this.request({ + method: "btc_getBalance", + }); + }; + + signPsbt = async (psbtHex: string, options?: any) => { + return this.request({ + method: "btc_signPsbt", + params: [psbtHex, options], + }); + }; + + signMessage = async (text: string, type: string) => { + return this.request({ + method: "btc_signMessage", + params: [text, type], + }); + }; + + getInscriptions = async () => { + return Promise.reject("not implemented"); + }; + + sendBitcoin = async () => { + return Promise.reject("not implemented"); + }; + + sendInscription = async () => { + return Promise.reject("not implemented"); + }; + + inscribeTransfer = async () => { + return Promise.reject("not implemented"); + }; + + pushTx = async () => { + return Promise.reject("not implemented"); + }; + + signPsbts = async () => { + return Promise.reject("not implemented"); + }; + + pushPsbt = async () => { + return Promise.reject("not implemented"); + }; + + isConnected(): boolean { + return this.connected; + } + handleMessage(msg: string): void { + handleIncomingMessage(this, msg); + } +} + +const injectDocument = ( + document: EnkryptWindow | Window, + options: ProviderOptions +): void => { + const provider = new Provider(options); + options + .sendMessageHandler( + ProviderName.enkrypt, + JSON.stringify({ method: InternalMethods.getSettings, params: [] }) + ) + .then((settings: SettingsType) => { + if (settings.btc.injectUnisat) document["unisat"] = provider; + }); + document["enkrypt"]["providers"][options.name] = provider; +}; +export default injectDocument; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/accounts-state/index.ts b/packages/extension-vite/src/providers/bitcoin/libs/accounts-state/index.ts new file mode 100644 index 000000000..54a360903 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/accounts-state/index.ts @@ -0,0 +1,72 @@ +import { InternalStorageNamespace } from "@/types/provider"; +import BrowserStorage from "@/libs/common/browser-storage"; +import { IState, StorageKeys } from "./types"; +class AccountState { + #storage: BrowserStorage; + constructor() { + this.#storage = new BrowserStorage( + InternalStorageNamespace.bitcoinAccountsState + ); + } + async addApprovedAddress(address: string, domain: string): Promise { + address = address.toLowerCase(); + const state = await this.getStateByDomain(domain); + if (state.approvedAccounts.includes(address)) + state.approvedAccounts = state.approvedAccounts.filter( + (add) => add !== address + ); //this will make sure latest address is always infront + state.approvedAccounts.unshift(address); + await this.setState(state, domain); + } + async removeApprovedAddress(address: string, domain: string): Promise { + address = address.toLowerCase(); + const state = await this.getStateByDomain(domain); + if (state.approvedAccounts.includes(address)) { + state.approvedAccounts = state.approvedAccounts.filter( + (a) => a !== address + ); + await this.setState(state, domain); + } + } + async getApprovedAddresses(domain: string): Promise { + const state = await this.getStateByDomain(domain); + if (state.approvedAccounts) return state.approvedAccounts; + return []; + } + async deleteState(domain: string): Promise { + const allStates = await this.getAllStates(); + if (allStates[domain]) { + delete allStates[domain]; + await this.#storage.set(StorageKeys.accountsState, allStates); + } + } + async isConnected(domain: string): Promise { + return this.getStateByDomain(domain).then( + (res) => res.approvedAccounts.length > 0 + ); + } + async deleteAllStates(): Promise { + return await this.#storage.remove(StorageKeys.accountsState); + } + async setState(state: IState, domain: string): Promise { + const allStates = await this.getAllStates(); + allStates[domain] = state; + await this.#storage.set(StorageKeys.accountsState, allStates); + } + async getStateByDomain(domain: string): Promise { + const allStates: Record = await this.getAllStates(); + if (!allStates[domain]) + return { + approvedAccounts: [], + }; + else return allStates[domain]; + } + async getAllStates(): Promise> { + const allStates: Record = await this.#storage.get( + StorageKeys.accountsState + ); + if (!allStates) return {}; + return allStates; + } +} +export default AccountState; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/accounts-state/types.ts b/packages/extension-vite/src/providers/bitcoin/libs/accounts-state/types.ts new file mode 100644 index 000000000..768317475 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/accounts-state/types.ts @@ -0,0 +1,6 @@ +export enum StorageKeys { + accountsState = "bitcoin-accounts-state", +} +export interface IState { + approvedAccounts: string[]; +} diff --git a/packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/index.ts b/packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/index.ts new file mode 100644 index 000000000..dc0e381ea --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/index.ts @@ -0,0 +1,3 @@ +import haskoinHandler from "./providers/haskoin"; +import ssHandler from "./providers/ss"; +export { haskoinHandler, ssHandler }; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/providers/haskoin/index.ts b/packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/providers/haskoin/index.ts new file mode 100644 index 000000000..f71f66587 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/providers/haskoin/index.ts @@ -0,0 +1,95 @@ +import MarketData from "@/libs/market-data"; +import { HaskoinTxType } from "@/providers/bitcoin/types"; +import { + Activity, + ActivityStatus, + ActivityType, + BTCRawInfo, +} from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; +export default async ( + network: BaseNetwork, + pubkey: string +): Promise => { + return fetch( + `${network.node}address/${network.displayAddress(pubkey)}/transactions/full` + ) + .then((res) => res.json()) + .then(async (txs: HaskoinTxType[]) => { + if ((txs as any).error) return []; + let tokenPrice = "0"; + if (network.coingeckoID) { + const marketData = new MarketData(); + await marketData + .getTokenPrice(network.coingeckoID) + .then((mdata) => (tokenPrice = mdata || "0")); + } + + const address = network.displayAddress(pubkey); + return txs.map((tx) => { + const isIncoming = !tx.inputs.find((i) => i.address === address); + + let toAddress = ""; + let value = 0; + + if (isIncoming) { + const relevantOut = tx.outputs.find((tx) => tx.address === address); + if (relevantOut) { + toAddress = relevantOut.address; + value = relevantOut.value; + } + } else { + const relevantOut = tx.outputs.find((tx) => tx.address !== address); + if (relevantOut) { + toAddress = relevantOut.address; + value = relevantOut.value; + } else { + toAddress = tx.outputs[0].address; + value = Number(tx.outputs[0].value); + } + } + + const rawInfo: BTCRawInfo = { + blockNumber: tx.block.height!, + fee: tx.fee, + inputs: tx.inputs.map((input) => ({ + address: input.address, + value: input.value, + })), + outputs: tx.outputs.map((output) => ({ + address: output.address, + value: output.value, + pkscript: output.pkscript, + })), + transactionHash: tx.txid, + timestamp: tx.time * 1000, + }; + const act: Activity = { + from: tx.inputs[0].address, + isIncoming, + network: network.name, + status: !tx.block.mempool + ? ActivityStatus.success + : ActivityStatus.pending, + timestamp: tx.time * 1000, + to: toAddress, + token: { + decimals: network.decimals, + icon: network.icon, + name: network.name_long, + symbol: network.currencyName, + coingeckoID: network.coingeckoID, + price: tokenPrice, + }, + transactionHash: tx.txid, + type: ActivityType.transaction, + value: value.toString(), + rawInfo: rawInfo, + }; + return act; + }); + }) + .catch(() => { + return []; + }); +}; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/providers/ss/index.ts b/packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/providers/ss/index.ts new file mode 100644 index 000000000..d1dfe3a82 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/activity-handlers/providers/ss/index.ts @@ -0,0 +1,108 @@ +import MarketData from "@/libs/market-data"; +import { SSTxType } from "@/providers/bitcoin/types"; +import { + Activity, + ActivityStatus, + ActivityType, + BTCRawInfo, +} from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; +export default async ( + network: BaseNetwork, + pubkey: string +): Promise => { + return fetch( + `${network.node}/api/v1/account/${network.displayAddress( + pubkey + )}/txs?pageSize=40` + ) + .then((res) => res.json()) + .then(async (txs: { txs: SSTxType[] }) => { + if ((txs as any).message) return []; + let tokenPrice = "0"; + if (network.coingeckoID) { + const marketData = new MarketData(); + await marketData + .getTokenPrice(network.coingeckoID) + .then((mdata) => (tokenPrice = mdata || "0")); + } + + const address = network.displayAddress(pubkey); + const cleanedTxs = txs.txs.map((tx) => { + return { + ...tx, + vin: tx.vin.filter((vi) => vi.addresses), + vout: tx.vout.filter((vo) => vo.addresses), + }; + }); + return cleanedTxs.map((tx) => { + const isIncoming = !tx.vin.find((i) => i.addresses![0] === address); + let toAddress = ""; + let value = 0; + + if (isIncoming) { + const relevantOut = tx.vout.find( + (tx) => tx.addresses![0] === address + ); + if (relevantOut) { + toAddress = relevantOut.addresses![0]; + value = Number(relevantOut.value); + } + } else { + const relevantOut = tx.vout.find( + (tx) => tx.addresses![0] !== address + ); + if (relevantOut) { + toAddress = relevantOut.addresses![0]; + value = Number(relevantOut.value); + } else { + toAddress = tx.vout[0].addresses![0]; + value = Number(tx.vout[0].value); + } + } + + const rawInfo: BTCRawInfo = { + blockNumber: tx.blockHeight!, + fee: Number(tx.fee), + inputs: tx.vin.map((input) => ({ + address: input.addresses![0], + value: Number(input.value), + })), + outputs: tx.vout.map((output) => ({ + address: output.addresses![0], + value: Number(output.value), + pkscript: output.scriptPubKey.hex, + })), + transactionHash: tx.txid, + timestamp: tx.timestamp * 1000, + }; + const act: Activity = { + from: tx.vin[0].addresses![0], + isIncoming, + network: network.name, + status: + tx.blockHeight > 0 + ? ActivityStatus.success + : ActivityStatus.pending, + timestamp: tx.timestamp * 1000, + to: toAddress, + token: { + decimals: network.decimals, + icon: network.icon, + name: network.name_long, + symbol: network.currencyName, + coingeckoID: network.coingeckoID, + price: tokenPrice, + }, + transactionHash: tx.txid, + type: ActivityType.transaction, + value: value.toString(), + rawInfo: rawInfo, + }; + return act; + }); + }) + .catch(() => { + return []; + }); +}; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/api-ss.ts b/packages/extension-vite/src/providers/bitcoin/libs/api-ss.ts new file mode 100644 index 000000000..bf79f89ce --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/api-ss.ts @@ -0,0 +1,144 @@ +import { BTCRawInfo } from "@/types/activity"; +import { ProviderAPIInterface } from "@/types/provider"; +import { + BitcoinNetworkInfo, + HaskoinUnspentType, + SSTxType, + SSUnspentType, +} from "../types"; +import { toBN } from "web3-utils"; +import cacheFetch from "@/libs/cache-fetch"; +import { getAddress as getBitcoinAddress } from "../types/bitcoin-network"; +import { filterOutOrdinals } from "./filter-ordinals"; + +class API implements ProviderAPIInterface { + node: string; + networkInfo: BitcoinNetworkInfo; + + constructor(node: string, networkInfo: BitcoinNetworkInfo) { + this.node = node; + this.networkInfo = networkInfo; + } + + public get api() { + return this; + } + private getAddress(pubkey: string) { + return getBitcoinAddress(pubkey, this.networkInfo); + } + + async init(): Promise {} + async getRawTransaction(hash: string): Promise { + return fetch(`${this.node}/api/v1/tx/${hash}/raw`) + .then((res) => res.json()) + .then((tx: { hex: string; error: unknown }) => { + if ((tx as any).error) return null; + if (!tx.hex) return null; + return `0x${tx.hex}`; + }); + } + async getTransactionStatus(hash: string): Promise { + return fetch(`${this.node}/api/v1/tx/${hash}`) + .then((res) => res.json()) + .then((tx: SSTxType) => { + if ((tx as any).message) return null; + if (tx.blockHeight < 0) return null; + const rawInfo: BTCRawInfo = { + blockNumber: tx.blockHeight, + fee: Number(tx.fee), + inputs: tx.vin + .filter((t) => t.addresses && t.addresses.length) + .map((input) => ({ + address: input.addresses![0], + value: Number(input.value), + })), + outputs: tx.vout + .filter((t) => t.addresses && t.addresses.length) + .map((output) => ({ + address: output.addresses![0], + value: Number(output.value), + pkscript: output.scriptPubKey.hex, + })), + transactionHash: tx.txid, + timestamp: tx.timestamp * 1000, + }; + return rawInfo; + }); + } + async getBalance(pubkey: string): Promise { + const address = pubkey.length < 64 ? pubkey : this.getAddress(pubkey); + return fetch(`${this.node}/api/v1/account/${address}`) + .then((res) => res.json()) + .then((balance: { balance: string; unconfirmedBalance: string }) => { + if ((balance as any).message) return "0"; + return toBN(balance.balance) + .add(toBN(balance.unconfirmedBalance)) + .toString(); + }) + .catch(() => "0"); + } + async broadcastTx(rawtx: string): Promise { + return fetch(`${this.node}/api/v1/send`, { + method: "POST", + headers: { + Accept: "application/json", + "Content-Type": "application/json", + }, + body: JSON.stringify({ hex: rawtx }), + }) + .then((res) => res.json()) + .then((response) => { + if (response.error) { + return Promise.reject(response.message); + } + return true; + }); + } + async SSToHaskoinUTXOs( + SSUTXOs: SSUnspentType[], + address: string + ): Promise { + const ret: HaskoinUnspentType[] = []; + for (const utx of SSUTXOs) { + const res = (await cacheFetch({ + url: `${this.node}/api/v1/tx/${utx.txid}`, + })) as SSTxType; + ret.push({ + address, + block: { + height: utx.height, + position: 0, + }, + index: utx.vout, + pkscript: res.vout[utx.vout].scriptPubKey.hex, + txid: utx.txid, + value: Number(utx.value), + raw: res.hex, + }); + } + ret.sort((a, b) => { + return a.value - b.value; + }); + return ret; + } + + async getUTXOs(pubkey: string): Promise { + const address = pubkey.length < 64 ? pubkey : this.getAddress(pubkey); + return fetch(`${this.node}/api/v1/account/${address}/utxos`) + .then((res) => res.json()) + .then(async (utxos: SSUnspentType[]) => { + if ((utxos as any).message || !utxos.length) return []; + return filterOutOrdinals( + address, + this.networkInfo.name, + await this.SSToHaskoinUTXOs(utxos, address) + ).then((futxos) => { + futxos.sort((a, b) => { + return a.value - b.value; + }); + return futxos; + }); + }); + } +} +export default API; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/api.ts b/packages/extension-vite/src/providers/bitcoin/libs/api.ts new file mode 100644 index 000000000..f54c31e08 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/api.ts @@ -0,0 +1,113 @@ +import { BTCRawInfo } from "@/types/activity"; +import { ProviderAPIInterface } from "@/types/provider"; +import { + BitcoinNetworkInfo, + HaskoinBalanceType, + HaskoinTxType, + HaskoinUnspentType, +} from "../types"; +import { toBN } from "web3-utils"; +import { getAddress as getBitcoinAddress } from "../types/bitcoin-network"; +import { filterOutOrdinals } from "./filter-ordinals"; + +/** Bitcoin API wrapper */ +class API implements ProviderAPIInterface { + node: string; + networkInfo: BitcoinNetworkInfo; + + constructor(node: string, networkInfo: BitcoinNetworkInfo) { + this.node = node; + this.networkInfo = networkInfo; + } + + public get api() { + return this; + } + private getAddress(pubkey: string) { + return getBitcoinAddress(pubkey, this.networkInfo); + } + + async init(): Promise {} + async getRawTransaction(hash: string): Promise { + return fetch(`${this.node}transaction/${hash}/raw`) + .then((res) => res.json()) + .then((tx: { result: string; error: unknown }) => { + if ((tx as any).error) return null; + if (!tx.result) return null; + return `0x${tx.result}`; + }); + } + async getTransactionStatus(hash: string): Promise { + return fetch(`${this.node}transaction/${hash}`) + .then((res) => res.json()) + .then((tx: HaskoinTxType) => { + if ((tx as any).error) return null; + if (tx.block.mempool) return null; + const rawInfo: BTCRawInfo = { + blockNumber: tx.block.height!, + fee: tx.fee, + inputs: tx.inputs.map((input) => ({ + address: input.address, + value: input.value, + })), + outputs: tx.outputs.map((output) => ({ + address: output.address, + value: output.value, + pkscript: output.pkscript, + })), + transactionHash: tx.txid, + timestamp: tx.time * 1000, + }; + return rawInfo; + }); + } + async getBalance(pubkey: string): Promise { + const address = pubkey.length < 64 ? pubkey : this.getAddress(pubkey); + return fetch(`${this.node}address/${address}/balance`) + .then((res) => res.json()) + .then((balance: HaskoinBalanceType) => { + if ((balance as any).error) return "0"; + return toBN(balance.confirmed).addn(balance.unconfirmed).toString(); + }) + .catch(() => "0"); + } + async broadcastTx(rawtx: string): Promise { + return fetch(`${this.node}transactions`, { + method: "POST", + headers: { + Accept: "application/json", + "Content-Type": "text/plain", + }, + body: rawtx, + }) + .then((res) => res.json()) + .then((response) => { + if (response.error) { + if (response.error === "server-error") return true; // haskoin api return error when it timesout or something + return Promise.reject(response.message); + } + return true; + }); + } + async getUTXOs(pubkey: string): Promise { + const address = pubkey.length < 64 ? pubkey : this.getAddress(pubkey); + return fetch(`${this.node}address/${address}/unspent`) + .then((res) => res.json()) + .then((utxos: HaskoinUnspentType[]) => { + if ((utxos as any).error) return []; + return filterOutOrdinals(address, this.networkInfo.name, utxos).then( + (futxos) => { + futxos.sort((a, b) => { + return a.value - b.value; + }); + return futxos; + } + ); + }) + .catch((e) => { + console.error(e); + return []; + }); + } +} +export default API; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/bip322-message-sign.ts b/packages/extension-vite/src/providers/bitcoin/libs/bip322-message-sign.ts new file mode 100644 index 000000000..7b318c871 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/bip322-message-sign.ts @@ -0,0 +1,192 @@ +/** + * reference: https://github.com/unisat-wallet/wallet-sdk/blob/master/src/message/bip322-simple.ts + * reference: https://github.com/bitcoinjs/varuint-bitcoin/blob/master/index.js + */ + +import { BitcoinNetwork, PaymentType } from "../types/bitcoin-network"; +import { address as BTCAddress, Transaction, Psbt } from "bitcoinjs-lib"; +import { sha256 } from "ethereum-cryptography/sha256"; +import { PSBTSigner } from "../ui/libs/signer"; +import { bufferToHex, hexToBuffer } from "@enkryptcom/utils"; + +const bip0322_hash = (message: string) => { + const tag = "BIP0322-signed-message"; + const tagHash = sha256(Buffer.from(tag)); + const result = sha256( + Buffer.concat([tagHash, tagHash, Buffer.from(message)]) + ); + return bufferToHex(result, true); +}; + +const MAX_SAFE_INTEGER = 9007199254740991; + +const checkUInt53 = (n: number) => { + if (n < 0 || n > MAX_SAFE_INTEGER || n % 1 !== 0) + throw new RangeError("value out of range"); +}; + +const encodingLength = (number: number) => { + checkUInt53(number); + + return number < 0xfd + ? 1 + : number <= 0xffff + ? 3 + : number <= 0xffffffff + ? 5 + : 9; +}; +export const encode = (number: number, buffer?: Buffer, offset?: number) => { + checkUInt53(number); + + if (!buffer) buffer = Buffer.allocUnsafe(encodingLength(number)); + if (!Buffer.isBuffer(buffer)) + throw new TypeError("buffer must be a Buffer instance"); + if (!offset) offset = 0; + + // 8 bit + if (number < 0xfd) { + buffer.writeUInt8(number, offset); + + // 16 bit + } else if (number <= 0xffff) { + buffer.writeUInt8(0xfd, offset); + buffer.writeUInt16LE(number, offset + 1); + + // 32 bit + } else if (number <= 0xffffffff) { + buffer.writeUInt8(0xfe, offset); + buffer.writeUInt32LE(number, offset + 1); + + // 64 bit + } else { + buffer.writeUInt8(0xff, offset); + buffer.writeUInt32LE(number >>> 0, offset + 1); + buffer.writeUInt32LE((number / 0x100000000) | 0, offset + 5); + } + + return buffer; +}; + +export const decode = (buffer: Buffer, offset: number) => { + if (!Buffer.isBuffer(buffer)) + throw new TypeError("buffer must be a Buffer instance"); + if (!offset) offset = 0; + const first = buffer.readUInt8(offset); + // 8 bit + if (first < 0xfd) { + return first; + // 16 bit + } else if (first === 0xfd) { + return buffer.readUInt16LE(offset + 1); + // 32 bit + } else if (first === 0xfe) { + return buffer.readUInt32LE(offset + 1); + // 64 bit + } else { + const lo = buffer.readUInt32LE(offset + 1); + const hi = buffer.readUInt32LE(offset + 5); + const number = hi * 0x0100000000 + lo; + checkUInt53(number); + return number; + } +}; + +const encodeVarString = (b: Buffer) => { + return Buffer.concat([encode(b.byteLength), b]); +}; + +export function getPSBTMessageOfBIP322Simple({ + message, + address, + network, +}: { + message: string; + address: string; + network: BitcoinNetwork; +}) { + const outputScript = BTCAddress.toOutputScript( + network.displayAddress(address), + network.networkInfo + ); + const addressType = network.networkInfo.paymentType; + const supportedTypes = [PaymentType.P2WPKH]; + if (supportedTypes.includes(addressType) == false) { + throw new Error("Not support address type to sign"); + } + + const prevoutHash = Buffer.from( + "0000000000000000000000000000000000000000000000000000000000000000", + "hex" + ); + const prevoutIndex = 0xffffffff; + const sequence = 0; + const scriptSig = Buffer.concat([ + Buffer.from("0020", "hex"), + Buffer.from(bip0322_hash(message), "hex"), + ]); + + const txToSpend = new Transaction(); + txToSpend.version = 0; + txToSpend.addInput(prevoutHash, prevoutIndex, sequence, scriptSig); + txToSpend.addOutput(outputScript, 0); + + const psbtToSign = new Psbt(); + psbtToSign.setVersion(0); + psbtToSign.addInput({ + hash: txToSpend.getHash(), + index: 0, + sequence: 0, + witnessUtxo: { + script: outputScript, + value: 0, + }, + bip32Derivation: [ + { + masterFingerprint: Buffer.from("4ab28551", "hex"), // this will be replaced in hw signer + pubkey: hexToBuffer(address), + path: "m/84'/0'/0'/0/0", // this will be replaced in hw signer + }, + ], + }); + psbtToSign.addOutput({ script: Buffer.from("6a", "hex"), value: 0 }); + + return { + psbtToSign, + txdata: txToSpend, + }; +} + +export function getSignatureFromSignedTransaction(strTx: string): string { + const txToSign = Transaction.fromHex(strTx); + const len = encode(txToSign.ins[0].witness.length); + const result = Buffer.concat([ + len, + ...txToSign.ins[0].witness.map((w) => encodeVarString(w)), + ]); + const signature = result.toString("base64"); + + return signature; +} + +export async function signMessageOfBIP322Simple({ + message, + address, + network, + Signer, +}: { + message: string; + address: string; + network: BitcoinNetwork; + Signer: ReturnType; +}) { + const psbtToSign = getPSBTMessageOfBIP322Simple({ + message, + address, + network, + }).psbtToSign; + await psbtToSign.signAllInputsAsync(Signer); + psbtToSign.finalizeAllInputs(); + const txToSign = psbtToSign.extractTransaction(); + return getSignatureFromSignedTransaction(txToSign.toHex()); +} diff --git a/packages/extension-vite/src/providers/bitcoin/libs/blockies.ts b/packages/extension-vite/src/providers/bitcoin/libs/blockies.ts new file mode 100644 index 000000000..132603d34 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/blockies.ts @@ -0,0 +1,113 @@ +const randseed = new Array(4); // Xorshift: [x, y, z, w] 32 bit values + +function seedrand(seed: string) { + for (let i = 0; i < randseed.length; i++) { + randseed[i] = 0; + } + for (let j = 0; j < seed.length; j++) { + randseed[j % 4] = + (randseed[j % 4] << 5) - randseed[j % 4] + seed.charCodeAt(j); + } +} + +function rand() { + // based on Java's String.hashCode(), expanded to 4 32bit values + const t = randseed[0] ^ (randseed[0] << 11); + + randseed[0] = randseed[1]; + randseed[1] = randseed[2]; + randseed[2] = randseed[3]; + randseed[3] = randseed[3] ^ (randseed[3] >> 19) ^ t ^ (t >> 8); + + return (randseed[3] >>> 0) / ((1 << 31) >>> 0); +} + +function createColor() { + // saturation is the whole color spectrum + const h = Math.floor(rand() * 360); + // saturation goes from 40 to 100, it avoids greyish colors + const s = rand() * 60 + 40 + "%"; + // lightness can be anything from 0 to 100, but probabilities are a bell curve around 50% + const l = (rand() + rand() + rand() + rand()) * 25 + "%"; + + const color = "hsl(" + h + "," + s + "," + l + ")"; + return color; +} + +function createImageData(size: number): number[] { + const width = size; // Only support square icons for now + const height = size; + + const dataWidth = Math.ceil(width / 2); + const mirrorWidth = width - dataWidth; + + const data = []; + for (let y = 0; y < height; y++) { + let row = []; + for (let x = 0; x < dataWidth; x++) { + // this makes foreground and background color to have a 43% (1/2.3) probability + // spot color has 13% chance + row[x] = Math.floor(rand() * 2.3); + } + const r = row.slice(0, mirrorWidth); + r.reverse(); + row = row.concat(r); + + for (let i = 0; i < row.length; i++) { + data.push(row[i]); + } + } + + return data; +} + +function createCanvas( + imageData: number[], + color: string, + scale: number, + bgcolor: string, + spotcolor: string +): HTMLCanvasElement { + const width = Math.sqrt(imageData.length); + const c = document.createElement("canvas"); + c.width = c.height = width * scale; + const cc = c.getContext("2d"); + if (cc) { + cc.fillStyle = bgcolor; + cc.fillRect(0, 0, c.width, c.height); + cc.fillStyle = color; + + for (let i = 0; i < imageData.length; i++) { + const row = Math.floor(i / width); + const col = i % width; + cc.fillStyle = imageData[i] === 1 ? color : spotcolor; + if (imageData[i]) { + cc.fillRect(col * scale, row * scale, scale, scale); + } + } + } + return c; +} + +type options = { + size?: number; + scale?: number; + color?: string; + bgcolor?: string; + spotcolor?: string; +}; +const createIcon = (address: string, opts?: options): string => { + opts = opts || {}; + const size = opts.size || 8; + const scale = opts.scale || 4; + const seed = address.toLowerCase(); + seedrand(seed); + const color = opts.color || createColor(); + const bgcolor = opts.bgcolor || createColor(); + const spotcolor = opts.spotcolor || createColor(); + const imageData = createImageData(size); + const canvas = createCanvas(imageData, color, scale, bgcolor, spotcolor); + return canvas.toDataURL(); +}; + +export default createIcon; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/btc-fee-handler.ts b/packages/extension-vite/src/providers/bitcoin/libs/btc-fee-handler.ts new file mode 100644 index 000000000..07d8de534 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/btc-fee-handler.ts @@ -0,0 +1,22 @@ +import { GasPriceTypes } from "@/providers/common/types"; + +const BTCFeeHandler = async (): Promise> => { + return fetch(`https://bitcoiner.live/api/fees/estimates/latest`) + .then((res) => res.json()) + .then((json) => { + return { + [GasPriceTypes.FASTEST]: Math.ceil(json.estimates["30"].sat_per_vbyte), + [GasPriceTypes.FAST]: Math.ceil(json.estimates["60"].sat_per_vbyte), + [GasPriceTypes.REGULAR]: Math.ceil(json.estimates["120"].sat_per_vbyte), + [GasPriceTypes.ECONOMY]: Math.ceil(json.estimates["180"].sat_per_vbyte), + }; + }) + .catch(() => ({ + [GasPriceTypes.FASTEST]: 25, + [GasPriceTypes.FAST]: 20, + [GasPriceTypes.REGULAR]: 10, + [GasPriceTypes.ECONOMY]: 5, + })); +}; + +export default BTCFeeHandler; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/filter-ordinals.ts b/packages/extension-vite/src/providers/bitcoin/libs/filter-ordinals.ts new file mode 100644 index 000000000..673cae62a --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/filter-ordinals.ts @@ -0,0 +1,55 @@ +import cacheFetch from "@/libs/cache-fetch"; +import { HaskoinUnspentType } from "../types"; +import { NetworkNames } from "@enkryptcom/types"; + +const OrdinalsEndpoint = "https://partners.mewapi.io/ordinals/"; +const CACHE_TTL = 60 * 1000; +const MAX_ITEMS = 100; + +const supportedNetworks = [NetworkNames.Bitcoin]; + +interface OridnalType { + inscriptionId: string; + output: string; +} +export const getAllOrdinals = ( + address: string, + networkName: string, + currentItems: OridnalType[] +): Promise => { + const query = `${OrdinalsEndpoint}${networkName.toLowerCase()}/ordinals/inscriptions?address=${address}&cursor=${ + currentItems.length + }&size=${MAX_ITEMS}`; + return cacheFetch( + { + url: query, + }, + CACHE_TTL + ).then((json) => { + if (json.code !== 0) + throw Promise.reject("Unknown error, cant retrieve ordinals"); + const items: OridnalType[] = json.data.list as OridnalType[]; + currentItems = currentItems.concat(items); + if (json.data.total === currentItems.length) return currentItems; + return getAllOrdinals(address, networkName, currentItems); + }); +}; + +export const filterOutOrdinals = ( + address: string, + networkName: string, + utxos: HaskoinUnspentType[] +): Promise => { + if (!supportedNetworks.includes(networkName as NetworkNames)) + return Promise.resolve(utxos); + return getAllOrdinals(address, networkName, []).then((ordinals) => { + return utxos.filter((utxo) => { + for (const ord of ordinals) { + const [txid, idx] = ord.output.split(":"); + if (utxo.txid === txid && utxo.index === parseInt(idx)) return false; + if (utxo.value <= 1000) return false; // most likely ordinal, safety precaution + } + return true; + }); + }); +}; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/message-router.ts b/packages/extension-vite/src/providers/bitcoin/libs/message-router.ts new file mode 100644 index 000000000..e715f2807 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/message-router.ts @@ -0,0 +1,56 @@ +import { + ProviderMessage, + MessageMethod, + EmitEvent, +} from "@/providers/ethereum/types"; +import { + BitcoinProvider, + EnkryptProviderEventMethods, + handleIncomingMessage as handleIncomingMessageType, +} from "@/types/provider"; +import { NetworkNames } from "@enkryptcom/types"; +const handleIncomingMessage: handleIncomingMessageType = ( + provider, + message +): void => { + try { + const _provider = provider as BitcoinProvider; + const jsonMsg = JSON.parse(message) as ProviderMessage; + if (jsonMsg.method === MessageMethod.changeConnected) { + const isConnected = jsonMsg.params[0] as boolean; + _provider.connected = isConnected; + if (isConnected) { + _provider.emit(EmitEvent.connect); + } else { + _provider.emit(EmitEvent.disconnect); + } + } else if (jsonMsg.method === MessageMethod.changeAddress) { + const address = jsonMsg.params[0] as string; + _provider.emit(EmitEvent.accountsChanged, [address]); + } else if ( + (jsonMsg.method as EnkryptProviderEventMethods) === + EnkryptProviderEventMethods.chainChanged + ) { + if ( + jsonMsg.params[0] === NetworkNames.Bitcoin || + jsonMsg.params[0] === NetworkNames.BitcoinTest + ) { + _provider + .switchNetwork( + jsonMsg.params[0] === NetworkNames.Bitcoin ? "livenet" : "testnet" + ) + .then(() => { + _provider.emit(EmitEvent.networkChanged, [ + jsonMsg.params[0] === NetworkNames.Bitcoin + ? "livenet" + : "testnet", + ]); + }); + } + } + } catch (e) { + console.error(e); + } +}; + +export { handleIncomingMessage }; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/sign-message-utils.ts b/packages/extension-vite/src/providers/bitcoin/libs/sign-message-utils.ts new file mode 100644 index 000000000..465a40a39 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/sign-message-utils.ts @@ -0,0 +1,47 @@ +import { sha256 } from "ethereum-cryptography/sha256"; + +const MAGIC_BYTES = Buffer.from("Bitcoin Signed Message:\n"); + +const varintBufNum = (n: number) => { + let buf; + if (n < 253) { + buf = Buffer.alloc(1); + buf.writeUInt8(n, 0); + } else if (n < 0x10000) { + buf = Buffer.alloc(1 + 2); + buf.writeUInt8(253, 0); + buf.writeUInt16LE(n, 1); + } else if (n < 0x100000000) { + buf = Buffer.alloc(1 + 4); + buf.writeUInt8(254, 0); + buf.writeUInt32LE(n, 1); + } else { + buf = Buffer.alloc(1 + 8); + buf.writeUInt8(255, 0); + buf.writeInt32LE(n & -1, 1); + buf.writeUInt32LE(Math.floor(n / 0x100000000), 5); + } + return buf; +}; + +export const magicHash = (messageBuffer: Buffer) => { + const prefix1 = varintBufNum(MAGIC_BYTES.length); + const prefix2 = varintBufNum(messageBuffer.length); + const buf = Buffer.concat([prefix1, MAGIC_BYTES, prefix2, messageBuffer]); + return Buffer.from(sha256(sha256(buf))); +}; + +export const toCompact = ( + i: number, + signature: Uint8Array, + compressed: boolean +) => { + if (!(i === 0 || i === 1 || i === 2 || i === 3)) { + throw new Error("i must be equal to 0, 1, 2, or 3"); + } + let val = i + 27 + 4; + if (!compressed) { + val = val - 4; + } + return Buffer.concat([Uint8Array.of(val), Uint8Array.from(signature)]); +}; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/ss-fee-handler.ts b/packages/extension-vite/src/providers/bitcoin/libs/ss-fee-handler.ts new file mode 100644 index 000000000..81151b173 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/ss-fee-handler.ts @@ -0,0 +1,35 @@ +import { GasPriceTypes } from "@/providers/common/types"; + +interface FeeType { + fast: { + satsPerKiloByte: number; + }; + average: { + satsPerKiloByte: number; + }; + slow: { + satsPerKiloByte: number; + }; +} +const SSFeeHandler = async ( + url: string +): Promise> => { + return fetch(url) + .then((res) => res.json()) + .then((json: FeeType) => { + if (json.fast.satsPerKiloByte < 0) + json.fast.satsPerKiloByte = json.average.satsPerKiloByte; + if (json.average.satsPerKiloByte < 0) + json.average.satsPerKiloByte = json.slow.satsPerKiloByte; + return { + [GasPriceTypes.FASTEST]: + Math.ceil(json.fast.satsPerKiloByte / 1024) + 5, + [GasPriceTypes.FAST]: Math.ceil(json.fast.satsPerKiloByte / 1024) + 3, + [GasPriceTypes.REGULAR]: + Math.ceil(json.average.satsPerKiloByte / 1024) + 2, + [GasPriceTypes.ECONOMY]: Math.ceil(json.slow.satsPerKiloByte / 1024), + }; + }); +}; + +export default SSFeeHandler; diff --git a/packages/extension-vite/src/providers/bitcoin/libs/utils.ts b/packages/extension-vite/src/providers/bitcoin/libs/utils.ts new file mode 100644 index 000000000..f34045285 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/libs/utils.ts @@ -0,0 +1,104 @@ +import { BitcoinNetworkInfo, HaskoinUnspentType } from "../types"; +import { address as BTCAddress } from "bitcoinjs-lib"; +import { GasPriceTypes } from "@/providers/common/types"; +import { fromBase } from "@enkryptcom/utils"; +import BigNumber from "bignumber.js"; +import { BitcoinNetwork } from "../types/bitcoin-network"; +import { BTCTxInfo } from "../ui/types"; + +const isAddress = (address: string, network: BitcoinNetworkInfo): boolean => { + try { + BTCAddress.toOutputScript(address, network); + return true; + } catch { + return false; + } +}; + +const getTxInfo = ( + utxos: HaskoinUnspentType[], + ordinalUTXO?: HaskoinUnspentType +): BTCTxInfo => { + const txInfo: BTCTxInfo = { + inputs: [], + outputs: [], + }; + utxos.forEach((u) => { + txInfo.inputs.push({ + hash: u.txid, + index: u.index, + raw: u.raw, + witnessUtxo: { + script: u.pkscript, + value: u.value, + }, + }); + }); + if (ordinalUTXO) { + txInfo.inputs.unshift({ + hash: ordinalUTXO.txid, + index: ordinalUTXO.index, + raw: ordinalUTXO.raw, + witnessUtxo: { + script: ordinalUTXO.pkscript, + value: ordinalUTXO.value, + }, + }); + } + return txInfo; +}; + +const getGasCostValues = async ( + network: BitcoinNetwork, + byteSize: number, + nativeVal = "0", + decimals: number, + currencyName: string +) => { + const fees = await network.feeHandler(); + const gasVals = { + [GasPriceTypes.FASTEST]: (byteSize * fees.FASTEST).toString(), + [GasPriceTypes.FAST]: (byteSize * fees.FAST).toString(), + [GasPriceTypes.REGULAR]: (byteSize * fees.REGULAR).toString(), + [GasPriceTypes.ECONOMY]: (byteSize * fees.ECONOMY).toString(), + }; + const getConvertedVal = (type: GasPriceTypes) => + fromBase(gasVals[type], decimals); + + const gasCostValues = { + [GasPriceTypes.ECONOMY]: { + nativeValue: getConvertedVal(GasPriceTypes.ECONOMY), + fiatValue: new BigNumber(getConvertedVal(GasPriceTypes.ECONOMY)) + .times(nativeVal!) + .toString(), + nativeSymbol: currencyName, + fiatSymbol: "USD", + }, + [GasPriceTypes.REGULAR]: { + nativeValue: getConvertedVal(GasPriceTypes.REGULAR), + fiatValue: new BigNumber(getConvertedVal(GasPriceTypes.REGULAR)) + .times(nativeVal!) + .toString(), + nativeSymbol: currencyName, + fiatSymbol: "USD", + }, + [GasPriceTypes.FAST]: { + nativeValue: getConvertedVal(GasPriceTypes.FAST), + fiatValue: new BigNumber(getConvertedVal(GasPriceTypes.FAST)) + .times(nativeVal!) + .toString(), + nativeSymbol: currencyName, + fiatSymbol: "USD", + }, + [GasPriceTypes.FASTEST]: { + nativeValue: getConvertedVal(GasPriceTypes.FASTEST), + fiatValue: new BigNumber(getConvertedVal(GasPriceTypes.FASTEST)) + .times(nativeVal!) + .toString(), + nativeSymbol: currencyName, + fiatSymbol: "USD", + }, + }; + return gasCostValues; +}; +export { isAddress, getGasCostValues, getTxInfo }; diff --git a/packages/extension-vite/src/providers/bitcoin/methods/btc_getBalance.ts b/packages/extension-vite/src/providers/bitcoin/methods/btc_getBalance.ts new file mode 100644 index 000000000..8e9ac1bd2 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/methods/btc_getBalance.ts @@ -0,0 +1,39 @@ +import { MiddlewareFunction } from "@enkryptcom/types"; +import { ProviderRPCRequest } from "@/types/provider"; +import { getCustomError } from "@/libs/error"; +import BitcoinProvider from ".."; +import AccountState from "../libs/accounts-state"; +const method: MiddlewareFunction = function ( + this: BitcoinProvider, + payload: ProviderRPCRequest, + res, + next +): void { + if (payload.method !== "btc_getBalance") return next(); + else { + if (!payload.options || !payload.options.domain) { + return res(getCustomError("btc_getNetwork: invalid domain")); + } + const accountsState = new AccountState(); + + accountsState + .getApprovedAddresses(payload.options!.domain) + .then((accounts) => { + if (!accounts.length) { + return res(null, ""); + } + this.network.api().then((api) => { + api + .getBalance(this.network.displayAddress(accounts[0])) + .then((bal) => { + res(null, { + confirmed: parseInt(bal), + unconfirmed: 0, + total: parseInt(bal), + }); + }); + }); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/bitcoin/methods/btc_getNetwork.ts b/packages/extension-vite/src/providers/bitcoin/methods/btc_getNetwork.ts new file mode 100644 index 000000000..9bb201b7b --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/methods/btc_getNetwork.ts @@ -0,0 +1,34 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction, NetworkNames } from "@enkryptcom/types"; +import BitcoinProvider from ".."; +import AccountState from "../libs/accounts-state"; +import { ProviderRPCRequest } from "@/types/provider"; +const method: MiddlewareFunction = function ( + this: BitcoinProvider, + payload: ProviderRPCRequest, + res, + next +): void { + if (payload.method !== "btc_getNetwork") return next(); + else { + if (!payload.options || !payload.options.domain) { + return res(getCustomError("btc_getNetwork: invalid domain")); + } + + const accountsState = new AccountState(); + + accountsState + .getApprovedAddresses(payload.options!.domain) + .then((accounts) => { + if (!accounts.length) { + return res(null, ""); + } + if (this.network.name === NetworkNames.Bitcoin) + return res(null, "livenet"); + if (this.network.name === NetworkNames.BitcoinTest) + return res(null, "testnet"); + res(null, ""); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/bitcoin/methods/btc_getPublicKey.ts b/packages/extension-vite/src/providers/bitcoin/methods/btc_getPublicKey.ts new file mode 100644 index 000000000..f47542501 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/methods/btc_getPublicKey.ts @@ -0,0 +1,33 @@ +import { MiddlewareFunction } from "@enkryptcom/types"; +import { ProviderRPCRequest } from "@/types/provider"; +import AccountState from "../libs/accounts-state"; +import { getCustomError } from "@/libs/error"; +import BitcoinProvider from ".."; + +const method: MiddlewareFunction = function ( + this: BitcoinProvider, + payload: ProviderRPCRequest, + res, + next +): void { + if (payload.method !== "btc_getPublicKey") return next(); + else { + if (payload.options && payload.options.domain) { + const accountsState = new AccountState(); + accountsState + .getApprovedAddresses(payload.options.domain) + .then((accounts) => { + if (accounts.length) { + this.KeyRing.getAccount(accounts[0]).then((pubAccounts) => { + res(null, pubAccounts.address.replace("0x", "")); + }); + } else { + res(null, ""); + } + }); + } else { + res(getCustomError("No domain set!")); + } + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/bitcoin/methods/btc_requestAccounts.ts b/packages/extension-vite/src/providers/bitcoin/methods/btc_requestAccounts.ts new file mode 100644 index 000000000..dcba6d17f --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/methods/btc_requestAccounts.ts @@ -0,0 +1,80 @@ +import { CallbackFunction, MiddlewareFunction } from "@enkryptcom/types"; +import type BitcoinProvider from ".."; +import { ProviderRPCRequest } from "@/types/provider"; +import { WindowPromise } from "@/libs/window-promise"; +import AccountState from "../libs/accounts-state"; +import { getCustomError } from "@/libs/error"; +let isAccountAccessPending = false; +const pendingPromises: { + payload: ProviderRPCRequest; + res: CallbackFunction; +}[] = []; +const method: MiddlewareFunction = function ( + this: BitcoinProvider, + payload: ProviderRPCRequest, + res, + next +): void { + if (payload.method !== "btc_requestAccounts") return next(); + else { + if (isAccountAccessPending) { + pendingPromises.push({ + payload, + res, + }); + return; + } + isAccountAccessPending = true; + const handleRemainingPromises = () => { + isAccountAccessPending = false; + if (pendingPromises.length) { + const promi = pendingPromises.pop(); + if (promi) handleAccountAccess(promi.payload, promi.res); + } + }; + const handleAccountAccess = ( + _payload: ProviderRPCRequest, + _res: CallbackFunction + ) => { + if (_payload.options && _payload.options.domain) { + isAccountAccessPending = true; + const accountsState = new AccountState(); + accountsState + .getApprovedAddresses(_payload.options.domain) + .then((accounts) => { + if (accounts.length) { + _res(null, [ + accounts.map((acc) => this.network.displayAddress(acc))[0], + ]); + handleRemainingPromises(); + } else { + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.btcConnectDApp.path), + JSON.stringify({ + ..._payload, + params: [this.network.name], + }) + ) + .then(({ error, result }) => { + if (error) _res(error as any); + const accounts = JSON.parse(result || "[]"); + _res( + null, + accounts.map((acc: string) => + this.network.displayAddress(acc) + ) + ); + }) + .finally(handleRemainingPromises); + } + }); + } else { + _res(getCustomError("No domain set!")); + } + }; + handleAccountAccess(payload, res); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/bitcoin/methods/btc_signMessage.ts b/packages/extension-vite/src/providers/bitcoin/methods/btc_signMessage.ts new file mode 100644 index 000000000..aa555b97a --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/methods/btc_signMessage.ts @@ -0,0 +1,52 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import BitcoinProvider from ".."; +import { WindowPromise } from "@/libs/window-promise"; +import { ProviderRPCRequest } from "@/types/provider"; +import AccountState from "../libs/accounts-state"; +const method: MiddlewareFunction = function ( + this: BitcoinProvider, + payload: ProviderRPCRequest, + res, + next +): void { + if (payload.method !== "btc_signMessage") return next(); + else { + if (!payload.params || payload.params.length < 2) { + return res(getCustomError("btc_signMessage: invalid params")); + } + if (!payload.options || !payload.options.domain) { + return res(getCustomError("btc_signMessage: invalid domain")); + } + const msg = payload.params[0] as string; + const type = payload.params[1] as string; + const accountsState = new AccountState(); + + accountsState + .getApprovedAddresses(payload.options!.domain) + .then((accounts) => { + if (!accounts.length) { + return res(null, ""); + } + this.KeyRing.getAccount(accounts[0]).then((acc) => { + if (!acc) + return res(getCustomError("btc_signMessage: account not found")); + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.btcSign.path), + JSON.stringify({ + ...payload, + params: [msg, type, acc, this.network.name], + }), + true + ) + .then(({ error, result }) => { + if (error) return res(error); + res(null, JSON.parse(result as string)); + }); + }); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/bitcoin/methods/btc_signPsbt.ts b/packages/extension-vite/src/providers/bitcoin/methods/btc_signPsbt.ts new file mode 100644 index 000000000..c63e52815 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/methods/btc_signPsbt.ts @@ -0,0 +1,55 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import BitcoinProvider from ".."; +import { WindowPromise } from "@/libs/window-promise"; +import { SignPSBTOptions } from "../types"; +import AccountState from "../libs/accounts-state"; +import { ProviderRPCRequest } from "@/types/provider"; +const method: MiddlewareFunction = function ( + this: BitcoinProvider, + payload: ProviderRPCRequest, + res, + next +): void { + if (payload.method !== "btc_signPsbt") return next(); + else { + if (!payload.params || payload.params.length < 2) { + return res( + getCustomError("btc_signPsbt: invalid request not enough params") + ); + } + if (!payload.options || !payload.options.domain) { + return res(getCustomError("btc_signPsbt: invalid domain")); + } + const psbt = payload.params[0] as string; + const options = payload.params[1] as SignPSBTOptions; + const accountsState = new AccountState(); + + accountsState + .getApprovedAddresses(payload.options!.domain) + .then((accounts) => { + if (!accounts.length) { + return res(null, ""); + } + this.KeyRing.getAccount(accounts[0]).then((acc) => { + if (!acc) + return res(getCustomError("btc_signPsbt: account not found")); + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.btcSendTransaction.path), + JSON.stringify({ + ...payload, + params: [psbt, options, acc, this.network.name], + }), + true + ) + .then(({ error, result }) => { + if (error) return res(error); + res(null, JSON.parse(result as string)); + }); + }); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/bitcoin/methods/btc_switchNetwork.ts b/packages/extension-vite/src/providers/bitcoin/methods/btc_switchNetwork.ts new file mode 100644 index 000000000..a272e19d0 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/methods/btc_switchNetwork.ts @@ -0,0 +1,60 @@ +import { getCustomError } from "@/libs/error"; +import { sendToBackgroundFromBackground } from "@/libs/messenger/extension"; +import { InternalMethods } from "@/types/messenger"; +import { ProviderRPCRequest } from "@/types/provider"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import BTCNetworks from "../networks"; +import DomainState from "@/libs/domain-state"; +import BitcoinProvider from ".."; +import { BitcoinNetworks } from "../types"; +import { trackNetworkSelected } from "@/libs/metrics"; +import { NetworkChangeEvents } from "@/libs/metrics/types"; +const method: MiddlewareFunction = function ( + this: BitcoinProvider, + payload: ProviderRPCRequest, + res, + next +): void { + if (payload.method !== "btc_switchNetwork") return next(); + else { + if ( + !payload.params || + payload.params.length < 1 || + !Object.keys(BitcoinNetworks).includes(payload.params[0]) + ) { + return res(getCustomError("btc_switchNetwork: invalid params")); + } + const internalName = + BitcoinNetworks[payload.params![0] as keyof typeof BitcoinNetworks]; + const allNetworks = Object.values(BTCNetworks); + const validNetwork = allNetworks.find((net) => net.name === internalName); + if (validNetwork) { + trackNetworkSelected(NetworkChangeEvents.NetworkChangeAPI, { + provider: validNetwork.provider, + network: validNetwork.name, + }); + sendToBackgroundFromBackground({ + message: JSON.stringify({ + method: InternalMethods.changeNetwork, + params: [validNetwork.name], + }), + provider: validNetwork.provider, + tabId: payload.options?.tabId, + }).then(() => { + const domainState = new DomainState(); + domainState + .setSelectedNetwork(validNetwork.name) + .then(() => res(null, true)); + }); + } else { + return res( + getCustomError( + `btc_switchNetwork: porvided network ${ + payload.params![0] + } not supported` + ) + ); + } + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/bitcoin/methods/index.ts b/packages/extension-vite/src/providers/bitcoin/methods/index.ts new file mode 100644 index 000000000..f2818c463 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/methods/index.ts @@ -0,0 +1,16 @@ +import btcRequestAccounts from "./btc_requestAccounts"; +import btcSignMessage from "./btc_signMessage"; +import btcGetBalance from "./btc_getBalance"; +import btcSwitchNetwork from "./btc_switchNetwork"; +import btcGetPublicKey from "./btc_getPublicKey"; +import btcSignPsbt from "./btc_signPsbt"; +import btcGetNetwork from "./btc_getNetwork"; +export default [ + btcRequestAccounts, + btcSignMessage, + btcGetBalance, + btcSwitchNetwork, + btcGetPublicKey, + btcSignPsbt, + btcGetNetwork, +]; diff --git a/packages/extension-vite/src/providers/bitcoin/networks/bitcoin-testnet.ts b/packages/extension-vite/src/providers/bitcoin/networks/bitcoin-testnet.ts new file mode 100644 index 000000000..9ec11d360 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/networks/bitcoin-testnet.ts @@ -0,0 +1,56 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { + BitcoinNetwork, + BitcoinNetworkOptions, + PaymentType, +} from "../types/bitcoin-network"; +import { haskoinHandler } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import { GasPriceTypes } from "@/providers/common/types"; +import HaskoinAPI from "../libs/api"; + +const bitcoinOptions: BitcoinNetworkOptions = { + name: NetworkNames.BitcoinTest, + name_long: "Bitcoin Testnet", + homePage: "https://bitcoin.org/en/", + blockExplorerTX: "https://www.blockchain.com/btc-testnet/tx/[[txHash]]", + blockExplorerAddr: + "https://www.blockchain.com/btc-testnet/address/[[address]]", + isTestNetwork: true, + currencyName: "tBTC", + currencyNameLong: "Test Bitcoin", + icon: require("./icons/tbtc.svg"), + decimals: 8, + dust: 0.00000546, + node: "https://partners.mewapi.io/nodes/hk/btct/", + activityHandler: wrapActivityHandler(haskoinHandler), + basePath: "m/49'/1'/0'/0", + coingeckoID: "bitcoin", + apiType: HaskoinAPI, + feeHandler: () => + Promise.resolve({ + [GasPriceTypes.FASTEST]: 25, + [GasPriceTypes.FAST]: 20, + [GasPriceTypes.REGULAR]: 10, + [GasPriceTypes.ECONOMY]: 5, + }), + networkInfo: { + name: NetworkNames.BitcoinTest, + messagePrefix: "\x18Bitcoin Signed Message:\n", + bech32: "tb", + bip32: { + public: 0x043587cf, + private: 0x04358394, + }, + pubKeyHash: 0x6f, + scriptHash: 0xc4, + wif: 0xef, + dustThreshold: null, + paymentType: PaymentType.P2WPKH, + maxFeeRate: 5000 * 2, + }, +}; + +const bitcoin = new BitcoinNetwork(bitcoinOptions); + +export default bitcoin; diff --git a/packages/extension-vite/src/providers/bitcoin/networks/bitcoin.ts b/packages/extension-vite/src/providers/bitcoin/networks/bitcoin.ts new file mode 100644 index 000000000..ccca0156e --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/networks/bitcoin.ts @@ -0,0 +1,51 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { + BitcoinNetwork, + BitcoinNetworkOptions, + PaymentType, +} from "../types/bitcoin-network"; +import { haskoinHandler } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import BTCFeeHandler from "../libs/btc-fee-handler"; +import HaskoinAPI from "../libs/api"; +import shNFTHandler from "@/libs/nft-handlers/simplehash-ordinals"; + +const bitcoinOptions: BitcoinNetworkOptions = { + name: NetworkNames.Bitcoin, + name_long: "Bitcoin", + homePage: "https://bitcoin.org/en/", + blockExplorerTX: "https://mempool.space/tx/[[txHash]]", + blockExplorerAddr: "https://mempool.space/address/[[address]]", + isTestNetwork: false, + currencyName: "BTC", + currencyNameLong: "Bitcoin", + icon: require("./icons/btc.svg"), + decimals: 8, + node: "https://partners.mewapi.io/nodes/hk/btc/", + coingeckoID: "bitcoin", + activityHandler: wrapActivityHandler(haskoinHandler), + basePath: "m/49'/0'/0'/0", + feeHandler: BTCFeeHandler, + apiType: HaskoinAPI, + dust: 0.00000546, + NFTHandler: shNFTHandler, + networkInfo: { + name: NetworkNames.Bitcoin, + messagePrefix: "\x18Bitcoin Signed Message:\n", + bech32: "bc", + bip32: { + public: 0x0488b21e, + private: 0x0488ade4, + }, + pubKeyHash: 0x00, + scriptHash: 0x05, + wif: 0x80, + dustThreshold: null, + paymentType: PaymentType.P2WPKH, + maxFeeRate: 5000, + }, +}; + +const bitcoin = new BitcoinNetwork(bitcoinOptions); + +export default bitcoin; diff --git a/packages/extension-vite/src/providers/bitcoin/networks/dogecoin.ts b/packages/extension-vite/src/providers/bitcoin/networks/dogecoin.ts new file mode 100644 index 000000000..35937b318 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/networks/dogecoin.ts @@ -0,0 +1,51 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { + BitcoinNetwork, + BitcoinNetworkOptions, + PaymentType, +} from "../types/bitcoin-network"; +import { ssHandler } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import SSFeeHandler from "../libs/ss-fee-handler"; +import SSApi from "../libs/api-ss"; + +const dogeOptions: BitcoinNetworkOptions = { + name: NetworkNames.Dogecoin, + name_long: "Dogecoin", + homePage: "https://dogecoin.com/", + blockExplorerTX: "https://dogechain.info/tx/[[txHash]]", + blockExplorerAddr: "https://dogechain.info/address/[[address]]", + isTestNetwork: false, + currencyName: "Doge", + currencyNameLong: "Dogecoin", + icon: require("./icons/doge.svg"), + decimals: 8, + node: "https://partners.mewapi.io/nodes/ss/doge", + coingeckoID: "dogecoin", + apiType: SSApi, + dust: 0.01, + activityHandler: wrapActivityHandler(ssHandler), + basePath: "m/44'/3'/0'/0", + feeHandler: () => { + return SSFeeHandler("https://partners.mewapi.io/nodes/ss/doge/api/v1/fees"); + }, + networkInfo: { + name: NetworkNames.Dogecoin, + messagePrefix: "\x19Dogecoin Signed Message:\n", + bech32: "dc", + bip32: { + public: 0x02facafd, + private: 0x02fac398, + }, + pubKeyHash: 0x1e, + scriptHash: 0x16, + wif: 0x9e, + dustThreshold: null, + paymentType: PaymentType.P2PKH, + maxFeeRate: 100000 * 10, + }, +}; + +const dogecoin = new BitcoinNetwork(dogeOptions); + +export default dogecoin; diff --git a/packages/extension-vite/src/providers/bitcoin/networks/icons/btc.svg b/packages/extension-vite/src/providers/bitcoin/networks/icons/btc.svg new file mode 100644 index 000000000..f5889766e --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/networks/icons/btc.svg @@ -0,0 +1,12 @@ + + + + + + + + + diff --git a/packages/extension-vite/src/providers/bitcoin/networks/icons/doge.svg b/packages/extension-vite/src/providers/bitcoin/networks/icons/doge.svg new file mode 100644 index 000000000..c435731dc --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/networks/icons/doge.svg @@ -0,0 +1 @@ +Dogecoin (DOGE) \ No newline at end of file diff --git a/packages/extension-vite/src/providers/bitcoin/networks/icons/ltc.svg b/packages/extension-vite/src/providers/bitcoin/networks/icons/ltc.svg new file mode 100644 index 000000000..13e76a40e --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/networks/icons/ltc.svg @@ -0,0 +1 @@ +litecoin-ltc-logo \ No newline at end of file diff --git a/packages/extension-vite/src/providers/bitcoin/networks/icons/tbtc.svg b/packages/extension-vite/src/providers/bitcoin/networks/icons/tbtc.svg new file mode 100644 index 000000000..9323b5d8a --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/networks/icons/tbtc.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/extension-vite/src/providers/bitcoin/networks/index.ts b/packages/extension-vite/src/providers/bitcoin/networks/index.ts new file mode 100644 index 000000000..2cf52f449 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/networks/index.ts @@ -0,0 +1,11 @@ +import btcNode from "./bitcoin"; +import btcTestNode from "./bitcoin-testnet"; +import ltcNode from "./litecoin"; +import dogeNode from "./dogecoin"; + +export default { + bitcoin: btcNode, + bitcoinTest: btcTestNode, + litecoin: ltcNode, + dogecoin: dogeNode, +}; diff --git a/packages/extension-vite/src/providers/bitcoin/networks/litecoin.ts b/packages/extension-vite/src/providers/bitcoin/networks/litecoin.ts new file mode 100644 index 000000000..a8dedbd5c --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/networks/litecoin.ts @@ -0,0 +1,51 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { + BitcoinNetwork, + BitcoinNetworkOptions, + PaymentType, +} from "../types/bitcoin-network"; +import { ssHandler } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import SSFeeHandler from "../libs/ss-fee-handler"; +import SSApi from "../libs/api-ss"; + +const litecoinOptions: BitcoinNetworkOptions = { + name: NetworkNames.Litecoin, + name_long: "Litecoin", + homePage: "https://litecoin.org/", + blockExplorerTX: "https://explorer.btc.com/ltc/transaction/[[txHash]]", + blockExplorerAddr: "https://explorer.btc.com/ltc/address/[[address]]", + isTestNetwork: false, + currencyName: "LTC", + currencyNameLong: "Litecoin", + icon: require("./icons/ltc.svg"), + decimals: 8, + node: "https://partners.mewapi.io/nodes/ss/ltc", + coingeckoID: "litecoin", + dust: 0.0001, + apiType: SSApi, + activityHandler: wrapActivityHandler(ssHandler), + basePath: "m/49'/2'/0'/0", + feeHandler: () => { + return SSFeeHandler("https://partners.mewapi.io/nodes/ss/ltc/api/v1/fees"); + }, + networkInfo: { + name: NetworkNames.Litecoin, + messagePrefix: "\x19Litecoin Signed Message:\n", + bech32: "ltc", + bip32: { + public: 0x019da462, + private: 0x019d9cfe, + }, + pubKeyHash: 0x30, + scriptHash: 0x32, + wif: 0xb0, + dustThreshold: null, + paymentType: PaymentType.P2WPKH, + maxFeeRate: 5000 * 2, + }, +}; + +const litecoin = new BitcoinNetwork(litecoinOptions); + +export default litecoin; diff --git a/packages/extension-vite/src/providers/bitcoin/tests/bitcoin.address.derivation.mocha.ts b/packages/extension-vite/src/providers/bitcoin/tests/bitcoin.address.derivation.mocha.ts new file mode 100644 index 000000000..82b3e9506 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/tests/bitcoin.address.derivation.mocha.ts @@ -0,0 +1,16 @@ +import { expect } from "chai"; +import bitcoinNetworks from "../networks"; +const pubkey = + "0x021aa21d5f77b1be591d0a0a847cb7412a344f4e768b93d55b3eeab3b7e8a4a252"; +describe("Should derive proper bitcoin addresses", () => { + it("should derive segwit address", async () => { + const bitcoinMain = bitcoinNetworks.bitcoin; + expect(bitcoinMain.displayAddress(pubkey)).to.be.eq( + "bc1qnjmf6vcjpyru5t8y2936260mrqa305qactwds2" + ); + const bitcoinTest = bitcoinNetworks.bitcoinTest; + expect(bitcoinTest.displayAddress(pubkey)).to.be.eq( + "tb1qnjmf6vcjpyru5t8y2936260mrqa305qajd47te" + ); + }); +}); diff --git a/packages/extension-vite/src/providers/bitcoin/types/bitcoin-network.ts b/packages/extension-vite/src/providers/bitcoin/types/bitcoin-network.ts new file mode 100644 index 000000000..10268d9c6 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/types/bitcoin-network.ts @@ -0,0 +1,155 @@ +import { BaseNetwork, BaseNetworkOptions } from "@/types/base-network"; +import BitcoinAPI from "@/providers/bitcoin/libs/api"; +import { AssetsType } from "@/types/provider"; +import { BaseToken, BaseTokenOptions } from "@/types/base-token"; +import { ProviderName } from "@/types/provider"; +import { NetworkNames, SignerType } from "@enkryptcom/types"; +import createIcon from "../libs/blockies"; +import { Activity } from "@/types/activity"; +import { BitcoinNetworkInfo } from "."; +import { payments } from "bitcoinjs-lib"; +import { hexToBuffer, fromBase } from "@enkryptcom/utils"; +import { + formatFiatValue, + formatFloatingPointValue, +} from "@/libs/utils/number-formatter"; +import MarketData from "@/libs/market-data"; +import BigNumber from "bignumber.js"; +import { CoinGeckoTokenMarket } from "@/libs/market-data/types"; +import Sparkline from "@/libs/sparkline"; +import { BTCToken } from "./btc-token"; +import { GasPriceTypes } from "@/providers/common/types"; +import type HaskoinAPI from "@/providers/bitcoin/libs/api"; +import type SSAPI from "@/providers/bitcoin/libs/api-ss"; +import { NFTCollection } from "@/types/nft"; + +export enum PaymentType { + P2PKH = "p2pkh", + P2WPKH = "p2wpkh", +} +export interface BitcoinNetworkOptions { + name: NetworkNames; + name_long: string; + homePage: string; + blockExplorerTX: string; + blockExplorerAddr: string; + isTestNetwork: boolean; + currencyName: string; + currencyNameLong: string; + icon: string; + decimals: number; + node: string; + coingeckoID?: string; + basePath: string; + networkInfo: BitcoinNetworkInfo; + dust: number; + feeHandler: () => Promise>; + NFTHandler?: ( + network: BaseNetwork, + address: string + ) => Promise; + activityHandler: ( + network: BaseNetwork, + address: string + ) => Promise; + apiType: typeof HaskoinAPI | typeof SSAPI; +} + +export const getAddress = (pubkey: string, network: BitcoinNetworkInfo) => { + if (pubkey.length < 64) return pubkey; + const { address } = payments[network.paymentType]({ + network, + pubkey: hexToBuffer(pubkey), + }); + return address as string; +}; +export class BitcoinNetwork extends BaseNetwork { + public assets: BaseToken[] = []; + public networkInfo: BitcoinNetworkInfo; + public dust: number; + private activityHandler: ( + network: BaseNetwork, + address: string + ) => Promise; + feeHandler: () => Promise>; + NFTHandler?: ( + network: BaseNetwork, + address: string + ) => Promise; + constructor(options: BitcoinNetworkOptions) { + const api = async () => { + const api = new options.apiType(options.node, options.networkInfo); + await api.init(); + return api as BitcoinAPI; + }; + + const baseOptions: BaseNetworkOptions = { + identicon: createIcon, + signer: [SignerType.secp256k1btc], + provider: ProviderName.bitcoin, + displayAddress: (pubkey: string) => + getAddress(pubkey, options.networkInfo), + api, + ...options, + }; + super(baseOptions); + this.activityHandler = options.activityHandler; + this.networkInfo = options.networkInfo; + this.feeHandler = options.feeHandler; + this.NFTHandler = options.NFTHandler; + this.dust = options.dust; + } + + public async getAllTokens(pubkey: string): Promise { + const assets = await this.getAllTokenInfo(pubkey); + return assets.map((token) => { + const bTokenOptions: BaseTokenOptions = { + decimals: token.decimals, + icon: token.icon, + name: token.name, + symbol: token.symbol, + balance: token.balance, + price: token.value, + coingeckoID: this.coingeckoID, + }; + return new BTCToken(bTokenOptions); + }); + } + + public async getAllTokenInfo(pubkey: string): Promise { + const balance = await (await this.api()).getBalance(pubkey); + let marketData: (CoinGeckoTokenMarket | null)[] = []; + if (this.coingeckoID) { + const market = new MarketData(); + marketData = await market.getMarketData([this.coingeckoID]); + } + const userBalance = fromBase(balance, this.decimals); + const usdBalance = new BigNumber(userBalance).times( + marketData[0]?.current_price ?? 0 + ); + const nativeAsset: AssetsType = { + balance: balance, + balancef: formatFloatingPointValue(userBalance).value, + balanceUSD: usdBalance.toNumber(), + balanceUSDf: formatFiatValue(usdBalance.toString()).value, + icon: this.icon, + name: this.name_long, + symbol: this.currencyName, + value: marketData[0]?.current_price?.toString() ?? "0", + valuef: formatFiatValue(marketData[0]?.current_price?.toString() ?? "0") + .value, + contract: "", + decimals: this.decimals, + sparkline: marketData.length + ? new Sparkline(marketData[0]!.sparkline_in_7d.price, 25).dataValues + : "", + priceChangePercentage: marketData.length + ? marketData[0]!.price_change_percentage_7d_in_currency + : 0, + }; + return [nativeAsset]; + } + public getAllActivity(address: string): Promise { + return this.activityHandler(this, address); + } +} diff --git a/packages/extension-vite/src/providers/bitcoin/types/btc-token.ts b/packages/extension-vite/src/providers/bitcoin/types/btc-token.ts new file mode 100644 index 000000000..1b6f8acfc --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/types/btc-token.ts @@ -0,0 +1,19 @@ +import { BaseToken, BaseTokenOptions } from "@/types/base-token"; +import BitcoinAPI from "@/providers/bitcoin/libs/api"; + +export class BTCToken extends BaseToken { + constructor(options: BaseTokenOptions) { + super(options); + } + + public async getLatestUserBalance( + api: BitcoinAPI, + pubkey: string + ): Promise { + return api.getBalance(pubkey); + } + + public async send(): Promise { + throw new Error("EVM-send is not implemented here"); + } +} diff --git a/packages/extension-vite/src/providers/bitcoin/types/index.ts b/packages/extension-vite/src/providers/bitcoin/types/index.ts new file mode 100644 index 000000000..5a6283ba7 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/types/index.ts @@ -0,0 +1,109 @@ +import { NetworkNames } from "@enkryptcom/types"; +import type { Provider as InjectedProvider } from "../inject"; +import { PaymentType } from "./bitcoin-network"; + +export const BitcoinNetworks = { + livenet: NetworkNames.Bitcoin, + testnet: NetworkNames.BitcoinTest, +}; + +export interface BitcoinNetworkInfo { + name: NetworkNames; + messagePrefix: string; + bech32: string; + bip32: { + public: number; + private: number; + }; + pubKeyHash: number; + scriptHash: number; + wif: number; + dustThreshold: null; + paymentType: PaymentType; + maxFeeRate: number; +} + +export interface HaskoinBalanceType { + address: string; + confirmed: number; + unconfirmed: number; + utxo: number; + txs: number; + received: number; +} +export interface HaskoinUnspentType { + address: string; + block: { + height: number; + position: number; + }; + txid: string; + index: number; + pkscript: string; + value: number; + raw?: string; +} +export interface SSUnspentType { + txid: string; + vout: number; + value: string; + height: number; + confirmations: number; +} +export interface HaskoinTxType { + txid: string; + size: number; + version: number; + locktime: number; + fee: number; + inputs: { + txid: string; + pkscript: string; + value: number; + address: string; + }[]; + outputs: { + address: string; + pkscript: string; + value: number; + }[]; + block: { + height?: number; + position?: number; + mempool?: number; + }; + time: number; +} + +export interface SSTxType { + txid: string; + blockHash: string; + blockHeight: number; + timestamp: number; + confirmations: number; + fee: string; + hex: string; + vin: { + txid: string; + addresses?: string[]; + value: string; + }[]; + vout: { + addresses?: string[]; + value: string; + scriptPubKey: { + hex: string; + }; + }[]; +} + +export interface RPCTxType { + to: string; + value: number; +} + +export interface SignPSBTOptions { + autoFinalized: boolean; +} + +export { InjectedProvider }; diff --git a/packages/extension-vite/src/providers/bitcoin/ui/btc-connect-dapp.vue b/packages/extension-vite/src/providers/bitcoin/ui/btc-connect-dapp.vue new file mode 100644 index 000000000..b21ee32dc --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/btc-connect-dapp.vue @@ -0,0 +1,172 @@ + + + + + diff --git a/packages/extension-vite/src/providers/bitcoin/ui/btc-sign-message.vue b/packages/extension-vite/src/providers/bitcoin/ui/btc-sign-message.vue new file mode 100644 index 000000000..418857702 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/btc-sign-message.vue @@ -0,0 +1,122 @@ + + + + + diff --git a/packages/extension-vite/src/providers/bitcoin/ui/btc-verify-transaction.vue b/packages/extension-vite/src/providers/bitcoin/ui/btc-verify-transaction.vue new file mode 100644 index 000000000..a425c9782 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/btc-verify-transaction.vue @@ -0,0 +1,342 @@ + + + + + diff --git a/packages/extension-vite/src/providers/bitcoin/ui/index.ts b/packages/extension-vite/src/providers/bitcoin/ui/index.ts new file mode 100644 index 000000000..865942ef0 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/index.ts @@ -0,0 +1,7 @@ +import { ProviderName, UIExportOptions } from "@/types/provider"; +import getRoutes from "./routes"; +const uiExport: UIExportOptions = { + providerName: ProviderName.bitcoin, + routes: getRoutes(ProviderName.bitcoin), +}; +export default uiExport; diff --git a/packages/extension-vite/src/providers/bitcoin/ui/libs/signer.ts b/packages/extension-vite/src/providers/bitcoin/ui/libs/signer.ts new file mode 100644 index 000000000..2ef9ba2ab --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/libs/signer.ts @@ -0,0 +1,199 @@ +import { InternalMethods, InternalOnMessageResponse } from "@/types/messenger"; +import { SignerTransactionOptions, SignerMessageOptions } from "../types"; +import sendUsingInternalMessengers from "@/libs/messenger/internal-messenger"; +import { hexToBuffer, bufferToHex } from "@enkryptcom/utils"; +import { Psbt, Transaction } from "bitcoinjs-lib"; +import { BitcoinNetwork, PaymentType } from "../../types/bitcoin-network"; +import { EnkryptAccount, HWwalletType } from "@enkryptcom/types"; +import { + getPSBTMessageOfBIP322Simple, + getSignatureFromSignedTransaction, + signMessageOfBIP322Simple, +} from "../../libs/bip322-message-sign"; +import { magicHash, toCompact } from "../../libs/sign-message-utils"; +import HWwallet from "@enkryptcom/hw-wallets"; +import type BitcoinAPI from "@/providers/bitcoin/libs/api"; + +const PSBTSigner = (account: EnkryptAccount, network: BitcoinNetwork) => { + return { + publicKey: hexToBuffer(account.address), + network: network.networkInfo, + sign: (hash: Buffer): Promise => { + return sendUsingInternalMessengers({ + method: InternalMethods.sign, + params: [bufferToHex(hash), account], + }).then((res) => { + if (res.error) { + return Promise.reject({ + error: res.error, + }); + } else { + return hexToBuffer(JSON.parse(res.result!)).subarray(0, 64); + } + }); + }, + }; +}; + +const TransactionSigner = async ( + options: SignerTransactionOptions +): Promise => { + const { account, network, payload } = options; + const tx = new Psbt({ + network: network.networkInfo, + maximumFeeRate: network.networkInfo.maxFeeRate, + }); + payload.inputs + .map((u) => { + const res: { + hash: string; + index: number; + witnessUtxo?: { script: Buffer; value: number }; + nonWitnessUtxo?: Buffer; + } = { + hash: u.hash, + index: u.index, + }; + if (network.networkInfo.paymentType === PaymentType.P2WPKH) { + res.witnessUtxo = { + script: Buffer.from(u.witnessUtxo.script, "hex"), + value: u.witnessUtxo.value, + }; + } else if (network.networkInfo.paymentType === PaymentType.P2PKH) { + res.nonWitnessUtxo = Buffer.from(u.raw, "hex"); + } + return res; + }) + .forEach((input) => tx.addInput(input)); + payload.outputs.forEach((output) => tx.addOutput(output)); + if (account.isHardware) { + const hwwallets = new HWwallet(); + const api = (await network.api()) as BitcoinAPI; + const txPromises = payload.inputs.map((u) => api.getRawTransaction(u.hash)); + const rawTxs = await Promise.all(txPromises); + for (const t of rawTxs) { + if (t === null) throw new Error("bitcoin-signer: Invalid tx hash"); + } + return hwwallets + .signTransaction({ + transaction: { + rawTxs: rawTxs as string[], + psbtTx: tx, + }, + networkName: network.name, + pathIndex: account.pathIndex.toString(), + pathType: { + basePath: account.basePath, + path: account.HWOptions!.pathTemplate, + }, + wallet: account.walletType as unknown as HWwalletType, + }) + .then((strTx: string) => { + return Transaction.fromHex(strTx); + }); + } else { + const signer = PSBTSigner(account, network); + return tx.signAllInputsAsync(signer).then(() => { + tx.finalizeAllInputs(); + return tx.extractTransaction(); + }); + } +}; + +const MessageSigner = ( + options: SignerMessageOptions +): Promise => { + const { account, payload, network } = options; + if (account.isHardware) { + const psbtToSign = getPSBTMessageOfBIP322Simple({ + address: account.address, + message: payload.toString(), + network: network, + }); + const hwwallets = new HWwallet(); + return hwwallets + .signPersonalMessage({ + message: payload, + type: options.type as any, + psbtTx: psbtToSign.psbtToSign, + inputTx: psbtToSign.txdata, + networkName: network.name, + pathIndex: account.pathIndex.toString(), + pathType: { + basePath: account.basePath, + path: account.HWOptions!.pathTemplate, + }, + wallet: account.walletType as unknown as HWwalletType, + }) + .then((strTx: string) => { + const sig = getSignatureFromSignedTransaction(strTx); + return { + result: JSON.stringify(sig), + }; + }) + .catch((e: any) => { + return { + error: { + message: e.message, + code: -1, + }, + }; + }); + } else { + if (options.type === "bip322-simple") { + const signer = PSBTSigner(account, network); + return signMessageOfBIP322Simple({ + address: account.address, + message: payload.toString(), + network: network, + Signer: signer, + }) + .then((sig) => { + return { + result: JSON.stringify(sig), + }; + }) + .catch((e) => { + return { + error: { + message: e.message, + code: -1, + }, + }; + }); + } else { + const signer = { + sign: ( + hash: Buffer + ): Promise<{ signature: Buffer; recovery: number }> => { + return sendUsingInternalMessengers({ + method: InternalMethods.sign, + params: [bufferToHex(hash), account], + }).then((res) => { + if (res.error) { + return Promise.reject({ + error: res.error, + }); + } else { + const sigBuffer = hexToBuffer(JSON.parse(res.result!)); + return { + signature: sigBuffer.subarray(0, 64), + recovery: sigBuffer[64], + }; + } + }); + }, + }; + const mHash = magicHash(payload); + return signer.sign(mHash).then((sig) => { + return { + result: JSON.stringify( + toCompact(sig.recovery, sig.signature, true).toString("base64") + ), + }; + }); + } + } +}; + +export { TransactionSigner, MessageSigner, PSBTSigner }; diff --git a/packages/extension-vite/src/providers/bitcoin/ui/libs/tx-size.ts b/packages/extension-vite/src/providers/bitcoin/ui/libs/tx-size.ts new file mode 100644 index 000000000..4dcb707eb --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/libs/tx-size.ts @@ -0,0 +1,260 @@ +// https://github.com/jlopp/bitcoin-transaction-size-calculator/blob/master/index.html + +import { toBN } from "web3-utils"; +import { PaymentType } from "../../types/bitcoin-network"; + +enum InputScriptType { + P2PKH = "P2PKH", + P2SH = "P2SH", + "P2SH-P2WPKH" = "P2SH-P2WPKH", + "P2SH-P2WSH" = "P2SH-P2WSH", + P2WPKH = "P2WPKH", + P2WSH = "P2WSH", + P2TR = "P2TR", +} +const P2PKH_IN_SIZE = 148; +const P2PKH_OUT_SIZE = 34; + +const P2SH_OUT_SIZE = 32; +const P2SH_P2WPKH_OUT_SIZE = 32; +const P2SH_P2WSH_OUT_SIZE = 32; + +// All segwit input sizes are reduced by 1 WU to account for the witness item counts being added for every input per the transaction header +const P2SH_P2WPKH_IN_SIZE = 90.75; + +const P2WPKH_IN_SIZE = 67.75; +const P2WPKH_OUT_SIZE = 31; + +const P2WSH_OUT_SIZE = 43; +const P2TR_OUT_SIZE = 43; + +const P2TR_IN_SIZE = 57.25; + +const PUBKEY_SIZE = 33; +const SIGNATURE_SIZE = 72; + +const getSizeOfVarInt = (length: number) => { + if (length < 253) { + return 1; + } else if (length < 65535) { + return 3; + } else if (length < 4294967295) { + return 5; + } else if (length < toBN("18446744073709551615").toNumber()) { + return 9; + } else { + alert("Invalid var int"); + } +}; + +const getSizeOfScriptLengthElement = (length: number) => { + if (length < 75) { + return 1; + } else if (length <= 255) { + return 2; + } else if (length <= 65535) { + return 3; + } else if (length <= 4294967295) { + return 5; + } else { + alert("Size of redeem script is too large"); + } +}; + +const getTxOverheadExtraRawBytes = ( + input_script: InputScriptType, + input_count: number +) => { + let witness_bytes = 0; + // Returns the remaining 3/4 bytes per witness bytes + if ( + input_script !== InputScriptType.P2PKH && + input_script !== InputScriptType.P2SH + ) { + // Transactions with segwit inputs have extra overhead + witness_bytes = + 0.25 + // segwit marker + 0.25 + // segwit flag + input_count / 4; // witness element count per input + } + return witness_bytes * 3; +}; + +const getTxOverheadVBytes = ( + input_script: InputScriptType, + input_count: number, + output_count: number +) => { + let witness_vbytes = 0; + if ( + input_script != InputScriptType.P2PKH && + input_script != InputScriptType.P2SH + ) { + // Transactions with segwit inputs have extra overhead + witness_vbytes = + 0.25 + // segwit marker + 0.25 + // segwit flag + input_count / 4; // witness element count per input + } + return ( + 4 + // nVersion + getSizeOfVarInt(input_count)! + // number of inputs + getSizeOfVarInt(output_count)! + // number of outputs + 4 + // nLockTime + witness_vbytes + ); +}; + +interface calcInputType { + input_script?: InputScriptType; + input_n?: number; + input_m?: number; + input_count: number; +} +interface calcOutputType { + p2pkh_output_count?: number; + p2sh_output_count?: number; + p2sh_p2wpkh_output_count?: number; + p2sh_p2wsh_output_count?: number; + p2wpkh_output_count?: number; + p2wsh_output_count?: number; + p2tr_output_count?: number; +} +const calculateSize = ( + inputOptions: calcInputType, + outputOptions: calcOutputType +) => { + const defaultInputOptions = { + input_script: InputScriptType.P2WPKH, + input_m: 1, + input_n: 1, + }; + const defaultOutputOptions = { + p2pkh_output_count: 0, + p2sh_output_count: 0, + p2sh_p2wpkh_output_count: 0, + p2sh_p2wsh_output_count: 0, + p2wpkh_output_count: 0, + p2wsh_output_count: 0, + p2tr_output_count: 0, + }; + const _inputOptions = { ...defaultInputOptions, ...inputOptions }; + const _outputOptions = { ...defaultOutputOptions, ...outputOptions }; + const { input_script, input_n, input_m, input_count } = _inputOptions; + const { + p2pkh_output_count, + p2sh_output_count, + p2sh_p2wpkh_output_count, + p2sh_p2wsh_output_count, + p2wpkh_output_count, + p2wsh_output_count, + p2tr_output_count, + } = _outputOptions; + + const output_count = + p2pkh_output_count + + p2sh_output_count + + p2sh_p2wpkh_output_count + + p2sh_p2wsh_output_count + + p2wpkh_output_count + + p2wsh_output_count + + p2tr_output_count; + // In most cases the input size is predictable. For multisig inputs we need to perform a detailed calculation + let inputSize = 0; // in virtual bytes + let inputWitnessSize = 0; + let redeemScriptSize = 0; + let scriptSigSize = 0; + switch (input_script) { + case "P2PKH": + inputSize = P2PKH_IN_SIZE; + break; + case "P2SH-P2WPKH": + inputSize = P2SH_P2WPKH_IN_SIZE; + inputWitnessSize = 107; // size(signature) + signature + size(pubkey) + pubkey + break; + case "P2WPKH": + inputSize = P2WPKH_IN_SIZE; + inputWitnessSize = 107; // size(signature) + signature + size(pubkey) + pubkey + break; + case "P2TR": // Only consider the cooperative taproot signing path; assume multisig is done via aggregate signatures + inputSize = P2TR_IN_SIZE; + inputWitnessSize = 65; // getSizeOfVarInt(schnorrSignature) + schnorrSignature; + break; + case "P2SH": + redeemScriptSize = + 1 + // OP_M + input_n * (1 + PUBKEY_SIZE) + // OP_PUSH33 + 1 + // OP_N + 1; // OP_CHECKMULTISIG + scriptSigSize = + 1 + // size(0) + input_m * (1 + SIGNATURE_SIZE) + // size(SIGNATURE_SIZE) + signature + getSizeOfScriptLengthElement(redeemScriptSize)! + + redeemScriptSize; + inputSize = 32 + 4 + getSizeOfVarInt(scriptSigSize)! + scriptSigSize + 4; + break; + case "P2SH-P2WSH": + case "P2WSH": + redeemScriptSize = + 1 + // OP_M + input_n * (1 + PUBKEY_SIZE) + // OP_PUSH33 + 1 + // OP_N + 1; // OP_CHECKMULTISIG + inputWitnessSize = + 1 + // size(0) + input_m * (1 + SIGNATURE_SIZE) + // size(SIGNATURE_SIZE) + signature + getSizeOfScriptLengthElement(redeemScriptSize)! + + redeemScriptSize; + inputSize = + 36 + // outpoint (spent UTXO ID) + inputWitnessSize / 4 + // witness program + 4; // nSequence + if (input_script == "P2SH-P2WSH") { + inputSize += 32 + 3; // P2SH wrapper (redeemscript hash) + overhead? + } + } + const txVBytes = + getTxOverheadVBytes(input_script, input_count, output_count) + + inputSize * input_count + + P2PKH_OUT_SIZE * p2pkh_output_count + + P2SH_OUT_SIZE * p2sh_output_count + + P2SH_P2WPKH_OUT_SIZE * p2sh_p2wpkh_output_count + + P2SH_P2WSH_OUT_SIZE * p2sh_p2wsh_output_count + + P2WPKH_OUT_SIZE * p2wpkh_output_count + + P2WSH_OUT_SIZE * p2wsh_output_count + + P2TR_OUT_SIZE * p2tr_output_count; + const txBytes = + getTxOverheadExtraRawBytes(input_script, input_count)! + + txVBytes + + (inputWitnessSize * input_count * 3) / 4; + const txWeight = txVBytes * 4; + return { + txVBytes, + txBytes, + txWeight, + }; +}; +const calculateSizeBasedOnType = ( + numInputs: number, + numOutputs: number, + type: PaymentType +): number => { + const output: calcOutputType = {}; + if (type === PaymentType.P2PKH) { + output.p2pkh_output_count = numOutputs; + } else { + output.p2wpkh_output_count = numOutputs; + } + const size = calculateSize( + { + input_script: + type === PaymentType.P2PKH + ? InputScriptType.P2PKH + : InputScriptType.P2WPKH, + input_count: numInputs, + }, + output + ); + return type === PaymentType.P2PKH ? size.txBytes : size.txVBytes; +}; +export { InputScriptType, calculateSize, calculateSizeBasedOnType }; diff --git a/packages/extension-vite/src/providers/bitcoin/ui/routes/index.ts b/packages/extension-vite/src/providers/bitcoin/ui/routes/index.ts new file mode 100644 index 000000000..fc3707ea1 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/routes/index.ts @@ -0,0 +1,18 @@ +import btcSign from "../btc-sign-message.vue"; +import btcSendTransaction from "../btc-verify-transaction.vue"; +import btcConnectDApp from "../btc-connect-dapp.vue"; +import btcHWVerify from "../send-transaction/verify-transaction/index.vue"; +import { RouteRecordRaw } from "vue-router"; +import RouteNames from "./names"; +const routes = Object.assign({}, RouteNames); +routes.btcSign.component = btcSign; +routes.btcSendTransaction.component = btcSendTransaction; +routes.btcConnectDApp.component = btcConnectDApp; +routes.btcHWVerify.component = btcHWVerify; +export default (namespace: string): RouteRecordRaw[] => { + return Object.values(routes).map((route) => { + route.path = `/${namespace}/${route.path}`; + route.name = `${namespace}-${String(route.name)}`; + return route; + }); +}; diff --git a/packages/extension-vite/src/providers/bitcoin/ui/routes/names.ts b/packages/extension-vite/src/providers/bitcoin/ui/routes/names.ts new file mode 100644 index 000000000..021efe31d --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/routes/names.ts @@ -0,0 +1,22 @@ +export default { + btcSign: { + path: "btc-sign", + name: "btcSign", + component: {}, + }, + btcSendTransaction: { + path: "btc-send-transaction", + name: "btcSendTransaction", + component: {}, + }, + btcConnectDApp: { + path: "btc-connect-dapp", + name: "btcConnectDApp", + component: {}, + }, + btcHWVerify: { + path: "btc-hw-verify", + name: "btcHWVerify", + component: {}, + }, +}; diff --git a/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-address-input.vue b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-address-input.vue new file mode 100644 index 000000000..e357d7451 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-address-input.vue @@ -0,0 +1,160 @@ + + + + + diff --git a/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-alert.vue b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-alert.vue new file mode 100644 index 000000000..583cce98d --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-alert.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-token-select.vue b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-token-select.vue new file mode 100644 index 000000000..3929af6bd --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/components/send-token-select.vue @@ -0,0 +1,107 @@ + + + + + diff --git a/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/index.vue b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/index.vue new file mode 100644 index 000000000..f633d341f --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/index.vue @@ -0,0 +1,570 @@ + + + + + diff --git a/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/verify-transaction/index.vue b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/verify-transaction/index.vue new file mode 100644 index 000000000..fb77ca400 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/send-transaction/verify-transaction/index.vue @@ -0,0 +1,356 @@ + + + + + diff --git a/packages/extension-vite/src/providers/bitcoin/ui/styles/common-popup.less b/packages/extension-vite/src/providers/bitcoin/ui/styles/common-popup.less new file mode 100644 index 000000000..26ae7ebf3 --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/styles/common-popup.less @@ -0,0 +1,220 @@ +@import '@action/styles/theme.less'; + +.common-popup { + width: 100%; + height: 100%; + + &__header { + padding: 28px 0 8px 0; + } + + &__content { + height: calc(~'100% - 52px'); + box-sizing: border-box; + display: flex; + flex-direction: row; + align-items: center; + justify-content: flex-start; + } + + &__wrap { + width: 100%; + } + + &__network { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + position: absolute; + right: 56px; + top: 28px; + + img { + width: 16px; + height: 16px; + margin-right: 8px; + } + + p { + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 16px; + text-align: right; + letter-spacing: 0.5px; + color: @primaryLabel; + margin: 0; + } + } + + h2 { + font-style: normal; + font-weight: 700; + font-size: 34px; + line-height: 40px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0 0 16px 0; + } + + &__block { + background: @lightBg; + border: 1px solid @gray01; + box-sizing: border-box; + border-radius: 12px; + padding: 10px 16px; + width: 100%; + margin: 0 0 16px 0; + + &.no-inset { + margin: 0; + } + + &.no-padding { + padding: 0; + } + } + + &__message { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0 0 6px 0; + height: auto; + max-height: 180px; + overflow: auto; + word-break: break-all; + } + + &__account { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + + img { + width: 32px; + height: 32px; + margin-right: 12px; + border-radius: 100%; + } + + &-info { + h4 { + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0; + } + + p { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + margin: 0; + word-break: break-all; + } + } + } + + &__info { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + padding: 6px 0; + margin-bottom: 6px; + + img { + width: 32px; + height: 32px; + margin-right: 12px; + } + + &-info { + h4 { + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0; + } + + p { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + margin: 0; + word-break: break-all; + } + } + } + + &__buttons { + display: flex; + justify-content: space-between; + align-items: center; + flex-direction: row; + width: 100%; + box-sizing: border-box; + position: absolute; + left: 0; + bottom: 0; + font-size: 0; + padding: 24px; + box-sizing: border-box; + background-color: @white; + &-cancel { + width: 172px; + } + &-send { + width: 232px; + } + + &.border { + box-shadow: + 0px 0px 6px rgba(0, 0, 0, 0.05), + 0px 0px 1px rgba(0, 0, 0, 0.25); + } + } + + &__scroll-area { + position: relative; + margin: auto; + width: calc(~'100% + 53px'); + height: calc(~'100% - 88px'); + margin: 0; + padding: 0 53px 0 0 !important; + margin-right: -53px; + box-sizing: border-box; + + &.ps--active-y { + padding-bottom: 0 !important; + } + + & > .ps__rail-y { + right: 0 !important; + } + } +} + +.ps--active-y { + .common-popup__content { + height: auto; + } +} diff --git a/packages/extension-vite/src/providers/bitcoin/ui/styles/verify-transaction.less b/packages/extension-vite/src/providers/bitcoin/ui/styles/verify-transaction.less new file mode 100644 index 000000000..fa241147e --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/styles/verify-transaction.less @@ -0,0 +1,479 @@ +.provider-verify-transaction { + width: 100%; + height: 100%; + padding-top: 44px; + padding-bottom: 76px; + box-sizing: border-box; + &__logo { + margin-bottom: 8px; + } + &__network { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + position: absolute; + right: 56px; + top: 54px; + + img { + width: 16px; + height: 16px; + margin-right: 8px; + } + + p { + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 16px; + text-align: right; + letter-spacing: 0.5px; + color: @primaryLabel; + margin: 0; + } + } + h2 { + font-style: normal; + font-weight: 700; + font-size: 34px; + line-height: 40px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0 0 16px 0; + } + &__block { + background: @lightBg; + border: 1px solid @gray01; + box-sizing: border-box; + border-radius: 12px; + padding: 10px 16px; + width: 100%; + margin: 0 0 12px 0; + } + &__amount { + display: flex; + justify-content: flex-start; + align-items: flex-start; + flex-direction: row; + + img { + box-shadow: inset 0px 0px 1px rgba(0, 0, 0, 0.16); + width: 32px; + height: 32px; + margin-right: 12px; + border-radius: 100%; + } + + &-info { + h4 { + font-style: normal; + font-weight: 700; + font-size: 24px; + line-height: 32px; + color: @primaryLabel; + margin: 0; + + span { + font-variant: small-caps; + } + } + + p { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @secondaryLabel; + margin: 0; + } + } + } + &__account { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + + &.from { + margin-bottom: 12px; + } + + img { + width: 32px; + height: 32px; + margin-right: 12px; + border-radius: 100%; + } + &-info { + h4 { + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0; + } + + h6 { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + margin: 0; + } + + div { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + + p { + &:first-child { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + margin: 0 8px 0 0; + + span { + font-variant: small-caps; + } + } + + &:last-child { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @tertiaryLabel; + margin: 0; + word-break: break-all; + } + } + } + + &-to { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + word-break: break-all; +} + } + } + &__error { + margin: 12px 0 0 0; + border-radius: 10px; + padding: 0 0 0 44px; + position: relative; + box-sizing: border-box; + svg { + position: absolute; + left: 0; + top: 0; + } + p { + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @error; + margin: 0; + a { + color: @error; + &:hover { + text-decoration: none; + } + } + } + } + &__message { + background: @lightBg; + border: 1px solid @gray01; + box-sizing: border-box; + border-radius: 12px; + padding: 10px 16px; + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0 0 6px 0; + height: auto; + max-height: 180px; + overflow: auto; + word-break: break-all; + } + &__info { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + padding: 6px 0; + margin-bottom: 6px; + img { + width: 32px; + height: 32px; + margin-right: 12px; + } + &-info { + h4 { + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0; + } + + p { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @tertiaryLabel; + margin: 0; + word-break: break-all; + } + } + } + &__data { + text-align: center; + padding-top: 4px; + padding-bottom: 20px; + &-link { + border-radius: 6px; + transition: background 300ms ease-in-out; + display: inline-block; + cursor: pointer; + text-decoration: none; + padding: 4px 24px 4px 8px; + position: relative; + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.8px; + color: @primaryLabel; + + &:hover { + background: rgba(0, 0, 0, 0.04); + } + + svg { + position: absolute; + right: 4px; + top: 4px; + -moz-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; + } + + &.open { + svg { + position: absolute; + right: 4px; + top: 4px; + -moz-transform: rotate(180deg); + -webkit-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + } + } + } + + &-text { + padding-top: 12px; + text-align: left; + font-family: 'SF Mono', 'Segoe UI Mono', 'Menlo', 'Consolas'; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + + p { + font-family: 'SF Mono', 'Segoe UI Mono', 'Menlo', 'Consolas'; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + margin: 0; + + a { + color: @secondaryLabel; + } + } + + li { + list-style: none; + } + } + } + &__buttons { + display: flex; + justify-content: space-between; + align-items: center; + flex-direction: row; + width: 100%; + box-sizing: border-box; + position: absolute; + left: 0; + bottom: 0; + font-size: 0; + padding: 24px; + box-sizing: border-box; + background-color: @white; + &-cancel { + width: 172px; + } + &-send { + width: 232px; + } + + &.border { + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.05), + 0px 0px 1px rgba(0, 0, 0, 0.25); + } + } + + &__scroll-area { + position: relative; + margin: auto; + width: calc(~"100% + 16px"); + max-height: 350px; + margin: 0; + padding: 0 16px 0 0 !important; + margin-right: -16px; + box-sizing: border-box; + + &.ps--active-y { + padding-bottom: 0 !important; + } + + & > .ps__rail-y { + right: 0 !important; + } + } + + &__hw { + padding: 2px 0 2px 44px; + position: relative; + + svg { + position: absolute; + left: 0; + top: 50%; + margin-top: -16px; + } + + p { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @secondaryLabel; + margin: 0; + } + } + + &__fee { + height: 40px; + background: @lightBg; + margin: 0 0 12px 0; + box-sizing: border-box; + border: 1px solid @gray01; + box-sizing: border-box; + border-radius: 10px; + width: 100%; + padding: 16px 10px; + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + position: relative; + cursor: pointer; + text-decoration: none; + + &-value { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + + &-fiat { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @secondaryLabel; + margin: 0 8px 0 0; + } + + &-crypto { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @tertiaryLabel; + margin: 0; + + span { + font-variant: small-caps; + } + } + } + } + + &__error { + margin: 0 0 8px 0; + background: @error01; + border-radius: 10px; + padding: 12px 16px 12px 57px; + position: relative; + box-sizing: border-box; + + svg { + position: absolute; + left: 16px; + top: 50%; + margin-top: -12px; + } + p { + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @error; + margin: 0; + } + } +} \ No newline at end of file diff --git a/packages/extension-vite/src/providers/bitcoin/ui/types.ts b/packages/extension-vite/src/providers/bitcoin/ui/types.ts new file mode 100644 index 000000000..2020c148c --- /dev/null +++ b/packages/extension-vite/src/providers/bitcoin/ui/types.ts @@ -0,0 +1,47 @@ +import { ToTokenData } from "@/ui/action/types/token"; +import { EnkryptAccount } from "@enkryptcom/types"; +import { GasPriceTypes } from "@/providers/common/types"; +import { BitcoinNetwork } from "../types/bitcoin-network"; +import { NFTItemWithCollectionName } from "@/types/nft"; + +export interface GasFeeInfo { + nativeValue: string; + fiatValue: string; + nativeSymbol: string; + fiatSymbol: string; +} +export interface BTCTxInfo { + inputs: any[]; + outputs: { address: string; value: number }[]; +} +export interface GasFeeType { + [GasPriceTypes.ECONOMY]: GasFeeInfo; + [GasPriceTypes.REGULAR]: GasFeeInfo; + [GasPriceTypes.FAST]: GasFeeInfo; + [GasPriceTypes.FASTEST]: GasFeeInfo; +} + +export interface VerifyTransactionParams { + isNFT: boolean; + NFTData?: NFTItemWithCollectionName; + fromAddress: string; + fromAddressName: string; + toAddress: string; + toToken: ToTokenData; + gasFee: GasFeeInfo; + gasPriceType: GasPriceTypes; + TxInfo: string; +} + +export interface SignerTransactionOptions { + payload: BTCTxInfo; + network: BitcoinNetwork; + account: EnkryptAccount; +} + +export interface SignerMessageOptions { + payload: Buffer; + network: BitcoinNetwork; + account: EnkryptAccount; + type: string; +} diff --git a/packages/extension-vite/src/providers/common/libs/default-vals.ts b/packages/extension-vite/src/providers/common/libs/default-vals.ts new file mode 100644 index 000000000..75b7220ef --- /dev/null +++ b/packages/extension-vite/src/providers/common/libs/default-vals.ts @@ -0,0 +1,29 @@ +import { GasPriceTypes } from "../types"; + +const defaultGasCostVals = { + [GasPriceTypes.ECONOMY]: { + nativeValue: "0", + fiatValue: "0.00", + nativeSymbol: "~", + fiatSymbol: "USD", + }, + [GasPriceTypes.REGULAR]: { + nativeValue: "0", + fiatValue: "0.00", + nativeSymbol: "~", + fiatSymbol: "USD", + }, + [GasPriceTypes.FAST]: { + nativeValue: "0", + fiatValue: "0.00", + nativeSymbol: "~", + fiatSymbol: "USD", + }, + [GasPriceTypes.FASTEST]: { + nativeValue: "0", + fiatValue: "0.00", + nativeSymbol: "~", + fiatSymbol: "USD", + }, +}; +export { defaultGasCostVals }; diff --git a/packages/extension-vite/src/providers/common/libs/new-features.ts b/packages/extension-vite/src/providers/common/libs/new-features.ts new file mode 100644 index 000000000..df9d62d46 --- /dev/null +++ b/packages/extension-vite/src/providers/common/libs/new-features.ts @@ -0,0 +1,6 @@ +import { NetworkNames } from "@enkryptcom/types"; + +const newNetworks = [NetworkNames.Solana]; +const newSwaps: NetworkNames[] = []; + +export { newNetworks, newSwaps }; diff --git a/packages/extension-vite/src/providers/common/types/index.ts b/packages/extension-vite/src/providers/common/types/index.ts new file mode 100644 index 000000000..591d6a8a9 --- /dev/null +++ b/packages/extension-vite/src/providers/common/types/index.ts @@ -0,0 +1,22 @@ +import type { toBN } from "web3-utils"; + +export interface GasFeeInfo { + nativeValue: string; + fiatValue: string; + nativeSymbol: string; + fiatSymbol: string; +} +export enum GasPriceTypes { + ECONOMY = "ECONOMY", + REGULAR = "REGULAR", + FAST = "FAST", + FASTEST = "FASTEST", +} +export interface GasFeeType { + [GasPriceTypes.ECONOMY]: GasFeeInfo; + [GasPriceTypes.REGULAR]: GasFeeInfo; + [GasPriceTypes.FAST]: GasFeeInfo; + [GasPriceTypes.FASTEST]: GasFeeInfo; +} + +export type BNType = ReturnType; diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-item.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-item.vue new file mode 100644 index 000000000..37f937c14 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-item.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-search.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-search.vue new file mode 100644 index 000000000..bd2a6ae31 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/components/nft-select-list-search.vue @@ -0,0 +1,42 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/index.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/index.vue new file mode 100644 index 000000000..0f3f9a5c5 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/nft-select-list/index.vue @@ -0,0 +1,175 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/send-address-item.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/send-address-item.vue new file mode 100644 index 000000000..897e2057a --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/send-address-item.vue @@ -0,0 +1,145 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/send-alert.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/send-alert.vue new file mode 100644 index 000000000..b235a7e63 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/send-alert.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/send-contacts-list.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/send-contacts-list.vue new file mode 100644 index 000000000..4c9b634d2 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/send-contacts-list.vue @@ -0,0 +1,271 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/send-fee-select.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/send-fee-select.vue new file mode 100644 index 000000000..5d9dca9c8 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/send-fee-select.vue @@ -0,0 +1,150 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/send-from-contacts-list.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/send-from-contacts-list.vue new file mode 100644 index 000000000..d37567051 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/send-from-contacts-list.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/send-header.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/send-header.vue new file mode 100644 index 000000000..26db61105 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/send-header.vue @@ -0,0 +1,151 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/send-input-amount.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/send-input-amount.vue new file mode 100644 index 000000000..b069094a3 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/send-input-amount.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/send-nft-select.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/send-nft-select.vue new file mode 100644 index 000000000..5ac0e1a1c --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/send-nft-select.vue @@ -0,0 +1,165 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/send-transaction/verify-transaction-nft.vue b/packages/extension-vite/src/providers/common/ui/send-transaction/verify-transaction-nft.vue new file mode 100644 index 000000000..5b81a700b --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/send-transaction/verify-transaction-nft.vue @@ -0,0 +1,85 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/styles/verify-transaction.less b/packages/extension-vite/src/providers/common/ui/styles/verify-transaction.less new file mode 100644 index 000000000..eadd2b716 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/styles/verify-transaction.less @@ -0,0 +1,470 @@ +.provider-verify-transaction { + width: 100%; + height: 100%; + padding-top: 44px; + padding-bottom: 76px; + box-sizing: border-box; + &__logo { + margin-bottom: 8px; + } + &__network { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + position: absolute; + right: 56px; + top: 54px; + + img { + width: 16px; + height: 16px; + margin-right: 8px; + } + + p { + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 16px; + text-align: right; + letter-spacing: 0.5px; + color: @primaryLabel; + margin: 0; + } + } + h2 { + font-style: normal; + font-weight: 700; + font-size: 34px; + line-height: 40px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0 0 16px 0; + word-break: break-all; + } + &__block { + background: @lightBg; + border: 1px solid @gray01; + box-sizing: border-box; + border-radius: 12px; + padding: 10px 16px; + width: 100%; + margin: 0 0 12px 0; + } + &__amount { + display: flex; + justify-content: flex-start; + align-items: flex-start; + flex-direction: row; + + img { + box-shadow: inset 0px 0px 1px rgba(0, 0, 0, 0.16); + width: 32px; + height: 32px; + margin-right: 12px; + border-radius: 100%; + } + + &-info { + h4 { + font-style: normal; + font-weight: 700; + font-size: 24px; + line-height: 32px; + color: @primaryLabel; + margin: 0; + word-break: break-all; + + span { + font-variant: small-caps; + } + } + + p { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @secondaryLabel; + margin: 0; + } + } + } + &__account { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + + &.from { + margin-bottom: 12px; + } + + img { + width: 32px; + height: 32px; + margin-right: 12px; + border-radius: 100%; + } + &-info { + h4 { + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0; + word-break: break-all; + } + + h6 { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + margin: 0; + word-break: break-all; + } + + div { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + + p { + &:first-child { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + margin: 0 8px 0 0; + + span { + font-variant: small-caps; + } + } + + &:last-child { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @tertiaryLabel; + margin: 0; + word-break: break-all; + } + } + } + + &-to { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + word-break: break-all; +} + } + } + &__error { + margin: 12px 0 0 0; + border-radius: 10px; + padding: 0 0 0 44px; + position: relative; + box-sizing: border-box; + svg { + position: absolute; + left: 0; + top: 0; + } + p { + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @error; + margin: 0; + a { + color: @error; + &:hover { + text-decoration: none; + } + } + } + } + &__info { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + padding: 6px 0; + margin-bottom: 6px; + img { + width: 32px; + height: 32px; + margin-right: 12px; + } + &-info { + h4 { + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @primaryLabel; + margin: 0; + word-break: break-all; + } + + p { + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @tertiaryLabel; + margin: 0; + word-break: break-all; + word-break: break-all; + } + } + } + &__data { + text-align: center; + padding-top: 4px; + padding-bottom: 20px; + &-link { + border-radius: 6px; + transition: background 300ms ease-in-out; + display: inline-block; + cursor: pointer; + text-decoration: none; + padding: 4px 24px 4px 8px; + position: relative; + font-style: normal; + font-weight: 500; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.8px; + color: @primaryLabel; + word-break: break-all; + + &:hover { + background: rgba(0, 0, 0, 0.04); + } + + svg { + position: absolute; + right: 4px; + top: 4px; + -moz-transform: rotate(0deg); + -webkit-transform: rotate(0deg); + -o-transform: rotate(0deg); + -ms-transform: rotate(0deg); + transform: rotate(0deg); + -webkit-transition: all 0.3s ease-in-out; + -moz-transition: all 0.3s ease-in-out; + -ms-transition: all 0.3s ease-in-out; + -o-transition: all 0.3s ease-in-out; + transition: all 0.3s ease-in-out; + } + + &.open { + svg { + position: absolute; + right: 4px; + top: 4px; + -moz-transform: rotate(180deg); + -webkit-transform: rotate(180deg); + -o-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); + } + } + } + + &-text { + padding-top: 12px; + text-align: left; + font-family: 'SF Mono', 'Segoe UI Mono', 'Menlo', 'Consolas'; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + word-break: break-all; + + p { + font-family: 'SF Mono', 'Segoe UI Mono', 'Menlo', 'Consolas'; + font-style: normal; + font-weight: 400; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.5px; + color: @secondaryLabel; + margin: 0; + word-break: break-all; + + a { + color: @secondaryLabel; + } + } + + li { + list-style: none; + } + } + } + &__buttons { + display: flex; + justify-content: space-between; + align-items: center; + flex-direction: row; + width: 100%; + box-sizing: border-box; + position: absolute; + left: 0; + bottom: 0; + font-size: 0; + padding: 24px; + box-sizing: border-box; + background-color: @white; + &-cancel { + width: 172px; + } + &-send { + width: 232px; + } + + &.border { + box-shadow: 0px 0px 6px rgba(0, 0, 0, 0.05), + 0px 0px 1px rgba(0, 0, 0, 0.25); + } + } + + &__scroll-area { + position: relative; + margin: auto; + width: calc(~"100% + 16px"); + max-height: 350px; + margin: 0; + padding: 0 16px 0 0 !important; + margin-right: -16px; + box-sizing: border-box; + + &.ps--active-y { + padding-bottom: 0 !important; + } + + & > .ps__rail-y { + right: 0 !important; + } + } + + &__hw { + padding: 2px 0 2px 44px; + position: relative; + + svg { + position: absolute; + left: 0; + top: 50%; + margin-top: -16px; + } + + p { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @secondaryLabel; + margin: 0; + } + } + + &__fee { + height: 40px; + background: @lightBg; + margin: 0 0 12px 0; + box-sizing: border-box; + border: 1px solid @gray01; + box-sizing: border-box; + border-radius: 10px; + width: 100%; + padding: 16px 10px; + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + position: relative; + cursor: pointer; + text-decoration: none; + + &-value { + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: row; + + &-fiat { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @secondaryLabel; + margin: 0 8px 0 0; + } + + &-crypto { + font-style: normal; + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @tertiaryLabel; + margin: 0; + + span { + font-variant: small-caps; + } + } + } + } + + &__error { + margin: 0 0 8px 0; + background: @error01; + border-radius: 10px; + padding: 12px 16px 12px 57px; + position: relative; + box-sizing: border-box; + + svg { + position: absolute; + left: 16px; + top: 50%; + margin-top: -12px; + } + p { + font-weight: 400; + font-size: 14px; + line-height: 20px; + letter-spacing: 0.25px; + color: @error; + margin: 0; + } + } +} \ No newline at end of file diff --git a/packages/extension-vite/src/providers/common/ui/verify-transaction/hardware-wallet-msg.vue b/packages/extension-vite/src/providers/common/ui/verify-transaction/hardware-wallet-msg.vue new file mode 100644 index 000000000..477156da4 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/verify-transaction/hardware-wallet-msg.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-account.vue b/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-account.vue new file mode 100644 index 000000000..61184c92e --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-account.vue @@ -0,0 +1,117 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-amount.vue b/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-amount.vue new file mode 100644 index 000000000..16b9efa95 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-amount.vue @@ -0,0 +1,87 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-fee.vue b/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-fee.vue new file mode 100644 index 000000000..ac68e0236 --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-fee.vue @@ -0,0 +1,63 @@ + + + + + diff --git a/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-network.vue b/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-network.vue new file mode 100644 index 000000000..8928bcbcb --- /dev/null +++ b/packages/extension-vite/src/providers/common/ui/verify-transaction/verify-transaction-network.vue @@ -0,0 +1,66 @@ + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/index.ts b/packages/extension-vite/src/providers/ethereum/index.ts new file mode 100644 index 000000000..5baaab7e6 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/index.ts @@ -0,0 +1,79 @@ +import { BaseNetwork } from "@/types/base-network"; +import getRequestProvider, { RequestClass } from "@enkryptcom/request"; +import Networks from "./networks"; +import { MiddlewareFunction, OnMessageResponse } from "@enkryptcom/types"; +import Middlewares from "./methods"; +import EventEmitter from "eventemitter3"; +import { + BackgroundProviderInterface, + ProviderName, + ProviderRPCRequest, +} from "@/types/provider"; +import GetUIPath from "@/libs/utils/get-ui-path"; +import PublicKeyRing from "@/libs/keyring/public-keyring"; +import UIRoutes from "./ui/routes/names"; +import { EvmNetwork } from "./types/evm-network"; +class EthereumProvider + extends EventEmitter + implements BackgroundProviderInterface +{ + network: EvmNetwork; + requestProvider: RequestClass; + middlewares: MiddlewareFunction[] = []; + namespace: string; + KeyRing: PublicKeyRing; + UIRoutes = UIRoutes; + toWindow: (message: string) => void; + constructor( + toWindow: (message: string) => void, + network: EvmNetwork = Networks.ethereum + ) { + super(); + this.network = network; + this.toWindow = toWindow; + this.setMiddleWares(); + this.requestProvider = getRequestProvider(network.node, this.middlewares); + this.requestProvider.on("notification", (notif: any) => { + this.sendNotification(JSON.stringify(notif)); + }); + this.namespace = ProviderName.ethereum; + this.KeyRing = new PublicKeyRing(); + } + private setMiddleWares(): void { + this.middlewares = Middlewares.map((mw) => mw.bind(this)); + } + setRequestProvider(network: BaseNetwork): void { + const prevURL = new URL(this.network.node); + const newURL = new URL(network.node); + this.network = network as EvmNetwork; + if (prevURL.protocol === newURL.protocol) + this.requestProvider.changeNetwork(network.node); + else + this.requestProvider = getRequestProvider(network.node, this.middlewares); + } + async isPersistentEvent(request: ProviderRPCRequest): Promise { + if (request.method === "eth_subscribe") return true; + return false; + } + async sendNotification(notif: string): Promise { + return this.toWindow(notif); + } + request(request: ProviderRPCRequest): Promise { + return this.requestProvider + .request(request) + .then((res) => { + return { + result: JSON.stringify(res), + }; + }) + .catch((e) => { + return { + error: JSON.stringify(e.message), + }; + }); + } + getUIPath(page: string): string { + return GetUIPath(page, this.namespace); + } +} +export default EthereumProvider; diff --git a/packages/extension-vite/src/providers/ethereum/inject.ts b/packages/extension-vite/src/providers/ethereum/inject.ts new file mode 100644 index 000000000..ca766089a --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/inject.ts @@ -0,0 +1,183 @@ +import EventEmitter from "eventemitter3"; +import { handleIncomingMessage } from "./libs/message-handler"; +import { + EthereumRequest, + EthereumResponse, + JsonRpcRequest, + CallbackFunction, +} from "./types"; +import { + ProviderName, + ProviderOptions, + ProviderType, + ProviderInterface, + SendMessageHandler, + EIP6963ProviderInfo, + EIP6963Events, +} from "@/types/provider"; +import { SettingsType } from "@/libs/settings-state/types"; +import { EnkryptWindow } from "@/types/globals"; +import { v4 as randomUUID } from "uuid"; +import { InternalMethods } from "@/types/messenger"; + +export class Provider extends EventEmitter implements ProviderInterface { + chainId: string | null; + networkVersion: string; + isEnkrypt: boolean; + isMetaMask: boolean; + selectedAddress: string | null; + connected: boolean; + name: ProviderName; + type: ProviderType; + version: string = __VERSION__; + autoRefreshOnNetworkChange = false; + sendMessageHandler: SendMessageHandler; + constructor(options: ProviderOptions) { + super(); + this.chainId = null; //deprecated + this.networkVersion = "0x1"; //deprecated + this.isEnkrypt = true; + this.isMetaMask = true; + this.selectedAddress = null; //deprecated + this.connected = true; + this.name = options.name; + this.type = options.type; + this.version = __VERSION__; + this.sendMessageHandler = options.sendMessageHandler; + } + async request(request: EthereumRequest): Promise { + if (this.chainId === null) { + await this.sendMessageHandler( + this.name, + JSON.stringify({ + method: "eth_chainId", + }) + ).then((res) => { + this.chainId = res; + this.networkVersion = Number(res).toString(); + }); + } + if ( + this.selectedAddress === null && + request.method === "eth_requestAccounts" + ) { + return this.sendMessageHandler(this.name, JSON.stringify(request)).then( + (res) => { + this.selectedAddress = res[0]; + return res; + } + ); + } + return this.sendMessageHandler(this.name, JSON.stringify(request)); + } + enable(): Promise { + return this.request({ method: "eth_requestAccounts" }); + } + isConnected(): boolean { + return this.connected; + } + //deprecated + send( + method: string | JsonRpcRequest, + params?: Array | CallbackFunction + ): Promise | void { + if ((method as JsonRpcRequest).method) { + return this.sendAsync( + method as JsonRpcRequest, + params as CallbackFunction + ); + } else { + return this.request({ + method: method as string, + params: params as Array, + }); + } + } + // //deprecated + sendAsync(data: JsonRpcRequest, callback: CallbackFunction): void { + const { method, params } = data as EthereumRequest; + this.request({ method, params }) + .then((res) => { + callback(null, { + id: data.id, + jsonrpc: "2.0", + result: res, + }); + }) + .catch((err) => callback(err)); + } + handleMessage(msg: string): void { + handleIncomingMessage(this, msg); + } +} + +const ProxyHandler = { + proxymethods: ["request", "sendAsync", "send"], + writableVars: ["autoRefreshOnNetworkChange"], + ownKeys(target: Provider) { + return Object.keys(target).concat(this.proxymethods); + }, + set(target: Provider, name: keyof Provider, value: any) { + if (!this.ownKeys(target).includes(name)) this.proxymethods.push(name); + return Reflect.set(target, name, value); + }, + getOwnPropertyDescriptor(target: Provider, name: keyof Provider) { + return { + value: this.get(target, name), + configurable: true, + writable: this.writableVars.includes(name), + enumerable: true, + }; + }, + get(target: Provider, prop: keyof Provider) { + if (typeof target[prop] === "function") { + return (target[prop] as () => any).bind(target); + } + return target[prop]; + }, + has(target: Provider, name: keyof Provider) { + return this.ownKeys(target).includes(name); + }, +}; +const injectDocument = ( + document: EnkryptWindow | Window, + options: ProviderOptions +): void => { + const provider = new Provider(options); + const proxiedProvider = new Proxy(provider, ProxyHandler); + document["enkrypt"]["providers"][options.name] = provider; + if (__IS_OPERA__) { + document[options.name] = proxiedProvider; // Opera expects you to inject immediately and their wallet switcher will handle conflicts + } + options + .sendMessageHandler( + ProviderName.enkrypt, + JSON.stringify({ method: InternalMethods.getSettings, params: [] }) + ) + .then((settings: SettingsType) => { + if (!settings.evm.inject.disabled) + document[options.name] = proxiedProvider; //proxy is needed due to web3js 1.3.0 callbackify issue. Used in superrare + }); + const ENKRYPT_UUID_V4 = randomUUID(); + // EIP-6963 + const eip6963AnnounceProvider = () => { + const info: EIP6963ProviderInfo = { + uuid: ENKRYPT_UUID_V4, + icon: `data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iODEiIGhlaWdodD0iODEiIHZpZXdCb3g9IjAgMCA4MSA4MSIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNy4wMDU3IDE3LjAwNjJDMTguOTMwMyAxNS4wODE2IDIxLjU0MDUgMTQuMDAwNCAyNC4yNjIyIDE0LjAwMDRMNjcuMzI5NiAxNFYyMS44NzQxQzY3LjMyOTYgMjMuODMwNSA2Ni41NTIzIDI1LjcwNjcgNjUuMTY5IDI3LjA5QzYzLjc4NTcgMjguNDczMyA2MS45MDk1IDI5LjI1MDQgNTkuOTUzMiAyOS4yNTA0SDM5LjcwNDVDMzYuOTgyOCAyOS4yNTA0IDM0LjM3MjYgMzAuMzMxNiAzMi40NDggMzIuMjU2MUMzMC41MjM1IDM0LjE4MDcgMjkuNDQyMyAzNi43OTA5IDI5LjQ0MjMgMzkuNTEyNlY0Mi4xMjQyQzI5LjQ0MjMgNDQuODQ1OSAzMC41MjM1IDQ3LjQ1NjEgMzIuNDQ4IDQ5LjM4MDZDMzQuMzcyNiA1MS4zMDUxIDM2Ljk4MjggNTIuMzg2MyAzOS43MDQ1IDUyLjM4NjNINTkuOTUzMkM2MS45MDk1IDUyLjM4NjMgNjMuNzg1NyA1My4xNjM1IDY1LjE2OSA1NC41NDY4QzY2LjU1MjMgNTUuOTMwMSA2Ny4zMjk2IDU3LjgwNjMgNjcuMzI5NiA1OS43NjI2VjY3LjMzSDI0LjI2MjJDMjEuNTQwNSA2Ny4zMyAxOC45MzAzIDY2LjI0ODggMTcuMDA1NyA2NC4zMjQzQzE1LjA4MTIgNjIuMzk5NyAxNCA1OS43ODk1IDE0IDU3LjA2NzhWMjQuMjYyNkMxNCAyMS41NDA5IDE1LjA4MTIgMTguOTMwNyAxNy4wMDU3IDE3LjAwNjJaTTQwLjE0NzkgMzMuNTQyM0g2MC45MTU3QzY0LjQ1OCAzMy41NDIzIDY3LjMyOTUgMzYuNDEzOCA2Ny4zMjk1IDM5Ljk1NjFWNDEuNjgxNkM2Ny4zMjk1IDQ1LjIyMzggNjQuNDU4IDQ4LjA5NTQgNjAuOTE1NyA0OC4wOTU0SDQwLjE0NzlDMzYuNjA1NyA0OC4wOTU0IDMzLjczNDEgNDUuMjIzOCAzMy43MzQxIDQxLjY4MTZWMzkuOTU2MUMzMy43MzQxIDM2LjQxMzggMzYuNjA1NyAzMy41NDIzIDQwLjE0NzkgMzMuNTQyM1oiIGZpbGw9InVybCgjcGFpbnQwX2xpbmVhcl8yODdfMjM1OSkiLz4KPGRlZnM+CjxsaW5lYXJHcmFkaWVudCBpZD0icGFpbnQwX2xpbmVhcl8yODdfMjM1OSIgeDE9IjE5LjM2MDIiIHkxPSIxNCIgeDI9IjU2Ljc2OTYiIHkyPSI2OS44MDA1IiBncmFkaWVudFVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CjxzdG9wIHN0b3AtY29sb3I9IiNDNTQ5RkYiLz4KPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjNjU0QkZGIi8+CjwvbGluZWFyR3JhZGllbnQ+CjwvZGVmcz4KPC9zdmc+Cg==`, + name: "Enkrypt", + rdns: "com.enkrypt", + }; + document.dispatchEvent( + new document.CustomEvent(EIP6963Events.announce, { + detail: { info, provider: proxiedProvider }, + }) + ); + }; + document.addEventListener(EIP6963Events.request, () => { + eip6963AnnounceProvider(); + }); + eip6963AnnounceProvider(); +}; +export default injectDocument; + +// if anyone change anything in this file, please make sure to test it against superrare.com and app.multichain.org diff --git a/packages/extension-vite/src/providers/ethereum/libs/abi/erc1155.ts b/packages/extension-vite/src/providers/ethereum/libs/abi/erc1155.ts new file mode 100644 index 000000000..68536b595 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/abi/erc1155.ts @@ -0,0 +1,314 @@ +export default [ + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "account", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "operator", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "approved", + type: "bool", + }, + ], + name: "ApprovalForAll", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "operator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256[]", + name: "ids", + type: "uint256[]", + }, + { + indexed: false, + internalType: "uint256[]", + name: "values", + type: "uint256[]", + }, + ], + name: "TransferBatch", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "operator", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: false, + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + indexed: false, + internalType: "uint256", + name: "value", + type: "uint256", + }, + ], + name: "TransferSingle", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: "string", + name: "value", + type: "string", + }, + { + indexed: true, + internalType: "uint256", + name: "id", + type: "uint256", + }, + ], + name: "URI", + type: "event", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "uint256", + name: "id", + type: "uint256", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address[]", + name: "accounts", + type: "address[]", + }, + { + internalType: "uint256[]", + name: "ids", + type: "uint256[]", + }, + ], + name: "balanceOfBatch", + outputs: [ + { + internalType: "uint256[]", + name: "", + type: "uint256[]", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "account", + type: "address", + }, + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256[]", + name: "ids", + type: "uint256[]", + }, + { + internalType: "uint256[]", + name: "amounts", + type: "uint256[]", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "safeBatchTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "id", + type: "uint256", + }, + { + internalType: "uint256", + name: "amount", + type: "uint256", + }, + { + internalType: "bytes", + name: "data", + type: "bytes", + }, + ], + name: "safeTransferFrom", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "address", + name: "operator", + type: "address", + }, + { + internalType: "bool", + name: "approved", + type: "bool", + }, + ], + name: "setApprovalForAll", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { + internalType: "uint256", + name: "id", + type: "uint256", + }, + ], + name: "uri", + outputs: [ + { + internalType: "string", + name: "", + type: "string", + }, + ], + stateMutability: "view", + type: "function", + }, +]; diff --git a/packages/extension-vite/src/providers/ethereum/libs/abi/erc20.ts b/packages/extension-vite/src/providers/ethereum/libs/abi/erc20.ts new file mode 100644 index 000000000..8ee9c26f9 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/abi/erc20.ts @@ -0,0 +1,86 @@ +export default [ + { + constant: true, + inputs: [ + { + name: "_owner", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + name: "balance", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: false, + inputs: [ + { + name: "_to", + type: "address", + }, + { + name: "_value", + type: "uint256", + }, + ], + name: "transfer", + outputs: [ + { + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: true, + inputs: [], + name: "name", + outputs: [ + { + name: "", + type: "string", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "decimals", + outputs: [ + { + name: "", + type: "uint8", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [], + name: "symbol", + outputs: [ + { + name: "", + type: "string", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, +]; diff --git a/packages/extension-vite/src/providers/ethereum/libs/abi/erc721.ts b/packages/extension-vite/src/providers/ethereum/libs/abi/erc721.ts new file mode 100644 index 000000000..92b23940f --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/abi/erc721.ts @@ -0,0 +1,333 @@ +export default [ + { + constant: false, + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "approve", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "mint", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "safeTransferFrom", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + { + internalType: "bytes", + name: "_data", + type: "bytes", + }, + ], + name: "safeTransferFrom", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [ + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "bool", + name: "approved", + type: "bool", + }, + ], + name: "setApprovalForAll", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + constant: false, + inputs: [ + { + internalType: "address", + name: "from", + type: "address", + }, + { + internalType: "address", + name: "to", + type: "address", + }, + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "transferFrom", + outputs: [], + payable: false, + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + payable: false, + stateMutability: "nonpayable", + type: "constructor", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "from", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "to", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "Transfer", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "approved", + type: "address", + }, + { + indexed: true, + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "Approval", + type: "event", + }, + { + anonymous: false, + inputs: [ + { + indexed: true, + internalType: "address", + name: "owner", + type: "address", + }, + { + indexed: true, + internalType: "address", + name: "operator", + type: "address", + }, + { + indexed: false, + internalType: "bool", + name: "approved", + type: "bool", + }, + ], + name: "ApprovalForAll", + type: "event", + }, + { + constant: true, + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + ], + name: "balanceOf", + outputs: [ + { + internalType: "uint256", + name: "", + type: "uint256", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "getApproved", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [ + { + internalType: "address", + name: "owner", + type: "address", + }, + { + internalType: "address", + name: "operator", + type: "address", + }, + ], + name: "isApprovedForAll", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [ + { + internalType: "uint256", + name: "tokenId", + type: "uint256", + }, + ], + name: "ownerOf", + outputs: [ + { + internalType: "address", + name: "", + type: "address", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, + { + constant: true, + inputs: [ + { + internalType: "bytes4", + name: "interfaceId", + type: "bytes4", + }, + ], + name: "supportsInterface", + outputs: [ + { + internalType: "bool", + name: "", + type: "bool", + }, + ], + payable: false, + stateMutability: "view", + type: "function", + }, +]; diff --git a/packages/extension-vite/src/providers/ethereum/libs/accounts-state/index.ts b/packages/extension-vite/src/providers/ethereum/libs/accounts-state/index.ts new file mode 100644 index 000000000..8e1980de1 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/accounts-state/index.ts @@ -0,0 +1,77 @@ +import { InternalStorageNamespace } from "@/types/provider"; +import BrowserStorage from "@/libs/common/browser-storage"; +import { IState, StorageKeys } from "./types"; +class AccountState { + #storage: BrowserStorage; + constructor() { + this.#storage = new BrowserStorage( + InternalStorageNamespace.evmAccountsState + ); + } + async addApprovedAddress(address: string, domain: string): Promise { + address = address.toLowerCase(); + const state = await this.getStateByDomain(domain); + if (state.approvedAccounts.includes(address)) + state.approvedAccounts = state.approvedAccounts.filter( + (add) => add !== address + ); //this will make sure latest address is always infront + state.approvedAccounts.unshift(address); + await this.setState(state, domain); + } + async removeApprovedAddress(address: string, domain: string): Promise { + address = address.toLowerCase(); + const state = await this.getStateByDomain(domain); + if (state.approvedAccounts.includes(address)) { + state.approvedAccounts = state.approvedAccounts.filter( + (a) => a !== address + ); + await this.setState(state, domain); + } + } + async getApprovedAddresses(domain: string): Promise { + const state = await this.getStateByDomain(domain); + if (state.approvedAccounts) { + for (const acc of state.approvedAccounts) { + if (acc.length !== 42) await this.removeApprovedAddress(acc, domain); // remove after a while, bug due to getting btc accounts added to evm + } + return state.approvedAccounts.filter((acc) => acc.length === 42); + } + return []; + } + async deleteState(domain: string): Promise { + const allStates = await this.getAllStates(); + if (allStates[domain]) { + delete allStates[domain]; + await this.#storage.set(StorageKeys.accountsState, allStates); + } + } + async isConnected(domain: string): Promise { + return this.getStateByDomain(domain).then( + (res) => res.approvedAccounts.length > 0 + ); + } + async deleteAllStates(): Promise { + return await this.#storage.remove(StorageKeys.accountsState); + } + async setState(state: IState, domain: string): Promise { + const allStates = await this.getAllStates(); + allStates[domain] = state; + await this.#storage.set(StorageKeys.accountsState, allStates); + } + async getStateByDomain(domain: string): Promise { + const allStates: Record = await this.getAllStates(); + if (!allStates[domain]) + return { + approvedAccounts: [], + }; + else return allStates[domain]; + } + async getAllStates(): Promise> { + const allStates: Record = await this.#storage.get( + StorageKeys.accountsState + ); + if (!allStates) return {}; + return allStates; + } +} +export default AccountState; diff --git a/packages/extension-vite/src/providers/ethereum/libs/accounts-state/types.ts b/packages/extension-vite/src/providers/ethereum/libs/accounts-state/types.ts new file mode 100644 index 000000000..566b7c32e --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/accounts-state/types.ts @@ -0,0 +1,6 @@ +export enum StorageKeys { + accountsState = "evm-accounts-state", +} +export interface IState { + approvedAccounts: string[]; +} diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/index.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/index.ts new file mode 100644 index 000000000..d36b8c5d0 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/index.ts @@ -0,0 +1,16 @@ +import RivetActivity from "./providers/rivet"; +import EtherscanActivity from "./providers/etherscan"; +import OkcActivity from "./providers/okc"; +import TomoScan from "./providers/tomoscan"; +import OntEVMActivity from "./providers/ont-evm"; +import TelosActivity from "./providers/telos"; +import GodwokenActivity from "./providers/godwoken"; +export { + RivetActivity, + EtherscanActivity, + OkcActivity, + OntEVMActivity, + TomoScan, + TelosActivity, + GodwokenActivity, +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts new file mode 100644 index 000000000..64aa911bc --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/configs.ts @@ -0,0 +1,73 @@ +import { NetworkNames } from "@enkryptcom/types"; + +const NetworkEndpoints: Record = { + [NetworkNames.Ethereum]: "https://eth.blockscout.com/", + [NetworkNames.Binance]: "https://api.bscscan.com/", + [NetworkNames.Matic]: "https://polygon.blockscout.com/", + [NetworkNames.Moonbeam]: "https://api-moonbeam.moonscan.io/", + [NetworkNames.Moonriver]: "https://api-moonriver.moonscan.io/", + [NetworkNames.KaruraEVM]: "https://blockscout.karura.network/", + [NetworkNames.AstarEVM]: "https://blockscout.com/astar/", + [NetworkNames.ShidenEVM]: "https://blockscout.com/shiden/", + [NetworkNames.Optimism]: "https://api-optimistic.etherscan.io/", + [NetworkNames.Canto]: "https://evm.explorer.canto.io/", + [NetworkNames.EdgeEVM]: "https://edgscan.live/", + [NetworkNames.Rootstock]: "https://blockscout.com/rsk/mainnet/", + [NetworkNames.RootstockTestnet]: "https://rootstock-testnet.blockscout.com/", + [NetworkNames.SkaleBlockBrawlers]: + "https://frayed-decent-antares.explorer.mainnet.skalenodes.com/", + [NetworkNames.SkaleCalypso]: + "https://honorable-steel-rasalhague.explorer.mainnet.skalenodes.com/", + [NetworkNames.SkaleCryptoBlades]: + "https://affectionate-immediate-pollux.explorer.mainnet.skalenodes.com/", + [NetworkNames.SkaleCryptoColosseum]: + "https://haunting-devoted-deneb.explorer.mainnet.skalenodes.com/", + [NetworkNames.SkaleEuropa]: + "https://elated-tan-skat.explorer.mainnet.skalenodes.com/", + [NetworkNames.SkaleExorde]: + "https://light-vast-diphda.explorer.mainnet.skalenodes.com/", + [NetworkNames.SkaleNebula]: + "https://green-giddy-denebola.explorer.mainnet.skalenodes.com/", + [NetworkNames.SkaleRazor]: + "https://turbulent-unique-scheat.explorer.mainnet.skalenodes.com/", + [NetworkNames.SkaleTitan]: + "https://parallel-stormy-spica.explorer.mainnet.skalenodes.com/", + [NetworkNames.SkaleChaos]: + "https://staging-fast-active-bellatrix.explorer.staging-v3.skalenodes.com/", + [NetworkNames.ZkSyncGoerli]: + "https://block-explorer-api.testnets.zksync.dev/", + [NetworkNames.ZkSync]: "https://block-explorer-api.mainnet.zksync.io/", + [NetworkNames.Arbitrum]: "https://api.arbiscan.io/", + [NetworkNames.ArbitrumNova]: "https://nova-explorer.arbitrum.io/", + [NetworkNames.Gnosis]: "https://api.gnosisscan.io/", + [NetworkNames.Avalanche]: "https://api.snowtrace.io/", + [NetworkNames.Fantom]: "https://api.ftmscan.com/", + [NetworkNames.Aurora]: "https://explorer.mainnet.aurora.dev/", + [NetworkNames.PuppyNet]: "https://puppyscan.shib.io/", + [NetworkNames.Shibarium]: "https://www.shibariumscan.io/", + [NetworkNames.MaticZK]: "https://api-zkevm.polygonscan.com/", + [NetworkNames.Base]: "https://api.basescan.org/", + [NetworkNames.Celo]: "https://explorer.celo.org/mainnet/", + [NetworkNames.FormTestnet]: "https://testnet-explorer.form.network/", + [NetworkNames.ArtheraTest]: "https://explorer-test.arthera.net/", + [NetworkNames.Arthera]: "https://explorer.arthera.net/", + [NetworkNames.SyscoinTest]: "https://tanenbaum.io/", + [NetworkNames.Syscoin]: "https://explorer.syscoin.org/", + [NetworkNames.RolluxTest]: "https://rollux.tanenbaum.io/", + [NetworkNames.Rollux]: "https://explorer.rollux.com/", + [NetworkNames.Blast]: "https://api.blastscan.io/", + [NetworkNames.Sanko]: "https://explorer.sanko.xyz/", + [NetworkNames.Degen]: "https://explorer.degen.tips/", + [NetworkNames.Ham]: "https://explorer.ham.fun/", + [NetworkNames.ImmutableZkevm]: "https://explorer.immutable.com/", + [NetworkNames.Rari]: "https://mainnet.explorer.rarichain.org/", + [NetworkNames.Forma]: "https://explorer.forma.art/", + [NetworkNames.XLayer]: "https://www.oklink.com/api/v5/explorer/xlayer/", + [NetworkNames.Linea]: "https://api.lineascan.build/", + [NetworkNames.MantaPacific]: "https://pacific-explorer.manta.network/", + [NetworkNames.Mode]: "https://explorer.mode.network/", + [NetworkNames.ProofOfPlayApex]: "https://explorer.apex.proofofplay.com/", + [NetworkNames.Scroll]: "https://api.scrollscan.com/", +}; + +export { NetworkEndpoints }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/index.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/index.ts new file mode 100644 index 000000000..cf0c6e7e0 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/index.ts @@ -0,0 +1,100 @@ +import cacheFetch from "@/libs/cache-fetch"; +import { EvmNetwork } from "@/providers/ethereum/types/evm-network"; +import { + Activity, + ActivityStatus, + ActivityType, + EthereumRawInfo, +} from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; +import { NetworkNames } from "@enkryptcom/types"; +import { numberToHex } from "web3-utils"; +import { decodeTx } from "../../../transaction/decoder"; +import { NetworkEndpoints } from "./configs"; +import { EtherscanTxType } from "./types"; +const TTL = 30000; +const getAddressActivity = async ( + address: string, + endpoint: string, + headers?: Record +): Promise => { + return cacheFetch( + { + // Note: would like to add offset=50 (i.e. results per page) but it seems to cause polygon API to hang + url: `${endpoint}api?module=account&action=txlist&address=${address}&sort=desc`, + headers, + }, + TTL + ).then((res) => { + if (res.status === "0") return []; + const results = res.result as EtherscanTxType[]; + const newResults = results.map((tx) => { + const rawTx: EthereumRawInfo = { + blockHash: tx.blockHash, + blockNumber: numberToHex(tx.blockNumber), + contractAddress: tx.contractAddress, + data: tx.input, + effectiveGasPrice: numberToHex(tx.gasPrice), + from: tx.from, + to: tx.to === "" ? null : tx.to, + gas: numberToHex(tx.gas), + gasUsed: numberToHex(tx.gasUsed), + nonce: numberToHex(tx.nonce), + status: tx.isError === "0" ? true : false, + transactionHash: tx.hash, + value: numberToHex(tx.value), + timestamp: parseInt(tx.timeStamp) * 1000, + }; + return rawTx; + }); + return newResults.slice(0, 50) as EthereumRawInfo[]; + }); +}; +export default async ( + network: BaseNetwork, + address: string +): Promise => { + address = address.toLowerCase(); + let headers: undefined | Record; + switch (network.name) { + // OKLink Endpoints (require OKLink API key) + case NetworkNames.XLayer: + // api console: https://www.oklink.com/account/my-api + // api header spec: https://www.oklink.com/docs/en/#quickstart-guide-api-authentication + // api docs: https://www.oklink.com/docs/en/#evm-rpc-data-address-get-normal-transactions-by-address + headers = { "OK-ACCESS-KEY": "df87e7eb-061f-44b1-84bc-83722fad717c" }; + break; + } + const enpoint = + NetworkEndpoints[network.name as keyof typeof NetworkEndpoints]; + const activities = await getAddressActivity(address, enpoint, headers); + const Promises = activities.map((activity) => { + return decodeTx(activity, network as EvmNetwork).then((txData) => { + return { + from: activity.from, + to: activity.contractAddress + ? activity.contractAddress + : txData.tokenTo!, + isIncoming: activity.from !== address, + network: network.name, + rawInfo: activity, + status: activity.status + ? ActivityStatus.success + : ActivityStatus.failed, + timestamp: activity.timestamp ? activity.timestamp : 0, + value: txData.tokenValue, + transactionHash: activity.transactionHash, + type: ActivityType.transaction, + nonce: activity.nonce, + token: { + decimals: txData.tokenDecimals, + icon: txData.tokenImage, + name: txData.tokenName, + symbol: txData.tokenSymbol, + price: txData.currentPriceUSD.toString(), + }, + }; + }); + }); + return Promise.all(Promises); +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/types.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/types.ts new file mode 100644 index 000000000..d27860237 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/etherscan/types.ts @@ -0,0 +1,16 @@ +export interface EtherscanTxType { + blockNumber: string; + timeStamp: string; + hash: string; + nonce: string; + blockHash: string; + from: string; + to: string; + contractAddress: string; + value: string; + gas: string; + gasPrice: string; + isError: string; + input: string; + gasUsed: string; +} diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/godwoken/configs.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/godwoken/configs.ts new file mode 100644 index 000000000..cfa90a7d7 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/godwoken/configs.ts @@ -0,0 +1,7 @@ +import { NetworkNames } from "@enkryptcom/types"; + +const NetworkEndpoints = { + [NetworkNames.Godwoken]: "https://api.v1.gwscan.com/graphql", +}; + +export { NetworkEndpoints }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/godwoken/index.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/godwoken/index.ts new file mode 100644 index 000000000..5a1b2f1a1 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/godwoken/index.ts @@ -0,0 +1,212 @@ +import { EvmNetwork } from "@/providers/ethereum/types/evm-network"; +import { + Activity, + ActivityStatus, + ActivityType, + EthereumRawInfo, +} from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; +import { decodeTx } from "../../../transaction/decoder"; +import { NetworkEndpoints } from "./configs"; + +type GraphQLResponse = GraphQLErrorResponse | GraphQLOkResponse; + +type GraphQLOkResponse = { + data: T; + errors?: undefined; +}; + +type GraphQLErrorResponse = { + errors: { message: string }[]; + result?: undefined; +}; + +type TransactionListResult = { + transactions: { + entries: { + block: { + /** ISO8601 string */ + timestamp: string; + }; + /** bytes32 */ + block_hash: `0x${string}`; + block_number: number; + /** bytes32 transaction hash */ + hash: `0x${string}`; + /** transaction index */ + index: number; + nonce: number; + from_account: { + /** bytes20 string */ + eth_address: `0x${string}`; + }; + to_account: null | { + /** bytes20 string */ + eth_address: `0x${string}`; + }; + polyjuice: { + /** base10 bigint string */ + gas_limit: string; + /** base10 bigint string */ + gas_price: string; + /** base10 bigint string */ + gas_used: string; + /** byte string */ + input: `0x${string}`; + /** bytes20 */ + created_contract_address_hash: null | `0x${string}`; + status: "FAILED" | "SUCCEEDED"; + /** base10 bigint string */ + value: string; + }; + }[]; + }; +}; + +const getAddressActivity = async ( + address: string, + endpoint: string +): Promise => { + const response = await fetch(endpoint, { + method: "POST", + signal: AbortSignal.timeout(30_000), + headers: { + "Content-Type": "application/json", + Accept: "application/json", + }, + body: JSON.stringify({ + operationName: "getTransactions", + variables: { + address: address, + limit: 50, + }, + query: /* graphql */ ` +query getTransactions( + $address: HashAddress! + $limit: Int +) { + transactions( + input: { + limit: $limit + combine_from_to: true + from_eth_address: $address + to_eth_address: $address + sorter: [ + { sort_type: ASC, sort_value: BLOCK_NUMBER } + { sort_type: ASC, sort_value: INDEX } + { sort_type: ASC, sort_value: HASH } + ] + } + ) { + entries { + block { + timestamp + } + block_hash + block_number + index + hash + nonce + from_account { + eth_address + } + to_account { + eth_address + } + polyjuice { + gas_limit + gas_price + gas_used + input + created_contract_address_hash + status + value + } + } + } +} +`, + }), + }); + + if (!response.ok) { + // Received error HTTP response, probably something like a gateway error, + // blocked, rate limited, server down, etc + let msg = await response + .text() + .catch((err) => `Failed to decode response text: ${String(err)}`); + const len = msg.length; + if (len > 255 + 3) msg = `${msg.slice(0, 255)}... (255/${len})`; + throw new Error( + `HTTP error fetching transactions ${response.status} ${response.statusText}: ${msg}` + ); + } + + const result: GraphQLResponse = await response.json(); + + if (result.errors) { + // GraphQL error, probably something wrong with query or variables + let msg = result.errors[0].message ?? "???"; + const len = msg.length; + if (len > 512 + 3) msg = `${msg.slice(0, 512)}... (512/${len})`; + throw new Error(`GraphQL error fetching transactions: ${msg}`); + } + + const rawdata: EthereumRawInfo[] = result.data.transactions.entries.map( + (tx) => ({ + blockHash: tx.block_hash, + blockNumber: "0x" + tx.block_number.toString(16), + contractAddress: tx.polyjuice.created_contract_address_hash, + effectiveGasPrice: "0x" + BigInt(tx.polyjuice.gas_price).toString(16), + from: tx.from_account.eth_address, + to: tx.to_account?.eth_address ?? null, + gas: "0x" + BigInt(tx.polyjuice.gas_limit).toString(16), + gasUsed: "0x" + BigInt(tx.polyjuice.gas_used).toString(16), + status: tx.polyjuice.status === "SUCCEEDED" ? true : false, + transactionHash: tx.hash, + data: tx.polyjuice.input, + nonce: "0x" + tx.nonce.toString(16), + value: "0x" + BigInt(tx.polyjuice.value).toString(16), + timestamp: new Date(tx.block.timestamp).valueOf(), + }) + ); + + return rawdata; +}; + +export default async ( + network: BaseNetwork, + address: string +): Promise => { + address = address.toLowerCase(); + const enpoint = + NetworkEndpoints[network.name as keyof typeof NetworkEndpoints]; + const activities = await getAddressActivity(address, enpoint); + + const Promises = activities.map((activity) => { + return decodeTx(activity, network as EvmNetwork).then((txData) => { + return { + from: activity.from, + to: activity.contractAddress + ? activity.contractAddress + : txData.tokenTo!, + isIncoming: activity.from !== address, + network: network.name, + rawInfo: activity, + status: ActivityStatus.success, + timestamp: activity.timestamp ? activity.timestamp : 0, + value: txData.tokenValue, + transactionHash: activity.transactionHash, + type: ActivityType.transaction, + token: { + decimals: txData.tokenDecimals, + icon: txData.tokenImage, + name: txData.tokenName, + symbol: txData.tokenSymbol, + price: txData.currentPriceUSD.toString(), + }, + }; + }); + }); + return Promise.all(Promises); +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/okc/configs.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/okc/configs.ts new file mode 100644 index 000000000..98186a011 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/okc/configs.ts @@ -0,0 +1,8 @@ +import { NetworkNames } from "@enkryptcom/types"; + +const NetworkEndpoints = { + [NetworkNames.Okc]: + "https://www.oklink.com/api/v5/explorer/address/transaction-list?chainShortName=OKC&address=", +}; + +export { NetworkEndpoints }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/okc/index.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/okc/index.ts new file mode 100644 index 000000000..54021f92c --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/okc/index.ts @@ -0,0 +1,109 @@ +import { EvmNetwork } from "@/providers/ethereum/types/evm-network"; +import { numberToHex } from "web3-utils"; +import { + Activity, + ActivityStatus, + ActivityType, + EthereumRawInfo, +} from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; +import { decodeTx } from "../../../transaction/decoder"; +import { NetworkEndpoints } from "./configs"; +import { toBase } from "@enkryptcom/utils"; + +interface OkcRawInfo { + blockHash: string; + height: string; + contractAddress: string | null; + from: string; + to: string | null; + txId: string; + amount: string; + transactionTime: string; + txFee: string; + + effectiveGasPrice: string; + transactionHash: string; + gasUsed: string; + status: boolean; + blockNumber: string | undefined; + gas: string; +} + +const getAddressActivity = async ( + address: string, + endpoint: string +): Promise => { + return fetch(endpoint + address, { + method: "GET", + headers: { + "Content-Type": "application/json", + // OKLink Endpoint, requires OKLink API key + // api console: https://www.oklink.com/account/my-api + // api header spec: https://www.oklink.com/docs/en/#quickstart-guide-api-authentication + // api docs: https://www.oklink.com/docs/en/#evm-rpc-data-address-get-normal-transactions-by-address + "OK-ACCESS-KEY": "df87e7eb-061f-44b1-84bc-83722fad717c", + }, + }) + .then((res) => res.json()) + .then((res) => { + const results = res.data[0].transactionLists as OkcRawInfo[]; + const newResults = results.reverse().map((tx) => { + const rawTx: EthereumRawInfo = { + blockHash: tx.blockHash, + blockNumber: numberToHex(tx.height), + contractAddress: "", + data: "0x0", + effectiveGasPrice: "0", + from: tx.from, + to: tx.to === "" ? null : tx.to, + gas: "0x0", + gasUsed: tx.txFee, + nonce: numberToHex(0), + status: true, + transactionHash: tx.txId, + value: toBase(tx.amount, 18), + timestamp: parseInt(tx.transactionTime), + }; + return rawTx; + }); + return newResults.slice(0, 50) as EthereumRawInfo[]; + }); +}; + +export default async ( + network: BaseNetwork, + address: string +): Promise => { + address = address.toLowerCase(); + const enpoint = + NetworkEndpoints[network.name as keyof typeof NetworkEndpoints]; + const activities = await getAddressActivity(address, enpoint); + + const Promises = activities.map((activity) => { + return decodeTx(activity, network as EvmNetwork).then((txData) => { + return { + from: activity.from, + to: activity.contractAddress + ? activity.contractAddress + : txData.tokenTo!, + isIncoming: activity.from !== address, + network: network.name, + rawInfo: activity, + status: ActivityStatus.success, + timestamp: activity.timestamp ? activity.timestamp : 0, + value: txData.tokenValue, + transactionHash: activity.transactionHash, + type: ActivityType.transaction, + token: { + decimals: txData.tokenDecimals, + icon: txData.tokenImage, + name: txData.tokenName, + symbol: txData.tokenSymbol, + price: txData.currentPriceUSD.toString(), + }, + }; + }); + }); + return Promise.all(Promises); +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/ont-evm/configs.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/ont-evm/configs.ts new file mode 100644 index 000000000..b13d8bb9a --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/ont-evm/configs.ts @@ -0,0 +1,5 @@ +import { NetworkNames } from "@enkryptcom/types"; + +export const NetworkEndpoints = { + [NetworkNames.OntologyEVM]: "https://explorer.ont.io/", +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/ont-evm/index.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/ont-evm/index.ts new file mode 100644 index 000000000..02738bd68 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/ont-evm/index.ts @@ -0,0 +1,99 @@ +import { numberToHex } from "web3-utils"; +import { + Activity, + ActivityStatus, + ActivityType, + EthereumRawInfo, +} from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; +import { NetworkEndpoints } from "./configs"; +import { toBase } from "@enkryptcom/utils"; +import MarketData from "@/libs/market-data"; + +interface OntEvmRawInfo { + tx_hash: string; + tx_time: number; + block_height: number; + fee: string; + confirm_flag: number; + transfers: { + amount: string; + from_address: string; + to_address: string; + asset_name: string; + }[]; +} + +const getAddressActivity = async ( + address: string, + endpoint: string +): Promise => { + return fetch( + `${endpoint}v2/addresses/${address}/txs?page_size=20&page_number=1`, + { + method: "GET", + headers: { + "Content-Type": "application/json", + }, + } + ) + .then((res) => res.json()) + .then((res) => { + const results = res.result.records as OntEvmRawInfo[]; + const newResults = results.map((tx) => { + const rawTx: EthereumRawInfo = { + blockHash: "", + blockNumber: numberToHex(tx.block_height), + contractAddress: null, + data: "0x", + effectiveGasPrice: "0x0", + from: tx.transfers[0].from_address, + to: tx.transfers[0].to_address, + gas: "0x0", + gasUsed: "0x0", + nonce: "0x0", + status: tx.confirm_flag === 1, + transactionHash: tx.tx_hash, + value: numberToHex(toBase(tx.transfers[0].amount, 18)), + timestamp: tx.tx_time * 1000, + }; + return rawTx; + }); + return newResults.slice(0, 50) as EthereumRawInfo[]; + }); +}; + +export default async ( + network: BaseNetwork, + address: string +): Promise => { + address = address.toLowerCase(); + const enpoint = + NetworkEndpoints[network.name as keyof typeof NetworkEndpoints]; + const activities = await getAddressActivity(address, enpoint); + const marketData = new MarketData(); + const price = await marketData.getTokenPrice(network.coingeckoID!); + const resActivities = activities.map((activity) => { + const tActivity: Activity = { + from: activity.from, + to: activity.contractAddress ? activity.contractAddress : activity.to!, + isIncoming: activity.from !== address, + network: network.name, + rawInfo: activity, + status: ActivityStatus.success, + timestamp: activity.timestamp ? activity.timestamp : 0, + value: activity.value, + transactionHash: activity.transactionHash, + type: ActivityType.transaction, + token: { + decimals: network.decimals, + icon: network.icon, + name: network.name, + symbol: network.currencyName, + price: price!, + }, + }; + return tActivity; + }); + return resActivities; +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/rivet/configs.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/rivet/configs.ts new file mode 100644 index 000000000..daec718ea --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/rivet/configs.ts @@ -0,0 +1,9 @@ +import { NetworkNames } from "@enkryptcom/types"; + +const NetworkEndpoints = { + [NetworkNames.Ethereum]: "https://nodes.mewapi.io/rpc/eth", + [NetworkNames.Sepolia]: "https://nodes.mewapi.io/rpc/sepolia", + [NetworkNames.EthereumClassic]: "https://nodes.mewapi.io/rpc/etc", +}; + +export { NetworkEndpoints }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/rivet/index.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/rivet/index.ts new file mode 100644 index 000000000..812489b01 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/rivet/index.ts @@ -0,0 +1,99 @@ +import { EvmNetwork } from "@/providers/ethereum/types/evm-network"; +import { + Activity, + ActivityStatus, + ActivityType, + EthereumRawInfo, +} from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; +import { toBN } from "web3-utils"; +import { decodeTx } from "../../../transaction/decoder"; +import { NetworkEndpoints } from "./configs"; +const getAddressActivity = async ( + address: string, + endpoint: string +): Promise => { + const transactions = fetch(endpoint, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + id: 0, + method: "flume_getTransactionsByParticipant", + params: [address], + }), + }) + .then((res) => res.json()) + .then((res) => res.result.items as EthereumRawInfo[]); + + const transactionsReceipts = fetch(endpoint, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + id: 0, + method: "flume_getTransactionReceiptsByParticipant", + params: [address], + }), + }) + .then((res) => res.json()) + .then((res) => res.result.items as EthereumRawInfo[]); + return Promise.all([transactions, transactionsReceipts]).then((responses) => { + let allInfo = responses[0].reverse().map((item) => { + const receipt = responses[1].find( + (r) => r.transactionHash === (item as any).hash + ); + if (receipt) { + receipt.status = + (receipt.status as unknown as string) === "0x1" ? true : false; + return { ...item, ...receipt, data: (item as any).input }; + } + return null; + }); + allInfo = allInfo.filter((i) => i !== null); + return allInfo.slice(0, 50) as EthereumRawInfo[]; + }); +}; +export default async ( + network: BaseNetwork, + address: string +): Promise => { + address = address.toLowerCase(); + const enpoint = + NetworkEndpoints[network.name as keyof typeof NetworkEndpoints]; + const activities = await getAddressActivity(address, enpoint); + + const Promises = activities.map((activity) => { + return decodeTx(activity, network as EvmNetwork).then((txData) => { + return { + from: activity.from, + to: activity.contractAddress + ? activity.contractAddress + : txData.tokenTo!, + isIncoming: activity.from !== address, + network: network.name, + rawInfo: activity, + status: activity.status + ? ActivityStatus.success + : ActivityStatus.failed, + timestamp: activity.timestamp + ? toBN(activity.timestamp).toNumber() * 1000 + : 0, + value: txData.tokenValue, + transactionHash: activity.transactionHash, + type: ActivityType.transaction, + nonce: activity.nonce, + token: { + decimals: txData.tokenDecimals, + icon: txData.tokenImage, + name: txData.tokenName, + symbol: txData.tokenSymbol, + price: txData.currentPriceUSD.toString(), + }, + }; + }); + }); + return Promise.all(Promises); +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/configs.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/configs.ts new file mode 100644 index 000000000..5ddc8a61e --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/configs.ts @@ -0,0 +1,7 @@ +import { NetworkNames } from "@enkryptcom/types"; + +const NetworkEndpoints: Record = { + [NetworkNames.Telos]: "https://api.teloscan.io/", +}; + +export { NetworkEndpoints }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/index.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/index.ts new file mode 100644 index 000000000..9fec60183 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/index.ts @@ -0,0 +1,88 @@ +import cacheFetch from "@/libs/cache-fetch"; +import { EvmNetwork } from "@/providers/ethereum/types/evm-network"; +import { + Activity, + ActivityStatus, + ActivityType, + EthereumRawInfo, +} from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; +import { numberToHex } from "web3-utils"; +import { decodeTx } from "../../../transaction/decoder"; +import { NetworkEndpoints } from "./configs"; +import { TelosTXType } from "./types"; +const TTL = 30000; +const getAddressActivity = async ( + address: string, + endpoint: string +): Promise => { + return cacheFetch( + { + url: `${endpoint}v1/address/${address}/transactions`, + }, + TTL + ).then((res) => { + if (!res.success) return []; + const results = res.results as TelosTXType[]; + const newResults = results.map((tx) => { + const rawTx: EthereumRawInfo = { + blockHash: "0x", + blockNumber: numberToHex(tx.blockNumber), + contractAddress: tx.contractAddress + ? tx.contractAddress.toLowerCase() + : null, + data: tx.input, + effectiveGasPrice: tx.gasPrice, + from: tx.from.toLowerCase(), + to: tx.to === "" ? null : tx.to.toLowerCase(), + gas: tx.gasLimit, + gasUsed: tx.gasused, + nonce: numberToHex(tx.nonce), + status: tx.status === "0x1" ? true : false, + transactionHash: tx.hash, + value: tx.value, + timestamp: tx.timestamp, + }; + return rawTx; + }); + return newResults.slice(0, 50) as EthereumRawInfo[]; + }); +}; +export default async ( + network: BaseNetwork, + address: string +): Promise => { + address = address.toLowerCase(); + const enpoint = + NetworkEndpoints[network.name as keyof typeof NetworkEndpoints]; + const activities = await getAddressActivity(address, enpoint); + const Promises = activities.map((activity) => { + return decodeTx(activity, network as EvmNetwork).then((txData) => { + return { + from: activity.from, + to: activity.contractAddress + ? activity.contractAddress + : txData.tokenTo!, + isIncoming: activity.from !== address, + network: network.name, + rawInfo: activity, + status: activity.status + ? ActivityStatus.success + : ActivityStatus.failed, + timestamp: activity.timestamp ? activity.timestamp : 0, + value: txData.tokenValue, + transactionHash: activity.transactionHash, + type: ActivityType.transaction, + nonce: activity.nonce, + token: { + decimals: txData.tokenDecimals, + icon: txData.tokenImage, + name: txData.tokenName, + symbol: txData.tokenSymbol, + price: txData.currentPriceUSD.toString(), + }, + }; + }); + }); + return Promise.all(Promises); +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/types.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/types.ts new file mode 100644 index 000000000..6ad5341d2 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/telos/types.ts @@ -0,0 +1,16 @@ +export interface TelosTXType { + gasused: string; + contractAddress: string; + index: number; + nonce: number; + input: string; + gasLimit: string; + blockNumber: number; + from: string; + to: string; + value: string; + hash: string; + timestamp: number; + gasPrice: string; + status: "0x1" | "0x0"; +} diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/configs.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/configs.ts new file mode 100644 index 000000000..b43d8ce29 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/configs.ts @@ -0,0 +1,7 @@ +import { NetworkNames } from "@enkryptcom/types"; + +const NetworkEndpoints: Record = { + [NetworkNames.TomoChain]: "https://tomoscan.io/", +}; + +export { NetworkEndpoints }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/index.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/index.ts new file mode 100644 index 000000000..1b3b5cc5b --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/index.ts @@ -0,0 +1,84 @@ +import cacheFetch from "@/libs/cache-fetch"; +import { EvmNetwork } from "@/providers/ethereum/types/evm-network"; +import { + Activity, + ActivityStatus, + ActivityType, + EthereumRawInfo, +} from "@/types/activity"; +import { BaseNetwork } from "@/types/base-network"; +import { numberToHex } from "web3-utils"; +import { decodeTx } from "../../../transaction/decoder"; +import { NetworkEndpoints } from "./configs"; +import { TomoscanTxType } from "./types"; +const TTL = 30000; +const getAddressActivity = async ( + address: string, + endpoint: string +): Promise => { + return cacheFetch( + { + url: `${endpoint}api/transaction/list?account=${address}`, + }, + TTL + ).then((res) => { + if (res.error) return []; + const results = res.data as TomoscanTxType[]; + const newResults = results.map((tx) => { + const rawTx: EthereumRawInfo = { + blockHash: tx.blockHash, + blockNumber: numberToHex(tx.blockNumber), + contractAddress: tx.contractAddress, + data: tx.input, + effectiveGasPrice: numberToHex(tx.gasPrice), + from: tx.from, + to: tx.to === "" ? null : tx.to, + gas: numberToHex(tx.gas), + gasUsed: numberToHex(tx.gasUsed), + nonce: numberToHex(tx.nonce), + status: tx.status === "success", + transactionHash: tx.hash, + value: numberToHex(tx.value), + timestamp: tx.timestamp * 1000, + }; + return rawTx; + }); + return newResults.slice(0, 50) as EthereumRawInfo[]; + }); +}; +export default async ( + network: BaseNetwork, + address: string +): Promise => { + address = address.toLowerCase(); + const enpoint = NetworkEndpoints[network.name]; + const activities = await getAddressActivity(address, enpoint); + const Promises = activities.map((activity) => { + return decodeTx(activity, network as EvmNetwork).then((txData) => { + return { + from: activity.from, + to: activity.contractAddress + ? activity.contractAddress + : txData.tokenTo!, + isIncoming: activity.from !== address, + network: network.name, + rawInfo: activity, + status: activity.status + ? ActivityStatus.success + : ActivityStatus.failed, + timestamp: activity.timestamp ? activity.timestamp : 0, + value: txData.tokenValue, + transactionHash: activity.transactionHash, + type: ActivityType.transaction, + token: { + decimals: txData.tokenDecimals, + icon: txData.tokenImage, + name: txData.tokenName, + symbol: txData.tokenSymbol, + price: txData.currentPriceUSD.toString(), + }, + }; + }); + }); + return Promise.all(Promises); +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/types.ts b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/types.ts new file mode 100644 index 000000000..7bf34932c --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/activity-handlers/providers/tomoscan/types.ts @@ -0,0 +1,16 @@ +export interface TomoscanTxType { + blockNumber: number; + timestamp: number; + hash: string; + nonce: number; + blockHash: string; + from: string; + to: string; + contractAddress: string | null; + value: string; + gas: number; + gasPrice: number; + status: string; + input: string; + gasUsed: number; +} diff --git a/packages/extension-vite/src/providers/ethereum/libs/api.ts b/packages/extension-vite/src/providers/ethereum/libs/api.ts new file mode 100644 index 000000000..02c022ac9 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/api.ts @@ -0,0 +1,84 @@ +import { EthereumRawInfo } from "@/types/activity"; +import { ProviderAPIInterface } from "@/types/provider"; +import { isArray } from "lodash"; +import Web3Eth from "web3-eth"; +import { numberToHex, toBN } from "web3-utils"; +import { ERC20TokenInfo } from "../types"; +import erc20 from "./abi/erc20"; + +/** Ethereum API wrapper */ +class API implements ProviderAPIInterface { + node: string; + web3: Web3Eth; + + constructor(node: string) { + this.node = node; + this.web3 = new Web3Eth(this.node); + } + + public get api() { + return this; + } + + + async init(): Promise {} + async getTransactionStatus(hash: string): Promise { + try { + const receipt = await this.web3.getTransactionReceipt(hash); + if (!receipt) return null; + const [tx, block] = await Promise.all([ + this.web3.getTransaction(hash), + this.web3.getBlock(receipt.blockNumber, false), + ]); + const info: EthereumRawInfo = { + blockHash: receipt.blockHash, + blockNumber: numberToHex(receipt.blockNumber), + contractAddress: receipt.contractAddress || null, + data: tx.input, + effectiveGasPrice: tx.gasPrice, + from: tx.from, + to: tx.to, + gas: numberToHex(tx.gas), + gasUsed: numberToHex(receipt.gasUsed), + nonce: numberToHex(tx.nonce), + status: receipt.status, + timestamp: toBN(block.timestamp).toNumber(), + transactionHash: tx.hash, + value: numberToHex(tx.value), + }; + return info; + } catch (e) { + console.error(e); + return null; + } + } + getBalance(address: string): Promise { + return this.web3.getBalance(address); + } + getTokenInfo = async (contractAddress: string): Promise => { + const contract = new this.web3.Contract(erc20 as any, contractAddress); + try { + const results = await Promise.all([ + contract.methods.name().call(), + contract.methods.symbol().call(), + contract.methods.decimals().call(), + ]); + const name = results[0]; + const symbol = results[1]; + const decimals = results[2]; + if (isArray(name) || isArray(symbol) || isArray(decimals)) throw ""; + return { + name, + symbol, + decimals: parseInt(decimals), + }; + } catch (e) { + return { + name: "Unknown", + symbol: "UNKNWN", + decimals: 18, + }; + } + }; +} +export default API; diff --git a/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts new file mode 100644 index 000000000..be356a4ed --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/assetinfo-mew.ts @@ -0,0 +1,355 @@ +import { AssetsType } from "@/types/provider"; +import { + CGToken, + SupportedNetwork, + SupportedNetworkNames, + TokenBalance, +} from "./types/tokenbalance-mew"; +import MarketData from "@/libs/market-data"; +import { fromBase } from "@enkryptcom/utils"; +import { toBN } from "web3-utils"; +import BigNumber from "bignumber.js"; +import { + formatFiatValue, + formatFloatingPointValue, +} from "@/libs/utils/number-formatter"; +import API from "@/providers/ethereum/libs/api"; +import Sparkline from "@/libs/sparkline"; +import { BaseNetwork } from "@/types/base-network"; +import { EvmNetwork } from "../../types/evm-network"; +import { getKnownNetworkTokens } from "./token-lists"; +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { NATIVE_TOKEN_ADDRESS } from "../common"; +import getTomoBalances from "./tomochain"; +import getSolBalances from "./solanachain"; +import { CoinGeckoTokenMarket } from "@/libs/market-data/types"; + +const API_ENPOINT = "https://tokenbalance.mewapi.io/"; +const API_ENPOINT2 = "https://partners.mewapi.io/balances/"; + +const supportedNetworks: Record = { + [NetworkNames.Binance]: { + tbName: "bsc", + cgPlatform: CoingeckoPlatform.Binance, + }, + [NetworkNames.Ethereum]: { + tbName: "eth", + cgPlatform: CoingeckoPlatform.Ethereum, + }, + [NetworkNames.Matic]: { + tbName: "matic", + cgPlatform: CoingeckoPlatform.Matic, + }, + [NetworkNames.AstarEVM]: { + tbName: "astar", + cgPlatform: CoingeckoPlatform.Astar, + }, + [NetworkNames.Okc]: { + tbName: "okt", + cgPlatform: CoingeckoPlatform.Okc, + }, + [NetworkNames.Optimism]: { + tbName: "op", + cgPlatform: CoingeckoPlatform.Optimism, + }, + [NetworkNames.Moonriver]: { + tbName: "movr", + cgPlatform: CoingeckoPlatform.Moonriver, + }, + [NetworkNames.Moonbeam]: { + tbName: "mobm", + cgPlatform: CoingeckoPlatform.Moonbeam, + }, + [NetworkNames.ShidenEVM]: { + tbName: "sdn", + cgPlatform: CoingeckoPlatform.Shiden, + }, + [NetworkNames.Canto]: { + tbName: "canto", + cgPlatform: CoingeckoPlatform.Canto, + }, + [NetworkNames.Rootstock]: { + tbName: "rsk", + cgPlatform: CoingeckoPlatform.Rootstock, + }, + [NetworkNames.Arbitrum]: { + tbName: "arb", + cgPlatform: CoingeckoPlatform.Arbitrum, + }, + [NetworkNames.ArbitrumNova]: { + tbName: "nova", + cgPlatform: CoingeckoPlatform.ArbitrumNova, + }, + [NetworkNames.Gnosis]: { + tbName: "xdai", + cgPlatform: CoingeckoPlatform.Gnosis, + }, + [NetworkNames.Avalanche]: { + tbName: "avax", + cgPlatform: CoingeckoPlatform.Avalanche, + }, + [NetworkNames.Fantom]: { + tbName: "ftm", + cgPlatform: CoingeckoPlatform.Fantom, + }, + [NetworkNames.Klaytn]: { + tbName: "klay", + cgPlatform: CoingeckoPlatform.Klaytn, + }, + [NetworkNames.Aurora]: { + tbName: "aurora", + cgPlatform: CoingeckoPlatform.Aurora, + }, + [NetworkNames.ZkSync]: { + tbName: "era", + cgPlatform: CoingeckoPlatform.Zksync, + }, + [NetworkNames.MaticZK]: { + tbName: "pze", + cgPlatform: CoingeckoPlatform.MaticZK, + }, + [NetworkNames.Celo]: { + tbName: "celo", + cgPlatform: CoingeckoPlatform.Celo, + }, + [NetworkNames.TomoChain]: { + tbName: "", + cgPlatform: CoingeckoPlatform.TomoChain, + }, + [NetworkNames.Shibarium]: { + tbName: "shib", + cgPlatform: CoingeckoPlatform.Shibarium, + }, + [NetworkNames.Rollux]: { + tbName: "rollux", + cgPlatform: CoingeckoPlatform.Rollux, + }, + [NetworkNames.Telos]: { + tbName: "tlos", + cgPlatform: CoingeckoPlatform.Telos, + }, + [NetworkNames.Blast]: { + tbName: "blast", + cgPlatform: CoingeckoPlatform.Blast, + }, + [NetworkNames.Sanko]: { + tbName: "sanko", + cgPlatform: CoingeckoPlatform.Sanko, + }, + [NetworkNames.Degen]: { + tbName: "degen", + cgPlatform: CoingeckoPlatform.Degen, + }, + [NetworkNames.XLayer]: { + tbName: "xlayer", + cgPlatform: CoingeckoPlatform.XLayer, + }, + [NetworkNames.ProofOfPlayApex]: { + tbName: "apex", + cgPlatform: undefined, + }, + [NetworkNames.Godwoken]: { + tbName: "ckb", + cgPlatform: CoingeckoPlatform.Godwoken, + }, + [NetworkNames.Linea]: { + tbName: "linea", + cgPlatform: CoingeckoPlatform.Linea, + }, + [NetworkNames.MantaPacific]: { + tbName: "manta", + cgPlatform: CoingeckoPlatform.MantaPacific, + }, + [NetworkNames.Mode]: { + tbName: "mode", + cgPlatform: CoingeckoPlatform.Mode, + }, + [NetworkNames.OpBNB]: { + tbName: "opbnb", + cgPlatform: CoingeckoPlatform.OpBNB, + }, + [NetworkNames.Scroll]: { + tbName: "scrl", + cgPlatform: CoingeckoPlatform.Scroll, + }, + [NetworkNames.Rari]: { + tbName: "rari", + cgPlatform: undefined, + }, + [NetworkNames.Solana]: { + tbName: "", + cgPlatform: CoingeckoPlatform.Solana, + }, +}; + +const getTokens = ( + network: BaseNetwork, + address: string +): Promise => { + const chain = network.name as SupportedNetworkNames; + if (chain === NetworkNames.TomoChain) { + return getTomoBalances(chain, address); + } else if (chain === NetworkNames.Solana) { + return getSolBalances(network, address); + } + let url = ""; + if (chain === NetworkNames.Ethereum || chain === NetworkNames.Binance) + url = `${API_ENPOINT}${supportedNetworks[chain].tbName}?address=${address}&platform=enkrypt&type=internal`; + else + url = `${API_ENPOINT2}${supportedNetworks[chain].tbName}/${address}?platform=enkrypt&type=internal`; + return fetch(url) + .then((res) => res.json()) + .then((json) => { + if (json.error) + return Promise.reject( + `TOKENBALANCE-MEW: ${JSON.stringify(json.error)}` + ); + else { + const isNativeAvailable = json.result.length + ? json.result.find((i: any) => i.contract === NATIVE_TOKEN_ADDRESS) + : false; + if (!json.result.length || !isNativeAvailable) { + json.result.push({ + contract: NATIVE_TOKEN_ADDRESS, + balance: "0x0", + }); + } + return json.result as TokenBalance[]; + } + }); +}; + +export default ( + network: BaseNetwork, + address: string +): Promise => { + if (!Object.keys(supportedNetworks).includes(network.name)) + throw new Error("TOKENBALANCE-MEW: network not supported"); + const networkName = network.name as SupportedNetworkNames; + return getTokens(network, address).then(async (tokens) => { + const balances: Record = tokens.reduce( + (obj, cur) => ({ ...obj, [cur.contract]: cur }), + {} + ); + + const marketData = new MarketData(); + + const marketInfo = supportedNetworks[networkName].cgPlatform + ? await marketData.getMarketInfoByContracts( + Object.keys(balances).filter( + (contract) => contract !== NATIVE_TOKEN_ADDRESS + ), + supportedNetworks[networkName].cgPlatform as CoingeckoPlatform + ) + : tokens.reduce( + (obj, cur) => ({ ...obj, [cur.contract]: null }), + {} as Record + ); + if (network.coingeckoID) { + const nativeMarket = await marketData.getMarketData([ + network.coingeckoID, + ]); + marketInfo[NATIVE_TOKEN_ADDRESS] = nativeMarket[0]; + } else { + marketInfo[NATIVE_TOKEN_ADDRESS] = { + id: "", + symbol: network.currencyName, + name: network.name_long, + image: network.icon, + current_price: 0, + market_cap: 0, + market_cap_rank: 0, + high_24h: 0, + low_24h: 0, + price_change_24h: 0, + price_change_percentage_24h: 0, + sparkline_in_7d: { price: [] }, + price_change_percentage_7d_in_currency: 0, + }; + } + + const assets: AssetsType[] = []; + const tokenInfo: Record = await getKnownNetworkTokens( + network.name + ); + tokenInfo[NATIVE_TOKEN_ADDRESS] = { + chainId: (network as EvmNetwork).chainID, + name: network.name_long, + decimals: network.decimals, + address: NATIVE_TOKEN_ADDRESS, + logoURI: network.icon, + symbol: network.currencyName, + }; + + const unknownTokens: string[] = []; + let nativeAsset: AssetsType | null = null; + for (const [address, market] of Object.entries(marketInfo)) { + if (market && tokenInfo[address]) { + const userBalance = fromBase( + balances[address].balance, + tokenInfo[address].decimals + ); + const currentPrice = market.current_price ?? 0; + const usdBalance = new BigNumber(userBalance).times(currentPrice); + const asset: AssetsType = { + balance: toBN(balances[address].balance).toString(), + balancef: formatFloatingPointValue(userBalance).value, + balanceUSD: usdBalance.toNumber(), + balanceUSDf: formatFiatValue(usdBalance.toString()).value, + icon: market.image, + name: market.name, + symbol: market.symbol, + value: currentPrice.toString(), + valuef: formatFiatValue(currentPrice.toString()).value, + contract: address, + decimals: tokenInfo[address].decimals, + sparkline: new Sparkline(market.sparkline_in_7d.price, 25).dataValues, + priceChangePercentage: + market.price_change_percentage_7d_in_currency || 0, + }; + if (address !== NATIVE_TOKEN_ADDRESS) assets.push(asset); + else nativeAsset = asset; + } else { + unknownTokens.push(address); + } + } + + assets.sort((a, b) => { + if (a.balanceUSD < b.balanceUSD) return 1; + else if (a.balanceUSD > b.balanceUSD) return -1; + else return 0; + }); + assets.unshift(nativeAsset as AssetsType); + if (unknownTokens.length && network.api) { + const api = (await network.api()) as API; + const promises = unknownTokens.map((t) => api.getTokenInfo(t)); + await Promise.all(promises).then((tokenMeta) => { + tokenMeta.forEach((tInfo, idx) => { + if (tInfo.symbol === "UNKNWN") return; + const userBalance = fromBase( + balances[unknownTokens[idx]].balance, + tInfo.decimals + ); + const asset: AssetsType = { + balance: toBN(balances[unknownTokens[idx]].balance).toString(), + balancef: formatFloatingPointValue(userBalance).value, + balanceUSD: 0, + balanceUSDf: formatFiatValue("0").value, + icon: tokenInfo[unknownTokens[idx]]?.logoURI || network.icon, + name: tInfo.name, + symbol: tInfo.symbol, + value: "0", + valuef: formatFiatValue("0").value, + contract: unknownTokens[idx], + decimals: tInfo.decimals, + sparkline: "", + priceChangePercentage: 0, + }; + assets.push(asset); + }); + }); + } + + return assets; + }); +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/solanachain.ts b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/solanachain.ts new file mode 100644 index 000000000..4c0e18441 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/solanachain.ts @@ -0,0 +1,59 @@ +import { TokenBalance } from "./types/tokenbalance-mew"; +import { NATIVE_TOKEN_ADDRESS } from "../common"; +import { numberToHex } from "@enkryptcom/utils"; +import { BaseNetwork } from "@/types/base-network"; +import { + Connection, + GetProgramAccountsFilter, + PublicKey, +} from "@solana/web3.js"; +import { TOKEN_PROGRAM_ID } from "@solana/spl-token"; +import { BNType } from "@/providers/common/types"; +import { toBN } from "web3-utils"; + +const getBalances = (network: BaseNetwork, address: string) => { + const solConnection = new Connection(network.node); + const filters: GetProgramAccountsFilter[] = [ + { + dataSize: 165, + }, + { + memcmp: { + offset: 32, + bytes: address, + }, + }, + ]; + return solConnection + .getParsedProgramAccounts(TOKEN_PROGRAM_ID, { filters: filters }) + .then((accounts) => { + const balances: TokenBalance[] = []; + const balanceObj = {} as Record; + accounts.forEach((acc) => { + const balance = numberToHex( + (acc.account.data as any).parsed.info.tokenAmount.amount + ); + if (balance === "0x0") return; + const contract = (acc.account.data as any).parsed.info.mint; + if (!balanceObj[contract]) balanceObj[contract] = toBN(0); + balanceObj[contract] = balanceObj[contract].add(toBN(balance)); + }); + Object.keys(balanceObj).forEach((contract) => { + balances.push({ + balance: numberToHex(balanceObj[contract]), + contract, + }); + }); + return solConnection + .getBalance(new PublicKey(address)) + .then((balance) => { + balances.unshift({ + balance: numberToHex(balance), + contract: NATIVE_TOKEN_ADDRESS, + }); + return balances; + }); + }); +}; + +export default getBalances; diff --git a/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/token-lists.ts b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/token-lists.ts new file mode 100644 index 000000000..ffe903ab8 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/token-lists.ts @@ -0,0 +1,70 @@ +import cacheFetch from "@/libs/cache-fetch"; +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { CGToken, SupportedNetworkNames } from "./types/tokenbalance-mew"; +const TOKEN_FETCH_TTL = 1000 * 60 * 60; +const TokenList: Record = { + [NetworkNames.Binance]: `https://tokens.coingecko.com/${CoingeckoPlatform.Binance}/all.json`, + [NetworkNames.Ethereum]: `https://tokens.coingecko.com/${CoingeckoPlatform.Ethereum}/all.json`, + [NetworkNames.Matic]: `https://tokens.coingecko.com/${CoingeckoPlatform.Matic}/all.json`, + [NetworkNames.MaticZK]: `https://tokens.coingecko.com/${CoingeckoPlatform.MaticZK}/all.json`, + [NetworkNames.AstarEVM]: `https://tokens.coingecko.com/${CoingeckoPlatform.Astar}/all.json`, + [NetworkNames.Okc]: `https://tokens.coingecko.com/${CoingeckoPlatform.Okc}/all.json`, + [NetworkNames.Optimism]: `https://tokens.coingecko.com/${CoingeckoPlatform.Optimism}/all.json`, + [NetworkNames.Moonriver]: `https://tokens.coingecko.com/${CoingeckoPlatform.Moonriver}/all.json`, + [NetworkNames.Moonbeam]: `https://tokens.coingecko.com/${CoingeckoPlatform.Moonbeam}/all.json`, + [NetworkNames.ShidenEVM]: `https://tokens.coingecko.com/${CoingeckoPlatform.Shiden}/all.json`, + [NetworkNames.Canto]: `https://tokens.coingecko.com/${CoingeckoPlatform.Canto}/all.json`, + [NetworkNames.Rootstock]: `https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/tokenlists/rsk.json`, + [NetworkNames.ZkSync]: `https://tokens.coingecko.com/${CoingeckoPlatform.Zksync}/all.json`, + [NetworkNames.Arbitrum]: `https://tokens.coingecko.com/${CoingeckoPlatform.Arbitrum}/all.json`, + [NetworkNames.ArbitrumNova]: `https://tokens.coingecko.com/${CoingeckoPlatform.ArbitrumNova}/all.json`, + [NetworkNames.Gnosis]: `https://tokens.coingecko.com/${CoingeckoPlatform.Gnosis}/all.json`, + [NetworkNames.Avalanche]: `https://tokens.coingecko.com/${CoingeckoPlatform.Avalanche}/all.json`, + [NetworkNames.Fantom]: `https://tokens.coingecko.com/${CoingeckoPlatform.Fantom}/all.json`, + [NetworkNames.Klaytn]: `https://tokens.coingecko.com/${CoingeckoPlatform.Klaytn}/all.json`, + [NetworkNames.Aurora]: `https://tokens.coingecko.com/${CoingeckoPlatform.Aurora}/all.json`, + [NetworkNames.Celo]: `https://tokens.coingecko.com/${CoingeckoPlatform.Celo}/all.json`, + [NetworkNames.TomoChain]: `https://tokens.coingecko.com/${CoingeckoPlatform.TomoChain}/all.json`, + [NetworkNames.Shibarium]: `https://tokens.coingecko.com/${CoingeckoPlatform.Shibarium}/all.json`, + [NetworkNames.Rollux]: `https://tokens.coingecko.com/${CoingeckoPlatform.Rollux}/all.json`, + [NetworkNames.Telos]: `https://tokens.coingecko.com/${CoingeckoPlatform.Telos}/all.json`, + [NetworkNames.Blast]: `https://tokens.coingecko.com/${CoingeckoPlatform.Blast}/all.json`, + [NetworkNames.Sanko]: `https://tokens.coingecko.com/${CoingeckoPlatform.Sanko}/all.json`, + [NetworkNames.Degen]: `https://tokens.coingecko.com/${CoingeckoPlatform.Degen}/all.json`, + [NetworkNames.Solana]: `https://tokens.coingecko.com/${CoingeckoPlatform.Solana}/all.json`, + [NetworkNames.XLayer]: `https://tokens.coingecko.com/${CoingeckoPlatform.XLayer}/all.json`, + [NetworkNames.ProofOfPlayApex]: `https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/tokenlists/apex.json`, + [NetworkNames.Godwoken]: `https://tokens.coingecko.com/${CoingeckoPlatform.Godwoken}/all.json`, + [NetworkNames.Linea]: `https://tokens.coingecko.com/${CoingeckoPlatform.Linea}/all.json`, + [NetworkNames.MantaPacific]: `https://tokens.coingecko.com/${CoingeckoPlatform.MantaPacific}/all.json`, + [NetworkNames.Mode]: `https://tokens.coingecko.com/${CoingeckoPlatform.Mode}/all.json`, + [NetworkNames.OpBNB]: `https://tokens.coingecko.com/${CoingeckoPlatform.OpBNB}/all.json`, + [NetworkNames.Scroll]: `https://tokens.coingecko.com/${CoingeckoPlatform.Scroll}/all.json`, + [NetworkNames.Rari]: `https://raw.githubusercontent.com/enkryptcom/dynamic-data/main/tokenlists/rari.json`, +}; + +const getKnownNetworkTokens = async ( + networkName: NetworkNames +): Promise> => { + if (!TokenList[networkName as SupportedNetworkNames]) return {}; + return cacheFetch( + { + url: TokenList[networkName as SupportedNetworkNames], + }, + TOKEN_FETCH_TTL + ) + .then((json) => { + const tokens: CGToken[] = json.tokens; + const tObject: Record = {}; + tokens.forEach((t) => { + t.address = + networkName !== NetworkNames.Solana + ? t.address.toLowerCase() + : t.address; + tObject[t.address] = t; + }); + return tObject; + }) + .catch(() => ({})); +}; +export { TokenList, getKnownNetworkTokens }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/tomochain.ts b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/tomochain.ts new file mode 100644 index 000000000..ea20a2a56 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/tomochain.ts @@ -0,0 +1,45 @@ +import { SupportedNetworkNames, TokenBalance } from "./types/tokenbalance-mew"; +import { NATIVE_TOKEN_ADDRESS } from "../common"; +import { numberToHex } from "@enkryptcom/utils"; + +interface TokenBalanceType { + token: string; + quantity: string; + error?: unknown; +} + +interface AccountBalanceType { + balance: string; +} + +const getBalances = (chain: SupportedNetworkNames, address: string) => { + return fetch(`https://tomoscan.io/api/account/${address}/tokenBalance`) + .then((res) => res.json()) + .then(async (json) => { + if (json.error) + return Promise.reject( + `TOKENBALANCE-MEW: ${JSON.stringify(json.error)}` + ); + else { + const nativeBalance = await fetch( + `https://tomoscan.io/api/account/${address}` + ) + .then((res) => res.json()) + .then((json: AccountBalanceType) => json.balance); + const newResults = (json.data as TokenBalanceType[]).map((tb: any) => { + const rawTx: TokenBalance = { + contract: tb.token.toLowerCase(), + balance: numberToHex(tb.quantity), + }; + return rawTx; + }); + newResults.unshift({ + contract: NATIVE_TOKEN_ADDRESS, + balance: numberToHex(nativeBalance), + }); + return newResults.slice(0, 50) as TokenBalance[]; + } + }); +}; + +export default getBalances; diff --git a/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts new file mode 100644 index 000000000..9de5a6de4 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/assets-handlers/types/tokenbalance-mew.ts @@ -0,0 +1,66 @@ +import { NetworkNames } from "@enkryptcom/types"; + +export interface TokenBalance { + contract: string; + balance: string; +} +export interface SupportedNetwork { + tbName: string; + cgPlatform?: string; +} +export interface CGToken { + chainId: `0x${string}`; + address: string; + name: string; + symbol: string; + decimals: number; + logoURI: string; +} + +export interface ZkSyncBalanceType { + balance: string; + contractAddress: string; + decimals: string; + name: string; + symbol: string; +} + +export type SupportedNetworkNames = + | NetworkNames.Binance + | NetworkNames.Ethereum + | NetworkNames.Matic + | NetworkNames.AstarEVM + | NetworkNames.Okc + | NetworkNames.Optimism + | NetworkNames.Moonriver + | NetworkNames.Moonbeam + | NetworkNames.ShidenEVM + | NetworkNames.Canto + | NetworkNames.Rootstock + | NetworkNames.Arbitrum + | NetworkNames.ArbitrumNova + | NetworkNames.Gnosis + | NetworkNames.Avalanche + | NetworkNames.Fantom + | NetworkNames.Klaytn + | NetworkNames.Aurora + | NetworkNames.TomoChain + | NetworkNames.Shibarium + | NetworkNames.MaticZK + | NetworkNames.Celo + | NetworkNames.ZkSync + | NetworkNames.Telos + | NetworkNames.Rollux + | NetworkNames.Sanko + | NetworkNames.Degen + | NetworkNames.Blast + | NetworkNames.Solana + | NetworkNames.XLayer + | NetworkNames.ProofOfPlayApex + | NetworkNames.Godwoken + | NetworkNames.Linea + | NetworkNames.MantaPacific + | NetworkNames.Mode + | NetworkNames.OpBNB + | NetworkNames.Scroll + | NetworkNames.Rari; diff --git a/packages/extension-vite/src/providers/ethereum/libs/blockies.ts b/packages/extension-vite/src/providers/ethereum/libs/blockies.ts new file mode 100644 index 000000000..132603d34 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/blockies.ts @@ -0,0 +1,113 @@ +const randseed = new Array(4); // Xorshift: [x, y, z, w] 32 bit values + +function seedrand(seed: string) { + for (let i = 0; i < randseed.length; i++) { + randseed[i] = 0; + } + for (let j = 0; j < seed.length; j++) { + randseed[j % 4] = + (randseed[j % 4] << 5) - randseed[j % 4] + seed.charCodeAt(j); + } +} + +function rand() { + // based on Java's String.hashCode(), expanded to 4 32bit values + const t = randseed[0] ^ (randseed[0] << 11); + + randseed[0] = randseed[1]; + randseed[1] = randseed[2]; + randseed[2] = randseed[3]; + randseed[3] = randseed[3] ^ (randseed[3] >> 19) ^ t ^ (t >> 8); + + return (randseed[3] >>> 0) / ((1 << 31) >>> 0); +} + +function createColor() { + // saturation is the whole color spectrum + const h = Math.floor(rand() * 360); + // saturation goes from 40 to 100, it avoids greyish colors + const s = rand() * 60 + 40 + "%"; + // lightness can be anything from 0 to 100, but probabilities are a bell curve around 50% + const l = (rand() + rand() + rand() + rand()) * 25 + "%"; + + const color = "hsl(" + h + "," + s + "," + l + ")"; + return color; +} + +function createImageData(size: number): number[] { + const width = size; // Only support square icons for now + const height = size; + + const dataWidth = Math.ceil(width / 2); + const mirrorWidth = width - dataWidth; + + const data = []; + for (let y = 0; y < height; y++) { + let row = []; + for (let x = 0; x < dataWidth; x++) { + // this makes foreground and background color to have a 43% (1/2.3) probability + // spot color has 13% chance + row[x] = Math.floor(rand() * 2.3); + } + const r = row.slice(0, mirrorWidth); + r.reverse(); + row = row.concat(r); + + for (let i = 0; i < row.length; i++) { + data.push(row[i]); + } + } + + return data; +} + +function createCanvas( + imageData: number[], + color: string, + scale: number, + bgcolor: string, + spotcolor: string +): HTMLCanvasElement { + const width = Math.sqrt(imageData.length); + const c = document.createElement("canvas"); + c.width = c.height = width * scale; + const cc = c.getContext("2d"); + if (cc) { + cc.fillStyle = bgcolor; + cc.fillRect(0, 0, c.width, c.height); + cc.fillStyle = color; + + for (let i = 0; i < imageData.length; i++) { + const row = Math.floor(i / width); + const col = i % width; + cc.fillStyle = imageData[i] === 1 ? color : spotcolor; + if (imageData[i]) { + cc.fillRect(col * scale, row * scale, scale, scale); + } + } + } + return c; +} + +type options = { + size?: number; + scale?: number; + color?: string; + bgcolor?: string; + spotcolor?: string; +}; +const createIcon = (address: string, opts?: options): string => { + opts = opts || {}; + const size = opts.size || 8; + const scale = opts.scale || 4; + const seed = address.toLowerCase(); + seedrand(seed); + const color = opts.color || createColor(); + const bgcolor = opts.bgcolor || createColor(); + const spotcolor = opts.spotcolor || createColor(); + const imageData = createImageData(size); + const canvas = createCanvas(imageData, color, scale, bgcolor, spotcolor); + return canvas.toDataURL(); +}; + +export default createIcon; diff --git a/packages/extension-vite/src/providers/ethereum/libs/common.ts b/packages/extension-vite/src/providers/ethereum/libs/common.ts new file mode 100644 index 000000000..e7bb1792f --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/common.ts @@ -0,0 +1,5 @@ +import { NetworkNames } from "@enkryptcom/types"; + +const NATIVE_TOKEN_ADDRESS = "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"; +const MAX_UNAVAILABLE_NETWORKS = [NetworkNames.Optimism]; +export { NATIVE_TOKEN_ADDRESS, MAX_UNAVAILABLE_NETWORKS }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/message-handler.ts b/packages/extension-vite/src/providers/ethereum/libs/message-handler.ts new file mode 100644 index 000000000..5fb2e3ca1 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/message-handler.ts @@ -0,0 +1,79 @@ +import { + ProviderMessage, + MessageMethod, + EmitEvent, + ProviderConnectInfo, +} from "../types"; +import { + EnkryptProviderEventMethods, + EthereumProvider, + handleIncomingMessage as handleIncomingMessageType, +} from "@/types/provider"; +import { getError } from "../../../libs/error"; +import { RPCRequestType } from "@enkryptcom/types"; +const subscriptionMap: Record = {}; +const handleIncomingMessage: handleIncomingMessageType = ( + provider, + message +): void => { + try { + const _provider = provider as EthereumProvider; + const jsonMsg = JSON.parse(message) as ProviderMessage; + if (jsonMsg.method === MessageMethod.changeConnected) { + const isConnected = jsonMsg.params[0] as boolean; + _provider.connected = isConnected; + if (isConnected) { + const connectionInfo: ProviderConnectInfo = { + chainId: jsonMsg.params[1] as string, + }; + if (_provider.chainId !== connectionInfo.chainId) { + _provider.chainId = connectionInfo.chainId; + _provider.emit(EmitEvent.chainChanged, connectionInfo.chainId); + } + _provider.emit(EmitEvent.connect, connectionInfo); + } else { + _provider.emit( + EmitEvent.disconnect, + getError(jsonMsg.params[1] as number) + ); + } + } else if (jsonMsg.method === MessageMethod.changeChainId) { + const chainId = jsonMsg.params[0] as string; + if (_provider.chainId !== chainId) { + _provider.chainId = chainId; + _provider.emit(EmitEvent.chainChanged, chainId); + } + } else if (jsonMsg.method === MessageMethod.changeAddress) { + const address = jsonMsg.params[0] as string; + if (_provider.selectedAddress !== address) { + _provider.selectedAddress = address; + _provider.emit(EmitEvent.accountsChanged, [address]); + } + } else if (jsonMsg.method === MessageMethod.subscription) { + const params = jsonMsg.params as Record; + if (subscriptionMap[params.subscription]) { + params.subscription = subscriptionMap[params.subscription]; + } + _provider.emit(EmitEvent.message, { + data: params, + type: jsonMsg.method, + }); + } else if ( + (jsonMsg.method as EnkryptProviderEventMethods) === + EnkryptProviderEventMethods.persistentEvents + ) { + const initialEvent = jsonMsg.params[0] as RPCRequestType; + if (initialEvent.method === "eth_subscribe") { + const initialRes = jsonMsg.params[1]; + const newRes = jsonMsg.params[2]; + subscriptionMap[JSON.parse(newRes)] = JSON.parse(initialRes); + } else { + console.error(`Unable to process persistentEvent:${message}`); + } + } + } catch (e) { + console.error(e); + } +}; + +export { handleIncomingMessage }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/sanitize-typed-data.ts b/packages/extension-vite/src/providers/ethereum/libs/sanitize-typed-data.ts new file mode 100644 index 000000000..e29cca001 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/sanitize-typed-data.ts @@ -0,0 +1,53 @@ +import { + TypedDataUtils, + SignTypedDataVersion, + MessageTypeProperty, + MessageTypes, + TypedMessage, +} from "@metamask/eth-sig-util"; + +const encodeData = ( + primaryType: string, + data: Record, + types: Record, + version: SignTypedDataVersion.V3 | SignTypedDataVersion.V4 +): Record => { + const retObject: Record = {}; + for (const field of types[primaryType]) { + if (version === SignTypedDataVersion.V3 && data[field.name] === undefined) { + continue; + } + retObject[field.name] = data[field.name]; + } + return retObject; +}; + +const sanitizeData = ( + typedData: TypedMessage, + version: SignTypedDataVersion.V3 | SignTypedDataVersion.V4 +): Record => { + const sanitizedData = TypedDataUtils.sanitizeData(typedData); + const { domain, types, primaryType, message } = sanitizedData; + const domainType = { EIP712Domain: sanitizedData.types.EIP712Domain }; + const domainData = encodeData("EIP712Domain", domain, domainType, version); + + if (sanitizedData.primaryType !== "EIP712Domain") { + const messageData = encodeData( + primaryType as string, + message, + types, + version + ); + return { + domain: domainData, + message: messageData, + primaryType, + }; + } + return { + domain: domainData, + primaryType, + }; +}; + +export { sanitizeData }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/transaction/data-decoder.ts b/packages/extension-vite/src/providers/ethereum/libs/transaction/data-decoder.ts new file mode 100644 index 000000000..4b5de93e5 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/transaction/data-decoder.ts @@ -0,0 +1,73 @@ +import { bufferToHex, hexToBuffer } from "@enkryptcom/utils"; +import { isHexStrict, toHex } from "web3-utils"; +import { rawDecode } from "ethereumjs-abi"; +import { DataDecodeResponse } from "./types"; +import funcSigs from "./lists/4bytes"; +import tokenSigs from "./lists/tokenSigs"; +const getParams = (functionName: string): string[] => { + const regExp = /\(([^)]+)\)/; + const params = regExp.exec(functionName); + if (!params || params?.length < 1) return []; + return params[1].split(","); +}; +class DataDecode { + data: Buffer; + readonly functionSig: string; + readonly valueData: string; + readonly isTokenAction: boolean; + readonly value: string; + readonly to?: string; + constructor({ + data = "0x", + value = "0x0", + to, + }: { + data: string; + value: string; + to?: string; + }) { + if (!isHexStrict(data)) throw new Error("data-decoder: not a valid hex"); + this.data = hexToBuffer(data); + this.functionSig = bufferToHex(this.data.slice(0, 4)); + this.valueData = bufferToHex(this.data.slice(4)); + this.isTokenAction = Object.values(tokenSigs).includes(this.functionSig); + this.value = value; + this.to = to; + } + decode(): DataDecodeResponse { + const sig = funcSigs[this.functionSig]; + if (!sig) + return { + decoded: false, + values: [bufferToHex(this.data)], + isToken: this.isTokenAction, + }; + try { + const params = getParams(sig[0]); + const decoded = rawDecode(params, hexToBuffer(this.valueData)); + const decodedData: DataDecodeResponse = { + decoded: true, + values: decoded.map((a) => toHex(a)), + function: sig[0], + isToken: this.isTokenAction, + }; + if (this.functionSig === tokenSigs.transfer) { + decodedData.tokenValue = decodedData.values[1]; + decodedData.tokenTo = decodedData.values[0]; + } else if (this.functionSig === tokenSigs.transferFrom) { + decodedData.tokenValue = decodedData.values[2]; + decodedData.tokenTo = decodedData.values[1]; + } + return decodedData; + } catch (e) { + return { + decoded: false, + values: [bufferToHex(this.data)], + function: sig[0], + isToken: this.isTokenAction, + }; + } + } +} + +export default DataDecode; diff --git a/packages/extension-vite/src/providers/ethereum/libs/transaction/decoder.ts b/packages/extension-vite/src/providers/ethereum/libs/transaction/decoder.ts new file mode 100644 index 000000000..179164bd6 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/transaction/decoder.ts @@ -0,0 +1,98 @@ +import { EvmNetwork } from "../../types/evm-network"; +import { DecodedTx, EthereumTransaction } from "./types"; +import { + getKnownNetworkTokens, + TokenList, +} from "../assets-handlers/token-lists"; +import { SupportedNetworkNames } from "../assets-handlers/types/tokenbalance-mew"; +import DataDecode from "./data-decoder"; +import { bufferToHex } from "@enkryptcom/utils"; +import type EvmApi from "../api"; +import MarketData from "@/libs/market-data"; +import { EthereumRawInfo } from "@/types/activity"; +const decodeTx = async ( + tx: EthereumTransaction | EthereumRawInfo, + network: EvmNetwork +): Promise => { + const isContractCreation = tx.to ? false : true; + let tokenTo = tx.to || null; + let tokenName: string = network.currencyName; + let tokenValue: string = tx.value && tx.value != "0x" ? tx.value : "0x0"; + let tokenDecimals: number = network.decimals; + let tokenImage: string = network.icon; + let tokenSymbol: string = network.currencyName; + let CGToken: string | undefined = network.coingeckoID; + let currentPriceUSD = 0; + const marketData = new MarketData(); + const dataDecoder = new DataDecode({ + data: tx.data as string, + to: tx.to!, + value: tx.value as string, + }); + const setInfoFromNetwork = (): Promise => { + return (network.api() as Promise).then((api) => { + return api.getTokenInfo(tx.to as string).then((tokenInfo) => { + tokenName = tokenInfo.name; + tokenDecimals = tokenInfo.decimals; + tokenSymbol = tokenInfo.symbol; + const decodedInfo = dataDecoder.decode(); + if (decodedInfo.tokenValue) { + tokenValue = decodedInfo.tokenValue; + tokenTo = decodedInfo.tokenTo!; + } + CGToken = undefined; + currentPriceUSD = 0; + }); + }); + }; + if (tokenValue === "0x0" && dataDecoder.isTokenAction) { + if (TokenList[network.name as SupportedNetworkNames]) { + const knownTokens = await getKnownNetworkTokens(network.name); + const curToken = knownTokens[tx.to?.toLowerCase() || ""]; + if (curToken) { + tokenName = curToken.name; + tokenImage = curToken.logoURI; + tokenDecimals = curToken.decimals; + tokenSymbol = curToken.symbol; + const decodedInfo = dataDecoder.decode(); + if (decodedInfo.tokenValue) { + tokenValue = decodedInfo.tokenValue; + tokenTo = decodedInfo.tokenTo!; + } + await marketData + .getMarketInfoByContracts([tx.to!], network.coingeckoPlatform!) + .then((marketInfo) => { + if (marketInfo[tx.to!]) { + currentPriceUSD = marketInfo[tx.to!]!.current_price ?? 0; + CGToken = marketInfo[tx.to!]!.id; + } + }); + } else { + await setInfoFromNetwork(); + } + } else { + await setInfoFromNetwork(); + } + } + if (CGToken === network.coingeckoID && network.coingeckoID) { + await marketData.getMarketData([CGToken!]).then((marketInfo) => { + currentPriceUSD = marketInfo[0]!.current_price ?? 0; + }); + } + return { + isContractCreation, + dataHex: bufferToHex(dataDecoder.data), + toAddress: tx.to!, + decodedHex: dataDecoder.decode().values, + decoded: dataDecoder.decode().decoded, + tokenDecimals, + tokenImage, + tokenName, + tokenValue, + tokenSymbol, + tokenTo, + currentPriceUSD, + }; +}; + +export { decodeTx }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/transaction/gas-utils.ts b/packages/extension-vite/src/providers/ethereum/libs/transaction/gas-utils.ts new file mode 100644 index 000000000..edc8c7510 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/transaction/gas-utils.ts @@ -0,0 +1,187 @@ +import BigNumber from "bignumber.js"; +import { toBN, toWei } from "web3-utils"; +import { BNType, GasPriceTypes } from "@/providers/common/types"; +import { FeeHistoryResult } from "web3-eth"; +import { FormattedFeeHistory } from "./types"; + +const MED_CONST = 21428571428.571; +const MED_MULTIPLIER = 1.0714285714286; +const FAST_CONST = 42857142857.145; +const FAST_MULTIPLIER = 1.1428571428571; +const FASTEST_CONST = 64285714285.7; +const FASTEST_MULTIPLIER = 1.21828571429; +const LIMITER = 25000000000; +const GAS_PERCENTILES = [25, 50, 75, 90]; + +const getEconomy = (gasPrice: string): BNType => { + return toBN(gasPrice); +}; +const getRegular = (gasPrice: string): BNType => { + const gpBN = toBN(gasPrice); + if (gpBN.gt(toBN(LIMITER))) { + let initialValue = new BigNumber(gasPrice).times(MED_MULTIPLIER); + initialValue = initialValue.plus(MED_CONST); + return toBN(new BigNumber(initialValue).toFixed(0)); + } + return toBN(new BigNumber(gasPrice).times(1.25).toFixed(0)); +}; +const getFast = (gasPrice: string): BNType => { + const gpBN = toBN(gasPrice); + if (gpBN.gt(toBN(LIMITER))) { + let initialValue = new BigNumber(gasPrice).times(FAST_MULTIPLIER); + initialValue = initialValue.plus(FAST_CONST); + return toBN(new BigNumber(initialValue).toFixed(0)); + } + return toBN(new BigNumber(gasPrice).times(1.5).toFixed(0)); +}; +const getFastest = (gasPrice: string): BNType => { + const gpBN = toBN(gasPrice); + if (gpBN.gt(toBN(LIMITER))) { + let initialValue = new BigNumber(gasPrice).times(FASTEST_MULTIPLIER); + initialValue = initialValue.plus(FASTEST_CONST); + return toBN(new BigNumber(initialValue).toFixed(0)); + } + return toBN(new BigNumber(gasPrice).times(1.75).toFixed(0)); +}; + +const getGasBasedOnType = ( + gasPrice: string, + gasPriceType: GasPriceTypes +): BNType => { + switch (gasPriceType) { + case GasPriceTypes.ECONOMY: + return getEconomy(gasPrice); + case GasPriceTypes.REGULAR: + return getRegular(gasPrice); + case GasPriceTypes.FAST: + return getFast(gasPrice); + case GasPriceTypes.FASTEST: + return getFastest(gasPrice); + default: + return getEconomy(gasPrice); + } +}; +const getMinPriorityFee = (): BNType => { + return toBN(toWei("0.1", "gwei")); +}; +const getPriorityFeeAvg = (arr: BNType[]): BNType => { + const sum = arr.reduce((a, v) => a.add(v)); + const fee = sum.divn(arr.length); + if (fee.eqn(0)) return getMinPriorityFee(); + return fee; +}; + +const getPriorityFeeBasedOnType = ( + gasFeeHistory: FormattedFeeHistory, + gasPriceType: GasPriceTypes +): BNType => { + if (gasFeeHistory.blocks.length === 0) return getMinPriorityFee(); + switch (gasPriceType) { + case GasPriceTypes.ECONOMY: + return getPriorityFeeAvg( + gasFeeHistory.blocks.map((b) => b.priorityFeePerGas[0]) + ); + case GasPriceTypes.REGULAR: + return getPriorityFeeAvg( + gasFeeHistory.blocks.map((b) => b.priorityFeePerGas[1]) + ); + case GasPriceTypes.FAST: + return getPriorityFeeAvg( + gasFeeHistory.blocks.map((b) => b.priorityFeePerGas[2]) + ); + case GasPriceTypes.FASTEST: + return getPriorityFeeAvg( + gasFeeHistory.blocks.map((b) => b.priorityFeePerGas[3]) + ); + default: + return getMinPriorityFee(); + } +}; + +const formatFeeHistory = ( + feeHistory: FeeHistoryResult +): FormattedFeeHistory => { + const historicalBlocks = feeHistory.baseFeePerGas.length - 1; + let blockNum = toBN(feeHistory.oldestBlock).toNumber(); + let index = 0; + let blocks = []; + let highestBaseFee = toBN(0); + while (blockNum < Number(feeHistory.oldestBlock) + historicalBlocks) { + const blockBaseFee = toBN(feeHistory.baseFeePerGas[index]); + if (blockBaseFee.gt(highestBaseFee)) highestBaseFee = blockBaseFee; + blocks.push({ + number: blockNum, + baseFeePerGas: blockBaseFee, + gasUsedRatio: feeHistory.gasUsedRatio[index], + priorityFeePerGas: feeHistory.reward + ? feeHistory.reward[index] + .map((x) => toBN(x)) + .sort((a, b) => a.sub(b).toNumber()) + : GAS_PERCENTILES.map(() => toBN(0)), + }); + blockNum += 1; + index += 1; + } + blocks = blocks.filter((b) => b.gasUsedRatio !== 0); + const pendingBaseFee = toBN(feeHistory.baseFeePerGas[historicalBlocks]); + if (pendingBaseFee.gt(highestBaseFee)) highestBaseFee = pendingBaseFee; + return { + blocks, + pendingBlock: { + number: "pending", + baseFeePerGas: pendingBaseFee, + gasUsedRatio: 0, + priorityFeePerGas: [], + }, + highestBaseFee, + }; +}; + +const getBaseFeeBasedOnType = ( + baseFee: string, + gasPriceType: GasPriceTypes +): BNType => { + const baseFeeBN = toBN(baseFee); + switch (gasPriceType) { + case GasPriceTypes.ECONOMY: + return baseFeeBN; + case GasPriceTypes.REGULAR: + return baseFeeBN.muln(1.25); + case GasPriceTypes.FAST: + return baseFeeBN.muln(1.35); + case GasPriceTypes.FASTEST: + return baseFeeBN.muln(1.45); + default: + return baseFeeBN; + } +}; +const FeeDescriptions = { + [GasPriceTypes.ECONOMY]: { + title: "Economy", + description: "Will likely go through unless activity increases", + eta: "5 mins", + }, + [GasPriceTypes.REGULAR]: { + title: "Recommended", + description: "Will reliably go through in most scenarios", + eta: "2 mins", + }, + [GasPriceTypes.FAST]: { + title: "Higher priority", + description: "Will go through even if there is a sudden activity increase", + eta: "1 mins", + }, + [GasPriceTypes.FASTEST]: { + title: "Highest priority", + description: "Will go through, fast, in 99.99% of the cases", + eta: "30 secs", + }, +}; +export { + getBaseFeeBasedOnType, + getPriorityFeeBasedOnType, + getGasBasedOnType, + FeeDescriptions, + formatFeeHistory, + GAS_PERCENTILES, +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/transaction/index.ts b/packages/extension-vite/src/providers/ethereum/libs/transaction/index.ts new file mode 100644 index 000000000..18bbc62d5 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/transaction/index.ts @@ -0,0 +1,288 @@ +import Web3Eth, { FeeHistoryResult } from "web3-eth"; +import { + EthereumTransaction, + FinalizedFeeMarketEthereumTransaction, + FinalizedLegacyEthereumTransaction, + FormattedFeeHistory, + GasCosts, + TransactionOptions, +} from "./types"; +import { BNType, GasPriceTypes } from "@/providers/common/types"; +import { numberToHex, toBN } from "web3-utils"; +import { + GAS_PERCENTILES, + formatFeeHistory, + getBaseFeeBasedOnType, + getGasBasedOnType, + getPriorityFeeBasedOnType, +} from "./gas-utils"; +import { Hardfork, Common } from "@ethereumjs/common"; +import { FeeMarketEIP1559Transaction, LegacyTransaction } from "@ethereumjs/tx"; +import { OPTIMISM_PRICE_ORACLE, OPTIMISM_PRICE_ORACLE_ABI } from "./op-data"; +import { bufferToHex } from "@enkryptcom/utils"; + +/** Represents an EVM transaction */ +class Transaction { + tx: EthereumTransaction; + web3: Web3Eth; + constructor(tx: EthereumTransaction, web3: Web3Eth) { + this.tx = tx; + if (this.tx.gas) this.tx.gasLimit = this.tx.gas; + this.web3 = web3; + } + async estimateGas(): Promise { + return this.web3.estimateGas({ + to: this.tx.to || undefined, + from: this.tx.from, + data: this.tx.data || "0x", + value: this.tx.value || "0x0", + }); + } + async getOPfees(): Promise { + const OPContract = new this.web3.Contract( + OPTIMISM_PRICE_ORACLE_ABI as any, + OPTIMISM_PRICE_ORACLE + ); + const fTx = await this.getFinalizedTransaction({ + gasPriceType: GasPriceTypes.ECONOMY, + }); + const serializedTx = fTx.serialize(); + return OPContract.methods + .getL1Fee(bufferToHex(serializedTx)) + .call() + .then((val: string) => toBN(val)) + .catch(() => toBN(0)); + } + private getFeeMarketGasInfo = ( + baseFeePerGas: string, + formattedFeeHistory: FormattedFeeHistory, + priceType: GasPriceTypes + ) => { + const adjustedBaseFeePerGas = getBaseFeeBasedOnType( + baseFeePerGas, + priceType + ); + const maxPriorityFeePerGas = getPriorityFeeBasedOnType( + formattedFeeHistory, + priceType + ); + const maxFeePerGas = adjustedBaseFeePerGas.add(maxPriorityFeePerGas); + return { + adjustedBaseFeePerGas, + maxPriorityFeePerGas, + maxFeePerGas, + }; + }; + + /** + * Gathers the last bits of data required to serialize a transaction eg gas price, nonce, etc + */ + async finalizeTransaction(options: TransactionOptions): Promise<{ + transaction: + | FinalizedFeeMarketEthereumTransaction + | FinalizedLegacyEthereumTransaction; + gasPrice?: string; + baseFeePerGas?: string; + maxPriorityFeePerGas?: string; + maxFeePerGas?: string; + gasLimit: string; + formattedFeeHistory?: FormattedFeeHistory; + }> { + const latestBlock = await this.web3.getBlock("latest", false); + const { isFeeMarketNetwork, feeHistory } = await this.web3 + .getFeeHistory(6, "latest", GAS_PERCENTILES) + .then((history) => ({ + isFeeMarketNetwork: !!latestBlock.baseFeePerGas, + feeHistory: history, + })) + .catch(() => ({ + isFeeMarketNetwork: false, + feeHistory: {} as FeeHistoryResult, + })); + // Gets the number of transactions that they will have sent by the next pending block + const nonce = await this.web3.getTransactionCount(this.tx.from, "pending"); + if (!isFeeMarketNetwork) { + // Legacy transaction + const gasPrice = await this.web3.getGasPrice(); + const gasLimit = + this.tx.gasLimit || + (numberToHex(await this.estimateGas()) as `0x${string}`); + const legacyTx: FinalizedLegacyEthereumTransaction = { + to: this.tx.to || undefined, + chainId: this.tx.chainId, + data: this.tx.data || "0x", + from: this.tx.from, + gasLimit, + gasPrice: !options.totalGasPrice + ? (numberToHex( + getGasBasedOnType(gasPrice, options.gasPriceType) + ) as `0x${string}`) + : (numberToHex( + options.totalGasPrice.div(toBN(gasLimit)) + ) as `0x${string}`), + nonce: this.tx.nonce || (numberToHex(nonce) as `0x${string}`), + value: this.tx.value || "0x0", + }; + return { + transaction: legacyTx, + gasPrice: gasPrice, + gasLimit: legacyTx.gasLimit, + }; + } else { + // Fee market transaction (post EIP1559) + const baseFeePerGas = + feeHistory.baseFeePerGas[feeHistory.baseFeePerGas.length - 2]; // -2 since -1 is the pending block + const formattedFeeHistory = formatFeeHistory(feeHistory); + const feeMarket = this.getFeeMarketGasInfo( + baseFeePerGas!, + formattedFeeHistory, + options.gasPriceType + ); + const gasLimit = + this.tx.gasLimit || + (numberToHex(await this.estimateGas()) as `0x${string}`); + const maxFeePerGas = !options.totalGasPrice + ? feeMarket.maxFeePerGas + : options.totalGasPrice.div(toBN(gasLimit)); + const maxPriorityFeePerGas = feeMarket.maxPriorityFeePerGas; + const feeMarketTx: FinalizedFeeMarketEthereumTransaction = { + to: this.tx.to || undefined, + chainId: this.tx.chainId, + data: this.tx.data || "0x", + from: this.tx.from, + gasLimit, + nonce: this.tx.nonce || (numberToHex(nonce) as `0x${string}`), + value: this.tx.value || "0x0", + maxFeePerGas: numberToHex(maxFeePerGas) as `0x${string}`, + maxPriorityFeePerGas: numberToHex( + maxPriorityFeePerGas.gt(maxFeePerGas) + ? maxFeePerGas + : maxPriorityFeePerGas + ) as `0x${string}`, + type: "0x02", + accessList: this.tx.accessList || [], + }; + return { + transaction: feeMarketTx, + gasLimit: feeMarketTx.gasLimit, + baseFeePerGas: numberToHex(baseFeePerGas!), + maxFeePerGas: numberToHex(feeMarket.maxFeePerGas), + maxPriorityFeePerGas: numberToHex(feeMarket.maxPriorityFeePerGas), + formattedFeeHistory, + }; + } + } + + /** + * Create a sendable transaction + * + * Gathers last live bits of data required to send the transaction then + * creates a sendable transaction from it + */ + async getFinalizedTransaction( + options: TransactionOptions + ): Promise { + const { transaction } = await this.finalizeTransaction(options); + + if (!transaction.maxFeePerGas) { + const common = Common.custom({ + chainId: BigInt(transaction.chainId), + }); + return LegacyTransaction.fromTxData( + transaction as FinalizedLegacyEthereumTransaction, + { + common, + } + ); + } else { + const common = Common.custom({ + chainId: BigInt(transaction.chainId), + defaultHardfork: Hardfork.London, + }); + return FeeMarketEIP1559Transaction.fromTxData( + transaction as FinalizedFeeMarketEthereumTransaction, + { + common, + } + ); + } + } + + async getMessageToSign(options: TransactionOptions): Promise { + const tx = await this.getFinalizedTransaction(options); + return tx.getHashedMessageToSign(); + } + + async getGasCosts(): Promise { + const { gasLimit, gasPrice, baseFeePerGas, formattedFeeHistory } = + await this.finalizeTransaction({ + gasPriceType: GasPriceTypes.ECONOMY, + }); + const opFee = await this.getOPfees(); + if (gasPrice) { + return { + [GasPriceTypes.ECONOMY]: numberToHex( + getGasBasedOnType(gasPrice, GasPriceTypes.ECONOMY) + .mul(toBN(gasLimit)) + .add(opFee) + ), + [GasPriceTypes.REGULAR]: numberToHex( + getGasBasedOnType(gasPrice, GasPriceTypes.REGULAR) + .mul(toBN(gasLimit)) + .add(opFee) + ), + [GasPriceTypes.FAST]: numberToHex( + getGasBasedOnType(gasPrice, GasPriceTypes.FAST) + .mul(toBN(gasLimit)) + .add(opFee) + ), + [GasPriceTypes.FASTEST]: numberToHex( + getGasBasedOnType(gasPrice, GasPriceTypes.FASTEST) + .mul(toBN(gasLimit)) + .add(opFee) + ), + }; + } else { + return { + [GasPriceTypes.ECONOMY]: numberToHex( + this.getFeeMarketGasInfo( + baseFeePerGas!, + formattedFeeHistory!, + GasPriceTypes.ECONOMY + ) + .maxFeePerGas.mul(toBN(gasLimit)) + .add(opFee) + ), + [GasPriceTypes.REGULAR]: numberToHex( + this.getFeeMarketGasInfo( + baseFeePerGas!, + formattedFeeHistory!, + GasPriceTypes.REGULAR + ) + .maxFeePerGas.mul(toBN(gasLimit)) + .add(opFee) + ), + [GasPriceTypes.FAST]: numberToHex( + this.getFeeMarketGasInfo( + baseFeePerGas!, + formattedFeeHistory!, + GasPriceTypes.FAST + ) + .maxFeePerGas.mul(toBN(gasLimit)) + .add(opFee) + ), + [GasPriceTypes.FASTEST]: numberToHex( + this.getFeeMarketGasInfo( + baseFeePerGas!, + formattedFeeHistory!, + GasPriceTypes.FASTEST + ) + .maxFeePerGas.mul(toBN(gasLimit)) + .add(opFee) + ), + }; + } + } +} + +export default Transaction; diff --git a/packages/extension-vite/src/providers/ethereum/libs/transaction/lists/4bytes.ts b/packages/extension-vite/src/providers/ethereum/libs/transaction/lists/4bytes.ts new file mode 100644 index 000000000..3629c518b --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/transaction/lists/4bytes.ts @@ -0,0 +1,7 @@ +const sigs: Record = { + "0xa9059cbb": ["transfer(address,uint256)"], + "0x23b872dd": ["transferFrom(address,address,uint256)"], + "0x095ea7b3": ["approve(address,uint256)"], +}; + +export default sigs; diff --git a/packages/extension-vite/src/providers/ethereum/libs/transaction/lists/tokenSigs.ts b/packages/extension-vite/src/providers/ethereum/libs/transaction/lists/tokenSigs.ts new file mode 100644 index 000000000..4bb9f5067 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/transaction/lists/tokenSigs.ts @@ -0,0 +1,5 @@ +export default { + transfer: "0xa9059cbb", + transferFrom: "0x23b872dd", + approve: "0x095ea7b3", +}; diff --git a/packages/extension-vite/src/providers/ethereum/libs/transaction/op-data.ts b/packages/extension-vite/src/providers/ethereum/libs/transaction/op-data.ts new file mode 100644 index 000000000..32cd8a3dd --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/transaction/op-data.ts @@ -0,0 +1,133 @@ +const OPTIMISM_PRICE_ORACLE = "0x420000000000000000000000000000000000000F"; +const OPTIMISM_PRICE_ORACLE_ABI = [ + { + inputs: [], + name: "DECIMALS", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "baseFee", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "baseFeeScalar", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "blobBaseFee", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "blobBaseFeeScalar", + outputs: [{ internalType: "uint32", name: "", type: "uint32" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "decimals", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "pure", + type: "function", + }, + { + inputs: [], + name: "gasPrice", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [{ internalType: "bytes", name: "_data", type: "bytes" }], + name: "getL1Fee", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [ + { internalType: "uint256", name: "_unsignedTxSize", type: "uint256" }, + ], + name: "getL1FeeUpperBound", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [{ internalType: "bytes", name: "_data", type: "bytes" }], + name: "getL1GasUsed", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "isEcotone", + outputs: [{ internalType: "bool", name: "", type: "bool" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "isFjord", + outputs: [{ internalType: "bool", name: "", type: "bool" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "l1BaseFee", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "overhead", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "scalar", + outputs: [{ internalType: "uint256", name: "", type: "uint256" }], + stateMutability: "view", + type: "function", + }, + { + inputs: [], + name: "setEcotone", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "setFjord", + outputs: [], + stateMutability: "nonpayable", + type: "function", + }, + { + inputs: [], + name: "version", + outputs: [{ internalType: "string", name: "", type: "string" }], + stateMutability: "view", + type: "function", + }, +]; + +export { OPTIMISM_PRICE_ORACLE, OPTIMISM_PRICE_ORACLE_ABI }; diff --git a/packages/extension-vite/src/providers/ethereum/libs/transaction/types.ts b/packages/extension-vite/src/providers/ethereum/libs/transaction/types.ts new file mode 100644 index 000000000..4cf00b52d --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/transaction/types.ts @@ -0,0 +1,94 @@ +import { GasPriceTypes } from "@/providers/common/types"; +import { BNType as BN } from "@/providers/common/types"; + +export interface AccessList { + address: `0x${string}`; + storageKeys: `0x${string}`[]; +} + +interface FormattedBlockFees { + number: number | string; + baseFeePerGas: BN; + gasUsedRatio: number; + priorityFeePerGas: BN[]; +} + +export interface FormattedFeeHistory { + blocks: FormattedBlockFees[]; + highestBaseFee: BN; + pendingBlock: FormattedBlockFees; +} + +export interface EthereumTransaction { + from: `0x${string}`; + data?: `0x${string}`; + gasLimit?: `0x${string}`; + gas?: `0x${string}`; + maxPriorityFeePerGas?: `0x${string}`; + maxFeePerGas?: `0x${string}`; + gasPrice?: `0x${string}`; + nonce?: `0x${string}`; + to?: `0x${string}` | undefined; + value?: `0x${string}`; + v?: `0x${string}`; + r?: `0x${string}`; + s?: `0x${string}`; + chainId: `0x${string}`; + accessList?: AccessList[]; + type?: `0x${string}`; +} + +export interface FinalizedLegacyEthereumTransaction + extends EthereumTransaction { + data: `0x${string}`; + gasLimit: `0x${string}`; + gasPrice: `0x${string}`; + nonce: `0x${string}`; + to: `0x${string}` | undefined; + value: `0x${string}`; +} +export interface FinalizedFeeMarketEthereumTransaction + extends Omit { + data: `0x${string}`; + gasLimit: `0x${string}`; + maxPriorityFeePerGas: `0x${string}`; + maxFeePerGas: `0x${string}`; + nonce: `0x${string}`; + to: `0x${string}` | undefined; + value: `0x${string}`; + type: "0x02"; +} +export interface DecodedTx { + toAddress?: string; + isContractCreation: boolean; + currentPriceUSD: number; + tokenValue: string; + tokenDecimals: number; + tokenSymbol: string; + tokenName: string; + tokenImage: string; + tokenTo: string | null; + dataHex: string; + decodedHex?: string[]; + decoded: boolean; +} + +export interface TransactionOptions { + gasPriceType: GasPriceTypes; + totalGasPrice?: BN; +} +export interface DataDecodeResponse { + decoded: boolean; + values: string[]; + function?: string; + tokenValue?: string; + tokenTo?: string; + isToken: boolean; +} + +export interface GasCosts { + [GasPriceTypes.ECONOMY]: string; + [GasPriceTypes.REGULAR]: string; + [GasPriceTypes.FAST]: string; + [GasPriceTypes.FASTEST]: string; +} diff --git a/packages/extension-vite/src/providers/ethereum/libs/tx-broadcaster.ts b/packages/extension-vite/src/providers/ethereum/libs/tx-broadcaster.ts new file mode 100644 index 000000000..d9fdc8a9e --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/libs/tx-broadcaster.ts @@ -0,0 +1,28 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { v4 } from "uuid"; + +const broadcastTx = (hexTx: string, network: NetworkNames): Promise => { + if (network === NetworkNames.Ethereum) { + const burl = "https://broadcast.mewapi.io/eth?product=enkrypt"; + return fetch(burl, { + method: "POST", + headers: { + "Content-Type": "application/json", + }, + body: JSON.stringify({ + jsonrpc: "2.0", + method: "eth_sendRawTransaction", + params: [hexTx], + id: v4(), + }), + }) + .then((response) => response.json()) + .then((jRes) => { + if (jRes.error) return Promise.reject(jRes.error); + else return jRes.result as string; + }); + } + return Promise.reject("Not valid network"); +}; + +export default broadcastTx; diff --git a/packages/extension-vite/src/providers/ethereum/methods/enkrypt_getPublicKey.ts b/packages/extension-vite/src/providers/ethereum/methods/enkrypt_getPublicKey.ts new file mode 100644 index 000000000..49e989047 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/enkrypt_getPublicKey.ts @@ -0,0 +1,32 @@ +import { MiddlewareFunction, SignerType } from "@enkryptcom/types"; +import type EthereumProvider from ".."; +import { ProviderRPCRequest } from "@/types/provider"; +import { getCustomError } from "@/libs/error"; +import openOnboard from "@/libs/utils/open-onboard"; +import { throttle } from "lodash"; + +const throttledOpenOnboard = throttle(() => openOnboard(), 10000); + +const method: MiddlewareFunction = async function ( + this: EthereumProvider, + payload: ProviderRPCRequest, + res, + next +): Promise { + if (payload.method !== "enkrypt_getPublicKey") return next(); + else { + const whitelistDomains = ["localhost", "giveaway.enkrypt.com"]; + if (!whitelistDomains.includes(payload.options?.domain || "".toLowerCase())) + return res(getCustomError("Cannot call this method from this domain")); + const isInitialized = await this.KeyRing.isInitialized(); + if (!isInitialized) { + throttledOpenOnboard(); + return res(getCustomError("Enkrypt not initialized")); + } else { + this.KeyRing.getAccounts([SignerType.secp256k1]).then((accounts) => { + res(null, accounts[0].publicKey); + }); + } + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/eth_accounts.ts b/packages/extension-vite/src/providers/ethereum/methods/eth_accounts.ts new file mode 100644 index 000000000..a20cc7959 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/eth_accounts.ts @@ -0,0 +1,43 @@ +import { MiddlewareFunction } from "@enkryptcom/types"; +import type EthereumProvider from ".."; +import { ProviderRPCRequest } from "@/types/provider"; +import AccountState from "../libs/accounts-state"; +import { getCustomError } from "@/libs/error"; +import openOnboard from "@/libs/utils/open-onboard"; +import { throttle } from "lodash"; + +const throttledOpenOnboard = throttle(() => openOnboard(), 10000); +const method: MiddlewareFunction = async function ( + this: EthereumProvider, + payload: ProviderRPCRequest, + res, + next +): Promise { + if (payload.method !== "eth_accounts" && payload.method !== "eth_coinbase") + return next(); + else { + const isInitialized = await this.KeyRing.isInitialized(); + if (payload.options && payload.options.domain) { + if (!isInitialized) { + res(null, payload.method === "eth_coinbase" ? "" : []); + return throttledOpenOnboard(); + } + const accountsState = new AccountState(); + accountsState + .getApprovedAddresses(payload.options.domain) + .then((accounts) => { + if (accounts.length) { + res( + null, + payload.method === "eth_coinbase" ? accounts[0] : accounts + ); + } else { + res(null, payload.method === "eth_coinbase" ? "" : []); + } + }); + } else { + res(getCustomError("No domain set!")); + } + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/eth_decrypt.ts b/packages/extension-vite/src/providers/ethereum/methods/eth_decrypt.ts new file mode 100644 index 000000000..07a250f48 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/eth_decrypt.ts @@ -0,0 +1,35 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import EthereumProvider from ".."; +import { WindowPromise } from "@/libs/window-promise"; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + if (payload.method !== "eth_decrypt") return next(); + else { + if (!payload.params || payload.params.length < 2) { + return res(getCustomError("eth_decrypt: invalid params")); + } + const message = payload.params[0]; + this.KeyRing.getAccount(payload.params[1].toLowerCase()).then((account) => { + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.ethDecrypt.path), + JSON.stringify({ + ...payload, + params: [message, account, this.network.name], + }), + true + ) + .then(({ error, result }) => { + if (error) return res(error); + res(null, JSON.parse(result as string)); + }); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/eth_getEncryptionPublicKey.ts b/packages/extension-vite/src/providers/ethereum/methods/eth_getEncryptionPublicKey.ts new file mode 100644 index 000000000..a642f9b0c --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/eth_getEncryptionPublicKey.ts @@ -0,0 +1,34 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import EthereumProvider from ".."; +import { WindowPromise } from "@/libs/window-promise"; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + if (payload.method !== "eth_getEncryptionPublicKey") return next(); + else { + if (!payload.params || payload.params.length < 1) { + return res(getCustomError("eth_getEncryptionPublicKey: invalid params")); + } + this.KeyRing.getAccount(payload.params[0].toLowerCase()).then((account) => { + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.ethGetEncryptionKey.path), + JSON.stringify({ + ...payload, + params: [account, this.network.name], + }), + true + ) + .then(({ error, result }) => { + if (error) return res(error); + res(null, JSON.parse(result as string)); + }); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/eth_requestAccounts.ts b/packages/extension-vite/src/providers/ethereum/methods/eth_requestAccounts.ts new file mode 100644 index 000000000..2436c660a --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/eth_requestAccounts.ts @@ -0,0 +1,99 @@ +import { CallbackFunction, MiddlewareFunction } from "@enkryptcom/types"; +import type EthereumProvider from ".."; +import { ProviderRPCRequest } from "@/types/provider"; +import { WindowPromise } from "@/libs/window-promise"; +import AccountState from "../libs/accounts-state"; +import { getCustomError } from "@/libs/error"; +import openOnboard from "@/libs/utils/open-onboard"; +let isAccountAccessPending = false; +import { throttle } from "lodash"; + +const throttledOpenOnboard = throttle(() => openOnboard(), 10000); +const existingErrors: Record = {}; +const pendingPromises: { + payload: ProviderRPCRequest; + res: CallbackFunction; +}[] = []; +const method: MiddlewareFunction = async function ( + this: EthereumProvider, + payload: ProviderRPCRequest, + res, + next +): Promise { + if (payload.method !== "eth_requestAccounts") return next(); + else { + if (isAccountAccessPending) { + pendingPromises.push({ + payload, + res, + }); + return; + } + isAccountAccessPending = true; + const isInitialized = await this.KeyRing.isInitialized(); + + const handleRemainingPromises = () => { + isAccountAccessPending = false; + if (pendingPromises.length) { + const promi = pendingPromises.pop(); + if (promi) handleAccountAccess(promi.payload, promi.res); + } + }; + const handleAccountAccess = ( + _payload: ProviderRPCRequest, + _res: CallbackFunction + ) => { + if (_payload.options && _payload.options.domain) { + isAccountAccessPending = true; + if (!isInitialized) { + _res(getCustomError("Enkrypt not initialized")); + throttledOpenOnboard(); + return handleRemainingPromises(); + } + const accountsState = new AccountState(); + if ( + existingErrors[_payload.options.domain] && + existingErrors[_payload.options.domain].time > + new Date().getTime() - 2000 + ) { + _res(existingErrors[_payload.options.domain].error as any); + return handleRemainingPromises(); + } + accountsState + .getApprovedAddresses(_payload.options.domain) + .then((accounts) => { + if (accounts.length) { + _res(null, accounts); + handleRemainingPromises(); + } else { + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.ethConnectDApp.path), + JSON.stringify({ + ..._payload, + params: [this.network.name], + }) + ) + .then(({ error, result }) => { + if (error) { + existingErrors[_payload.options!.domain] = { + time: new Date().getTime(), + error, + }; + return _res(error as any); + } + const accounts = JSON.parse(result || "[]"); + _res(null, accounts); + }) + .finally(handleRemainingPromises); + } + }); + } else { + _res(getCustomError("No domain set!")); + } + }; + handleAccountAccess(payload, res); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/eth_sendRawTransaction.ts b/packages/extension-vite/src/providers/ethereum/methods/eth_sendRawTransaction.ts new file mode 100644 index 000000000..433b0bfbc --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/eth_sendRawTransaction.ts @@ -0,0 +1,25 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import EthereumProvider from ".."; +import broadcastTx from "../libs/tx-broadcaster"; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + if (payload.method !== "eth_sendRawTransaction") return next(); + else { + if (!payload.params || payload.params.length < 1) { + return res( + getCustomError("eth_sendTransaction: invalid request not enough params") + ); + } + broadcastTx(payload.params[0], this.network.name) + .then((hash) => { + res(null, hash); + }) + .catch(() => next()); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/eth_sendTransaction.ts b/packages/extension-vite/src/providers/ethereum/methods/eth_sendTransaction.ts new file mode 100644 index 000000000..d6158e545 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/eth_sendTransaction.ts @@ -0,0 +1,41 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import EthereumProvider from ".."; +import { EthereumTransaction } from "../libs/transaction/types"; +import { WindowPromise } from "@/libs/window-promise"; +import { numberToHex } from "web3-utils"; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + if (payload.method !== "eth_sendTransaction") return next(); + else { + if (!payload.params || payload.params.length < 1) { + return res( + getCustomError("eth_sendTransaction: invalid request not enough params") + ); + } + const tx = payload.params[0] as EthereumTransaction; + if (!tx.chainId) + tx.chainId = numberToHex(this.network.chainID) as `0x${string}`; + this.KeyRing.getAccount(tx.from.toLowerCase()).then((account) => { + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.ethSendTransaction.path), + JSON.stringify({ + ...payload, + params: [tx, account, this.network.name], + }), + true + ) + .then(({ error, result }) => { + if (error) return res(error); + res(null, JSON.parse(result as string)); + }); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/eth_sign.ts b/packages/extension-vite/src/providers/ethereum/methods/eth_sign.ts new file mode 100644 index 000000000..3b5817ce7 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/eth_sign.ts @@ -0,0 +1,35 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import EthereumProvider from ".."; +import { WindowPromise } from "@/libs/window-promise"; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + if (payload.method !== "eth_sign") return next(); + else { + if (!payload.params || payload.params.length < 2) { + return res(getCustomError("eth_sign: invalid params")); + } + const msg = payload.params[1]; + this.KeyRing.getAccount(payload.params[0].toLowerCase()).then((account) => { + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.ethSign.path), + JSON.stringify({ + ...payload, + params: [msg, account, this.network.name], + }), + true + ) + .then(({ error, result }) => { + if (error) return res(error); + res(null, JSON.parse(result as string)); + }); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/eth_signTransaction.ts b/packages/extension-vite/src/providers/ethereum/methods/eth_signTransaction.ts new file mode 100644 index 000000000..cf638d46b --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/eth_signTransaction.ts @@ -0,0 +1,13 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import EthereumProvider from ".."; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + if (payload.method !== "eth_signTransaction") return next(); + else return res(getCustomError("Not implemented")); +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/eth_signTypedData.ts b/packages/extension-vite/src/providers/ethereum/methods/eth_signTypedData.ts new file mode 100644 index 000000000..73afcfcc9 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/eth_signTypedData.ts @@ -0,0 +1,61 @@ +import { getCustomError } from "@/libs/error"; +import { WindowPromise } from "@/libs/window-promise"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import { toBN } from "web3-utils"; +import EthereumProvider from ".."; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + const supportedMethods: Record = { + eth_signTypedData: "V1", + eth_signTypedData_v1: "V1", + eth_signTypedData_v3: "V3", + eth_signTypedData_v4: "V4", + }; + if (!Object.keys(supportedMethods).includes(payload.method)) return next(); + else { + if (!payload.params || payload.params.length < 2) { + return res(getCustomError("eth_signTypedData: invalid params")); + } + const version = supportedMethods[payload.method as string]; + const typedData = version === "V1" ? payload.params[0] : payload.params[1]; + const address = version === "V1" ? payload.params[1] : payload.params[0]; + const typedDataJSON = version !== "V1" ? JSON.parse(typedData) : typedData; + + if ( + typedDataJSON.domain && + typedDataJSON.domain.chainId && + !toBN(typedDataJSON.domain.chainId).eq(toBN(this.network.chainID)) + ) + return res( + getCustomError( + `eth_signTypedData: Provided chainId ${ + typedDataJSON.domain.chainId + } must match the active chainId ${toBN( + this.network.chainID + ).toString()}`, + -32603 + ) + ); + this.KeyRing.getAccount(address.toLowerCase()).then((account) => { + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.ethSignTypedData.path), + JSON.stringify({ + ...payload, + params: [typedDataJSON, account, version, this.network.name], + }), + true + ) + .then(({ error, result }) => { + if (error) return res(error); + res(null, JSON.parse(result as string)); + }); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/index.ts b/packages/extension-vite/src/providers/ethereum/methods/index.ts new file mode 100644 index 000000000..d24ab7f8c --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/index.ts @@ -0,0 +1,34 @@ +import ethSendTransaction from "./eth_sendTransaction"; +import ethSign from "./eth_sign"; +import personalSign from "./personal_sign"; +import ethAccounts from "./eth_accounts"; +import ethSignTransaction from "./eth_signTransaction"; +import ethSignTypedData from "./eth_signTypedData"; +import ethgetEncryptionKey from "./eth_getEncryptionPublicKey"; +import ethDecrypt from "./eth_decrypt"; +import personalEcRecover from "./personal_ecRecover"; +import addEthereumChain from "./wallet_addEthereumChain"; +import switchEthereumChain from "./wallet_switchEthereumChain"; +import watchAsset from "./wallet_watchAsset"; +import walletRequestPermissions from "./wallet_requestPermissions"; +import ethSendRawTransaction from "./eth_sendRawTransaction"; +import enkryptGetPublickKey from "./enkrypt_getPublicKey"; +import ethRequestAccounts from "./eth_requestAccounts"; +export default [ + ethSendTransaction, + ethSign, + personalSign, + ethAccounts, + ethSignTransaction, + ethSignTypedData, + ethgetEncryptionKey, + ethDecrypt, + personalEcRecover, + watchAsset, + switchEthereumChain, + addEthereumChain, + walletRequestPermissions, + ethSendRawTransaction, + enkryptGetPublickKey, + ethRequestAccounts, +]; diff --git a/packages/extension-vite/src/providers/ethereum/methods/personal_ecRecover.ts b/packages/extension-vite/src/providers/ethereum/methods/personal_ecRecover.ts new file mode 100644 index 000000000..f582869f9 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/personal_ecRecover.ts @@ -0,0 +1,32 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import { bufferToHex, hexToBuffer } from "@enkryptcom/utils"; +import { + ecrecover, + fromRpcSig, + hashPersonalMessage, + publicToAddress, +} from "@ethereumjs/util"; +import EthereumProvider from ".."; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + if (payload.method !== "personal_ecRecover") return next(); + else { + if (!payload.params || payload.params.length < 2) { + return res(getCustomError("eth_sign: invalid params")); + } + try { + const hashedMessage = hashPersonalMessage(hexToBuffer(payload.params[0])); + const { v, r, s } = fromRpcSig(payload.params[1]); + const recoveredPubKey = ecrecover(hashedMessage, v, r, s); + return res(null, bufferToHex(publicToAddress(recoveredPubKey))); + } catch (e) { + return res(getCustomError((e as Error).message)); + } + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/personal_sign.ts b/packages/extension-vite/src/providers/ethereum/methods/personal_sign.ts new file mode 100644 index 000000000..43c5158cf --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/personal_sign.ts @@ -0,0 +1,45 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import EthereumProvider from ".."; +import { WindowPromise } from "@/libs/window-promise"; +import { isHexStrict, utf8ToHex } from "web3-utils"; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + if (payload.method !== "personal_sign") return next(); + else { + if (!payload.params || payload.params.length < 2) { + return res(getCustomError("personal_sign: invalid params")); + } + let msg = payload.params[0]; + let address = payload.params[1].toLowerCase(); + if ( + this.network.isAddress(msg.toLowerCase()) && + !this.network.isAddress(address.toLowerCase()) + ) { + msg = payload.params[1]; + address = payload.params[0].toLowerCase(); + } + if (!isHexStrict(msg)) msg = utf8ToHex(msg); + this.KeyRing.getAccount(address).then((account) => { + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.ethSign.path), + JSON.stringify({ + ...payload, + params: [msg, account, this.network.name], + }), + true + ) + .then(({ error, result }) => { + if (error) return res(error); + res(null, JSON.parse(result as string)); + }); + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/wallet_addEthereumChain.ts b/packages/extension-vite/src/providers/ethereum/methods/wallet_addEthereumChain.ts new file mode 100644 index 000000000..310b49659 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/wallet_addEthereumChain.ts @@ -0,0 +1,170 @@ +import { getCustomError } from "@/libs/error"; +import { + CallbackFunction, + MiddlewareFunction, + NetworkNames, +} from "@enkryptcom/types"; +import EthereumProvider from ".."; +import { sendToBackgroundFromBackground } from "@/libs/messenger/extension"; +import { InternalMethods } from "@/types/messenger"; +import { ProviderName, ProviderRPCRequest } from "@/types/provider"; +import { MessageMethod } from "../types"; +import DomainState from "@/libs/domain-state"; +import Web3 from "web3-eth"; +import { CustomEvmNetworkOptions } from "../types/custom-evm-network"; +import { numberToHex } from "web3-utils"; +import { WindowPromise } from "@/libs/window-promise"; +import { getAllNetworks } from "@/libs/utils/networks"; +import CustomNetworksState from "@/libs/custom-networks-state"; +import NetworksState from "@/libs/networks-state"; +import { EvmNetwork } from "../types/evm-network"; +import { trackNetworkSelected } from "@/libs/metrics"; +import { NetworkChangeEvents } from "@/libs/metrics/types"; + +interface AddEthereumChainPayload { + chainId: string; + chainName: string; + nativeCurrency: { + name: string; + symbol: string; + decimals: number; + }; + rpcUrls: string[]; + blockExplorerUrls?: string[]; +} + +const method: MiddlewareFunction = async function ( + this: EthereumProvider, + payload: ProviderRPCRequest, + res, + next +): Promise { + if (payload.method !== "wallet_addEthereumChain") return next(); + else { + if ( + !payload.params || + payload.params.length < 1 || + !payload.params[0].chainId + ) { + return res(getCustomError("wallet_addEthereumChain: invalid params")); + } + const setExisting = await setExistingCustomNetwork( + payload.params![0].chainId, + payload.options?.tabId, + res + ); + if (!setExisting) { + const params: AddEthereumChainPayload = payload.params![0]; + const chainID = await networkChainId(params); + if (chainID == null) { + return res( + getCustomError("Cannot add custom network, RPC not responding") + ); + } + const customNetworkOptions: CustomEvmNetworkOptions = { + name: params.nativeCurrency.symbol, + node: params.rpcUrls[0], + name_long: params.chainName, + chainID, + currencyName: params.nativeCurrency.symbol, + currencyNameLong: params.nativeCurrency.name, + }; + if (params.blockExplorerUrls?.length) { + let blockExplorer = params.blockExplorerUrls[0]; + if (!blockExplorer.endsWith("/")) { + blockExplorer = `${blockExplorer}/`; + } + customNetworkOptions.blockExplorerTX = `${blockExplorer}tx/[[txHash]]`; + customNetworkOptions.blockExplorerAddr = `${blockExplorer}address/[[address]]`; + } + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.walletAddEthereumChain.path), + JSON.stringify({ + ...payload, + params: [JSON.stringify(customNetworkOptions)], + }) + ) + .then(({ error }) => { + if (error) return res(error); + setExistingCustomNetwork(chainID, payload.options?.tabId, res); + }); + } + } +}; +export default method; + +const networkChainId = async ( + payload: AddEthereumChainPayload +): Promise<`0x${string}` | null> => { + const rpc = payload.rpcUrls[0]; + if (!rpc) return null; + const web3 = new Web3(rpc); + let chainId: number | undefined; + try { + chainId = await web3.getChainId(); + } catch { + return null; + } + if (!chainId) return null; + return numberToHex(chainId) as `0x${string}`; +}; + +const setExistingCustomNetwork = async ( + chainId: `0x${string}`, + tabId: number | undefined, + res: CallbackFunction +): Promise => { + const customNetworksState = new CustomNetworksState(); + const customNetworks = await customNetworksState.getAllCustomEVMNetworks(); + + let existingNetwork: CustomEvmNetworkOptions | undefined = + customNetworks.find((net) => net.chainID === chainId); + if (!existingNetwork) { + const allNetworks = await getAllNetworks(); + existingNetwork = allNetworks.find( + (net) => (net as EvmNetwork).chainID === chainId + ) as EvmNetwork | undefined; + } + if (existingNetwork) { + trackNetworkSelected(NetworkChangeEvents.NetworkChangeAPI, { + provider: ProviderName.ethereum, + network: existingNetwork.name as NetworkNames, + }); + return sendToBackgroundFromBackground({ + message: JSON.stringify({ + method: InternalMethods.changeNetwork, + params: [existingNetwork.name], + }), + provider: ProviderName.ethereum, + tabId, + }).then(() => { + const domainState = new DomainState(); + const networksState = new NetworksState(); + networksState.setNetworkStatus(existingNetwork!.name, true); + return domainState.getSelectedNetWork().then(async (curNetwork) => { + if (curNetwork !== existingNetwork!.name) { + await sendToBackgroundFromBackground({ + message: JSON.stringify({ + method: InternalMethods.sendToTab, + params: [ + { + method: MessageMethod.changeChainId, + params: [existingNetwork!.chainID], + }, + ], + }), + provider: ProviderName.ethereum, + tabId, + }); + await domainState + .setSelectedNetwork(existingNetwork!.name) + .then(() => res(null, null)); + } + return true; + }); + }); + } + return false; +}; diff --git a/packages/extension-vite/src/providers/ethereum/methods/wallet_requestPermissions.ts b/packages/extension-vite/src/providers/ethereum/methods/wallet_requestPermissions.ts new file mode 100644 index 000000000..b9b0fa24a --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/wallet_requestPermissions.ts @@ -0,0 +1,23 @@ +import { getCustomError } from "@/libs/error"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import EthereumProvider from ".."; +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload, + res, + next +): void { + if (payload.method !== "wallet_requestPermissions") return next(); + else { + if (!payload.params || payload.params.length < 1) { + return res(getCustomError("wallet_requestPermissions: invalid params")); + } + const fauxPermissions = Object.keys(payload.params[0]).map((reqName) => { + return { + parentCapability: reqName, + }; + }); + res(null, fauxPermissions); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/wallet_switchEthereumChain.ts b/packages/extension-vite/src/providers/ethereum/methods/wallet_switchEthereumChain.ts new file mode 100644 index 000000000..0a9df0e8a --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/wallet_switchEthereumChain.ts @@ -0,0 +1,80 @@ +import { getCustomError } from "@/libs/error"; +import { sendToBackgroundFromBackground } from "@/libs/messenger/extension"; +import { InternalMethods } from "@/types/messenger"; +import { ProviderRPCRequest } from "@/types/provider"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import EthereumProvider from ".."; +import { MessageMethod } from "../types"; +import DomainState from "@/libs/domain-state"; +import { getAllNetworks } from "@/libs/utils/networks"; +import { EvmNetwork } from "../types/evm-network"; +import NetworksState from "@/libs/networks-state"; +import { trackNetworkSelected } from "@/libs/metrics"; +import { NetworkChangeEvents } from "@/libs/metrics/types"; + +const method: MiddlewareFunction = function ( + this: EthereumProvider, + payload: ProviderRPCRequest, + res, + next +): void { + if (payload.method !== "wallet_switchEthereumChain") return next(); + else { + if ( + !payload.params || + payload.params.length < 1 || + !payload.params[0].chainId + ) { + return res(getCustomError("wallet_switchEthereumChain: invalid params")); + } + + getAllNetworks().then((allNetworks) => { + const validNetwork: EvmNetwork | undefined = allNetworks.find( + (net) => (net as EvmNetwork).chainID === payload.params![0].chainId + ) as EvmNetwork | undefined; + if (validNetwork) { + trackNetworkSelected(NetworkChangeEvents.NetworkChangeAPI, { + provider: validNetwork.provider, + network: validNetwork.name, + }); + sendToBackgroundFromBackground({ + message: JSON.stringify({ + method: InternalMethods.changeNetwork, + params: [validNetwork.name], + }), + provider: validNetwork.provider, + tabId: payload.options?.tabId, + }).then(() => { + sendToBackgroundFromBackground({ + message: JSON.stringify({ + method: InternalMethods.sendToTab, + params: [ + { + method: MessageMethod.changeChainId, + params: [validNetwork.chainID], + }, + ], + }), + provider: validNetwork.provider, + tabId: payload.options?.tabId, + }); + const domainState = new DomainState(); + const networksState = new NetworksState(); + networksState.setNetworkStatus(validNetwork.name, true); + domainState + .setSelectedNetwork(validNetwork.name) + .then(() => res(null, null)); + }); + } else { + return res( + getCustomError( + `wallet_switchEthereumChain: provided network ${ + payload.params![0].chainId + } not supported` + ) + ); + } + }); + } +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/methods/wallet_watchAsset.ts b/packages/extension-vite/src/providers/ethereum/methods/wallet_watchAsset.ts new file mode 100644 index 000000000..74577f588 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/methods/wallet_watchAsset.ts @@ -0,0 +1,125 @@ +import DomainState from "@/libs/domain-state"; +import { getCustomError } from "@/libs/error"; +import MarketData from "@/libs/market-data"; +import { CustomErc20Token, TokenType } from "@/libs/tokens-state/types"; +import { WindowPromise } from "@/libs/window-promise"; +import { MiddlewareFunction } from "@enkryptcom/types"; +import { isValidAddress } from "@ethereumjs/util"; +import EthereumProvider from ".."; +import API from "../libs/api"; +import { Erc20Token } from "../types/erc20-token"; + +interface WatchAssetParams { + type?: string; + options?: { + address?: `0x${string}`; + symbol?: string; + decimals?: number; + image?: string; + }; +} + +enum AddAssetType { + ERC20 = "ERC20", +} + +type Params = WatchAssetParams | undefined; + +const method: MiddlewareFunction = async function ( + this: EthereumProvider, + payload, + res, + next +): Promise { + if (payload.method !== "wallet_watchAsset") return next(); + + const params = payload.params as Params; + + if (!params || !params.options || !params.options.address) { + return res(getCustomError("wallet_watchAsset: invalid params")); + } + + if (params.type !== AddAssetType.ERC20) { + return res(getCustomError(`Token type ${params.type} is not supported`)); + } + + const contractAddress = params.options.address; + + if (!isValidAddress(contractAddress)) { + return res(getCustomError("wallet_watchAsset: invalid contract address")); + } + + const domainState = new DomainState(); + const selectedAddress = await domainState.getSelectedAddress(); + + const api = await this.network.api(); + + const tokenInfo = await (api as API).getTokenInfo(contractAddress); + + let balance = ""; + + const marketData = new MarketData(); + + const marketInfo = await marketData.getMarketInfoByContracts( + [contractAddress.toLowerCase()], + this.network.coingeckoPlatform! ?? "" + ); + + const market = marketInfo[contractAddress.toLowerCase()]; + + let icon = this.network.icon; + let coingeckoID: string | undefined; + + if (market) { + icon = market.image; + coingeckoID = market.id; + } + + const customToken: CustomErc20Token = { + type: TokenType.ERC20, + name: tokenInfo.name, + symbol: tokenInfo.symbol, + decimals: tokenInfo.decimals, + icon, + coingeckoID, + address: contractAddress, + }; + + if (tokenInfo.name !== "Unknown" && selectedAddress) { + const erc20Token = new Erc20Token({ + name: tokenInfo.name, + symbol: tokenInfo.symbol, + decimals: tokenInfo.decimals, + icon, + coingeckoID, + contract: contractAddress, + }); + + try { + const latestBalance = await erc20Token.getLatestUserBalance( + api as API, + selectedAddress + ); + + balance = latestBalance; + } catch { + // Balance defaults to "" + } + } + + const windowPromise = new WindowPromise(); + windowPromise + .getResponse( + this.getUIPath(this.UIRoutes.walletWatchAsset.path), + JSON.stringify({ + ...payload, + params: [customToken, balance, selectedAddress, this.network.name], + }), + true + ) + .then(({ error, result }) => { + if (error) return res(error); + res(null, JSON.parse(result as string)); + }); +}; +export default method; diff --git a/packages/extension-vite/src/providers/ethereum/networks/aa.ts b/packages/extension-vite/src/providers/ethereum/networks/aa.ts new file mode 100644 index 000000000..b40a38806 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/aa.ts @@ -0,0 +1,23 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const artheraOptions: EvmNetworkOptions = { + name: NetworkNames.Arthera, + name_long: "Arthera", + homePage: "https://arthera.net/", + blockExplorerTX: "https://explorer.arthera.net/tx/[[txHash]]", + blockExplorerAddr: "https://explorer.arthera.net/address/[[address]]", + chainID: "0x2802", + isTestNetwork: false, + currencyName: "AA", + currencyNameLong: "Arthera", + node: "wss://ws.arthera.net", + icon: require("./icons/aa.svg"), + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const arthera = new EvmNetwork(artheraOptions); + +export default arthera; diff --git a/packages/extension-vite/src/providers/ethereum/networks/aat.ts b/packages/extension-vite/src/providers/ethereum/networks/aat.ts new file mode 100644 index 000000000..5ddff0941 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/aat.ts @@ -0,0 +1,23 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const artheraTestOptions: EvmNetworkOptions = { + name: NetworkNames.ArtheraTest, + name_long: "Arthera Test", + homePage: "https://arthera.net/", + blockExplorerTX: "https://explorer-test.arthera.net/tx/[[txHash]]", + blockExplorerAddr: "https://explorer-test.arthera.net/address/[[address]]", + chainID: "0x2803", + isTestNetwork: true, + currencyName: "AA", + currencyNameLong: "Arthera", + node: "wss://ws-test.arthera.net", + icon: require("./icons/aa.svg"), + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const artheraTest = new EvmNetwork(artheraTestOptions); + +export default artheraTest; diff --git a/packages/extension-vite/src/providers/ethereum/networks/arb-nova.ts b/packages/extension-vite/src/providers/ethereum/networks/arb-nova.ts new file mode 100644 index 000000000..070244f91 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/arb-nova.ts @@ -0,0 +1,27 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import shNFTHandler from "@/libs/nft-handlers/simplehash"; + +const arbNovaOptions: EvmNetworkOptions = { + name: NetworkNames.ArbitrumNova, + name_long: "Arbitrum Nova", + homePage: "https://arbitrum.io/", + blockExplorerTX: "https://nova.arbiscan.io/tx/[[txHash]]", + blockExplorerAddr: "https://nova.arbiscan.io/address/[[address]]", + chainID: "0xa4ba", + isTestNetwork: false, + currencyName: "ETH", + currencyNameLong: "Ethereum", + node: "https://nova.arbitrum.io/rpc", + icon: require("./icons/arbitrum-nova.png"), + coingeckoID: "ethereum", + coingeckoPlatform: CoingeckoPlatform.ArbitrumNova, + assetsInfoHandler, + NFTHandler: shNFTHandler, + activityHandler: () => Promise.resolve([]), +}; + +const arb = new EvmNetwork(arbNovaOptions); + +export default arb; diff --git a/packages/extension-vite/src/providers/ethereum/networks/arb.ts b/packages/extension-vite/src/providers/ethereum/networks/arb.ts new file mode 100644 index 000000000..05e0b4378 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/arb.ts @@ -0,0 +1,29 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import shNFTHandler from "@/libs/nft-handlers/simplehash"; + +const arbOptions: EvmNetworkOptions = { + name: NetworkNames.Arbitrum, + name_long: "Arbitrum", + homePage: "https://arbitrum.io/", + blockExplorerTX: "https://arbiscan.io/tx/[[txHash]]", + blockExplorerAddr: "https://arbiscan.io/address/[[address]]", + chainID: "0xa4b1", + isTestNetwork: false, + currencyName: "ETH", + currencyNameLong: "Ethereum", + node: "wss://nodes.mewapi.io/ws/arb", + icon: require("./icons/arbitrum.svg"), + coingeckoID: "ethereum", + coingeckoPlatform: CoingeckoPlatform.Arbitrum, + assetsInfoHandler, + NFTHandler: shNFTHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const arb = new EvmNetwork(arbOptions); + +export default arb; diff --git a/packages/extension-vite/src/providers/ethereum/networks/astr.ts b/packages/extension-vite/src/providers/ethereum/networks/astr.ts new file mode 100644 index 000000000..2bf014460 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/astr.ts @@ -0,0 +1,27 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; + +const astrOptions: EvmNetworkOptions = { + name: NetworkNames.AstarEVM, + name_long: "Astar EVM", + homePage: "https://astar.network/", + blockExplorerTX: "https://blockscout.com/astar/tx/[[txHash]]", + blockExplorerAddr: "https://blockscout.com/astar/address/[[address]]", + chainID: "0x250", + isTestNetwork: false, + currencyName: "ASTR", + currencyNameLong: "Astar", + node: "wss://astar.public.blastapi.io/", + icon: require("./icons/astr.png"), + coingeckoID: "astar", + coingeckoPlatform: CoingeckoPlatform.Astar, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const astr = new EvmNetwork(astrOptions); + +export default astr; diff --git a/packages/extension-vite/src/providers/ethereum/networks/aurora.ts b/packages/extension-vite/src/providers/ethereum/networks/aurora.ts new file mode 100644 index 000000000..351ad63e0 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/aurora.ts @@ -0,0 +1,27 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import { EtherscanActivity } from "../libs/activity-handlers"; + +const auroraOptions: EvmNetworkOptions = { + name: NetworkNames.Aurora, + name_long: "Aurora", + homePage: "https://aurora.dev/", + blockExplorerTX: "https://explorer.aurora.dev/tx/[[txHash]]", + blockExplorerAddr: "https://explorer.aurora.dev/address/[[address]]", + chainID: "0x4e454152", + isTestNetwork: false, + currencyName: "ETH", + currencyNameLong: "Ethereum", + node: "https://mainnet.aurora.dev", + icon: require("./icons/aurora.png"), + coingeckoID: "ethereum", + coingeckoPlatform: CoingeckoPlatform.Aurora, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const aurora = new EvmNetwork(auroraOptions); + +export default aurora; diff --git a/packages/extension-vite/src/providers/ethereum/networks/avax.ts b/packages/extension-vite/src/providers/ethereum/networks/avax.ts new file mode 100644 index 000000000..f4ddbf790 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/avax.ts @@ -0,0 +1,29 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import shNFTHandler from "@/libs/nft-handlers/simplehash"; + +const avaxOptions: EvmNetworkOptions = { + name: NetworkNames.Avalanche, + name_long: "Avalanche C-Chain", + homePage: "https://www.avax.com/", + blockExplorerTX: "https://snowtrace.io/tx/[[txHash]]", + blockExplorerAddr: "https://snowtrace.io/address/[[address]]", + chainID: "0xa86a", + isTestNetwork: false, + currencyName: "AVAX", + currencyNameLong: "Avalanche", + node: "https://api.avax.network/ext/bc/C/rpc", + icon: require("./icons/avax.svg"), + coingeckoID: "avalanche-2", + coingeckoPlatform: CoingeckoPlatform.Avalanche, + assetsInfoHandler, + NFTHandler: shNFTHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const avax = new EvmNetwork(avaxOptions); + +export default avax; diff --git a/packages/extension-vite/src/providers/ethereum/networks/base.ts b/packages/extension-vite/src/providers/ethereum/networks/base.ts new file mode 100644 index 000000000..c310b544e --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/base.ts @@ -0,0 +1,27 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import shNFTHandler from "@/libs/nft-handlers/simplehash"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const baseOptions: EvmNetworkOptions = { + name: NetworkNames.Base, + name_long: "Base", + homePage: "https://base.org", + blockExplorerTX: "https://basescan.org/tx/[[txHash]]", + blockExplorerAddr: "https://basescan.org/address/[[address]]", + chainID: "0x2105", + isTestNetwork: false, + currencyName: "ETH", + currencyNameLong: "Ethereum", + node: "wss://nodes.mewapi.io/ws/base", + icon: require("./icons/base.svg"), + coingeckoID: "ethereum", + coingeckoPlatform: CoingeckoPlatform.Base, + NFTHandler: shNFTHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const base = new EvmNetwork(baseOptions); + +export default base; diff --git a/packages/extension-vite/src/providers/ethereum/networks/blast.ts b/packages/extension-vite/src/providers/ethereum/networks/blast.ts new file mode 100644 index 000000000..57f972478 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/blast.ts @@ -0,0 +1,29 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import shNFTHandler from "@/libs/nft-handlers/simplehash"; + +const ethOptions: EvmNetworkOptions = { + name: NetworkNames.Blast, + name_long: "Blast", + homePage: "https://blast.io/en", + blockExplorerTX: "https://blastscan.io/tx/[[txHash]]", + blockExplorerAddr: "https://blastscan.io/address/[[address]]", + chainID: "0x13e31", + isTestNetwork: false, + currencyName: "ETH", + currencyNameLong: "Ethereum", + node: "wss://blast-rpc.publicnode.com", + icon: require("./icons/blast.webp"), + coingeckoID: "ethereum", + coingeckoPlatform: CoingeckoPlatform.Blast, + assetsInfoHandler, + NFTHandler: shNFTHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const eth = new EvmNetwork(ethOptions); + +export default eth; diff --git a/packages/extension-vite/src/providers/ethereum/networks/bsc.ts b/packages/extension-vite/src/providers/ethereum/networks/bsc.ts new file mode 100644 index 000000000..e9dd2e4f2 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/bsc.ts @@ -0,0 +1,30 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import shNFTHandler from "@/libs/nft-handlers/simplehash"; + +const bscOptions: EvmNetworkOptions = { + name: NetworkNames.Binance, + name_long: "BNB Smart Chain", + homePage: "https://www.binance.org/en/smartChain", + blockExplorerTX: "https://bscscan.com/tx/[[txHash]]", + blockExplorerAddr: "https://bscscan.com/address/[[address]]", + chainID: "0x38", + isTestNetwork: false, + currencyName: "BNB", + currencyNameLong: "Binance", + node: "wss://nodes.mewapi.io/ws/bsc", + icon: require("./icons/bsc.svg"), + coingeckoID: "binancecoin", + coingeckoPlatform: CoingeckoPlatform.Binance, + basePath: "m/44'/714'", + NFTHandler: shNFTHandler, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const bsc = new EvmNetwork(bscOptions); + +export default bsc; diff --git a/packages/extension-vite/src/providers/ethereum/networks/cagaAnkara.ts b/packages/extension-vite/src/providers/ethereum/networks/cagaAnkara.ts new file mode 100644 index 000000000..2f4bb6d85 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/cagaAnkara.ts @@ -0,0 +1,24 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const cagaTestOptions: EvmNetworkOptions = { + name: NetworkNames.CagaAnkara, + name_long: "CAGA Ankara Testnet", + homePage: "https://www.cagacrypto.com/", + blockExplorerTX: + "https://explorer.ankara-cagacrypto.com/transaction/[[txHash]]", + blockExplorerAddr: + "https://explorer.ankara-cagacrypto.com/address/[[address]]", + chainID: "0x11c4a", + isTestNetwork: true, + currencyName: "CAGA", + currencyNameLong: "CAGA", + node: "wss://wss.ankara-cagacrypto.com", + icon: require("./icons/caga.svg"), + activityHandler: wrapActivityHandler(() => Promise.resolve([])), +}; + +const cagaAnkara = new EvmNetwork(cagaTestOptions); + +export default cagaAnkara; diff --git a/packages/extension-vite/src/providers/ethereum/networks/canto.ts b/packages/extension-vite/src/providers/ethereum/networks/canto.ts new file mode 100644 index 000000000..194ac12e7 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/canto.ts @@ -0,0 +1,27 @@ +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; + +const cantoOptions: EvmNetworkOptions = { + name: NetworkNames.Canto, + name_long: "Canto", + homePage: "https://canto.io/", + blockExplorerTX: "https://evm.explorer.canto.io/tx/[[txHash]]", + blockExplorerAddr: "https://evm.explorer.canto.io/address/[[address]]", + chainID: "0x1e14", + isTestNetwork: false, + currencyName: "CANTO", + currencyNameLong: "Canto", + node: "https://canto.gravitychain.io/", + icon: require("./icons/canto.svg"), + coingeckoID: "canto", + coingeckoPlatform: CoingeckoPlatform.Canto, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const canto = new EvmNetwork(cantoOptions); + +export default canto; diff --git a/packages/extension-vite/src/providers/ethereum/networks/celo.ts b/packages/extension-vite/src/providers/ethereum/networks/celo.ts new file mode 100644 index 000000000..0985531c9 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/celo.ts @@ -0,0 +1,27 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; + +const celoOptions: EvmNetworkOptions = { + name: NetworkNames.Celo, + name_long: "Celo", + homePage: "https://celo.org/", + blockExplorerTX: "https://explorer.celo.org/mainnet/tx/[[txHash]]", + blockExplorerAddr: "https://explorer.celo.org/mainnet/address/[[address]]", + chainID: "0xa4ec", + isTestNetwork: false, + currencyName: "CELO", + currencyNameLong: "Celo", + node: "https://forno.celo.org", + icon: require("./icons/celo.svg"), + coingeckoID: "celo", + coingeckoPlatform: CoingeckoPlatform.Celo, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const celo = new EvmNetwork(celoOptions); + +export default celo; diff --git a/packages/extension-vite/src/providers/ethereum/networks/coti-devnet.ts b/packages/extension-vite/src/providers/ethereum/networks/coti-devnet.ts new file mode 100644 index 000000000..6422f39a1 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/coti-devnet.ts @@ -0,0 +1,22 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const cotiDevnetOptions: EvmNetworkOptions = { + name: NetworkNames.CotiDevnet, + name_long: "COTI Devnet", + homePage: "https://coti.io/", + blockExplorerTX: "https://explorer-devnet.coti.io/tx/[[txHash]]", + blockExplorerAddr: "https://explorer-devnet.coti.io/address/[[address]]", + chainID: "0xc767a8", + isTestNetwork: true, + currencyName: "COTI2", + currencyNameLong: "COTI2 Devnet", + node: "https://devnet.coti.io/rpc", + icon: require("./icons/coti.png"), + activityHandler: wrapActivityHandler(() => Promise.resolve([])), +}; + +const cotiDevnet = new EvmNetwork(cotiDevnetOptions); + +export default cotiDevnet; diff --git a/packages/extension-vite/src/providers/ethereum/networks/degen.ts b/packages/extension-vite/src/providers/ethereum/networks/degen.ts new file mode 100644 index 000000000..ed7dfded7 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/degen.ts @@ -0,0 +1,27 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const ethOptions: EvmNetworkOptions = { + name: NetworkNames.Degen, + name_long: "Degen", + homePage: "https://www.degen.tips/", + blockExplorerTX: "https://explorer.degen.tips/tx/[[txHash]]", + blockExplorerAddr: "https://explorer.degen.tips/address/[[address]]", + chainID: "0x27bc86aa", + isTestNetwork: false, + currencyName: "DEGEN", + currencyNameLong: "DEGEN", + node: "https://rpc.degen.tips", + icon: require("./icons/degen.png"), + coingeckoID: "degen-base", + coingeckoPlatform: CoingeckoPlatform.Degen, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const eth = new EvmNetwork(ethOptions); + +export default eth; diff --git a/packages/extension-vite/src/providers/ethereum/networks/dmt.ts b/packages/extension-vite/src/providers/ethereum/networks/dmt.ts new file mode 100644 index 000000000..dd8b78f0b --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/dmt.ts @@ -0,0 +1,27 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const ethOptions: EvmNetworkOptions = { + name: NetworkNames.Sanko, + name_long: "Sanko", + homePage: "https://sanko.xyz", + blockExplorerTX: "https://explorer.sanko.xyz/tx/[[txHash]]", + blockExplorerAddr: "https://explorer.sanko.xyz/address/[[address]]", + chainID: "0x7cc", + isTestNetwork: false, + currencyName: "DMT", + currencyNameLong: "DMT", + node: "https://mainnet.sanko.xyz", + icon: require("./icons/sanko.png"), + coingeckoID: "dream-machine-token", + coingeckoPlatform: CoingeckoPlatform.Sanko, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const eth = new EvmNetwork(ethOptions); + +export default eth; diff --git a/packages/extension-vite/src/providers/ethereum/networks/edg.ts b/packages/extension-vite/src/providers/ethereum/networks/edg.ts new file mode 100644 index 000000000..822c11465 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/edg.ts @@ -0,0 +1,25 @@ +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; + +const edgOptions: EvmNetworkOptions = { + name: NetworkNames.EdgeEVM, + name_long: "Edgeware EVM", + homePage: "https://www.edgeware.io/", + blockExplorerTX: "https://edgscan.live/tx/[[txHash]]", + blockExplorerAddr: "https://edgscan.live/address/[[address]]", + chainID: "0x7e5", + isTestNetwork: false, + currencyName: "EDG", + currencyNameLong: "Edgeware", + node: "wss://edgeware.jelliedowl.net", + icon: require("./icons/edgeware.svg"), + coingeckoID: "edgeware", + coingeckoPlatform: CoingeckoPlatform.Edgeware, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const edg = new EvmNetwork(edgOptions); + +export default edg; diff --git a/packages/extension-vite/src/providers/ethereum/networks/etc.ts b/packages/extension-vite/src/providers/ethereum/networks/etc.ts new file mode 100644 index 000000000..a592ce51a --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/etc.ts @@ -0,0 +1,26 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { RivetActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const etcOptions: EvmNetworkOptions = { + name: NetworkNames.EthereumClassic, + name_long: "Ethereum Classic", + homePage: "https://ethereumclassic.org/", + blockExplorerTX: "https://blockscout.com/etc/mainnet/tx/[[txHash]]", + blockExplorerAddr: "https://blockscout.com/etc/mainnet/address/[[address]]", + chainID: "0x3d", + isTestNetwork: false, + currencyName: "ETC", + currencyNameLong: "Ethereum Classic", + node: "wss://nodes.mewapi.io/ws/etc", + icon: require("./icons/etc.svg"), + basePath: "m/44'/61'/0'/0", + coingeckoID: "ethereum-classic", + coingeckoPlatform: CoingeckoPlatform.EthereumClassic, + activityHandler: wrapActivityHandler(RivetActivity), +}; + +const etc = new EvmNetwork(etcOptions); + +export default etc; diff --git a/packages/extension-vite/src/providers/ethereum/networks/eth.ts b/packages/extension-vite/src/providers/ethereum/networks/eth.ts new file mode 100644 index 000000000..5d591f744 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/eth.ts @@ -0,0 +1,29 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import mewNFTHandler from "@/libs/nft-handlers/mew"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const ethOptions: EvmNetworkOptions = { + name: NetworkNames.Ethereum, + name_long: "Ethereum", + homePage: "https://ethereum.org", + blockExplorerTX: "https://www.ethvm.com/tx/[[txHash]]", + blockExplorerAddr: "https://www.ethvm.com/address/[[address]]", + chainID: "0x1", + isTestNetwork: false, + currencyName: "ETH", + currencyNameLong: "Ethereum", + node: "wss://nodes.mewapi.io/ws/eth", + icon: require("./icons/eth.svg"), + coingeckoID: "ethereum", + coingeckoPlatform: CoingeckoPlatform.Ethereum, + NFTHandler: mewNFTHandler, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const eth = new EvmNetwork(ethOptions); + +export default eth; diff --git a/packages/extension-vite/src/providers/ethereum/networks/form-testnet.ts b/packages/extension-vite/src/providers/ethereum/networks/form-testnet.ts new file mode 100644 index 000000000..aba41e7dc --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/form-testnet.ts @@ -0,0 +1,24 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import { EtherscanActivity } from "../libs/activity-handlers"; + +const formTestnetOptions: EvmNetworkOptions = { + name: NetworkNames.FormTestnet, + name_long: "Form Testnet", + homePage: "https://docs.form.network", + blockExplorerTX: "https://testnet-explorer.form.network/tx/[[txHash]]", + blockExplorerAddr: + "https://testnet-explorer.form.network/address/[[address]]", + chainID: "0x20726", + isTestNetwork: true, + currencyName: "ETH", + currencyNameLong: "Ethereum", + node: "wss://testnet-rpc.form.network/ws", + icon: require("./icons/form.png"), + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const formTestnet = new EvmNetwork(formTestnetOptions); + +export default formTestnet; diff --git a/packages/extension-vite/src/providers/ethereum/networks/forma.ts b/packages/extension-vite/src/providers/ethereum/networks/forma.ts new file mode 100644 index 000000000..4a4cc6da2 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/forma.ts @@ -0,0 +1,25 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import shNFTHandler from "@/libs/nft-handlers/simplehash"; + +const formaOptions: EvmNetworkOptions = { + name: NetworkNames.Forma, + name_long: "Forma", + homePage: "https://forma.art/", + blockExplorerTX: "https://explorer.forma.art/tx/[[txHash]]", + blockExplorerAddr: "https://explorer.forma.art/address/[[address]]", + chainID: "0xf043a", + isTestNetwork: false, + currencyName: "TIA", + currencyNameLong: "TIA", + node: "https://rpc.forma.art", + icon: require("./icons/forma.png"), + activityHandler: wrapActivityHandler(EtherscanActivity), + NFTHandler: shNFTHandler, +}; + +const forma = new EvmNetwork(formaOptions); + +export default forma; diff --git a/packages/extension-vite/src/providers/ethereum/networks/ftm.ts b/packages/extension-vite/src/providers/ethereum/networks/ftm.ts new file mode 100644 index 000000000..247a76c00 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/ftm.ts @@ -0,0 +1,27 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; + +const ftmOptions: EvmNetworkOptions = { + name: NetworkNames.Fantom, + name_long: "Fantom", + homePage: "https://fantom.foundation/", + blockExplorerTX: "https://ftmscan.com/tx/[[txHash]]", + blockExplorerAddr: "https://ftmscan.com/address/[[address]]", + chainID: "0xfa", + isTestNetwork: false, + currencyName: "FTM", + currencyNameLong: "Fantom", + node: "https://rpc.ankr.com/fantom/", + icon: require("./icons/ftm.svg"), + coingeckoID: "fantom", + coingeckoPlatform: CoingeckoPlatform.Fantom, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const ftm = new EvmNetwork(ftmOptions); + +export default ftm; diff --git a/packages/extension-vite/src/providers/ethereum/networks/glmr.ts b/packages/extension-vite/src/providers/ethereum/networks/glmr.ts new file mode 100644 index 000000000..bd749671f --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/glmr.ts @@ -0,0 +1,27 @@ +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; + +const moonbeamOptions: EvmNetworkOptions = { + name: NetworkNames.Moonbeam, + name_long: "Moonbeam", + homePage: "https://moonbeam.network", + blockExplorerTX: "https://moonscan.io/tx/[[txHash]]", + blockExplorerAddr: "https://moonscan.io/address/[[address]]", + chainID: "0x504", + isTestNetwork: false, + currencyName: "GLMR", + currencyNameLong: "Moonbeam", + node: "wss://wss.api.moonbeam.network/", + icon: require("./icons/moonbeam.svg"), + coingeckoID: "moonbeam", + coingeckoPlatform: CoingeckoPlatform.Moonbeam, + assetsInfoHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const moonbeam = new EvmNetwork(moonbeamOptions); + +export default moonbeam; diff --git a/packages/extension-vite/src/providers/ethereum/networks/gno.ts b/packages/extension-vite/src/providers/ethereum/networks/gno.ts new file mode 100644 index 000000000..2664d407e --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/gno.ts @@ -0,0 +1,29 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import shNFTHandler from "@/libs/nft-handlers/simplehash"; + +const gnoOptions: EvmNetworkOptions = { + name: NetworkNames.Gnosis, + name_long: "Gnosis", + homePage: "https://www.gnosis.io/", + blockExplorerTX: "https://gnosisscan.io/tx/[[txHash]]", + blockExplorerAddr: "https://gnosisscan.io/address/[[address]]", + chainID: "0x64", + isTestNetwork: false, + currencyName: "DAI", + currencyNameLong: "DAI", + node: "https://rpc.gnosischain.com", + icon: require("./icons/gno.svg"), + coingeckoID: "dai", + coingeckoPlatform: CoingeckoPlatform.Gnosis, + assetsInfoHandler, + NFTHandler: shNFTHandler, + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const gno = new EvmNetwork(gnoOptions); + +export default gno; diff --git a/packages/extension-vite/src/providers/ethereum/networks/godwoken.ts b/packages/extension-vite/src/providers/ethereum/networks/godwoken.ts new file mode 100644 index 000000000..734ab19ed --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/godwoken.ts @@ -0,0 +1,29 @@ +import { CoingeckoPlatform, NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import assetsInfoHandler from "@/providers/ethereum/libs/assets-handlers/assetinfo-mew"; +import shNFTHandler from "@/libs/nft-handlers/simplehash"; +import { GodwokenActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const ethOptions: EvmNetworkOptions = { + name: NetworkNames.Godwoken, + name_long: "Godwoken", + homePage: "https://www.godwoken.com/", + blockExplorerTX: "https://v1.gwscan.com/tx/[[txHash]]", + blockExplorerAddr: "https://v1.gwscan.com/address/[[address]]", + chainID: "0x116ea", + isTestNetwork: false, + currencyName: "CKB", + currencyNameLong: "CKByte", + coingeckoID: "nervos-network", + node: "https://v1.mainnet.godwoken.io/rpc", + icon: require("./icons/godwoken.png"), + coingeckoPlatform: CoingeckoPlatform.Godwoken, + NFTHandler: shNFTHandler, + assetsInfoHandler, + activityHandler: wrapActivityHandler(GodwokenActivity), +}; + +const eth = new EvmNetwork(ethOptions); + +export default eth; diff --git a/packages/extension-vite/src/providers/ethereum/networks/ham.ts b/packages/extension-vite/src/providers/ethereum/networks/ham.ts new file mode 100644 index 000000000..846e29335 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/ham.ts @@ -0,0 +1,24 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; +import { EtherscanActivity } from "../libs/activity-handlers"; +import wrapActivityHandler from "@/libs/activity-state/wrap-activity-handler"; + +const ethOptions: EvmNetworkOptions = { + name: NetworkNames.Ham, + name_long: "Ham Chain", + homePage: "https://ham.fun/", + blockExplorerTX: "https://explorer.ham.fun/tx/[[txHash]]", + blockExplorerAddr: "https://explorer.ham.fun/address/[[address]]", + chainID: "0x13f8", + isTestNetwork: false, + currencyName: "ETH", + currencyNameLong: "Ethereum", + node: "https://rpc.ham.fun", + icon: require("./icons/ham.png"), + coingeckoID: "ethereum", + activityHandler: wrapActivityHandler(EtherscanActivity), +}; + +const eth = new EvmNetwork(ethOptions); + +export default eth; diff --git a/packages/extension-vite/src/providers/ethereum/networks/holesky.ts b/packages/extension-vite/src/providers/ethereum/networks/holesky.ts new file mode 100644 index 000000000..bb06f1f3f --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/holesky.ts @@ -0,0 +1,21 @@ +import { NetworkNames } from "@enkryptcom/types"; +import { EvmNetwork, EvmNetworkOptions } from "../types/evm-network"; + +const holeskyOptions: EvmNetworkOptions = { + name: NetworkNames.Holesky, + name_long: "Holesky", + homePage: "https://holesky.dev/", + blockExplorerTX: "https://holesky.etherscan.io/tx/[[txHash]]", + blockExplorerAddr: "https://holesky.etherscan.io/address/[[address]]", + chainID: "0x4268", + isTestNetwork: true, + currencyName: "HOL", + currencyNameLong: "Holesky", + node: "wss://nodes.mewapi.io/ws/holesky", + icon: require("./icons/eth.svg"), + activityHandler: () => Promise.resolve([]), +}; + +const holesky = new EvmNetwork(holeskyOptions); + +export default holesky; diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/aa.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/aa.svg new file mode 100644 index 000000000..7b3782553 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/aa.svg @@ -0,0 +1,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/apex.png b/packages/extension-vite/src/providers/ethereum/networks/icons/apex.png new file mode 100644 index 0000000000000000000000000000000000000000..63a38a07deec9eaefb150ba2b05030e815998587 GIT binary patch literal 16062 zcmV;vK0(2WP)(=40bf=M&B0m+oG*p?+*(u~^N^ZjwpIrqL}Ni!pxlJ6$Q)@bH^ z@4crz=Q-!TL-_x2Tz1*pts|H;kB6z%IX@eoS^(Ed9<#w9Vzh!8U;>z!n2A7uN2ddN zyhjfK-41ROyx#=ITJq@m*PEuUeZSYXy9d4B6WG=9XP3R*3Rl%u1v-d5+6b-{%q{Q; z!UYJ-pp38qFaRbH7yTOmdAT?P#E{Pd0D8b!>pZOm{A$OO*Is#ZUFUnd;@vxb?-by& zrQIz910(a;^H~J97zN)70K|@onb;E(0AdhW7U%)Mgw4bdiw|Bv6(Ugv4xbkV^67Qb z_W{JTmOyKX=!PqAp3?qa?#1pHzc&hS>DS(FtMXMB`2rRb&`bak16&|>B*JDwaP8sW z%wPu)m;et}!3D1XAhGWFJF#{T4)-8a8mI#4=Yz5lh4%wM4}n&Ak30Y6wx$*D(^ge9 zKF|vArKOwa@d%#08Vg}1+^z*RzPfXxMupESs zM6o=X@J(SPe1O3YL|}kD*a4kj*UrA`iYr%qaKpq0QUNYq`gR*LErCaySs)UDWnKfw z69dWXOiA2FbnEdw!NLiIf(ezuFnkcM8D1wgPhg=S{2lJAo+KzE32q3AAoFgoVl4Z{ ziVt3h_&_PZrC*PNkAef>#m#$U+%$Q$Zh6fInTdc+NR$W?$$QP+i`QTeI8!vhvV&rG zpL`}&8dWsMAQlBQMG5!a1o&m&T+y`rz1`Wd#|J_IF8=!4Z3J2Z<~G?@Qp66kCSr%+ zrHf;=15pq@lDMv)FBXEj`EZQ@7zylI-)FA{uaI~R$TdwF6mw7(7^3KB1C}i7qE2R9 z@y)v%m%pbQJ<51r72x9k`*tfcUr(OeY@+}};YD%QtSyPVDQZuE98w`O0mPmYH=U$* zOe|@ig^i4xFBWc*@&#TYC>M&nQR1nRduBlDikhnG%a^{77~y?UfQy%QwD`KoUqykJ zh7D&EsBTgUz=#3PSfdCW(He`=xI}3QTNb+vj`z9bEl*CV%pMDfB)3Qok@?~LYyqxbT8C|{6C1EU85;IfziZ1<(&v@@Mg*bD=S z0I}-;{1?A*&wC3L-!lcc_^OVUg0Ee|9$!s1on*^dTxE3o2|yb)j*emV(Xu&-#R?D| z6MMl0;-=ZLq>tISp2Ts@2#Nrp{yRe&QNRRQFOp^#@;S*6^feOizyw_L^?MsHf3M{7 zo+!Y@SH0aj?0FS2x5oI*AwGME`wX$sfkI|w=@$fmAw$b1z>YM8P=@i#f-}Px-rRa> zeFivFZlE~VCjjhI9H95m^fbK}X(}jd(%+>aBvs%fm1J~Q`KpCWA9(k%fqS=aaN)P# zyl9vUFA}&FFfgsQLf(NnXanLtN#aciuRCHA!x4yXA(#>s7LyW~1qsH<9{}X!UqmoS zNlc#X+7#x-U<7-Pf3savQD4jlgWm`dDb9(UL>B#=AV#*8rdQ&i`-IklE4=u%Q*&S4 zZGsqMysHZEM_0dj6%m#LXkh}g3!AK-Q|K2GVX$p1F*y7jM9oI{!8Tfc^57s9@w0*v z0hesAWpP2UDrkWj;@`!niCC3Dd~+~b5h~jpBiv&MsbqwJtR;een|qi`_-s%V$|$MK z1q`$h`0B4M>Rtwd<3r=N7H)u|_@4z-mK7wQPe7qp zmtcC3pzRciQ^wUhb;TicXqFL?zW_ia*dTT9RvePhqxA;T|9h}z2r+!IX{m%N1)8Qm zG2{^7nE|@9s&?p-cOy&K?Fw+gwH>WosJ_E_%!3LX#88$k!{)IOFG=iV_>j6AC{zL_ z1&b;i6L?JdA|MRcg(pOi2aCB27u4aDMfD&6zx?G89=Jb`ZCiZ?YzABs6(xex?0YCB zjG_|7Ou}jj9E($?Sn1r=AQFWSxMh=r+wHhuw<^E|*LJkRPg(`$)}1Xr2-d+YTQxjM zjlz2pi%8Hk67PUS2>XpWN7oS2h&b7()ge z6TF9c42d36U?M^E#_}O8O2v5;D@@E15EPSX@Rja_% znp(2jcWTXQ#Vodxb@RmJg~AQ#n5J1sLP5Gon)fHDU4+eXL)GezKXx*m`soJL*NwgO zXP+6u{rBY1-Q`C??=mk@MlJY|G@t-T(m&xFe3FtHamC5MW1WHZb1__SCPUcGo?y2q zzy;TKv@)tz0o1CXHVPaWcV=mvTCt)qFRt7a0I4u7JgBmyY+r`+x6h@i9eB?@CeeAP zH(3blfExWcd2;3;`LI@vQz3B_oLI% z?oonWR)7nx?P&F`Y84o*#FCLGfXw2*2q`Wi;mQqKLs>WjjdqccMJ1+(eb;g1iPdFi?8o!nKbNPq+t2BNY1!?fW!m92d_y!x_xu5I{~R= z1Jz3;6syKiw#|>gN^KZsX;t&&j7l+e3AhqwSeMzt7pno zAt{nu0H9vVC&~`Q7Bul5p%R*S06;Rs8CNrkHGnS|2^)Q1P*s%nW# zASRKzBUrUu-oKcg=B_=pwRWQ{3p;L2*}v$9+2$;hZGRxIKUyCcXUDt#+=)CLSSi+u{#2R-Nt*3EKEtDDTRG4fakrm*%Vpku5V*qtNar4a3 zi~<}%*opJ&>5PT-sGt1qaa?b`QNVv+*N^Tkg>;>naFApv8VVEaAiPD`n}kBvbZ}>H zmNulYwx3z{;jUixVEyG2S<8eJ;M^PD_$mtiDo8v^V-}EXgv30@Oo2mJ#}I@Y0Z&q% zEe3_fAWz<-T{lW5&1kBkOU`P-{&Q+3vZM)(m3I$d<=uG$oe1tcBKwFJvSd%-FC+{W z5m3eWDAS@&>3--nKp=8V7cY6R?uJU&P_Y6mzP_W?fnFp~OPXT`ALWvTaq>Gs%tG!& zfXA7bp62aIDVT{V=K5+eKE}f{7c}6+BPV9{8($qpF3=ZMm4d>G72xa}Iy;Eb znlw)!t>~r5-2jVPw$CzkmIf;F53nfk1AdfERErSLa=>1b=uggQ#`KoTLEf9c8^O=- z>chrYMuJiSIQ67@oO<%avW4fK9Ky=G2GG65GZ^FmsT@XdS4?18CLwSj0}#{3k)+o# z8kJrv6FNGne(2yzKw(7+aL$i5UB%3o!SZo)K{3BgTzS+^6|g9Q{+mHOPCdXD?4eE- z@Suho!dVNZ;H1MRCagyv&*SHJ_Zg1>5e_l1??)%$^A}9P^l20D23tK=-Zg;dpBRc9 z1(*UAowS=pA+m;1_7NWy6I!sgvzRhQ!6)wzyHpV#C|dy*-`LRx(4!;`m??Nm*}POc zgUgHIAt7cgrxu)>aQy^f0uv@p^xuOH*>^H7J-r$AwUrBKL&p&Ac{qoSuMH>G1G7lA z&iXpgX(u;u+k(jx!bsb;dR+T2edw0Dg0`}e)O&+c*!~3b_JE^cJQ=X;Qw&5F1`R~o z{8^NTK;AE0`fz!jMP)5;@f{s4$l*o!knfw-?Mg{emwb$0gwUC5NV2g^bBY+FnwAz|J7eM(L}rf06g~4 zARb&X$OAbpYCr*?pimC0Siwo~RHjHI@23Pekdj}v$BGvij$H>D1`jDG6qLsU47jf{ zd@DI|Ob#EX60yaXYMR;3~f{SQa>g3WX6vn3yX~5Y>H%`dvA9*T= zyH@3RAg^UdNgYWxmIP4gjKAy1L5lf9y%M_}Iad=%Ez@ zc>eLB5bosK#Ib=yc@%`{X-66YwGaR?NlyehQoOXY@iHJCGOa#Wa~Xi8rRG@D11$b& zM=JvzX+EEEpP)?Jv-Q`*F?pdiH2+NxS6a#!yaNjWRA31v%>D2rI(z;U%-ypVm5%kD zL%8LEK7Qlvkuf>^V3maEp%_qWv{OGpV$-KOoU*7MM;=-ETmazt$A|FX9RujzDh&b| zj}Ws0vix4Xk{D1XY{pbD@(ckWb5d9$=jN2k3QBqaCS1kLAm^;tia1z5#DgJ3Z}USz zW4(ggpyZL&gEav`7%q8*g&J#|>}c_kQ?TgZhKe^jH|X)Rm3{o=+B^m7Sx6Uz_A!?3 zvoNoaWrEc>0a>0>m+Hy5Yn!K^+|-AS8;5bqDfO5>y)tib*fBNu*ddef*vdhAXvJXg zeiCvRNIHrDtC`2Wh3uTjT4_b)-NpDwfnZo43Vc0)h2za@Tn})@Ew5Y*@2)4+(j+El zfSze^QueeMPB6yL7sWF+g|OIv;72C&mriVTc4D!nd&AJPCd1Ok87))5J>Fa>T%sS`_a8cd)=}a30VtI(#7=rqwYWL z)c=q&v*g^ur4Q7#k2RNZ7jWh+uXQlfYyn1@?i^+jnpl|S?Fw$78)sQUvOq!p)&N16 z(O88q9NU6J_nutwhOXZxLF})Slx317Q-G)pH|JE`+NiKv+u-8D$hSQgop1K#J0_z2}Id^KLyWZVZ$;C zK(ZrKZgCG9>U5u7`?8hwV|sxx72u3pUbz_Lt}oW8G@j~)8gfQ4Mv#dr$ua7CfKxu% zh;t5aLPLchZ|n8~e)>o+|6=`s5-1FhwCgAy+_aXlFy}r0a1wv!lt$WbPV5ip>Mr1( zhjMu4xq+fA$EC*C7@ZT9pU{=%o4 z>A*cI2UaVd=*5H22Y0U^QW!}CmL@1Kb0nhr8p0V18*sw>u}P$-pC7=z59QIdtpFOw zd&r6a53Z|oXj@oIi%zSncrAcq|9oQ`LX!t;QAS;=h5~c(nQm4^sZy!)aRG>~3Jo=mPyP55I`7b?iZ^QA8$29j8xC3Ad4)Cc}SE&gJ`G|Ze*S=`*RV+8-XvIj4}K7@={vG}a_ zO2`)ZGo!f*7o6OLgAb@&D61YDz@uw&=-$Su^}`swWRFr-?uesmaq{VP6AKGlJbv`; zJl^gsL@W^YPif(_QDSp$V0#yk?xzHDXVPF`Rq1z2=PM{5=P4n`=sW-hLrPUfLW z#gkA3n<@;Up@#4m$4tlJvnz9v{evDWU+l-qU-Th2$cZw-6wLV~3oQyaCmqp%GZ!@M zQhz{Kx5s@eb9nmM!Hm@xp>?E2A+eiIKCKRm&X`zOcwzN09=UapySH-SQZjV_q+wP< z1GM`pIjL-+kX;oYvh=>jwdp-}GQ%qJO8`rT#nb^!;)w}xVD=z#;MmCm5Q$aj3odNL zsRuUV{DYg(P*a%@*1a`||9G$)T|2x4L~-*Z^AVKqN$Z0wc|X&P<|_J=)0?sX>|O5< zm_F6vk1uG%NA{?q`&Q_o!&$TY5+EgGYMs+cyRgLkKcp2#QA%%U93z z>BAau*0B?#j!TWMZ3TSi-**Ins3}_dD4F7uNI-ac2|GSw{v5`^~^skYoYyv9uNGo54Sznn=BNdw9!OjpVLyZHJ=dnnl%ZZJHBZ`1*1yG zeGlYt{{y)wWD9=+MD;a!zL5fAX7Hjj>geP%E8{zE{8k>neQwyYfb^8J`Wq#+GF4Yq zOnJYYDQMU0W>k@ZvzWjvv=h4!MS{r_f^_Amrp5&V;J_ZLdod({P*Ln{sCAgpRE-%; zRg!vWGzq3Axm?fyK;VbWg@D`;^Xr?3E85tJjNAZY<7>kbca+RTBtBwDmY(&n3b|Ku6)}z$e z!@3pcNof#p@+p^0sDg3a{`I)>{8>2X@Fr2B2q`q~f#jsIEiNo{%k~l6^k^^t?RA^6 zb$g-mo0lT4a&J-i7E4rsvb&+gzg>vCapg-LV(v1f4TrX!9(2O!4Q?FIbZ zwVQF)F;lSkn8wN{Fv{ra_PFtuUf%G^P*ULz{|bsJ-p^zs?{Q2Y|6~o$K5t@7p$$s^ zX1yngg4tc;U@K|`bfA;w77SF+1JDknS%9O9V0HR%QC4sd0pW6E@%$9wrp=9Xa!_bI z@g-yClq!7rgsF7E9<{jR*&W!jBeY?A#EiqxuhjHxrwCZ_L?1u#%N#8}W(tn}zA zdr^v*nJ}9yRZ`5L5yD~=D*%J%snB4K9RP?qNv|lnWCH@wjVEFvXhDXUh-WrdPrwIc z$8mG(aopT`-2Uti-1bbbbkB&QIk{D0hHwTLY3mM;AKts2f3abJE%?YPM}<&=plUGWg^DUqZ`M<%OMFp~$^Nn#vq zMBubl-~l3cCV!uBmbb_$<(L>-k%5g&Onk9!{JM}B|- zt%ZmrD5hR)Odx{dfAZrsIQN_eOq*aE*;wP}Kgi?x)kBEYR=qz{e9)Ba&VDe0V2a!A^&c*UAtdi&q!4@4Z=+x<9`qXOv`~?lzcb|#5`|d7}spDV-7Iy>bo#9aVqaZII zJ+u1d*y_eCtG6y500k% z9S=R5!&lC4vEtCfPv>y=s($42Hgol_VqOY5gMJ4L06y*HdTKkij>dcDz*u8jm&cty z%VBbz!-bcO*XAzt0x8zAbOTz5B^8puk{~X@Ne)I-1whU70Kotbe2`{|Bxu_?n8h;# z6zE@#E3sQjS+HOV#9ng{lx6&z`$q8n$G73RO?g~=WJ|?GqH~UF!h!=EaL3cVcT-fhG30r<<-Z?D6u_OWNBGpeH2Z#cA zhk43gX?o{1j*~J=u|=O5gJ zGTsO zb`CM0W88mV9%~*Q0Dy?MEL9t4m=uyeQ4MNox)(6IdOE=?2JI6-gQ-gwqz6PTRPieUmegd}o`MrD76JtRk}Ib$v?{(?<`7y%pn`B2~kX2cwZ~r-y=#1kVkhYLj zGJg5XA>4kOJatLi}K3*HXrZMWLOAYg-h-G$Pbeyc#Z)9U7VB=T$Sgg9wFC z-;GxwtpOslL|XjJ5_k;ZqYkhuF2v?*J^vur4|b;Dq!eBvXrLz}fYg}7mg!$Y09f=TW_U7hqkt9wv722@hLfz|8#ao(X#IBx&S!ops&CgI=y zbQT`_RSqkj>_gXfuT;JMN293ayK*9tPCTj}XS7YMnIxBIw6Dpdy?v1Lc^_jvg`gU# zYo!y$M@vdOKvVUE-Zg`lCXa}R zVPg|HvAJ{=0{LXGr9c+48feWR7-@_p&DBKQ0w9t&Uf#w8cELT0%mYl*Trpci zo3^1#DuztqdkX3%6E9xSNGBdKL3iKn@uQ#h;+0p216!9^IW)rpLd0i);N(F9Tq**D zc{21!mO+0gmJ9`wXsR*XX){%*QFz6i0D#tN23i2IaSKqYBq>S}VPxEVM5Gaah(hQf zq`w|(Y2l)dKpy7I^nT%&O7{nCzxDYYShGIQ=N>kN793ESz-Ba8;fgO#$BM`M@X)jU zAQ0_0y9S>-sfqUdQ01lC+yLXz$8uPd65kj%#V;VfIY!TMysHCBAwA{Guc92mSN@?6+>E~l&ixg4wNKQec znkgLpVj}z6G_`gJz=IwHg`q-a9mL?JHlJ82XK=;%Lr@DDvNf4gY&umxrW-3$0YJ}p zlOh$s!y3AX`w_&L>34ds|BglUr0A3#O!H%vhcHGM7P?DYes zoWIgpi5lxg3@zK66G}IxC#=7_?YSLzY+VlL9MOaYb0-$Z%NdV6mBZbSO3gqF+Ty*3 z5#`1;$e!0vCgk%_4xcn1kEO=(M@&$lLXxx(5E#pbyV$T3g~N_fw&7agQcmq%camK= zSfv^l(@A-cQ|k{<(VOi`)X>&3Qm0p9NZ+B}&nx8_c9jp`YqFw~um(~lgVoQ3`$~)0 z=H3zf;E`^8p{Gq71L65uIb9nfve$h*k1{_ZaP4N_CG86<*-DJn- zomo%w4+}Mer=J~6GO*az<-Kj!*u#iePEyLqT7Y5CIIxm%aP?#vfkF1DMb$83Nj9J4 zy_}#8W+HM@gN}4DNcbB~6~hfkKTf8jV-ME<#`C=vRn#tKHdf;=j-7_{=QYvy9}8SS zSOqH%Nx&*a#bd_(FZSa3SMz-C5mV^c11k>;4?mmZyH@v6E^oW4VG9bv(tT0@blOSv zSa{52DkhO)2qwE0IjygZKg71;8-*K)<^C9j^}X6hDTb`DQ|mTV4S?Wc`7|*ih$ItQ zSa()Du%iG#^z#ZBeYkj8$*obxvITOQC z?@4sgc~daz1F8vfc3lLo&W@O-O)Ifi5+-9kKiN8QgMrLcBLvthh|}5^M+=qtR0G@z zpfv;DRAGo11$DXU2IwaHu*r%pG<}n!V_8%<*1|Xeo(wtip_d%>0>|y!faCUUz^yOr zpw%1tv1P{yDCzpKjt$)(iJe<^6!5j5Y{5UBJAK^e4y}KE2>*OjH|z6x7*J*tWHk#7 zlHsOPn+cbk+f3sXi_~*4GhAGp@L%J*fbd!6@EPPNJW?*^^`auo@h`H>(P;@Fu}Wri zROfZXJ zg3z9l*6598j-?hR0Xt!;Nee_Vn2j@LPN~M9w@t%&hc@AgySMVz9V40$#io4_w9SoU zTip2b5}!&SB8M!sD_gOD>!h-uHxSp$h=rSAwMyBJJ4hWk5JPej*9}IIZCorr>aD`N zeP|;Elk2Gl@umbdLKGWX1kym0$keiMy`3&aKoC6S@g(I8nQNG^qO4eDEb}UuIi(uk z{oEhW>h(F?_WTZP-BEzCnjYFkNyP=H(MME1mep#XJwQC8+0hrzYMxlJNFbw@W>NME z!@L6FmRt!zAY`3P=4Uj&lOlln=Ey}d`|S=yJ$jrA@sHesHExCJ>cz#y$GkH*NqduE z5iRGG+z`=jb!4*C^7kbf$L(K_E6-U5Pmn7bzx($cY(Kt0wex za=?UVM3-6_GdSr)9({<60ytN2%4Td)p@U3k^Cp<8jJ+shkmSC?l9?h^u)m{>^rVDrl2NB)4+V2U$u*0x zj9?e$Bs-%-EyWq;N-2P@2f9ay3M$GO-~lT;1XKDT)`T|=ue*X@>oCc$4adL%y`0y2 zjDvv#CcuPjuEZoRe{-N@Ny|Yc79|nTJOJs$6%Y6lqAD>|cl90wDo3eu1Kwz75^`6p zCSC1><^y5x08^%L+@P$`1QVcbeSD2=$1QXlu8Q4YP%i>1ho(Wemx3mnL1h&6PXucv z*Qwl-t|bYVkTgFHxCw<7_cXMkuu`@_xR5_d1 zKkSpAB5;W@j!UM;r3TBDLkJ66+EC6Teuc}nSS?48OVu{U8~FjR-cv!cUBA>iIRUV860GCV&br0jdDRYo(kT7i@hWb{lh^;gTtEi~_ep30Wi>bMz0# zZ-~ygK{7>}@NQe&*79~T=Te`opX?O*3qVB#k-MOgNv=cDYLhTE-Y_qzU=K$A?(`>^ zBf-g99g<8TXb#Eq0UQ8S0qq2YqK>UkSTjo8umYjXhDaqY{2Y})6{d{XmX?i}!1ic) zfcl2~c%LqP?eyP{!XxfVe5}4!4_dILfEt4*%1_uF6or#z0Z?l$HRLlCjWKcfiA*#r zkl&={8`3~9IS!ADa{$mje{LthouZqG>t>7b(z6ytn>1ELjslCyR-9H-!X*suMI{$C#3-cah4w_q3DVMfKXAi zP$`O}oGelJeS+yg3OePp4liDL^VCitc}Nt4@07GZgY-=>iMyxFX6SucJpq%WxcMbF z%nBjO-AlDC#N1zP9>ACHc@rJoL!~Y>+NOnNxWrYKHK#P5YG}0oRy4YL3Rr%}4t(ps zyA#EV0@Ky!^5v{1g1ZFX!8n=JO9=yPo*>MhIK-fr^rF@#@$nPxSV*WIHQtS!`;s^<8g zG$ohyz)s_om$4%^;PLR&c|7t|4*7xD+$f4gNE{S7ruq_Ja~#7dr!OLdQvxgu)f;IE zrg*>bW(OkgZ_rD`ova>M%R{w2M6Ma(%Zv>%m_Ep57$AkE@?7u`X;{Ac%qCV|#8kG; znjON$v;rfdAUyI~FFo>FA0I!bkv{v0W|UHd@P&O8H=yhhRwQW=JDppZ>hth3Io!Fr zpYyqJ-ckzjCM(?^rxXgL?>cClvNrfk7^(|CP$B#>ki{z#bT>SUdgvXoCTJ@T0{v$WJ6rGe`=4dEZYy9GBt*o*u?fdqXk z(G#7TfI)czGNw;;);BozUTF|Y^Eyq{DfEV<`^5>q3L7GSyA|nmGbZFcmQxkJ5Z$Gg zlhtEc07{rb%J#EJLC1|J`RvlNo!?-DK4!!gGv;st+D>wX0JG|~K0NzI4yPT^gyZ*a zz|6+DoW8-4q)|nh93aU>Igu%RL@TG-@S?yrbA^{f`xw@58cscyw7RSL$B&W37y{FN zd)MHibElNIRd%K;tA*@Yyh-%Fnnme7H8c?Xo#|&Y3h?;+x$O&{eR(?*H^-F+pkgad zo*4v!^Z=0M9YO&_5H;?CptrCeb>q$9nz9+K9nZW0+&99w)cF4a5+$2|}K;*6r0Nc3+xIkdTN1pocqHr%_e7oRz(S+AaiAs5hb zSq&kG$_+rVh${Kk?FHQNWG|llbsnsHVRjOWH7xCE+K9pc_McOOGuj#|{+j#xx}fk0 zWg@MQvgu+RhIuI|IfnWV5eM=o9Xlz&2>BINa7)rQB|BU$ln9HmLtauTMT|^ZO)RYe zqF^4OQBuA*E9odQh!K|<&ka&Ip$sFWHunwVdrx%P!=6+c3YN+aO=OePs0|RXrPuS{ z{BUzvv8`PMtU0u_kcIn&J(%87h0mTmWkTOt0)&&tNFY}b4^tA@ko3Z;%v3djFr{V1 z*WIZq^5hX8TMMH0817+d22)s(xkgf4EawIEJxU;f@#L01yptdMgbsm1nHfp!61Hpa zmKuEZuo;-uPz`+=xsu?7z;1y2q1l^rrtxH z$NqcO;EQK8W5xtKh;jprRgdM-zGlF@t(}jR1#1czH-JTBL%?(n;d#civ-JaGD8S?M z=e8gF?7DUk+Qb1`8Nvt=+YVUV58D=g$DU1j-WeFdjjwK{hu+$be>vNFa6k~DG<-!A7aKh|H-2B@fJlff3F*iwkZC}(0DPOL0mVKhQTjLMCuH;vV@3k9+ zpA)VE08ekOqCYvU83*jb*VSx%Z8#h|-&O#WMoRJzO~s_!IsELRi&Ot6^hM{@{~2@t zbd1TQFku-n+Tz{AWm7GT03A^dDgkvFHd)|*21fXz$2w{8UM)C#c8i9UOdPUJhn_%) zV^%{o{_5}%INAY;D%d!vEkKWNv|nxui&M)$t;VOIdj&PN;#OA3s;PFzcCfy z@x#Rn0Bs?*DF)LzrbHi0kDxCCMX6yJGJ7Jdc)bTtZ|=w5Q)-~#Ie2V}$}~>RZdOAz z{_2Ps`1s7pxcN8Rd2`{f9BPgl~JbBhYDG$&;7@n+5%1vvhMA&=fSk)^MfpGN4 zCgbd*r&RPb@^s_|7>_=g=er;23w>2a9Sf6S6faUC2YL_!f|CS6-cMla{O*5FUq04- z$K_I)u*`wl^vA^HllrZ;7zr$h4{9zt8z3Mopl5n#U^sxoNH;*2qS<9BJ3W3*BaWZb zNRM{(;b*_@!Ir*}#7D!h0TIAHG%&}saO@E{1VlG)sLzOMQ?1#vYVf(XCd}P);_m** z7YA_5eSOH~eNbOHgP`6^8DA2DMOj@)!J2H6;t^sHBsjNpynBzU02wck_hhtDa_GgFPbY^*uPrCrl;{G3L7eAZ{mTl)zOc5a!WcdBqh|8l}o5V zME)e-ePB3O2BE%&aL!RpIQfvuzv5oU`pzNTy{bPvqd4aD0qi;00Z{ddx{X8>j^^2h z#nQ5@KtuG3?_N9ghVkZ5vaD8Bz$Ly49Vyr%#l}gLW;F|m4^GuEsicv05m5wiiIu{X z8?h0;%rUE>8echT20r_V7F@Y{Gdg>Q*@B>)y%S3*Ck23op(p_je^~Ibdi>FX%D?Pd zM{dC5XAk!A6EEhiV}exmqv-^}%EO@5^)nEk!bTc#RY4MJhM20nyS&s~O0J-N{@hMT z3Ze1{g%T$1t_e3J%Zm|+P|K4vI(t25kWhpnZ;z}dv{90PT%q!Apji#o`1YxL;44Q> zr;!)NrT=l@!1a!v!xaio4px+c01E;#O zFu6ELTq|timdyoaVuZscVf;^igvTS1#v2RwZp3wGeHfqlM3bV|;B(458H89plmAni z|5ZMIv0(s9e%Qr#J=Pb_9RRUkF>SnswxH=;6HJ4E2fTrR2u}dvR2+ziI;*RzuP$d^ zWhp@W!3Xzv!X?a67uEf%b+e#0Cbcw}^~Gi^DUvviXyymVyn-ni&^O}omDO+HruE(B zOmo!n*-y6M+H*dPg&%F$Ss}+90=zTx59^*$;iG1@ZZF`Uf6|5T-qww-?S*i6Jx-@K z93HsI=2pFS+{asXgV)uWUc|_~CQg$?-KZvG6dd zMEgRV5{R!$Q{?1`(}z!a1^ue^6!loi8-2Zhgz=LN-T30euj5x;1LaOPGiEhZ<9~f> zI{xkSKg7(&s?sV@{EncQWu7YxBRA-A#}mEy+yB_YFTXi#UQbitDUU-2`wbb0n_&wO_vZ25X3i6%py1SNf$(}5``s&iCzj#b2 zk$volxyuQH2Q+Qbk|~L25TT}}R5ry3%eC??d(wrZ535k(R<+%fL@ei>{4lP5VGAx@ z`6f@)8;mtr*AZGNqS%WZzyoXh@Yl=V!2>V$XWr-aIg!HEMXVFZT{R3(5;mpA7RhS! z4e_(&(`-TCM<9R2wcnn3^+eV=;cquwbHss{f%#6$3N$St!_e{3R7Hm%S&4g72ucC?P~k7!NN3A|h=Cj4&amK8d(C?y)}q`x_L8hd~7@V zhvIQ^6%a*urdFD``(OlmO2@hmvLH~ce5aC1^hm@YT5;XKeQ4=K*E;dXX9B3I8N9>~ z*S3OaUhvUu2qqvMeU1=YE!L6X0eN;0NLrYzn+;YLCQWmK|5t`2n?Py>jKB|f?x3gN z>c<)TG~vPnr|!zq!gAzscf{6Wh0VPM`ud$)u zE6wZzo{P(63l;IYk`2c9`b~B9xl49sons@KGDq7}>soyktzza@qcy$xcnfI|?Ardxc_A_n}|Y%iKxu3$MHK z4?8PfU@~_33vS!z&+T*tUI=~G5MU2(*0m|e?F|*Nl~iMF6u9p!^2xrCI!Ne|GXUxW zp`ALxbi8&U(3ac?u6b??E`R8Eym=yFLBf)F8}n;K2@RXz1EF&DqmjUgh~1!}^;c-@ zw?nxk)VS$~N(bb~)JvzESc)C_Fy8^Nkq`_cYtA2joHgN%3SsZh?1#)!>2#m0E&Ojq0l7<-FP+n~yJhvRD1eRy&#YfU z%u6Hk6+sAE*NwEzlrR@In-fKdf=D)Ov`v&!I3zPL6q?!i7;Z&TLxJ;7_sF?Y=hY~ILvh7>tEPCl2+*MY#^UvvG^JuZ8=^S?Tm|Pol;txDZQo@mF2Za6Nmd{2q&T*cJAVLQ}{N`cYCxwwXPMQRm_-88TYDt zkXVLVsklPQS~rX)@!I4~9IVG;y_C!mJp&_JpGiC5Dgfa-01|JZcp{SU;WI81w>cZL zGgybD`op2ETfPgC5VSdlBHjs~2$twX6)jx;kGnVCk2c;D1<=v<Ct<_Z zBJUFg9}Nd_AepYg@Zi#SBi@fT-ctntfVRihwXvh?i6u(_MC&7qCYwcIgl{}Uq9hq> zi56~t!WUar%o3P03KggWBuXX9K!L6m1(g3mS6tv$NI6x`>Fss+SaVQn4DWe zK7@q~coR3Nn@1u2O42<8__C=?NO1z>b;TAcREy`?bkT5xfj_2fD6v>>#hsnqx#E-2 zl#Br8b{gSjKmNP--r|eL2SNdKw5?fpF)=N1pjIiHh6g&R)f%89Ff%);1ZJ`dPK1Fd zY(pDG@i@kJ5ngJwLDA$MSz%_uBtn_; zoc2*fs}}P`S&|Gu*vxJ)f5(AV-1L_pS^IwNVX5(fR)BPz@bLP@AUcaci^+3~HW^vL z1Y;Cc(ztFhKmA$q|9C9`qGG|tN0KO$jtbr|fXD!-2OcY`m~OcF&p&w9KHB)bQGj%u z_|V2SBDx5k=MiHbGL|cuBu6F@$Rc)12p;7FqU#UuhALC+^g#rH@qLbYlV^V?F;((n93s0hkR&E0|lzQwta^ zV6-ZS;25!{@6j39B-cqyohESaH(>;8SNxs}d$jTY0ESa0N~?7(C;$Ke07*qoM6N<$ Eg10hUK>z>% literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/arbitrum-nova.png b/packages/extension-vite/src/providers/ethereum/networks/icons/arbitrum-nova.png new file mode 100644 index 0000000000000000000000000000000000000000..00ef9438dc296b526696e18ff87b26dc20e6eb35 GIT binary patch literal 17854 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 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/arbitrum.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/arbitrum.svg new file mode 100644 index 000000000..f50cbc8cc --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/arbitrum.svg @@ -0,0 +1,16 @@ + + + + + + + + + + \ No newline at end of file diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/astr.png b/packages/extension-vite/src/providers/ethereum/networks/icons/astr.png new file mode 100644 index 0000000000000000000000000000000000000000..636d2e49d794c3b882ba5ba481846970b9411e2a GIT binary patch literal 15683 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
G&S6WM}fz0GUI%L+z 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 z %Ipw66L_3^+OCRR2kq-<8e%L>0pFOX8km|KJVu4Wm;Tl+N6N;lt5f?e8M{w{oc z0^xc*zQGi#p;R$d?;M>aGI5eIMQ0xEPtfxE?jfq`Sp)EoW z`1{zzUA7Dqd?X4mqm%%by@iwpytdLkAcztwISXk@@-ej_zx(wD=7QF|AnM zb{U*FW7Nrth?;PYN;Cb=1d1CJO&o#2> zBc*x1O`S3+EbnX6P12ys$^L-7kU{!Rr(vlO#j@Ws+D>hojg4(uWZof6n|Mb9- z+9!o@HWHr>H|HgnI??IuMAF>R6%%97$mi2J!U8HhpqDzj>Q6;SyTi1orTukJfK-L?dRAXSLSG4lr6Yg$H8z zuW)?!xnHPhP}_+(ID``d)Z>_Cwp5Q_|A_OltHGQ~+trjF=8J>!CQ!ouIR^WNhORR8 zOM$m-;);>3C1RFbQ&dcW4EGZs?;o&9kztbNwpvMA*nF^P-NmI_{Tuywxcgkk7B=-j zW<(AB664!9oVmOz>s)Tt9(*ZlkzZH5E%X3q>KT$hc4(FYm6=41oiMBs_78k^2Idu{ z2H!RzquIyKPEUCwn+_}q15ahBW#z#wA+%m0&BftB{B~)W?285aHREv7jsk^~+P)tcp_8`_8-j972o z>%O4~hqNHIJ^UV{*cS*bsiI?KgQ2{MKej*SzZ+W?dsC1{Pu(mCQ`TGZVm29vXE$RB zVTrAvG+ypEOr1nWxaX{Ur-DWqWh=^BGVj}?YhSyRhUPL<11Al{>6vWo4)^k~dc(uk zsEtJgdPKP$D>0Z7iG*WAxsUZAPWbyTRph$$)n?QR4l>UO|^@&B7@d>~|ZTh+=i@6F9^;- zGDkRJJ*o>QIQKUXoyhcM3DM-DlP*MG=FCczq*Ai-Glm@Ee*BId9M|;-QX1h`k)*7K zNXt`J5xpYU-+z zYiMZbYk-c}4*cZ4CLp!9L#=NqD>n1miYYP0R7+j$MCBh{-Y@4Ydt3sXl;8Ng(~Zn; zUNW@nm5u+2cv-;VBisA9a;2j%j`h6OPM~+W)wgJF9L8x0+HNO?GUo@r6M*P+_=NQg zsY`{Qk^2)|b<6L~(ghHDeyr>K(s~J)``b!B2H7K@6W|ctXYGT_RftT z$5-&Zo9m+X>O*Fp@?gd_#p%)CaE21&t?)m>My1x3wPGS4K2HB+X2~wI<}igT>7oe zpQ`v4ei1=S7YVM6MBNDo=OoPbpZd%6xJh}YnoKq5BBj2|Wpu07=)6Gk&PKkiqTdtitUWn;9oq|f=@ZITnwDBzQc~GapXK0u6;kJL zy=H2Kzi03>DmLS>`9|CCCDYTqNwgjuxm{9`liTx*<=Nwv1-6j{#22X1NbF{>tcV;z zM=Ue&tL{mFOU=e5XKxD%*X^b zoK2zzzvTs1r18pqG)q&ZBG?rxzg z0&{gc?M)Po=rZ@0XvyGJ-6Xls!#B+n_*i0d4V=L+VVvJSszbbXAd~``WxW}U| z_W_`ZugrPY=OJrsfh=uGiZ|$+{JZr65Zp#lp$d%^ejt=!YQi>a9LCrMnDKq-lk!EN z>Tl_j^l+h!(^DpEbw_uri5xBT1cj~SU-)07_W&1>O(Buu z?7@Mnlc0c4{Cff`uErbb)VBEat0(iNJUaI+xppPnm-m`v)U|ysXMY6l>6A&yP*$|Y zX^m)lKGx#JSbE^VJ2uK z_pj{YiqnqtI=DReRJ2#Mkg$u|P0d~Qrydq?{DTMQii0;s?X|a-`N1QbCa;E9wQO51 z-g!LpW_Z%nv%Ga~5Q!5s%Mn)=k!==6QAz(gS6g#9MVfiLrndJ%pCp7nE-)pRrPDgD z81;9=SaD&0;z9v7<>+}%R=qi5Z8xeWItgs)=z9!JX^MqX2C6W{p7~d3ZB}=+pZ|T8 z40#|VY0EWf@XEDA;($eeg%W=y!QV`@FkfdgZeEo!vs&M6K{jD)p)3sE%^lXF*bXyF z`Obo2>6a|oo&UXf*C`osfXQ<8!B@+kisR8+G*48Y(T6*QTshE>2V{KkK{o2_6;KOw@vT7K#lf^Jp7uc>i%V@C^XK!~NMvJv^A&eWPcDFJRkBu5se|X$9&-4u}#D zt0rR#k)7Bj7os?z?cw|8A0Lky+mCERgu>So-$b=z z#$;C&kIXS=22YNmkGsn~GLK{zjbDpA#NT@JJkXDd#k~c~FgW>+(B}aAFg@lAaRBAr zf4)IF1-UowlC(qWCX$*flsAoB%W{h`m`-XDjUz*rSQHWE@(T2*EzFj$enyoArFtU@ z1R9Mo_7?x9K@DP7cF(R%gUNgcK5yK_LPv_m82diPNiWYBh}ga9XS?LTBf1KicyBg& zlsz%lqAtum){RA7(4;%P*s@=5{gF@jRqsAv8CX^@miK8qk{T8Ld&oG@=F(U0`3|>< zl7mW<5Fx~YFP!dOFkD6!JD}Wyrjt9IVeX67&?`moBz&+QSXg-f5dGoE&*=8@yJ`^8 k+X&Q9)Vm)^`M0=Y3F;n8ui5XOipIfFQ`T0hP_PL7KOGsR%m4rY literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/aurora.png b/packages/extension-vite/src/providers/ethereum/networks/icons/aurora.png new file mode 100644 index 0000000000000000000000000000000000000000..4cec752c4a72c9240ac2972749cb3ce52f3eeeb4 GIT binary patch literal 41673 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 YAItbwu@uTPQvd(}07*qoM6N<$f_OKLjQ{`u literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/avax.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/avax.svg new file mode 100644 index 000000000..55473a0f2 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/avax.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/base.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/base.svg new file mode 100644 index 000000000..f9f6a5ca3 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/base.svg @@ -0,0 +1,531 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/blast.webp b/packages/extension-vite/src/providers/ethereum/networks/icons/blast.webp new file mode 100644 index 0000000000000000000000000000000000000000..8fdf076328721d88b96d82ab7b01f43b524b77d7 GIT binary patch literal 14858 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 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/bsc.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/bsc.svg new file mode 100644 index 000000000..9bef8025d --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/bsc.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/caga.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/caga.svg new file mode 100644 index 000000000..8f84700ef --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/caga.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/canto.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/canto.svg new file mode 100644 index 000000000..029028234 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/canto.svg @@ -0,0 +1,4 @@ + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/celo.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/celo.svg new file mode 100644 index 000000000..b2a7a51b2 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/celo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/coti.png b/packages/extension-vite/src/providers/ethereum/networks/icons/coti.png new file mode 100644 index 0000000000000000000000000000000000000000..e8dc17facb37ae35f7ddb85b6d32e25737c791bd GIT binary patch literal 17682 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 SnF&1Wgu&C*&t;ucLK6TepDfG( literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/degen.png b/packages/extension-vite/src/providers/ethereum/networks/icons/degen.png new file mode 100644 index 0000000000000000000000000000000000000000..5c4863f66cb4e10dd68a687070343ed2cc2e9e21 GIT binary patch literal 3774 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 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/edgeware.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/edgeware.svg new file mode 100644 index 000000000..6e190f19a --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/edgeware.svg @@ -0,0 +1,13 @@ + + + Brand/Outline/LogoMark@2x + + + + + + + + + + \ No newline at end of file diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/etc.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/etc.svg new file mode 100644 index 000000000..db7eaa706 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/etc.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/eth.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/eth.svg new file mode 100644 index 000000000..abfff247e --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/eth.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/form.png b/packages/extension-vite/src/providers/ethereum/networks/icons/form.png new file mode 100644 index 0000000000000000000000000000000000000000..4156b8201162b84f768178d1486cffb74f1584a5 GIT binary patch literal 33086 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 Bu!;Zx literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/forma.png b/packages/extension-vite/src/providers/ethereum/networks/icons/forma.png new file mode 100644 index 0000000000000000000000000000000000000000..15f45d6de62799c8d37a2905ad1b8183dbc1b4c8 GIT binary patch literal 2443 zcmV;633T>}P)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Rj2nZK91v&$$^h1B;M^FCn=fC)62!(1b(&*xFOeX*;7>!2jps9D|@czYf=g&X&?$oc-rgT2~Mo7wg3*vE#G>0KP`?B0|^H3ov(l6+h2Ql6+s#p zb8pZc)_DwdFslqRig)|mz?L`cp*9nI0`!NzQcj05vB_UwF1nb zsAt2Ot=t;-{D#UTNkgGHB@(Rdn|Yw)x{c@lp- znJmNfwzuXeK@2fdBRCjl{YXE%v?w@~5$%Ge9kOlTyDk(E2IYNU{_nfzBTy2i6yBYQ znrD}c^0ZwMyBI_lBM7FrksAL5($K8z7g5PVtWk+4tN+b5Cj~_xpCXQf>9*&W0IhA$ zHvbU=Ljnq}cmhR?VTC7ii*90`EbXkR6?CI}3?Xc8 zZeF-m&kAe^3R_qrfEA6yz887y(;je=67gBp``4I%Pmz!6M7{rWCr(s1ZcKpT$=+mh zRunx^d@_?j@}~E?LwQNijgtjbL|sHs!3FgI`$$;|C;-%z-b@)T`N_xESMcE@Dm^qtUTDBL8ccax*C+Yfd~*~9JZ_9WIR z&7qEaj8R0cUcG8&b*xoBMvFUU<|h30#kmV6YR9H&1!l8Zuh+YH@#3XRmtu^e2>U-G zu827#r~}iSA=GUy?^sRqhY6~>v9U24jZ#WLiV2v1v(gRfn;k7Mn82i9tI)b=fxFsq zs(ArgL{dt1T|fKmvnNiR074PWETv?r`KoEhV#I_96WEw;O^1UxTuoBsHQZjK*tY); zZhPOandVIJGtWHp{PWL`$K%OlqN*W;m}0)P*u%@Yi0t_Ky#9|juUSf~D-i*;PKxvR z_7``Kl_#Ef;?-AQt*R=;q^f0E?xq=tDFMB;@}D1k^wQt{df}r{l)})w@spvalvKk( zK-?4P5W;voK7IQ1K}F)uH*oJ=NX-~9XL=Jha8o!M$l z-qpN4rhDE9$Ca?S>`O8yXOX|s$r@cQw%610gqT`k1dh%&1RN| z#F1OrbH?sQBPpen(tIrD8B~L~Iqr(6B7z1)5Tz)}vMk*_w-%Kn|2pyic6HKbi2Tai z0000bbVXQnWMOn=I%9HWVRU5xGB7eUEigDOFgR2)GdeXiIy5&cFfckWFi(2p7XSbN zC3HntbYx+4WjbwdWNBu305UK#G%YYVEigD#GBY|gG&(dgD=;uRFfeQ%bPNCh002ov JPDHLkV1iP@pWy%i literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/ftm.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/ftm.svg new file mode 100644 index 000000000..e501d1efe --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/ftm.svg @@ -0,0 +1 @@ +fa \ No newline at end of file diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/gno.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/gno.svg new file mode 100644 index 000000000..97842427e --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/gno.svg @@ -0,0 +1,15 @@ + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/godwoken.png b/packages/extension-vite/src/providers/ethereum/networks/icons/godwoken.png new file mode 100644 index 0000000000000000000000000000000000000000..42cbbdebf30280bd2af4e94722e83a7f5612905f GIT binary patch literal 6412 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≀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 Hl+XkKu`~p_ literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/karura-evm.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/karura-evm.svg new file mode 100644 index 000000000..5bf6673b1 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/karura-evm.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/klaytn.png b/packages/extension-vite/src/providers/ethereum/networks/icons/klaytn.png new file mode 100644 index 0000000000000000000000000000000000000000..1f0b9123770984cb99bc506d578e6864c1a2024b GIT binary patch literal 20529 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 + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/mode.png b/packages/extension-vite/src/providers/ethereum/networks/icons/mode.png new file mode 100644 index 0000000000000000000000000000000000000000..fa7daa3cb25f986374276c2a521fc03709596388 GIT binary patch literal 7278 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 IM6N<$g4hcft^fc4 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/moonbeam.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/moonbeam.svg new file mode 100644 index 000000000..0ee688ae1 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/moonbeam.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/moonriver.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/moonriver.svg new file mode 100644 index 000000000..f0b38342a --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/moonriver.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/okc.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/okc.svg new file mode 100644 index 000000000..83be3430f --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/okc.svg @@ -0,0 +1,6 @@ + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/ont-evm.png b/packages/extension-vite/src/providers/ethereum/networks/icons/ont-evm.png new file mode 100644 index 0000000000000000000000000000000000000000..2c7015819a8c8b94f201ea52bb0e3be255eaa6b1 GIT binary patch literal 10774 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 + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/opbnb.png b/packages/extension-vite/src/providers/ethereum/networks/icons/opbnb.png new file mode 100644 index 0000000000000000000000000000000000000000..37745ea08fbd616a63ddeae2e9cb6287368d52dc GIT binary patch literal 11088 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 Wqneb9XU)3+0000 + + + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/rari.png b/packages/extension-vite/src/providers/ethereum/networks/icons/rari.png new file mode 100644 index 0000000000000000000000000000000000000000..af10f2f788ed463d9b073079d916172d0f83052c GIT binary patch literal 8641 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 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/rootstock.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/rootstock.svg new file mode 100644 index 000000000..e8c5ca6ea --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/rootstock.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/sanko.png b/packages/extension-vite/src/providers/ethereum/networks/icons/sanko.png new file mode 100644 index 0000000000000000000000000000000000000000..bf697fc32e301392b63f537abf87edcb8d0958f3 GIT binary patch literal 32691 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�>oyG_95NRbX6On8)t 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 u2_$?@I*uLK;hNpuJ_{Erdx_A8RHc>x literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/sdn.png b/packages/extension-vite/src/providers/ethereum/networks/icons/sdn.png new file mode 100644 index 0000000000000000000000000000000000000000..dcfb85fcb293f3c8cdadb83df2b5e161ac75dbfe GIT binary patch literal 44657 zcmb?j1y@^5*Tvo4;i0%w9Ew|UDDF_)-3eOUibHU>;OKhakGyrmJBOyS}$OU(gLtc=bzv{X{L80RQ zJD{O}*+h_&&~D#kC7^01$&Mj!;H<=z#G#<-6Hs4G;h~^v5agu9HN2tEH;@hH?miGN zr+9~W5OyhI&DMAEa;PGyqm$@;ejFrP0xf~EnHHIbX~$EaCmIxQzRq3tUDByZVM89` zjzgRmW*isw=e?M=fn4$ATVOVkDT-cWT4S8rC6O2Z&AbOvC^&Jf|A(iVC|nQ~QXyS< zM|_LBs|CD}P#p}py`lec+WiFr0z&wR&60AiXft?j{A64!hygB4B!r5o-#q-7%fW_) z)Xh&tze9Lz2sqME@9xaU#rZ&=?D28qFYVy7%0Aqqlj8m$Paw7zE83kl|p^8N}1`8*M)-KDq%1ueF>|i6kfhIPqc_Ox^SB>xMJ~&DvPA}^>9nX+2lzaMR z@R)GR3p$2?pbzrbZHuN2E)KkBq>x*rOOzr%Z?q^Afu{&T0pAAJ3D8-TR6B;grUV1d z;s=21;E?=fa}DmNNWrx1Px07up3VN@F~0RV3-64^P{g%Z%VTtIQqk5U)7e@?-ie8A z^Gm2}N`_l(b1YN8F#fuT_?&}NY^I*j%$zJh*B62=y6TWo+fH>)@&wNSTTcLV|*&-@Av69;T=I$=W(fB8)8Nj5DDtDl3rlJO4g=W>llXnMN)jMR?Z86B1_u)iHy!;hx+rdyCOM$vu_6Y=xdYc z2WC%xXO(0FtGbRxQciZFA3YmadUD?mjXM+^?mr_&nY_LJ*}*-~(_e1S1ZJ!q9sOkO z&;NvwW0;elIW-2_T}a{K)=1Y{Og|t@J1kyI)jTL6TnE7;IsWt7$z^+9pOla6xPmj} z8zseY`@U`cnVX#tp39TA?CUOf<)_`wlGL!w)Hs2ta`J|2h(}_P^~qR%TK;5(en&xm z+~<5ni!FCxf@Nc~?>1VA@)=dZRoyN6vpSoxC;=u`a}dNUIJi0O#h1%>a0xK3P>}eh zi_p>rbb5#)!#wU5O2SGKzyxXg#RvE$^aaodC&-XM!eD*!2ygl+LP_W75Syr=*2x+T zq5odVPAD&VY9#50pXIjzQ?1!MA*(s4LhOG#PG)jAiVeL>h;c>6IkGu4qCbXd{$yyF zQ|%GAP?B&B9<(}Gk2%yhu(FnHru73zEXGr33REN0k?APa5;R9q$}>0lN=K^t z70&Q2Z8E&FDG9d|j4wkE&H8T%<{VB#t5584xy?Y+^KIlNe`!p8+(Ud}#SV{$>%`r| zfLH{*UwHx>TWJTl-yQdkYzkFc`R2J|$S#wSs7jjd-|w>adjrSzZSP~qApwTC?+80F zpnu?(G5H0TZ8-5n2y_$oStneMrZbPRnr=#JW*)`I(S37c=0aw*7;Jl1g4wc8J0egm zyG!xbA)CRM&hoi~?tlhIxAhR36A8u@3->pp7pn5v*FP(6B-RX&I5Qgo&$Y;s&0%|h zvfPhj4X(^Jo>SG$xMFzvb}~RZgWNi0359Ova4uUw>g%mf#IbITCq!78+ic!B6kDUh zn=3(u1${tM_5SNb$fXS2Q~h zzn^)&?d8`OK1!9T4|PZdz}f6&cc6AYeAuzlLaX`Dk#Ia8?F-jrxIlG%k7M>F%SmVw zgfNlMM^8^rYB0iOENB!IoLe)CE11^C(>MBSPj?A7vo%|R*}ei`({I_9+%z%N=x$h# zYq|(OGKu-UNsiQPo(1uM7;>Uy>G)kBn*OcLk*Z$TkF|ZDyQMZUNl4&FU|nwDx4mv) zXPv0d4oZXX7Ms@8*8%4EKkQ5_3t{3;*~*uoCm*OZHWT4kE8U=&=)uL(C*S@G0w$Ar zmlYFGZUpRJO>v6B{<~I=57%ZUB?*U5K}@I>Rj}AJ&_+~kRm1J2|87pMB0Zj_ zY;YfnXDA;5xTe?UJEtVPa$g!y#OQ0O1xKA&d|OSz@>T0?p=*77>}ji4zxp6zi{Um= z+-xK1Jc~XS*dw8>odDBhWiiEG#h|Dn-$?@C*}sSO0LvVk5guDv{5^88*t@WE-0Lem z(jSM?`?00w@htORpwg(Y;H8R+0+6cW%v5~Sre3rs;ra5a`6)UIe>$WNd}P0?wU}~f zwZGL1O!7R|k(Yr%EN8UJy24;N&9{j^7#RMB&O$7_RUXCcqYIhfLyQWz8+f;YogWU_ zbv>IuKV4#c|D%s>tIC8`G@W4F;ie`OnYEkb3J`$ zS%=Ip2N@c#utm;Dy7HFc2fQj5BwSU)kmgFqMjPymp+r()MUwOyZ!H_-CFf*$zWJVn z0Z#NKDWy?7Idivdak*0+$FG-`0X`tPkly-|uFIt#>M>CKjBvIvVIqb2+s;YpLzB8? zw6y8|-c(sX{dcxY)(*W659qFffx&(^xv_P+iyC}^!k-5-q%=O5NHveo{u;I!I@`Z& z{1wFsCJ`%0ux8;G^S{nmsakn2DkDBpQw$D|5I!@=ykgj&UD#XBbJ~oWfU^xB%s9KS z7qEv3Js|vU``cNf%I7%h_pjm?TKd4Qw7UV9{O^#J#o-cgYy|pS??wM-)US?qi%u-o zcxRB^k?U{zapz}+DeV0d#Ors5CX?Te=pgkY)JCkWq#hU5VT}PP&4c%#m|R(}0j2yW zh8Pw)HqTu(@f>|u&&ukrA$aS4g2|$FKNoGM;WL52J8Kx#PetonKvSn3Qgdlj-_zsS z($^bkPBA9}Y~lJF?6GsdLthtBYUAMMg%ZcISU)FUK^Jx_tuxYCg)VPrV6_ zy=nfu_~p>cQ$tY{pVtN<0dTPISLq??Of&^)(gHx%$_za{Jy}aHFW0^G>z&yrwWCkA zc5e+%t%^j#yR0~ByQFznq~6UXgf)4O_m>sqh`}U5=NQ@clAp4xWn@TB^*Ol?}<2+1ZP<3=%6H2@fECWovbu9mibS+jMCL5T2kA{^MlB0i#i3kkU=T&mR&yFrV(@-7=h4bi% zdO?FYze69%OIV}UdDG{)BVoS)b=2AenbAR5ml4hvjg2ETt#y9j(+~a(%sdlY^HaFr zaCo<_Cr7ri4)(PyRZfgP1_M)L)ALtRknKz*rTk2P6sNs(zOYvpQ3OBNn8a?V6#XQ? z#;I3wx2$NH(Gyef!GaiLT97ux7GN#S{%M5Chy@3^Q`(R`j@3XJV5ep&+{<59SV5Dl zo}~)UO$M2t#lLDgTf}4Mu>b7JElMh`OL)x5&dFwcT>0%q@7nl9!-oS^`_^%>U!BaP zRoI$QI>+GkayfCz%Mue)5Mq*b)GTlO%HSfnSF(69y|c z3QWIt{w#z3|m}E5?b8r(Q-%g(TN=->Rluv>S1xCI&g*HCc4t%hgQSylZGLw zo%og4(NsCrB2%zgz7H2N&k6$RYU9s5_7}eDKzLMZq5@T&ywpI^omb6;RQ=Da14r-i z*r=HV0|Oo&3`5q^qCsVdHLv$1Y-PMWJwN^EwUSE>cAz15DV|$dFBhNfb(S%Sospke zkJ$8zukh2a{v+njo^5A-dG=m2SYF*Nvt=6gtgA*PG=~f+7)CfMzzI&v(A8??n74z4 zPl*R64%qEo5&DlPWXWwI_ySzi2TtxTwRv2ff^G zdhQx|nu{rLFDFFRjOF^7!mR)os*_@dI-| z#KE)C)K6USJ>lle;m|8T>FAK8OD5ne;4RWopb=ETiuFCO$%nx?lM$>OJISu!XlGeK%f3+kk|gp7VT!!fc>UxAqQ3 z`u6-2OV(+Vx~4RyLZ8!QG)8kA-Mp{d`8pZ=4db`u>xvAEF&>e=L1I)PH5a^M72R(& zG`C(bXppqU(P%kxKd~#TtY2!H!~QgA;bTL;ixEKLrPTg5X-YT-m36F;Jq}C#$6OLc zZ{Z^=gG#x=fo+nhN}+Sop#vZgQMDT5c#;dG zpdw(RGmN}mHN;kcy^O_Bb#m!Li|nR^;}IZ|HF;!h>eSYSX4+3VOZy^ zth64HkYBRgv&#L+OeF=9R1UI3P8aaxAe&p+(AL0D!NJrq=NbLyG3pm*rzXzkdfuj+ z&n5C9hEqUs&N}z}6QEwwS6^%z>Zh$ds{L9YIe^}mG%GyFo!cIV8jq6AY12QP%l2*- z9R5SNOF(~;b@YqZ+v9^3+Xo43iZy6ybfw2ro$&OOWNy0hopGc^NkQMk#%1H}hs1?L z98=j3W^ZO(?X=YT<2$nZKzudiQNL}HGEJn)_)$6rBj45(YLk9>hs z`Ep{RTKBa3VaLOh7l04FYq^qz<%jtNE_znaX0%*tfpmZ?hft*U-S>Kis3k33y|r&Y z`yKwsG{tD0RL>=GStBN{6JvswiPH#fdcWfw?(&i@%HXx=qu6=QcXXa@Ki zCqbDw(%_Q^%H^iBU%2d5yaU&)-M>~_=2;rj3iD`l%(+0{8mHN|(& zEr=7cLJjJn2~@)`fCLa#URii0S2$y2*mY)D}u zv$asQ9M9RAPT=bYvI0(h0VUS1UqZ)A%Jv^V8+7?JJ4SYgew=jUJl?!U&OfV9OiSYO zJDb}(+Nna-0Uy2=0KMqvg-O}OE;2zKt?+mjH>SC)N~?X7Vkg@Q72bFnoV*wbp2ucf z_twF({WlM!Z79f?WrJ=a2E3;wOMIuN#Mbi2mMYb6GpM40#UPRU#54A-n>vgvP6qaG zaxIRlf+V)`q+Ga-c7LY`QVa+7uCdY#>9RX2O36>7Zfq6)am1Z4-@5*(po=bEhXv zflcwA{{+TTU>~>oUm*6*u%536huiP32fDw!7W4-A@aZEHR&AGy2d0K+|~<(nU~gDDi37F|CS^uMyc<*(O4N;(_Fu zPB!6JOUgcE6u_P_L05z0)%wU-@BCcsf^eSx#E2kZ|4-U7Ga?%l?UC-vS}Z_%E=20T zq*N2U`P-!)Igr4m{w zGDy$o+eh(mYV`7$QkC2)!!2V6>GcZP&$n)6#~+5FCbtR1Gj8m%Cd%V4gts`5T3n>Q zn|_1sWvNYi;3#S1rDZE)3Wl8z>fGQDk6HQi)oLsVS$N<(73=fe(aPB2?+bW-iGqY6 zAFjp8JduEY87^Q6pQ>9<&iQ)PNd3$A_nx+#0lB{B2~Gp)_`0l{w1~S5ZD0BOCV=Kg zlfH$`+uQGu4k1DcygZE+n!3aG)dV*eE^=(~GN0!xqS?$2n&`!Qy3y($?9hj=GI-CS z>+x~JAD0ir0{G=0Cp}hr3&FU?Y#lk_;NbtxqHs^ztV6pq1Irg{PfVv#SM}WNaLjJn zf3uQ|3mAT_@`r7xxez(;V_;KwvJ_}bf#MzC+Vqqpz zKu7w+f))+Tmgah)wfR4jVW6V250z=mB+2Vvt9uHgL@SXJfmqMm=Z0%^KNO9jxlKGi z+BkNfon$>(l-T=P<1U&^jcd$S;&a}npsQPae7RaGk6nB{pHd|sG>mn=l>C{0>sN=drEg;e1 zRGn-8(ALRvH_{c3R6WAPaVzWQdRRzL4^-mJ{~SzmN`P{jd|@PTzmLhh2t^j>Ziu%7 z=D%V6qyt^3pM~5LaE|6V}W~*l>!=rlD=s0)uZlGmxRI)t_vy=ntb9XP^C5 zs=F>1Ghb`=;|Qna_kNneP&M0!G-N5k(n=K6mZbGO&x{JFr#qj%*8l&V#y$7-94*bWSQ z7Zb!rAojrK^~)aXMC}!^a4_A)oX71gYV3ZxO${|Be{~~u)Sejjsm&1@cR7&vIF4cC z(^1)4n9bJrdE?GSZ$p6bo8)qkFiIpF3eO8Pu zSkJx_Q__COF+5*aKrZtH3v}5C^~u$ZB}GBA)qkV$Ue?6O8!?*uyIoQM7QgiXa5d=J~jJOjq!LBnZV5NX+184IO~vHo9`j< z%HnQjZu;0`<}Yub+sYJjT3!3#n!?0JwVsC(BNZHG-) zrhKHvEsGI{R=$ytTqgj46nLYdNWRisD1#iB#vzfApt>@2WrwX%@{2v)cngnZJ>vcz zd#nfYV>+`>yG?WTpswcYuko{QZ)BQhE0}O$JqW9H{)bE01zg(DclsMQrzCdrf$zIj z@W`!KHhCQ5rhrh)g#$=*gWvzadmPEMCHm_ZGS>1kJFS+Ej92!d-~@D99sa_lN3s3s2axw zrpvWeeR-$#Zug@#z+1 zA+s}3;H2=+U||QFnMGY=-L+pMj81>#nQX?s?zpCM1roC}-17WMFwPbN@BAf1nPaL404o!Z1Q?HU()mh6_y@mAO=Xle3<`cI5)Qv6HI~is5)GEYAEE`n|&BO}($1 z@L#cZ(mC(+%mUe%Q!S&Nbu9zPj>+F(Lo2shnJcJ1M8X*MAE3PTct07V@d=kXUnY2K ze*UKy%YE6yl)*cGx_;O|hFi$;xNenF9FZ~!u1-?ElWi3nYq@;vzQtCome%3#!?-&= z;k5coM^7dGR?|s*vhu?N?W)+i|j09I`3A&&a|K(Ks_dsJavM0A&h=f7+ z=V=HB<v01;E4WwK}?@V6;(3 zSw3^p)0{K4;%9$4JGPWC2us$-meF%RN098{e#i4)+Yf4S>aq(Xf0Dyj5ls+IsG(8b zktx>&zJeKj+EAC+Uqz}j`6C=|z7`Z9>4`qSZuaQBg1@i`A~*z{%W(U*ABTaZzd#K`pkiRhEx$zz(;_#+?ZWh|0I7Bt$>n`0`zX6`=HNKxz>+U7i^7F=hR(SRuT;?pLye^h*(e1kIn765GY%{dd=A9;0;0Aa2 zw!{r+zK`b0-IV!omQ6n7C*+7P&QNO1mBIare?$myp=cF2bo7z*OsagwvSFTgR#E~P z*Q-0g^j3E_-~J8*P`+W`ym1C`@|q;;7Nwn=O#9D2B&n*l&!1MfE>+EiLZzOY_&Ll#AT^#S2Y%B~_KgD<(k_#^~iUD0x%WY=GC@ zohhS%-9r2>7QDTdTZQPJL9}MH&&$0=u2hfZXV>*rx?AMX@^FEUG8{!(`Xrr?cmAQg zwP!m*3?nOFS=mLq>jbYPT(Lz`O}>Js@8hEZm-jUexDutcP_|f)eCq5Jul`HXJWz;S z;Z85haU!;rdf_W`!Y{W;T%ydKbNl>YuY(Sq_*@yT1`ld$9Y5p>Ijx&GR{TNq>XIkT z2}nrv2(zioKCI&B&6I02R~@m$km+zQt*D9Niz=^Dp}~@)N$M$JA~>GVVf!6no9ToqDN(~-3e=j_sn#?Gb$`Jl#tzm zR?dIv7DGW-{c3(f69nr$W1BGt!nY;1O)_Ds?)G~7ox?*3O&c81`0nVY)utN{yjB@0 zY55^+FFK>At2dL9`c21+T{+pYYc@_sA4r_R^#_iN*-jF(r9NIb1|;e8e3--m`$w8g zeI_k2LpzWSv78t(Jd`YHrQl^}Cw#M24cTS`IDy>@mW%~M_*!A=y$M)-G5Fm@UVvSg zQ{bgf%L2W@83J69{l#h@π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 bg6sm6-LRzk(+9+b0eqC?)#b`$J_i3kGL?ud literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/shiba-inu.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/shiba-inu.svg new file mode 100644 index 000000000..413bb1051 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/shiba-inu.svg @@ -0,0 +1,113 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/skaleBlockBrawlers.png b/packages/extension-vite/src/providers/ethereum/networks/icons/skaleBlockBrawlers.png new file mode 100644 index 0000000000000000000000000000000000000000..6fb077c5995d4a7767cc969a9c2039550fafe731 GIT binary patch literal 246452 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 U7j~wVk%vIreQ;O74)z>% literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/skaleCalypsoNFTHub.png b/packages/extension-vite/src/providers/ethereum/networks/icons/skaleCalypsoNFTHub.png new file mode 100644 index 0000000000000000000000000000000000000000..178e5534517bdfe47e62f47b1c3c4f03a6acf1f9 GIT binary patch literal 428727 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%0ADta72!e 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

|>g5d6jAi7Ldl`;ZS=7S-Ot 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

8hv`cVG0VX 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

M{8` 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�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 J0yXo1{{xXCJ-q+` literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/skaleCryptoBlades.png b/packages/extension-vite/src/providers/ethereum/networks/icons/skaleCryptoBlades.png new file mode 100644 index 0000000000000000000000000000000000000000..5b1ee2679fba722ce2d8b20c056318575c4c6940 GIT binary patch literal 15794 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 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/skaleEuropa.svg b/packages/extension-vite/src/providers/ethereum/networks/icons/skaleEuropa.svg new file mode 100644 index 000000000..76654c8a9 --- /dev/null +++ b/packages/extension-vite/src/providers/ethereum/networks/icons/skaleEuropa.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/skaleExorde.png b/packages/extension-vite/src/providers/ethereum/networks/icons/skaleExorde.png new file mode 100644 index 0000000000000000000000000000000000000000..fb76b3886c22b0848b3166b1731cb93000d968c4 GIT binary patch literal 5634 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 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/skaleRazor.png b/packages/extension-vite/src/providers/ethereum/networks/icons/skaleRazor.png new file mode 100644 index 0000000000000000000000000000000000000000..ab500a7ae38ba244d92360fdd13c9186e49466c3 GIT binary patch literal 36334 zcmeEt<9B3V&~9uS6WjL0w(U%8XJXqF3}z_}v0uot3PcfshovC@K$jwh zMG=98B@diMm!XE`fT*)-A;G}6?c247)uhKBOEVigo4>O5*!k|!Ez4$Od+y2Xto3x2J|ga3cIz)TO*6gH%^ z3JYNibCLP8?&OGpPhq3O!({2JA~RS*r+O_l`pALL?{Pj0N#AQ0OV?iyIlM28Up0KY z-uD}J<5{uRwzVh`@)y~=CLz1Sxl<+9cAKS-t3z8N2`Z5L?z%k7IeE6FeeD+O<9)yb-S``=seKvO@tv!B>f}dRfzOqRl7ZX-<@DbuJ@u! zRPaMHUhr({t2s!Fc=jD8VAgv_a(0#tOxOKd_rCPr@3w+yv+Z_`l9dXkoA~vYCPVuk zM?BAA5tGkNeV#72gKd9flqik;e&1w}Lv8PM{MY$-=l6ciB|23JF|%o|FC&WAau?=M z>f5XTb8*qP>0{xocQ~394u2EyUg67+16D5__^r8*cT68Ig&B*Q@FgBP(NrG6UB#7} z7ieRXxjpWO9W%WTPBU7a5Bc%~k>x~{trxjJFCLG#9QP1)dDYvM!qbsZ1Q^EM>PvP9 zsCj?Sy_6yg9EThaPTXp~&7r6S2wjtbh+O*;35zPi_L%DM4FG(==r>JeZ5G>>omIV@#m@$(6T%a;cpw(t;9v5-vheJyDCcD z8+d2DV5GIXwCy+W3B3n(4Q}#-1^Lwi`d16YK|%zYYKRyIcAkSPw?F^p={{!6)4g?y7;=uhE83o4{qGhPI!1p2Pd}q4=MpL$V z>A9F}hku*Ie;633kI*%DbByA<@3#t1ZqEm%S3yxvi$7<;+otaYJ%)~Yw|c(&Xt7T% z!6DvoK~cN}y^%ZkNN$J(b)Sz;*QO~?vXk164^p^82SWuZtRuf)2FrVbt^eW*%i zsiP|IU-P~nOS#}3P+@4$RdbT9Qnf12zy4 {KJ8-oMZizypOPfetw#By@hi+G@U@ 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 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/skaleTitan.png b/packages/extension-vite/src/providers/ethereum/networks/icons/skaleTitan.png new file mode 100644 index 0000000000000000000000000000000000000000..08a9a0d7d0c7fa3a99d3a214e3cbc3c3b5246bd6 GIT binary patch literal 216871 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 literal 0 HcmV?d00001 diff --git a/packages/extension-vite/src/providers/ethereum/networks/icons/skl-fuel.png b/packages/extension-vite/src/providers/ethereum/networks/icons/skl-fuel.png new file mode 100644 index 0000000000000000000000000000000000000000..01e4d0cc7ab8e079d5d47fd99eaa226bce8c85fb GIT binary patch literal 380826 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

cH1pA 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