@rango-dev/provider-coinbase 0.61.1-next.0 → 0.61.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/dist/constants.d.ts +1 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/mod.d.ts +1 -1
- package/dist/mod.d.ts.map +1 -1
- package/dist/mod.js +1 -1
- package/dist/mod.js.map +3 -3
- package/dist/namespaces/evm.d.ts +2 -2
- package/dist/namespaces/evm.d.ts.map +1 -1
- package/dist/namespaces/solana.d.ts +2 -2
- package/dist/namespaces/solana.d.ts.map +1 -1
- package/dist/provider-coinbase.build.json +1 -1
- package/dist/provider.d.ts +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/utils.d.ts +2 -2
- package/dist/utils.d.ts.map +1 -1
- package/package.json +6 -2
- package/src/constants.ts +2 -1
- package/src/mod.ts +1 -1
- package/src/namespaces/evm.ts +5 -9
- package/src/namespaces/solana.ts +5 -5
- package/src/provider.ts +1 -1
- package/src/utils.ts +2 -2
package/dist/constants.d.ts
CHANGED
package/dist/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAWrD,eAAO,MAAM,SAAS,aAAa,CAAC;AAEpC,eAAO,MAAM,QAAQ,EAAE,gBAsCtB,CAAC"}
|
package/dist/mod.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
declare const versions: () => import("@rango-dev/wallets-core/
|
|
1
|
+
declare const versions: () => readonly [readonly ["0.0.0", import("@rango-dev/wallets-core/legacy").LegacyProviderInterface], readonly ["1.0.0", import("@hub3js/core").Provider<Record<"solana", import("@hub3js/solana").SolanaActions> & Record<"evm", import("@hub3js/evm").EvmActions>>]];
|
|
2
2
|
export { versions };
|
|
3
3
|
//# 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":"AAKA,QAAA,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"mod.d.ts","sourceRoot":"","sources":["../src/mod.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,QAAQ,wQAIF,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
package/dist/mod.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var
|
|
1
|
+
var D=Object.defineProperty;var o=(n,e)=>D(n,"name",{value:e,configurable:!0});import{defineVersions as Fn}from"@hub3js/core/utils";import{LegacyNetworks as r}from"@rango-dev/wallets-core/legacy";import{canEagerlyConnectToEvm as K,canSwitchNetworkToEvm as Q,chooseInstance as b,getEvmAccounts as X,switchNetworkForEvm as Y,WalletTypes as Z}from"@rango-dev/wallets-shared";import{evmBlockchains as T,isEvmBlockchain as $,isSolanaBlockchain as nn,solanaBlockchain as M}from"rango-types";import{dynamicImportWithRefinedError as G,getNetworkInstance as k,Networks as P}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as J,TransactionType as I}from"rango-types";import{DefaultSolanaSigner as q}from"@rango-dev/signer-solana";import z from"bs58";var h=class extends q{static{o(this,"CustomSolanaSigner")}constructor(e){super(e)}async signMessage(e){let{signature:t}=await this.provider.signMessage(e);return z.encode(t)}};async function u(n){let e=k(n,P.ETHEREUM),t=k(n,P.SOLANA),a=new J,{DefaultEvmSigner:s}=await G(async()=>await import("@rango-dev/signer-evm"));return a.registerSigner(I.EVM,new s(e)),a.registerSigner(I.SOLANA,new h(t)),a}o(u,"getSigners");import{LegacyNetworks as p}from"@rango-dev/wallets-core/legacy";function m(){let{coinbaseWalletExtension:n,coinbaseSolana:e}=window;if(!e&&!n)return null;let t=new Map;return n&&t.set(p.ETHEREUM,n),e&&t.set(p.SOLANA,e),t}o(m,"coinbase");function c(){let e=m()?.get(p.ETHEREUM);if(!e)throw new Error("Coinbase not injected or EVM not enabled. Please check your wallet.");return e}o(c,"evmCoinbase");function i(){let e=m()?.get(p.SOLANA);if(!e)throw new Error("Coinbase not injected or Solana not enabled. Please check your wallet.");return e}o(i,"solanaCoinbase");function x(){let n=m();if(!n)throw new Error("Coinbase is not injected. Please check your wallet.");return n}o(x,"getInstanceOrThrow");async function N(n){return await n.connect(),{accounts:[n.publicKey.toString()],chainId:p.SOLANA}}o(N,"getSolanaAccounts");var en=Z.COINBASE,on={type:en,defaultNetwork:r.ETHEREUM},tn=m,an=o(async({instance:n,meta:e})=>{let t=b(n,e,r.ETHEREUM),a=[];if(t){let l=await X(t);a.push(l)}let s=i();if(s){let l=await N(s);a.push(l)}return a},"connect"),rn=o(n=>{let e=b(n.instance,n.meta,r.ETHEREUM),t=b(n.instance,n.meta,r.SOLANA),{connect:a,updateAccounts:s,state:l,updateChainId:S,meta:A}=n,C=o(f=>{let g=A.filter($).find(v=>v.name===r.ETHEREUM)?.chainId;l.connected&&(l.network!=r.ETHEREUM&&g&&S(g),s(f))},"handleEvmAccountsChanged"),y=o(async f=>{l.network!=r.SOLANA&&S(A.filter(nn)[0].chainId);let g=r.SOLANA;if(f){let v=f.toString();s([v])}else a(g)},"handleSolanaAccountChanged");return e?.on?.("accountsChanged",C),t?.on?.("accountChanged",y),()=>{e?.off?.("accountsChanged",C),t?.off?.("accountChanged",y)}},"subscribe"),cn=Y,sn=Q,ln=u,mn=o(async({instance:n,meta:e})=>{let t=b(n,e,r.ETHEREUM);return t?K({instance:t,meta:e}):Promise.resolve(!1)},"canEagerConnect"),dn=o(n=>{let e=T(n),t=M(n);return{name:"Coinbase",img:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coinbase/icon.svg",installLink:{CHROME:"https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad",BRAVE:"https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad",DEFAULT:"https://www.coinbase.com/wallet"},color:"#2a62f5",supportedChains:[...e,...t],needsNamespace:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:a=>T(a)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:a=>M(a)}]}}},"getWalletInfo"),L=o(()=>({config:on,getInstance:tn,connect:an,subscribe:rn,switchNetwork:cn,canSwitchNetworkTo:sn,getSigners:ln,getWalletInfo:dn,canEagerConnect:mn}),"buildLegacyProvider");import{ProviderBuilder as _n}from"@hub3js/core";import{evmBlockchains as un,solanaBlockchain as pn}from"rango-types";var d="coinbase",B={name:"Coinbase",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coinbase/icon.svg",extensions:{chrome:"https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad",brave:"https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad",homepage:"https://www.coinbase.com/wallet"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:n=>un(n)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:n=>pn(n)}]}},{name:"signers",value:{getSigners:async()=>u(x())}}]};import{ActionBuilder as fn,NamespaceBuilder as gn}from"@hub3js/core";import{actions as w,builders as E,utils as hn}from"@hub3js/evm";import*as R from"@hub3js/std/builders";import{connectAndUpdateStateForMultiNetworks as bn,intoConnecting as wn,intoConnectionFinished as En,standardizeAndThrowError as vn}from"@hub3js/std/operators";var[Sn,j]=E.changeAccountSubscriber(c).format(async(n,e)=>{let t=await n.request({method:"eth_chainId"});return hn.formatAccountsToCAIP([e[0]],t)}).build(),An=new fn("connect").action(w.connect(c)).and((n,e)=>({...e,accounts:[e.accounts[0]]})).and(bn).before(wn).before(Sn).or(j).or(vn).after(En).build(),Cn=R.disconnect().before(()=>{c().disconnect()}).after(j).build(),yn=E.canEagerConnect().action(w.canEagerConnect(c)).build(),kn=E.canSwitchNetwork().action(w.canSwitchNetwork()).build(),Pn=E.getChainId().action(w.getChainId(c)).build(),O=new gn("EVM",d).action(An).action(Cn).action(yn).action(kn).action(Pn).build();import{ActionBuilder as U,NamespaceBuilder as xn}from"@hub3js/core";import{actions as Nn,builders as Tn}from"@hub3js/solana";import*as _ from"@hub3js/std/builders";import{connectAndUpdateStateForSingleNetwork as Mn,intoConnecting as Ln,intoConnectionFinished as Bn,standardizeAndThrowError as Rn}from"@hub3js/std/operators";var In=o(async()=>{let n=c();if(!i())throw new Error("Trying to eagerly connect to your wallet, but seems its solana instance is not available.");if(!n)throw new Error("Trying to eagerly connect to your EVM wallet, but seems its instance is not available.");try{return!!(await n.request({method:"eth_accounts"})).length}catch{return!1}},"canEagerConnectAction"),H={canEagerConnectAction:In};var[jn,F]=Tn.changeAccountSubscriber(i).build(),On=new U("connect").action(Nn.connect(i)).and((n,e)=>[e[0]]).and(Mn).before(Ln).before(jn).after(Bn).or(F).or(Rn).build(),Hn=_.disconnect().before(()=>{i().disconnect()}).after(F).build(),Un=new U("canEagerConnect").action(H.canEagerConnectAction).build(),W=new xn("Solana",d).action(On).action(Hn).action(Un).build();var V=o(()=>new _n(d).init(function(n){let[,e]=n.state();m()&&(e("installed",!0),console.debug("[coinbase] instance detected.",n))}).config("metadata",B).add("solana",W).add("evm",O).build(),"buildProvider");var He=o(()=>Fn().version("0.0.0",L()).version("1.0.0",V()).build(),"versions");export{He 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/legacy/index.ts", "../src/signer.ts", "../src/signers/solana-signer.ts", "../src/utils.ts", "../src/provider.ts", "../src/constants.ts", "../src/namespaces/evm.ts", "../src/namespaces/solana.ts", "../src/actions/solana.ts"],
|
|
4
|
-
"sourcesContent": ["import { defineVersions } from '@rango-dev/wallets-core/utils';\n\nimport { buildLegacyProvider } from './legacy/index.js';\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions()\n .version('0.0.0', buildLegacyProvider())\n .version('1.0.0', buildProvider())\n .build();\n\nexport { versions };\n", "import type { Provider } from '../utils.js';\nimport type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n type LegacyProviderInterface,\n LegacyNetworks as Networks,\n} from '@rango-dev/wallets-core/legacy';\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport {\n evmBlockchains,\n isEvmBlockchain,\n isSolanaBlockchain,\n solanaBlockchain,\n} from 'rango-types';\n\nimport signer from '../signer.js';\nimport {\n coinbase as coinbase_instance,\n getSolanaAccounts,\n solanaCoinbase,\n} from '../utils.js';\n\nconst WALLET = WalletTypes.COINBASE;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: Networks.ETHEREUM,\n};\n\nexport const getInstance = coinbase_instance;\nexport const connect: Connect = async ({ instance, meta }) => {\n /*\n * Note: We need to get `chainId` here, because for the first time\n * after opening the browser, wallet is locked, and don't give us accounts and chainId\n * on `check` phase, so `network` will be null. For this case we need to get chainId\n * whenever we are requesting accounts.\n */\n const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);\n const results: ProviderConnectResult[] = [];\n\n if (evm_instance) {\n const evm = await getEvmAccounts(evm_instance);\n results.push(evm);\n }\n\n const solanaInstance = solanaCoinbase();\n if (solanaInstance) {\n const solanaResults = await getSolanaAccounts(solanaInstance);\n results.push(solanaResults);\n }\n\n return results;\n};\n\nexport const subscribe: Subscribe = (options) => {\n const ethInstance = chooseInstance(\n options.instance,\n options.meta,\n Networks.ETHEREUM\n );\n const solanaInstance = chooseInstance(\n options.instance,\n options.meta,\n Networks.SOLANA\n );\n const { connect, updateAccounts, state, updateChainId, meta } = options;\n const handleEvmAccountsChanged = (addresses: string[]) => {\n const eth_chainId = meta\n .filter(isEvmBlockchain)\n .find((blockchain) => blockchain.name === Networks.ETHEREUM)?.chainId;\n if (state.connected) {\n if (state.network != Networks.ETHEREUM && eth_chainId) {\n updateChainId(eth_chainId);\n }\n updateAccounts(addresses);\n }\n };\n\n const handleSolanaAccountChanged = async (publicKey: string) => {\n if (state.network != Networks.SOLANA) {\n updateChainId(meta.filter(isSolanaBlockchain)[0].chainId);\n }\n const network = Networks.SOLANA;\n if (publicKey) {\n const account = publicKey.toString();\n updateAccounts([account]);\n } else {\n connect(network);\n }\n };\n ethInstance?.on?.('accountsChanged', handleEvmAccountsChanged);\n\n solanaInstance?.on?.('accountChanged', handleSolanaAccountChanged);\n\n return () => {\n ethInstance?.off?.('accountsChanged', handleEvmAccountsChanged);\n\n solanaInstance?.off?.('accountChanged', handleSolanaAccountChanged);\n };\n};\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: Provider) => Promise<SignerFactory> =\n signer;\n\nexport const canEagerConnect: CanEagerConnect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);\n if (evm_instance) {\n return canEagerlyConnectToEvm({ instance: evm_instance, meta });\n }\n return Promise.resolve(false);\n};\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n const solana = solanaBlockchain(allBlockChains);\n return {\n name: 'Coinbase',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coinbase/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad',\n DEFAULT: 'https://www.coinbase.com/wallet',\n },\n color: '#2a62f5',\n supportedChains: [...evms, ...solana],\n needsNamespace: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n };\n};\n\nconst buildLegacyProvider: () => LegacyProviderInterface = () => ({\n config,\n getInstance,\n connect,\n subscribe,\n switchNetwork,\n canSwitchNetworkTo,\n getSigners,\n getWalletInfo,\n canEagerConnect,\n});\n\nexport { buildLegacyProvider };\n", "import type { Provider } from './utils.js';\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\nimport { CustomSolanaSigner } from './signers/solana-signer.js';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Networks.SOLANA);\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 signers.registerSigner(TxType.SOLANA, new CustomSolanaSigner(solProvider));\n return signers;\n}\n", "import { DefaultSolanaSigner } from '@rango-dev/signer-solana';\nimport base58 from 'bs58';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype SolanaExternalProvider = any;\n\nexport class CustomSolanaSigner extends DefaultSolanaSigner {\n constructor(provider: SolanaExternalProvider) {\n super(provider);\n }\n\n async signMessage(msg: string): Promise<string> {\n const { signature } = await this.provider.signMessage(msg);\n return base58.encode(signature);\n }\n}\n", "import type { ProviderAPI as EvmProviderApi } from '@rango-dev/wallets-core/namespaces/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@rango-dev/wallets-core/namespaces/solana';\nimport type { ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Provider = Record<string, any>;\n\nexport function coinbase(): Provider | null {\n const { coinbaseWalletExtension, coinbaseSolana } = window;\n\n if (!coinbaseSolana && !coinbaseWalletExtension) {\n return null;\n }\n\n const instances = new Map();\n\n if (coinbaseWalletExtension) {\n instances.set(LegacyNetworks.ETHEREUM, coinbaseWalletExtension);\n }\n\n if (coinbaseSolana) {\n instances.set(LegacyNetworks.SOLANA, coinbaseSolana);\n }\n\n return instances;\n}\n\nexport function evmCoinbase(): EvmProviderApi {\n const instances = coinbase();\n\n const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);\n\n if (!evmInstance) {\n throw new Error(\n 'Coinbase not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\n\nexport function solanaCoinbase(): SolanaProviderApi {\n const instance = coinbase();\n const solanaInstance = instance?.get(LegacyNetworks.SOLANA);\n\n if (!solanaInstance) {\n throw new Error(\n 'Coinbase not injected or Solana not enabled. Please check your wallet.'\n );\n }\n\n return solanaInstance as SolanaProviderApi;\n}\nexport function getInstanceOrThrow(): Provider {\n const instances = coinbase();\n\n if (!instances) {\n throw new Error('Coinbase is not injected. Please check your wallet.');\n }\n\n return instances;\n}\nexport async function getSolanaAccounts(\n instance: Provider\n): Promise<ProviderConnectResult> {\n await instance.connect();\n const account = instance.publicKey.toString();\n\n return {\n accounts: [account],\n chainId: LegacyNetworks.SOLANA,\n };\n}\n", "import { ProviderBuilder } from '@rango-dev/wallets-core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { coinbase as coinbaseInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n if (coinbaseInstance()) {\n setState('installed', true);\n console.debug('[coinbase] instance detected.', context);\n }\n })\n .config('metadata', metadata)\n .add('solana', solana)\n .add('evm', evm)\n .build();\n\nexport { buildProvider };\n", "import { type ProviderMetadata } from '@rango-dev/wallets-core';\nimport {\n type BlockchainMeta,\n evmBlockchains,\n solanaBlockchain,\n} from 'rango-types';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'coinbase';\n\nexport const metadata: ProviderMetadata = {\n name: 'Coinbase',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coinbase/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad',\n brave:\n 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad',\n homepage: 'https://www.coinbase.com/wallet',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\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 {\n actions,\n builders,\n utils,\n} from '@rango-dev/wallets-core/namespaces/evm';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmCoinbase } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(evmCoinbase)\n /*\n * Coinbase returns an array of connected accounts with the active one first.\n * Since we only need the active account, we take the first element as a workaround.\n */\n .format(async (instance, accounts) => {\n const chainId = await instance.request({ method: 'eth_chainId' });\n return utils.formatAccountsToCAIP([accounts[0]], chainId);\n })\n .build();\n\nconst connect = new ActionBuilder<EvmActions, 'connect'>('connect')\n .action(actions.connect(evmCoinbase))\n /*\n * Coinbase 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/solana/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 disconnect = commonBuilders\n .disconnect<EvmActions>()\n .before(() => {\n /*\n * Coinbase sometimes stays connected and causes the page to refresh.\n * This ensures we also disconnect from the wallet to prevent that behavior.\n */\n evmCoinbase().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmCoinbase))\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmCoinbase))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .action(canSwitchNetwork)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import type { SolanaActions } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { ActionBuilder, NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n connectAndUpdateStateForSingleNetwork,\n intoConnecting,\n intoConnectionFinished,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport { actions, builders } from '@rango-dev/wallets-core/namespaces/solana';\n\nimport { solanaActions } from '../actions/solana.js';\nimport { WALLET_ID } from '../constants.js';\nimport { solanaCoinbase } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(solanaCoinbase)\n .build();\n\nconst connect = new ActionBuilder<SolanaActions, 'connect'>('connect')\n .action(actions.connect(solanaCoinbase))\n /*\n * Coinbase 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 .and((_, connectResult) => [connectResult[0]])\n .and(connectAndUpdateStateForSingleNetwork)\n .before(intoConnecting)\n .before(changeAccountSubscriber)\n .after(intoConnectionFinished)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .before(() => {\n /*\n * Coinbase sometimes stays connected and causes the page to refresh.\n * This ensures we also disconnect from the wallet to prevent that behavior.\n */\n solanaCoinbase().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst canEagerConnect = new ActionBuilder<SolanaActions, 'canEagerConnect'>(\n 'canEagerConnect'\n)\n .action(solanaActions.canEagerConnectAction)\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { solana };\n", "import { evmCoinbase, solanaCoinbase } from '../utils.js';\n\n/*\n * Coinbase does not provide an eager connection mechanism for its Solana wallet.\n * The only workaround is to use the EVM-based eager connect approach.\n * However, this will only work if the EVM namespace has been connected at least once before.\n * If either wallet instance is unavailable, we throw an error.\n */\nconst canEagerConnectAction = async () => {\n const evmInstance = evmCoinbase();\n const solanaInstance = solanaCoinbase();\n // Making sure that the Solana instance is available first to prevent errors.\n if (!solanaInstance) {\n throw new Error(\n 'Trying to eagerly connect to your wallet, but seems its solana instance is not available.'\n );\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};\nexport const solanaActions = { canEagerConnectAction };\n"],
|
|
5
|
-
"mappings": "+EAAA,OAAS,kBAAAA,OAAsB,
|
|
6
|
-
"names": ["defineVersions", "Networks", "canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "chooseInstance", "getEvmAccounts", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "isEvmBlockchain", "isSolanaBlockchain", "solanaBlockchain", "dynamicImportWithRefinedError", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "DefaultSolanaSigner", "base58", "CustomSolanaSigner", "DefaultSolanaSigner", "__name", "provider", "msg", "signature", "base58", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "CustomSolanaSigner", "__name", "LegacyNetworks", "coinbase", "coinbaseWalletExtension", "coinbaseSolana", "instances", "LegacyNetworks", "__name", "evmCoinbase", "evmInstance", "solanaCoinbase", "solanaInstance", "getInstanceOrThrow", "getSolanaAccounts", "instance", "WALLET", "WalletTypes", "config", "Networks", "getInstance", "coinbase", "connect", "__name", "instance", "meta", "evm_instance", "chooseInstance", "results", "evm", "getEvmAccounts", "solanaInstance", "solanaCoinbase", "solanaResults", "getSolanaAccounts", "subscribe", "options", "ethInstance", "updateAccounts", "state", "updateChainId", "handleEvmAccountsChanged", "addresses", "eth_chainId", "isEvmBlockchain", "blockchain", "handleSolanaAccountChanged", "publicKey", "isSolanaBlockchain", "network", "account", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "canEagerConnect", "canEagerlyConnectToEvm", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains", "solana", "solanaBlockchain", "allBlockchains", "buildLegacyProvider", "ProviderBuilder", "evmBlockchains", "solanaBlockchain", "WALLET_ID", "metadata", "allBlockchains", "evmBlockchains", "solanaBlockchain", "getSigners", "getInstanceOrThrow", "ActionBuilder", "NamespaceBuilder", "
|
|
4
|
+
"sourcesContent": ["import { defineVersions } from '@hub3js/core/utils';\n\nimport { buildLegacyProvider } from './legacy/index.js';\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions()\n .version('0.0.0', buildLegacyProvider())\n .version('1.0.0', buildProvider())\n .build();\n\nexport { versions };\n", "import type { Provider } from '../utils.js';\nimport type {\n CanEagerConnect,\n CanSwitchNetwork,\n Connect,\n ProviderConnectResult,\n Subscribe,\n SwitchNetwork,\n WalletInfo,\n} from '@rango-dev/wallets-shared';\nimport type { BlockchainMeta, SignerFactory } from 'rango-types';\n\nimport {\n type LegacyProviderInterface,\n LegacyNetworks as Networks,\n} from '@rango-dev/wallets-core/legacy';\nimport {\n canEagerlyConnectToEvm,\n canSwitchNetworkToEvm,\n chooseInstance,\n getEvmAccounts,\n switchNetworkForEvm,\n WalletTypes,\n} from '@rango-dev/wallets-shared';\nimport {\n evmBlockchains,\n isEvmBlockchain,\n isSolanaBlockchain,\n solanaBlockchain,\n} from 'rango-types';\n\nimport signer from '../signer.js';\nimport {\n coinbase as coinbase_instance,\n getSolanaAccounts,\n solanaCoinbase,\n} from '../utils.js';\n\nconst WALLET = WalletTypes.COINBASE;\n\nexport const config = {\n type: WALLET,\n defaultNetwork: Networks.ETHEREUM,\n};\n\nexport const getInstance = coinbase_instance;\nexport const connect: Connect = async ({ instance, meta }) => {\n /*\n * Note: We need to get `chainId` here, because for the first time\n * after opening the browser, wallet is locked, and don't give us accounts and chainId\n * on `check` phase, so `network` will be null. For this case we need to get chainId\n * whenever we are requesting accounts.\n */\n const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);\n const results: ProviderConnectResult[] = [];\n\n if (evm_instance) {\n const evm = await getEvmAccounts(evm_instance);\n results.push(evm);\n }\n\n const solanaInstance = solanaCoinbase();\n if (solanaInstance) {\n const solanaResults = await getSolanaAccounts(solanaInstance);\n results.push(solanaResults);\n }\n\n return results;\n};\n\nexport const subscribe: Subscribe = (options) => {\n const ethInstance = chooseInstance(\n options.instance,\n options.meta,\n Networks.ETHEREUM\n );\n const solanaInstance = chooseInstance(\n options.instance,\n options.meta,\n Networks.SOLANA\n );\n const { connect, updateAccounts, state, updateChainId, meta } = options;\n const handleEvmAccountsChanged = (addresses: string[]) => {\n const eth_chainId = meta\n .filter(isEvmBlockchain)\n .find((blockchain) => blockchain.name === Networks.ETHEREUM)?.chainId;\n if (state.connected) {\n if (state.network != Networks.ETHEREUM && eth_chainId) {\n updateChainId(eth_chainId);\n }\n updateAccounts(addresses);\n }\n };\n\n const handleSolanaAccountChanged = async (publicKey: string) => {\n if (state.network != Networks.SOLANA) {\n updateChainId(meta.filter(isSolanaBlockchain)[0].chainId);\n }\n const network = Networks.SOLANA;\n if (publicKey) {\n const account = publicKey.toString();\n updateAccounts([account]);\n } else {\n connect(network);\n }\n };\n ethInstance?.on?.('accountsChanged', handleEvmAccountsChanged);\n\n solanaInstance?.on?.('accountChanged', handleSolanaAccountChanged);\n\n return () => {\n ethInstance?.off?.('accountsChanged', handleEvmAccountsChanged);\n\n solanaInstance?.off?.('accountChanged', handleSolanaAccountChanged);\n };\n};\nexport const switchNetwork: SwitchNetwork = switchNetworkForEvm;\n\nexport const canSwitchNetworkTo: CanSwitchNetwork = canSwitchNetworkToEvm;\n\nexport const getSigners: (provider: Provider) => Promise<SignerFactory> =\n signer;\n\nexport const canEagerConnect: CanEagerConnect = async ({ instance, meta }) => {\n const evm_instance = chooseInstance(instance, meta, Networks.ETHEREUM);\n if (evm_instance) {\n return canEagerlyConnectToEvm({ instance: evm_instance, meta });\n }\n return Promise.resolve(false);\n};\n\nexport const getWalletInfo: (allBlockChains: BlockchainMeta[]) => WalletInfo = (\n allBlockChains\n) => {\n const evms = evmBlockchains(allBlockChains);\n const solana = solanaBlockchain(allBlockChains);\n return {\n name: 'Coinbase',\n img: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coinbase/icon.svg',\n installLink: {\n CHROME:\n 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad',\n BRAVE:\n 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad',\n DEFAULT: 'https://www.coinbase.com/wallet',\n },\n color: '#2a62f5',\n supportedChains: [...evms, ...solana],\n needsNamespace: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n };\n};\n\nconst buildLegacyProvider: () => LegacyProviderInterface = () => ({\n config,\n getInstance,\n connect,\n subscribe,\n switchNetwork,\n canSwitchNetworkTo,\n getSigners,\n getWalletInfo,\n canEagerConnect,\n});\n\nexport { buildLegacyProvider };\n", "import type { Provider } from './utils.js';\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\nimport { CustomSolanaSigner } from './signers/solana-signer.js';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const ethProvider = getNetworkInstance(provider, Networks.ETHEREUM);\n const solProvider = getNetworkInstance(provider, Networks.SOLANA);\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 signers.registerSigner(TxType.SOLANA, new CustomSolanaSigner(solProvider));\n return signers;\n}\n", "import { DefaultSolanaSigner } from '@rango-dev/signer-solana';\nimport base58 from 'bs58';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype SolanaExternalProvider = any;\n\nexport class CustomSolanaSigner extends DefaultSolanaSigner {\n constructor(provider: SolanaExternalProvider) {\n super(provider);\n }\n\n async signMessage(msg: string): Promise<string> {\n const { signature } = await this.provider.signMessage(msg);\n return base58.encode(signature);\n }\n}\n", "import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';\nimport type { ProviderConnectResult } from '@rango-dev/wallets-shared';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type Provider = Record<string, any>;\n\nexport function coinbase(): Provider | null {\n const { coinbaseWalletExtension, coinbaseSolana } = window;\n\n if (!coinbaseSolana && !coinbaseWalletExtension) {\n return null;\n }\n\n const instances = new Map();\n\n if (coinbaseWalletExtension) {\n instances.set(LegacyNetworks.ETHEREUM, coinbaseWalletExtension);\n }\n\n if (coinbaseSolana) {\n instances.set(LegacyNetworks.SOLANA, coinbaseSolana);\n }\n\n return instances;\n}\n\nexport function evmCoinbase(): EvmProviderApi {\n const instances = coinbase();\n\n const evmInstance = instances?.get(LegacyNetworks.ETHEREUM);\n\n if (!evmInstance) {\n throw new Error(\n 'Coinbase not injected or EVM not enabled. Please check your wallet.'\n );\n }\n\n return evmInstance as EvmProviderApi;\n}\n\nexport function solanaCoinbase(): SolanaProviderApi {\n const instance = coinbase();\n const solanaInstance = instance?.get(LegacyNetworks.SOLANA);\n\n if (!solanaInstance) {\n throw new Error(\n 'Coinbase not injected or Solana not enabled. Please check your wallet.'\n );\n }\n\n return solanaInstance as SolanaProviderApi;\n}\nexport function getInstanceOrThrow(): Provider {\n const instances = coinbase();\n\n if (!instances) {\n throw new Error('Coinbase is not injected. Please check your wallet.');\n }\n\n return instances;\n}\nexport async function getSolanaAccounts(\n instance: Provider\n): Promise<ProviderConnectResult> {\n await instance.connect();\n const account = instance.publicKey.toString();\n\n return {\n accounts: [account],\n chainId: LegacyNetworks.SOLANA,\n };\n}\n", "import { ProviderBuilder } from '@hub3js/core';\n\nimport { metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { coinbase as coinbaseInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n if (coinbaseInstance()) {\n setState('installed', true);\n console.debug('[coinbase] instance detected.', context);\n }\n })\n .config('metadata', metadata)\n .add('solana', solana)\n .add('evm', evm)\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport {\n type BlockchainMeta,\n evmBlockchains,\n solanaBlockchain,\n} from 'rango-types';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = 'coinbase';\n\nexport const metadata: ProviderMetadata = {\n name: 'Coinbase',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coinbase/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad',\n brave:\n 'https://chrome.google.com/webstore/detail/coinbase-wallet-extension/hnfanknocfeofbddgcijnmhnfnkdnaad',\n homepage: 'https://www.coinbase.com/wallet',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'multiple',\n data: [\n {\n label: 'EVM',\n value: 'EVM',\n id: 'ETH',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n evmBlockchains(allBlockchains),\n },\n {\n label: 'Solana',\n value: 'Solana',\n id: 'SOLANA',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n solanaBlockchain(allBlockchains),\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { EvmActions } from '@hub3js/evm';\n\nimport { ActionBuilder, NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders, utils } 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 { evmCoinbase } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(evmCoinbase)\n /*\n * Coinbase returns an array of connected accounts with the active one first.\n * Since we only need the active account, we take the first element as a workaround.\n */\n .format(async (instance, accounts) => {\n const chainId = await instance.request({ method: 'eth_chainId' });\n return utils.formatAccountsToCAIP([accounts[0]], chainId);\n })\n .build();\n\nconst connect = new ActionBuilder<EvmActions, 'connect'>('connect')\n .action(actions.connect(evmCoinbase))\n /*\n * Coinbase 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/solana/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 disconnect = commonBuilders\n .disconnect<EvmActions>()\n .before(() => {\n /*\n * Coinbase sometimes stays connected and causes the page to refresh.\n * This ensures we also disconnect from the wallet to prevent that behavior.\n */\n evmCoinbase().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst canEagerConnect = builders\n .canEagerConnect()\n .action(actions.canEagerConnect(evmCoinbase))\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmCoinbase))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .action(canSwitchNetwork)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import type { SolanaActions } from '@hub3js/solana';\n\nimport { ActionBuilder, NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders } from '@hub3js/solana';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport {\n connectAndUpdateStateForSingleNetwork,\n intoConnecting,\n intoConnectionFinished,\n standardizeAndThrowError,\n} from '@hub3js/std/operators';\n\nimport { solanaActions } from '../actions/solana.js';\nimport { WALLET_ID } from '../constants.js';\nimport { solanaCoinbase } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(solanaCoinbase)\n .build();\n\nconst connect = new ActionBuilder<SolanaActions, 'connect'>('connect')\n .action(actions.connect(solanaCoinbase))\n /*\n * Coinbase 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 .and((_, connectResult) => [connectResult[0]])\n .and(connectAndUpdateStateForSingleNetwork)\n .before(intoConnecting)\n .before(changeAccountSubscriber)\n .after(intoConnectionFinished)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .before(() => {\n /*\n * Coinbase sometimes stays connected and causes the page to refresh.\n * This ensures we also disconnect from the wallet to prevent that behavior.\n */\n solanaCoinbase().disconnect();\n })\n .after(changeAccountCleanup)\n .build();\n\nconst canEagerConnect = new ActionBuilder<SolanaActions, 'canEagerConnect'>(\n 'canEagerConnect'\n)\n .action(solanaActions.canEagerConnectAction)\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { solana };\n", "import { evmCoinbase, solanaCoinbase } from '../utils.js';\n\n/*\n * Coinbase does not provide an eager connection mechanism for its Solana wallet.\n * The only workaround is to use the EVM-based eager connect approach.\n * However, this will only work if the EVM namespace has been connected at least once before.\n * If either wallet instance is unavailable, we throw an error.\n */\nconst canEagerConnectAction = async () => {\n const evmInstance = evmCoinbase();\n const solanaInstance = solanaCoinbase();\n // Making sure that the Solana instance is available first to prevent errors.\n if (!solanaInstance) {\n throw new Error(\n 'Trying to eagerly connect to your wallet, but seems its solana instance is not available.'\n );\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};\nexport const solanaActions = { canEagerConnectAction };\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["defineVersions", "Networks", "canEagerlyConnectToEvm", "canSwitchNetworkToEvm", "chooseInstance", "getEvmAccounts", "switchNetworkForEvm", "WalletTypes", "evmBlockchains", "isEvmBlockchain", "isSolanaBlockchain", "solanaBlockchain", "dynamicImportWithRefinedError", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "DefaultSolanaSigner", "base58", "CustomSolanaSigner", "DefaultSolanaSigner", "__name", "provider", "msg", "signature", "base58", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "CustomSolanaSigner", "__name", "LegacyNetworks", "coinbase", "coinbaseWalletExtension", "coinbaseSolana", "instances", "LegacyNetworks", "__name", "evmCoinbase", "evmInstance", "solanaCoinbase", "solanaInstance", "getInstanceOrThrow", "getSolanaAccounts", "instance", "WALLET", "WalletTypes", "config", "Networks", "getInstance", "coinbase", "connect", "__name", "instance", "meta", "evm_instance", "chooseInstance", "results", "evm", "getEvmAccounts", "solanaInstance", "solanaCoinbase", "solanaResults", "getSolanaAccounts", "subscribe", "options", "ethInstance", "updateAccounts", "state", "updateChainId", "handleEvmAccountsChanged", "addresses", "eth_chainId", "isEvmBlockchain", "blockchain", "handleSolanaAccountChanged", "publicKey", "isSolanaBlockchain", "network", "account", "switchNetwork", "switchNetworkForEvm", "canSwitchNetworkTo", "canSwitchNetworkToEvm", "getSigners", "canEagerConnect", "canEagerlyConnectToEvm", "getWalletInfo", "allBlockChains", "evms", "evmBlockchains", "solana", "solanaBlockchain", "allBlockchains", "buildLegacyProvider", "ProviderBuilder", "evmBlockchains", "solanaBlockchain", "WALLET_ID", "metadata", "allBlockchains", "evmBlockchains", "solanaBlockchain", "getSigners", "getInstanceOrThrow", "ActionBuilder", "NamespaceBuilder", "actions", "builders", "utils", "commonBuilders", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "intoConnectionFinished", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmCoinbase", "instance", "accounts", "chainId", "utils", "connect", "ActionBuilder", "actions", "_", "connectResult", "connectAndUpdateStateForMultiNetworks", "intoConnecting", "standardizeAndThrowError", "intoConnectionFinished", "disconnect", "canEagerConnect", "canSwitchNetwork", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "ActionBuilder", "NamespaceBuilder", "actions", "builders", "commonBuilders", "connectAndUpdateStateForSingleNetwork", "intoConnecting", "intoConnectionFinished", "standardizeAndThrowError", "canEagerConnectAction", "__name", "evmInstance", "evmCoinbase", "solanaCoinbase", "solanaActions", "changeAccountSubscriber", "changeAccountCleanup", "builders", "solanaCoinbase", "connect", "ActionBuilder", "actions", "_", "connectResult", "connectAndUpdateStateForSingleNetwork", "intoConnecting", "intoConnectionFinished", "standardizeAndThrowError", "disconnect", "canEagerConnect", "solanaActions", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "coinbase", "metadata", "solana", "evm", "versions", "__name", "defineVersions", "buildLegacyProvider", "buildProvider"]
|
|
7
7
|
}
|
package/dist/namespaces/evm.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { EvmActions } from '@
|
|
2
|
-
declare const evm: import("@
|
|
1
|
+
import type { EvmActions } from '@hub3js/evm';
|
|
2
|
+
declare const evm: import("@hub3js/core").ProxiedNamespace<EvmActions>;
|
|
3
3
|
export { evm };
|
|
4
4
|
//# sourceMappingURL=evm.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/namespaces/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/namespaces/evm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AA2E9C,QAAA,MAAM,GAAG,qDAMC,CAAC;AAEX,OAAO,EAAE,GAAG,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SolanaActions } from '@
|
|
2
|
-
declare const solana: import("@
|
|
1
|
+
import type { SolanaActions } from '@hub3js/solana';
|
|
2
|
+
declare const solana: import("@hub3js/core").ProxiedNamespace<SolanaActions>;
|
|
3
3
|
export { solana };
|
|
4
4
|
//# sourceMappingURL=solana.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/namespaces/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"solana.d.ts","sourceRoot":"","sources":["../../src/namespaces/solana.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAqDpD,QAAA,MAAM,MAAM,wDAIF,CAAC;AAEX,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"src/signers/solana-signer.ts":{"bytes":488,"imports":[{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":928,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signers/solana-signer.ts","kind":"import-statement","original":"./signers/solana-signer.js"},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":
|
|
1
|
+
{"inputs":{"src/signers/solana-signer.ts":{"bytes":488,"imports":[{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":928,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signers/solana-signer.ts","kind":"import-statement","original":"./signers/solana-signer.js"},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":1931,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/legacy/index.ts":{"bytes":5133,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"../signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1448,"imports":[{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/namespaces/evm.ts":{"bytes":2524,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/evm","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"}],"format":"esm"},"src/actions/solana.ts":{"bytes":1155,"imports":[{"path":"src/utils.ts","kind":"import-statement","original":"../utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana.ts":{"bytes":1880,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"src/actions/solana.ts","kind":"import-statement","original":"../actions/solana.js"},{"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":664,"imports":[{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/evm.ts","kind":"import-statement","original":"./namespaces/evm.js"},{"path":"src/namespaces/solana.ts","kind":"import-statement","original":"./namespaces/solana.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":321,"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"src/legacy/index.ts","kind":"import-statement","original":"./legacy/index.js"},{"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":27299},"dist/mod.js":{"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/evm","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"@hub3js/std/builders","kind":"import-statement","external":true},{"path":"@hub3js/std/operators","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":133},"src/legacy/index.ts":{"bytesInOutput":2130},"src/signer.ts":{"bytesInOutput":423},"src/signers/solana-signer.ts":{"bytesInOutput":259},"src/utils.ts":{"bytesInOutput":821},"src/provider.ts":{"bytesInOutput":256},"src/constants.ts":{"bytesInOutput":731},"src/namespaces/evm.ts":{"bytesInOutput":955},"src/namespaces/solana.ts":{"bytesInOutput":690},"src/actions/solana.ts":{"bytesInOutput":391}},"bytes":6924}}}
|
package/dist/provider.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
declare const buildProvider: () => import("@
|
|
1
|
+
declare const buildProvider: () => import("@hub3js/core").Provider<Record<"solana", import("@hub3js/solana").SolanaActions> & Record<"evm", import("@hub3js/evm").EvmActions>>;
|
|
2
2
|
export { buildProvider };
|
|
3
3
|
//# sourceMappingURL=provider.d.ts.map
|
package/dist/provider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,aAAa,mJAaP,CAAC;AAEb,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ProviderAPI as EvmProviderApi } from '@
|
|
2
|
-
import type { ProviderAPI as SolanaProviderApi } from '@
|
|
1
|
+
import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
|
|
2
|
+
import type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';
|
|
3
3
|
import type { ProviderConnectResult } from '@rango-dev/wallets-shared';
|
|
4
4
|
export type Provider = Record<string, any>;
|
|
5
5
|
export declare function coinbase(): Provider | null;
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,IAAI,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAKvE,MAAM,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAE3C,wBAAgB,QAAQ,IAAI,QAAQ,GAAG,IAAI,CAkB1C;AAED,wBAAgB,WAAW,IAAI,cAAc,CAY5C;AAED,wBAAgB,cAAc,IAAI,iBAAiB,CAWlD;AACD,wBAAgB,kBAAkB,IAAI,QAAQ,CAQ7C;AACD,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,QAAQ,GACjB,OAAO,CAAC,qBAAqB,CAAC,CAQhC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rango-dev/provider-coinbase",
|
|
3
|
-
"version": "0.61.1-next.
|
|
3
|
+
"version": "0.61.1-next.1",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"source": "./src/mod.ts",
|
|
@@ -21,10 +21,14 @@
|
|
|
21
21
|
"lint": "eslint \"**/*.{ts,tsx}\""
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
+
"@hub3js/core": "^0.60.1",
|
|
25
|
+
"@hub3js/evm": "^0.2.1",
|
|
26
|
+
"@hub3js/solana": "^0.2.1",
|
|
27
|
+
"@hub3js/std": "^0.1.1",
|
|
24
28
|
"@rango-dev/signer-evm": "^0.42.0",
|
|
25
29
|
"@rango-dev/signer-solana": "^0.48.0",
|
|
26
30
|
"@rango-dev/wallets-core": "^0.59.1-next.0",
|
|
27
|
-
"@rango-dev/wallets-shared": "^0.60.1-next.
|
|
31
|
+
"@rango-dev/wallets-shared": "^0.60.1-next.1",
|
|
28
32
|
"bs58": "^5.0.0",
|
|
29
33
|
"rango-types": "^0.5.0"
|
|
30
34
|
},
|
package/src/constants.ts
CHANGED
package/src/mod.ts
CHANGED
package/src/namespaces/evm.ts
CHANGED
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import type { EvmActions } from '@
|
|
1
|
+
import type { EvmActions } from '@hub3js/evm';
|
|
2
2
|
|
|
3
|
-
import { ActionBuilder, NamespaceBuilder } from '@
|
|
3
|
+
import { ActionBuilder, NamespaceBuilder } from '@hub3js/core';
|
|
4
|
+
import { actions, builders, utils } from '@hub3js/evm';
|
|
5
|
+
import * as commonBuilders from '@hub3js/std/builders';
|
|
4
6
|
import {
|
|
5
|
-
builders as commonBuilders,
|
|
6
7
|
connectAndUpdateStateForMultiNetworks,
|
|
7
8
|
intoConnecting,
|
|
8
9
|
intoConnectionFinished,
|
|
9
10
|
standardizeAndThrowError,
|
|
10
|
-
} from '@
|
|
11
|
-
import {
|
|
12
|
-
actions,
|
|
13
|
-
builders,
|
|
14
|
-
utils,
|
|
15
|
-
} from '@rango-dev/wallets-core/namespaces/evm';
|
|
11
|
+
} from '@hub3js/std/operators';
|
|
16
12
|
|
|
17
13
|
import { WALLET_ID } from '../constants.js';
|
|
18
14
|
import { evmCoinbase } from '../utils.js';
|
package/src/namespaces/solana.ts
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import type { SolanaActions } from '@
|
|
1
|
+
import type { SolanaActions } from '@hub3js/solana';
|
|
2
2
|
|
|
3
|
-
import { ActionBuilder, NamespaceBuilder } from '@
|
|
3
|
+
import { ActionBuilder, NamespaceBuilder } from '@hub3js/core';
|
|
4
|
+
import { actions, builders } from '@hub3js/solana';
|
|
5
|
+
import * as commonBuilders from '@hub3js/std/builders';
|
|
4
6
|
import {
|
|
5
|
-
builders as commonBuilders,
|
|
6
7
|
connectAndUpdateStateForSingleNetwork,
|
|
7
8
|
intoConnecting,
|
|
8
9
|
intoConnectionFinished,
|
|
9
10
|
standardizeAndThrowError,
|
|
10
|
-
} from '@
|
|
11
|
-
import { actions, builders } from '@rango-dev/wallets-core/namespaces/solana';
|
|
11
|
+
} from '@hub3js/std/operators';
|
|
12
12
|
|
|
13
13
|
import { solanaActions } from '../actions/solana.js';
|
|
14
14
|
import { WALLET_ID } from '../constants.js';
|
package/src/provider.ts
CHANGED
package/src/utils.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ProviderAPI as EvmProviderApi } from '@
|
|
2
|
-
import type { ProviderAPI as SolanaProviderApi } from '@
|
|
1
|
+
import type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';
|
|
2
|
+
import type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';
|
|
3
3
|
import type { ProviderConnectResult } from '@rango-dev/wallets-shared';
|
|
4
4
|
|
|
5
5
|
import { LegacyNetworks } from '@rango-dev/wallets-core/legacy';
|