@rango-dev/provider-xverse 0.5.1 → 0.5.2-next.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,7 @@
1
+ ## [0.5.1](https://github.com/rango-exchange/rango-client/compare/provider-xverse@0.5.0...provider-xverse@0.5.1) (2026-05-02)
2
+
3
+
4
+
1
5
  # [0.5.0](https://github.com/rango-exchange/rango-client/compare/provider-xverse@0.4.0...provider-xverse@0.5.0) (2026-04-29)
2
6
 
3
7
 
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/builders/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,WAAW,EACjB,MAAM,yCAAyC,CAAC;AAIjD,eAAO,MAAM,uBAAuB,gBAAiB,MAAM,WAAW,0EAwBhE,CAAC;AAEP,iBAAS,eAAe,CAAC,WAAW,EAAE,MAAM,WAAW,iDAiBtD;AAED,eAAO,MAAM,YAAY;2CA7C4B,MAAM,WAAW;;CA6CE,CAAC"}
1
+ {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/builders/utxo.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAC3F,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,WAAW,EACjB,MAAM,yCAAyC,CAAC;AAIjD,eAAO,MAAM,uBAAuB,gBAAiB,MAAM,WAAW,0EAyBhE,CAAC;AAEP,iBAAS,eAAe,CAAC,WAAW,EAAE,MAAM,WAAW,iDAiBtD;AAED,eAAO,MAAM,YAAY;2CA9C4B,MAAM,WAAW;;CA8CE,CAAC"}
package/dist/mod.js CHANGED
@@ -1,2 +1,2 @@
1
- var A=Object.defineProperty;var t=(r,e)=>A(r,"name",{value:e,configurable:!0});import{defineVersions as Y}from"@rango-dev/wallets-core/utils";import{ProviderBuilder as J}from"@rango-dev/wallets-core";import"@rango-dev/wallets-core";import{Networks as R}from"@rango-dev/wallets-shared";import{LegacyNetworks as I}from"@rango-dev/wallets-core/legacy";import{getNetworkInstance as C}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as B,TransactionType as _}from"rango-types";import{Networks as T}from"@rango-dev/wallets-shared";import{SignerError as S}from"rango-types";var i=class{static{t(this,"BTCSigner")}provider;constructor(e){this.provider=e}async signMessage(){throw S.UnimplementedError("signMessage")}async signAndSendTx(e){let{asset:o,psbt:n}=e;if(!n)throw new Error("No PSBT found to sign. Ensure a valid PSBT is provided.");if(o.blockchain!==T.BTC)throw new Error(`Signing ${o.blockchain} transaction is not implemented by the signer.`);let u={};n.inputsToSign.forEach(({address:b,signingIndexes:x})=>{u[b]=x});let s=await this.provider.request("signPsbt",{psbt:n.unsignedPsbtBase64,signInputs:u,broadcast:!0});if(s?.error)throw new Error(s.error.message||"Error during transaction sign");if(!s?.result?.txid)throw new Error("Transaction not found!");return{hash:s.result.txid}}};async function d(r){let e=C(r,I.BTC),o=new B;return o.registerSigner(_.TRANSFER,new i(e)),o}t(d,"getSigners");import{LegacyNetworks as l}from"@rango-dev/wallets-core/legacy";function a(){let{XverseProviders:r}=window;if(!r)return null;let e=new Map;return r.BitcoinProvider&&e.set(l.BTC,r.BitcoinProvider),e}t(a,"xverse");function f(){let r=a();if(!r)throw new Error("Xverse is not injected. Please check your wallet.");return r}t(f,"getInstanceOrThrow");function c(){let e=a()?.get(l.BTC);if(!e)throw new Error("Xverse not injected. Please check your wallet.");return e}t(c,"bitcoinXverse");async function g(){let e=await c().request("wallet_connect",{addresses:["payment"],network:"Mainnet"});if(e.error?.message)throw new Error(e.error.message);return e}t(g,"getBitcoinAccounts");var v=1e3,w=-32002,p="xverse",h={name:"xverse",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xverse/icon.svg",extensions:{chrome:"https://chromewebstore.google.com/detail/idnnbdplmphpflfnlkomgpfbpcgelopg",homepage:"https://www.xverse.app/"},properties:[{name:"namespaces",value:{selection:"single",data:[{label:"BTC",value:"UTXO",id:"BTC",getSupportedChains:r=>r.filter(e=>e.name===R.BTC)}]}},{name:"signers",value:{getSigners:async()=>d(f())}}]};import{NamespaceBuilder as M}from"@rango-dev/wallets-core";import{builders as O,standardizeAndThrowError as U}from"@rango-dev/wallets-core/namespaces/common";import{utils as V}from"@rango-dev/wallets-core/namespaces/utxo";import{builders as j}from"@rango-dev/wallets-core/namespaces/utxo";import{ActionBuilder as k}from"@rango-dev/wallets-core";import{ChangeAccountSubscriberBuilder as N}from"@rango-dev/wallets-core/namespaces/common";import{utils as X}from"@rango-dev/wallets-core/namespaces/utxo";var D=t(r=>new N().getInstance(r).onSwitchAccount(e=>{e.payload?.addresses?.length||e.preventDefault()}).format(async(e,o)=>X.formatAccountsToCAIP(o.addresses.filter(n=>n.purpose==="payment").map(n=>n.address))).addEventListener((e,o)=>e.addListener("accountChange",o)).removeEventListener((e,o)=>{}),"changeAccountSubscriber");function L(r){return new k("canEagerConnect").action(async()=>{let e=r();try{let o=await e.request("getAddresses",{purposes:["payment"]});return o.error?.code===w?!1:!!o.result?.addresses?.length}catch{return!1}})}t(L,"canEagerConnect");var m={changeAccountSubscriber:D,canEagerConnect:L};var[q,E]=m.changeAccountSubscriber(c).build(),F=m.canEagerConnect(c).build(),W=j.connect().action(async function(){let r=await g();if(r.result?.addresses?.length===0)throw new Error("Couldn't find any address!");return V.formatAccountsToCAIP(r.result.addresses.map(e=>e.address))}).before(q).or(E).or(U).build(),G=O.disconnect().after(E).build(),P=new M("UTXO",p).action(W).action(G).action(F).build();var y=t(()=>new J(p).init(function(r){let[,e]=r.state();setTimeout(()=>{a()&&(e("installed",!0),console.debug("[xverse] instance detected.",r))},v)}).config("metadata",h).add("utxo",P).build(),"buildProvider");var De=t(()=>Y().version("1.0.0",y()).build(),"versions");export{De as versions};
1
+ var x=Object.defineProperty;var t=(r,e)=>x(r,"name",{value:e,configurable:!0});import{defineVersions as z}from"@rango-dev/wallets-core/utils";import{ProviderBuilder as Y}from"@rango-dev/wallets-core";import"@rango-dev/wallets-core";import{Networks as N}from"@rango-dev/wallets-shared";import{LegacyNetworks as C}from"@rango-dev/wallets-core/legacy";import{getNetworkInstance as S}from"@rango-dev/wallets-shared";import{DefaultSignerFactory as _,TransactionType as B}from"rango-types";import{Networks as I}from"@rango-dev/wallets-shared";import{SignerError as T}from"rango-types";var i=class{static{t(this,"BTCSigner")}provider;constructor(e){this.provider=e}async signMessage(){throw T.UnimplementedError("signMessage")}async signAndSendTx(e){let{asset:o,psbt:n}=e;if(!n)throw new Error("No PSBT found to sign. Ensure a valid PSBT is provided.");if(o.blockchain!==I.BTC)throw new Error(`Signing ${o.blockchain} transaction is not implemented by the signer.`);let u={};n.inputsToSign.forEach(({address:y,signingIndexes:b})=>{u[y]=b});let s=await this.provider.request("signPsbt",{psbt:n.unsignedPsbtBase64,signInputs:u,broadcast:!0});if(s?.error)throw new Error(s.error.message||"Error during transaction sign");if(!s?.result?.txid)throw new Error("Transaction not found!");return{hash:s.result.txid}}};async function d(r){let e=S(r,C.BTC),o=new _;return o.registerSigner(B.TRANSFER,new i(e)),o}t(d,"getSigners");import{LegacyNetworks as l}from"@rango-dev/wallets-core/legacy";function a(){let{XverseProviders:r}=window;if(!r)return null;let e=new Map;return r.BitcoinProvider&&e.set(l.BTC,r.BitcoinProvider),e}t(a,"xverse");function f(){let r=a();if(!r)throw new Error("Xverse is not injected. Please check your wallet.");return r}t(f,"getInstanceOrThrow");function c(){let e=a()?.get(l.BTC);if(!e)throw new Error("Xverse not injected. Please check your wallet.");return e}t(c,"bitcoinXverse");async function g(){let e=await c().request("wallet_connect",{addresses:["payment"],network:"Mainnet"});if(e.error?.message)throw new Error(e.error.message);return e}t(g,"getBitcoinAccounts");var v=1e3,w=-32002,p="xverse",h={name:"xverse",icon:"https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xverse/icon.svg",extensions:{chrome:"https://chromewebstore.google.com/detail/idnnbdplmphpflfnlkomgpfbpcgelopg",homepage:"https://www.xverse.app/"},properties:[{name:"namespaces",value:{selection:"single",data:[{label:"BTC",value:"UTXO",id:"BTC",getSupportedChains:r=>r.filter(e=>e.name===N.BTC)}]}},{name:"signers",value:{getSigners:async()=>d(f())}}]};import{NamespaceBuilder as O}from"@rango-dev/wallets-core";import{builders as U,standardizeAndThrowError as V}from"@rango-dev/wallets-core/namespaces/common";import{CAIP_BITCOIN_CHAIN_ID as j,utils as q}from"@rango-dev/wallets-core/namespaces/utxo";import{builders as F}from"@rango-dev/wallets-core/namespaces/utxo";import{ActionBuilder as R}from"@rango-dev/wallets-core";import{ChangeAccountSubscriberBuilder as k}from"@rango-dev/wallets-core/namespaces/common";import{CAIP_BITCOIN_CHAIN_ID as D,utils as X}from"@rango-dev/wallets-core/namespaces/utxo";var L=t(r=>new k().getInstance(r).onSwitchAccount(e=>{e.payload?.addresses?.length||e.preventDefault()}).format(async(e,o)=>X.formatAccountsToCAIP(o.addresses.filter(n=>n.purpose==="payment").map(n=>n.address),D)).addEventListener((e,o)=>e.addListener("accountChange",o)).removeEventListener((e,o)=>{}),"changeAccountSubscriber");function M(r){return new R("canEagerConnect").action(async()=>{let e=r();try{let o=await e.request("getAddresses",{purposes:["payment"]});return o.error?.code===w?!1:!!o.result?.addresses?.length}catch{return!1}})}t(M,"canEagerConnect");var m={changeAccountSubscriber:L,canEagerConnect:M};var[W,E]=m.changeAccountSubscriber(c).build(),G=m.canEagerConnect(c).build(),H=F.connect().action(async function(){let r=await g();if(r.result?.addresses?.length===0)throw new Error("Couldn't find any address!");return q.formatAccountsToCAIP(r.result.addresses.map(e=>e.address),j)}).before(W).or(E).or(V).build(),J=U.disconnect().after(E).build(),P=new O("UTXO",p).action(H).action(J).action(G).build();var A=t(()=>new Y(p).init(function(r){let[,e]=r.state();setTimeout(()=>{a()&&(e("installed",!0),console.debug("[xverse] instance detected.",r))},v)}).config("metadata",h).add("utxo",P).build(),"buildProvider");var Me=t(()=>z().version("1.0.0",A()).build(),"versions");export{Me 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/utxoSigner.ts", "../src/utils.ts", "../src/namespaces/utxo.ts", "../src/builders/utxo.ts"],
4
- "sourcesContent": ["import { defineVersions } from '@rango-dev/wallets-core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\n", "import { ProviderBuilder } from '@rango-dev/wallets-core';\n\nimport { metadata, WALLET_ID, XVERSE_INJECTION_DELAY_MS } from './constants.js';\nimport { utxo } from './namespaces/utxo.js';\nimport { xverse as unisatInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n // TODO: We should remove this after we solved not initiating issue.\n setTimeout(() => {\n if (unisatInstance()) {\n setState('installed', true);\n console.debug('[xverse] instance detected.', context);\n }\n }, XVERSE_INJECTION_DELAY_MS);\n })\n .config('metadata', metadata)\n .add('utxo', utxo)\n .build();\n\nexport { buildProvider };\n", "import type { BlockchainMeta, TransferBlockchainMeta } from 'rango-types';\n\nimport { type ProviderMetadata } from '@rango-dev/wallets-core';\nimport { Networks } from '@rango-dev/wallets-shared';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const XVERSE_INJECTION_DELAY_MS = 1000;\nexport const XVERSE_ACCESS_DENIED_ERROR_CODE = -32002;\nexport const WALLET_ID = 'xverse';\n\nexport const metadata: ProviderMetadata = {\n name: 'xverse',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xverse/icon.svg',\n extensions: {\n chrome:\n 'https://chromewebstore.google.com/detail/idnnbdplmphpflfnlkomgpfbpcgelopg',\n homepage: 'https://www.xverse.app/',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'single',\n data: [\n {\n label: 'BTC',\n value: 'UTXO',\n id: 'BTC',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter(\n (chain): chain is TransferBlockchainMeta =>\n chain.name === Networks.BTC\n ),\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { Provider } from './types.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';\nimport { getNetworkInstance } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { BTCSigner } from './signers/utxoSigner.js';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const bitcoinInstance = getNetworkInstance(provider, Networks.BTC);\n\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.TRANSFER, new BTCSigner(bitcoinInstance));\n return signers;\n}\n", "import type { ProviderAPI } from '@rango-dev/wallets-core/namespaces/utxo';\nimport type { GenericSigner, Transfer } from 'rango-types';\n\nimport { Networks } from '@rango-dev/wallets-shared';\nimport { SignerError } from 'rango-types';\n\nexport class BTCSigner implements GenericSigner<Transfer> {\n private provider: ProviderAPI;\n constructor(provider: ProviderAPI) {\n this.provider = provider;\n }\n\n async signMessage(): Promise<string> {\n throw SignerError.UnimplementedError('signMessage');\n }\n\n async signAndSendTx(tx: Transfer): Promise<{ hash: string }> {\n const { asset, psbt } = tx;\n if (!psbt) {\n throw new Error(\n 'No PSBT found to sign. Ensure a valid PSBT is provided.'\n );\n }\n\n if (asset.blockchain !== Networks.BTC) {\n throw new Error(\n `Signing ${asset.blockchain} transaction is not implemented by the signer.`\n );\n }\n\n // 2. Build sign inputs\n const signInputs: Record<string, number[]> = {};\n\n psbt.inputsToSign.forEach(({ address, signingIndexes }) => {\n signInputs[address] = signingIndexes;\n });\n\n // 3. Sign (& broadcast)\n const signPsbtResult = await this.provider.request('signPsbt', {\n psbt: psbt.unsignedPsbtBase64,\n signInputs,\n broadcast: true,\n });\n\n if (signPsbtResult?.error) {\n throw new Error(\n signPsbtResult.error.message || 'Error during transaction sign'\n );\n }\n if (!signPsbtResult?.result?.txid) {\n throw new Error('Transaction not found!');\n }\n\n return { hash: signPsbtResult.result.txid };\n }\n}\n", "import type { Provider, XVerseResponse } from './types.js';\nimport type { ProviderAPI } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\n\nexport function xverse(): Provider | null {\n const { XverseProviders } = window;\n\n if (!XverseProviders) {\n return null;\n }\n\n const instances: Provider = new Map();\n\n if (XverseProviders.BitcoinProvider) {\n instances.set(LegacyNetworks.BTC, XverseProviders.BitcoinProvider);\n }\n\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = xverse();\n\n if (!instances) {\n throw new Error('Xverse is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function bitcoinXverse(): ProviderAPI {\n const instances = xverse();\n const bitcoinInstance = instances?.get(LegacyNetworks.BTC);\n\n if (!bitcoinInstance) {\n throw new Error('Xverse not injected. Please check your wallet.');\n }\n\n return bitcoinInstance;\n}\nexport async function getBitcoinAccounts(): Promise<XVerseResponse> {\n const instance = bitcoinXverse();\n const requestResult = await instance.request('wallet_connect', {\n addresses: ['payment'],\n network: 'Mainnet',\n });\n\n if (requestResult.error?.message) {\n throw new Error(requestResult.error.message);\n }\n\n return requestResult;\n}\n", "import { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport {\n utils,\n type UtxoActions,\n} from '@rango-dev/wallets-core/namespaces/utxo';\nimport { builders } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { utxoBuilders } from '../builders/utxo.js';\nimport { WALLET_ID } from '../constants.js';\nimport { bitcoinXverse, getBitcoinAccounts } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = utxoBuilders\n .changeAccountSubscriber(bitcoinXverse)\n .build();\n\nconst canEagerConnect = utxoBuilders.canEagerConnect(bitcoinXverse).build();\n\nconst connect = builders\n .connect()\n .action(async function () {\n const accountsResult = await getBitcoinAccounts();\n\n if (accountsResult.result?.addresses?.length === 0) {\n throw new Error(\"Couldn't find any address!\");\n }\n return utils.formatAccountsToCAIP(\n accountsResult.result.addresses.map((address) => address.address)\n );\n })\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<UtxoActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst utxo = new NamespaceBuilder<UtxoActions>('UTXO', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { utxo };\n", "import type { XVerseEvent } from '../types.js';\n\nimport { ActionBuilder } from '@rango-dev/wallets-core';\nimport { ChangeAccountSubscriberBuilder } from '@rango-dev/wallets-core/namespaces/common';\nimport {\n type ProviderAPI,\n utils,\n type UtxoActions,\n} from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { XVERSE_ACCESS_DENIED_ERROR_CODE } from '../constants.js';\n\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<XVerseEvent, ProviderAPI, UtxoActions>()\n .getInstance(getInstance)\n /*\n * Xverse wallet may call the `changeAccount` event with `empty` value\n * but we shouldn't disconnect in this case.\n */\n .onSwitchAccount((event) => {\n if (!event.payload?.addresses?.length) {\n event.preventDefault();\n }\n })\n .format(async (_, event) => {\n return utils.formatAccountsToCAIP(\n event.addresses\n .filter((address) => address.purpose === 'payment')\n .map((address) => address.address)\n );\n })\n .addEventListener((instance, callback) => {\n return instance.addListener('accountChange', callback);\n })\n .removeEventListener((_, __) => {\n // it will be removed by the main class\n });\n\nfunction canEagerConnect(getInstance: () => ProviderAPI) {\n return new ActionBuilder<UtxoActions, 'canEagerConnect'>(\n 'canEagerConnect'\n ).action(async () => {\n const instance = getInstance();\n try {\n const addressesResponse = await instance.request('getAddresses', {\n purposes: ['payment'],\n });\n if (addressesResponse.error?.code === XVERSE_ACCESS_DENIED_ERROR_CODE) {\n return false;\n }\n return !!addressesResponse.result?.addresses?.length;\n } catch {\n return false;\n }\n });\n}\n\nexport const utxoBuilders = { changeAccountSubscriber, canEagerConnect };\n"],
5
- "mappings": "+EAAA,OAAS,kBAAAA,MAAsB,gCCA/B,OAAS,mBAAAC,MAAuB,0BCEhC,MAAsC,0BACtC,OAAS,YAAAC,MAAgB,4BCAzB,OAAS,kBAAkBC,MAAgB,iCAC3C,OAAS,sBAAAC,MAA0B,4BACnC,OAAS,wBAAAC,EAAsB,mBAAmBC,MAAc,cCFhE,OAAS,YAAAC,MAAgB,4BACzB,OAAS,eAAAC,MAAmB,cAErB,IAAMC,EAAN,KAAmD,CAN1D,MAM0D,CAAAC,EAAA,kBAChD,SACR,YAAYC,EAAuB,CACjC,KAAK,SAAWA,CAClB,CAEA,MAAM,aAA+B,CACnC,MAAMC,EAAY,mBAAmB,aAAa,CACpD,CAEA,MAAM,cAAcC,EAAyC,CAC3D,GAAM,CAAE,MAAAC,EAAO,KAAAC,CAAK,EAAIF,EACxB,GAAI,CAACE,EACH,MAAM,IAAI,MACR,yDACF,EAGF,GAAID,EAAM,aAAeE,EAAS,IAChC,MAAM,IAAI,MACR,WAAWF,EAAM,UAAU,gDAC7B,EAIF,IAAMG,EAAuC,CAAC,EAE9CF,EAAK,aAAa,QAAQ,CAAC,CAAE,QAAAG,EAAS,eAAAC,CAAe,IAAM,CACzDF,EAAWC,CAAO,EAAIC,CACxB,CAAC,EAGD,IAAMC,EAAiB,MAAM,KAAK,SAAS,QAAQ,WAAY,CAC7D,KAAML,EAAK,mBACX,WAAAE,EACA,UAAW,EACb,CAAC,EAED,GAAIG,GAAgB,MAClB,MAAM,IAAI,MACRA,EAAe,MAAM,SAAW,+BAClC,EAEF,GAAI,CAACA,GAAgB,QAAQ,KAC3B,MAAM,IAAI,MAAM,wBAAwB,EAG1C,MAAO,CAAE,KAAMA,EAAe,OAAO,IAAK,CAC5C,CACF,ED9CA,eAAOC,EACLC,EACwB,CACxB,IAAMC,EAAkBC,EAAmBF,EAAUG,EAAS,GAAG,EAE3DC,EAAU,IAAIC,EACpB,OAAAD,EAAQ,eAAeE,EAAO,SAAU,IAAIC,EAAUN,CAAe,CAAC,EAC/DG,CACT,CAR8BI,EAAAT,EAAA,cEN9B,OAAS,kBAAAU,MAAsB,iCAExB,SAASC,GAA0B,CACxC,GAAM,CAAE,gBAAAC,CAAgB,EAAI,OAE5B,GAAI,CAACA,EACH,OAAO,KAGT,IAAMC,EAAsB,IAAI,IAEhC,OAAID,EAAgB,iBAClBC,EAAU,IAAIC,EAAe,IAAKF,EAAgB,eAAe,EAG5DC,CACT,CAdgBE,EAAAJ,EAAA,UAgBT,SAASK,GAA+B,CAC7C,IAAMH,EAAYF,EAAO,EAEzB,GAAI,CAACE,EACH,MAAM,IAAI,MAAM,mDAAmD,EAGrE,OAAOA,CACT,CARgBE,EAAAC,EAAA,sBAUT,SAASC,GAA6B,CAE3C,IAAMC,EADYP,EAAO,GACU,IAAIG,EAAe,GAAG,EAEzD,GAAI,CAACI,EACH,MAAM,IAAI,MAAM,gDAAgD,EAGlE,OAAOA,CACT,CATgBH,EAAAE,EAAA,iBAUhB,eAAsBE,GAA8C,CAElE,IAAMC,EAAgB,MADLH,EAAc,EACM,QAAQ,iBAAkB,CAC7D,UAAW,CAAC,SAAS,EACrB,QAAS,SACX,CAAC,EAED,GAAIG,EAAc,OAAO,QACvB,MAAM,IAAI,MAAMA,EAAc,MAAM,OAAO,EAG7C,OAAOA,CACT,CAZsBL,EAAAI,EAAA,sBHjCf,IAAME,EAA4B,IAC5BC,EAAkC,OAClCC,EAAY,SAEZC,EAA6B,CACxC,KAAM,SACN,KAAM,uFACN,WAAY,CACV,OACE,4EACF,SAAU,yBACZ,EACA,WAAY,CACV,CACE,KAAM,aACN,MAAO,CACL,UAAW,SACX,KAAM,CACJ,CACE,MAAO,MACP,MAAO,OACP,GAAI,MACJ,mBAAqBC,GACnBA,EAAe,OACZC,GACCA,EAAM,OAASC,EAAS,GAC5B,CACJ,CACF,CACF,CACF,EACA,CACE,KAAM,UACN,MAAO,CAAE,WAAY,SAAYC,EAAWC,EAAmB,CAAC,CAAE,CACpE,CACF,CACF,EI5CA,OAAS,oBAAAC,MAAwB,0BACjC,OACE,YAAYC,EACZ,4BAAAC,MACK,4CACP,OACE,SAAAC,MAEK,0CACP,OAAS,YAAAC,MAAgB,0CCPzB,OAAS,iBAAAC,MAAqB,0BAC9B,OAAS,kCAAAC,MAAsC,4CAC/C,OAEE,SAAAC,MAEK,0CAIA,IAAMC,EAA0BC,EAACC,GACtC,IAAIC,EAAsE,EACvE,YAAYD,CAAW,EAKvB,gBAAiBE,GAAU,CACrBA,EAAM,SAAS,WAAW,QAC7BA,EAAM,eAAe,CAEzB,CAAC,EACA,OAAO,MAAOC,EAAGD,IACTE,EAAM,qBACXF,EAAM,UACH,OAAQG,GAAYA,EAAQ,UAAY,SAAS,EACjD,IAAKA,GAAYA,EAAQ,OAAO,CACrC,CACD,EACA,iBAAiB,CAACC,EAAUC,IACpBD,EAAS,YAAY,gBAAiBC,CAAQ,CACtD,EACA,oBAAoB,CAACJ,EAAGK,IAAO,CAEhC,CAAC,EAxBkC,2BA0BvC,SAASC,EAAgBT,EAAgC,CACvD,OAAO,IAAIU,EACT,iBACF,EAAE,OAAO,SAAY,CACnB,IAAMJ,EAAWN,EAAY,EAC7B,GAAI,CACF,IAAMW,EAAoB,MAAML,EAAS,QAAQ,eAAgB,CAC/D,SAAU,CAAC,SAAS,CACtB,CAAC,EACD,OAAIK,EAAkB,OAAO,OAASC,EAC7B,GAEF,CAAC,CAACD,EAAkB,QAAQ,WAAW,MAChD,MAAQ,CACN,MAAO,EACT,CACF,CAAC,CACH,CAjBSZ,EAAAU,EAAA,mBAmBF,IAAMI,EAAe,CAAE,wBAAAf,EAAyB,gBAAAW,CAAgB,ED1CvE,GAAM,CAACK,EAAyBC,CAAoB,EAAIC,EACrD,wBAAwBC,CAAa,EACrC,MAAM,EAEHC,EAAkBF,EAAa,gBAAgBC,CAAa,EAAE,MAAM,EAEpEE,EAAUC,EACb,QAAQ,EACR,OAAO,gBAAkB,CACxB,IAAMC,EAAiB,MAAMC,EAAmB,EAEhD,GAAID,EAAe,QAAQ,WAAW,SAAW,EAC/C,MAAM,IAAI,MAAM,4BAA4B,EAE9C,OAAOE,EAAM,qBACXF,EAAe,OAAO,UAAU,IAAKG,GAAYA,EAAQ,OAAO,CAClE,CACF,CAAC,EACA,OAAOV,CAAuB,EAC9B,GAAGC,CAAoB,EACvB,GAAGU,CAAwB,EAC3B,MAAM,EAEHC,EAAaC,EAChB,WAAwB,EACxB,MAAMZ,CAAoB,EAC1B,MAAM,EAEHa,EAAO,IAAIC,EAA8B,OAAQC,CAAS,EAC7D,OAAOX,CAAO,EACd,OAAOO,CAAU,EACjB,OAAOR,CAAe,EACtB,MAAM,ELzCT,IAAMa,EAAgBC,EAAA,IACpB,IAAIC,EAAgBC,CAAS,EAC1B,KAAK,SAAUC,EAAS,CACvB,GAAM,CAAC,CAAEC,CAAQ,EAAID,EAAQ,MAAM,EAEnC,WAAW,IAAM,CACXE,EAAe,IACjBD,EAAS,YAAa,EAAI,EAC1B,QAAQ,MAAM,8BAA+BD,CAAO,EAExD,EAAGG,CAAyB,CAC9B,CAAC,EACA,OAAO,WAAYC,CAAQ,EAC3B,IAAI,OAAQC,CAAI,EAChB,MAAM,EAdW,iBDFtB,IAAMC,GAAWC,EAAA,IACfC,EAAe,EAAE,QAAQ,QAASC,EAAc,CAAC,EAAE,MAAM,EAD1C",
6
- "names": ["defineVersions", "ProviderBuilder", "Networks", "Networks", "getNetworkInstance", "DefaultSignerFactory", "TxType", "Networks", "SignerError", "BTCSigner", "__name", "provider", "SignerError", "tx", "asset", "psbt", "Networks", "signInputs", "address", "signingIndexes", "signPsbtResult", "getSigners", "provider", "bitcoinInstance", "getNetworkInstance", "Networks", "signers", "DefaultSignerFactory", "TxType", "BTCSigner", "__name", "LegacyNetworks", "xverse", "XverseProviders", "instances", "LegacyNetworks", "__name", "getInstanceOrThrow", "bitcoinXverse", "bitcoinInstance", "getBitcoinAccounts", "requestResult", "XVERSE_INJECTION_DELAY_MS", "XVERSE_ACCESS_DENIED_ERROR_CODE", "WALLET_ID", "metadata", "allBlockchains", "chain", "Networks", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "utils", "builders", "ActionBuilder", "ChangeAccountSubscriberBuilder", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "_", "utils", "address", "instance", "callback", "__", "canEagerConnect", "ActionBuilder", "addressesResponse", "XVERSE_ACCESS_DENIED_ERROR_CODE", "utxoBuilders", "changeAccountSubscriber", "changeAccountCleanup", "utxoBuilders", "bitcoinXverse", "canEagerConnect", "connect", "builders", "accountsResult", "getBitcoinAccounts", "utils", "address", "standardizeAndThrowError", "disconnect", "commonBuilders", "utxo", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "xverse", "XVERSE_INJECTION_DELAY_MS", "metadata", "utxo", "versions", "__name", "defineVersions", "buildProvider"]
4
+ "sourcesContent": ["import { defineVersions } from '@rango-dev/wallets-core/utils';\n\nimport { buildProvider } from './provider.js';\n\nconst versions = () =>\n defineVersions().version('1.0.0', buildProvider()).build();\n\nexport { versions };\n", "import { ProviderBuilder } from '@rango-dev/wallets-core';\n\nimport { metadata, WALLET_ID, XVERSE_INJECTION_DELAY_MS } from './constants.js';\nimport { utxo } from './namespaces/utxo.js';\nimport { xverse as unisatInstance } from './utils.js';\n\nconst buildProvider = () =>\n new ProviderBuilder(WALLET_ID)\n .init(function (context) {\n const [, setState] = context.state();\n // TODO: We should remove this after we solved not initiating issue.\n setTimeout(() => {\n if (unisatInstance()) {\n setState('installed', true);\n console.debug('[xverse] instance detected.', context);\n }\n }, XVERSE_INJECTION_DELAY_MS);\n })\n .config('metadata', metadata)\n .add('utxo', utxo)\n .build();\n\nexport { buildProvider };\n", "import type { BlockchainMeta, TransferBlockchainMeta } from 'rango-types';\n\nimport { type ProviderMetadata } from '@rango-dev/wallets-core';\nimport { Networks } from '@rango-dev/wallets-shared';\n\nimport getSigners from './signer.js';\nimport { getInstanceOrThrow } from './utils.js';\n\nexport const XVERSE_INJECTION_DELAY_MS = 1000;\nexport const XVERSE_ACCESS_DENIED_ERROR_CODE = -32002;\nexport const WALLET_ID = 'xverse';\n\nexport const metadata: ProviderMetadata = {\n name: 'xverse',\n icon: 'https://raw.githubusercontent.com/rango-exchange/assets/main/wallets/xverse/icon.svg',\n extensions: {\n chrome:\n 'https://chromewebstore.google.com/detail/idnnbdplmphpflfnlkomgpfbpcgelopg',\n homepage: 'https://www.xverse.app/',\n },\n properties: [\n {\n name: 'namespaces',\n value: {\n selection: 'single',\n data: [\n {\n label: 'BTC',\n value: 'UTXO',\n id: 'BTC',\n getSupportedChains: (allBlockchains: BlockchainMeta[]) =>\n allBlockchains.filter(\n (chain): chain is TransferBlockchainMeta =>\n chain.name === Networks.BTC\n ),\n },\n ],\n },\n },\n {\n name: 'signers',\n value: { getSigners: async () => getSigners(getInstanceOrThrow()) },\n },\n ],\n};\n", "import type { Provider } from './types.js';\nimport type { SignerFactory } from 'rango-types';\n\nimport { LegacyNetworks as Networks } from '@rango-dev/wallets-core/legacy';\nimport { getNetworkInstance } from '@rango-dev/wallets-shared';\nimport { DefaultSignerFactory, TransactionType as TxType } from 'rango-types';\n\nimport { BTCSigner } from './signers/utxoSigner.js';\n\nexport default async function getSigners(\n provider: Provider\n): Promise<SignerFactory> {\n const bitcoinInstance = getNetworkInstance(provider, Networks.BTC);\n\n const signers = new DefaultSignerFactory();\n signers.registerSigner(TxType.TRANSFER, new BTCSigner(bitcoinInstance));\n return signers;\n}\n", "import type { ProviderAPI } from '@rango-dev/wallets-core/namespaces/utxo';\nimport type { GenericSigner, Transfer } from 'rango-types';\n\nimport { Networks } from '@rango-dev/wallets-shared';\nimport { SignerError } from 'rango-types';\n\nexport class BTCSigner implements GenericSigner<Transfer> {\n private provider: ProviderAPI;\n constructor(provider: ProviderAPI) {\n this.provider = provider;\n }\n\n async signMessage(): Promise<string> {\n throw SignerError.UnimplementedError('signMessage');\n }\n\n async signAndSendTx(tx: Transfer): Promise<{ hash: string }> {\n const { asset, psbt } = tx;\n if (!psbt) {\n throw new Error(\n 'No PSBT found to sign. Ensure a valid PSBT is provided.'\n );\n }\n\n if (asset.blockchain !== Networks.BTC) {\n throw new Error(\n `Signing ${asset.blockchain} transaction is not implemented by the signer.`\n );\n }\n\n // 2. Build sign inputs\n const signInputs: Record<string, number[]> = {};\n\n psbt.inputsToSign.forEach(({ address, signingIndexes }) => {\n signInputs[address] = signingIndexes;\n });\n\n // 3. Sign (& broadcast)\n const signPsbtResult = await this.provider.request('signPsbt', {\n psbt: psbt.unsignedPsbtBase64,\n signInputs,\n broadcast: true,\n });\n\n if (signPsbtResult?.error) {\n throw new Error(\n signPsbtResult.error.message || 'Error during transaction sign'\n );\n }\n if (!signPsbtResult?.result?.txid) {\n throw new Error('Transaction not found!');\n }\n\n return { hash: signPsbtResult.result.txid };\n }\n}\n", "import type { Provider, XVerseResponse } from './types.js';\nimport type { ProviderAPI } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { LegacyNetworks } from '@rango-dev/wallets-core/legacy';\n\nexport function xverse(): Provider | null {\n const { XverseProviders } = window;\n\n if (!XverseProviders) {\n return null;\n }\n\n const instances: Provider = new Map();\n\n if (XverseProviders.BitcoinProvider) {\n instances.set(LegacyNetworks.BTC, XverseProviders.BitcoinProvider);\n }\n\n return instances;\n}\n\nexport function getInstanceOrThrow(): Provider {\n const instances = xverse();\n\n if (!instances) {\n throw new Error('Xverse is not injected. Please check your wallet.');\n }\n\n return instances;\n}\n\nexport function bitcoinXverse(): ProviderAPI {\n const instances = xverse();\n const bitcoinInstance = instances?.get(LegacyNetworks.BTC);\n\n if (!bitcoinInstance) {\n throw new Error('Xverse not injected. Please check your wallet.');\n }\n\n return bitcoinInstance;\n}\nexport async function getBitcoinAccounts(): Promise<XVerseResponse> {\n const instance = bitcoinXverse();\n const requestResult = await instance.request('wallet_connect', {\n addresses: ['payment'],\n network: 'Mainnet',\n });\n\n if (requestResult.error?.message) {\n throw new Error(requestResult.error.message);\n }\n\n return requestResult;\n}\n", "import { NamespaceBuilder } from '@rango-dev/wallets-core';\nimport {\n builders as commonBuilders,\n standardizeAndThrowError,\n} from '@rango-dev/wallets-core/namespaces/common';\nimport {\n CAIP_BITCOIN_CHAIN_ID,\n utils,\n type UtxoActions,\n} from '@rango-dev/wallets-core/namespaces/utxo';\nimport { builders } from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { utxoBuilders } from '../builders/utxo.js';\nimport { WALLET_ID } from '../constants.js';\nimport { bitcoinXverse, getBitcoinAccounts } from '../utils.js';\n\nconst [changeAccountSubscriber, changeAccountCleanup] = utxoBuilders\n .changeAccountSubscriber(bitcoinXverse)\n .build();\n\nconst canEagerConnect = utxoBuilders.canEagerConnect(bitcoinXverse).build();\n\nconst connect = builders\n .connect()\n .action(async function () {\n const accountsResult = await getBitcoinAccounts();\n\n if (accountsResult.result?.addresses?.length === 0) {\n throw new Error(\"Couldn't find any address!\");\n }\n return utils.formatAccountsToCAIP(\n accountsResult.result.addresses.map((address) => address.address),\n CAIP_BITCOIN_CHAIN_ID\n );\n })\n .before(changeAccountSubscriber)\n .or(changeAccountCleanup)\n .or(standardizeAndThrowError)\n .build();\n\nconst disconnect = commonBuilders\n .disconnect<UtxoActions>()\n .after(changeAccountCleanup)\n .build();\n\nconst utxo = new NamespaceBuilder<UtxoActions>('UTXO', WALLET_ID)\n .action(connect)\n .action(disconnect)\n .action(canEagerConnect)\n .build();\n\nexport { utxo };\n", "import type { XVerseEvent } from '../types.js';\n\nimport { ActionBuilder } from '@rango-dev/wallets-core';\nimport { ChangeAccountSubscriberBuilder } from '@rango-dev/wallets-core/namespaces/common';\nimport {\n CAIP_BITCOIN_CHAIN_ID,\n type ProviderAPI,\n utils,\n type UtxoActions,\n} from '@rango-dev/wallets-core/namespaces/utxo';\n\nimport { XVERSE_ACCESS_DENIED_ERROR_CODE } from '../constants.js';\n\nexport const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>\n new ChangeAccountSubscriberBuilder<XVerseEvent, ProviderAPI, UtxoActions>()\n .getInstance(getInstance)\n /*\n * Xverse wallet may call the `changeAccount` event with `empty` value\n * but we shouldn't disconnect in this case.\n */\n .onSwitchAccount((event) => {\n if (!event.payload?.addresses?.length) {\n event.preventDefault();\n }\n })\n .format(async (_, event) => {\n return utils.formatAccountsToCAIP(\n event.addresses\n .filter((address) => address.purpose === 'payment')\n .map((address) => address.address),\n CAIP_BITCOIN_CHAIN_ID\n );\n })\n .addEventListener((instance, callback) => {\n return instance.addListener('accountChange', callback);\n })\n .removeEventListener((_, __) => {\n // it will be removed by the main class\n });\n\nfunction canEagerConnect(getInstance: () => ProviderAPI) {\n return new ActionBuilder<UtxoActions, 'canEagerConnect'>(\n 'canEagerConnect'\n ).action(async () => {\n const instance = getInstance();\n try {\n const addressesResponse = await instance.request('getAddresses', {\n purposes: ['payment'],\n });\n if (addressesResponse.error?.code === XVERSE_ACCESS_DENIED_ERROR_CODE) {\n return false;\n }\n return !!addressesResponse.result?.addresses?.length;\n } catch {\n return false;\n }\n });\n}\n\nexport const utxoBuilders = { changeAccountSubscriber, canEagerConnect };\n"],
5
+ "mappings": "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",
6
+ "names": ["defineVersions", "ProviderBuilder", "Networks", "Networks", "getNetworkInstance", "DefaultSignerFactory", "TxType", "Networks", "SignerError", "BTCSigner", "__name", "provider", "SignerError", "tx", "asset", "psbt", "Networks", "signInputs", "address", "signingIndexes", "signPsbtResult", "getSigners", "provider", "bitcoinInstance", "getNetworkInstance", "Networks", "signers", "DefaultSignerFactory", "TxType", "BTCSigner", "__name", "LegacyNetworks", "xverse", "XverseProviders", "instances", "LegacyNetworks", "__name", "getInstanceOrThrow", "bitcoinXverse", "bitcoinInstance", "getBitcoinAccounts", "requestResult", "XVERSE_INJECTION_DELAY_MS", "XVERSE_ACCESS_DENIED_ERROR_CODE", "WALLET_ID", "metadata", "allBlockchains", "chain", "Networks", "getSigners", "getInstanceOrThrow", "NamespaceBuilder", "commonBuilders", "standardizeAndThrowError", "CAIP_BITCOIN_CHAIN_ID", "utils", "builders", "ActionBuilder", "ChangeAccountSubscriberBuilder", "CAIP_BITCOIN_CHAIN_ID", "utils", "changeAccountSubscriber", "__name", "getInstance", "ChangeAccountSubscriberBuilder", "event", "_", "utils", "address", "CAIP_BITCOIN_CHAIN_ID", "instance", "callback", "__", "canEagerConnect", "ActionBuilder", "addressesResponse", "XVERSE_ACCESS_DENIED_ERROR_CODE", "utxoBuilders", "changeAccountSubscriber", "changeAccountCleanup", "utxoBuilders", "bitcoinXverse", "canEagerConnect", "connect", "builders", "accountsResult", "getBitcoinAccounts", "utils", "address", "CAIP_BITCOIN_CHAIN_ID", "standardizeAndThrowError", "disconnect", "commonBuilders", "utxo", "NamespaceBuilder", "WALLET_ID", "buildProvider", "__name", "ProviderBuilder", "WALLET_ID", "context", "setState", "xverse", "XVERSE_INJECTION_DELAY_MS", "metadata", "utxo", "versions", "__name", "defineVersions", "buildProvider"]
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/namespaces/utxo.ts"],"names":[],"mappings":"AAKA,OAAO,EAEL,KAAK,WAAW,EACjB,MAAM,yCAAyC,CAAC;AAmCjD,QAAA,MAAM,IAAI,iEAIA,CAAC;AAEX,OAAO,EAAE,IAAI,EAAE,CAAC"}
1
+ {"version":3,"file":"utxo.d.ts","sourceRoot":"","sources":["../../src/namespaces/utxo.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,WAAW,EACjB,MAAM,yCAAyC,CAAC;AAoCjD,QAAA,MAAM,IAAI,iEAIA,CAAC;AAEX,OAAO,EAAE,IAAI,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"inputs":{"src/signers/utxoSigner.ts":{"bytes":1572,"imports":[{"path":"@rango-dev/wallets-shared","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":673,"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/signers/utxoSigner.ts","kind":"import-statement","original":"./signers/utxoSigner.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":1340,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1322,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","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/builders/utxo.ts":{"bytes":1875,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/utxo.ts":{"bytes":1444,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"src/builders/utxo.ts","kind":"import-statement","original":"../builders/utxo.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":766,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/utxo.ts","kind":"import-statement","original":"./namespaces/utxo.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":220,"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"src/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":15396},"dist/mod.js":{"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","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/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":121},"src/provider.ts":{"bytesInOutput":268},"src/constants.ts":{"bytesInOutput":561},"src/signer.ts":{"bytesInOutput":309},"src/signers/utxoSigner.ts":{"bytesInOutput":818},"src/utils.ts":{"bytesInOutput":673},"src/namespaces/utxo.ts":{"bytesInOutput":691},"src/builders/utxo.ts":{"bytesInOutput":828}},"bytes":4404}}}
1
+ {"inputs":{"src/signers/utxoSigner.ts":{"bytes":1572,"imports":[{"path":"@rango-dev/wallets-shared","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":673,"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/signers/utxoSigner.ts","kind":"import-statement","original":"./signers/utxoSigner.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/utils.ts":{"bytes":1340,"imports":[{"path":"@rango-dev/wallets-core/legacy","kind":"import-statement","external":true},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/constants.ts":{"bytes":1322,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","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/builders/utxo.ts":{"bytes":1931,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"../constants.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/namespaces/utxo.ts":{"bytes":1498,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"src/builders/utxo.ts","kind":"import-statement","original":"../builders/utxo.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":766,"imports":[{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"src/constants.ts","kind":"import-statement","original":"./constants.js"},{"path":"src/namespaces/utxo.ts","kind":"import-statement","original":"./namespaces/utxo.js"},{"path":"src/utils.ts","kind":"import-statement","original":"./utils.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"},"src/mod.ts":{"bytes":220,"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"src/provider.ts","kind":"import-statement","original":"./provider.js"},{"path":"<runtime>","kind":"import-statement","external":true}],"format":"esm"}},"outputs":{"dist/mod.js.map":{"imports":[],"exports":[],"inputs":{},"bytes":15647},"dist/mod.js":{"imports":[{"path":"@rango-dev/wallets-core/utils","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-shared","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/wallets-core/legacy","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/common","kind":"import-statement","external":true},{"path":"@rango-dev/wallets-core/namespaces/utxo","kind":"import-statement","external":true}],"exports":["versions"],"entryPoint":"src/mod.ts","inputs":{"src/mod.ts":{"bytesInOutput":121},"src/provider.ts":{"bytesInOutput":268},"src/constants.ts":{"bytesInOutput":561},"src/signer.ts":{"bytesInOutput":309},"src/signers/utxoSigner.ts":{"bytesInOutput":818},"src/utils.ts":{"bytesInOutput":673},"src/namespaces/utxo.ts":{"bytesInOutput":720},"src/builders/utxo.ts":{"bytesInOutput":857}},"bytes":4462}}}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rango-dev/provider-xverse",
3
- "version": "0.5.1",
3
+ "version": "0.5.2-next.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "source": "./src/mod.ts",
@@ -21,9 +21,9 @@
21
21
  "lint": "eslint \"**/*.{ts,tsx}\""
22
22
  },
23
23
  "dependencies": {
24
- "@rango-dev/wallets-core": "^0.58.1",
25
- "@rango-dev/wallets-shared": "^0.59.1",
26
- "rango-types": "^0.1.98"
24
+ "@rango-dev/wallets-core": "^0.58.2-next.0",
25
+ "@rango-dev/wallets-shared": "^0.59.2-next.0",
26
+ "rango-types": "^0.3.0"
27
27
  },
28
28
  "publishConfig": {
29
29
  "access": "public"
@@ -3,6 +3,7 @@ import type { XVerseEvent } from '../types.js';
3
3
  import { ActionBuilder } from '@rango-dev/wallets-core';
4
4
  import { ChangeAccountSubscriberBuilder } from '@rango-dev/wallets-core/namespaces/common';
5
5
  import {
6
+ CAIP_BITCOIN_CHAIN_ID,
6
7
  type ProviderAPI,
7
8
  utils,
8
9
  type UtxoActions,
@@ -26,7 +27,8 @@ export const changeAccountSubscriber = (getInstance: () => ProviderAPI) =>
26
27
  return utils.formatAccountsToCAIP(
27
28
  event.addresses
28
29
  .filter((address) => address.purpose === 'payment')
29
- .map((address) => address.address)
30
+ .map((address) => address.address),
31
+ CAIP_BITCOIN_CHAIN_ID
30
32
  );
31
33
  })
32
34
  .addEventListener((instance, callback) => {
@@ -4,6 +4,7 @@ import {
4
4
  standardizeAndThrowError,
5
5
  } from '@rango-dev/wallets-core/namespaces/common';
6
6
  import {
7
+ CAIP_BITCOIN_CHAIN_ID,
7
8
  utils,
8
9
  type UtxoActions,
9
10
  } from '@rango-dev/wallets-core/namespaces/utxo';
@@ -28,7 +29,8 @@ const connect = builders
28
29
  throw new Error("Couldn't find any address!");
29
30
  }
30
31
  return utils.formatAccountsToCAIP(
31
- accountsResult.result.addresses.map((address) => address.address)
32
+ accountsResult.result.addresses.map((address) => address.address),
33
+ CAIP_BITCOIN_CHAIN_ID
32
34
  );
33
35
  })
34
36
  .before(changeAccountSubscriber)