@rango-dev/provider-tomo 0.25.0 → 0.25.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/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ # [0.25.0](https://github.com/rango-exchange/rango-client/compare/provider-tomo@0.24.0...provider-tomo@0.25.0) (2025-12-30)
2
+
3
+
4
+
1
5
  # [0.24.0](https://github.com/rango-exchange/rango-client/compare/provider-tomo@0.23.0...provider-tomo@0.24.0) (2025-12-15)
2
6
 
3
7
 
@@ -0,0 +1,6 @@
1
+ import type { ProviderMetadata } from '@rango-dev/wallets-core';
2
+ import { WalletTypes } from '@rango-dev/wallets-shared';
3
+ export declare const WALLET_ID = WalletTypes.TOMO;
4
+ export declare const TOMO_INJECTION_DELAY = 1000;
5
+ export declare const metadata: ProviderMetadata;
6
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAMxD,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAC1C,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,QAAQ,EAAE,gBAiCtB,CAAC"}
package/dist/mod.d.ts ADDED
@@ -0,0 +1,3 @@
1
+ declare const versions: () => import("@rango-dev/wallets-core/utils").VersionedProviders;
2
+ export { versions };
3
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAIA,QAAA,MAAM,QAAQ,kEAC8C,CAAC;AAE7D,OAAO,EAAE,QAAQ,EAAE,CAAC"}
package/dist/mod.js ADDED
@@ -0,0 +1,2 @@
1
+ var E=Object.defineProperty;var t=(e,o)=>E(e,"name",{value:o,configurable:!0});import{defineVersions as W}from"@rango-dev/wallets-core/utils";import{ProviderBuilder as F}from"@rango-dev/wallets-core";import{WalletTypes as M}from"@rango-dev/wallets-shared";import{evmBlockchains as k}from"rango-types";import{dynamicImportWithRefinedError as h,getNetworkInstance as b,Networks as T}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as y,TransactionType as A}from"rango-types";async function s(e){let o=b(e,T.ETHEREUM),m=new y,{DefaultEvmSigner:w}=await h(async()=>await import("@rango-dev/signer-evm"));return m.registerSigner(A.EVM,new w(o)),m}t(s,"getSigners");import{Networks as p}from"@rango-dev/wallets-shared";function r(){let{tomo_evm:e}=window;if(!e)return null;let o=new Map;return o.set(p.ETHEREUM,e),o}t(r,"tomo");function l(){let e=r();if(!e)throw new Error("Tomo is not injected. Please check your wallet.");return e}t(l,"getInstanceOrThrow");function n(){let o=r()?.get(p.ETHEREUM);if(!o)throw new Error("Tomo not injected or EVM not enabled. Please check your wallet.");return o}t(n,"evmTomo");var i=M.TOMO,d=1e3,g={name:"Tomo",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/tomo/icon.svg",extensions:{chrome:"https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en",brave:"https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en",homepage:"https://tomo.inc/"},properties:[{name:"namespaces",value:{selection:"single",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:e=>k(e)}]}},{name:"signers",value:{getSigners:async()=>s(l())}}]};import{ActionBuilder as P,NamespaceBuilder as I}from"@rango-dev/wallets-core";import{builders as S,connectAndUpdateStateForMultiNetworks as N,intoConnecting as x,intoConnectionFinished as C,standardizeAndThrowError as j}from"@rango-dev/wallets-core/namespaces/common";import{actions as c,builders as a}from"@rango-dev/wallets-core/namespaces/evm";var[L,u]=a.changeAccountSubscriber(n).build(),O=new P("connect").action(c.connect(n)).and((e,o)=>({...o,accounts:[o.accounts[0]]})).and(N).before(x).before(L).or(u).or(j).after(C).build(),_=a.canEagerConnect().action(c.canEagerConnect(n)).build(),B=S.disconnect().after(u).build(),D=a.canSwitchNetwork().action(c.canSwitchNetwork()).build(),V=a.getChainId().action(c.getChainId(n)).build(),f=new I("EVM",i).action(O).action(B).action(D).action(_).action(V).build();var v=t(()=>new F(i).init(function(e){let[,o]=e.state();setTimeout(()=>{r()&&(o("installed",!0),console.debug("[tomo] instance detected.",e))},d)}).config("metadata",g).add("evm",f).build(),"buildProvider");var ue=t(()=>W().version("1.0.0",v()).build(),"versions");export{ue as versions};
2
+ //# sourceMappingURL=mod.js.map
@@ -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 '@rango-dev/wallets-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 '@rango-dev/wallets-core';\n\nimport { metadata, TOMO_INJECTION_DELAY, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { tomo } 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 (tomo()) {\n setState('installed', true);\n console.debug('[tomo] instance detected.', context);\n }\n }, TOMO_INJECTION_DELAY);\n })\n .config('metadata', metadata)\n .add('evm', evm)\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@rango-dev/wallets-core';\n\nimport { WalletTypes } from '@rango-dev/wallets-shared';\nimport { type BlockchainMeta, evmBlockchains } from 'rango-types';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = WalletTypes.TOMO;\nexport const TOMO_INJECTION_DELAY = 1000;\nexport const metadata: ProviderMetadata = {\n name: 'Tomo',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/tomo/icon.svg',\n extensions: {\n chrome:\n 'https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en',\n brave:\n 'https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en',\n homepage: 'https://tomo.inc/',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'single',\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: {\n getSigners: async () => getSigners(getInstanceOrThrow()),\n },\n },\n ],\n};\n", "import type { LegacyNetworkProviderMap } from '@rango-dev/wallets-core/legacy';\nimport type { SignerFactory } from 'rango-types';\n\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n Networks,\n} from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: LegacyNetworkProviderMap\n): Promise<SignerFactory> {\n const ethProvider = 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(ethProvider));\n return signers;\n}\n", "import type { Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { Networks } from '@rango-dev/wallets-shared';\n\nexport function tomo() {\n const { tomo_evm } = window;\n\n if (!tomo_evm) {\n return null;\n }\n\n const instances = new Map();\n\n instances.set(Networks.ETHEREUM, tomo_evm);\n\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = tomo();\n\n if (!instances) {\n throw new Error('Tomo is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function evmTomo(): EvmProviderApi {\n const instances = tomo();\n const evmInstance = instances?.get(Networks.ETHEREUM);\n if (!evmInstance) {\n throw new Error(\n 'Tomo not injected or EVM not enabled. Please check your wallet.'\n );\n }\n return evmInstance as EvmProviderApi;\n}\n", "import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { ActionBuilder, NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n connectAndUpdateStateForMultiNetworks,\n intoConnecting,\n intoConnectionFinished,\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 { evmTomo } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(evmTomo)\n .build();\n\nconst connect = new ActionBuilder<EvmActions, 'connect'>('connect')\n .action(actions.connect(evmTomo))\n /*\n * Tomo Wallet's `connect` returns a list where the currently selected account\n * is always the first item. We're directly taking this first item as the active account.\n *\n * ***NOTE***: Please keep it synced with `wallets/core/src/namespaces/evm/builders.ts`.\n *\n */\n .and((_, connectResult) => ({\n ...connectResult,\n accounts: [connectResult.accounts[0]],\n }))\n .and(connectAndUpdateStateForMultiNetworks)\n .before(intoConnecting)\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .after(intoConnectionFinished)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmTomo))\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(evmTomo))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canSwitchNetwork)\n .action(canEagerConnect)\n .action(getChainId)\n .build();\n\nexport { evm };\n"],
5
+ "mappings": "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",
6
+ "names": ["defineVersions", "ProviderBuilder", "WalletTypes", "evmBlockchains", "dynamicImportWithRefinedError", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "__name", "Networks", "tomo", "tomo_evm", "instances", "Networks", "__name", "getInstanceOrThrow", "evmTomo", "evmInstance", "WALLET_ID", "WalletTypes", "TOMO_INJECTION_DELAY", "metadata", "allBlockchains", "evmBlockchains", "getSigners", "getInstanceOrThrow", "ActionBuilder", "NamespaceBuilder", "commonBuilders", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "intoConnectionFinished", "standardizeAndThrowError", "actions", "builders", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmTomo", "connect", "ActionBuilder", "actions", "_", "connectResult", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "standardizeAndThrowError", "intoConnectionFinished", "canEagerConnect", "disconnect", "commonBuilders", "canSwitchNetwork", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "tomo", "TOMO_INJECTION_DELAY", "metadata", "evm", "versions", "__name", "defineVersions", "buildProvider"]
7
+ }
@@ -0,0 +1,4 @@
1
+ import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';
2
+ declare const evm: import("@rango-dev/wallets-core").ProxiedNamespace<EvmActions>;
3
+ export { evm };
4
+ //# sourceMappingURL=evm.d.ts.map
@@ -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,wCAAwC,CAAC;AA4DzE,QAAA,MAAM,GAAG,gEAMC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"inputs":{"src/helpers.ts":{"bytes":117,"imports":[{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":767,"imports":[{"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/index.ts":{"bytes":1781,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/helpers.ts","kind":"import-statement","original":"./helpers.js"},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/index.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":4722},"dist/index.js":{"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","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}],"exports":["canEagerConnect","canSwitchNetworkTo","config","connect","getInstance","getSigners","getWalletInfo","subscribe","switchNetwork"],"entryPoint":"src/index.ts","inputs":{"src/index.ts":{"bytesInOutput":796},"src/helpers.ts":{"bytesInOutput":63},"src/signer.ts":{"bytesInOutput":371}},"bytes":1508}}}
1
+ {"inputs":{"src/signer.ts":{"bytes":767,"imports":[{"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":888,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1284,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"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":1965,"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/provider.ts":{"bytes":646,"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/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":220,"imports":[{"path":"@rango-dev/wallets-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":9994},"dist/mod.js":{"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","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-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-shared","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}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":121},"src/provider.ts":{"bytesInOutput":265},"src/constants.ts":{"bytesInOutput":650},"src/signer.ts":{"bytesInOutput":371},"src/utils.ts":{"bytesInOutput":446},"src/namespaces/evm.ts":{"bytesInOutput":812}},"bytes":2800}}}
@@ -0,0 +1,3 @@
1
+ declare const buildProvider: () => import("@rango-dev/wallets-core").Provider;
2
+ export { buildProvider };
3
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAMA,QAAA,MAAM,aAAa,kDAcP,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ import type { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
2
+ import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
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,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,wCAAwC,CAAC;AAE5F,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"}
@@ -0,0 +1,6 @@
1
+ import type { Provider } from './types.js';
2
+ import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
3
+ export declare function tomo(): Map<any, any> | null;
4
+ export declare function getInstanceOrThrow(): Provider;
5
+ export declare function evmTomo(): 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,wCAAwC,CAAC;AAI5F,wBAAgB,IAAI,yBAYnB;AAED,wBAAgB,kBAAkB,IAAI,QAAQ,CAQ7C;AAED,wBAAgB,OAAO,IAAI,cAAc,CASxC"}
package/package.json CHANGED
@@ -1,20 +1,20 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-tomo",
3
- "version": "0.25.0",
3
+ "version": "0.25.1-next.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
- "source": "./src/index.ts",
7
- "main": "./dist/index.js",
6
+ "source": "./src/mod.ts",
7
+ "main": "./dist/mod.js",
8
8
  "exports": {
9
- ".": "./dist/index.js"
9
+ ".": "./dist/mod.js"
10
10
  },
11
- "typings": "dist/index.d.ts",
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-tomo",
17
+ "build": "node ../../scripts/build/command.mjs --path wallets/provider-tomo --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}'",
@@ -23,10 +23,10 @@
23
23
  "dependencies": {
24
24
  "@rango-dev/signer-evm": "^0.40.0",
25
25
  "@rango-dev/wallets-core": "^0.57.0",
26
- "@rango-dev/wallets-shared": "^0.58.0",
26
+ "@rango-dev/wallets-shared": "^0.58.1-next.0",
27
27
  "rango-types": "^0.1.89"
28
28
  },
29
29
  "publishConfig": {
30
30
  "access": "public"
31
31
  }
32
- }
32
+ }
package/readme.md CHANGED
@@ -1 +1,14 @@
1
1
  # @rango-dev/provider-tomo
2
+ Tomo Wallet integration for hub.
3
+ [Homepage](https://tomo.inc/) | [Docs](https://docs.tomo.inc/)
4
+
5
+ More about implementation status can be found [here](../readme.md).
6
+
7
+ ## Implementation notes/limitations
8
+
9
+ ### Feature
10
+
11
+
12
+ ---
13
+
14
+ More wallet information can be found in [readme.md](../readme.md).
@@ -0,0 +1,44 @@
1
+ import type { ProviderMetadata } from '@rango-dev/wallets-core';
2
+
3
+ import { WalletTypes } from '@rango-dev/wallets-shared';
4
+ import { type BlockchainMeta, evmBlockchains } from 'rango-types';
5
+
6
+ import getSigners from './signer.js';
7
+ import { getInstanceOrThrow } from './utils.js';
8
+
9
+ export const WALLET_ID = WalletTypes.TOMO;
10
+ export const TOMO_INJECTION_DELAY = 1000;
11
+ export const metadata: ProviderMetadata = {
12
+ name: 'Tomo',
13
+ icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/tomo/icon.svg',
14
+ extensions: {
15
+ chrome:
16
+ 'https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en',
17
+ brave:
18
+ 'https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en',
19
+ homepage: 'https://tomo.inc/',
20
+ },
21
+ properties: [
22
+ {
23
+ name: 'namespaces',
24
+ value: {
25
+ selection: 'single',
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: {
40
+ getSigners: async () => getSigners(getInstanceOrThrow()),
41
+ },
42
+ },
43
+ ],
44
+ };
package/src/mod.ts ADDED
@@ -0,0 +1,8 @@
1
+ import { defineVersions } from '@rango-dev/wallets-core/utils';
2
+
3
+ import { buildProvider } from './provider.js';
4
+
5
+ const versions = () =>
6
+ defineVersions().version('1.0.0', buildProvider()).build();
7
+
8
+ export { versions };
@@ -0,0 +1,69 @@
1
+ import type { EvmActions } from '@rango-dev/wallets-core/namespaces/evm';
2
+
3
+ import { ActionBuilder, NamespaceBuilder } from '@rango-dev/wallets-core';
4
+ import {
5
+ builders as commonBuilders,
6
+ connectAndUpdateStateForMultiNetworks,
7
+ intoConnecting,
8
+ intoConnectionFinished,
9
+ standardizeAndThrowError,
10
+ } from '@rango-dev/wallets-core/namespaces/common';
11
+ import { actions, builders } from '@rango-dev/wallets-core/namespaces/evm';
12
+
13
+ import { WALLET_ID } from '../constants.js';
14
+ import { evmTomo } from '../utils.js';
15
+
16
+ const [changeAccountSubscriber, changeAccountCleanup] = builders
17
+ .changeAccountSubscriber(evmTomo)
18
+ .build();
19
+
20
+ const connect = new ActionBuilder<EvmActions, 'connect'>('connect')
21
+ .action(actions.connect(evmTomo))
22
+ /*
23
+ * Tomo Wallet's `connect` returns a list where the currently selected account
24
+ * is always the first item. We're directly taking this first item as the active account.
25
+ *
26
+ * ***NOTE***: Please keep it synced with `wallets/core/src/namespaces/evm/builders.ts`.
27
+ *
28
+ */
29
+ .and((_, connectResult) => ({
30
+ ...connectResult,
31
+ accounts: [connectResult.accounts[0]],
32
+ }))
33
+ .and(connectAndUpdateStateForMultiNetworks)
34
+ .before(intoConnecting)
35
+ .before(changeAccountSubscriber)
36
+ .or(changeAccountCleanup)
37
+ .or(standardizeAndThrowError)
38
+ .after(intoConnectionFinished)
39
+ .build();
40
+
41
+ const canEagerConnect = builders
42
+ .canEagerConnect()
43
+ .action(actions.canEagerConnect(evmTomo))
44
+ .build();
45
+
46
+ const disconnect = commonBuilders
47
+ .disconnect<EvmActions>()
48
+ .after(changeAccountCleanup)
49
+ .build();
50
+
51
+ const canSwitchNetwork = builders
52
+ .canSwitchNetwork()
53
+ .action(actions.canSwitchNetwork())
54
+ .build();
55
+
56
+ const getChainId = builders
57
+ .getChainId()
58
+ .action(actions.getChainId(evmTomo))
59
+ .build();
60
+
61
+ const evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)
62
+ .action(connect)
63
+ .action(disconnect)
64
+ .action(canSwitchNetwork)
65
+ .action(canEagerConnect)
66
+ .action(getChainId)
67
+ .build();
68
+
69
+ export { evm };
@@ -0,0 +1,23 @@
1
+ import { ProviderBuilder } from '@rango-dev/wallets-core';
2
+
3
+ import { metadata, TOMO_INJECTION_DELAY, WALLET_ID } from './constants.js';
4
+ import { evm } from './namespaces/evm.js';
5
+ import { tomo } 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 (tomo()) {
14
+ setState('installed', true);
15
+ console.debug('[tomo] instance detected.', context);
16
+ }
17
+ }, TOMO_INJECTION_DELAY);
18
+ })
19
+ .config('metadata', metadata)
20
+ .add('evm', evm)
21
+ .build();
22
+
23
+ export { buildProvider };
package/src/types.ts ADDED
@@ -0,0 +1,11 @@
1
+ import type { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
2
+ import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
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,39 @@
1
+ import type { Provider } from './types.js';
2
+ import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';
3
+
4
+ import { Networks } from '@rango-dev/wallets-shared';
5
+
6
+ export function tomo() {
7
+ const { tomo_evm } = window;
8
+
9
+ if (!tomo_evm) {
10
+ return null;
11
+ }
12
+
13
+ const instances = new Map();
14
+
15
+ instances.set(Networks.ETHEREUM, tomo_evm);
16
+
17
+ return instances;
18
+ }
19
+
20
+ export function getInstanceOrThrow(): Provider {
21
+ const instances = tomo();
22
+
23
+ if (!instances) {
24
+ throw new Error('Tomo is not injected. Please check your wallet.');
25
+ }
26
+
27
+ return instances;
28
+ }
29
+
30
+ export function evmTomo(): EvmProviderApi {
31
+ const instances = tomo();
32
+ const evmInstance = instances?.get(Networks.ETHEREUM);
33
+ if (!evmInstance) {
34
+ throw new Error(
35
+ 'Tomo not injected or EVM not enabled. Please check your wallet.'
36
+ );
37
+ }
38
+ return evmInstance as EvmProviderApi;
39
+ }
package/dist/helpers.d.ts DELETED
@@ -1,2 +0,0 @@
1
- export declare function tomo(): any;
2
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,wBAAgB,IAAI,QAOnB"}
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 { tomo as tomo_instance } from './helpers.js';
5
- export declare const config: {
6
- type: WalletTypes;
7
- };
8
- export declare const getInstance: typeof tomo_instance;
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
@@ -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,IAAI,IAAI,aAAa,EAAE,MAAM,cAAc,CAAC;AAKrD,eAAO,MAAM,MAAM;;CAElB,CAAC;AAEF,eAAO,MAAM,WAAW,sBAAgB,CAAC;AACzC,eAAO,MAAM,OAAO,EAAE,OAOrB,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,UAiBjE,CAAC"}
package/dist/index.js DELETED
@@ -1,2 +0,0 @@
1
- var i=Object.defineProperty;var e=(o,t)=>i(o,"name",{value:t,configurable:!0});import{canEagerlyConnectToEvm as w,canSwitchNetworkToEvm as f,getEvmAccounts as h,subscribeToEvm as y,switchNetworkForEvm as k,WalletTypes as u}from"@rango-dev/wallets-shared";import{evmBlockchains as E}from"rango-types";function c(){let{tomo_evm:o}=window;return o||null}e(c,"tomo");import{dynamicImportWithRefinedError as s,getNetworkInstance as m,Networks as l}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as p,TransactionType as g}from"rango-types";async function n(o){let t=m(o,l.ETHEREUM),r=new p,{DefaultEvmSigner:a}=await s(async()=>await import("@rango-dev/signer-evm"));return r.registerSigner(g.EVM,new a(t)),r}e(n,"getSigners");var S=u.TOMO,L={type:S},W=c,B=e(async({instance:o})=>{let{accounts:t,chainId:r}=await h(o);return{accounts:t,chainId:r}},"connect"),P=y,A=k,R=f,D=n,O=w,H=e(o=>{let t=E(o);return{name:"Tomo",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/tomo/icon.svg",color:"#b2dbff",installLink:{CHROME:"https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en",BRAVE:"https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en",DEFAULT:"https://tomo.inc/"},supportedChains:t}},"getWalletInfo");export{O as canEagerConnect,R as canSwitchNetworkTo,L as config,B as connect,W as getInstance,D as getSigners,H as getWalletInfo,P as subscribe,A 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 { tomo as tomo_instance } from './helpers.js';\nimport signer from './signer.js';\n\nconst WALLET = WalletTypes.TOMO;\n\nexport const config = {\n type: WALLET,\n};\n\nexport const getInstance = tomo_instance;\nexport const connect: Connect = async ({ instance }) => {\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: 'Tomo',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/tomo/icon.svg',\n color: '#b2dbff',\n installLink: {\n CHROME:\n 'https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en',\n BRAVE:\n 'https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en',\n DEFAULT: 'https://tomo.inc/',\n },\n supportedChains: evms,\n };\n};\n", "export function tomo() {\n const { tomo_evm } = window;\n if (tomo_evm) {\n return tomo_evm;\n }\n\n return null;\n}\n", "import type { LegacyNetworkProviderMap } from '@rango-dev/wallets-core/legacy';\nimport type { SignerFactory } from 'rango-types';\n\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n Networks,\n} from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nexport default async function getSigners(\n provider: LegacyNetworkProviderMap\n): Promise<SignerFactory> {\n const ethProvider = 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(ethProvider));\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,GAAO,CACrB,GAAM,CAAE,SAAAC,CAAS,EAAI,OACrB,OAAIA,GAIG,IACT,CAPgBC,EAAAF,EAAA,QCGhB,OACE,iCAAAG,EACA,sBAAAC,EACA,YAAAC,MACK,4BACP,OAAS,wBAAAC,EAAsB,mBAAmBC,MAAc,cAEhE,eAAOC,EACLC,EACwB,CACxB,IAAMC,EAAcC,EAAmBF,EAAUG,EAAS,QAAQ,EAC5DC,EAAU,IAAIC,EACd,CAAE,iBAAAC,CAAiB,EAAI,MAAMC,EACjC,SAAY,KAAM,QAAO,uBAAuB,CAClD,EACA,OAAAH,EAAQ,eAAeI,EAAO,IAAK,IAAIF,EAAiBL,CAAW,CAAC,EAC7DG,CACT,CAV8BK,EAAAV,EAAA,cFa9B,IAAMW,EAASC,EAAY,KAEdC,EAAS,CACpB,KAAMF,CACR,EAEaG,EAAcC,EACdC,EAAmBC,EAAA,MAAO,CAAE,SAAAC,CAAS,IAAM,CACtD,GAAM,CAAE,SAAAC,EAAU,QAAAC,CAAQ,EAAI,MAAMC,EAAeH,CAAQ,EAE3D,MAAO,CACL,SAAAC,EACA,QAAAC,CACF,CACF,EAPgC,WASnBE,EAAuBC,EAEvBC,EAA+BC,EAE/BC,EAAuCC,EAEvCC,EAAwDA,EAExDC,EAAmCC,EAEnCC,EAAkEd,EAC7Ee,GACG,CACH,IAAMC,EAAOC,EAAeF,CAAc,EAC1C,MAAO,CACL,KAAM,OACN,IAAK,qFACL,MAAO,UACP,YAAa,CACX,OACE,8FACF,MACE,8FACF,QAAS,mBACX,EACA,gBAAiBC,CACnB,CACF,EAjB+E",
6
- "names": ["canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "getEvmAccounts", "subscribeToEvm", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "tomo", "tomo_evm", "__name", "dynamicImportWithRefinedError", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "__name", "WALLET", "WalletTypes", "config", "getInstance", "tomo", "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
@@ -1,8 +0,0 @@
1
- export function tomo() {
2
- const { tomo_evm } = window;
3
- if (tomo_evm) {
4
- return tomo_evm;
5
- }
6
-
7
- return null;
8
- }
package/src/index.ts DELETED
@@ -1,67 +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 { tomo as tomo_instance } from './helpers.js';
22
- import signer from './signer.js';
23
-
24
- const WALLET = WalletTypes.TOMO;
25
-
26
- export const config = {
27
- type: WALLET,
28
- };
29
-
30
- export const getInstance = tomo_instance;
31
- export const connect: Connect = async ({ instance }) => {
32
- const { accounts, chainId } = await getEvmAccounts(instance);
33
-
34
- return {
35
- accounts,
36
- chainId,
37
- };
38
- };
39
-
40
- export const subscribe: Subscribe = subscribeToEvm;
41
-
42
- export const switchNetwork: SwitchNetwork = switchNetworkForEvm;
43
-
44
- export const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;
45
-
46
- export const getSigners: (provider: any) => Promise<SignerFactory> = signer;
47
-
48
- export const canEagerConnect: CanEagerConnect = canEagerlyConnectToEvm;
49
-
50
- export const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (
51
- allBlockChains
52
- ) => {
53
- const evms = evmBlockchains(allBlockChains);
54
- return {
55
- name: 'Tomo',
56
- img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/tomo/icon.svg',
57
- color: '#b2dbff',
58
- installLink: {
59
- CHROME:
60
- 'https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en',
61
- BRAVE:
62
- 'https://chromewebstore.google.com/detail/tomo-wallet/pfccjkejcgoppjnllalolplgogenfojk?hl=en',
63
- DEFAULT: 'https://tomo.inc/',
64
- },
65
- supportedChains: evms,
66
- };
67
- };