@hub3js/evm 0.1.1-next.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip1193.d.ts","sourceRoot":"","sources":["../src/eip1193.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { EvmActions, ProviderAPI } from './types.js';
2
+ import type { Subscriber, SubscriberCleanUp } from '@hub3js/core';
3
+ export declare function changeAccountSubscriber(instance: () => ProviderAPI): [Subscriber<EvmActions>, SubscriberCleanUp<EvmActions>];
4
+ export declare function changeChainSubscriber(instance: () => ProviderAPI): [Subscriber<EvmActions>, SubscriberCleanUp<EvmActions>];
5
+ //# sourceMappingURL=hooks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAIlE,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,WAAW,GAC1B,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAEzD;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,WAAW,GAC1B,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,iBAAiB,CAAC,UAAU,CAAC,CAAC,CA4BzD"}
package/dist/mod.d.ts ADDED
@@ -0,0 +1,10 @@
1
+ export * as actions from './actions.js';
2
+ export * as hooks from './hooks.js';
3
+ export * as after from './after.js';
4
+ export * as and from './and.js';
5
+ export * as before from './before.js';
6
+ export * as utils from './utils.js';
7
+ export * as builders from './builders.js';
8
+ export type { EvmActions, ProviderAPI, Chain, ChainId } from './types.js';
9
+ export { CAIP_NAMESPACE, CAIP_ETHEREUM_CHAIN_ID } from './constants.js';
10
+ //# sourceMappingURL=mod.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,GAAG,MAAM,UAAU,CAAC;AAChC,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAE1C,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/mod.js ADDED
@@ -0,0 +1,2 @@
1
+ var C=Object.defineProperty;var o=(e,t)=>C(e,"name",{value:t,configurable:!0});var a=(e,t)=>{for(var n in t)C(e,n,{get:t[n],enumerable:!0})};var v={};a(v,{canEagerConnect:()=>j,canSwitchNetwork:()=>D,connect:()=>M,getChainId:()=>T,recommended:()=>R});import{recommendedActions as O}from"@hub3js/std/actions";var w={};a(w,{filterAndGetEvmBlockchainNames:()=>A,formatAccountsToCAIP:()=>s,getAccounts:()=>h,isUserRejectionError:()=>k,suggestNetwork:()=>E,switchNetwork:()=>I,switchOrAddNetwork:()=>f});import{AccountId as _}from"caip";import{evmBlockchains as N}from"rango-types";var p="eip155",x="1";var S=16;async function h(e){let[t,n]=await Promise.all([e.request({method:"eth_requestAccounts"}),e.request({method:"eth_chainId"})]),r=n;return typeof r=="number"&&(r=`0x${Number(n).toString(S)}`),{accounts:t,chainId:r}}o(h,"getAccounts");async function E(e,t){return await e.request({method:"wallet_addEthereumChain",params:[t]})}o(E,"suggestNetwork");async function I(e,t){return await e.request({method:"wallet_switchEthereumChain",params:[{chainId:t}]})}o(I,"switchNetwork");function A(e){return N(e).map(t=>t.name)}o(A,"filterAndGetEvmBlockchainNames");async function f(e,t){try{let n=typeof t=="string"?t:t.chainId;await I(e,n)}catch(n){let r=n;if(typeof t!="string"&&(r.code===4902||!r.code)){await E(e,t);return}throw n}}o(f,"switchOrAddNetwork");var l=4001;function k(e){if(typeof e=="object"&&e!==null){let t=e.code,n=e.cause?.code;return t===l||n===l}return!1}o(k,"isUserRejectionError");function s(e,t){return e.map(n=>_.format({address:n,chainId:{namespace:p,reference:t}}))}o(s,"formatAccountsToCAIP");var R=[...O];function M(e,t){return async(n,r)=>{let[,u]=n.state();u("connectArgs",{chain:r});let c=e();if(!c)throw new Error("Do your wallet injected correctly and is evm compatible?");r&&(t?.switchOrAddNetwork?await t.switchOrAddNetwork(c,r):await f(c,r));let i;if(t?.getAccounts?i=await t.getAccounts(c):i=await h(c),!i.accounts||!i.accounts.length)throw new Error("No accounts were returned by the provider. Please make sure your wallet has an active EVM-compatible account selected.");return{accounts:s(i.accounts,i.chainId),network:i.chainId}}}o(M,"connect");function j(e){return async()=>{let t=e();if(!t)throw new Error("Trying to eagerly connect to your EVM wallet, but seems its instance is not available.");try{return!!(await t.request({method:"eth_accounts"})).length}catch{return!1}}}o(j,"canEagerConnect");function D(){return(e,t)=>{let{network:n,supportedChains:r}=t;return A(r).includes(n)}}o(D,"canSwitchNetwork");function T(e){return async()=>{let t=e();if(!t)throw new Error("Trying to get chain id from your EVM wallet, but instance is not available.");return t.request({method:"eth_chainId"})}}o(T,"getChainId");var b={};a(b,{changeAccountSubscriber:()=>U,changeChainSubscriber:()=>F});function U(e){return m.changeAccountSubscriber(e).build()}o(U,"changeAccountSubscriber");function F(e){let t;return[n=>{let r=e();if(!r)throw new Error("Trying to subscribe to your EVM wallet, but seems its instance is not available.");let[,u]=n.state();t=o(async c=>{u("network",c)},"eventCallback"),r.on("chainChanged",t)},()=>{let n=e();t&&n&&n.removeListener("chainChanged",t)}]}o(F,"changeChainSubscriber");var P={};a(P,{recommended:()=>B});import{afterRecommended as q}from"@hub3js/std/operators";var B=[...q];var g={};a(g,{recommended:()=>L});import{connectAndUpdateStateForMultiNetworks as H}from"@hub3js/std/operators";var L=[["connect",H]];var y={};a(y,{recommended:()=>W});import{beforeRecommended as V}from"@hub3js/std/operators";var W=[...V];var m={};a(m,{canEagerConnect:()=>K,canSwitchNetwork:()=>Q,changeAccountSubscriber:()=>Y,connect:()=>z,getChainId:()=>Z});import{ActionBuilder as d}from"@hub3js/core";import{ChangeAccountSubscriberBuilder as G}from"@hub3js/std/hooks";import{connectAndUpdateStateForMultiNetworks as J,intoConnecting as X,intoConnectionFinished as $}from"@hub3js/std/operators";var z=o(()=>new d("connect").and(J).before(X).after($),"connect"),K=o(()=>new d("canEagerConnect"),"canEagerConnect"),Q=o(()=>new d("canSwitchNetwork"),"canSwitchNetwork"),Y=o(e=>new G().getInstance(e).onSwitchAccount((t,n)=>{(!t.payload||!t.payload.length)&&(n.action("disconnect"),t.preventDefault())}).format(async(t,n)=>{let r=await t.request({method:"eth_chainId"});return s(n,r)}).addEventListener((t,n)=>{t.on("accountsChanged",n)}).removeEventListener((t,n)=>{t.removeListener?.("accountsChanged",n)}),"changeAccountSubscriber"),Z=o(()=>new d("getChainId"),"getChainId");export{x as CAIP_ETHEREUM_CHAIN_ID,p as CAIP_NAMESPACE,v as actions,P as after,g as and,y as before,m as builders,b as hooks,w as utils};
2
+ //# sourceMappingURL=mod.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../src/actions.ts", "../src/utils.ts", "../src/constants.ts", "../src/hooks.ts", "../src/after.ts", "../src/and.ts", "../src/before.ts", "../src/builders.ts"],
4
+ "sourcesContent": ["import type {\n ConnectOptions,\n EvmActions,\n ProviderAccounts,\n ProviderAPI,\n} from './types.js';\nimport type {\n CanEagerConnect,\n Context,\n FunctionWithContext,\n} from '@hub3js/core';\n\nimport { recommendedActions } from '@hub3js/std/actions';\n\nimport {\n filterAndGetEvmBlockchainNames,\n formatAccountsToCAIP,\n getAccounts,\n switchOrAddNetwork,\n} from './utils.js';\n\nexport const recommended = [...recommendedActions];\nexport function connect(\n instance: () => ProviderAPI,\n options?: ConnectOptions,\n): FunctionWithContext<EvmActions['connect'], Context> {\n return async (context, chain) => {\n // Setting connect args to be used on other actions\n const [, setState] = context.state();\n setState('connectArgs', { chain });\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Do your wallet injected correctly and is evm compatible?',\n );\n }\n\n if (chain) {\n /*\n * The `switchOrAddNetwork` function can be optionally provided through `options`\n * to handle network switching or addition in a way that is compatible with the specific wallet provider.\n * This approach is necessary because not all providers follow the same conventions\u2014\n * for example, Rabby uses a different error code for \"chain not found\".\n */\n if (options?.switchOrAddNetwork) {\n await options.switchOrAddNetwork(evmInstance, chain);\n } else {\n await switchOrAddNetwork(evmInstance, chain);\n }\n }\n\n let providerAccounts: ProviderAccounts;\n /*\n * The `getAccounts` function can be optionally provided through `options`\n * to handle getting address and chainId of the specific wallet provider.\n * This approach is necessary because not all providers follow the same conventions.\n */\n if (options?.getAccounts) {\n providerAccounts = await options.getAccounts(evmInstance);\n } else {\n providerAccounts = await getAccounts(evmInstance);\n }\n\n /*\n * Ensure that the provider returns at least one valid account before proceeding.\n * This prevents cases (e.g., MetaMask bug) where a user connects with an account\n * that has no associated EVM address, leaving the dApp without any usable accounts.\n */\n if (!providerAccounts.accounts || !providerAccounts.accounts.length) {\n throw new Error(\n 'No accounts were returned by the provider. Please make sure your wallet has an active EVM-compatible account selected.',\n );\n }\n const formattedAccounts = formatAccountsToCAIP(\n providerAccounts.accounts,\n providerAccounts.chainId,\n );\n\n return {\n accounts: formattedAccounts,\n network: providerAccounts.chainId,\n };\n };\n}\n\nexport function canEagerConnect(\n instance: () => ProviderAPI | undefined,\n): CanEagerConnect<EvmActions> {\n return async () => {\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Trying to eagerly connect to your EVM wallet, but seems its instance is not available.',\n );\n }\n\n try {\n const accounts: string[] = await evmInstance.request({\n method: 'eth_accounts',\n });\n if (accounts.length) {\n return true;\n }\n return false;\n } catch {\n return false;\n }\n };\n}\nexport function canSwitchNetwork(): FunctionWithContext<\n EvmActions['canSwitchNetwork'],\n Context\n> {\n return (context, params) => {\n const { network, supportedChains } = params;\n return filterAndGetEvmBlockchainNames(supportedChains).includes(network);\n };\n}\n\nexport function getChainId(\n instance: () => ProviderAPI | undefined,\n): FunctionWithContext<EvmActions['getChainId'], Context> {\n return async () => {\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Trying to get chain id from your EVM wallet, but instance is not available.',\n );\n }\n\n return evmInstance.request({ method: 'eth_chainId' });\n };\n}\n", "import type { Chain, ChainId, ProviderAPI } from './types.js';\nimport type { CaipAccount } from '@hub3js/std/types';\n\nimport { AccountId } from 'caip';\nimport { type BlockchainMeta, evmBlockchains } from 'rango-types';\n\nimport { CAIP_NAMESPACE } from './constants.js';\n\nconst CHAIN_ID_RADIX = 16;\n\nexport async function getAccounts(provider: ProviderAPI) {\n const [accounts, chainId] = await Promise.all([\n provider.request({ method: 'eth_requestAccounts' }),\n provider.request({ method: 'eth_chainId' }),\n ]);\n /*\n * Trust Wallet Compatibility Fix:\n * Trust Wallet's in-app browser has been observed to return the `chainId` as a\n * number (e.g., 1) rather than the standard hexadecimal string (e.g., \"0x1\").\n * This code block standardizes the `chainId` to the required hex format to\n * prevent downstream errors.\n */\n let standardChainId = chainId;\n if (typeof standardChainId === 'number') {\n standardChainId = `0x${Number(chainId).toString(CHAIN_ID_RADIX)}`;\n }\n\n return {\n accounts,\n chainId: standardChainId,\n };\n}\n\nexport async function suggestNetwork(instance: ProviderAPI, chain: Chain) {\n return await instance.request({\n method: 'wallet_addEthereumChain',\n params: [chain],\n });\n}\n\nexport async function switchNetwork(instance: ProviderAPI, chainId: ChainId) {\n return await instance.request({\n method: 'wallet_switchEthereumChain',\n params: [{ chainId: chainId }],\n });\n}\nexport function filterAndGetEvmBlockchainNames(meta: BlockchainMeta[]) {\n return evmBlockchains(meta).map((blockchain) => blockchain.name);\n}\nexport async function switchOrAddNetwork(\n instance: ProviderAPI,\n chain: ChainId | Chain,\n) {\n try {\n const chainId = typeof chain === 'string' ? chain : chain.chainId;\n await switchNetwork(instance, chainId);\n } catch (switchError) {\n const error = switchError as { code: number };\n\n /*\n * Error code 4902 is used by MetaMask to indicate that the requested chain has not been added to the wallet.\n * This code is not part of the official EIP-1193 spec (https://eips.ethereum.org/EIPS/eip-1193#supported-rpc-methods),\n * so other providers may use a different code or behavior for the same condition.\n */\n const NOT_FOUND_CHAIN_ERROR_CODE = 4902;\n if (\n typeof chain !== 'string' &&\n (error.code === NOT_FOUND_CHAIN_ERROR_CODE || !error.code)\n ) {\n /*\n * Note: on WalletConnect `code` is undefined so we have to use !switchError.code as fallback.\n * This error code indicates that the chain has not been added to wallet.\n */\n await suggestNetwork(instance, chain);\n return;\n }\n throw switchError;\n }\n}\n\nconst EIP_1193_USER_REJECTION_ERROR_CODE = 4001;\nexport function isUserRejectionError(error: unknown): boolean {\n // EIP-1193 user rejection error can be in error.code or error.cause.code\n if (typeof error === 'object' && error !== null) {\n const code = (error as { code?: number }).code;\n const causeCode = (error as { cause?: { code?: number } }).cause?.code;\n return (\n code === EIP_1193_USER_REJECTION_ERROR_CODE ||\n causeCode === EIP_1193_USER_REJECTION_ERROR_CODE\n );\n }\n return false;\n}\n\nexport function formatAccountsToCAIP(accounts: string[], chainId: string) {\n return accounts.map(\n (account) =>\n AccountId.format({\n address: account,\n chainId: {\n namespace: CAIP_NAMESPACE,\n reference: chainId,\n },\n }) as CaipAccount,\n );\n}\n", "export const CAIP_NAMESPACE = 'eip155';\nexport const CAIP_ETHEREUM_CHAIN_ID = '1';\n", "import type { EIP1193EventMap } from './eip1193.js';\nimport type { EvmActions, ProviderAPI } from './types.js';\nimport type { Subscriber, SubscriberCleanUp } from '@hub3js/core';\n\nimport { builders } from './mod.js';\n\nexport function changeAccountSubscriber(\n instance: () => ProviderAPI,\n): [Subscriber<EvmActions>, SubscriberCleanUp<EvmActions>] {\n return builders.changeAccountSubscriber(instance).build();\n}\n\nexport function changeChainSubscriber(\n instance: () => ProviderAPI,\n): [Subscriber<EvmActions>, SubscriberCleanUp<EvmActions>] {\n let eventCallback: EIP1193EventMap['chainChanged'];\n\n return [\n (context) => {\n const evmInstance = instance();\n\n if (!evmInstance) {\n throw new Error(\n 'Trying to subscribe to your EVM wallet, but seems its instance is not available.',\n );\n }\n\n const [, setState] = context.state();\n\n eventCallback = async (chainId: string) => {\n setState('network', chainId);\n };\n evmInstance.on('chainChanged', eventCallback);\n },\n () => {\n const evmInstance = instance();\n\n if (eventCallback && evmInstance) {\n evmInstance.removeListener('chainChanged', eventCallback);\n }\n },\n ];\n}\n", "import { afterRecommended } from '@hub3js/std/operators';\n\nexport const recommended = [...afterRecommended];\n", "import { connectAndUpdateStateForMultiNetworks } from '@hub3js/std/operators';\n\nexport const recommended = [\n ['connect', connectAndUpdateStateForMultiNetworks] as const,\n];\n", "import { beforeRecommended } from '@hub3js/std/operators';\n\nexport const recommended = [...beforeRecommended];\n", "import type { EvmActions, ProviderAPI } from './types.js';\n\nimport { ActionBuilder } from '@hub3js/core';\nimport { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';\nimport {\n connectAndUpdateStateForMultiNetworks,\n intoConnecting,\n intoConnectionFinished,\n} from '@hub3js/std/operators';\n\nimport { formatAccountsToCAIP } from './utils.js';\n\n// Actions\nexport const connect = () =>\n new ActionBuilder<EvmActions, 'connect'>('connect')\n .and(connectAndUpdateStateForMultiNetworks)\n .before(intoConnecting)\n .after(intoConnectionFinished);\n\nexport const canEagerConnect = () =>\n new ActionBuilder<EvmActions, 'canEagerConnect'>('canEagerConnect');\nexport const canSwitchNetwork = () =>\n new ActionBuilder<EvmActions, 'canSwitchNetwork'>('canSwitchNetwork');\n\n// Hooks\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<string[], ProviderAPI, EvmActions>()\n .getInstance(getInstance)\n /*\n * In some wallets, when a user switches to an account not yet connected to the dApp, it returns null.\n * A null value indicates no access to the account, requiring a disconnect and user reconnection.\n * This behavior may vary across different wallets, and if so, a different approach may be needed.\n */\n .onSwitchAccount((event, context) => {\n if (!event.payload || !event.payload.length) {\n context.action('disconnect');\n event.preventDefault();\n }\n })\n .format(async (instance, accounts) => {\n const chainId = await instance.request({ method: 'eth_chainId' });\n return formatAccountsToCAIP(accounts, chainId);\n })\n .addEventListener((instance, callback) => {\n instance.on('accountsChanged', callback);\n })\n .removeEventListener((instance, callback) => {\n instance.removeListener?.('accountsChanged', callback);\n });\n\nexport const getChainId = () =>\n new ActionBuilder<EvmActions, 'getChainId'>('getChainId');\n"],
5
+ "mappings": "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",
6
+ "names": ["actions_exports", "__export", "canEagerConnect", "canSwitchNetwork", "connect", "getChainId", "recommended", "recommendedActions", "utils_exports", "__export", "filterAndGetEvmBlockchainNames", "formatAccountsToCAIP", "getAccounts", "isUserRejectionError", "suggestNetwork", "switchNetwork", "switchOrAddNetwork", "AccountId", "evmBlockchains", "CAIP_NAMESPACE", "CAIP_ETHEREUM_CHAIN_ID", "CHAIN_ID_RADIX", "getAccounts", "provider", "accounts", "chainId", "standardChainId", "__name", "suggestNetwork", "instance", "chain", "switchNetwork", "filterAndGetEvmBlockchainNames", "meta", "evmBlockchains", "blockchain", "switchOrAddNetwork", "switchError", "error", "EIP_1193_USER_REJECTION_ERROR_CODE", "isUserRejectionError", "code", "causeCode", "formatAccountsToCAIP", "account", "AccountId", "CAIP_NAMESPACE", "recommended", "recommendedActions", "connect", "instance", "options", "context", "chain", "setState", "evmInstance", "switchOrAddNetwork", "providerAccounts", "getAccounts", "formatAccountsToCAIP", "__name", "canEagerConnect", "canSwitchNetwork", "params", "network", "supportedChains", "filterAndGetEvmBlockchainNames", "getChainId", "hooks_exports", "__export", "changeAccountSubscriber", "changeChainSubscriber", "changeAccountSubscriber", "instance", "builders_exports", "__name", "changeChainSubscriber", "eventCallback", "context", "evmInstance", "setState", "chainId", "after_exports", "__export", "recommended", "afterRecommended", "and_exports", "__export", "recommended", "connectAndUpdateStateForMultiNetworks", "before_exports", "__export", "recommended", "beforeRecommended", "builders_exports", "__export", "canEagerConnect", "canSwitchNetwork", "changeAccountSubscriber", "connect", "getChainId", "ActionBuilder", "ChangeAccountSubscriberBuilder", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "intoConnectionFinished", "connect", "__name", "ActionBuilder", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "intoConnectionFinished", "canEagerConnect", "canSwitchNetwork", "changeAccountSubscriber", "getInstance", "ChangeAccountSubscriberBuilder", "event", "context", "instance", "accounts", "chainId", "formatAccountsToCAIP", "callback", "getChainId"]
7
+ }
@@ -0,0 +1,27 @@
1
+ import type { AddEthereumChainParameter, EIP1193Provider } from './eip1193.js';
2
+ import type { AccountsWithActiveChain, AutoImplementedActionsByRecommended, CommonActions } from '@hub3js/std/types';
3
+ import type { BlockchainMeta } from 'rango-types';
4
+ export interface EvmActions extends AutoImplementedActionsByRecommended, CommonActions {
5
+ connect: (chain?: Chain | ChainId, options?: ConnectOptions) => Promise<AccountsWithActiveChain>;
6
+ canEagerConnect: () => Promise<boolean>;
7
+ canSwitchNetwork: (params: CanSwitchNetworkParams) => boolean;
8
+ getChainId: () => Promise<`0x${string}`>;
9
+ }
10
+ type CanSwitchNetworkParams = {
11
+ network: string;
12
+ supportedChains: BlockchainMeta[];
13
+ };
14
+ export type ProviderAPI = EIP1193Provider;
15
+ export type ChainId = string;
16
+ export type Chain = AddEthereumChainParameter;
17
+ export type ProviderAccounts = {
18
+ accounts: string[];
19
+ chainId: ChainId;
20
+ };
21
+ export type ConnectOptions = {
22
+ switchOrAddNetwork?: (instance: ProviderAPI, chain: ChainId | Chain) => void;
23
+ getAccounts?: (provider: ProviderAPI) => Promise<ProviderAccounts>;
24
+ derivationPath?: string;
25
+ };
26
+ export {};
27
+ //# 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,yBAAyB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/E,OAAO,KAAK,EACV,uBAAuB,EACvB,mCAAmC,EACnC,aAAa,EACd,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,UACf,SAAQ,mCAAmC,EAAE,aAAa;IAC1D,OAAO,EAAE,CACP,KAAK,CAAC,EAAE,KAAK,GAAG,OAAO,EACvB,OAAO,CAAC,EAAE,cAAc,KACrB,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,eAAe,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IACxC,gBAAgB,EAAE,CAAC,MAAM,EAAE,sBAAsB,KAAK,OAAO,CAAC;IAC9D,UAAU,EAAE,MAAM,OAAO,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC;CAC1C;AACD,KAAK,sBAAsB,GAAG;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,cAAc,EAAE,CAAC;CACnC,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,eAAe,CAAC;AAE1C,MAAM,MAAM,OAAO,GAAG,MAAM,CAAC;AAC7B,MAAM,MAAM,KAAK,GAAG,yBAAyB,CAAC;AAC9C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AACF,MAAM,MAAM,cAAc,GAAG;IAC3B,kBAAkB,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,KAAK,IAAI,CAAC;IAC7E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { Chain, ChainId, ProviderAPI } from './types.js';
2
+ import { type BlockchainMeta } from 'rango-types';
3
+ export declare function getAccounts(provider: ProviderAPI): Promise<{
4
+ accounts: `0x${string}`[];
5
+ chainId: `0x${string}`;
6
+ }>;
7
+ export declare function suggestNetwork(instance: ProviderAPI, chain: Chain): Promise<null>;
8
+ export declare function switchNetwork(instance: ProviderAPI, chainId: ChainId): Promise<null>;
9
+ export declare function filterAndGetEvmBlockchainNames(meta: BlockchainMeta[]): string[];
10
+ export declare function switchOrAddNetwork(instance: ProviderAPI, chain: ChainId | Chain): Promise<void>;
11
+ export declare function isUserRejectionError(error: unknown): boolean;
12
+ export declare function formatAccountsToCAIP(accounts: string[], chainId: string): `${string}:${string}:${string}`[];
13
+ //# 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,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9D,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,aAAa,CAAC;AAMlE,wBAAsB,WAAW,CAAC,QAAQ,EAAE,WAAW;;;GAqBtD;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,iBAKvE;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,EAAE,OAAO,iBAK1E;AACD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,cAAc,EAAE,YAEpE;AACD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,WAAW,EACrB,KAAK,EAAE,OAAO,GAAG,KAAK,iBA2BvB;AAGD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAW5D;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,qCAWvE"}
package/package.json ADDED
@@ -0,0 +1 @@
1
+ {"name":"@hub3js/evm","version":"0.1.1-next.0","license":"MIT","type":"module","source":"./src/mod.ts","main":"./dist/mod.js","typings":"./dist/mod.d.ts","exports":{".":{"types":"./dist/mod.d.ts","default":"./dist/mod.js"}},"files":["dist","src"],"scripts":{"build":"yarn run rangutopia library build","ts-check":"tsc --declaration --emitDeclarationOnly -p tsconfig.json","clean":"rimraf dist","format":"prettier --write '{.,src}/**/*.{ts,tsx}'","lint":"eslint \"**/*.{ts,tsx}\"","test":"vitest","coverage":"vitest run --coverage"},"peerDependencies":{"@hub3js/core":"^0.59.1-next.2"},"devDependencies":{"@hub3js/core":"^0.59.1-next.2"},"dependencies":{"@hub3js/std":"^0.0.1-next.1","caip":"^1.1.1","rango-types":"^0.5.0"},"publishConfig":{"access":"public"}}
package/readme.md ADDED
@@ -0,0 +1,3 @@
1
+ # @hub3js/evm
2
+
3
+ Package for handling EVM wallets supported by Rango
package/src/actions.ts ADDED
@@ -0,0 +1,136 @@
1
+ import type {
2
+ ConnectOptions,
3
+ EvmActions,
4
+ ProviderAccounts,
5
+ ProviderAPI,
6
+ } from './types.js';
7
+ import type {
8
+ CanEagerConnect,
9
+ Context,
10
+ FunctionWithContext,
11
+ } from '@hub3js/core';
12
+
13
+ import { recommendedActions } from '@hub3js/std/actions';
14
+
15
+ import {
16
+ filterAndGetEvmBlockchainNames,
17
+ formatAccountsToCAIP,
18
+ getAccounts,
19
+ switchOrAddNetwork,
20
+ } from './utils.js';
21
+
22
+ export const recommended = [...recommendedActions];
23
+ export function connect(
24
+ instance: () => ProviderAPI,
25
+ options?: ConnectOptions,
26
+ ): FunctionWithContext<EvmActions['connect'], Context> {
27
+ return async (context, chain) => {
28
+ // Setting connect args to be used on other actions
29
+ const [, setState] = context.state();
30
+ setState('connectArgs', { chain });
31
+ const evmInstance = instance();
32
+
33
+ if (!evmInstance) {
34
+ throw new Error(
35
+ 'Do your wallet injected correctly and is evm compatible?',
36
+ );
37
+ }
38
+
39
+ if (chain) {
40
+ /*
41
+ * The `switchOrAddNetwork` function can be optionally provided through `options`
42
+ * to handle network switching or addition in a way that is compatible with the specific wallet provider.
43
+ * This approach is necessary because not all providers follow the same conventions—
44
+ * for example, Rabby uses a different error code for "chain not found".
45
+ */
46
+ if (options?.switchOrAddNetwork) {
47
+ await options.switchOrAddNetwork(evmInstance, chain);
48
+ } else {
49
+ await switchOrAddNetwork(evmInstance, chain);
50
+ }
51
+ }
52
+
53
+ let providerAccounts: ProviderAccounts;
54
+ /*
55
+ * The `getAccounts` function can be optionally provided through `options`
56
+ * to handle getting address and chainId of the specific wallet provider.
57
+ * This approach is necessary because not all providers follow the same conventions.
58
+ */
59
+ if (options?.getAccounts) {
60
+ providerAccounts = await options.getAccounts(evmInstance);
61
+ } else {
62
+ providerAccounts = await getAccounts(evmInstance);
63
+ }
64
+
65
+ /*
66
+ * Ensure that the provider returns at least one valid account before proceeding.
67
+ * This prevents cases (e.g., MetaMask bug) where a user connects with an account
68
+ * that has no associated EVM address, leaving the dApp without any usable accounts.
69
+ */
70
+ if (!providerAccounts.accounts || !providerAccounts.accounts.length) {
71
+ throw new Error(
72
+ 'No accounts were returned by the provider. Please make sure your wallet has an active EVM-compatible account selected.',
73
+ );
74
+ }
75
+ const formattedAccounts = formatAccountsToCAIP(
76
+ providerAccounts.accounts,
77
+ providerAccounts.chainId,
78
+ );
79
+
80
+ return {
81
+ accounts: formattedAccounts,
82
+ network: providerAccounts.chainId,
83
+ };
84
+ };
85
+ }
86
+
87
+ export function canEagerConnect(
88
+ instance: () => ProviderAPI | undefined,
89
+ ): CanEagerConnect<EvmActions> {
90
+ return async () => {
91
+ const evmInstance = instance();
92
+
93
+ if (!evmInstance) {
94
+ throw new Error(
95
+ 'Trying to eagerly connect to your EVM wallet, but seems its instance is not available.',
96
+ );
97
+ }
98
+
99
+ try {
100
+ const accounts: string[] = await evmInstance.request({
101
+ method: 'eth_accounts',
102
+ });
103
+ if (accounts.length) {
104
+ return true;
105
+ }
106
+ return false;
107
+ } catch {
108
+ return false;
109
+ }
110
+ };
111
+ }
112
+ export function canSwitchNetwork(): FunctionWithContext<
113
+ EvmActions['canSwitchNetwork'],
114
+ Context
115
+ > {
116
+ return (context, params) => {
117
+ const { network, supportedChains } = params;
118
+ return filterAndGetEvmBlockchainNames(supportedChains).includes(network);
119
+ };
120
+ }
121
+
122
+ export function getChainId(
123
+ instance: () => ProviderAPI | undefined,
124
+ ): FunctionWithContext<EvmActions['getChainId'], Context> {
125
+ return async () => {
126
+ const evmInstance = instance();
127
+
128
+ if (!evmInstance) {
129
+ throw new Error(
130
+ 'Trying to get chain id from your EVM wallet, but instance is not available.',
131
+ );
132
+ }
133
+
134
+ return evmInstance.request({ method: 'eth_chainId' });
135
+ };
136
+ }
package/src/after.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { afterRecommended } from '@hub3js/std/operators';
2
+
3
+ export const recommended = [...afterRecommended];
package/src/and.ts ADDED
@@ -0,0 +1,5 @@
1
+ import { connectAndUpdateStateForMultiNetworks } from '@hub3js/std/operators';
2
+
3
+ export const recommended = [
4
+ ['connect', connectAndUpdateStateForMultiNetworks] as const,
5
+ ];
package/src/before.ts ADDED
@@ -0,0 +1,3 @@
1
+ import { beforeRecommended } from '@hub3js/std/operators';
2
+
3
+ export const recommended = [...beforeRecommended];
@@ -0,0 +1,52 @@
1
+ import type { EvmActions, ProviderAPI } from './types.js';
2
+
3
+ import { ActionBuilder } from '@hub3js/core';
4
+ import { ChangeAccountSubscriberBuilder } from '@hub3js/std/hooks';
5
+ import {
6
+ connectAndUpdateStateForMultiNetworks,
7
+ intoConnecting,
8
+ intoConnectionFinished,
9
+ } from '@hub3js/std/operators';
10
+
11
+ import { formatAccountsToCAIP } from './utils.js';
12
+
13
+ // Actions
14
+ export const connect = () =>
15
+ new ActionBuilder<EvmActions, 'connect'>('connect')
16
+ .and(connectAndUpdateStateForMultiNetworks)
17
+ .before(intoConnecting)
18
+ .after(intoConnectionFinished);
19
+
20
+ export const canEagerConnect = () =>
21
+ new ActionBuilder<EvmActions, 'canEagerConnect'>('canEagerConnect');
22
+ export const canSwitchNetwork = () =>
23
+ new ActionBuilder<EvmActions, 'canSwitchNetwork'>('canSwitchNetwork');
24
+
25
+ // Hooks
26
+ export const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>
27
+ new ChangeAccountSubscriberBuilder<string[], ProviderAPI, EvmActions>()
28
+ .getInstance(getInstance)
29
+ /*
30
+ * In some wallets, when a user switches to an account not yet connected to the dApp, it returns null.
31
+ * A null value indicates no access to the account, requiring a disconnect and user reconnection.
32
+ * This behavior may vary across different wallets, and if so, a different approach may be needed.
33
+ */
34
+ .onSwitchAccount((event, context) => {
35
+ if (!event.payload || !event.payload.length) {
36
+ context.action('disconnect');
37
+ event.preventDefault();
38
+ }
39
+ })
40
+ .format(async (instance, accounts) => {
41
+ const chainId = await instance.request({ method: 'eth_chainId' });
42
+ return formatAccountsToCAIP(accounts, chainId);
43
+ })
44
+ .addEventListener((instance, callback) => {
45
+ instance.on('accountsChanged', callback);
46
+ })
47
+ .removeEventListener((instance, callback) => {
48
+ instance.removeListener?.('accountsChanged', callback);
49
+ });
50
+
51
+ export const getChainId = () =>
52
+ new ActionBuilder<EvmActions, 'getChainId'>('getChainId');
@@ -0,0 +1,2 @@
1
+ export const CAIP_NAMESPACE = 'eip155';
2
+ export const CAIP_ETHEREUM_CHAIN_ID = '1';