bitcoin-wallet-connector 0.1.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.
Files changed (158) hide show
  1. package/README.md +208 -0
  2. package/lib/BitcoinConnectionProvider.d.ts +23 -0
  3. package/lib/BitcoinWalletAdapterConnector-Bq835yj0.mjs +123 -0
  4. package/lib/BitcoinWalletAdapterConnector-Bq835yj0.mjs.map +1 -0
  5. package/lib/BitcoinWalletAdapterConnector-DMef0iHV.js +2 -0
  6. package/lib/BitcoinWalletAdapterConnector-DMef0iHV.js.map +1 -0
  7. package/lib/BitcoinWalletAdapterConnector.d.ts +30 -0
  8. package/lib/BitgetWalletAdapter.impl-C_HLO7Oi.mjs +10 -0
  9. package/lib/BitgetWalletAdapter.impl-C_HLO7Oi.mjs.map +1 -0
  10. package/lib/BitgetWalletAdapter.impl-CxnKMf7U.js +2 -0
  11. package/lib/BitgetWalletAdapter.impl-CxnKMf7U.js.map +1 -0
  12. package/lib/LeatherWalletAdapter.impl-B2QgX_tO.js +2 -0
  13. package/lib/LeatherWalletAdapter.impl-B2QgX_tO.js.map +1 -0
  14. package/lib/LeatherWalletAdapter.impl-RUYx555r.mjs +184 -0
  15. package/lib/LeatherWalletAdapter.impl-RUYx555r.mjs.map +1 -0
  16. package/lib/MagicEdenWalletAdapter.impl-CrA6SGvG.mjs +235 -0
  17. package/lib/MagicEdenWalletAdapter.impl-CrA6SGvG.mjs.map +1 -0
  18. package/lib/MagicEdenWalletAdapter.impl-Di3Nu2S5.js +2 -0
  19. package/lib/MagicEdenWalletAdapter.impl-Di3Nu2S5.js.map +1 -0
  20. package/lib/OkxWalletAdapter.impl-BepoUL1B.mjs +67 -0
  21. package/lib/OkxWalletAdapter.impl-BepoUL1B.mjs.map +1 -0
  22. package/lib/OkxWalletAdapter.impl-C8kesjGu.js +2 -0
  23. package/lib/OkxWalletAdapter.impl-C8kesjGu.js.map +1 -0
  24. package/lib/UnisatCompatibleWalletAdapterImpl-Cq2Oqk1b.js +2 -0
  25. package/lib/UnisatCompatibleWalletAdapterImpl-Cq2Oqk1b.js.map +1 -0
  26. package/lib/UnisatCompatibleWalletAdapterImpl-M38FqkZI.mjs +137 -0
  27. package/lib/UnisatCompatibleWalletAdapterImpl-M38FqkZI.mjs.map +1 -0
  28. package/lib/UnisatWalletAdapter.impl-CJB22se8.mjs +14 -0
  29. package/lib/UnisatWalletAdapter.impl-CJB22se8.mjs.map +1 -0
  30. package/lib/UnisatWalletAdapter.impl-EISvxdpc.js +2 -0
  31. package/lib/UnisatWalletAdapter.impl-EISvxdpc.js.map +1 -0
  32. package/lib/WalletAdapters.types-CnvOqHFH.mjs +32 -0
  33. package/lib/WalletAdapters.types-CnvOqHFH.mjs.map +1 -0
  34. package/lib/WalletAdapters.types-De_x1lzr.js +2 -0
  35. package/lib/WalletAdapters.types-De_x1lzr.js.map +1 -0
  36. package/lib/WalletAdapters.types.d.ts +110 -0
  37. package/lib/XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js +2 -0
  38. package/lib/XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js.map +1 -0
  39. package/lib/XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs +151 -0
  40. package/lib/XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs.map +1 -0
  41. package/lib/XverseWalletAdapter.impl-CZO0RQva.mjs +105 -0
  42. package/lib/XverseWalletAdapter.impl-CZO0RQva.mjs.map +1 -0
  43. package/lib/XverseWalletAdapter.impl-lJwMi-Iv.js +2 -0
  44. package/lib/XverseWalletAdapter.impl-lJwMi-Iv.js.map +1 -0
  45. package/lib/adapters/BitgetWalletAdapter.d.ts +2 -0
  46. package/lib/adapters/BitgetWalletAdapter.impl.d.ts +8 -0
  47. package/lib/adapters/LeatherWalletAdapter.d.ts +2 -0
  48. package/lib/adapters/LeatherWalletAdapter.impl.d.ts +41 -0
  49. package/lib/adapters/MagicEdenWalletAdapter.d.ts +11 -0
  50. package/lib/adapters/MagicEdenWalletAdapter.impl.d.ts +22 -0
  51. package/lib/adapters/MockAddressWalletAdapter.d.ts +33 -0
  52. package/lib/adapters/OkxWalletAdapter.d.ts +2 -0
  53. package/lib/adapters/OkxWalletAdapter.impl.d.ts +51 -0
  54. package/lib/adapters/UnisatWalletAdapter.d.ts +2 -0
  55. package/lib/adapters/UnisatWalletAdapter.impl.d.ts +14 -0
  56. package/lib/adapters/XverseWalletAdapter.d.ts +3 -0
  57. package/lib/adapters/XverseWalletAdapter.impl.d.ts +14 -0
  58. package/lib/adapters/index.d.ts +7 -0
  59. package/lib/adapters.js +2 -0
  60. package/lib/adapters.js.map +1 -0
  61. package/lib/adapters.mjs +11 -0
  62. package/lib/adapters.mjs.map +1 -0
  63. package/lib/bitget-C7oB4Ffq.mjs +5 -0
  64. package/lib/bitget-C7oB4Ffq.mjs.map +1 -0
  65. package/lib/bitget-DXnsxx_y.js +2 -0
  66. package/lib/bitget-DXnsxx_y.js.map +1 -0
  67. package/lib/index-CaV3F1Nm.js +424 -0
  68. package/lib/index-CaV3F1Nm.js.map +1 -0
  69. package/lib/index-CcQUdePc.mjs +12224 -0
  70. package/lib/index-CcQUdePc.mjs.map +1 -0
  71. package/lib/index-D7YwhNAG.mjs +3946 -0
  72. package/lib/index-D7YwhNAG.mjs.map +1 -0
  73. package/lib/index-Zx0KcpYx.js +2 -0
  74. package/lib/index-Zx0KcpYx.js.map +1 -0
  75. package/lib/index.d.ts +3 -0
  76. package/lib/index.js +2 -0
  77. package/lib/index.js.map +1 -0
  78. package/lib/index.mjs +20 -0
  79. package/lib/index.mjs.map +1 -0
  80. package/lib/leather-BoQG_CPn.mjs +5 -0
  81. package/lib/leather-BoQG_CPn.mjs.map +1 -0
  82. package/lib/leather-DJ8nWmM8.js +2 -0
  83. package/lib/leather-DJ8nWmM8.js.map +1 -0
  84. package/lib/magiceden-B36CEQa6.js +2 -0
  85. package/lib/magiceden-B36CEQa6.js.map +1 -0
  86. package/lib/magiceden-Cg7d3agI.mjs +5 -0
  87. package/lib/magiceden-Cg7d3agI.mjs.map +1 -0
  88. package/lib/misc-B5EWO_dn.mjs +10 -0
  89. package/lib/misc-B5EWO_dn.mjs.map +1 -0
  90. package/lib/misc-CigR0RqC.js +2 -0
  91. package/lib/misc-CigR0RqC.js.map +1 -0
  92. package/lib/okx-ChwzM0dK.js +2 -0
  93. package/lib/okx-ChwzM0dK.js.map +1 -0
  94. package/lib/okx-DWbHwazu.mjs +5 -0
  95. package/lib/okx-DWbHwazu.mjs.map +1 -0
  96. package/lib/react.d.ts +2 -0
  97. package/lib/react.js +2 -0
  98. package/lib/react.js.map +1 -0
  99. package/lib/react.mjs +128 -0
  100. package/lib/react.mjs.map +1 -0
  101. package/lib/transaction-CiLOYSE_.mjs +1063 -0
  102. package/lib/transaction-CiLOYSE_.mjs.map +1 -0
  103. package/lib/transaction-CzdnbXSo.js +2 -0
  104. package/lib/transaction-CzdnbXSo.js.map +1 -0
  105. package/lib/unisat-BvZW5h0U.js +2 -0
  106. package/lib/unisat-BvZW5h0U.js.map +1 -0
  107. package/lib/unisat-pLgab4nG.mjs +5 -0
  108. package/lib/unisat-pLgab4nG.mjs.map +1 -0
  109. package/lib/utils/StateChannel.d.ts +14 -0
  110. package/lib/utils/UnisatCompatibleWalletAdapterImpl.d.ts +99 -0
  111. package/lib/utils/XverseCompatibleWalletAdapterImpl.d.ts +80 -0
  112. package/lib/utils/XverseCompatibleWalletAdapterImpl_legacy.d.ts +44 -0
  113. package/lib/utils/bitcoinAddressHelpers.d.ts +14 -0
  114. package/lib/utils/bitcoinNetworkHelpers.d.ts +4 -0
  115. package/lib/utils/createAdapterAvailability.d.ts +15 -0
  116. package/lib/utils/error.d.ts +6 -0
  117. package/lib/utils/misc.d.ts +3 -0
  118. package/lib/xverse-IKOHyGi-.js +2 -0
  119. package/lib/xverse-IKOHyGi-.js.map +1 -0
  120. package/lib/xverse-iHLNanCB.mjs +5 -0
  121. package/lib/xverse-iHLNanCB.mjs.map +1 -0
  122. package/package.json +86 -0
  123. package/src/BitcoinConnectionProvider.stories.tsx +329 -0
  124. package/src/BitcoinConnectionProvider.tsx +234 -0
  125. package/src/BitcoinWalletAdapterConnector.ts +166 -0
  126. package/src/WalletAdapters.types.ts +154 -0
  127. package/src/_/bitget.png +0 -0
  128. package/src/_/leather.svg +4 -0
  129. package/src/_/magiceden.png +0 -0
  130. package/src/_/okx.png +0 -0
  131. package/src/_/unisat.svg +31 -0
  132. package/src/_/xverse.png +0 -0
  133. package/src/adapters/BitgetWalletAdapter.impl.ts +22 -0
  134. package/src/adapters/BitgetWalletAdapter.ts +44 -0
  135. package/src/adapters/LeatherWalletAdapter.impl.ts +324 -0
  136. package/src/adapters/LeatherWalletAdapter.ts +35 -0
  137. package/src/adapters/MagicEdenWalletAdapter.impl.ts +139 -0
  138. package/src/adapters/MagicEdenWalletAdapter.ts +51 -0
  139. package/src/adapters/MockAddressWalletAdapter.ts +199 -0
  140. package/src/adapters/OkxWalletAdapter.impl.ts +168 -0
  141. package/src/adapters/OkxWalletAdapter.ts +37 -0
  142. package/src/adapters/UnisatWalletAdapter.impl.ts +32 -0
  143. package/src/adapters/UnisatWalletAdapter.ts +50 -0
  144. package/src/adapters/XverseWalletAdapter.impl.ts +150 -0
  145. package/src/adapters/XverseWalletAdapter.ts +37 -0
  146. package/src/adapters/index.ts +7 -0
  147. package/src/env.d.ts +9 -0
  148. package/src/index.ts +3 -0
  149. package/src/react.ts +9 -0
  150. package/src/utils/StateChannel.ts +39 -0
  151. package/src/utils/UnisatCompatibleWalletAdapterImpl.ts +342 -0
  152. package/src/utils/XverseCompatibleWalletAdapterImpl.ts +288 -0
  153. package/src/utils/XverseCompatibleWalletAdapterImpl_legacy.ts +278 -0
  154. package/src/utils/bitcoinAddressHelpers.ts +132 -0
  155. package/src/utils/bitcoinNetworkHelpers.ts +17 -0
  156. package/src/utils/createAdapterAvailability.ts +92 -0
  157. package/src/utils/error.ts +13 -0
  158. package/src/utils/misc.ts +10 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs","sources":["../src/utils/XverseCompatibleWalletAdapterImpl.ts"],"sourcesContent":["import { base64, hex } from \"@scure/base\"\nimport * as btc from \"@scure/btc-signer\"\nimport { UserRejectError } from \"../utils/error\"\nimport {\n SignMessageAlgorithm,\n SignMessageResult,\n WalletAdapter,\n WalletAdapter_onAddressesChanged_callback,\n WalletAdapterAddress,\n WalletAdapterAddressPurpose,\n WalletAdapterNotConnectedError,\n} from \"../WalletAdapters.types\"\n\nexport type XverseCompatibleWalletAdapterGetProviderIdFn = () => Promise<string>\n\nexport type XverseCompatibleWalletAdapterParsedAddressesFn = (info: {\n sdk: typeof import(\"sats-connect\")\n network: import(\"sats-connect\").BitcoinNetworkType\n addresses: import(\"sats-connect\").Address[]\n}) => Promise<XverseCompatibleWalletAdapterImplAddress[]>\n\nexport type XverseCompatibleWalletAdapterImplAddress = WalletAdapterAddress & {\n publicKey: string\n}\n\nexport class XverseCompatibleWalletAdapterImpl implements WalletAdapter {\n protected readonly walletDisplayName: string\n protected readonly getProviderId: XverseCompatibleWalletAdapterGetProviderIdFn\n protected readonly parseAddresses: XverseCompatibleWalletAdapterParsedAddressesFn\n\n constructor(info: {\n walletDisplayName: string\n getProviderId: XverseCompatibleWalletAdapterGetProviderIdFn\n parseAddresses: XverseCompatibleWalletAdapterParsedAddressesFn\n }) {\n this.walletDisplayName = info.walletDisplayName\n this.getProviderId = info.getProviderId\n this.parseAddresses = info.parseAddresses\n }\n\n private async getSdk(): Promise<typeof import(\"sats-connect\")> {\n return import(\"sats-connect\")\n }\n\n async connect(): Promise<void> {\n await (await this.getSdk()).request(\"wallet_connect\", null)\n }\n\n async disconnect(): Promise<void> {\n return Promise.resolve()\n }\n\n async getAddresses(): Promise<XverseCompatibleWalletAdapterImplAddress[]> {\n const sdk = await this.getSdk()\n\n const resp = await handleRpcError(\n sdk.request(\n \"getAddresses\",\n {\n purposes: [sdk.AddressPurpose.Ordinals, sdk.AddressPurpose.Payment],\n },\n await this.getProviderId(),\n ),\n )\n\n if (resp == null) {\n throw new WalletAdapterNotConnectedError(this.walletDisplayName)\n }\n\n return this.parseAddresses({\n sdk,\n network: resp.network.bitcoin.name,\n addresses: resp.addresses,\n })\n }\n\n async signMessage(\n address: string,\n message: string,\n ): Promise<SignMessageResult> {\n const sdk = await this.getSdk()\n\n const result = await handleRpcError(\n sdk.request(\n \"signMessage\",\n {\n address,\n message,\n protocol: sdk.MessageSigningProtocols.BIP322,\n },\n await this.getProviderId(),\n ),\n )\n\n return {\n result: result.signature,\n address,\n algorithm: SignMessageAlgorithm.BIP322,\n }\n }\n\n sendBitcoinFeeRateCapability = \"unavailable\" as const\n async sendBitcoin(\n fromAddress: string,\n receiverAddress: string,\n satoshiAmount: bigint,\n ): Promise<{ txid: string }> {\n const senderAddress = (await this.getAddresses()).find(a =>\n a.purposes.includes(WalletAdapterAddressPurpose.Bitcoin),\n )\n if (senderAddress == null) {\n throw new XverseCompatibleProviderError({\n code: XverseRpcErrorCode.INVALID_PARAMS,\n message: \"Bitcoin address not found\",\n })\n }\n\n const sdk = await this.getSdk()\n\n return await handleRpcError(\n sdk.request(\n \"sendTransfer\",\n {\n recipients: [\n {\n address: receiverAddress,\n amount: Number(satoshiAmount),\n },\n ],\n },\n await this.getProviderId(),\n ),\n )\n }\n\n sendInscriptionFeeRateCapability = \"unavailable\" as const\n\n async signAndFinalizePsbt(\n psbtHex: string,\n signIndices: [address: string, signIndex: number][],\n ): Promise<{\n signedPsbtHex: string\n }> {\n const sdk = await this.getSdk()\n\n const psbtBase64 = base64.encode(hex.decode(psbtHex))\n\n const result = await handleRpcError(\n sdk.request(\n \"signPsbt\",\n {\n psbt: psbtBase64,\n signInputs: signIndices.reduce(\n (acc, [address, signIndex]) => {\n acc[address] = [signIndex]\n return acc\n },\n {} as Record<string, number[]>,\n ),\n broadcast: false,\n },\n await this.getProviderId(),\n ),\n )\n\n const tx = btc.Transaction.fromPSBT(base64.decode(result.psbt), {\n allowUnknownInputs: true,\n allowUnknownOutputs: true,\n disableScriptCheck: true,\n allowLegacyWitnessUtxo: true,\n })\n tx.finalize()\n\n return { signedPsbtHex: hex.encode(tx.toPSBT()) }\n }\n\n onAddressesChanged(callback: WalletAdapter_onAddressesChanged_callback): {\n unsubscribe: () => void\n } {\n // Xverse uses sats-connect Wallet.addListener for events\n // https://docs.xverse.app/sats-connect/xverse-wallet-events\n const removeListeners: Array<() => void> = []\n\n void (async () => {\n const sdk = await this.getSdk()\n\n const handler = async (): Promise<void> => {\n try {\n const addresses = await this.getAddresses()\n callback({ addresses })\n } catch (error) {\n console.warn(\n `[${this.walletDisplayName}] Failed to get addresses on change:`,\n error,\n )\n }\n }\n\n // Listen to account and network changes\n const removeAccountListener = sdk.addListener(\"accountChange\", handler)\n const removeNetworkListener = sdk.addListener(\"networkChange\", handler)\n\n removeListeners.push(removeAccountListener, removeNetworkListener)\n })()\n\n return {\n unsubscribe: () => {\n removeListeners.forEach(remove => remove())\n },\n }\n }\n}\n\nexport enum XverseRpcErrorCode {\n /**\n * Parse error Invalid JSON\n **/\n PARSE_ERROR = -32700,\n /**\n * The JSON sent is not a valid Request object.\n **/\n INVALID_REQUEST = -32600,\n /**\n * The method does not exist/is not available.\n **/\n METHOD_NOT_FOUND = -32601,\n /**\n * Invalid method parameter(s).\n */\n INVALID_PARAMS = -32602,\n /**\n * Internal JSON-RPC error.\n * This is a generic error, used when the server encounters an error in performing the request.\n **/\n INTERNAL_ERROR = -32603,\n /**\n * user rejected/canceled the request\n */\n USER_REJECTION = -32000,\n /**\n * method is not supported for the address provided\n */\n METHOD_NOT_SUPPORTED = -32001,\n /**\n * The client does not have permission to access the requested resource.\n */\n ACCESS_DENIED = -32002,\n}\nexport interface XverseCompatibleProviderAPIThrownError {\n code: XverseRpcErrorCode\n message: string\n}\nexport function isXverseCompatibleProviderAPIThrownError(\n err: any,\n): err is XverseCompatibleProviderAPIThrownError {\n return err != null && \"code\" in err && \"message\" in err\n}\n\nexport class XverseCompatibleProviderError extends Error {\n readonly code: number\n constructor(err: XverseCompatibleProviderAPIThrownError) {\n super(err.message)\n this.code = err.code\n this.cause = err\n }\n}\n\nconst handleRpcError = async <T>(\n promise: Promise<\n { status: \"success\"; result: T } | { status: \"error\"; error: unknown }\n >,\n): Promise<T> => {\n try {\n const res = await promise\n if (res.status === \"error\") {\n throw res.error\n }\n return res.result\n } catch (e: any) {\n if (isXverseCompatibleProviderAPIThrownError(e)) {\n if (e.code === XverseRpcErrorCode.USER_REJECTION) {\n throw new UserRejectError()\n }\n throw new XverseCompatibleProviderError(e)\n }\n throw e\n }\n}\n"],"names":["XverseCompatibleWalletAdapterImpl","info","sdk","resp","handleRpcError","WalletAdapterNotConnectedError","address","message","SignMessageAlgorithm","fromAddress","receiverAddress","satoshiAmount","a","WalletAdapterAddressPurpose","XverseCompatibleProviderError","psbtHex","signIndices","psbtBase64","base64","hex","result","acc","signIndex","tx","btc.Transaction","callback","removeListeners","handler","addresses","error","removeAccountListener","removeNetworkListener","remove","XverseRpcErrorCode","isXverseCompatibleProviderAPIThrownError","err","promise","res","e","UserRejectError"],"mappings":";;;AAyBO,MAAMA,EAA2D;AAAA,EACnD;AAAA,EACA;AAAA,EACA;AAAA,EAEnB,YAAYC,GAIT;AACD,SAAK,oBAAoBA,EAAK,mBAC9B,KAAK,gBAAgBA,EAAK,eAC1B,KAAK,iBAAiBA,EAAK;AAAA,EAC7B;AAAA,EAEA,MAAc,SAAiD;AAC7D,WAAO,OAAO,sBAAc;AAAA,EAC9B;AAAA,EAEA,MAAM,UAAyB;AAC7B,WAAO,MAAM,KAAK,OAAA,GAAU,QAAQ,kBAAkB,IAAI;AAAA,EAC5D;AAAA,EAEA,MAAM,aAA4B;AAChC,WAAO,QAAQ,QAAA;AAAA,EACjB;AAAA,EAEA,MAAM,eAAoE;AACxE,UAAMC,IAAM,MAAM,KAAK,OAAA,GAEjBC,IAAO,MAAMC;AAAA,MACjBF,EAAI;AAAA,QACF;AAAA,QACA;AAAA,UACE,UAAU,CAACA,EAAI,eAAe,UAAUA,EAAI,eAAe,OAAO;AAAA,QAAA;AAAA,QAEpE,MAAM,KAAK,cAAA;AAAA,MAAc;AAAA,IAC3B;AAGF,QAAIC,KAAQ;AACV,YAAM,IAAIE,EAA+B,KAAK,iBAAiB;AAGjE,WAAO,KAAK,eAAe;AAAA,MACzB,KAAAH;AAAA,MACA,SAASC,EAAK,QAAQ,QAAQ;AAAA,MAC9B,WAAWA,EAAK;AAAA,IAAA,CACjB;AAAA,EACH;AAAA,EAEA,MAAM,YACJG,GACAC,GAC4B;AAC5B,UAAML,IAAM,MAAM,KAAK,OAAA;AAcvB,WAAO;AAAA,MACL,SAba,MAAME;AAAA,QACnBF,EAAI;AAAA,UACF;AAAA,UACA;AAAA,YACE,SAAAI;AAAA,YACA,SAAAC;AAAA,YACA,UAAUL,EAAI,wBAAwB;AAAA,UAAA;AAAA,UAExC,MAAM,KAAK,cAAA;AAAA,QAAc;AAAA,MAC3B,GAIe;AAAA,MACf,SAAAI;AAAA,MACA,WAAWE,EAAqB;AAAA,IAAA;AAAA,EAEpC;AAAA,EAEA,+BAA+B;AAAA,EAC/B,MAAM,YACJC,GACAC,GACAC,GAC2B;AAI3B,SAHuB,MAAM,KAAK,aAAA,GAAgB;AAAA,MAAK,CAAAC,MACrDA,EAAE,SAAS,SAASC,EAA4B,OAAO;AAAA,IAAA,KAEpC;AACnB,YAAM,IAAIC,EAA8B;AAAA,QACtC,MAAM;AAAA,QACN,SAAS;AAAA,MAAA,CACV;AAGH,UAAMZ,IAAM,MAAM,KAAK,OAAA;AAEvB,WAAO,MAAME;AAAA,MACXF,EAAI;AAAA,QACF;AAAA,QACA;AAAA,UACE,YAAY;AAAA,YACV;AAAA,cACE,SAASQ;AAAA,cACT,QAAQ,OAAOC,CAAa;AAAA,YAAA;AAAA,UAC9B;AAAA,QACF;AAAA,QAEF,MAAM,KAAK,cAAA;AAAA,MAAc;AAAA,IAC3B;AAAA,EAEJ;AAAA,EAEA,mCAAmC;AAAA,EAEnC,MAAM,oBACJI,GACAC,GAGC;AACD,UAAMd,IAAM,MAAM,KAAK,OAAA,GAEjBe,IAAaC,EAAO,OAAOC,EAAI,OAAOJ,CAAO,CAAC,GAE9CK,IAAS,MAAMhB;AAAA,MACnBF,EAAI;AAAA,QACF;AAAA,QACA;AAAA,UACE,MAAMe;AAAA,UACN,YAAYD,EAAY;AAAA,YACtB,CAACK,GAAK,CAACf,GAASgB,CAAS,OACvBD,EAAIf,CAAO,IAAI,CAACgB,CAAS,GAClBD;AAAA,YAET,CAAA;AAAA,UAAC;AAAA,UAEH,WAAW;AAAA,QAAA;AAAA,QAEb,MAAM,KAAK,cAAA;AAAA,MAAc;AAAA,IAC3B,GAGIE,IAAKC,EAAgB,SAASN,EAAO,OAAOE,EAAO,IAAI,GAAG;AAAA,MAC9D,oBAAoB;AAAA,MACpB,qBAAqB;AAAA,MACrB,oBAAoB;AAAA,MACpB,wBAAwB;AAAA,IAAA,CACzB;AACD,WAAAG,EAAG,SAAA,GAEI,EAAE,eAAeJ,EAAI,OAAOI,EAAG,OAAA,CAAQ,EAAA;AAAA,EAChD;AAAA,EAEA,mBAAmBE,GAEjB;AAGA,UAAMC,IAAqC,CAAA;AAE3C,YAAM,YAAY;AAChB,YAAMxB,IAAM,MAAM,KAAK,OAAA,GAEjByB,IAAU,YAA2B;AACzC,YAAI;AACF,gBAAMC,IAAY,MAAM,KAAK,aAAA;AAC7B,UAAAH,EAAS,EAAE,WAAAG,GAAW;AAAA,QACxB,SAASC,GAAO;AACd,kBAAQ;AAAA,YACN,IAAI,KAAK,iBAAiB;AAAA,YAC1BA;AAAA,UAAA;AAAA,QAEJ;AAAA,MACF,GAGMC,IAAwB5B,EAAI,YAAY,iBAAiByB,CAAO,GAChEI,IAAwB7B,EAAI,YAAY,iBAAiByB,CAAO;AAEtE,MAAAD,EAAgB,KAAKI,GAAuBC,CAAqB;AAAA,IACnE,GAAA,GAEO;AAAA,MACL,aAAa,MAAM;AACjB,QAAAL,EAAgB,QAAQ,CAAAM,MAAUA,EAAA,CAAQ;AAAA,MAC5C;AAAA,IAAA;AAAA,EAEJ;AACF;AAEO,IAAKC,sBAAAA,OAIVA,EAAAA,EAAA,cAAc,MAAA,IAAd,eAIAA,EAAAA,EAAA,kBAAkB,MAAA,IAAlB,mBAIAA,EAAAA,EAAA,mBAAmB,MAAA,IAAnB,oBAIAA,EAAAA,EAAA,iBAAiB,MAAA,IAAjB,kBAKAA,EAAAA,EAAA,iBAAiB,MAAA,IAAjB,kBAIAA,EAAAA,EAAA,iBAAiB,KAAA,IAAjB,kBAIAA,EAAAA,EAAA,uBAAuB,MAAA,IAAvB,wBAIAA,EAAAA,EAAA,gBAAgB,MAAA,IAAhB,iBAjCUA,IAAAA,KAAA,CAAA,CAAA;AAuCL,SAASC,EACdC,GAC+C;AAC/C,SAAOA,KAAO,QAAQ,UAAUA,KAAO,aAAaA;AACtD;AAEO,MAAMrB,UAAsC,MAAM;AAAA,EAC9C;AAAA,EACT,YAAYqB,GAA6C;AACvD,UAAMA,EAAI,OAAO,GACjB,KAAK,OAAOA,EAAI,MAChB,KAAK,QAAQA;AAAA,EACf;AACF;AAEA,MAAM/B,IAAiB,OACrBgC,MAGe;AACf,MAAI;AACF,UAAMC,IAAM,MAAMD;AAClB,QAAIC,EAAI,WAAW;AACjB,YAAMA,EAAI;AAEZ,WAAOA,EAAI;AAAA,EACb,SAASC,GAAQ;AACf,UAAIJ,EAAyCI,CAAC,IACxCA,EAAE,SAAS,QACP,IAAIC,EAAA,IAEN,IAAIzB,EAA8BwB,CAAC,IAErCA;AAAA,EACR;AACF;"}
@@ -0,0 +1,105 @@
1
+ import { b as l, h as o, c as T, e as K, f as N } from "./index-D7YwhNAG.mjs";
2
+ import { c as A } from "./misc-B5EWO_dn.mjs";
3
+ import { W as r, a as c, b as n } from "./WalletAdapters.types-CnvOqHFH.mjs";
4
+ import { X as b } from "./XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs";
5
+ class B extends b {
6
+ constructor() {
7
+ super({
8
+ walletDisplayName: "Xverse",
9
+ getProviderId: async () => N,
10
+ parseAddresses: async ({ sdk: e, network: p, addresses: u }) => {
11
+ const d = p === e.BitcoinNetworkType.Mainnet ? r.MAINNET : p === e.BitcoinNetworkType.Testnet ? r.TESTNET : p === e.BitcoinNetworkType.Testnet4 ? r.TESTNET : p === e.BitcoinNetworkType.Signet ? r.UNKNOWN : p === e.BitcoinNetworkType.Regtest ? r.UNKNOWN : r.UNKNOWN, y = l(
12
+ d === r.MAINNET ? "mainnet" : "testnet"
13
+ );
14
+ return u.flatMap((s) => {
15
+ const t = [];
16
+ switch (s.purpose) {
17
+ case e.AddressPurpose.Ordinals:
18
+ t.push(
19
+ c.Ordinals,
20
+ c.BRC20,
21
+ c.Runes
22
+ );
23
+ break;
24
+ case e.AddressPurpose.Payment:
25
+ t.push(c.Bitcoin);
26
+ break;
27
+ }
28
+ const a = o.encode(
29
+ T(y, s.address)
30
+ );
31
+ switch (s.addressType) {
32
+ case e.AddressType.stacks:
33
+ return [];
34
+ case e.AddressType.p2pkh:
35
+ return [
36
+ {
37
+ purposes: t,
38
+ network: d,
39
+ addressType: n.P2PKH,
40
+ address: s.address,
41
+ scriptPubKey: a,
42
+ publicKey: s.publicKey
43
+ }
44
+ ];
45
+ case e.AddressType.p2wpkh:
46
+ return [
47
+ {
48
+ purposes: t,
49
+ network: d,
50
+ addressType: n.P2WPKH,
51
+ address: s.address,
52
+ scriptPubKey: a,
53
+ publicKey: s.publicKey
54
+ }
55
+ ];
56
+ case e.AddressType.p2tr: {
57
+ const i = s.publicKey;
58
+ return [
59
+ {
60
+ purposes: t,
61
+ network: d,
62
+ addressType: n.P2TR,
63
+ address: s.address,
64
+ scriptPubKey: a,
65
+ publicKey: s.publicKey,
66
+ tapInternalKey: i
67
+ }
68
+ ];
69
+ }
70
+ case e.AddressType.p2sh: {
71
+ const i = o.encode(
72
+ K(
73
+ y,
74
+ o.decode(s.publicKey)
75
+ )
76
+ );
77
+ return [
78
+ {
79
+ purposes: t,
80
+ network: d,
81
+ addressType: n.P2SH_P2WPKH,
82
+ address: s.address,
83
+ scriptPubKey: a,
84
+ publicKey: s.publicKey,
85
+ redeemScript: i
86
+ }
87
+ ];
88
+ }
89
+ case e.AddressType.p2wsh:
90
+ return [];
91
+ case e.AddressType.starknet:
92
+ case e.AddressType.spark:
93
+ return [];
94
+ default:
95
+ return A(s.addressType), [];
96
+ }
97
+ });
98
+ }
99
+ });
100
+ }
101
+ }
102
+ export {
103
+ B as XverseWalletAdapterImpl
104
+ };
105
+ //# sourceMappingURL=XverseWalletAdapter.impl-CZO0RQva.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XverseWalletAdapter.impl-CZO0RQva.mjs","sources":["../src/adapters/XverseWalletAdapter.impl.ts"],"sourcesContent":["import { hex } from \"@scure/base\"\nimport {\n addressToScriptPubKey,\n getRedeemScriptOf_P2SH_P2WPKH_publicKey,\n} from \"../utils/bitcoinAddressHelpers\"\nimport { getBitcoinNetwork } from \"../utils/bitcoinNetworkHelpers\"\nimport { checkNever } from \"../utils/misc\"\nimport {\n WalletAdapter,\n WalletAdapterAddressPurpose,\n WalletAdapterAddressType,\n WalletAdapterBitcoinNetwork,\n} from \"../WalletAdapters.types\"\nimport {\n XverseCompatibleWalletAdapterImpl,\n XverseCompatibleWalletAdapterImplAddress,\n} from \"../utils/XverseCompatibleWalletAdapterImpl\"\nimport { XVERSE_PROVIDER_ID } from \"./XverseWalletAdapter\"\n\ndeclare global {\n interface Window {\n btc_providers?: import(\"sats-connect\").Provider[]\n }\n}\n\nexport type XverseWalletAdapterAddresses =\n XverseCompatibleWalletAdapterImplAddress\n\n/**\n * Derivation path (BIP-49): m/49'/0'/0'/0/ address_index\n */\n\nexport class XverseWalletAdapterImpl\n extends XverseCompatibleWalletAdapterImpl\n implements WalletAdapter\n{\n constructor() {\n super({\n walletDisplayName: \"Xverse\",\n getProviderId: async () => {\n return XVERSE_PROVIDER_ID\n },\n parseAddresses: async ({ sdk, network: xverseNetwork, addresses }) => {\n // prettier-ignore\n const network =\n xverseNetwork === sdk.BitcoinNetworkType.Mainnet ? WalletAdapterBitcoinNetwork.MAINNET :\n xverseNetwork === sdk.BitcoinNetworkType.Testnet ? WalletAdapterBitcoinNetwork.TESTNET :\n xverseNetwork === sdk.BitcoinNetworkType.Testnet4 ? WalletAdapterBitcoinNetwork.TESTNET :\n xverseNetwork === sdk.BitcoinNetworkType.Signet ? WalletAdapterBitcoinNetwork.UNKNOWN :\n xverseNetwork === sdk.BitcoinNetworkType.Regtest ? WalletAdapterBitcoinNetwork.UNKNOWN :\n (checkNever(xverseNetwork), WalletAdapterBitcoinNetwork.UNKNOWN)\n\n const bitcoinNetwork = getBitcoinNetwork(\n network === WalletAdapterBitcoinNetwork.MAINNET\n ? \"mainnet\"\n : \"testnet\",\n )\n\n return addresses.flatMap((a): XverseWalletAdapterAddresses[] => {\n const purposes: WalletAdapterAddressPurpose[] = []\n switch (a.purpose) {\n case sdk.AddressPurpose.Ordinals:\n purposes.push(\n WalletAdapterAddressPurpose.Ordinals,\n WalletAdapterAddressPurpose.BRC20,\n WalletAdapterAddressPurpose.Runes,\n )\n break\n case sdk.AddressPurpose.Payment:\n purposes.push(WalletAdapterAddressPurpose.Bitcoin)\n break\n }\n\n const scriptPubKey = hex.encode(\n addressToScriptPubKey(bitcoinNetwork, a.address),\n )\n\n switch (a.addressType) {\n case sdk.AddressType.stacks:\n return []\n case sdk.AddressType.p2pkh:\n return [\n {\n purposes,\n network,\n addressType: WalletAdapterAddressType.P2PKH,\n address: a.address,\n scriptPubKey,\n publicKey: a.publicKey,\n },\n ]\n case sdk.AddressType.p2wpkh:\n return [\n {\n purposes,\n network,\n addressType: WalletAdapterAddressType.P2WPKH,\n address: a.address,\n scriptPubKey,\n publicKey: a.publicKey,\n },\n ]\n case sdk.AddressType.p2tr: {\n const tapInternalKey: string = a.publicKey\n return [\n {\n purposes,\n network,\n addressType: WalletAdapterAddressType.P2TR,\n address: a.address,\n scriptPubKey,\n publicKey: a.publicKey,\n tapInternalKey,\n },\n ]\n }\n case sdk.AddressType.p2sh: {\n const redeemScript = hex.encode(\n getRedeemScriptOf_P2SH_P2WPKH_publicKey(\n bitcoinNetwork,\n hex.decode(a.publicKey),\n ),\n )\n return [\n {\n purposes,\n network,\n addressType: WalletAdapterAddressType.P2SH_P2WPKH,\n address: a.address,\n scriptPubKey,\n publicKey: a.publicKey,\n redeemScript,\n },\n ]\n }\n case sdk.AddressType.p2wsh:\n // not supported\n return []\n case sdk.AddressType.starknet:\n case sdk.AddressType.spark:\n return []\n default:\n checkNever(a.addressType)\n return []\n }\n })\n },\n })\n }\n}\n"],"names":["XverseWalletAdapterImpl","XverseCompatibleWalletAdapterImpl","XVERSE_PROVIDER_ID","sdk","xverseNetwork","addresses","network","WalletAdapterBitcoinNetwork","bitcoinNetwork","getBitcoinNetwork","a","purposes","WalletAdapterAddressPurpose","scriptPubKey","hex","addressToScriptPubKey","WalletAdapterAddressType","tapInternalKey","redeemScript","getRedeemScriptOf_P2SH_P2WPKH_publicKey","checkNever"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./index-Zx0KcpYx.js"),o=require("./misc-CigR0RqC.js"),t=require("./WalletAdapters.types-De_x1lzr.js"),u=require("./XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js");class y extends u.XverseCompatibleWalletAdapterImpl{constructor(){super({walletDisplayName:"Xverse",getProviderId:async()=>s.XVERSE_PROVIDER_ID,parseAddresses:async({sdk:e,network:d,addresses:n})=>{const a=d===e.BitcoinNetworkType.Mainnet?t.WalletAdapterBitcoinNetwork.MAINNET:d===e.BitcoinNetworkType.Testnet||d===e.BitcoinNetworkType.Testnet4?t.WalletAdapterBitcoinNetwork.TESTNET:(d===e.BitcoinNetworkType.Signet||d===e.BitcoinNetworkType.Regtest,t.WalletAdapterBitcoinNetwork.UNKNOWN),i=s.getBitcoinNetwork(a===t.WalletAdapterBitcoinNetwork.MAINNET?"mainnet":"testnet");return n.flatMap(r=>{const p=[];switch(r.purpose){case e.AddressPurpose.Ordinals:p.push(t.WalletAdapterAddressPurpose.Ordinals,t.WalletAdapterAddressPurpose.BRC20,t.WalletAdapterAddressPurpose.Runes);break;case e.AddressPurpose.Payment:p.push(t.WalletAdapterAddressPurpose.Bitcoin);break}const l=s.hex.encode(s.addressToScriptPubKey(i,r.address));switch(r.addressType){case e.AddressType.stacks:return[];case e.AddressType.p2pkh:return[{purposes:p,network:a,addressType:t.WalletAdapterAddressType.P2PKH,address:r.address,scriptPubKey:l,publicKey:r.publicKey}];case e.AddressType.p2wpkh:return[{purposes:p,network:a,addressType:t.WalletAdapterAddressType.P2WPKH,address:r.address,scriptPubKey:l,publicKey:r.publicKey}];case e.AddressType.p2tr:{const c=r.publicKey;return[{purposes:p,network:a,addressType:t.WalletAdapterAddressType.P2TR,address:r.address,scriptPubKey:l,publicKey:r.publicKey,tapInternalKey:c}]}case e.AddressType.p2sh:{const c=s.hex.encode(s.getRedeemScriptOf_P2SH_P2WPKH_publicKey(i,s.hex.decode(r.publicKey)));return[{purposes:p,network:a,addressType:t.WalletAdapterAddressType.P2SH_P2WPKH,address:r.address,scriptPubKey:l,publicKey:r.publicKey,redeemScript:c}]}case e.AddressType.p2wsh:return[];case e.AddressType.starknet:case e.AddressType.spark:return[];default:return o.checkNever(r.addressType),[]}})}})}}exports.XverseWalletAdapterImpl=y;
2
+ //# sourceMappingURL=XverseWalletAdapter.impl-lJwMi-Iv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XverseWalletAdapter.impl-lJwMi-Iv.js","sources":["../src/adapters/XverseWalletAdapter.impl.ts"],"sourcesContent":["import { hex } from \"@scure/base\"\nimport {\n addressToScriptPubKey,\n getRedeemScriptOf_P2SH_P2WPKH_publicKey,\n} from \"../utils/bitcoinAddressHelpers\"\nimport { getBitcoinNetwork } from \"../utils/bitcoinNetworkHelpers\"\nimport { checkNever } from \"../utils/misc\"\nimport {\n WalletAdapter,\n WalletAdapterAddressPurpose,\n WalletAdapterAddressType,\n WalletAdapterBitcoinNetwork,\n} from \"../WalletAdapters.types\"\nimport {\n XverseCompatibleWalletAdapterImpl,\n XverseCompatibleWalletAdapterImplAddress,\n} from \"../utils/XverseCompatibleWalletAdapterImpl\"\nimport { XVERSE_PROVIDER_ID } from \"./XverseWalletAdapter\"\n\ndeclare global {\n interface Window {\n btc_providers?: import(\"sats-connect\").Provider[]\n }\n}\n\nexport type XverseWalletAdapterAddresses =\n XverseCompatibleWalletAdapterImplAddress\n\n/**\n * Derivation path (BIP-49): m/49'/0'/0'/0/ address_index\n */\n\nexport class XverseWalletAdapterImpl\n extends XverseCompatibleWalletAdapterImpl\n implements WalletAdapter\n{\n constructor() {\n super({\n walletDisplayName: \"Xverse\",\n getProviderId: async () => {\n return XVERSE_PROVIDER_ID\n },\n parseAddresses: async ({ sdk, network: xverseNetwork, addresses }) => {\n // prettier-ignore\n const network =\n xverseNetwork === sdk.BitcoinNetworkType.Mainnet ? WalletAdapterBitcoinNetwork.MAINNET :\n xverseNetwork === sdk.BitcoinNetworkType.Testnet ? WalletAdapterBitcoinNetwork.TESTNET :\n xverseNetwork === sdk.BitcoinNetworkType.Testnet4 ? WalletAdapterBitcoinNetwork.TESTNET :\n xverseNetwork === sdk.BitcoinNetworkType.Signet ? WalletAdapterBitcoinNetwork.UNKNOWN :\n xverseNetwork === sdk.BitcoinNetworkType.Regtest ? WalletAdapterBitcoinNetwork.UNKNOWN :\n (checkNever(xverseNetwork), WalletAdapterBitcoinNetwork.UNKNOWN)\n\n const bitcoinNetwork = getBitcoinNetwork(\n network === WalletAdapterBitcoinNetwork.MAINNET\n ? \"mainnet\"\n : \"testnet\",\n )\n\n return addresses.flatMap((a): XverseWalletAdapterAddresses[] => {\n const purposes: WalletAdapterAddressPurpose[] = []\n switch (a.purpose) {\n case sdk.AddressPurpose.Ordinals:\n purposes.push(\n WalletAdapterAddressPurpose.Ordinals,\n WalletAdapterAddressPurpose.BRC20,\n WalletAdapterAddressPurpose.Runes,\n )\n break\n case sdk.AddressPurpose.Payment:\n purposes.push(WalletAdapterAddressPurpose.Bitcoin)\n break\n }\n\n const scriptPubKey = hex.encode(\n addressToScriptPubKey(bitcoinNetwork, a.address),\n )\n\n switch (a.addressType) {\n case sdk.AddressType.stacks:\n return []\n case sdk.AddressType.p2pkh:\n return [\n {\n purposes,\n network,\n addressType: WalletAdapterAddressType.P2PKH,\n address: a.address,\n scriptPubKey,\n publicKey: a.publicKey,\n },\n ]\n case sdk.AddressType.p2wpkh:\n return [\n {\n purposes,\n network,\n addressType: WalletAdapterAddressType.P2WPKH,\n address: a.address,\n scriptPubKey,\n publicKey: a.publicKey,\n },\n ]\n case sdk.AddressType.p2tr: {\n const tapInternalKey: string = a.publicKey\n return [\n {\n purposes,\n network,\n addressType: WalletAdapterAddressType.P2TR,\n address: a.address,\n scriptPubKey,\n publicKey: a.publicKey,\n tapInternalKey,\n },\n ]\n }\n case sdk.AddressType.p2sh: {\n const redeemScript = hex.encode(\n getRedeemScriptOf_P2SH_P2WPKH_publicKey(\n bitcoinNetwork,\n hex.decode(a.publicKey),\n ),\n )\n return [\n {\n purposes,\n network,\n addressType: WalletAdapterAddressType.P2SH_P2WPKH,\n address: a.address,\n scriptPubKey,\n publicKey: a.publicKey,\n redeemScript,\n },\n ]\n }\n case sdk.AddressType.p2wsh:\n // not supported\n return []\n case sdk.AddressType.starknet:\n case sdk.AddressType.spark:\n return []\n default:\n checkNever(a.addressType)\n return []\n }\n })\n },\n })\n }\n}\n"],"names":["XverseWalletAdapterImpl","XverseCompatibleWalletAdapterImpl","XVERSE_PROVIDER_ID","sdk","xverseNetwork","addresses","network","WalletAdapterBitcoinNetwork","bitcoinNetwork","getBitcoinNetwork","a","purposes","WalletAdapterAddressPurpose","scriptPubKey","hex","addressToScriptPubKey","WalletAdapterAddressType","tapInternalKey","redeemScript","getRedeemScriptOf_P2SH_P2WPKH_publicKey","checkNever"],"mappings":"oQAgCO,MAAMA,UACHC,EAAAA,iCAEV,CACE,aAAc,CACZ,MAAM,CACJ,kBAAmB,SACnB,cAAe,SACNC,EAAAA,mBAET,eAAgB,MAAO,CAAE,IAAAC,EAAK,QAASC,EAAe,UAAAC,KAAgB,CAEpE,MAAMC,EACJF,IAAkBD,EAAI,mBAAmB,QAAUI,EAAAA,4BAA4B,QAC/EH,IAAkBD,EAAI,mBAAmB,SACzCC,IAAkBD,EAAI,mBAAmB,SADUI,EAAAA,4BAA4B,SAE/EH,IAAkBD,EAAI,mBAAmB,QACzCC,IAAkBD,EAAI,mBAAmB,QAAUI,EAAAA,4BAA4B,SAG3EC,EAAiBC,EAAAA,kBACrBH,IAAYC,EAAAA,4BAA4B,QACpC,UACA,SAAA,EAGN,OAAOF,EAAU,QAASK,GAAsC,CAC9D,MAAMC,EAA0C,CAAA,EAChD,OAAQD,EAAE,QAAA,CACR,KAAKP,EAAI,eAAe,SACtBQ,EAAS,KACPC,EAAAA,4BAA4B,SAC5BA,EAAAA,4BAA4B,MAC5BA,8BAA4B,KAAA,EAE9B,MACF,KAAKT,EAAI,eAAe,QACtBQ,EAAS,KAAKC,EAAAA,4BAA4B,OAAO,EACjD,KAAA,CAGJ,MAAMC,EAAeC,EAAAA,IAAI,OACvBC,wBAAsBP,EAAgBE,EAAE,OAAO,CAAA,EAGjD,OAAQA,EAAE,YAAA,CACR,KAAKP,EAAI,YAAY,OACnB,MAAO,CAAA,EACT,KAAKA,EAAI,YAAY,MACnB,MAAO,CACL,CACE,SAAAQ,EACA,QAAAL,EACA,YAAaU,EAAAA,yBAAyB,MACtC,QAASN,EAAE,QACX,aAAAG,EACA,UAAWH,EAAE,SAAA,CACf,EAEJ,KAAKP,EAAI,YAAY,OACnB,MAAO,CACL,CACE,SAAAQ,EACA,QAAAL,EACA,YAAaU,EAAAA,yBAAyB,OACtC,QAASN,EAAE,QACX,aAAAG,EACA,UAAWH,EAAE,SAAA,CACf,EAEJ,KAAKP,EAAI,YAAY,KAAM,CACzB,MAAMc,EAAyBP,EAAE,UACjC,MAAO,CACL,CACE,SAAAC,EACA,QAAAL,EACA,YAAaU,EAAAA,yBAAyB,KACtC,QAASN,EAAE,QACX,aAAAG,EACA,UAAWH,EAAE,UACb,eAAAO,CAAA,CACF,CAEJ,CACA,KAAKd,EAAI,YAAY,KAAM,CACzB,MAAMe,EAAeJ,EAAAA,IAAI,OACvBK,EAAAA,wCACEX,EACAM,MAAI,OAAOJ,EAAE,SAAS,CAAA,CACxB,EAEF,MAAO,CACL,CACE,SAAAC,EACA,QAAAL,EACA,YAAaU,EAAAA,yBAAyB,YACtC,QAASN,EAAE,QACX,aAAAG,EACA,UAAWH,EAAE,UACb,aAAAQ,CAAA,CACF,CAEJ,CACA,KAAKf,EAAI,YAAY,MAEnB,MAAO,CAAA,EACT,KAAKA,EAAI,YAAY,SACrB,KAAKA,EAAI,YAAY,MACnB,MAAO,CAAA,EACT,QACEiB,OAAAA,EAAAA,WAAWV,EAAE,WAAW,EACjB,CAAA,CAAC,CAEd,CAAC,CACH,CAAA,CACD,CACH,CACF"}
@@ -0,0 +1,2 @@
1
+ import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
2
+ export declare const BitgetWalletAdapter: WalletAdapterStatic<WalletAdapter>;
@@ -0,0 +1,8 @@
1
+ import { UnisatCompatibleProviderAPI, UnisatCompatibleWalletAdapterImpl } from '../utils/UnisatCompatibleWalletAdapterImpl';
2
+ import { WalletAdapter } from '../WalletAdapters.types';
3
+ /**
4
+ * Derivation path (BIP-44): m/44'/0'/0'/0/ address_index
5
+ */
6
+ export declare class BitgetWalletAdapterImpl extends UnisatCompatibleWalletAdapterImpl implements WalletAdapter {
7
+ constructor(provider: UnisatCompatibleProviderAPI);
8
+ }
@@ -0,0 +1,2 @@
1
+ import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
2
+ export declare const LeatherWalletAdapter: WalletAdapterStatic<WalletAdapter>;
@@ -0,0 +1,41 @@
1
+ import { RequestFn, RpcErrorBody, RpcErrorResponse } from '@leather.io/rpc';
2
+ import { BitcoinWalletAdapterError } from '../utils/error';
3
+ import { SignMessageResult, WalletAdapter, WalletAdapter_onAddressesChanged_callback, WalletAdapterAddress } from '../WalletAdapters.types';
4
+ type Addresses = (WalletAdapterAddress & {
5
+ publicKey: string;
6
+ })[];
7
+ /**
8
+ * Derivation path (BIP-84): m/84'/0'/ account_index '/0/0
9
+ */
10
+ export declare class LeatherWalletAdapterImpl implements WalletAdapter {
11
+ private request;
12
+ constructor(request: RequestFn);
13
+ private readonly walletDisplayName;
14
+ private retrieveConnectedAddress;
15
+ connect(): Promise<void>;
16
+ disconnect(): Promise<void>;
17
+ getAddresses(): Promise<Addresses>;
18
+ signMessage(address: string, message: string): Promise<SignMessageResult>;
19
+ sendBitcoinFeeRateCapability: "required";
20
+ sendBitcoin(fromAddress: string, receiverAddress: string, satoshiAmount: bigint, options?: {
21
+ feeRate?: number;
22
+ }): Promise<{
23
+ txid: string;
24
+ }>;
25
+ sendInscriptionFeeRateCapability: "available";
26
+ sendInscription(fromAddress: string, receiverAddress: string, inscriptionId: string, options?: {
27
+ feeRate?: number;
28
+ }): Promise<{
29
+ txid: string;
30
+ }>;
31
+ signAndFinalizePsbt(psbtHex: string, signIndices: [address: string, signIndex: number][]): Promise<{
32
+ signedPsbtHex: string;
33
+ }>;
34
+ onAddressesChanged(callback: WalletAdapter_onAddressesChanged_callback): {
35
+ unsubscribe: () => void;
36
+ };
37
+ }
38
+ export declare class LeatherWalletAdapterError extends BitcoinWalletAdapterError {
39
+ constructor(rpcError: RpcErrorResponse<RpcErrorBody>);
40
+ }
41
+ export {};
@@ -0,0 +1,11 @@
1
+ import { WalletAdapter, WalletAdapterBitcoinNetwork, WalletAdapterStatic } from '../WalletAdapters.types';
2
+ import { MagicEdenBitcoinProvider } from './MagicEdenWalletAdapter.impl';
3
+ declare global {
4
+ interface Window {
5
+ magicEden?: {
6
+ bitcoin?: MagicEdenBitcoinProvider;
7
+ };
8
+ }
9
+ }
10
+ export declare const MAGICEDEN_PROVIDER_ID = "magiceden.bitcoin";
11
+ export declare const MagicEdenWalletAdapterFactory: (network: WalletAdapterBitcoinNetwork) => WalletAdapterStatic<WalletAdapter>;
@@ -0,0 +1,22 @@
1
+ import { WalletAdapter, WalletAdapter_onAddressesChanged_callback, WalletAdapterBitcoinNetwork } from '../WalletAdapters.types';
2
+ import { XverseCompatibleWalletAdapterImpl_legacy } from '../utils/XverseCompatibleWalletAdapterImpl_legacy';
3
+ interface MagicEdenBitcoinProviderEvents {
4
+ accountsChanged: [
5
+ event: {
6
+ accounts: import('sats-connect').GetAddressResponse["addresses"];
7
+ }
8
+ ];
9
+ }
10
+ export interface MagicEdenBitcoinProvider {
11
+ isMagicEden: boolean;
12
+ on: <K extends keyof MagicEdenBitcoinProviderEvents>(event: K, handler: (...args: MagicEdenBitcoinProviderEvents[K]) => void) => void;
13
+ removeListener: <K extends keyof MagicEdenBitcoinProviderEvents>(event: K, handler: (...args: MagicEdenBitcoinProviderEvents[K]) => void) => void;
14
+ }
15
+ export declare class MagicEdenWalletAdapterImpl extends XverseCompatibleWalletAdapterImpl_legacy implements WalletAdapter {
16
+ private magicEden;
17
+ constructor(network: WalletAdapterBitcoinNetwork, provider: MagicEdenBitcoinProvider);
18
+ onAddressesChanged(callback: WalletAdapter_onAddressesChanged_callback): {
19
+ unsubscribe: () => void;
20
+ };
21
+ }
22
+ export {};
@@ -0,0 +1,33 @@
1
+ import { BitcoinNetwork } from '../utils/bitcoinNetworkHelpers';
2
+ import { SignMessageResult, WalletAdapter, WalletAdapter_onAddressesChanged_callback, WalletAdapterAddress } from '../WalletAdapters.types';
3
+ export declare class MockAddressWalletAdapter implements WalletAdapter {
4
+ private network;
5
+ private inner;
6
+ private addresses;
7
+ constructor(network: BitcoinNetwork, inner: WalletAdapter, addresses: Partial<{
8
+ bitcoin: Partial<WalletAdapterAddress> & {
9
+ address: string;
10
+ };
11
+ ordinals: Partial<WalletAdapterAddress> & {
12
+ address: string;
13
+ };
14
+ }>);
15
+ connect(): Promise<void>;
16
+ disconnect(): Promise<void>;
17
+ getAddresses(): Promise<WalletAdapterAddress[]>;
18
+ signMessage(address: string, message: string): Promise<SignMessageResult>;
19
+ get sendBitcoinFeeRateCapability(): "unavailable" | "available" | "required";
20
+ get sendInscriptionFeeRateCapability(): "unavailable" | "available" | "required";
21
+ sendBitcoin(fromAddress: string, receiverAddress: string, satoshiAmount: bigint): Promise<{
22
+ txid: string;
23
+ }>;
24
+ sendInscription(fromAddress: string, receiverAddress: string, inscriptionId: string): Promise<{
25
+ txid: string;
26
+ }>;
27
+ signAndFinalizePsbt(psbtHex: string): Promise<{
28
+ signedPsbtHex: string;
29
+ }>;
30
+ onAddressesChanged(_callback: WalletAdapter_onAddressesChanged_callback): {
31
+ unsubscribe: () => void;
32
+ };
33
+ }
@@ -0,0 +1,2 @@
1
+ import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
2
+ export declare const OkxWalletAdapter: WalletAdapterStatic<WalletAdapter>;
@@ -0,0 +1,51 @@
1
+ import { BitcoinWalletAdapterError } from '../utils/error';
2
+ import { SignMessageResult, WalletAdapter, WalletAdapter_onAddressesChanged_callback } from '../WalletAdapters.types';
3
+ import { UniSatEvents, UnisatCompatibleProviderAPI, UnisatCompatibleWalletAdapterImpl } from '../utils/UnisatCompatibleWalletAdapterImpl';
4
+ declare enum RpcErrorCode {
5
+ PARSE_ERROR = -32700,
6
+ INVALID_REQUEST = -32600,
7
+ METHOD_NOT_FOUND = -32601,
8
+ INVALID_PARAMS = -32602,
9
+ INTERNAL_ERROR = -32603,
10
+ SERVER_ERROR = -32000,
11
+ USER_REJECTION = 4001,
12
+ METHOD_NOT_SUPPORTED = 4002
13
+ }
14
+ interface RpcError<TErrorData = unknown> {
15
+ code: number | RpcErrorCode;
16
+ message: string;
17
+ data?: TErrorData;
18
+ }
19
+ interface OkxBitcoinProvider extends UnisatCompatibleProviderAPI, Record<string, any> {
20
+ connect(): Promise<void>;
21
+ on<K extends keyof UniSatEvents>(event: K, handler: (...args: UniSatEvents[K]) => void): void;
22
+ on(event: "accountChanged" | "networkChanged", handler: () => void): void;
23
+ removeListener<K extends keyof UniSatEvents>(event: K, handler: (...args: UniSatEvents[K]) => void): void;
24
+ removeListener(event: "accountChanged" | "networkChanged", handler: () => void): void;
25
+ }
26
+ export declare class OkxWalletAdapterImpl extends UnisatCompatibleWalletAdapterImpl implements WalletAdapter {
27
+ private okxwallet;
28
+ constructor(provider: OkxBitcoinProvider);
29
+ connect(): Promise<void>;
30
+ signMessage(address: string, message: string): Promise<SignMessageResult>;
31
+ sendBitcoin(fromAddress: string, receiverAddress: string, satoshiAmount: bigint, options?: {
32
+ feeRate?: number;
33
+ }): Promise<{
34
+ txid: string;
35
+ }>;
36
+ sendInscription(fromAddress: string, receiverAddress: string, inscriptionId: string, options?: {
37
+ feeRate?: number;
38
+ }): Promise<{
39
+ txid: string;
40
+ }>;
41
+ signAndFinalizePsbt(psbtHex: string, signIndices: [address: string, signIndex: number][]): Promise<{
42
+ signedPsbtHex: string;
43
+ }>;
44
+ onAddressesChanged(callback: WalletAdapter_onAddressesChanged_callback): {
45
+ unsubscribe: () => void;
46
+ };
47
+ }
48
+ export declare class OkxWalletAdapterError extends BitcoinWalletAdapterError {
49
+ constructor(rpcError: RpcError);
50
+ }
51
+ export {};
@@ -0,0 +1,2 @@
1
+ import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
2
+ export declare const UnisatWalletAdapter: WalletAdapterStatic<WalletAdapter>;
@@ -0,0 +1,14 @@
1
+ import { UnisatCompatibleProviderAPI, UnisatCompatibleWalletAdapterImpl } from '../utils/UnisatCompatibleWalletAdapterImpl';
2
+ import { WalletAdapter } from '../WalletAdapters.types';
3
+ /**
4
+ * Derivation path (Native SegWit) (BIP-84): m/84'/0'/0'/0/address_index
5
+ * Derivation path (Nested SegWit) (BIP-49): m/49'/0'/0'/0/address_index
6
+ * Derivation path (Taproot) (BIP-86): m/86'/0'/0'/0/address_index
7
+ * Derivation path (Taproot) (BIP-44): m/44'/0'/0'/0/address_index
8
+ * Derivation path (Legacy) (BIP-44): m/44'/0'/0'/0/address_index
9
+ */
10
+ export declare class UnisatWalletAdapterImpl extends UnisatCompatibleWalletAdapterImpl implements WalletAdapter {
11
+ constructor(provider: UnisatCompatibleProviderAPI);
12
+ sendBitcoinFeeRateCapability: "required";
13
+ sendInscriptionFeeRateCapability: "unavailable";
14
+ }
@@ -0,0 +1,3 @@
1
+ import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
2
+ export declare const XVERSE_PROVIDER_ID = "XverseProviders.BitcoinProvider";
3
+ export declare const XverseWalletAdapter: WalletAdapterStatic<WalletAdapter>;
@@ -0,0 +1,14 @@
1
+ import { WalletAdapter } from '../WalletAdapters.types';
2
+ import { XverseCompatibleWalletAdapterImpl, XverseCompatibleWalletAdapterImplAddress } from '../utils/XverseCompatibleWalletAdapterImpl';
3
+ declare global {
4
+ interface Window {
5
+ btc_providers?: import("sats-connect").Provider[];
6
+ }
7
+ }
8
+ export type XverseWalletAdapterAddresses = XverseCompatibleWalletAdapterImplAddress;
9
+ /**
10
+ * Derivation path (BIP-49): m/49'/0'/0'/0/ address_index
11
+ */
12
+ export declare class XverseWalletAdapterImpl extends XverseCompatibleWalletAdapterImpl implements WalletAdapter {
13
+ constructor();
14
+ }
@@ -0,0 +1,7 @@
1
+ export { BitgetWalletAdapter } from './BitgetWalletAdapter';
2
+ export { LeatherWalletAdapter } from './LeatherWalletAdapter';
3
+ export { MagicEdenWalletAdapterFactory } from './MagicEdenWalletAdapter';
4
+ export { OkxWalletAdapter } from './OkxWalletAdapter';
5
+ export { UnisatWalletAdapter } from './UnisatWalletAdapter';
6
+ export { XverseWalletAdapter } from './XverseWalletAdapter';
7
+ export { MockAddressWalletAdapter } from './MockAddressWalletAdapter';
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index-Zx0KcpYx.js");exports.BitgetWalletAdapter=e.BitgetWalletAdapter;exports.LeatherWalletAdapter=e.LeatherWalletAdapter;exports.MagicEdenWalletAdapterFactory=e.MagicEdenWalletAdapterFactory;exports.MockAddressWalletAdapter=e.MockAddressWalletAdapter;exports.OkxWalletAdapter=e.OkxWalletAdapter;exports.UnisatWalletAdapter=e.UnisatWalletAdapter;exports.XverseWalletAdapter=e.XverseWalletAdapter;
2
+ //# sourceMappingURL=adapters.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,11 @@
1
+ import { B as t, L as l, M as r, a as s, O as d, U as p, X as A } from "./index-D7YwhNAG.mjs";
2
+ export {
3
+ t as BitgetWalletAdapter,
4
+ l as LeatherWalletAdapter,
5
+ r as MagicEdenWalletAdapterFactory,
6
+ s as MockAddressWalletAdapter,
7
+ d as OkxWalletAdapter,
8
+ p as UnisatWalletAdapter,
9
+ A as XverseWalletAdapter
10
+ };
11
+ //# sourceMappingURL=adapters.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapters.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -0,0 +1,5 @@
1
+ const A = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAtAAAALQCAYAAAC5V0ecAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABzPSURBVHgB7d29j13HecDhUeIyS6RwilCFupBskoZUE6SQjARwQ0sw4Ea2IsAuRBMK7EaxYTgILMhQlEaIQUuNAFuWGgOJPookQCKy5zK1SPdkejKVG2VHl6vd2dmP+957zr3nzDwPsLj7B2zxu+++M/NEeurS5wkAAFjKHyQAAGBpAhoAAAIENAAABAhoAAAIENAAABAgoAEAIEBAAwBAgIAGAIAAAQ0AAAECGgAAAgQ0AAAECGgAAAgQ0AAAECCgAQAgQEADAECAgAYAgAABDQAAAQIaAAACBDQAAAQIaAAACBDQAAAQIKABACBAQAMAQICABgCAAAENAAABAhoAAAIENAAABAhoAAAIENAAABAgoAEAIEBAAwBAgIAGAIAAAQ0AAAECGgAAAgQ0AAAECGgAAAgQ0AAAECCgAQAgQEADAECAgAYAgAABDQAAAQIaAAACBDQAAAQIaAAACBDQAAAQIKABACBAQAMAQICABgCAAAENAAABAhoAAAIENAAABAhoAAAIENAAABAgoAEAIEBAAwBAgIAGAIAAAQ0AAAECGgAAAgQ0AAAECGgAAAgQ0AAAECCgAQAgQEADAECAgAYAgAABDQAAAQIaAAACBDQAAAQIaAAACBDQAAAQIKABACBAQAMAQICABgCAAAENAAABAhoAAAIENAAABAhoAAAIENAAABAgoAEAIEBAAwBAgIAGAIAAAQ0AAAECGgAAAgQ0AAAECGgAAAgQ0AAAECCgAQAgQEADAECAgAYAgAABDQAAAQIaAAACBDQAAAQIaAAACBDQAAAQIKABACBAQAMAQICABgCAAAENAAABAhoAAAIENAAABAhoAAAIENAAABAgoAEAIEBAAwBAgIAGAICAryRgPTvn9n52Fp/ndhJ86f79xeejR3s/DxMAbRDQEJVD+epzKV25ktKFiymdfzLBUh7cX/zkoN7dTel3d1O6e1dcA8zME+mpS58n4GyXn07p2vcXnzCke3sRfed2Srdu7oX17QTAtAloOEueOL/6o8XUGcaWJ9R39qbTn3wkpgEmSkDDafKKxlu/sKbBduSYfvvGIqYBmAwBDSfJE+c8ec4TaNimHNI5oj/+aPE7AFsloOE4ec/53V8lmBQTaYBJENBwVF7XyPFsbYOpyiH95hsp3fo0AbB5AhqO+o//Es/MQ55E54m0tQ6AjfISIRyW957FM3OR/17zf0ue/VoCYHNMoOEw02fm6p0bi2k0AKMzgYZ9ps/M2cvXfQEE2BABDfu+/WKCWds/AHvhUgJgPAIashwe+dEUmLv8t/zbf03pBV8IAcYioCF7xiEsGpMfAbp2PQEwPAEN2ZUrCZqT96Jf/XECYFgCGjIHr2jVC99J6bXXEwDDEdCQ2X+mZVefT+m3/5bSzrkEwPoENOzsJGhe/pKYb+gQ0QBrE9AgKOiFiAYYhIAG6ImIBlibgIYH9xN0RUQDrEVAQ/boYYKuiGiAlQloyB48SNAdEQ2wEgEN2e7tBF0S0QBhAhqye3cTdEtEA4QIaMhufZqgayIaYGkCGrJHj6xxgIgGWIqAhn3v/DJB90Q0wJkENOy7c9ud0JCJaIBTCWg47G1TaPiCiAY4kYCGwz750C407BPRAMcS0HDUP7/hZULYJ6IBKgIajsp3QlvlgAMiGqAgoOE4H7yX0vvvJeAxEQ3wJQENJ8mrHPah4YCIBviCgIbT/PAVz3zDYSIaQEDDqfILhd/9WxENh4looHMCGs4ioqEmooGOCWhYhoiGmogGOiWgYVkiGmoiGuiQgIYIEQ01EQ10RkBDlIiGmogGOiKgYRUiGmoiGuiEgIZViWioiWigAwIa1iGioSaigcYJaFiXiIaaiAYaJqBhCCIaaiIaaJSAhqGIaKiJaKBBAhqGJKKhJqKBxghoGJqIhpqIBhoioGEMIhpqIhpohICGsYhoqIlooAECGsYkoqEmooGZE9AwNhENNRENzJiAhk0Q0VAT0cBMCWjYFBENNRENzJCAhk0S0VAT0cDMCGjYNBENNRENzIiAhm0Q0VAT0cBMCGjYFhENNRENzICAhm0S0VAT0cDECWjYNhENNRENTJiAhikQ0VAT0cBECWiYChENNRENTJCAhikR0VAT0cDECGiYGhENNRENTIiAhikS0VAT0cBECGiYKhENNRENTICAhikT0VAT0cCWCWiYOhENNRENbJGAhjkQ0VAT0cCWCGiYCxENNRENbIGAhjkR0VAT0cCGCWiYGxENNRENbJCAhjkS0VAT0cCGCGiYKxENNRENbICAhjkT0VAT0cDIBDTMnYiGmogGRiSgoQUiGmoiGhiJgIZWiGioiWhgBAIaWiKioSaigYEJaGiNiIaaiAYGJKChRSIaaiIaGIiAhlaJaKiJaGAAAhpaJqKhJqKBNQloaJ2IhpqIBtYgoKEHIhpqIhpYkYCGXohoqIloYAUCGnoioqEmooEgAQ29EdFQE9FAgICGHoloqIloYEkCGnoloqEmooElCGjomYiGmogGziCgoXciGmoiGjiFgAZENBxHRAMnENDAgoiGmogGjiGggQMiGmoiGjhCQAMlEQ01EQ0cIqCBmoiGmogGHhPQwPFENNRENJAENHAaEQ01EQ3dE9DA6UQ01EQ0dE1AA2cT0VAT0dAtAQ0sR0RDTURDlwQ0sDwRDTURDd0R0ECMiIaaiIauCGggTkRDTURDNwQ0sBoRDTURDV0Q0MDqRDTURDQ0T0AD6xHRUBPR0DQBDaxPRENNREOzBDQwDBENNRENTRLQwHBENNRENDRHQAPDEtFQE9HQFAENDE9EQ01EQzMENDAOEQ01EQ1NENDAeEQ01EQ0zJ6ABsYloqEmomHWBDQwPhENNRENsyWggc0Q0VAT0TBLAhrYHBENNRENsyOggc0S0VAT0TArAhrYPBENNRENsyGgge0Q0VAT0TALAhrYHhENNRENkyegge0S0VAT0TBpAhrYPhENNRENkyWggWkQ0VAT0TBJAhqYDhENNRENkyOggWkR0VAT0TApAhqYHhENNRENkyGggWkS0VAT0TAJAhqYLhENNRENWyeggWkT0VAT0bBVAhqYPhENNRENWyOggXkQ0VAT0bAVAhqYDxENNRENGyeggXkR0VAT0bBRAhqYHxENNRENGyOggXkS0VAT0bARAhqYLxENNRENoxPQwLyJaKiJaBiVgAbmT0RDTUTDaAQ00AYRDTURDaMQ0EA7RDTURDQMTkADbRHRUBPRMCgBDbRHRENNRMNgBDTQJhENNRENgxDQQLtENNRENKxNQANtE9FQE9GwFgENtE9EQ01Ew8oENNAHEQ01EQ0rEdBAP0Q01EQ0hAlooC8iGmoiGkIENNAfEQ01EQ1LE9BAn0Q01EQ0LEVAA/0S0VAT0XAmAQ30TURDTUTDqQQ0gIiGmoiGEwlogExEQ01Ew7EENMA+EQ01EQ0VAQ1wmIiGmoiGgoAGOEpEQ01Ew5cENMBxRDTURDR8QUADnEREQ01Eg4AGOJWIhpqIpnMCGuAsIhpqIpqOCWiAZYhoqIloOiWgAZYloqEmoumQgAaIENFQE9F0RkADRIloqIloOiKgAVYhoqEmoumEgAZYlYiGmoimAwIaYB0iGmoimsYJaIB1iWioiWgaJqABhiCioSaiaZSABhiKiIaaiKZBAhpgSCIaaiKaxghogKGJaKiJaBoioAHGIKKhJqJphIAGGIuIhpqIpgECGmBMIhpqIpqZE9AAYxPRUBPRzJiABtgEEQ01Ec1MCWiATRHRUBPRzJCABtgkEQ01Ec3MCGiATRPRUBPRzIiABtgGEQ01Ec1MCGiAbRHRUBPRzICABtgmEQ01Ec3ECWiAbRPRUBPRTJiABpgCEQ01Ec1ECWiAqRDRUBPRTJCABpgSEQ01Ec3ECGiAqRHRUBPRTIiABpgiEQ01Ec1ECGiAqRLRUBPRTICABpgyEQ01Ec2WCWiAqRPRUBPRbJGABpgDEQ01Ec2WCGiAuRDRUBPRbIGABpgTEQ01Ec2GCWiAuRHRUNuPaNgAAQ0wRyIaajmiX3s9wdgENMBciWioXX0+pVd/nGBMf5j++E/+MQEwT7//fUr/+e8p/eVfpfTVryZgz5//RUpP7H3e2U0wBhNogLkziYbay9f3ptHPJRjDE+mpS58nAOZvZyeld3+92AMFFr71zb0vl58lGJIJNEArTKKh9ta/pHT+yQRDEtAALRHRUMrx/NYv3BHNoAQ0QGtENJTyWtOrf59gKAIaoEUiGkr5ersXXkwwBAEN0CoRDaVXf7Q3jb6UYF0CGqBlIhpK+VChfWjWJKABWiei4UA+VHjteoJ1CGiAHohoOPDCd1J69msJViWgAXohouHAz37ufmhWJqABeiKiYSG/3Pna6wlWIaABeiOiYeHy01Y5WMkT6alLnycA+pMncO/+evHIBPQqf6H8+l/vfT5MsCwTaIBemUTD4oukWzkIEtAAPRPRsLiV48rTCZYloAF6J6IhpZe/n2BZAhoAEQ35QKEpNEsS0AAsiGh69zPX2rEcAQ3AARFNz/LDKlefS3AWAQ1ASUTTMzdysAQBDUBNRNMrU2iWIKABOJ6IplffENCcTkADcDIRTY/cyMEZBDQApxPR9Mi90JxCQANwNhFNb/IUeudcguMIaACWI6Lpzbe/k+A4AhqA5e1H9O7tBM174cUExxHQAMTkiP7eSyl98mGCpu3sOEzIsQQ0AKv56U9ENO175tkERwloAFaXI9o6By27+nyCowQ0AOv54SsOFtIuaxwcQ0ADsJ68E/2DvYh+9DBBky5fSXCYgAZgfQ/u70X03yVokoDmCAENwDDu3E7p/fcSNMejKhwhoAEYzjs3FtNoaM3Fiwn2CWgAhpP3od/+ZYLm/JmA5oCABmBY+W5oV9vRmgsCmgMCGoDh3bqZoClXHCTkgIAGYHh5Cu1aO1py/skE+wQ0AMPLu9Aff5SgKSKaxwQ0AOO4s5ugKU8KaBYENADjuOMgIY350/MJMgENwDjyGoc7oWmJx1R4TEADMJ5daxw0ZGcnQSagARiPmziABgloAMaT1zigFedMoFkQ0AAAy/gjO9AsCGgAgGX8n5UkFgQ0AONx6IqWPLSSxIKABmA8Hp4AGiSgARiPp49piUOxPCagARhHXt+4cDFBM1zLyGMCGoBxXLiUoCn/+yBBJqABGMc3nkvQFIcIeUxAAzCOy1cSNOXeZwkyAQ3A8K4+5wAhbbl3N8E+AQ3A8K5a36Ax9+0/c0BAAzCsHM9Xnk7QFOsbHCKgARjWtesJmvM/uwn2CWgAhvPydbvPtOmuHWgOCGgAhpHD2fSZFuUDhB5R4RABDcD6cjy/+6sETbpzO8FhAhqA9b32utUN2nXrZoLDBDQA63n1RylddusGjXr0KKVdE2hKAhqA1eVDgy+8mKBZNz9NcJSABmA1OZ4dGqR11jc4xlcSAETltQ2TZ1r34P5eQP93gqMENAAxr/3cU930YdfjKRzPCgcAyxPP9OSdGwmOI6ABWI54pif57ue8wgHHENAAnE0805uPP05wEgENwOnEM73Jk+dPPkxwEgENwMnEMz16+5cJTiOgATieeKZHps8sQUADUBPP9Mr0mSUIaABK4plemT6zJAENwAHxTM9Mn1mSgAZgQTzTM9NnAgQ0AOIZ/uEnCZYloAF6J57p3ccfpbR7O8GyBDRAz8QzvcurG+/cSBAhoAF6JZ4hpfd/s4hoCBDQAD0Sz7AI5w/eSxAloAF6I55h4bsvJViFgAboiXiGhbz3bHWDFQlogF6IZ1jIN2687eAgqxPQAD0Qz7CQp87ufGZNAhqgdeIZDrz5htUN1iagAVomnuFA3nu+9WmCdQlogFaJZzhg75kBCWiAFolnOGDvmYEJaIDWiGc48Ojh4r5ne88MSEADtEQ8Q+mnPxHPDE5AA7RCPEPJoUFGIqABWiCeofTBew4NMhoBDTB34hlKNz9d3PcMIxHQAHMmnqF0764bNxidgAaYK/EMpXxY8AevLG7egBEJaIA5Es9QyvH83ZfcuMFGCGiAuRHPUBLPbJiABpgT8Qwl8cwWCGiAuRDPUBLPbImABpgD8Qwl8cwWCWiAqRPPUBLPbJmABpgy8Qwl8cwECGiAqRLPUBLPTISABpgi8Qwl8cyECGiAqRHPUBLPTIyABpgS8Qwl8cwECWiAqRDPUBLPTJSABpgC8Qwl8cyECWiAbRPPUBLPTJyABtgm8Qwl8cwMCGiAbRHPUBLPzISABtgG8Qwl8cyMCGiATRPPUBLPzIyABtgk8Qwl8cwMCWiATRHPUBLPzJSABtgE8Qwl8cyMCWiAsYlnKIlnZk5AA4xJPENJPNMAAQ0wFvEMJfFMIwQ0wBjEM5TEMw0R0ABDE89QEs80RkADDEk8Q0k80yABDTAU8Qwl8UyjBDTAEMQzlMQzDRPQAOsSz1ASzzROQAOsQzxDSTzTAQENsCrxDCXxTCcENMAqxDOUxDMdEdAAUeIZSuKZzghogAjxDCXxTIcENMCyxDOUxDOdEtAAyxDPUBLPdExAA5xFPENJPNM5AQ1wGvEMJfEMAhrgROIZSuIZviCgAY4jnqEknuFLAhrgKPEMJfEMBQENcJh4hpJ4hoqABtgnnqEknuFYAhogE89QEs9wIgENIJ6hJJ7hVAIa6Jt4hpJ4hjMJaKBf4hlK4hmWIqCBPolnKIlnWJqABvojnqEkniFEQAN9Ec9QEs8QJqCBfohnKIlnWImABvognqEknmFlAhpon3iGkniGtQhooG3iGUriGdYmoIF2iWcoiWcYhIAG2iSeoSSeYTACGmiPeIaSeIZBCWigLeIZSuIZBieggXaIZyiJZxiFgAbaIJ6hJJ5hNAIamD/xDCXxDKMS0MC8iWcoiWcYnYAG5ks8Q0k8w0YIaGCexDOUxDNsjIAG5kc8Q0k8w0YJaGBexDOUxDNsnIAG5kM8Q0k8w1YIaGAexDOUxDNsjYAGpk88Q0k8w1YJaGDaxDOUxDNsnYAGpks8Q0k8wyQIaGCaxDOUxDNMhoAGpkc8Q0k8w6QIaGBaxDOUxDNMjoAGpkM8Q0k8wyQJaGAaxDOUxDNMloAGtk88Q0k8w6QJaGC7xDOUxDNMnoAGtkc8Q0k8wywIaGA7xDOUxDPMhoAGNk88Q0k8w6wIaGCzxDOUxDPMjoAGNkc8Q0k8wywJaGAzxDOUxDPMloAGxieeoSSeYdYENDAu8Qwl8QyzJ6CB8YhnKIlnaIKABsYhnqEknqEZAhoYnniGkniGpghoYFjiGUriGZojoIHhiGcoiWdokoAGhiGeoSSeoVkCGlifeIaSeIamCWhgPeIZSuIZmieggdWJZyiJZ+iCgAZWI56hJJ6hGwIaiBPPUBLP0BUBDcSIZyiJZ+iOgAaWJ56hJJ6hSwIaWI54hpJ4hm4JaOBs4hlK4hm6JqCB04lnKIln6J6ABk4mnqEknoEkoIGTiGcoiWfgMQEN1MQzlMQzcIiABkriGUriGThCQAMHxDOUxDNwDAENLIhnKIln4AQCGhDPcJR4Bk4hoKF34hlK4hk4g4CGnolnKIlnYAkCGnolnqEknoElCWjokXiGkngGAgQ09EY8Q0k8A0ECGnoinqEknoEVCGjohXiGkngGViSgoQfiGUriGViDgIbWiWcoiWdgTQIaWiaeoSSegQEIaGiVeIaSeAYGIqChReIZSuIZGJCAhtaIZyiJZ2BgAhpaIp6hJJ6BEQhoaIV4hpJ4BkYioKEF4hlK4hkYkYCGuRPPUBLPwMgENMyZeIaSeAY2QEDDXIlnKIlnYEMENMyReIaSeAY2SEDD3IhnKIlnYMMENMyJeIaSeAa2QEDDXIhnKIlnYEsENMyBeIaSeAa2SEDD1IlnKIlnYMsENEyZeIaSeAYmQEDDVIlnKIlnYCIENEyReIaSeAYmREDD1IhnKIlnYGIENEyJeIaSeAYmSEDDVIhnKIlnYKIENEyBeIaSeAYmTEDDtolnKIlnYOIENGyTeIaSeAZmQEDDtohnKIlnYCYENGyDeIaSeAZmREDDpolnKIlnYGYENGySeIaSeAZmSEDDpohnKIlnYKYENGyCeIaSeAZmTEDD2MQzlMQzMHMCGsYknqEknoEGCGgYi3iGkngGGiGgYQziGUriGWiIgIahiWcoiWegMQIahiSeoSSegQYJaBiKeIaSeAYaJaBhCOIZSuIZaJiAhnWJZyiJZ6BxAhrWIZ6hJJ6BDghoWJV4hpJ4BjohoGEV4hlK4hnoiICGKPEMJfEMdEZAQ4R4hpJ4BjokoGFZ4hlK4hnolICGZYhnKIlnoGMCGs4inqEknoHOCWg4zcvXxTMcJp4BBDScKMfztesJeEw8A3xBQMNx8tRZPMMB8QzwJQENR51/UjzDYeIZoCCg4agczzmiAfEMcAwBDYfl1Q2HBmFBPAMcS0DDYVY3YEE8A5xIQMO+y09b3YBMPAOcSkDDvm9Y3QDxDHA2AQ3Zzo7dZxDPAEsR0JDl9Q3omXgGWJqAhuzylQTdEs8AIQIasgsXE3RJPAOECWjILgpoOiSeAVYioCHbOZegK+IZYGUCGtz9TG/EM8BaBDRAT8QzwNoENDx6mKAL4hlgEAIaHj1K0DzxDDAYAQ2ZqKBl9+6KZ4ABCWjIcmBAi3Zvi2eAgQloyHZ3EzTnk49S+t5L9vwBBvaVBJhA0553bqT09o0EwPAENGR3bi/+xe1OaOYuT5vffGMxfQZgFFY4YN/HgoOZ279pQzwDjEpAw74P3rMrynzd/DSlb33TOhLABgho2Jfvg37/NwlmZX9l44ev+AIIsCECGg7LU2jXfTEX+Yq6PHXOf7cAbIyAhsPyFPoHJnlM3P7UOV9R5wsfwMYJaDgq75C++U8JJilfTff1vzF1Btgi19jBcT75MKXz51O6dj3BJORbYvLdzibOAFv3RHrq0ucJON4zX0vptddT2jmXYOPyqkY+2PrBb6wVAUyIgIaz5MdV3vpFShcuJtiIfDjw1s3Ffc7CGWByBDQs6+rzKV37vtcKGV6O5N3dlO7simaAGRDQEHX56ZSeeXbxedFUmqC8w3z//uKw6u/upXT3M4+fAMyMgIZ15N3ofNgwf+7spHTOrjSHPHy4uBrx0eNPBwABmiCgAQAgwD3QAAAQIKABACBAQAMAQICABgCAAAENAAABAhoAAAIENAAABAhoAAAIENAAABAgoAEAIEBAAwBAgIAGAIAAAQ0AAAECGgAAAgQ0AAAECGgAAAgQ0AAAECCgAQAgQEADAECAgAYAgAABDQAAAQIaAAACBDQAAAQIaAAACBDQAAAQIKABACBAQAMAQICABgCAAAENAAABAhoAAAIENAAABAhoAAAIENAAABAgoAEAIEBAAwBAgIAGAIAAAQ0AAAECGgAAAgQ0AAAECGgAAAgQ0AAAECCgAQAgQEADAECAgAYAgAABDQAAAQIaAAACBDQAAAQIaAAACBDQAAAQIKABACBAQAMAQICABgCAAAENAAABAhoAAAIENAAABAhoAAAIENAAABAgoAEAIEBAAwBAgIAGAIAAAQ0AAAECGgAAAgQ0AAAECGgAAAgQ0AAAECCgAQAgQEADAECAgAYAgAABDQAAAQIaAAACBDQAAAQIaAAACBDQAAAQIKABACBAQAMAQICABgCAAAENAAABAhoAAAIENAAABAhoAAAIENAAABAgoAEAIEBAAwBAgIAGAIAAAQ0AAAECGgAAAgQ0AAAECGgAAAgQ0AAAECCgAQAgQEADAECAgAYAgAABDQAAAQIaAAACBDQAAAQIaAAACBDQAAAQIKABACBAQAMAQICABgCAAAENAAABAhoAAAIENAAABAhoAAAIENAAABDw/yPFDA1MmtkEAAAAAElFTkSuQmCC";
2
+ export {
3
+ A as default
4
+ };
5
+ //# sourceMappingURL=bitget-C7oB4Ffq.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitget-C7oB4Ffq.mjs","sources":["../src/_/bitget.png"],"sourcesContent":["export default \"data:image/png;base64,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\""],"names":["bitget"],"mappings":"AAAA,MAAAA,IAAe;"}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const A="data:image/png;base64,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";exports.default=A;
2
+ //# sourceMappingURL=bitget-DXnsxx_y.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bitget-DXnsxx_y.js","sources":["../src/_/bitget.png"],"sourcesContent":["export default \"data:image/png;base64,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\""],"names":["bitget"],"mappings":"gFAAA,MAAAA,EAAe"}