@rango-dev/provider-tomo 0.30.1-next.1 → 0.30.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.
@@ -1,6 +1,5 @@
1
1
  import type { ProviderMetadata } from '@hub3js/core';
2
- import { WalletTypes } from '@rango-dev/wallets-shared';
3
- export declare const WALLET_ID = WalletTypes.TOMO;
2
+ export declare const WALLET_ID = "tomo";
4
3
  export declare const TOMO_INJECTION_DELAY = 1000;
5
4
  export declare const metadata: ProviderMetadata;
6
5
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAKxD,eAAO,MAAM,SAAS,mBAAmB,CAAC;AAC1C,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,QAAQ,EAAE,gBAgCtB,CAAC"}
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,SAAS,CAAC;AAChC,eAAO,MAAM,oBAAoB,OAAO,CAAC;AACzC,eAAO,MAAM,QAAQ,EAAE,gBAgCtB,CAAC"}
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>>]];
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,uHAC8C,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,uHAC8C,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 w=Object.defineProperty;var t=(o,e)=>w(o,"name",{value:e,configurable:!0});import{defineVersions as W}from"@hub3js/core/utils";import{ProviderBuilder as F}from"@hub3js/core";import{isEvmNamespace as S}from"@hub3js/evm";import{WalletTypes as I}from"@rango-dev/wallets-shared";import{EVM_NAMESPACE as b}from"@hub3js/namespaces";import{dynamicImportWithRefinedError as A,getNetworkInstance as T}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as y,TransactionType as P}from"rango-types";async function s(o){let e=T(o,b),m=new y,{DefaultEvmSigner:E}=await A(async()=>await import("@rango-dev/signer-evm"));return m.registerSigner(P.EVM,new E(e)),m}t(s,"getSigners");import{EVM_NAMESPACE as p}from"@hub3js/namespaces";function r(){let{tomo_evm:o}=window;if(!o)return null;let e=new Map;return e.set(p,o),e}t(r,"tomo");function d(){let o=r();if(!o)throw new Error("Tomo is not injected. Please check your wallet.");return o}t(d,"getInstanceOrThrow");function n(){let e=r()?.get(p);if(!e)throw new Error("Tomo not injected or EVM not enabled. Please check your wallet.");return e}t(n,"evmTomo");var i=I.TOMO,l=1e3,u={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",isChainSupported:S}]}},{name:"signers",value:{getSigners:async()=>s(d())}}]};import{ActionBuilder as M,NamespaceBuilder as j}from"@hub3js/core";import{actions as c,builders as a}from"@hub3js/evm";import*as f from"@hub3js/std/builders";import{connectAndUpdateStateForMultiNetworks as C,intoConnecting as N,intoConnectionFinished as x,standardizeAndThrowError as k}from"@hub3js/std/operators";var[_,g]=a.changeAccountSubscriber(n).build(),O=new M("connect").action(c.connect(n)).and((o,e)=>({...e,accounts:[e.accounts[0]]})).and(C).before(N).before(_).or(g).or(k).after(x).build(),L=a.canEagerConnect().action(c.canEagerConnect(n)).build(),V=f.disconnect().after(g).build(),D=a.canSwitchNetwork().action(c.canSwitchNetwork()).build(),B=a.getChainId().action(c.getChainId(n)).build(),v=new j("EVM",i).action(O).action(V).action(D).action(L).action(B).build();var h=t(()=>new F(i).init(function(o){let[,e]=o.state();setTimeout(()=>{r()&&(e("installed",!0),console.debug("[tomo] instance detected.",o))},l)}).config("metadata",u).add("evm",v).build(),"buildProvider");var vo=t(()=>W().version("1.0.0",h()).build(),"versions");export{vo as versions};
1
+ var w=Object.defineProperty;var t=(e,o)=>w(e,"name",{value:o,configurable:!0});import{defineVersions as V}from"@hub3js/core/utils";import{ProviderBuilder as O}from"@hub3js/core";import{isEvmNamespace as P}from"@hub3js/evm";import{EVM_NAMESPACE as b}from"@hub3js/namespaces";import{DefaultSignerFactory as A,TransactionType as T}from"rango-types";async function s(e){let o=e.get(b),m=new A,{DefaultEvmSigner:h}=await import("@rango-dev/signer-evm");return o&&m.registerSigner(T.EVM,new h(o)),m}t(s,"getSigners");import{EVM_NAMESPACE as p}from"@hub3js/namespaces";function i(){let{tomo_evm:e}=window;if(!e)return null;let o=new Map;return o.set(p,e),o}t(i,"tomo");function d(){let e=i();if(!e)throw new Error("Tomo is not injected. Please check your wallet.");return e}t(d,"getInstanceOrThrow");function n(){let o=i()?.get(p);if(!o)throw new Error("Tomo not injected or EVM not enabled. Please check your wallet.");return o}t(n,"evmTomo");var r="tomo",l=1e3,u={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",isChainSupported:P}]}},{name:"signers",value:{getSigners:async()=>s(d())}}]};import{ActionBuilder as y,NamespaceBuilder as S}from"@hub3js/core";import{actions as c,builders as a}from"@hub3js/evm";import*as f from"@hub3js/std/builders";import{connectAndUpdateStateForMultiNetworks as j,intoConnecting as I,intoConnectionFinished as M,standardizeAndThrowError as C}from"@hub3js/std/operators";var[x,g]=a.changeAccountSubscriber(n).build(),N=new y("connect").action(c.connect(n)).and((e,o)=>({...o,accounts:[o.accounts[0]]})).and(j).before(I).before(x).or(g).or(C).after(M).build(),_=a.canEagerConnect().action(c.canEagerConnect(n)).build(),k=f.disconnect().after(g).build(),L=a.canSwitchNetwork().action(c.canSwitchNetwork()).build(),D=a.getChainId().action(c.getChainId(n)).build(),v=new S("EVM",r).action(N).action(k).action(L).action(_).action(D).build();var E=t(()=>new O(r).init(function(e){let[,o]=e.state();setTimeout(()=>{i()&&(o("installed",!0),console.debug("[tomo] instance detected.",e))},l)}).config("metadata",u).add("evm",v).build(),"buildProvider");var po=t(()=>V().version("1.0.0",E()).build(),"versions");export{r as WALLET_ID,po 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/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 { 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 '@hub3js/core';\n\nimport { isEvmNamespace } from '@hub3js/evm';\nimport { WalletTypes } from '@rango-dev/wallets-shared';\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 isChainSupported: isEvmNamespace,\n },\n ],\n },\n },\n {\n name: 'signers',\n value: {\n getSigners: async () => getSigners(getInstanceOrThrow()),\n },\n },\n ],\n};\n", "import type { Provider } from './types.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { EVM_NAMESPACE } from '@hub3js/namespaces';\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 ethProvider = getNetworkInstance(provider, EVM_NAMESPACE);\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 '@hub3js/evm';\n\nimport { EVM_NAMESPACE } from '@hub3js/namespaces';\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(EVM_NAMESPACE, 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(EVM_NAMESPACE);\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 '@hub3js/evm';\n\nimport { ActionBuilder, NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders } from '@hub3js/evm';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport {\n connectAndUpdateStateForMultiNetworks,\n intoConnecting,\n intoConnectionFinished,\n standardizeAndThrowError,\n} from '@hub3js/std/operators';\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", "isEvmNamespace", "WalletTypes", "EVM_NAMESPACE", "dynamicImportWithRefinedError", "getNetworkInstance", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "getNetworkInstance", "EVM_NAMESPACE", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "__name", "EVM_NAMESPACE", "tomo", "tomo_evm", "instances", "EVM_NAMESPACE", "__name", "getInstanceOrThrow", "evmTomo", "evmInstance", "WALLET_ID", "WalletTypes", "TOMO_INJECTION_DELAY", "metadata", "isEvmNamespace", "getSigners", "getInstanceOrThrow", "ActionBuilder", "NamespaceBuilder", "actions", "builders", "commonBuilders", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "intoConnectionFinished", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmTomo", "connect", "ActionBuilder", "actions", "_", "connectResult", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "standardizeAndThrowError", "intoConnectionFinished", "canEagerConnect", "disconnect", "canSwitchNetwork", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "tomo", "TOMO_INJECTION_DELAY", "metadata", "evm", "versions", "__name", "defineVersions", "buildProvider"]
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 };\nexport { WALLET_ID } from './constants.js';\n", "import { ProviderBuilder } from '@hub3js/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 '@hub3js/core';\n\nimport { isEvmNamespace } from '@hub3js/evm';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = '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 isChainSupported: isEvmNamespace,\n },\n ],\n },\n },\n {\n name: 'signers',\n value: {\n getSigners: async () => getSigners(getInstanceOrThrow()),\n },\n },\n ],\n};\n", "import type { Provider } from './types.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { EVM_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 signers = new DefaultSignerFactory();\n const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');\n if (!!ethProvider) {\n signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));\n }\n return signers;\n}\n", "import type { Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\n\nimport { EVM_NAMESPACE } from '@hub3js/namespaces';\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(EVM_NAMESPACE, 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(EVM_NAMESPACE);\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 '@hub3js/evm';\n\nimport { ActionBuilder, NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders } from '@hub3js/evm';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport {\n connectAndUpdateStateForMultiNetworks,\n intoConnecting,\n intoConnectionFinished,\n standardizeAndThrowError,\n} from '@hub3js/std/operators';\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", "isEvmNamespace", "EVM_NAMESPACE", "DefaultSignerFactory", "TxType", "getSigners", "provider", "ethProvider", "EVM_NAMESPACE", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "TxType", "__name", "EVM_NAMESPACE", "tomo", "tomo_evm", "instances", "EVM_NAMESPACE", "__name", "getInstanceOrThrow", "evmTomo", "evmInstance", "WALLET_ID", "TOMO_INJECTION_DELAY", "metadata", "isEvmNamespace", "getSigners", "getInstanceOrThrow", "ActionBuilder", "NamespaceBuilder", "actions", "builders", "commonBuilders", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "intoConnectionFinished", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmTomo", "connect", "ActionBuilder", "actions", "_", "connectResult", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "standardizeAndThrowError", "intoConnectionFinished", "canEagerConnect", "disconnect", "canSwitchNetwork", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "tomo", "TOMO_INJECTION_DELAY", "metadata", "evm", "versions", "__name", "defineVersions", "buildProvider"]
7
7
  }
@@ -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;AASjD,wBAA8B,UAAU,CACtC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,aAAa,CAAC,CAQxB"}
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,CAQxB"}
package/dist/types.d.ts CHANGED
@@ -1,8 +1,9 @@
1
1
  import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
2
2
  import type { EVM_NAMESPACE } from '@hub3js/namespaces';
3
+ import type { InstanceMap } from '@hub3js/std/types';
3
4
  type ProviderObject = {
4
5
  [EVM_NAMESPACE]: EvmProviderApi;
5
6
  };
6
- export type Provider = Map<keyof ProviderObject, ProviderObject[keyof ProviderObject]>;
7
+ export type Provider = InstanceMap<ProviderObject>;
7
8
  export {};
8
9
  //# sourceMappingURL=types.d.ts.map
@@ -1 +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,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD,KAAK,cAAc,GAAG;IACpB,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,GAAG,CACxB,MAAM,cAAc,EACpB,cAAc,CAAC,MAAM,cAAc,CAAC,CACrC,CAAC"}
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,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,KAAK,cAAc,GAAG;IACpB,CAAC,aAAa,CAAC,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG,WAAW,CAAC,cAAc,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-tomo",
3
- "version": "0.30.1-next.1",
3
+ "version": "0.30.1-next.3",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/mod.ts",
@@ -22,12 +22,11 @@
22
22
  },
23
23
  "dependencies": {
24
24
  "@hub3js/core": "^0.61.1",
25
- "@hub3js/evm": "^0.3.3",
26
- "@hub3js/namespaces": "^0.2.5",
27
- "@hub3js/std": "^0.2.3",
28
- "@rango-dev/signer-evm": "^0.45.0",
29
- "@rango-dev/wallets-core": "^0.61.0",
30
- "@rango-dev/wallets-shared": "^0.62.1-next.1",
25
+ "@hub3js/evm": "^0.4.0",
26
+ "@hub3js/namespaces": "^0.3.0",
27
+ "@hub3js/std": "^0.3.0",
28
+ "@rango-dev/signer-evm": "^0.45.1-next.0",
29
+ "@rango-dev/wallets-core": "^0.61.1-next.0",
31
30
  "rango-types": "^0.5.0"
32
31
  },
33
32
  "publishConfig": {
package/src/constants.ts CHANGED
@@ -1,12 +1,11 @@
1
1
  import type { ProviderMetadata } from '@hub3js/core';
2
2
 
3
3
  import { isEvmNamespace } from '@hub3js/evm';
4
- import { WalletTypes } from '@rango-dev/wallets-shared';
5
4
 
6
5
  import getSigners from './signer.js';
7
6
  import { getInstanceOrThrow } from './utils.js';
8
7
 
9
- export const WALLET_ID = WalletTypes.TOMO;
8
+ export const WALLET_ID = 'tomo';
10
9
  export const TOMO_INJECTION_DELAY = 1000;
11
10
  export const metadata: ProviderMetadata = {
12
11
  name: 'Tomo',
package/src/mod.ts CHANGED
@@ -6,3 +6,4 @@ const versions = () =>
6
6
  defineVersions().version('1.0.0', buildProvider()).build();
7
7
 
8
8
  export { versions };
9
+ export { WALLET_ID } from './constants.js';
package/src/signer.ts CHANGED
@@ -2,20 +2,16 @@ import type { Provider } from './types.js';
2
2
  import type { SignerFactory } from 'rango-types';
3
3
 
4
4
  import { EVM_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 = getNetworkInstance(provider, EVM_NAMESPACE);
10
+ const ethProvider = provider.get(EVM_NAMESPACE);
15
11
  const signers = new DefaultSignerFactory();
16
- const { DefaultEvmSigner } = await dynamicImportWithRefinedError(
17
- async () => await import('@rango-dev/signer-evm')
18
- );
19
- signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));
12
+ const { DefaultEvmSigner } = await import('@rango-dev/signer-evm');
13
+ if (!!ethProvider) {
14
+ signers.registerSigner(TxType.EVM, new DefaultEvmSigner(ethProvider));
15
+ }
20
16
  return signers;
21
17
  }
package/src/types.ts CHANGED
@@ -1,11 +1,9 @@
1
1
  import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
2
2
  import type { EVM_NAMESPACE } from '@hub3js/namespaces';
3
+ import type { InstanceMap } from '@hub3js/std/types';
3
4
 
4
5
  type ProviderObject = {
5
6
  [EVM_NAMESPACE]: EvmProviderApi;
6
7
  };
7
8
 
8
- export type Provider = Map<
9
- keyof ProviderObject,
10
- ProviderObject[keyof ProviderObject]
11
- >;
9
+ export type Provider = InstanceMap<ProviderObject>;