@rango-dev/provider-trustwallet 0.46.1-next.0 → 0.46.1-next.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/mod.js +1 -1
- package/dist/mod.js.map +3 -3
- package/dist/namespaces/evm.d.ts.map +1 -1
- package/dist/namespaces/solana.d.ts.map +1 -1
- package/dist/provider-trustwallet.build.json +1 -1
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/namespaces/evm.ts +5 -1
- package/src/namespaces/solana.ts +5 -1
- package/src/utils.ts +16 -1
package/dist/mod.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var u=Object.defineProperty;var r=(e,t)=>u(e,"name",{value:t,configurable:!0});var N=(e,t)=>()=>(e&&(t=e(e=0)),t);var B=(e,t)=>{for(var o in t)u(e,o,{get:t[o],enumerable:!0})};var g={};B(g,{CustomSolanaSigner:()=>m});import{DefaultSolanaSigner as C}from"@rango-dev/signer-solana";import j from"bs58";var m,f=N(()=>{"use strict";m=class extends C{static{r(this,"CustomSolanaSigner")}async signMessage(t){let o=(await this.provider.signMessage(t))?.signature;return j.encode(o)}}});import{defineVersions as ge}from"@rango-dev/wallets-core/utils";import"@rango-dev/wallets-core/legacy";import{canSwitchNetworkToEvm as D,getEvmAccounts as F,subscribeToEvm as O,switchNetworkForEvm as R,WalletTypes as _}from"@rango-dev/wallets-shared";import{evmBlockchains as v,solanaBlockchain as S}from"rango-types";import{LegacyNetworks as i}from"@rango-dev/wallets-core/legacy";function a(){let{trustwallet:e}=window;if(!e||!(e?.isTrust||e?.isTrustWallet))return null;let t=new Map;t.set(i.ETHEREUM,e);let{solana:o}=e;return o&&o.isTrustWallet&&t.set(i.SOLANA,o),t}r(a,"trustWallet");function l(){let t=a()?.get(i.ETHEREUM);if(!t)throw new Error("TrustWallet not injected or EVM not enabled. Please check your wallet.");return t}r(l,"evmTrustWallet");function p(){let t=a()?.get(i.SOLANA);if(!t)throw new Error("TrustWallet not injected or Solana not enabled. Please check your wallet.");return t}r(p,"solanaTrustWallet");function c(e,t){if(typeof t=="string"&&t==="cancelled"){let o=new Error("User rejected the request");return o.code=4001,o}return t}r(c,"standardizeTrustWalletInAppBrowserError");import{LegacyNetworks as w}from"@rango-dev/wallets-core/legacy";import{getNetworkInstance as b}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as V,TransactionType as h}from"rango-types";async function d(e){let t=b(e,w.ETHEREUM),o=b(e,w.SOLANA),n=new V,{DefaultEvmSigner:I}=await import("@rango-dev/signer-evm"),{CustomSolanaSigner:M}=await Promise.resolve().then(()=>(f(),g));return n.registerSigner(h.EVM,new I(t)),n.registerSigner(h.SOLANA,new M(o)),n}r(d,"getSigners");var H=_.TRUST_WALLET,U={type:H},z=a,q=r(async({instance:e})=>{let{accounts:t,chainId:o}=await F(e);return{accounts:t,chainId:o}},"connect"),G=O,J=R,K=D,Q=d,X=r(e=>{let t=v(e),o=S(e);return{name:"Trust Wallet",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/trustwallet/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph",BRAVE:"https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph",DEFAULT:"https://trustwallet.com/browser-extension"},color:"#ffffff",supportedChains:[...t,...o],needsNamespace:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:n=>v(n)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:n=>S(n)}]}}},"getWalletInfo"),E=r(()=>({config:U,getInstance:z,connect:q,subscribe:G,switchNetwork:J,canSwitchNetworkTo:K,getSigners:Q,getWalletInfo:X}),"buildLegacyProvider");import{ProviderBuilder as ue}from"@rango-dev/wallets-core";import"@rango-dev/wallets-core";import{evmBlockchains as Y,solanaBlockchain as Z}from"rango-types";var s="trust-wallet",A={name:"Trust Wallet",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/trustwallet/icon.svg",extensions:{chrome:"https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph",brave:"https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph",homepage:"https://trustwallet.com/browser-extension"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:e=>Y(e)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:e=>Z(e)}]}}]};import{NamespaceBuilder as $}from"@rango-dev/wallets-core";import{builders as ee,standardizeAndThrowError as te}from"@rango-dev/wallets-core/namespaces/common";import{actions as y,builders as oe}from"@rango-dev/wallets-core/namespaces/evm";var[re,T]=y.changeAccountSubscriber(l),ne=oe.connect().action(y.connect(l)).before(re).or(T).or(c).or(te).build(),ae=ee.disconnect().after(T).build(),P=new $("EVM",s).action(ne).action(ae).build();import{NamespaceBuilder as se}from"@rango-dev/wallets-core";import{builders as ie,standardizeAndThrowError as ce}from"@rango-dev/wallets-core/namespaces/common";import{actions as x,builders as le}from"@rango-dev/wallets-core/namespaces/solana";var[pe,k]=x.changeAccountSubscriber(p),me=le.connect().action(x.connect(p)).before(pe).or(k).or(c).or(ce).build(),de=ie.disconnect().after(k).build(),L=new se("Solana",s).action(me).action(de).build();var W=r(()=>new ue(s).init(function(e){let[,t]=e.state();a()&&(t("installed",!0),console.debug("[trustwallet] instance detected.",e))}).config("info",A).add("evm",P).add("solana",L).build(),"buildProvider");var at=r(()=>ge().version("0.0.0",E()).version("1.0.0",W()).build(),"versions");export{at as versions};
|
|
2
2
|
//# sourceMappingURL=mod.js.map
|
package/dist/mod.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../src/legacy/signers/solanaSigner.ts", "../src/mod.ts", "../src/legacy/index.ts", "../src/utils.ts", "../src/legacy/signer.ts", "../src/provider.ts", "../src/constants.ts", "../src/namespaces/evm.ts", "../src/namespaces/solana.ts"],
|
|
4
|
-
"sourcesContent": ["import { DefaultSolanaSigner } from '@rango-dev/signer-solana';\nimport base58 from 'bs58';\n\nexport class CustomSolanaSigner extends DefaultSolanaSigner {\n async signMessage(msg: string): Promise<string> {\n const signature = (await this.provider.signMessage(msg))?.signature;\n return base58.encode(signature);\n }\n}\n", "import { defineVersions } from '@rango-dev/wallets-core/utils';\n\nimport { buildLegacyProvider } from './legacy/index.js';\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions()\n .version('0.0.0', buildLegacyProvider())\n .version('1.0.0', buildProvider())\n .build();\n\nexport { versions };\n", "import type {\n CanSwitchNetwork,\n Connect,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport { type LegacyProviderInterface } from '@rango-dev/wallets-core/legacy';\nimport {\n canSwitchNetworkToEvm,\n getEvmAccounts,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains, solanaBlockchain } from 'rango-types';\n\nimport {\n type Provider,\n trustWallet as trustwallet_instance,\n} from '../utils.js';\n\nimport signer from './signer.js';\n\nconst WALLET = WalletTypes.TRUST_WALLET;\n\nexport const config = {\n type: WALLET,\n};\n\nexport const getInstance = trustwallet_instance;\n\n// doc: https://developer.trustwallet.com/trust-wallet-browser-extension/extension-guide\nexport const connect: Connect = async ({ instance }) => {\n const { accounts, chainId } = await getEvmAccounts(instance);\n return {\n accounts,\n chainId,\n };\n};\n\nexport const subscribe: Subscribe = subscribeToEvm;\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: Provider) => Promise<SignerFactory> =\n signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n const solana = solanaBlockchain(allBlockChains);\n\n return {\n name: 'Trust Wallet',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/trustwallet/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph',\n DEFAULT: 'https://trustwallet.com/browser-extension',\n },\n color: '#ffffff',\n supportedChains: [...evms, ...solana],\n needsNamespace: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n };\n};\n\nconst buildLegacyProvider: () => LegacyProviderInterface = () => ({\n config,\n getInstance,\n connect,\n subscribe,\n switchNetwork,\n canSwitchNetworkTo,\n getSigners,\n getWalletInfo,\n});\n\nexport { buildLegacyProvider };\n", "import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Provider = Record<string, any>;\nexport function trustWallet(): Provider | null {\n const { trustwallet } = window;\n\n if (!trustwallet || !(trustwallet?.isTrust || trustwallet?.isTrustWallet)) {\n return null;\n }\n\n const instances = new Map();\n\n instances.set(LegacyNetworks.ETHEREUM, trustwallet);\n const { solana } = trustwallet;\n if (solana && solana.isTrustWallet) {\n instances.set(LegacyNetworks.SOLANA, solana);\n }\n\n return instances;\n}\n\nexport function evmTrustWallet(): EvmProviderApi {\n const instances = trustWallet();\n\n const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);\n\n if (!evmInstance) {\n throw new Error(\n 'TrustWallet not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\n\nexport function solanaTrustWallet(): SolanaProviderApi {\n const instance = trustWallet();\n const solanaInstance = instance?.get(LegacyNetworks.SOLANA);\n\n if (!solanaInstance) {\n throw new Error(\n 'TrustWallet not injected or Solana not enabled. Please check your wallet.'\n );\n }\n\n return solanaInstance as SolanaProviderApi;\n}\n", "import type { Provider } from '../utils.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';\nimport { getNetworkInstance } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Networks.SOLANA);\n\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');\n const { CustomSolanaSigner } = await import('./signers/solanaSigner.js');\n\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.SOLANA, new CustomSolanaSigner(solProvider));\n\n return signers;\n}\n", "import { ProviderBuilder } from '@rango-dev/wallets-core';\n\nimport { info, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { trustWallet as trustwalletInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n if (trustwalletInstance()) {\n setState('installed', true);\n console.debug('[trustwallet] instance detected.', context);\n }\n })\n .config('info', info)\n .add('evm', evm)\n .add('solana', solana)\n .build();\n\nexport { buildProvider };\n", "import { type ProviderInfo } from '@rango-dev/wallets-core';\nimport {\n type BlockchainMeta,\n evmBlockchains,\n solanaBlockchain,\n} from 'rango-types';\n\nexport const WALLET_ID = 'trust-wallet';\n\nexport const info: ProviderInfo = {\n name: 'Trust Wallet',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/trustwallet/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph',\n brave:\n 'https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph',\n homepage: 'https://trustwallet.com/browser-extension',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n },\n ],\n};\n", "import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport { actions, builders } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmTrustWallet } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n actions.changeAccountSubscriber(evmTrustWallet);\n\nconst connect = builders\n .connect()\n .action(actions.connect(evmTrustWallet))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .build();\n\nexport { evm };\n", "import type { SolanaActions } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport { actions, builders } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { WALLET_ID } from '../constants.js';\nimport { solanaTrustWallet } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n actions.changeAccountSubscriber(solanaTrustWallet);\n\nconst connect = builders\n .connect()\n .action(actions.connect(solanaTrustWallet))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .build();\n\nexport { solana };\n"],
|
|
5
|
-
"mappings": "gLAAA,IAAAA,EAAA,GAAAC,EAAAD,EAAA,wBAAAE,IAAA,OAAS,uBAAAC,MAA2B,2BACpC,OAAOC,MAAY,OADnB,IAGaF,EAHbG,EAAAC,EAAA,kBAGaJ,EAAN,cAAiCC,CAAoB,CAH5D,MAG4D,CAAAI,EAAA,2BAC1D,MAAM,YAAYC,EAA8B,CAC9C,IAAMC,GAAa,MAAM,KAAK,SAAS,YAAYD,CAAG,IAAI,UAC1D,OAAOJ,EAAO,OAAOK,CAAS,CAChC,CACF,ICRA,OAAS,kBAAAC,OAAsB,gCCS/B,MAA6C,iCAC7C,OACE,yBAAAC,EACA,kBAAAC,EACA,kBAAAC,EACA,uBAAAC,EACA,eAAAC,MACK,4BACP,OAAS,kBAAAC,EAAgB,oBAAAC,MAAwB,
|
|
6
|
-
"names": ["solanaSigner_exports", "__export", "CustomSolanaSigner", "DefaultSolanaSigner", "base58", "init_solanaSigner", "__esmMin", "__name", "msg", "signature", "defineVersions", "canSwitchNetworkToEvm", "getEvmAccounts", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "solanaBlockchain", "LegacyNetworks", "trustWallet", "trustwallet", "instances", "LegacyNetworks", "solana", "__name", "evmTrustWallet", "evmInstance", "solanaTrustWallet", "solanaInstance", "Networks", "getNetworkInstance", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "CustomSolanaSigner", "TxType", "__name", "WALLET", "WalletTypes", "config", "getInstance", "trustWallet", "connect", "__name", "instance", "accounts", "chainId", "getEvmAccounts", "subscribe", "subscribeToEvm", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains", "solana", "solanaBlockchain", "allBlockchains", "buildLegacyProvider", "ProviderBuilder", "evmBlockchains", "solanaBlockchain", "WALLET_ID", "info", "allBlockchains", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "actions", "builders", "changeAccountSubscriber", "changeAccountCleanup", "actions", "evmTrustWallet", "connect", "builders", "standardizeAndThrowError", "disconnect", "commonBuilders", "evm", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "actions", "builders", "changeAccountSubscriber", "changeAccountCleanup", "actions", "solanaTrustWallet", "connect", "builders", "standardizeAndThrowError", "disconnect", "commonBuilders", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "trustWallet", "info", "evm", "solana", "versions", "__name", "defineVersions", "buildLegacyProvider", "buildProvider"]
|
|
4
|
+
"sourcesContent": ["import { DefaultSolanaSigner } from '@rango-dev/signer-solana';\nimport base58 from 'bs58';\n\nexport class CustomSolanaSigner extends DefaultSolanaSigner {\n async signMessage(msg: string): Promise<string> {\n const signature = (await this.provider.signMessage(msg))?.signature;\n return base58.encode(signature);\n }\n}\n", "import { defineVersions } from '@rango-dev/wallets-core/utils';\n\nimport { buildLegacyProvider } from './legacy/index.js';\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions()\n .version('0.0.0', buildLegacyProvider())\n .version('1.0.0', buildProvider())\n .build();\n\nexport { versions };\n", "import type {\n CanSwitchNetwork,\n Connect,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport { type LegacyProviderInterface } from '@rango-dev/wallets-core/legacy';\nimport {\n canSwitchNetworkToEvm,\n getEvmAccounts,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains, solanaBlockchain } from 'rango-types';\n\nimport {\n type Provider,\n trustWallet as trustwallet_instance,\n} from '../utils.js';\n\nimport signer from './signer.js';\n\nconst WALLET = WalletTypes.TRUST_WALLET;\n\nexport const config = {\n type: WALLET,\n};\n\nexport const getInstance = trustwallet_instance;\n\n// doc: https://developer.trustwallet.com/trust-wallet-browser-extension/extension-guide\nexport const connect: Connect = async ({ instance }) => {\n const { accounts, chainId } = await getEvmAccounts(instance);\n return {\n accounts,\n chainId,\n };\n};\n\nexport const subscribe: Subscribe = subscribeToEvm;\n\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: Provider) => Promise<SignerFactory> =\n signer;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n const solana = solanaBlockchain(allBlockChains);\n\n return {\n name: 'Trust Wallet',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/trustwallet/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph',\n DEFAULT: 'https://trustwallet.com/browser-extension',\n },\n color: '#ffffff',\n supportedChains: [...evms, ...solana],\n needsNamespace: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n };\n};\n\nconst buildLegacyProvider: () => LegacyProviderInterface = () => ({\n config,\n getInstance,\n connect,\n subscribe,\n switchNetwork,\n canSwitchNetworkTo,\n getSigners,\n getWalletInfo,\n});\n\nexport { buildLegacyProvider };\n", "import type { Context } from '@rango-dev/wallets-core';\nimport type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Provider = Record<string, any>;\nexport function trustWallet(): Provider | null {\n const { trustwallet } = window;\n\n if (!trustwallet || !(trustwallet?.isTrust || trustwallet?.isTrustWallet)) {\n return null;\n }\n\n const instances = new Map();\n\n instances.set(LegacyNetworks.ETHEREUM, trustwallet);\n const { solana } = trustwallet;\n if (solana && solana.isTrustWallet) {\n instances.set(LegacyNetworks.SOLANA, solana);\n }\n\n return instances;\n}\n\nexport function evmTrustWallet(): EvmProviderApi {\n const instances = trustWallet();\n\n const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);\n\n if (!evmInstance) {\n throw new Error(\n 'TrustWallet not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\n\nexport function solanaTrustWallet(): SolanaProviderApi {\n const instance = trustWallet();\n const solanaInstance = instance?.get(LegacyNetworks.SOLANA);\n\n if (!solanaInstance) {\n throw new Error(\n 'TrustWallet not injected or Solana not enabled. Please check your wallet.'\n );\n }\n\n return solanaInstance as SolanaProviderApi;\n}\n\n// Considering that the errors thrown in Trust Wallet in-app browser do not follow EIP-1193, we detect such errors and standardize them.\nexport function standardizeTrustWalletInAppBrowserError(\n _context: Context,\n error: unknown\n) {\n if (typeof error === 'string' && error === 'cancelled') {\n const error = new Error('User rejected the request') as Error & {\n code: number;\n };\n error.code = 4001;\n return error;\n }\n return error;\n}\n", "import type { Provider } from '../utils.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';\nimport { getNetworkInstance } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Networks.SOLANA);\n\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');\n const { CustomSolanaSigner } = await import('./signers/solanaSigner.js');\n\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n signers.registerSigner(TxType.SOLANA, new CustomSolanaSigner(solProvider));\n\n return signers;\n}\n", "import { ProviderBuilder } from '@rango-dev/wallets-core';\n\nimport { info, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { trustWallet as trustwalletInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n if (trustwalletInstance()) {\n setState('installed', true);\n console.debug('[trustwallet] instance detected.', context);\n }\n })\n .config('info', info)\n .add('evm', evm)\n .add('solana', solana)\n .build();\n\nexport { buildProvider };\n", "import { type ProviderInfo } from '@rango-dev/wallets-core';\nimport {\n type BlockchainMeta,\n evmBlockchains,\n solanaBlockchain,\n} from 'rango-types';\n\nexport const WALLET_ID = 'trust-wallet';\n\nexport const info: ProviderInfo = {\n name: 'Trust Wallet',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/trustwallet/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph',\n brave:\n 'https://chrome.google.com/webstore/detail/trust-wallet/egjidjbpglichdcondbcbdnbeeppgdph',\n homepage: 'https://trustwallet.com/browser-extension',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n },\n ],\n};\n", "import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport { actions, builders } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { WALLET_ID } from '../constants.js';\nimport {\n evmTrustWallet,\n standardizeTrustWalletInAppBrowserError,\n} from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n actions.changeAccountSubscriber(evmTrustWallet);\n\nconst connect = builders\n .connect()\n .action(actions.connect(evmTrustWallet))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeTrustWalletInAppBrowserError)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .build();\n\nexport { evm };\n", "import type { SolanaActions } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport { actions, builders } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { WALLET_ID } from '../constants.js';\nimport {\n solanaTrustWallet,\n standardizeTrustWalletInAppBrowserError,\n} from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n actions.changeAccountSubscriber(solanaTrustWallet);\n\nconst connect = builders\n .connect()\n .action(actions.connect(solanaTrustWallet))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeTrustWalletInAppBrowserError)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .build();\n\nexport { solana };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["solanaSigner_exports", "__export", "CustomSolanaSigner", "DefaultSolanaSigner", "base58", "init_solanaSigner", "__esmMin", "__name", "msg", "signature", "defineVersions", "canSwitchNetworkToEvm", "getEvmAccounts", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "solanaBlockchain", "LegacyNetworks", "trustWallet", "trustwallet", "instances", "LegacyNetworks", "solana", "__name", "evmTrustWallet", "evmInstance", "solanaTrustWallet", "solanaInstance", "standardizeTrustWalletInAppBrowserError", "_context", "error", "Networks", "getNetworkInstance", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "CustomSolanaSigner", "TxType", "__name", "WALLET", "WalletTypes", "config", "getInstance", "trustWallet", "connect", "__name", "instance", "accounts", "chainId", "getEvmAccounts", "subscribe", "subscribeToEvm", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains", "solana", "solanaBlockchain", "allBlockchains", "buildLegacyProvider", "ProviderBuilder", "evmBlockchains", "solanaBlockchain", "WALLET_ID", "info", "allBlockchains", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "actions", "builders", "changeAccountSubscriber", "changeAccountCleanup", "actions", "evmTrustWallet", "connect", "builders", "standardizeTrustWalletInAppBrowserError", "standardizeAndThrowError", "disconnect", "commonBuilders", "evm", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "actions", "builders", "changeAccountSubscriber", "changeAccountCleanup", "actions", "solanaTrustWallet", "connect", "builders", "standardizeTrustWalletInAppBrowserError", "standardizeAndThrowError", "disconnect", "commonBuilders", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "trustWallet", "info", "evm", "solana", "versions", "__name", "defineVersions", "buildLegacyProvider", "buildProvider"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/namespaces/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/namespaces/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAgCzE,QAAA,MAAM,GAAG,gEAGC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/namespaces/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/namespaces/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAgC/E,QAAA,MAAM,MAAM,mEAGF,CAAC;AAEX,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/utils.ts":{"bytes":
|
|
1
|
+
{"inputs":{"src/utils.ts":{"bytes":1973,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/signers/solanaSigner.ts":{"bytes":322,"imports":[{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/signer.ts":{"bytes":914,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"src/legacy/signers/solanaSigner.ts","kind":"dynamic-import","original":"./signers/solanaSigner.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/index.ts":{"bytes":2725,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"},{"path":"src/legacy/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1242,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/evm.ts":{"bytes":1052,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/evm","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/namespaces/solana.ts":{"bytes":1085,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/solana","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/provider.ts":{"bytes":675,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/evm.ts","kind":"import-statement","original":"./namespaces/evm.js"},{"path":"src/namespaces/solana.ts","kind":"import-statement","original":"./namespaces/solana.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":332,"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"src/legacy/index.ts","kind":"import-statement","original":"./legacy/index.js"},{"path":"src/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":17219},"dist/mod.js":{"imports":[{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/evm","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/solana","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/legacy/signers/solanaSigner.ts":{"bytesInOutput":304},"src/mod.ts":{"bytesInOutput":144},"src/legacy/index.ts":{"bytesInOutput":1205},"src/utils.ts":{"bytesInOutput":786},"src/legacy/signer.ts":{"bytesInOutput":485},"src/provider.ts":{"bytesInOutput":266},"src/constants.ts":{"bytesInOutput":702},"src/namespaces/evm.ts":{"bytesInOutput":437},"src/namespaces/solana.ts":{"bytesInOutput":445}},"bytes":5006}}}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import type { Context } from '@rango-dev/wallets-core';
|
|
1
2
|
import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
|
|
2
3
|
import type { ProviderAPI as SolanaProviderApi } from '@rango-dev/wallets-core/namespaces/solana';
|
|
3
4
|
export type Provider = Record<string, any>;
|
|
4
5
|
export declare function trustWallet(): Provider | null;
|
|
5
6
|
export declare function evmTrustWallet(): EvmProviderApi;
|
|
6
7
|
export declare function solanaTrustWallet(): SolanaProviderApi;
|
|
8
|
+
export declare function standardizeTrustWalletInAppBrowserError(_context: Context, error: unknown): unknown;
|
|
7
9
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAC5F,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAIlG,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC3C,wBAAgB,WAAW,IAAI,QAAQ,GAAG,IAAI,CAgB7C;AAED,wBAAgB,cAAc,IAAI,cAAc,CAY/C;AAED,wBAAgB,iBAAiB,IAAI,iBAAiB,CAWrD;AAGD,wBAAgB,uCAAuC,CACrD,QAAQ,EAAE,OAAO,EACjB,KAAK,EAAE,OAAO,WAUf"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rango-dev/provider-trustwallet",
|
|
3
|
-
"version": "0.46.1-next.
|
|
3
|
+
"version": "0.46.1-next.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"source": "./src/mod.ts",
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@rango-dev/signer-evm": "^0.37.1-next.0",
|
|
25
|
-
"@rango-dev/wallets-shared": "^0.46.1-next.
|
|
25
|
+
"@rango-dev/wallets-shared": "^0.46.1-next.1",
|
|
26
26
|
"bs58": "^5.0.0",
|
|
27
27
|
"rango-types": "^0.1.88"
|
|
28
28
|
},
|
package/src/namespaces/evm.ts
CHANGED
|
@@ -8,7 +8,10 @@ import {
|
|
|
8
8
|
import { actions, builders } from '@rango-dev/wallets-core/namespaces/evm';
|
|
9
9
|
|
|
10
10
|
import { WALLET_ID } from '../constants.js';
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
evmTrustWallet,
|
|
13
|
+
standardizeTrustWalletInAppBrowserError,
|
|
14
|
+
} from '../utils.js';
|
|
12
15
|
|
|
13
16
|
const [changeAccountSubscriber, changeAccountCleanup] =
|
|
14
17
|
actions.changeAccountSubscriber(evmTrustWallet);
|
|
@@ -18,6 +21,7 @@ const connect = builders
|
|
|
18
21
|
.action(actions.connect(evmTrustWallet))
|
|
19
22
|
.before(changeAccountSubscriber)
|
|
20
23
|
.or(changeAccountCleanup)
|
|
24
|
+
.or(standardizeTrustWalletInAppBrowserError)
|
|
21
25
|
.or(standardizeAndThrowError)
|
|
22
26
|
.build();
|
|
23
27
|
|
package/src/namespaces/solana.ts
CHANGED
|
@@ -8,7 +8,10 @@ import {
|
|
|
8
8
|
import { actions, builders } from '@rango-dev/wallets-core/namespaces/solana';
|
|
9
9
|
|
|
10
10
|
import { WALLET_ID } from '../constants.js';
|
|
11
|
-
import {
|
|
11
|
+
import {
|
|
12
|
+
solanaTrustWallet,
|
|
13
|
+
standardizeTrustWalletInAppBrowserError,
|
|
14
|
+
} from '../utils.js';
|
|
12
15
|
|
|
13
16
|
const [changeAccountSubscriber, changeAccountCleanup] =
|
|
14
17
|
actions.changeAccountSubscriber(solanaTrustWallet);
|
|
@@ -18,6 +21,7 @@ const connect = builders
|
|
|
18
21
|
.action(actions.connect(solanaTrustWallet))
|
|
19
22
|
.before(changeAccountSubscriber)
|
|
20
23
|
.or(changeAccountCleanup)
|
|
24
|
+
.or(standardizeTrustWalletInAppBrowserError)
|
|
21
25
|
.or(standardizeAndThrowError)
|
|
22
26
|
.build();
|
|
23
27
|
|
package/src/utils.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import type { Context } from '@rango-dev/wallets-core';
|
|
1
2
|
import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
|
|
2
3
|
import type { ProviderAPI as SolanaProviderApi } from '@rango-dev/wallets-core/namespaces/solana';
|
|
3
4
|
|
|
4
5
|
import { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
|
|
5
|
-
|
|
6
6
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
7
7
|
export type Provider = Record<string, any>;
|
|
8
8
|
export function trustWallet(): Provider | null {
|
|
@@ -49,3 +49,18 @@ export function solanaTrustWallet(): SolanaProviderApi {
|
|
|
49
49
|
|
|
50
50
|
return solanaInstance as SolanaProviderApi;
|
|
51
51
|
}
|
|
52
|
+
|
|
53
|
+
// Considering that the errors thrown in Trust Wallet in-app browser do not follow EIP-1193, we detect such errors and standardize them.
|
|
54
|
+
export function standardizeTrustWalletInAppBrowserError(
|
|
55
|
+
_context: Context,
|
|
56
|
+
error: unknown
|
|
57
|
+
) {
|
|
58
|
+
if (typeof error === 'string' && error === 'cancelled') {
|
|
59
|
+
const error = new Error('User rejected the request') as Error & {
|
|
60
|
+
code: number;
|
|
61
|
+
};
|
|
62
|
+
error.code = 4001;
|
|
63
|
+
return error;
|
|
64
|
+
}
|
|
65
|
+
return error;
|
|
66
|
+
}
|