@rango-dev/provider-default 0.57.1-next.1 → 0.57.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/constants.d.ts +5 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/mod.d.ts +3 -0
- package/dist/mod.d.ts.map +1 -0
- package/dist/mod.js +2 -0
- package/dist/mod.js.map +7 -0
- package/dist/namespaces/evm.d.ts +4 -0
- package/dist/namespaces/evm.d.ts.map +1 -0
- package/dist/provider-default.build.json +1 -1
- package/dist/provider.d.ts +3 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/signer.d.ts +2 -2
- package/dist/signer.d.ts.map +1 -1
- package/dist/types.d.ts +8 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/utils.d.ts +6 -0
- package/dist/utils.d.ts.map +1 -0
- package/package.json +11 -8
- package/readme.md +4 -1
- package/src/constants.ts +42 -0
- package/src/mod.ts +8 -0
- package/src/namespaces/evm.ts +50 -0
- package/src/provider.ts +23 -0
- package/src/signer.ts +9 -4
- package/src/types.ts +11 -0
- package/src/utils.ts +46 -0
- package/dist/helpers.d.ts +0 -2
- package/dist/helpers.d.ts.map +0 -1
- package/dist/index.d.ts +0 -16
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +0 -7
- package/src/helpers.ts +0 -4
- package/src/index.ts +0 -69
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAOrD,eAAO,MAAM,SAAS,YAAY,CAAC;AACnC,eAAO,MAAM,eAAe,OAAO,CAAC;AAEpC,eAAO,MAAM,QAAQ,EAAE,gBA+BtB,CAAC"}
|
package/dist/mod.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,QAAQ,uHAC8C,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/mod.js
ADDED
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var h=Object.defineProperty;var o=(e,t)=>h(e,"name",{value:t,configurable:!0});import{defineVersions as V}from"@hub3js/core/utils";import{ProviderBuilder as B}from"@hub3js/core";import{evmBlockchains as A}from"rango-types";import{LegacyNetworks as y}from"@rango-dev/wallets-core/legacy";import{dynamicImportWithRefinedError as b,getNetworkInstance as I}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as P,TransactionType as T}from"rango-types";async function s(e){let t=I(e,y.ETHEREUM),m=new P,{DefaultEvmSigner:w}=await b(async()=>await import("@rango-dev/signer-evm"));return m.registerSigner(T.EVM,new w(t)),m}o(s,"getSigners");import{LegacyNetworks as d}from"@rango-dev/wallets-core/legacy";function n(){let{ethereum:e}=window;if(!e)return null;let t=new Map;return t.set(d.ETHEREUM,e),t}o(n,"defaultInjected");function u(){let e=n();if(!e)throw new Error("ethereum is not injected. Please check your wallet.");return e}o(u,"getInstanceOrThrow");function r(){let t=n()?.get(d.ETHEREUM);if(!t)throw new Error("No injected EVM provider found (window.ethereum). Please check your wallet.");return t}o(r,"evmDefault");var i="default",p=1e3,l={name:"Default",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/default/icon.svg",extensions:{},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:e=>A(e)}]}},{name:"signers",value:{getSigners:async()=>s(u())}}]};import{NamespaceBuilder as S}from"@hub3js/core";import{actions as a,builders as c,hooks as k}from"@hub3js/evm";import*as f from"@hub3js/std/builders";import{standardizeAndThrowError as M}from"@hub3js/std/operators";var[N,g]=k.changeAccountSubscriber(r),x=c.connect().action(a.connect(r)).before(N).or(g).or(M).build(),C=f.disconnect().after(g).build(),D=c.canSwitchNetwork().action(a.canSwitchNetwork()).build(),L=c.canEagerConnect().action(a.canEagerConnect(r)).build(),j=c.getChainId().action(a.getChainId(r)).build(),v=new S("EVM",i).action(x).action(C).action(L).action(D).action(j).build();var E=o(()=>new B(i).init(function(e){let[,t]=e.state();setTimeout(()=>{n()&&(t("installed",!0),console.debug("[default] instance detected.",e))},p)}).config("metadata",l).add("evm",v).build(),"buildProvider");var de=o(()=>V().version("1.0.0",E()).build(),"versions");export{de as versions};
|
|
2
|
+
//# sourceMappingURL=mod.js.map
|
package/dist/mod.js.map
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
{
|
|
2
|
+
"version": 3,
|
|
3
|
+
"sources": ["../src/mod.ts", "../src/provider.ts", "../src/constants.ts", "../src/signer.ts", "../src/utils.ts", "../src/namespaces/evm.ts"],
|
|
4
|
+
"sourcesContent": ["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 { INJECTION_DELAY, metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { defaultInjected } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n setTimeout(() => {\n if (defaultInjected()) {\n setState('installed', true);\n console.debug('[default] instance detected.', context);\n }\n }, INJECTION_DELAY);\n })\n .config('metadata', metadata)\n .add('evm', evm)\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport { type BlockchainMeta, evmBlockchains } from 'rango-types';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'default';\nexport const INJECTION_DELAY = 1000;\n\nexport const metadata: ProviderMetadata = {\n name: 'Default',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/default/icon.svg',\n /*\n * `default` is the fallback for any unrecognized injected EVM provider, so it\n * is only ever shown when `window.ethereum` is already present (see\n * `shouldShowDefaultInjectedWallet` in the widget). Its install link is never\n * surfaced, so there is no real homepage/extension to point users to.\n */\n extensions: {},\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 },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { Provider } from './types.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n} 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 evmProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-evm')\n );\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(evmProvider));\n return signers;\n}\n", "import type { Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\n\n/*\n * `provider-default` is the catch-all fallback for any injected EVM provider\n * (`window.ethereum`) when no known wallet has been detected, so detection is\n * intentionally permissive: any injected `ethereum` instance is accepted.\n */\nexport function defaultInjected(): Provider | null {\n const { ethereum } = window;\n\n if (!ethereum) {\n return null;\n }\n\n const instances = new Map();\n instances.set(LegacyNetworks.ETHEREUM, ethereum);\n\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = defaultInjected();\n\n if (!instances) {\n throw new Error('ethereum is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function evmDefault(): EvmProviderApi {\n const instances = defaultInjected();\n\n const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);\n\n if (!evmInstance) {\n throw new Error(\n 'No injected EVM provider found (window.ethereum). Please check your wallet.'\n );\n }\n\n return evmInstance;\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 { evmDefault } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] =\n hooks.changeAccountSubscriber(evmDefault);\n\nconst connect = builders\n .connect()\n .action(actions.connect(evmDefault))\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 canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmDefault))\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmDefault))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .action(canSwitchNetwork)\n .action(getChainId)\n .build();\n\nexport { evm };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["defineVersions", "ProviderBuilder", "evmBlockchains", "Networks", "dynamicImportWithRefinedError", "getNetworkInstance", "DefaultSignerFactory", "TxType", "getSigners", "provider", "evmProvider", "getNetworkInstance", "Networks", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "__name", "LegacyNetworks", "defaultInjected", "ethereum", "instances", "LegacyNetworks", "__name", "getInstanceOrThrow", "evmDefault", "evmInstance", "WALLET_ID", "INJECTION_DELAY", "metadata", "allBlockchains", "evmBlockchains", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "actions", "builders", "hooks", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "hooks", "evmDefault", "connect", "builders", "actions", "standardizeAndThrowError", "disconnect", "canSwitchNetwork", "canEagerConnect", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "defaultInjected", "INJECTION_DELAY", "metadata", "evm", "versions", "__name", "defineVersions", "buildProvider"]
|
|
7
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/namespaces/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAyC9C,QAAA,MAAM,GAAG,qDAMC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/
|
|
1
|
+
{"inputs":{"src/signer.ts":{"bytes":780,"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":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":1176,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1252,"imports":[{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/namespaces/evm.ts":{"bytes":1287,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/evm","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","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":650,"imports":[{"path":"@hub3js/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/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":209,"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"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":9099},"dist/mod.js":{"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"@hub3js/core","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-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/legacy","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/evm","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":110},"src/provider.ts":{"bytesInOutput":257},"src/constants.ts":{"bytesInOutput":376},"src/signer.ts":{"bytesInOutput":421},"src/utils.ts":{"bytesInOutput":487},"src/namespaces/evm.ts":{"bytesInOutput":595}},"bytes":2381}}}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,aAAa,wFAcP,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/signer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Provider } from './types.js';
|
|
2
2
|
import type { SignerFactory } from 'rango-types';
|
|
3
|
-
export default function getSigners(provider:
|
|
3
|
+
export default function getSigners(provider: Provider): Promise<SignerFactory>;
|
|
4
4
|
//# sourceMappingURL=signer.d.ts.map
|
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,
|
|
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;AASjD,wBAA8B,UAAU,CACtC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CAQxB"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
|
|
2
|
+
import type { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
|
|
3
|
+
type ProviderObject = {
|
|
4
|
+
[LegacyNetworks.ETHEREUM]: EvmProviderApi;
|
|
5
|
+
};
|
|
6
|
+
export type Provider = Map<keyof ProviderObject, ProviderObject[keyof ProviderObject]>;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAErE,KAAK,cAAc,GAAG;IACpB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3C,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,GAAG,CACxB,MAAM,cAAc,EACpB,cAAc,CAAC,MAAM,cAAc,CAAC,CACrC,CAAC"}
|
package/dist/utils.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { Provider } from './types.js';
|
|
2
|
+
import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
|
|
3
|
+
export declare function defaultInjected(): Provider | null;
|
|
4
|
+
export declare function getInstanceOrThrow(): Provider;
|
|
5
|
+
export declare function evmDefault(): EvmProviderApi;
|
|
6
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AASjE,wBAAgB,eAAe,IAAI,QAAQ,GAAG,IAAI,CAWjD;AAED,wBAAgB,kBAAkB,IAAI,QAAQ,CAQ7C;AAED,wBAAgB,UAAU,IAAI,cAAc,CAY3C"}
|
package/package.json
CHANGED
|
@@ -1,32 +1,35 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rango-dev/provider-default",
|
|
3
|
-
"version": "0.57.1-next.
|
|
3
|
+
"version": "0.57.1-next.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
|
-
"source": "./src/
|
|
7
|
-
"main": "./dist/
|
|
6
|
+
"source": "./src/mod.ts",
|
|
7
|
+
"main": "./dist/mod.js",
|
|
8
8
|
"exports": {
|
|
9
|
-
".": "./dist/
|
|
9
|
+
".": "./dist/mod.js"
|
|
10
10
|
},
|
|
11
|
-
"typings": "dist/
|
|
11
|
+
"typings": "dist/mod.d.ts",
|
|
12
12
|
"files": [
|
|
13
13
|
"dist",
|
|
14
14
|
"src"
|
|
15
15
|
],
|
|
16
16
|
"scripts": {
|
|
17
|
-
"build": "node ../../scripts/build/command.mjs --path wallets/provider-default",
|
|
17
|
+
"build": "node ../../scripts/build/command.mjs --path wallets/provider-default --inputs src/mod.ts",
|
|
18
18
|
"ts-check": "tsc --declaration --emitDeclarationOnly -p ./tsconfig.json",
|
|
19
19
|
"clean": "rimraf dist",
|
|
20
20
|
"format": "prettier --write '{.,src}/**/*.{ts,tsx}'",
|
|
21
21
|
"lint": "eslint \"**/*.{ts,tsx}\""
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
+
"@hub3js/core": "^0.60.1",
|
|
24
25
|
"@hub3js/evm": "^0.2.1",
|
|
26
|
+
"@hub3js/std": "^0.1.1",
|
|
25
27
|
"@rango-dev/signer-evm": "^0.42.0",
|
|
26
|
-
"@rango-dev/wallets-
|
|
28
|
+
"@rango-dev/wallets-core": "^0.59.1-next.1",
|
|
29
|
+
"@rango-dev/wallets-shared": "^0.60.1-next.2",
|
|
27
30
|
"rango-types": "^0.5.0"
|
|
28
31
|
},
|
|
29
32
|
"publishConfig": {
|
|
30
33
|
"access": "public"
|
|
31
34
|
}
|
|
32
|
-
}
|
|
35
|
+
}
|
package/readme.md
CHANGED
package/src/constants.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { ProviderMetadata } from '@hub3js/core';
|
|
2
|
+
|
|
3
|
+
import { type BlockchainMeta, evmBlockchains } from 'rango-types';
|
|
4
|
+
|
|
5
|
+
import getSigners from './signer.js';
|
|
6
|
+
import { getInstanceOrThrow } from './utils.js';
|
|
7
|
+
|
|
8
|
+
export const WALLET_ID = 'default';
|
|
9
|
+
export const INJECTION_DELAY = 1000;
|
|
10
|
+
|
|
11
|
+
export const metadata: ProviderMetadata = {
|
|
12
|
+
name: 'Default',
|
|
13
|
+
icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/default/icon.svg',
|
|
14
|
+
/*
|
|
15
|
+
* `default` is the fallback for any unrecognized injected EVM provider, so it
|
|
16
|
+
* is only ever shown when `window.ethereum` is already present (see
|
|
17
|
+
* `shouldShowDefaultInjectedWallet` in the widget). Its install link is never
|
|
18
|
+
* surfaced, so there is no real homepage/extension to point users to.
|
|
19
|
+
*/
|
|
20
|
+
extensions: {},
|
|
21
|
+
properties: [
|
|
22
|
+
{
|
|
23
|
+
name: 'namespaces',
|
|
24
|
+
value: {
|
|
25
|
+
selection: 'multiple',
|
|
26
|
+
data: [
|
|
27
|
+
{
|
|
28
|
+
label: 'EVM',
|
|
29
|
+
value: 'EVM',
|
|
30
|
+
id: 'ETH',
|
|
31
|
+
getSupportedChains: (allBlockchains: BlockchainMeta[]) =>
|
|
32
|
+
evmBlockchains(allBlockchains),
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
name: 'signers',
|
|
39
|
+
value: { getSigners: async () => getSigners(getInstanceOrThrow()) },
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
};
|
package/src/mod.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import type { EvmActions } from '@hub3js/evm';
|
|
2
|
+
|
|
3
|
+
import { NamespaceBuilder } from '@hub3js/core';
|
|
4
|
+
import { actions, builders, hooks } from '@hub3js/evm';
|
|
5
|
+
import * as commonBuilders from '@hub3js/std/builders';
|
|
6
|
+
import { standardizeAndThrowError } from '@hub3js/std/operators';
|
|
7
|
+
|
|
8
|
+
import { WALLET_ID } from '../constants.js';
|
|
9
|
+
import { evmDefault } from '../utils.js';
|
|
10
|
+
|
|
11
|
+
const [changeAccountSubscriber, changeAccountCleanup] =
|
|
12
|
+
hooks.changeAccountSubscriber(evmDefault);
|
|
13
|
+
|
|
14
|
+
const connect = builders
|
|
15
|
+
.connect()
|
|
16
|
+
.action(actions.connect(evmDefault))
|
|
17
|
+
.before(changeAccountSubscriber)
|
|
18
|
+
.or(changeAccountCleanup)
|
|
19
|
+
.or(standardizeAndThrowError)
|
|
20
|
+
.build();
|
|
21
|
+
|
|
22
|
+
const disconnect = commonBuilders
|
|
23
|
+
.disconnect<EvmActions>()
|
|
24
|
+
.after(changeAccountCleanup)
|
|
25
|
+
.build();
|
|
26
|
+
|
|
27
|
+
const canSwitchNetwork = builders
|
|
28
|
+
.canSwitchNetwork()
|
|
29
|
+
.action(actions.canSwitchNetwork())
|
|
30
|
+
.build();
|
|
31
|
+
|
|
32
|
+
const canEagerConnect = builders
|
|
33
|
+
.canEagerConnect()
|
|
34
|
+
.action(actions.canEagerConnect(evmDefault))
|
|
35
|
+
.build();
|
|
36
|
+
|
|
37
|
+
const getChainId = builders
|
|
38
|
+
.getChainId()
|
|
39
|
+
.action(actions.getChainId(evmDefault))
|
|
40
|
+
.build();
|
|
41
|
+
|
|
42
|
+
const evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)
|
|
43
|
+
.action(connect)
|
|
44
|
+
.action(disconnect)
|
|
45
|
+
.action(canEagerConnect)
|
|
46
|
+
.action(canSwitchNetwork)
|
|
47
|
+
.action(getChainId)
|
|
48
|
+
.build();
|
|
49
|
+
|
|
50
|
+
export { evm };
|
package/src/provider.ts
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { ProviderBuilder } from '@hub3js/core';
|
|
2
|
+
|
|
3
|
+
import { INJECTION_DELAY, metadata, WALLET_ID } from './constants.js';
|
|
4
|
+
import { evm } from './namespaces/evm.js';
|
|
5
|
+
import { defaultInjected } from './utils.js';
|
|
6
|
+
|
|
7
|
+
const buildProvider = () =>
|
|
8
|
+
new ProviderBuilder(WALLET_ID)
|
|
9
|
+
.init(function (context) {
|
|
10
|
+
const [, setState] = context.state();
|
|
11
|
+
|
|
12
|
+
setTimeout(() => {
|
|
13
|
+
if (defaultInjected()) {
|
|
14
|
+
setState('installed', true);
|
|
15
|
+
console.debug('[default] instance detected.', context);
|
|
16
|
+
}
|
|
17
|
+
}, INJECTION_DELAY);
|
|
18
|
+
})
|
|
19
|
+
.config('metadata', metadata)
|
|
20
|
+
.add('evm', evm)
|
|
21
|
+
.build();
|
|
22
|
+
|
|
23
|
+
export { buildProvider };
|
package/src/signer.ts
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { Provider } from './types.js';
|
|
2
2
|
import type { SignerFactory } from 'rango-types';
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';
|
|
5
|
+
import {
|
|
6
|
+
dynamicImportWithRefinedError,
|
|
7
|
+
getNetworkInstance,
|
|
8
|
+
} from '@rango-dev/wallets-shared';
|
|
5
9
|
import { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';
|
|
6
10
|
|
|
7
11
|
export default async function getSigners(
|
|
8
|
-
provider:
|
|
12
|
+
provider: Provider
|
|
9
13
|
): Promise<SignerFactory> {
|
|
14
|
+
const evmProvider = getNetworkInstance(provider, Networks.ETHEREUM);
|
|
10
15
|
const signers = new DefaultSignerFactory();
|
|
11
16
|
const { DefaultEvmSigner } = await dynamicImportWithRefinedError(
|
|
12
17
|
async () => await import('@rango-dev/signer-evm')
|
|
13
18
|
);
|
|
14
|
-
signers.registerSigner(TxType.EVM, new DefaultEvmSigner(
|
|
19
|
+
signers.registerSigner(TxType.EVM, new DefaultEvmSigner(evmProvider));
|
|
15
20
|
return signers;
|
|
16
21
|
}
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
|
|
2
|
+
import type { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
|
|
3
|
+
|
|
4
|
+
type ProviderObject = {
|
|
5
|
+
[LegacyNetworks.ETHEREUM]: EvmProviderApi;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
export type Provider = Map<
|
|
9
|
+
keyof ProviderObject,
|
|
10
|
+
ProviderObject[keyof ProviderObject]
|
|
11
|
+
>;
|
package/src/utils.ts
ADDED
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Provider } from './types.js';
|
|
2
|
+
import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
|
|
3
|
+
|
|
4
|
+
import { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* `provider-default` is the catch-all fallback for any injected EVM provider
|
|
8
|
+
* (`window.ethereum`) when no known wallet has been detected, so detection is
|
|
9
|
+
* intentionally permissive: any injected `ethereum` instance is accepted.
|
|
10
|
+
*/
|
|
11
|
+
export function defaultInjected(): Provider | null {
|
|
12
|
+
const { ethereum } = window;
|
|
13
|
+
|
|
14
|
+
if (!ethereum) {
|
|
15
|
+
return null;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
const instances = new Map();
|
|
19
|
+
instances.set(LegacyNetworks.ETHEREUM, ethereum);
|
|
20
|
+
|
|
21
|
+
return instances;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export function getInstanceOrThrow(): Provider {
|
|
25
|
+
const instances = defaultInjected();
|
|
26
|
+
|
|
27
|
+
if (!instances) {
|
|
28
|
+
throw new Error('ethereum is not injected. Please check your wallet.');
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return instances;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export function evmDefault(): EvmProviderApi {
|
|
35
|
+
const instances = defaultInjected();
|
|
36
|
+
|
|
37
|
+
const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);
|
|
38
|
+
|
|
39
|
+
if (!evmInstance) {
|
|
40
|
+
throw new Error(
|
|
41
|
+
'No injected EVM provider found (window.ethereum). Please check your wallet.'
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
return evmInstance;
|
|
46
|
+
}
|
package/dist/helpers.d.ts
DELETED
package/dist/helpers.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,eAAe,QAG9B"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { CanEagerConnect, CanSwitchNetwork, Connect, Subscribe, SwitchNetwork, WalletInfo } from '@rango-dev/wallets-shared';
|
|
2
|
-
import type { BlockchainMeta, SignerFactory } from 'rango-types';
|
|
3
|
-
import { WalletTypes } from '@rango-dev/wallets-shared';
|
|
4
|
-
import { defaultInjected } from './helpers.js';
|
|
5
|
-
export declare const config: {
|
|
6
|
-
type: WalletTypes;
|
|
7
|
-
};
|
|
8
|
-
export declare const getInstance: typeof defaultInjected;
|
|
9
|
-
export declare const connect: Connect;
|
|
10
|
-
export declare const subscribe: Subscribe;
|
|
11
|
-
export declare const switchNetwork: SwitchNetwork;
|
|
12
|
-
export declare const canSwitchNetworkTo: CanSwitchNetwork;
|
|
13
|
-
export declare const getSigners: (provider: any) => Promise<SignerFactory>;
|
|
14
|
-
export declare const canEagerConnect: CanEagerConnect;
|
|
15
|
-
export declare const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo;
|
|
16
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,gBAAgB,EAChB,OAAO,EACP,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,EAML,WAAW,EACZ,MAAM,2BAA2B,CAAC;AAGnC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAK/C,eAAO,MAAM,MAAM;;CAElB,CAAC;AAEF,eAAO,MAAM,WAAW,wBAAkB,CAAC;AAC3C,eAAO,MAAM,OAAO,EAAE,OAarB,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,SAA0B,CAAC;AAEnD,eAAO,MAAM,aAAa,EAAE,aAAmC,CAAC;AAEhE,eAAO,MAAM,kBAAkB,EAAE,gBAAwC,CAAC;AAE1E,eAAO,MAAM,UAAU,EAAE,CAAC,QAAQ,EAAE,GAAG,KAAK,OAAO,CAAC,aAAa,CAAU,CAAC;AAE5E,eAAO,MAAM,eAAe,EAAE,eAAwC,CAAC;AAEvE,eAAO,MAAM,aAAa,EAAE,CAAC,cAAc,EAAE,cAAc,EAAE,KAAK,UAajE,CAAC"}
|
package/dist/index.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var a=Object.defineProperty;var o=(t,e)=>a(t,"name",{value:e,configurable:!0});import{canEagerlyConnectToEvm as p,canSwitchNetworkToEvm as l,getEvmAccounts as g,subscribeToEvm as w,switchNetworkForEvm as u,WalletTypes as f}from"@rango-dev/wallets-shared";import{evmBlockchains as h}from"rango-types";function c(){let{ethereum:t}=window;return t??null}o(c,"defaultInjected");import{dynamicImportWithRefinedError as i}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as s,TransactionType as m}from"rango-types";async function n(t){let e=new s,{DefaultEvmSigner:r}=await i(async()=>await import("@rango-dev/signer-evm"));return e.registerSigner(m.EVM,new r(t)),e}o(n,"getSigners");var y=f.DEFAULT,N={type:y},A=c,P=o(async({instance:t})=>{let{accounts:e,chainId:r}=await g(t);return{accounts:e,chainId:r}},"connect"),W=w,D=u,L=l,B=n,j=p,M=o(t=>{let e=h(t);return{name:"Default",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/default/icon.svg",installLink:{DEFAULT:"https://metamask.io/download/"},color:"#dac7ae",supportedChains:e}},"getWalletInfo");export{j as canEagerConnect,L as canSwitchNetworkTo,N as config,P as connect,A as getInstance,B as getSigners,M as getWalletInfo,W as subscribe,D as switchNetwork};
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"version": 3,
|
|
3
|
-
"sources": ["../src/index.ts", "../src/helpers.ts", "../src/signer.ts"],
|
|
4
|
-
"sourcesContent": ["import type {\n CanEagerConnect,\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 {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n getEvmAccounts,\n subscribeToEvm,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport { evmBlockchains } from 'rango-types';\n\nimport { defaultInjected } from './helpers.js';\nimport signer from './signer.js';\n\nconst WALLET = WalletTypes.DEFAULT;\n\nexport const config = {\n type: WALLET,\n};\n\nexport const getInstance = defaultInjected;\nexport const connect: Connect = async ({ instance }) => {\n /*\n * Note: We need to get `chainId` here, because for the first time\n * after opening the browser, wallet is locked, and don't give us accounts and chainId\n * on `check` phase, so `network` will be null. For this case we need to get chainId\n * whenever we are requesting accounts.\n */\n const { accounts, chainId } = await getEvmAccounts(instance);\n\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: any) => Promise<SignerFactory> = signer;\n\nexport const canEagerConnect: CanEagerConnect = canEagerlyConnectToEvm;\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n return {\n name: 'Default',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/default/icon.svg',\n installLink: {\n DEFAULT: 'https://metamask.io/download/',\n },\n color: '#dac7ae',\n supportedChains: evms,\n };\n};\n", "export function defaultInjected() {\n const { ethereum } = window;\n return ethereum ?? null;\n}\n", "import type { ProviderAPI } from '@hub3js/evm';\nimport type { SignerFactory } from 'rango-types';\n\nimport { dynamicImportWithRefinedError } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: ProviderAPI\n): Promise<SignerFactory> {\n const signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await dynamicImportWithRefinedError(\n async () => await import('@rango-dev/signer-evm')\n );\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(provider));\n return signers;\n}\n"],
|
|
5
|
-
"mappings": "+EAUA,OACE,0BAAAA,EACA,yBAAAC,EACA,kBAAAC,EACA,kBAAAC,EACA,uBAAAC,EACA,eAAAC,MACK,4BACP,OAAS,kBAAAC,MAAsB,cClBxB,SAASC,GAAkB,CAChC,GAAM,CAAE,SAAAC,CAAS,EAAI,OACrB,OAAOA,GAAY,IACrB,CAHgBC,EAAAF,EAAA,mBCGhB,OAAS,iCAAAG,MAAqC,4BAC9C,OAAS,wBAAAC,EAAsB,mBAAmBC,MAAc,cAEhE,eAAOC,EACLC,EACwB,CACxB,IAAMC,EAAU,IAAIC,EACd,CAAE,iBAAAC,CAAiB,EAAI,MAAMC,EACjC,SAAY,KAAM,QAAO,uBAAuB,CAClD,EACA,OAAAH,EAAQ,eAAeI,EAAO,IAAK,IAAIF,EAAiBH,CAAQ,CAAC,EAC1DC,CACT,CAT8BK,EAAAP,EAAA,cFiB9B,IAAMQ,EAASC,EAAY,QAEdC,EAAS,CACpB,KAAMF,CACR,EAEaG,EAAcC,EACdC,EAAmBC,EAAA,MAAO,CAAE,SAAAC,CAAS,IAAM,CAOtD,GAAM,CAAE,SAAAC,EAAU,QAAAC,CAAQ,EAAI,MAAMC,EAAeH,CAAQ,EAE3D,MAAO,CACL,SAAAC,EACA,QAAAC,CACF,CACF,EAbgC,WAenBE,EAAuBC,EAEvBC,EAA+BC,EAE/BC,EAAuCC,EAEvCC,EAAwDA,EAExDC,EAAmCC,EAEnCC,EAAkEd,EAC7Ee,GACG,CACH,IAAMC,EAAOC,EAAeF,CAAc,EAC1C,MAAO,CACL,KAAM,UACN,IAAK,wFACL,YAAa,CACX,QAAS,+BACX,EACA,MAAO,UACP,gBAAiBC,CACnB,CACF,EAb+E",
|
|
6
|
-
"names": ["canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "getEvmAccounts", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "defaultInjected", "ethereum", "__name", "dynamicImportWithRefinedError", "DefaultSignerFactory", "TxType", "getSigners", "provider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "__name", "WALLET", "WalletTypes", "config", "getInstance", "defaultInjected", "connect", "__name", "instance", "accounts", "chainId", "getEvmAccounts", "subscribe", "subscribeToEvm", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "canEagerConnect", "canEagerlyConnectToEvm", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains"]
|
|
7
|
-
}
|
package/src/helpers.ts
DELETED
package/src/index.ts
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
CanEagerConnect,
|
|
3
|
-
CanSwitchNetwork,
|
|
4
|
-
Connect,
|
|
5
|
-
Subscribe,
|
|
6
|
-
SwitchNetwork,
|
|
7
|
-
WalletInfo,
|
|
8
|
-
} from '@rango-dev/wallets-shared';
|
|
9
|
-
import type { BlockchainMeta, SignerFactory } from 'rango-types';
|
|
10
|
-
|
|
11
|
-
import {
|
|
12
|
-
canEagerlyConnectToEvm,
|
|
13
|
-
canSwitchNetworkToEvm,
|
|
14
|
-
getEvmAccounts,
|
|
15
|
-
subscribeToEvm,
|
|
16
|
-
switchNetworkForEvm,
|
|
17
|
-
WalletTypes,
|
|
18
|
-
} from '@rango-dev/wallets-shared';
|
|
19
|
-
import { evmBlockchains } from 'rango-types';
|
|
20
|
-
|
|
21
|
-
import { defaultInjected } from './helpers.js';
|
|
22
|
-
import signer from './signer.js';
|
|
23
|
-
|
|
24
|
-
const WALLET = WalletTypes.DEFAULT;
|
|
25
|
-
|
|
26
|
-
export const config = {
|
|
27
|
-
type: WALLET,
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
export const getInstance = defaultInjected;
|
|
31
|
-
export const connect: Connect = async ({ instance }) => {
|
|
32
|
-
/*
|
|
33
|
-
* Note: We need to get `chainId` here, because for the first time
|
|
34
|
-
* after opening the browser, wallet is locked, and don't give us accounts and chainId
|
|
35
|
-
* on `check` phase, so `network` will be null. For this case we need to get chainId
|
|
36
|
-
* whenever we are requesting accounts.
|
|
37
|
-
*/
|
|
38
|
-
const { accounts, chainId } = await getEvmAccounts(instance);
|
|
39
|
-
|
|
40
|
-
return {
|
|
41
|
-
accounts,
|
|
42
|
-
chainId,
|
|
43
|
-
};
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
export const subscribe: Subscribe = subscribeToEvm;
|
|
47
|
-
|
|
48
|
-
export const switchNetwork: SwitchNetwork = switchNetworkForEvm;
|
|
49
|
-
|
|
50
|
-
export const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;
|
|
51
|
-
|
|
52
|
-
export const getSigners: (provider: any) => Promise<SignerFactory> = signer;
|
|
53
|
-
|
|
54
|
-
export const canEagerConnect: CanEagerConnect = canEagerlyConnectToEvm;
|
|
55
|
-
|
|
56
|
-
export const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (
|
|
57
|
-
allBlockChains
|
|
58
|
-
) => {
|
|
59
|
-
const evms = evmBlockchains(allBlockChains);
|
|
60
|
-
return {
|
|
61
|
-
name: 'Default',
|
|
62
|
-
img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/default/icon.svg',
|
|
63
|
-
installLink: {
|
|
64
|
-
DEFAULT: 'https://metamask.io/download/',
|
|
65
|
-
},
|
|
66
|
-
color: '#dac7ae',
|
|
67
|
-
supportedChains: evms,
|
|
68
|
-
};
|
|
69
|
-
};
|