@rango-dev/provider-trustwallet 0.63.1-next.1 → 0.63.1-next.3
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.d.ts +1 -0
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +1 -1
- package/dist/mod.js.map +3 -3
- package/dist/signer.d.ts.map +1 -1
- package/dist/utils.d.ts +8 -1
- package/dist/utils.d.ts.map +1 -1
- package/package.json +8 -8
- package/src/mod.ts +1 -0
- package/src/signer.ts +10 -14
- package/src/utils.ts +10 -4
package/dist/mod.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
declare const versions: () => readonly [readonly ["1.0.0", import("@hub3js/core").Provider<Record<"evm", import("@hub3js/evm").EvmActions> & Record<"solana", import("@hub3js/solana").SolanaActions>>]];
|
|
2
2
|
export { versions };
|
|
3
|
+
export { WALLET_ID } from './constants.js';
|
|
3
4
|
//# sourceMappingURL=mod.d.ts.map
|
package/dist/mod.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,QAAQ,kLAC8C,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,QAAQ,kLAC8C,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,CAAC;AACpB,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC"}
|
package/dist/mod.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var f=Object.defineProperty;var
|
|
1
|
+
var f=Object.defineProperty;var o=(e,t)=>f(e,"name",{value:t,configurable:!0});var N=(e,t)=>()=>(e&&(t=e(e=0)),t);var C=(e,t)=>{for(var r in t)f(e,r,{get:t[r],enumerable:!0})};var g={};C(g,{CustomSolanaSigner:()=>l});import{DefaultSolanaSigner as L}from"@rango-dev/signer-solana";import _ from"bs58";var l,b=N(()=>{"use strict";l=class extends L{static{o(this,"CustomSolanaSigner")}async signMessage(t){let r=(await this.provider.signMessage(t))?.signature;return _.encode(r)}}});import{defineVersions as ot}from"@hub3js/core/utils";import{ProviderBuilder as rt}from"@hub3js/core";import{isEvmNamespace as V}from"@hub3js/evm";import{isSolanaNamespace as D}from"@hub3js/solana";import{EVM_NAMESPACE as B,SOLANA_NAMESPACE as k}from"@hub3js/namespaces";import{DefaultSignerFactory as O,TransactionType as A}from"rango-types";async function m(e){let t=e.get(B),r=e.get(k),c=new O,{DefaultEvmSigner:W}=await import("@rango-dev/signer-evm"),{CustomSolanaSigner:j}=await Promise.resolve().then(()=>(b(),g));return t&&c.registerSigner(A.EVM,new W(t)),r&&c.registerSigner(A.SOLANA,new j(r)),c}o(m,"getSigners");import{EVM_NAMESPACE as h,SOLANA_NAMESPACE as w}from"@hub3js/namespaces";function a(){let{trustwallet:e}=window;if(!e||!(e?.isTrust||e?.isTrustWallet))return null;let t=new Map;t.set(h,e);let{solana:r}=e;return r&&r.isTrustWallet&&t.set(w,r),t}o(a,"trustWallet");function v(){let e=a();if(!e)throw new Error("Trust Wallet is not injected. Please check your wallet.");return e}o(v,"getInstanceOrThrow");function i(){let t=a()?.get(h);if(!t)throw new Error("TrustWallet not injected or EVM not enabled. Please check your wallet.");return t}o(i,"evmTrustWallet");function p(){let t=a()?.get(w);if(!t)throw new Error("TrustWallet not injected or Solana not enabled. Please check your wallet.");return t}o(p,"solanaTrustWallet");function s(e,t){if(typeof t=="string"&&t==="cancelled"){let r=new Error("User rejected the request");return r.code=4001,r}return t}o(s,"standardizeTrustWalletInAppBrowserError");var n="trust-wallet",E={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",isChainSupported:V},{label:"Solana",value:"Solana",id:"SOLANA",isChainSupported:D}]}},{name:"signers",value:{getSigners:async()=>m(v())}}]};import{NamespaceBuilder as z}from"@hub3js/core";import{actions as d,builders as u,hooks as F}from"@hub3js/evm";import*as S from"@hub3js/std/builders";import{standardizeAndThrowError as q}from"@hub3js/std/operators";var[H,P]=F.changeAccountSubscriber(i),U=u.connect().action(d.connect(i)).before(H).or(P).or(s).or(q).build(),G=S.disconnect().after(P).build(),J=u.canSwitchNetwork().action(d.canSwitchNetwork()).build(),K=u.getChainId().action(d.getChainId(i)).build(),T=new z("EVM",n).action(U).action(G).action(J).action(K).build();import{NamespaceBuilder as Q}from"@hub3js/core";import{actions as R,builders as X,hooks as Y}from"@hub3js/solana";import*as y from"@hub3js/std/builders";import{standardizeAndThrowError as Z}from"@hub3js/std/operators";var[$,x]=Y.changeAccountSubscriber(p),tt=X.connect().action(R.connect(p)).before($).or(x).or(s).or(Z).build(),et=y.disconnect().after(x).build(),M=new Q("Solana",n).action(tt).action(et).build();var I=o(()=>new rt(n).init(function(e){let[,t]=e.state();a()&&(t("installed",!0),console.debug("[trustwallet] instance detected.",e))}).config("metadata",E).add("evm",T).add("solana",M).build(),"buildProvider");var Ft=o(()=>ot().version("1.0.0",I()).build(),"versions");export{n as WALLET_ID,Ft 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/signers/solanaSigner.ts", "../src/mod.ts", "../src/provider.ts", "../src/constants.ts", "../src/signer.ts", "../src/utils.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 '@hub3js/core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\n", "import { ProviderBuilder } from '@hub3js/core';\n\nimport { metadata, 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('metadata', metadata)\n .add('evm', evm)\n .add('solana', solana)\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport { isEvmNamespace } from '@hub3js/evm';\nimport { isSolanaNamespace } from '@hub3js/solana';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'trust-wallet';\n\nexport const metadata: ProviderMetadata = {\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 isChainSupported: isEvmNamespace,\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n isChainSupported: isSolanaNamespace,\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { Provider } from './utils.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { EVM_NAMESPACE, SOLANA_NAMESPACE } from '@hub3js/namespaces';\nimport {
|
|
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,qBCA/B,OAAS,mBAAAC,OAAuB,eCEhC,OAAS,kBAAAC,MAAsB,cAC/B,OAAS,qBAAAC,MAAyB,iBCAlC,OAAS,iBAAAC,EAAe,oBAAAC,MAAwB,qBAChD,
|
|
6
|
-
"names": ["solanaSigner_exports", "__export", "CustomSolanaSigner", "DefaultSolanaSigner", "base58", "init_solanaSigner", "__esmMin", "__name", "msg", "signature", "defineVersions", "ProviderBuilder", "isEvmNamespace", "isSolanaNamespace", "EVM_NAMESPACE", "SOLANA_NAMESPACE", "
|
|
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 '@hub3js/core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\nexport { WALLET_ID } from './constants.js';\n", "import { ProviderBuilder } from '@hub3js/core';\n\nimport { metadata, 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('metadata', metadata)\n .add('evm', evm)\n .add('solana', solana)\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport { isEvmNamespace } from '@hub3js/evm';\nimport { isSolanaNamespace } from '@hub3js/solana';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'trust-wallet';\n\nexport const metadata: ProviderMetadata = {\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 isChainSupported: isEvmNamespace,\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n isChainSupported: isSolanaNamespace,\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { Provider } from './utils.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { EVM_NAMESPACE, SOLANA_NAMESPACE } from '@hub3js/namespaces';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = provider.get(EVM_NAMESPACE);\n const solProvider = provider.get(SOLANA_NAMESPACE);\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 if (!!ethProvider) {\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n }\n if (!!solProvider) {\n signers.registerSigner(TxType.SOLANA, new CustomSolanaSigner(solProvider));\n }\n\n return signers;\n}\n", "import type { Context } from '@hub3js/core';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';\nimport type { InstanceMap } from '@hub3js/std/types';\nimport type { SolanaExternalProvider } from '@rango-dev/signer-solana';\n\nimport { EVM_NAMESPACE, SOLANA_NAMESPACE } from '@hub3js/namespaces';\n\nexport type ProviderObject = {\n [EVM_NAMESPACE]: EvmProviderApi;\n [SOLANA_NAMESPACE]: SolanaExternalProvider;\n};\nexport type Provider = InstanceMap<ProviderObject>;\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(EVM_NAMESPACE, trustwallet);\n const { solana } = trustwallet;\n if (solana && solana.isTrustWallet) {\n instances.set(SOLANA_NAMESPACE, solana);\n }\n\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = trustWallet();\n\n if (!instances) {\n throw new Error('Trust Wallet is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function evmTrustWallet(): EvmProviderApi {\n const instances = trustWallet();\n\n const evmInstance = instances?.get(EVM_NAMESPACE);\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;\n}\n\nexport function solanaTrustWallet(): SolanaProviderApi {\n const instance = trustWallet();\n const solanaInstance = instance?.get(SOLANA_NAMESPACE);\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;\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 { EvmActions } from '@hub3js/evm';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, hooks } from '@hub3js/evm';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport {\n evmTrustWallet,\n standardizeTrustWalletInAppBrowserError,\n} from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n hooks.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 canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmTrustWallet))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canSwitchNetwork)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import type { SolanaActions } from '@hub3js/solana';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, hooks } from '@hub3js/solana';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport {\n solanaTrustWallet,\n standardizeTrustWalletInAppBrowserError,\n} from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n hooks.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", "ProviderBuilder", "isEvmNamespace", "isSolanaNamespace", "EVM_NAMESPACE", "SOLANA_NAMESPACE", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "EVM_NAMESPACE", "solProvider", "SOLANA_NAMESPACE", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "CustomSolanaSigner", "TxType", "__name", "EVM_NAMESPACE", "SOLANA_NAMESPACE", "trustWallet", "trustwallet", "instances", "EVM_NAMESPACE", "solana", "SOLANA_NAMESPACE", "__name", "getInstanceOrThrow", "evmTrustWallet", "evmInstance", "solanaTrustWallet", "solanaInstance", "standardizeTrustWalletInAppBrowserError", "_context", "error", "WALLET_ID", "metadata", "isEvmNamespace", "isSolanaNamespace", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "actions", "builders", "hooks", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "hooks", "evmTrustWallet", "connect", "builders", "actions", "standardizeTrustWalletInAppBrowserError", "standardizeAndThrowError", "disconnect", "canSwitchNetwork", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "actions", "builders", "hooks", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "hooks", "solanaTrustWallet", "connect", "builders", "actions", "standardizeTrustWalletInAppBrowserError", "standardizeAndThrowError", "disconnect", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "trustWallet", "metadata", "evm", "solana", "versions", "__name", "defineVersions", "buildProvider"]
|
|
7
7
|
}
|
package/dist/signer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../src/signer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAKjD,wBAA8B,UAAU,CACtC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CAgBxB"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import type { Context } from '@hub3js/core';
|
|
2
2
|
import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
|
|
3
3
|
import type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';
|
|
4
|
-
|
|
4
|
+
import type { InstanceMap } from '@hub3js/std/types';
|
|
5
|
+
import type { SolanaExternalProvider } from '@rango-dev/signer-solana';
|
|
6
|
+
import { EVM_NAMESPACE, SOLANA_NAMESPACE } from '@hub3js/namespaces';
|
|
7
|
+
export type ProviderObject = {
|
|
8
|
+
[EVM_NAMESPACE]: EvmProviderApi;
|
|
9
|
+
[SOLANA_NAMESPACE]: SolanaExternalProvider;
|
|
10
|
+
};
|
|
11
|
+
export type Provider = InstanceMap<ProviderObject>;
|
|
5
12
|
export declare function trustWallet(): Provider | null;
|
|
6
13
|
export declare function getInstanceOrThrow(): Provider;
|
|
7
14
|
export declare function evmTrustWallet(): EvmProviderApi;
|
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,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAC5C,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAErE,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;IAChC,CAAC,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;CAC5C,CAAC;AACF,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC;AACnD,wBAAgB,WAAW,IAAI,QAAQ,GAAG,IAAI,CAgB7C;AAED,wBAAgB,kBAAkB,IAAI,QAAQ,CAQ7C;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.63.1-next.
|
|
3
|
+
"version": "0.63.1-next.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"source": "./src/mod.ts",
|
|
@@ -22,13 +22,13 @@
|
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
24
|
"@hub3js/core": "^0.61.1",
|
|
25
|
-
"@hub3js/evm": "^0.
|
|
26
|
-
"@hub3js/namespaces": "^0.
|
|
27
|
-
"@hub3js/solana": "^0.
|
|
28
|
-
"@hub3js/std": "^0.
|
|
29
|
-
"@rango-dev/signer-evm": "^0.45.0",
|
|
30
|
-
"@rango-dev/
|
|
31
|
-
"@rango-dev/wallets-
|
|
25
|
+
"@hub3js/evm": "^0.4.0",
|
|
26
|
+
"@hub3js/namespaces": "^0.3.0",
|
|
27
|
+
"@hub3js/solana": "^0.4.0",
|
|
28
|
+
"@hub3js/std": "^0.3.0",
|
|
29
|
+
"@rango-dev/signer-evm": "^0.45.1-next.0",
|
|
30
|
+
"@rango-dev/signer-solana": "^0.49.0",
|
|
31
|
+
"@rango-dev/wallets-core": "^0.61.1-next.0",
|
|
32
32
|
"bs58": "^5.0.0",
|
|
33
33
|
"rango-types": "^0.5.0"
|
|
34
34
|
},
|
package/src/mod.ts
CHANGED
package/src/signer.ts
CHANGED
|
@@ -2,28 +2,24 @@ import type { Provider } from './utils.js';
|
|
|
2
2
|
import type { SignerFactory } from 'rango-types';
|
|
3
3
|
|
|
4
4
|
import { EVM_NAMESPACE, SOLANA_NAMESPACE } from '@hub3js/namespaces';
|
|
5
|
-
import {
|
|
6
|
-
dynamicImportWithRefinedError,
|
|
7
|
-
getNetworkInstance,
|
|
8
|
-
} from '@rango-dev/wallets-shared';
|
|
9
5
|
import { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';
|
|
10
6
|
|
|
11
7
|
export default async function getSigners(
|
|
12
8
|
provider: Provider
|
|
13
9
|
): Promise<SignerFactory> {
|
|
14
|
-
const ethProvider =
|
|
15
|
-
const solProvider =
|
|
10
|
+
const ethProvider = provider.get(EVM_NAMESPACE);
|
|
11
|
+
const solProvider = provider.get(SOLANA_NAMESPACE);
|
|
16
12
|
|
|
17
13
|
const signers = new DefaultSignerFactory();
|
|
18
|
-
const { DefaultEvmSigner } = await
|
|
19
|
-
|
|
20
|
-
);
|
|
21
|
-
const { CustomSolanaSigner } = await dynamicImportWithRefinedError(
|
|
22
|
-
async () => await import('./signers/solanaSigner.js')
|
|
23
|
-
);
|
|
14
|
+
const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');
|
|
15
|
+
const { CustomSolanaSigner } = await import('./signers/solanaSigner.js');
|
|
24
16
|
|
|
25
|
-
|
|
26
|
-
|
|
17
|
+
if (!!ethProvider) {
|
|
18
|
+
signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));
|
|
19
|
+
}
|
|
20
|
+
if (!!solProvider) {
|
|
21
|
+
signers.registerSigner(TxType.SOLANA, new CustomSolanaSigner(solProvider));
|
|
22
|
+
}
|
|
27
23
|
|
|
28
24
|
return signers;
|
|
29
25
|
}
|
package/src/utils.ts
CHANGED
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import type { Context } from '@hub3js/core';
|
|
2
2
|
import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
|
|
3
3
|
import type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';
|
|
4
|
+
import type { InstanceMap } from '@hub3js/std/types';
|
|
5
|
+
import type { SolanaExternalProvider } from '@rango-dev/signer-solana';
|
|
4
6
|
|
|
5
7
|
import { EVM_NAMESPACE, SOLANA_NAMESPACE } from '@hub3js/namespaces';
|
|
6
|
-
|
|
7
|
-
export type
|
|
8
|
+
|
|
9
|
+
export type ProviderObject = {
|
|
10
|
+
[EVM_NAMESPACE]: EvmProviderApi;
|
|
11
|
+
[SOLANA_NAMESPACE]: SolanaExternalProvider;
|
|
12
|
+
};
|
|
13
|
+
export type Provider = InstanceMap<ProviderObject>;
|
|
8
14
|
export function trustWallet(): Provider | null {
|
|
9
15
|
const { trustwallet } = window;
|
|
10
16
|
|
|
@@ -44,7 +50,7 @@ export function evmTrustWallet(): EvmProviderApi {
|
|
|
44
50
|
);
|
|
45
51
|
}
|
|
46
52
|
|
|
47
|
-
return evmInstance
|
|
53
|
+
return evmInstance;
|
|
48
54
|
}
|
|
49
55
|
|
|
50
56
|
export function solanaTrustWallet(): SolanaProviderApi {
|
|
@@ -57,7 +63,7 @@ export function solanaTrustWallet(): SolanaProviderApi {
|
|
|
57
63
|
);
|
|
58
64
|
}
|
|
59
65
|
|
|
60
|
-
return solanaInstance
|
|
66
|
+
return solanaInstance;
|
|
61
67
|
}
|
|
62
68
|
|
|
63
69
|
// Considering that the errors thrown in Trust Wallet in-app browser do not follow EIP-1193, we detect such errors and standardize them.
|