@rango-dev/provider-coin98 0.62.1-next.2 → 0.63.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.
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAUxD,eAAO,MAAM,SAAS,qBAAqB,CAAC;AAC5C,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,QAAQ,EAAE,gBAwCtB,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAWxD,eAAO,MAAM,SAAS,qBAAqB,CAAC;AAC5C,eAAO,MAAM,sBAAsB,OAAO,CAAC;AAC3C,eAAO,MAAM,QAAQ,EAAE,gBA0CtB,CAAC"}
package/dist/mod.js CHANGED
@@ -1,2 +1,2 @@
1
- var _=Object.defineProperty;var n=(o,e)=>_(o,"name",{value:e,configurable:!0});import{defineVersions as ro}from"@hub3js/core/utils";import{ProviderBuilder as to}from"@hub3js/core";import{WalletTypes as W}from"@rango-dev/wallets-shared";import{evmBlockchains as F,solanaBlockchain as J}from"rango-types";import{dynamicImportWithRefinedError as j,getNetworkInstance as S,Networks as w}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as V,TransactionType as v}from"rango-types";import"@rango-dev/signer-solana";import{generalSolanaTransactionExecutor as R}from"@rango-dev/signer-solana";import{PublicKey as B}from"@solana/web3.js";import D from"bs58";import{SignerError as d,SignerErrorCode as u}from"rango-types";var s=class{static{n(this,"Coin98SolanaSigner")}provider;constructor(e){this.provider=e}async signMessage(e){try{return(await this.provider.signMessage(e)).signature}catch(r){throw new d(u.SIGN_TX_ERROR,void 0,r)}}async signAndSendTx(e){let r=n(async t=>{let a=await this.provider.request({method:"sol_sign",params:[t]}),M=new B(a.publicKey),O=D.decode(a.signature);return t.addSignature(M,Buffer.from(O)),t.serialize()},"DefaultSolanaSigner");try{return{hash:await R(e,r)}}catch(t){throw t&&typeof t=="object"&&"code"in t&&t.code===4001?new d(u.REJECTED_BY_USER,void 0,t):new d(u.SIGN_TX_ERROR,void 0,t)}}};async function f(o){let e=S(o,w.ETHEREUM),r=S(o,w.SOLANA),t=new V,{DefaultEvmSigner:a}=await j(async()=>await import("@rango-dev/signer-evm"));return t.registerSigner(v.EVM,new a(e)),t.registerSigner(v.SOLANA,new s(r)),t}n(f,"getSigners");import{Networks as m}from"@rango-dev/wallets-shared";function c(){let{coin98:o}=window;if(!o)return null;let e=new Map;return o.provider&&e.set(m.ETHEREUM,o.provider),o.sol&&e.set(m.SOLANA,o.sol),e}n(c,"coin98");function E(){let o=c();if(!o)throw new Error("Coin98 is not injected. Please check your wallet.");return o}n(E,"getInstanceOrThrow");function l(){let e=c()?.get(m.ETHEREUM);if(!e)throw new Error("Coin98 not injected or EVM not enabled. Please check your wallet.");return e}n(l,"evmCoin98");function g(){let e=c()?.get(m.SOLANA);if(!e)throw new Error("Coin98 Solana instance is not available. Ensure that Solana support is enabled in your wallet.");return e}n(g,"solanaCoin98");var i=W.COIN98,b=1e3,y={name:"Coin98",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coin98/icon.svg",extensions:{chrome:"https://chrome.google.com/webstore/detail/coin98-wallet/aeachknmefphepccionboohckonoeemg",brave:"https://chrome.google.com/webstore/detail/coin98-wallet/aeachknmefphepccionboohckonoeemg",homepage:"https://coin98.com/wallet"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:o=>F(o)},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:o=>J(o)}]}},{name:"signers",value:{getSigners:async()=>f(E())}}]};import{NamespaceBuilder as G}from"@hub3js/core";import{actions as h,builders as p}from"@hub3js/evm";import*as A from"@hub3js/std/builders";import{standardizeAndThrowError as H}from"@hub3js/std/operators";var[K,P]=p.changeAccountSubscriber(l).build(),U=p.connect().action(h.connect(l)).before(K).or(P).or(H).build(),z=A.disconnect().after(P).build(),Y=p.canSwitchNetwork().action(h.canSwitchNetwork()).build(),X=p.getChainId().action(h.getChainId(l)).build(),C=new G("EVM",i).action(U).action(z).action(Y).action(X).build();import{NamespaceBuilder as Z}from"@hub3js/core";import{builders as I}from"@hub3js/solana";import*as N from"@hub3js/std/builders";import{standardizeAndThrowError as $}from"@hub3js/std/operators";import{utils as q}from"@hub3js/solana";function Q(o){return async()=>{let r=await o().connect();return q.formatAccountsToCAIP(r)}}n(Q,"connect");var T={connect:Q};var[oo,x]=I.changeAccountSubscriber(g).onSwitchAccount(async(o,e)=>{o.preventDefault(),o.payload&&o.payload.length!==0?e.action("connect"):e.action("disconnect")}).addEventListener((o,e)=>o.on("accountsChanged",e)).removeEventListener((o,e)=>o.off("accountsChanged",e)).build(),eo=I.connect().action(T.connect(g)).before(oo).or(x).or($).build(),no=N.disconnect().after(x).build(),k=new Z("Solana",i).action(eo).action(no).build();var L=n(()=>new to(i).init(function(o){let[,e]=o.state();setTimeout(()=>{c()&&(e("installed",!0),console.debug("[coin98] instance detected.",o))},b)}).config("metadata",y).add("evm",C).add("solana",k).build(),"buildProvider");var $o=n(()=>ro().version("1.0.0",L()).build(),"versions");export{$o as versions};
1
+ var _=Object.defineProperty;var n=(o,e)=>_(o,"name",{value:e,configurable:!0});import{defineVersions as io}from"@hub3js/core/utils";import{ProviderBuilder as ro}from"@hub3js/core";import{WalletTypes as W}from"@rango-dev/wallets-shared";import{evmBlockchains as F,hyperliquidBlockchain as J,solanaBlockchain as G}from"rango-types";import{dynamicImportWithRefinedError as j,getNetworkInstance as S,Networks as w}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as V,TransactionType as v}from"rango-types";import"@rango-dev/signer-solana";import{generalSolanaTransactionExecutor as R}from"@rango-dev/signer-solana";import{PublicKey as B}from"@solana/web3.js";import D from"bs58";import{SignerError as d,SignerErrorCode as u}from"rango-types";var s=class{static{n(this,"Coin98SolanaSigner")}provider;constructor(e){this.provider=e}async signMessage(e){try{return(await this.provider.signMessage(e)).signature}catch(r){throw new d(u.SIGN_TX_ERROR,void 0,r)}}async signAndSendTx(e){let r=n(async t=>{let a=await this.provider.request({method:"sol_sign",params:[t]}),M=new B(a.publicKey),O=D.decode(a.signature);return t.addSignature(M,Buffer.from(O)),t.serialize()},"DefaultSolanaSigner");try{return{hash:await R(e,r)}}catch(t){throw t&&typeof t=="object"&&"code"in t&&t.code===4001?new d(u.REJECTED_BY_USER,void 0,t):new d(u.SIGN_TX_ERROR,void 0,t)}}};async function f(o){let e=S(o,w.ETHEREUM),r=S(o,w.SOLANA),t=new V,{DefaultEvmSigner:a}=await j(async()=>await import("@rango-dev/signer-evm"));return t.registerSigner(v.EVM,new a(e)),t.registerSigner(v.SOLANA,new s(r)),t}n(f,"getSigners");import{Networks as m}from"@rango-dev/wallets-shared";function c(){let{coin98:o}=window;if(!o)return null;let e=new Map;return o.provider&&e.set(m.ETHEREUM,o.provider),o.sol&&e.set(m.SOLANA,o.sol),e}n(c,"coin98");function E(){let o=c();if(!o)throw new Error("Coin98 is not injected. Please check your wallet.");return o}n(E,"getInstanceOrThrow");function l(){let e=c()?.get(m.ETHEREUM);if(!e)throw new Error("Coin98 not injected or EVM not enabled. Please check your wallet.");return e}n(l,"evmCoin98");function g(){let e=c()?.get(m.SOLANA);if(!e)throw new Error("Coin98 Solana instance is not available. Ensure that Solana support is enabled in your wallet.");return e}n(g,"solanaCoin98");var i=W.COIN98,b=1e3,y={name:"Coin98",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coin98/icon.svg",extensions:{chrome:"https://chrome.google.com/webstore/detail/coin98-wallet/aeachknmefphepccionboohckonoeemg",brave:"https://chrome.google.com/webstore/detail/coin98-wallet/aeachknmefphepccionboohckonoeemg",homepage:"https://coin98.com/wallet"},properties:[{name:"namespaces",value:{selection:"multiple",data:[{label:"EVM",value:"EVM",id:"ETH",getSupportedChains:o=>[...F(o),...J(o)]},{label:"Solana",value:"Solana",id:"SOLANA",getSupportedChains:o=>G(o)}]}},{name:"signers",value:{getSigners:async()=>f(E())}}]};import{NamespaceBuilder as H}from"@hub3js/core";import{actions as h,builders as p}from"@hub3js/evm";import*as A from"@hub3js/std/builders";import{standardizeAndThrowError as K}from"@hub3js/std/operators";var[U,P]=p.changeAccountSubscriber(l).build(),z=p.connect().action(h.connect(l)).before(U).or(P).or(K).build(),Y=A.disconnect().after(P).build(),q=p.canSwitchNetwork().action(h.canSwitchNetwork()).build(),X=p.getChainId().action(h.getChainId(l)).build(),C=new H("EVM",i).action(z).action(Y).action(q).action(X).build();import{NamespaceBuilder as $}from"@hub3js/core";import{builders as I}from"@hub3js/solana";import*as N from"@hub3js/std/builders";import{standardizeAndThrowError as oo}from"@hub3js/std/operators";import{utils as Q}from"@hub3js/solana";function Z(o){return async()=>{let r=await o().connect();return Q.formatAccountsToCAIP(r)}}n(Z,"connect");var T={connect:Z};var[eo,x]=I.changeAccountSubscriber(g).onSwitchAccount(async(o,e)=>{o.preventDefault(),o.payload&&o.payload.length!==0?e.action("connect"):e.action("disconnect")}).addEventListener((o,e)=>o.on("accountsChanged",e)).removeEventListener((o,e)=>o.off("accountsChanged",e)).build(),no=I.connect().action(T.connect(g)).before(eo).or(x).or(oo).build(),to=N.disconnect().after(x).build(),k=new $("Solana",i).action(no).action(to).build();var L=n(()=>new ro(i).init(function(o){let[,e]=o.state();setTimeout(()=>{c()&&(e("installed",!0),console.debug("[coin98] instance detected.",o))},b)}).config("metadata",y).add("evm",C).add("solana",k).build(),"buildProvider");var oe=n(()=>io().version("1.0.0",L()).build(),"versions");export{oe as versions};
2
2
  //# sourceMappingURL=mod.js.map
package/dist/mod.js.map CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../src/mod.ts", "../src/provider.ts", "../src/constants.ts", "../src/signer.ts", "../src/signers/solana.ts", "../src/utils.ts", "../src/namespaces/evm.ts", "../src/namespaces/solana.ts", "../src/actions/solana.ts"],
4
- "sourcesContent": ["import { defineVersions } from '@hub3js/core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\n", "import { ProviderBuilder } from '@hub3js/core';\n\nimport { COIN98_INJECTION_DELAY, metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { coin98 } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n setTimeout(() => {\n if (coin98()) {\n setState('installed', true);\n console.debug('[coin98] instance detected.', context);\n }\n }, COIN98_INJECTION_DELAY);\n })\n .config('metadata', metadata)\n .add('evm', evm)\n .add('solana', solana)\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport { WalletTypes } from '@rango-dev/wallets-shared';\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 = WalletTypes.COIN98;\nexport const COIN98_INJECTION_DELAY = 1000;\nexport const metadata: ProviderMetadata = {\n name: 'Coin98',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coin98/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/coin98-wallet/aeachknmefphepccionboohckonoeemg',\n brave:\n 'https://chrome.google.com/webstore/detail/coin98-wallet/aeachknmefphepccionboohckonoeemg',\n homepage: 'https://coin98.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: {\n getSigners: async () => getSigners(getInstanceOrThrow()),\n },\n },\n ],\n};\n", "import type { LegacyNetworkProviderMap } from '@rango-dev/wallets-core/legacy';\nimport type { SignerFactory } from 'rango-types';\n\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n Networks,\n} from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { Coin98SolanaSigner } from './signers/solana.js';\n\nexport default async function getSigners(\n provider: LegacyNetworkProviderMap\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 Coin98SolanaSigner(solProvider));\n return signers;\n}\n", "import type { Transaction, VersionedTransaction } from '@solana/web3.js';\nimport type { GenericSigner, SolanaTransaction } from 'rango-types';\n\nimport {\n type SolanaExternalProvider,\n type SolanaWeb3Signer,\n} from '@rango-dev/signer-solana';\nimport { generalSolanaTransactionExecutor } from '@rango-dev/signer-solana';\nimport { PublicKey } from '@solana/web3.js';\nimport bs58 from 'bs58';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nexport class Coin98SolanaSigner implements GenericSigner<SolanaTransaction> {\n private provider: SolanaExternalProvider;\n constructor(provider: SolanaExternalProvider) {\n this.provider = provider;\n }\n\n async signMessage(msg: string): Promise<string> {\n try {\n const result = await this.provider.signMessage(msg);\n return result.signature as unknown as string;\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n\n async signAndSendTx(tx: SolanaTransaction): Promise<{ hash: string }> {\n const DefaultSolanaSigner: SolanaWeb3Signer = async (\n solanaWeb3Transaction: Transaction | VersionedTransaction\n ) => {\n const response: { publicKey: string; signature: string } =\n await this.provider.request({\n method: 'sol_sign',\n params: [solanaWeb3Transaction],\n });\n const publicKey = new PublicKey(response.publicKey);\n const sign = bs58.decode(response.signature);\n\n solanaWeb3Transaction.addSignature(publicKey, Buffer.from(sign));\n const raw = solanaWeb3Transaction.serialize();\n return raw;\n };\n try {\n const hash = await generalSolanaTransactionExecutor(\n tx,\n DefaultSolanaSigner\n );\n return { hash };\n } catch (e: unknown) {\n const REJECTION_CODE = 4001;\n if (\n e &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === REJECTION_CODE\n ) {\n throw new SignerError(SignerErrorCode.REJECTED_BY_USER, undefined, e);\n }\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, e);\n }\n }\n}\n", "import type { Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';\n\nimport { Networks } from '@rango-dev/wallets-shared';\n\nexport function coin98() {\n const { coin98 } = window;\n\n if (!coin98) {\n return null;\n }\n\n const instances = new Map();\n\n if (coin98.provider) {\n instances.set(Networks.ETHEREUM, coin98.provider);\n }\n if (coin98.sol) {\n instances.set(Networks.SOLANA, coin98.sol);\n }\n\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = coin98();\n\n if (!instances) {\n throw new Error('Coin98 is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function evmCoin98(): EvmProviderApi {\n const instances = coin98();\n const evmInstance = instances?.get(Networks.ETHEREUM);\n if (!evmInstance) {\n throw new Error(\n 'Coin98 not injected or EVM not enabled. Please check your wallet.'\n );\n }\n return evmInstance as EvmProviderApi;\n}\n\nexport function solanaCoin98(): SolanaProviderApi {\n const instances = coin98();\n const solanaInstance = instances?.get(Networks.SOLANA);\n if (!solanaInstance) {\n throw new Error(\n 'Coin98 Solana instance is not available. Ensure that Solana support is enabled in your wallet.'\n );\n }\n return solanaInstance as SolanaProviderApi;\n}\n", "import type { EvmActions } from '@hub3js/evm';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders } from '@hub3js/evm';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmCoin98 } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(evmCoin98)\n .build();\n\nconst connect = builders\n .connect()\n .action(actions.connect(evmCoin98))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmCoin98))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canSwitchNetwork)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import { NamespaceBuilder } from '@hub3js/core';\nimport { builders, type SolanaActions } from '@hub3js/solana';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { solanaActions } from '../actions/solana.js';\nimport { WALLET_ID } from '../constants.js';\nimport { solanaCoin98 } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(solanaCoin98)\n /*\n * Coin98 returns EVM addresses on account change instead of Solana addresses even though\n * we are listening to the changes on the Solana instance.\n * But if we get the EVM address, it means that we also have permission to eagerly get\n * the Solana address of the new account.\n */\n .onSwitchAccount(async (event, context) => {\n event.preventDefault();\n if (event.payload && event.payload.length !== 0) {\n context.action('connect');\n } else {\n context.action('disconnect');\n }\n })\n .addEventListener((instance, callback) =>\n instance.on('accountsChanged', callback)\n )\n .removeEventListener((instance, callback) =>\n instance.off('accountsChanged', callback)\n )\n .build();\n\nconst connect = builders\n .connect()\n .action(solanaActions.connect(solanaCoin98))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .build();\n\nexport { solana };\n", "import type { Context, FunctionWithContext } from '@hub3js/core';\n\nimport {\n type SolanaActions,\n type ProviderAPI as SolanaProviderApi,\n utils,\n} from '@hub3js/solana';\n\nfunction connect(\n getInstance: () => SolanaProviderApi\n): FunctionWithContext<SolanaActions['connect'], Context> {\n return async () => {\n const solanaInstance = getInstance();\n const connectResult = await solanaInstance.connect();\n return utils.formatAccountsToCAIP(connectResult);\n };\n}\n\nexport const solanaActions = { connect };\n"],
5
- "mappings": "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",
6
- "names": ["defineVersions", "ProviderBuilder", "WalletTypes", "evmBlockchains", "solanaBlockchain", "dynamicImportWithRefinedError", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "generalSolanaTransactionExecutor", "PublicKey", "bs58", "SignerError", "SignerErrorCode", "Coin98SolanaSigner", "__name", "provider", "msg", "error", "SignerError", "SignerErrorCode", "tx", "DefaultSolanaSigner", "solanaWeb3Transaction", "response", "publicKey", "PublicKey", "sign", "bs58", "generalSolanaTransactionExecutor", "e", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "Coin98SolanaSigner", "__name", "Networks", "coin98", "instances", "Networks", "__name", "getInstanceOrThrow", "evmCoin98", "evmInstance", "solanaCoin98", "solanaInstance", "WALLET_ID", "WalletTypes", "COIN98_INJECTION_DELAY", "metadata", "allBlockchains", "evmBlockchains", "solanaBlockchain", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "actions", "builders", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmCoin98", "connect", "actions", "standardizeAndThrowError", "disconnect", "canSwitchNetwork", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "builders", "commonBuilders", "standardizeAndThrowError", "utils", "connect", "getInstance", "connectResult", "utils", "__name", "solanaActions", "changeAccountSubscriber", "changeAccountCleanup", "builders", "solanaCoin98", "event", "context", "instance", "callback", "connect", "solanaActions", "standardizeAndThrowError", "disconnect", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "coin98", "COIN98_INJECTION_DELAY", "metadata", "evm", "solana", "versions", "__name", "defineVersions", "buildProvider"]
4
+ "sourcesContent": ["import { defineVersions } from '@hub3js/core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\n", "import { ProviderBuilder } from '@hub3js/core';\n\nimport { COIN98_INJECTION_DELAY, metadata, WALLET_ID } from './constants.js';\nimport { evm } from './namespaces/evm.js';\nimport { solana } from './namespaces/solana.js';\nimport { coin98 } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n\n setTimeout(() => {\n if (coin98()) {\n setState('installed', true);\n console.debug('[coin98] instance detected.', context);\n }\n }, COIN98_INJECTION_DELAY);\n })\n .config('metadata', metadata)\n .add('evm', evm)\n .add('solana', solana)\n .build();\n\nexport { buildProvider };\n", "import type { ProviderMetadata } from '@hub3js/core';\n\nimport { WalletTypes } from '@rango-dev/wallets-shared';\nimport {\n type BlockchainMeta,\n evmBlockchains,\n hyperliquidBlockchain,\n solanaBlockchain,\n} from 'rango-types';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const WALLET_ID = WalletTypes.COIN98;\nexport const COIN98_INJECTION_DELAY = 1000;\nexport const metadata: ProviderMetadata = {\n name: 'Coin98',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/coin98/icon.svg',\n extensions: {\n chrome:\n 'https://chrome.google.com/webstore/detail/coin98-wallet/aeachknmefphepccionboohckonoeemg',\n brave:\n 'https://chrome.google.com/webstore/detail/coin98-wallet/aeachknmefphepccionboohckonoeemg',\n homepage: 'https://coin98.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 ...hyperliquidBlockchain(allBlockchains),\n ],\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: {\n getSigners: async () => getSigners(getInstanceOrThrow()),\n },\n },\n ],\n};\n", "import type { LegacyNetworkProviderMap } from '@rango-dev/wallets-core/legacy';\nimport type { SignerFactory } from 'rango-types';\n\nimport {\n dynamicImportWithRefinedError,\n getNetworkInstance,\n Networks,\n} from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { Coin98SolanaSigner } from './signers/solana.js';\n\nexport default async function getSigners(\n provider: LegacyNetworkProviderMap\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 Coin98SolanaSigner(solProvider));\n return signers;\n}\n", "import type { Transaction, VersionedTransaction } from '@solana/web3.js';\nimport type { GenericSigner, SolanaTransaction } from 'rango-types';\n\nimport {\n type SolanaExternalProvider,\n type SolanaWeb3Signer,\n} from '@rango-dev/signer-solana';\nimport { generalSolanaTransactionExecutor } from '@rango-dev/signer-solana';\nimport { PublicKey } from '@solana/web3.js';\nimport bs58 from 'bs58';\nimport { SignerError, SignerErrorCode } from 'rango-types';\n\nexport class Coin98SolanaSigner implements GenericSigner<SolanaTransaction> {\n private provider: SolanaExternalProvider;\n constructor(provider: SolanaExternalProvider) {\n this.provider = provider;\n }\n\n async signMessage(msg: string): Promise<string> {\n try {\n const result = await this.provider.signMessage(msg);\n return result.signature as unknown as string;\n } catch (error) {\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, error);\n }\n }\n\n async signAndSendTx(tx: SolanaTransaction): Promise<{ hash: string }> {\n const DefaultSolanaSigner: SolanaWeb3Signer = async (\n solanaWeb3Transaction: Transaction | VersionedTransaction\n ) => {\n const response: { publicKey: string; signature: string } =\n await this.provider.request({\n method: 'sol_sign',\n params: [solanaWeb3Transaction],\n });\n const publicKey = new PublicKey(response.publicKey);\n const sign = bs58.decode(response.signature);\n\n solanaWeb3Transaction.addSignature(publicKey, Buffer.from(sign));\n const raw = solanaWeb3Transaction.serialize();\n return raw;\n };\n try {\n const hash = await generalSolanaTransactionExecutor(\n tx,\n DefaultSolanaSigner\n );\n return { hash };\n } catch (e: unknown) {\n const REJECTION_CODE = 4001;\n if (\n e &&\n typeof e === 'object' &&\n 'code' in e &&\n e.code === REJECTION_CODE\n ) {\n throw new SignerError(SignerErrorCode.REJECTED_BY_USER, undefined, e);\n }\n throw new SignerError(SignerErrorCode.SIGN_TX_ERROR, undefined, e);\n }\n }\n}\n", "import type { Provider } from './types.js';\nimport type { ProviderAPI as EvmProviderApi } from '@hub3js/evm';\nimport type { ProviderAPI as SolanaProviderApi } from '@hub3js/solana';\n\nimport { Networks } from '@rango-dev/wallets-shared';\n\nexport function coin98() {\n const { coin98 } = window;\n\n if (!coin98) {\n return null;\n }\n\n const instances = new Map();\n\n if (coin98.provider) {\n instances.set(Networks.ETHEREUM, coin98.provider);\n }\n if (coin98.sol) {\n instances.set(Networks.SOLANA, coin98.sol);\n }\n\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = coin98();\n\n if (!instances) {\n throw new Error('Coin98 is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function evmCoin98(): EvmProviderApi {\n const instances = coin98();\n const evmInstance = instances?.get(Networks.ETHEREUM);\n if (!evmInstance) {\n throw new Error(\n 'Coin98 not injected or EVM not enabled. Please check your wallet.'\n );\n }\n return evmInstance as EvmProviderApi;\n}\n\nexport function solanaCoin98(): SolanaProviderApi {\n const instances = coin98();\n const solanaInstance = instances?.get(Networks.SOLANA);\n if (!solanaInstance) {\n throw new Error(\n 'Coin98 Solana instance is not available. Ensure that Solana support is enabled in your wallet.'\n );\n }\n return solanaInstance as SolanaProviderApi;\n}\n", "import type { EvmActions } from '@hub3js/evm';\n\nimport { NamespaceBuilder } from '@hub3js/core';\nimport { actions, builders } from '@hub3js/evm';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { WALLET_ID } from '../constants.js';\nimport { evmCoin98 } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(evmCoin98)\n .build();\n\nconst connect = builders\n .connect()\n .action(actions.connect(evmCoin98))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<EvmActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst canSwitchNetwork = builders\n .canSwitchNetwork()\n .action(actions.canSwitchNetwork())\n .build();\n\nconst getChainId = builders\n .getChainId()\n .action(actions.getChainId(evmCoin98))\n .build();\n\nconst evm = new NamespaceBuilder<EvmActions>('EVM', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canSwitchNetwork)\n .action(getChainId)\n .build();\n\nexport { evm };\n", "import { NamespaceBuilder } from '@hub3js/core';\nimport { builders, type SolanaActions } from '@hub3js/solana';\nimport * as commonBuilders from '@hub3js/std/builders';\nimport { standardizeAndThrowError } from '@hub3js/std/operators';\n\nimport { solanaActions } from '../actions/solana.js';\nimport { WALLET_ID } from '../constants.js';\nimport { solanaCoin98 } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = builders\n .changeAccountSubscriber(solanaCoin98)\n /*\n * Coin98 returns EVM addresses on account change instead of Solana addresses even though\n * we are listening to the changes on the Solana instance.\n * But if we get the EVM address, it means that we also have permission to eagerly get\n * the Solana address of the new account.\n */\n .onSwitchAccount(async (event, context) => {\n event.preventDefault();\n if (event.payload && event.payload.length !== 0) {\n context.action('connect');\n } else {\n context.action('disconnect');\n }\n })\n .addEventListener((instance, callback) =>\n instance.on('accountsChanged', callback)\n )\n .removeEventListener((instance, callback) =>\n instance.off('accountsChanged', callback)\n )\n .build();\n\nconst connect = builders\n .connect()\n .action(solanaActions.connect(solanaCoin98))\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<SolanaActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst solana = new NamespaceBuilder<SolanaActions>('Solana', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .build();\n\nexport { solana };\n", "import type { Context, FunctionWithContext } from '@hub3js/core';\n\nimport {\n type SolanaActions,\n type ProviderAPI as SolanaProviderApi,\n utils,\n} from '@hub3js/solana';\n\nfunction connect(\n getInstance: () => SolanaProviderApi\n): FunctionWithContext<SolanaActions['connect'], Context> {\n return async () => {\n const solanaInstance = getInstance();\n const connectResult = await solanaInstance.connect();\n return utils.formatAccountsToCAIP(connectResult);\n };\n}\n\nexport const solanaActions = { connect };\n"],
5
+ "mappings": "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",
6
+ "names": ["defineVersions", "ProviderBuilder", "WalletTypes", "evmBlockchains", "hyperliquidBlockchain", "solanaBlockchain", "dynamicImportWithRefinedError", "getNetworkInstance", "Networks", "DefaultSignerFactory", "TxType", "generalSolanaTransactionExecutor", "PublicKey", "bs58", "SignerError", "SignerErrorCode", "Coin98SolanaSigner", "__name", "provider", "msg", "error", "SignerError", "SignerErrorCode", "tx", "DefaultSolanaSigner", "solanaWeb3Transaction", "response", "publicKey", "PublicKey", "sign", "bs58", "generalSolanaTransactionExecutor", "e", "getSigners", "provider", "ethProvider", "getNetworkInstance", "Networks", "solProvider", "signers", "DefaultSignerFactory", "DefaultEvmSigner", "dynamicImportWithRefinedError", "TxType", "Coin98SolanaSigner", "__name", "Networks", "coin98", "instances", "Networks", "__name", "getInstanceOrThrow", "evmCoin98", "evmInstance", "solanaCoin98", "solanaInstance", "WALLET_ID", "WalletTypes", "COIN98_INJECTION_DELAY", "metadata", "allBlockchains", "evmBlockchains", "hyperliquidBlockchain", "solanaBlockchain", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "actions", "builders", "commonBuilders", "standardizeAndThrowError", "changeAccountSubscriber", "changeAccountCleanup", "builders", "evmCoin98", "connect", "actions", "standardizeAndThrowError", "disconnect", "canSwitchNetwork", "getChainId", "evm", "NamespaceBuilder", "WALLET_ID", "NamespaceBuilder", "builders", "commonBuilders", "standardizeAndThrowError", "utils", "connect", "getInstance", "connectResult", "utils", "__name", "solanaActions", "changeAccountSubscriber", "changeAccountCleanup", "builders", "solanaCoin98", "event", "context", "instance", "callback", "connect", "solanaActions", "standardizeAndThrowError", "disconnect", "solana", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "coin98", "COIN98_INJECTION_DELAY", "metadata", "evm", "solana", "versions", "__name", "defineVersions", "buildProvider"]
7
7
  }
@@ -1 +1 @@
1
- {"inputs":{"src/signers/solana.ts":{"bytes":2100,"imports":[{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"@solana/web3.js","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":973,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signers/solana.ts","kind":"import-statement","original":"./signers/solana.js"},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":1400,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1537,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/namespaces/evm.ts":{"bytes":1150,"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":518,"imports":[{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana.ts":{"bytes":1655,"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":721,"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":209,"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"src/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":17151},"dist/mod.js":{"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"@solana/web3.js","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"@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},{"path":"@hub3js/solana","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":112},"src/provider.ts":{"bytesInOutput":274},"src/constants.ts":{"bytesInOutput":753},"src/signer.ts":{"bytesInOutput":423},"src/signers/solana.ts":{"bytesInOutput":844},"src/utils.ts":{"bytesInOutput":689},"src/namespaces/evm.ts":{"bytesInOutput":523},"src/namespaces/solana.ts":{"bytesInOutput":624},"src/actions/solana.ts":{"bytesInOutput":163}},"bytes":4540}}}
1
+ {"inputs":{"src/signers/solana.ts":{"bytes":2100,"imports":[{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"@solana/web3.js","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/signer.ts":{"bytes":973,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signers/solana.ts","kind":"import-statement","original":"./signers/solana.js"},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":1400,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1638,"imports":[{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"src/signer.ts","kind":"import-statement","original":"./signer.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"}],"format":"esm"},"src/namespaces/evm.ts":{"bytes":1150,"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":518,"imports":[{"path":"@hub3js/solana","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/solana.ts":{"bytes":1655,"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":721,"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":209,"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"src/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":17357},"dist/mod.js":{"imports":[{"path":"@hub3js/core/utils","kind":"import-statement","external":true},{"path":"@hub3js/core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"@rango-dev/signer-solana","kind":"import-statement","external":true},{"path":"@solana/web3.js","kind":"import-statement","external":true},{"path":"bs58","kind":"import-statement","external":true},{"path":"rango-types","kind":"import-statement","external":true},{"path":"@rango-dev/signer-evm","kind":"dynamic-import","external":true},{"path":"@rango-dev/wallets-shared","kind":"import-statement","external":true},{"path":"@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},{"path":"@hub3js/solana","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":112},"src/provider.ts":{"bytesInOutput":274},"src/constants.ts":{"bytesInOutput":793},"src/signer.ts":{"bytesInOutput":423},"src/signers/solana.ts":{"bytesInOutput":844},"src/utils.ts":{"bytesInOutput":689},"src/namespaces/evm.ts":{"bytesInOutput":523},"src/namespaces/solana.ts":{"bytesInOutput":626},"src/actions/solana.ts":{"bytesInOutput":163}},"bytes":4582}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-coin98",
3
- "version": "0.62.1-next.2",
3
+ "version": "0.63.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/mod.ts",
@@ -25,10 +25,10 @@
25
25
  "@hub3js/evm": "^0.2.1",
26
26
  "@hub3js/solana": "^0.2.1",
27
27
  "@hub3js/std": "^0.1.1",
28
- "@rango-dev/signer-evm": "^0.42.0",
28
+ "@rango-dev/signer-evm": "^0.43.0",
29
29
  "@rango-dev/signer-solana": "^0.48.0",
30
- "@rango-dev/wallets-core": "^0.59.1-next.1",
31
- "@rango-dev/wallets-shared": "^0.60.1-next.2",
30
+ "@rango-dev/wallets-core": "^0.60.0",
31
+ "@rango-dev/wallets-shared": "^0.61.0",
32
32
  "@solana/web3.js": "^1.91.4",
33
33
  "bs58": "^5.0.0",
34
34
  "rango-types": "^0.5.0"
package/src/constants.ts CHANGED
@@ -4,6 +4,7 @@ import { WalletTypes } from '@rango-dev/wallets-shared';
4
4
  import {
5
5
  type BlockchainMeta,
6
6
  evmBlockchains,
7
+ hyperliquidBlockchain,
7
8
  solanaBlockchain,
8
9
  } from 'rango-types';
9
10
 
@@ -32,8 +33,10 @@ export const metadata: ProviderMetadata = {
32
33
  label: 'EVM',
33
34
  value: 'EVM',
34
35
  id: 'ETH',
35
- getSupportedChains: (allBlockchains: BlockchainMeta[]) =>
36
- evmBlockchains(allBlockchains),
36
+ getSupportedChains: (allBlockchains: BlockchainMeta[]) => [
37
+ ...evmBlockchains(allBlockchains),
38
+ ...hyperliquidBlockchain(allBlockchains),
39
+ ],
37
40
  },
38
41
  {
39
42
  label: 'Solana',