bitcoin-wallet-connector 0.1.0 → 0.2.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 (140) hide show
  1. package/README.md +24 -21
  2. package/lib/BitcoinConnectionProvider.d.ts +3 -3
  3. package/lib/BitcoinWalletConnector-BC92ulXx.js +2 -0
  4. package/lib/BitcoinWalletConnector-BC92ulXx.js.map +1 -0
  5. package/lib/{BitcoinWalletAdapterConnector-Bq835yj0.mjs → BitcoinWalletConnector-CS0BshOl.mjs} +11 -19
  6. package/lib/BitcoinWalletConnector-CS0BshOl.mjs.map +1 -0
  7. package/lib/{BitcoinWalletAdapterConnector.d.ts → BitcoinWalletConnector.d.ts} +4 -5
  8. package/lib/BitgetWalletAdapter.impl-D8kqiYDi.mjs +11 -0
  9. package/lib/BitgetWalletAdapter.impl-D8kqiYDi.mjs.map +1 -0
  10. package/lib/BitgetWalletAdapter.impl-DiyzNQ9d.js +2 -0
  11. package/lib/BitgetWalletAdapter.impl-DiyzNQ9d.js.map +1 -0
  12. package/lib/{LeatherWalletAdapter.impl-RUYx555r.mjs → LeatherWalletAdapter.impl-B1PoZS7z.mjs} +48 -37
  13. package/lib/LeatherWalletAdapter.impl-B1PoZS7z.mjs.map +1 -0
  14. package/lib/LeatherWalletAdapter.impl-BIWirus3.js +2 -0
  15. package/lib/LeatherWalletAdapter.impl-BIWirus3.js.map +1 -0
  16. package/lib/{MagicEdenWalletAdapter.impl-CrA6SGvG.mjs → MagicEdenWalletAdapter.impl-B3d5lbkD.mjs} +31 -20
  17. package/lib/MagicEdenWalletAdapter.impl-B3d5lbkD.mjs.map +1 -0
  18. package/lib/MagicEdenWalletAdapter.impl-DLBP3p4o.js +2 -0
  19. package/lib/MagicEdenWalletAdapter.impl-DLBP3p4o.js.map +1 -0
  20. package/lib/OkxWalletAdapter.impl-7cj96tmr.js +2 -0
  21. package/lib/OkxWalletAdapter.impl-7cj96tmr.js.map +1 -0
  22. package/lib/{OkxWalletAdapter.impl-BepoUL1B.mjs → OkxWalletAdapter.impl-nRgHsPTn.mjs} +13 -9
  23. package/lib/OkxWalletAdapter.impl-nRgHsPTn.mjs.map +1 -0
  24. package/lib/{UnisatCompatibleWalletAdapterImpl-M38FqkZI.mjs → UnisatCompatibleWalletAdapterImpl-8lRRF7Zj.mjs} +18 -10
  25. package/lib/UnisatCompatibleWalletAdapterImpl-8lRRF7Zj.mjs.map +1 -0
  26. package/lib/{UnisatCompatibleWalletAdapterImpl-Cq2Oqk1b.js → UnisatCompatibleWalletAdapterImpl-C-JWrc9s.js} +2 -2
  27. package/lib/UnisatCompatibleWalletAdapterImpl-C-JWrc9s.js.map +1 -0
  28. package/lib/UnisatWalletAdapter.impl-DXDfnHz_.js +2 -0
  29. package/lib/UnisatWalletAdapter.impl-DXDfnHz_.js.map +1 -0
  30. package/lib/UnisatWalletAdapter.impl-DvA33Ikj.mjs +19 -0
  31. package/lib/UnisatWalletAdapter.impl-DvA33Ikj.mjs.map +1 -0
  32. package/lib/WalletAdapters.types-CExaiK0o.js +2 -0
  33. package/lib/WalletAdapters.types-CExaiK0o.js.map +1 -0
  34. package/lib/WalletAdapters.types-DBvhI1hu.mjs +20 -0
  35. package/lib/WalletAdapters.types-DBvhI1hu.mjs.map +1 -0
  36. package/lib/WalletAdapters.types.d.ts +7 -12
  37. package/lib/{XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js → XverseCompatibleWalletAdapterImpl-Dp_GUxQM.js} +2 -2
  38. package/lib/XverseCompatibleWalletAdapterImpl-Dp_GUxQM.js.map +1 -0
  39. package/lib/{XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs → XverseCompatibleWalletAdapterImpl-bgp9xDYH.mjs} +12 -8
  40. package/lib/XverseCompatibleWalletAdapterImpl-bgp9xDYH.mjs.map +1 -0
  41. package/lib/{XverseWalletAdapter.impl-CZO0RQva.mjs → XverseWalletAdapter.impl-BOpY4Vf8.mjs} +15 -15
  42. package/lib/XverseWalletAdapter.impl-BOpY4Vf8.mjs.map +1 -0
  43. package/lib/XverseWalletAdapter.impl-D0eOtEOa.js +2 -0
  44. package/lib/XverseWalletAdapter.impl-D0eOtEOa.js.map +1 -0
  45. package/lib/adapters/BitgetWalletAdapter.d.ts +6 -2
  46. package/lib/adapters/LeatherWalletAdapter.d.ts +4 -2
  47. package/lib/adapters/LeatherWalletAdapter.impl.d.ts +8 -1
  48. package/lib/adapters/MagicEdenWalletAdapter.d.ts +5 -2
  49. package/lib/adapters/MagicEdenWalletAdapter.impl.d.ts +1 -1
  50. package/lib/adapters/MockAddressWalletAdapter.d.ts +8 -32
  51. package/lib/adapters/OkxWalletAdapter.d.ts +3 -2
  52. package/lib/adapters/OkxWalletAdapter.impl.d.ts +5 -1
  53. package/lib/adapters/UnisatWalletAdapter.d.ts +3 -2
  54. package/lib/adapters/UnisatWalletAdapter.impl.d.ts +4 -0
  55. package/lib/adapters/XverseWalletAdapter.d.ts +3 -2
  56. package/lib/adapters/XverseWalletAdapter.impl.d.ts +1 -1
  57. package/lib/adapters/index.d.ts +6 -6
  58. package/lib/adapters.js +1 -1
  59. package/lib/adapters.mjs +8 -8
  60. package/lib/constants-B7qVf97f.mjs +5 -0
  61. package/lib/constants-B7qVf97f.mjs.map +1 -0
  62. package/lib/constants-Dr0_Mix2.js +2 -0
  63. package/lib/constants-Dr0_Mix2.js.map +1 -0
  64. package/lib/constants.d.ts +1 -0
  65. package/lib/{index-D7YwhNAG.mjs → index-DM4G-LJz.mjs} +639 -590
  66. package/lib/index-DM4G-LJz.mjs.map +1 -0
  67. package/lib/index-jRY8YhyK.js +2 -0
  68. package/lib/index-jRY8YhyK.js.map +1 -0
  69. package/lib/index.d.ts +1 -1
  70. package/lib/index.js +1 -1
  71. package/lib/index.mjs +13 -13
  72. package/lib/react.js +1 -1
  73. package/lib/react.js.map +1 -1
  74. package/lib/react.mjs +7 -7
  75. package/lib/react.mjs.map +1 -1
  76. package/lib/{transaction-CiLOYSE_.mjs → transaction-4ShhFCwN.mjs} +2 -2
  77. package/lib/{transaction-CiLOYSE_.mjs.map → transaction-4ShhFCwN.mjs.map} +1 -1
  78. package/lib/{transaction-CzdnbXSo.js → transaction-B6SlpRzN.js} +2 -2
  79. package/lib/{transaction-CzdnbXSo.js.map → transaction-B6SlpRzN.js.map} +1 -1
  80. package/lib/utils/UnisatCompatibleWalletAdapterImpl.d.ts +11 -3
  81. package/lib/utils/XverseCompatibleWalletAdapterImpl.d.ts +4 -0
  82. package/lib/utils/XverseCompatibleWalletAdapterImpl_legacy.d.ts +7 -2
  83. package/package.json +9 -10
  84. package/src/BitcoinConnectionProvider.stories.tsx +111 -43
  85. package/src/BitcoinConnectionProvider.tsx +5 -5
  86. package/src/{BitcoinWalletAdapterConnector.ts → BitcoinWalletConnector.ts} +18 -26
  87. package/src/WalletAdapters.types.ts +13 -22
  88. package/src/adapters/BitgetWalletAdapter.impl.ts +2 -1
  89. package/src/adapters/BitgetWalletAdapter.ts +9 -7
  90. package/src/adapters/LeatherWalletAdapter.impl.ts +23 -13
  91. package/src/adapters/LeatherWalletAdapter.ts +11 -8
  92. package/src/adapters/MagicEdenWalletAdapter.impl.ts +9 -8
  93. package/src/adapters/MagicEdenWalletAdapter.ts +17 -14
  94. package/src/adapters/MockAddressWalletAdapter.ts +61 -35
  95. package/src/adapters/OkxWalletAdapter.impl.ts +12 -7
  96. package/src/adapters/OkxWalletAdapter.ts +10 -7
  97. package/src/adapters/UnisatWalletAdapter.impl.ts +8 -2
  98. package/src/adapters/UnisatWalletAdapter.ts +9 -7
  99. package/src/adapters/XverseWalletAdapter.impl.ts +6 -6
  100. package/src/adapters/XverseWalletAdapter.ts +10 -7
  101. package/src/adapters/index.ts +6 -6
  102. package/src/constants.ts +1 -0
  103. package/src/index.ts +1 -1
  104. package/src/utils/UnisatCompatibleWalletAdapterImpl.ts +11 -2
  105. package/src/utils/XverseCompatibleWalletAdapterImpl.ts +4 -0
  106. package/src/utils/XverseCompatibleWalletAdapterImpl_legacy.ts +19 -7
  107. package/lib/BitcoinWalletAdapterConnector-Bq835yj0.mjs.map +0 -1
  108. package/lib/BitcoinWalletAdapterConnector-DMef0iHV.js +0 -2
  109. package/lib/BitcoinWalletAdapterConnector-DMef0iHV.js.map +0 -1
  110. package/lib/BitgetWalletAdapter.impl-C_HLO7Oi.mjs +0 -10
  111. package/lib/BitgetWalletAdapter.impl-C_HLO7Oi.mjs.map +0 -1
  112. package/lib/BitgetWalletAdapter.impl-CxnKMf7U.js +0 -2
  113. package/lib/BitgetWalletAdapter.impl-CxnKMf7U.js.map +0 -1
  114. package/lib/LeatherWalletAdapter.impl-B2QgX_tO.js +0 -2
  115. package/lib/LeatherWalletAdapter.impl-B2QgX_tO.js.map +0 -1
  116. package/lib/LeatherWalletAdapter.impl-RUYx555r.mjs.map +0 -1
  117. package/lib/MagicEdenWalletAdapter.impl-CrA6SGvG.mjs.map +0 -1
  118. package/lib/MagicEdenWalletAdapter.impl-Di3Nu2S5.js +0 -2
  119. package/lib/MagicEdenWalletAdapter.impl-Di3Nu2S5.js.map +0 -1
  120. package/lib/OkxWalletAdapter.impl-BepoUL1B.mjs.map +0 -1
  121. package/lib/OkxWalletAdapter.impl-C8kesjGu.js +0 -2
  122. package/lib/OkxWalletAdapter.impl-C8kesjGu.js.map +0 -1
  123. package/lib/UnisatCompatibleWalletAdapterImpl-Cq2Oqk1b.js.map +0 -1
  124. package/lib/UnisatCompatibleWalletAdapterImpl-M38FqkZI.mjs.map +0 -1
  125. package/lib/UnisatWalletAdapter.impl-CJB22se8.mjs +0 -14
  126. package/lib/UnisatWalletAdapter.impl-CJB22se8.mjs.map +0 -1
  127. package/lib/UnisatWalletAdapter.impl-EISvxdpc.js +0 -2
  128. package/lib/UnisatWalletAdapter.impl-EISvxdpc.js.map +0 -1
  129. package/lib/WalletAdapters.types-CnvOqHFH.mjs +0 -32
  130. package/lib/WalletAdapters.types-CnvOqHFH.mjs.map +0 -1
  131. package/lib/WalletAdapters.types-De_x1lzr.js +0 -2
  132. package/lib/WalletAdapters.types-De_x1lzr.js.map +0 -1
  133. package/lib/XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js.map +0 -1
  134. package/lib/XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs.map +0 -1
  135. package/lib/XverseWalletAdapter.impl-CZO0RQva.mjs.map +0 -1
  136. package/lib/XverseWalletAdapter.impl-lJwMi-Iv.js +0 -2
  137. package/lib/XverseWalletAdapter.impl-lJwMi-Iv.js.map +0 -1
  138. package/lib/index-D7YwhNAG.mjs.map +0 -1
  139. package/lib/index-Zx0KcpYx.js +0 -2
  140. package/lib/index-Zx0KcpYx.js.map +0 -1
@@ -66,11 +66,11 @@ export interface WalletAdapterAddress extends Partial<WalletAdapterAddressWithPu
66
66
  }
67
67
  export interface WalletAdapterMetadata {
68
68
  name: string;
69
- iconUrl: Promise<string>;
69
+ iconUrl: () => Promise<string>;
70
70
  websiteUrl: string;
71
71
  downloadUrl: string;
72
72
  }
73
- export interface WalletAdapterStatic<T extends WalletAdapter> {
73
+ export interface WalletAdapterFactory<T extends WalletAdapter> {
74
74
  adapterId: string;
75
75
  metadata: WalletAdapterMetadata;
76
76
  getAdapter(): Availability<T>;
@@ -86,22 +86,17 @@ export interface WalletAdapter {
86
86
  unsubscribe: () => void;
87
87
  };
88
88
  signMessage(address: string, message: string): Promise<SignMessageResult>;
89
- readonly sendBitcoinFeeRateCapability: "unavailable" | "available" | "required";
90
- sendBitcoin(fromAddress: string, receiverAddress: string, satoshiAmount: bigint, options?: {
91
- feeRate?: number;
92
- }): Promise<{
93
- txid: string;
89
+ signAndFinalizePsbt(psbtHex: string, signIndices: [address: string, signIndex: number][]): Promise<{
90
+ signedPsbtHex: string;
94
91
  }>;
95
- readonly sendInscriptionFeeRateCapability: "unavailable" | "available" | "required";
96
- sendInscription?(fromAddress: string, receiverAddress: string, inscriptionId: string, options?: {
92
+ sendBitcoinFeeRateCapability: WalletAdapterSendBitcoinCapability;
93
+ sendBitcoin(fromAddress: string, receiverAddress: string, satoshiAmount: bigint, options?: {
97
94
  feeRate?: number;
98
95
  }): Promise<{
99
96
  txid: string;
100
97
  }>;
101
- signAndFinalizePsbt(psbtHex: string, signIndices: [address: string, signIndex: number][]): Promise<{
102
- signedPsbtHex: string;
103
- }>;
104
98
  }
99
+ export type WalletAdapterSendBitcoinCapability = "unavailable" | "available" | "required";
105
100
  export declare class WalletAdapterErrorBase extends Error {
106
101
  constructor(message: string);
107
102
  }
@@ -1,2 +1,2 @@
1
- "use strict";const o=require("./index-Zx0KcpYx.js"),c=require("./WalletAdapters.types-De_x1lzr.js"),A=require("./transaction-CzdnbXSo.js");class P{walletDisplayName;getProviderId;parseAddresses;constructor(e){this.walletDisplayName=e.walletDisplayName,this.getProviderId=e.getProviderId,this.parseAddresses=e.parseAddresses}async getSdk(){return Promise.resolve().then(()=>require("./index-CaV3F1Nm.js"))}async connect(){await(await this.getSdk()).request("wallet_connect",null)}async disconnect(){return Promise.resolve()}async getAddresses(){const e=await this.getSdk(),t=await l(e.request("getAddresses",{purposes:[e.AddressPurpose.Ordinals,e.AddressPurpose.Payment]},await this.getProviderId()));if(t==null)throw new c.WalletAdapterNotConnectedError(this.walletDisplayName);return this.parseAddresses({sdk:e,network:t.network.bitcoin.name,addresses:t.addresses})}async signMessage(e,t){const a=await this.getSdk();return{result:(await l(a.request("signMessage",{address:e,message:t,protocol:a.MessageSigningProtocols.BIP322},await this.getProviderId()))).signature,address:e,algorithm:c.SignMessageAlgorithm.BIP322}}sendBitcoinFeeRateCapability="unavailable";async sendBitcoin(e,t,a){if((await this.getAddresses()).find(r=>r.purposes.includes(c.WalletAdapterAddressPurpose.Bitcoin))==null)throw new u({code:-32602,message:"Bitcoin address not found"});const d=await this.getSdk();return await l(d.request("sendTransfer",{recipients:[{address:t,amount:Number(a)}]},await this.getProviderId()))}sendInscriptionFeeRateCapability="unavailable";async signAndFinalizePsbt(e,t){const a=await this.getSdk(),n=o.base64.encode(o.hex.decode(e)),d=await l(a.request("signPsbt",{psbt:n,signInputs:t.reduce((i,[g,h])=>(i[g]=[h],i),{}),broadcast:!1},await this.getProviderId())),r=A.Transaction.fromPSBT(o.base64.decode(d.psbt),{allowUnknownInputs:!0,allowUnknownOutputs:!0,disableScriptCheck:!0,allowLegacyWitnessUtxo:!0});return r.finalize(),{signedPsbtHex:o.hex.encode(r.toPSBT())}}onAddressesChanged(e){const t=[];return(async()=>{const a=await this.getSdk(),n=async()=>{try{const i=await this.getAddresses();e({addresses:i})}catch(i){console.warn(`[${this.walletDisplayName}] Failed to get addresses on change:`,i)}},d=a.addListener("accountChange",n),r=a.addListener("networkChange",n);t.push(d,r)})(),{unsubscribe:()=>{t.forEach(a=>a())}}}}var w=(s=>(s[s.PARSE_ERROR=-32700]="PARSE_ERROR",s[s.INVALID_REQUEST=-32600]="INVALID_REQUEST",s[s.METHOD_NOT_FOUND=-32601]="METHOD_NOT_FOUND",s[s.INVALID_PARAMS=-32602]="INVALID_PARAMS",s[s.INTERNAL_ERROR=-32603]="INTERNAL_ERROR",s[s.USER_REJECTION=-32e3]="USER_REJECTION",s[s.METHOD_NOT_SUPPORTED=-32001]="METHOD_NOT_SUPPORTED",s[s.ACCESS_DENIED=-32002]="ACCESS_DENIED",s))(w||{});function p(s){return s!=null&&"code"in s&&"message"in s}class u extends Error{code;constructor(e){super(e.message),this.code=e.code,this.cause=e}}const l=async s=>{try{const e=await s;if(e.status==="error")throw e.error;return e.result}catch(e){throw p(e)?e.code===-32e3?new c.UserRejectError:new u(e):e}};exports.XverseCompatibleProviderError=u;exports.XverseCompatibleWalletAdapterImpl=P;exports.XverseRpcErrorCode=w;
2
- //# sourceMappingURL=XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js.map
1
+ "use strict";const o=require("./index-jRY8YhyK.js"),c=require("./WalletAdapters.types-CExaiK0o.js"),A=require("./transaction-B6SlpRzN.js");class P{walletDisplayName;getProviderId;parseAddresses;constructor(e){this.walletDisplayName=e.walletDisplayName,this.getProviderId=e.getProviderId,this.parseAddresses=e.parseAddresses}async getSdk(){return Promise.resolve().then(()=>require("./index-CaV3F1Nm.js"))}async connect(){await(await this.getSdk()).request("wallet_connect",null)}async disconnect(){return Promise.resolve()}async getAddresses(){const e=await this.getSdk(),t=await l(e.request("getAddresses",{purposes:[e.AddressPurpose.Ordinals,e.AddressPurpose.Payment]},await this.getProviderId()));if(t==null)throw new c.WalletAdapterNotConnectedError(this.walletDisplayName);return this.parseAddresses({sdk:e,network:t.network.bitcoin.name,addresses:t.addresses})}async signMessage(e,t){const a=await this.getSdk();return{result:(await l(a.request("signMessage",{address:e,message:t,protocol:a.MessageSigningProtocols.BIP322},await this.getProviderId()))).signature,address:e,algorithm:c.SignMessageAlgorithm.BIP322}}sendBitcoinFeeRateCapability="unavailable";async sendBitcoin(e,t,a){if((await this.getAddresses()).find(r=>r.purposes.includes(c.WalletAdapterAddressPurpose.Bitcoin))==null)throw new u({code:-32602,message:"Bitcoin address not found"});const d=await this.getSdk();return await l(d.request("sendTransfer",{recipients:[{address:t,amount:Number(a)}]},await this.getProviderId()))}sendInscriptionFeeRateCapability="unavailable";async signAndFinalizePsbt(e,t){const a=await this.getSdk(),n=o.base64.encode(o.hex.decode(e)),d=await l(a.request("signPsbt",{psbt:n,signInputs:t.reduce((i,[g,h])=>(i[g]=[h],i),{}),broadcast:!1},await this.getProviderId())),r=A.Transaction.fromPSBT(o.base64.decode(d.psbt),{allowUnknownInputs:!0,allowUnknownOutputs:!0,disableScriptCheck:!0,allowLegacyWitnessUtxo:!0});return r.finalize(),{signedPsbtHex:o.hex.encode(r.toPSBT())}}onAddressesChanged(e){const t=[];return(async()=>{const a=await this.getSdk(),n=async()=>{try{const i=await this.getAddresses();e({addresses:i})}catch(i){console.warn(`[${this.walletDisplayName}] Failed to get addresses on change:`,i)}},d=a.addListener("accountChange",n),r=a.addListener("networkChange",n);t.push(d,r)})(),{unsubscribe:()=>{t.forEach(a=>a())}}}}var w=(s=>(s[s.PARSE_ERROR=-32700]="PARSE_ERROR",s[s.INVALID_REQUEST=-32600]="INVALID_REQUEST",s[s.METHOD_NOT_FOUND=-32601]="METHOD_NOT_FOUND",s[s.INVALID_PARAMS=-32602]="INVALID_PARAMS",s[s.INTERNAL_ERROR=-32603]="INTERNAL_ERROR",s[s.USER_REJECTION=-32e3]="USER_REJECTION",s[s.METHOD_NOT_SUPPORTED=-32001]="METHOD_NOT_SUPPORTED",s[s.ACCESS_DENIED=-32002]="ACCESS_DENIED",s))(w||{});function p(s){return s!=null&&"code"in s&&"message"in s}class u extends Error{code;constructor(e){super(e.message),this.code=e.code,this.cause=e}}const l=async s=>{try{const e=await s;if(e.status==="error")throw e.error;return e.result}catch(e){throw p(e)?e.code===-32e3?new o.UserRejectError:new u(e):e}};exports.XverseCompatibleProviderError=u;exports.XverseCompatibleWalletAdapterImpl=P;exports.XverseRpcErrorCode=w;
2
+ //# sourceMappingURL=XverseCompatibleWalletAdapterImpl-Dp_GUxQM.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XverseCompatibleWalletAdapterImpl-Dp_GUxQM.js","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 /**\n * @internal\n * @experimental\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","UserRejectError"],"mappings":"2IAyBO,MAAMA,CAA2D,CACnD,kBACA,cACA,eAEnB,YAAYC,EAIT,CACD,KAAK,kBAAoBA,EAAK,kBAC9B,KAAK,cAAgBA,EAAK,cAC1B,KAAK,eAAiBA,EAAK,cAC7B,CAEA,MAAc,QAAiD,CAC7D,OAAO,QAAA,QAAA,EAAA,KAAA,IAAA,QAAO,qBAAc,CAAA,CAC9B,CAEA,MAAM,SAAyB,CAC7B,MAAO,MAAM,KAAK,OAAA,GAAU,QAAQ,iBAAkB,IAAI,CAC5D,CAEA,MAAM,YAA4B,CAChC,OAAO,QAAQ,QAAA,CACjB,CAEA,MAAM,cAAoE,CACxE,MAAMC,EAAM,MAAM,KAAK,OAAA,EAEjBC,EAAO,MAAMC,EACjBF,EAAI,QACF,eACA,CACE,SAAU,CAACA,EAAI,eAAe,SAAUA,EAAI,eAAe,OAAO,CAAA,EAEpE,MAAM,KAAK,cAAA,CAAc,CAC3B,EAGF,GAAIC,GAAQ,KACV,MAAM,IAAIE,EAAAA,+BAA+B,KAAK,iBAAiB,EAGjE,OAAO,KAAK,eAAe,CACzB,IAAAH,EACA,QAASC,EAAK,QAAQ,QAAQ,KAC9B,UAAWA,EAAK,SAAA,CACjB,CACH,CAEA,MAAM,YACJG,EACAC,EAC4B,CAC5B,MAAML,EAAM,MAAM,KAAK,OAAA,EAcvB,MAAO,CACL,QAba,MAAME,EACnBF,EAAI,QACF,cACA,CACE,QAAAI,EACA,QAAAC,EACA,SAAUL,EAAI,wBAAwB,MAAA,EAExC,MAAM,KAAK,cAAA,CAAc,CAC3B,GAIe,UACf,QAAAI,EACA,UAAWE,EAAAA,qBAAqB,MAAA,CAEpC,CAEA,6BAA+B,cAC/B,MAAM,YACJC,EACAC,EACAC,EAC2B,CAI3B,IAHuB,MAAM,KAAK,aAAA,GAAgB,KAAKC,GACrDA,EAAE,SAAS,SAASC,EAAAA,4BAA4B,OAAO,CAAA,GAEpC,KACnB,MAAM,IAAIC,EAA8B,CACtC,KAAM,OACN,QAAS,2BAAA,CACV,EAGH,MAAMZ,EAAM,MAAM,KAAK,OAAA,EAEvB,OAAO,MAAME,EACXF,EAAI,QACF,eACA,CACE,WAAY,CACV,CACE,QAASQ,EACT,OAAQ,OAAOC,CAAa,CAAA,CAC9B,CACF,EAEF,MAAM,KAAK,cAAA,CAAc,CAC3B,CAEJ,CAMA,iCAAmC,cAEnC,MAAM,oBACJI,EACAC,EAGC,CACD,MAAMd,EAAM,MAAM,KAAK,OAAA,EAEjBe,EAAaC,EAAAA,OAAO,OAAOC,EAAAA,IAAI,OAAOJ,CAAO,CAAC,EAE9CK,EAAS,MAAMhB,EACnBF,EAAI,QACF,WACA,CACE,KAAMe,EACN,WAAYD,EAAY,OACtB,CAACK,EAAK,CAACf,EAASgB,CAAS,KACvBD,EAAIf,CAAO,EAAI,CAACgB,CAAS,EAClBD,GAET,CAAA,CAAC,EAEH,UAAW,EAAA,EAEb,MAAM,KAAK,cAAA,CAAc,CAC3B,EAGIE,EAAKC,EAAAA,YAAgB,SAASN,EAAAA,OAAO,OAAOE,EAAO,IAAI,EAAG,CAC9D,mBAAoB,GACpB,oBAAqB,GACrB,mBAAoB,GACpB,uBAAwB,EAAA,CACzB,EACD,OAAAG,EAAG,SAAA,EAEI,CAAE,cAAeJ,EAAAA,IAAI,OAAOI,EAAG,OAAA,CAAQ,CAAA,CAChD,CAEA,mBAAmBE,EAEjB,CAGA,MAAMC,EAAqC,CAAA,EAE3C,OAAM,SAAY,CAChB,MAAMxB,EAAM,MAAM,KAAK,OAAA,EAEjByB,EAAU,SAA2B,CACzC,GAAI,CACF,MAAMC,EAAY,MAAM,KAAK,aAAA,EAC7BH,EAAS,CAAE,UAAAG,EAAW,CACxB,OAASC,EAAO,CACd,QAAQ,KACN,IAAI,KAAK,iBAAiB,uCAC1BA,CAAA,CAEJ,CACF,EAGMC,EAAwB5B,EAAI,YAAY,gBAAiByB,CAAO,EAChEI,EAAwB7B,EAAI,YAAY,gBAAiByB,CAAO,EAEtED,EAAgB,KAAKI,EAAuBC,CAAqB,CACnE,GAAA,EAEO,CACL,YAAa,IAAM,CACjBL,EAAgB,QAAQM,GAAUA,EAAA,CAAQ,CAC5C,CAAA,CAEJ,CACF,CAEO,IAAKC,GAAAA,IAIVA,EAAAA,EAAA,YAAc,MAAA,EAAd,cAIAA,EAAAA,EAAA,gBAAkB,MAAA,EAAlB,kBAIAA,EAAAA,EAAA,iBAAmB,MAAA,EAAnB,mBAIAA,EAAAA,EAAA,eAAiB,MAAA,EAAjB,iBAKAA,EAAAA,EAAA,eAAiB,MAAA,EAAjB,iBAIAA,EAAAA,EAAA,eAAiB,KAAA,EAAjB,iBAIAA,EAAAA,EAAA,qBAAuB,MAAA,EAAvB,uBAIAA,EAAAA,EAAA,cAAgB,MAAA,EAAhB,gBAjCUA,IAAAA,GAAA,CAAA,CAAA,EAuCL,SAASC,EACdC,EAC+C,CAC/C,OAAOA,GAAO,MAAQ,SAAUA,GAAO,YAAaA,CACtD,CAEO,MAAMrB,UAAsC,KAAM,CAC9C,KACT,YAAYqB,EAA6C,CACvD,MAAMA,EAAI,OAAO,EACjB,KAAK,KAAOA,EAAI,KAChB,KAAK,MAAQA,CACf,CACF,CAEA,MAAM/B,EAAiB,MACrBgC,GAGe,CACf,GAAI,CACF,MAAMC,EAAM,MAAMD,EAClB,GAAIC,EAAI,SAAW,QACjB,MAAMA,EAAI,MAEZ,OAAOA,EAAI,MACb,OAAS,EAAQ,CACf,MAAIH,EAAyC,CAAC,EACxC,EAAE,OAAS,MACP,IAAII,EAAAA,gBAEN,IAAIxB,EAA8B,CAAC,EAErC,CACR,CACF"}
@@ -1,6 +1,6 @@
1
- import { i as l, h as c } from "./index-D7YwhNAG.mjs";
2
- import { d as h, S as A, a as m, U as P } from "./WalletAdapters.types-CnvOqHFH.mjs";
3
- import { T as p } from "./transaction-CiLOYSE_.mjs";
1
+ import { p as l, h as c, i as h } from "./index-DM4G-LJz.mjs";
2
+ import { d as A, S as m, a as P } from "./WalletAdapters.types-DBvhI1hu.mjs";
3
+ import { T as p } from "./transaction-4ShhFCwN.mjs";
4
4
  class b {
5
5
  walletDisplayName;
6
6
  getProviderId;
@@ -28,7 +28,7 @@ class b {
28
28
  )
29
29
  );
30
30
  if (t == null)
31
- throw new h(this.walletDisplayName);
31
+ throw new A(this.walletDisplayName);
32
32
  return this.parseAddresses({
33
33
  sdk: s,
34
34
  network: t.network.bitcoin.name,
@@ -50,13 +50,13 @@ class b {
50
50
  )
51
51
  )).signature,
52
52
  address: s,
53
- algorithm: A.BIP322
53
+ algorithm: m.BIP322
54
54
  };
55
55
  }
56
56
  sendBitcoinFeeRateCapability = "unavailable";
57
57
  async sendBitcoin(s, t, a) {
58
58
  if ((await this.getAddresses()).find(
59
- (i) => i.purposes.includes(m.Bitcoin)
59
+ (i) => i.purposes.includes(P.Bitcoin)
60
60
  ) == null)
61
61
  throw new u({
62
62
  code: -32602,
@@ -78,6 +78,10 @@ class b {
78
78
  )
79
79
  );
80
80
  }
81
+ /**
82
+ * @internal
83
+ * @experimental
84
+ */
81
85
  sendInscriptionFeeRateCapability = "unavailable";
82
86
  async signAndFinalizePsbt(s, t) {
83
87
  const a = await this.getSdk(), n = l.encode(c.decode(s)), d = await o(
@@ -140,7 +144,7 @@ const o = async (e) => {
140
144
  throw s.error;
141
145
  return s.result;
142
146
  } catch (s) {
143
- throw S(s) ? s.code === -32e3 ? new P() : new u(s) : s;
147
+ throw S(s) ? s.code === -32e3 ? new h() : new u(s) : s;
144
148
  }
145
149
  };
146
150
  export {
@@ -148,4 +152,4 @@ export {
148
152
  u as a,
149
153
  I as b
150
154
  };
151
- //# sourceMappingURL=XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs.map
155
+ //# sourceMappingURL=XverseCompatibleWalletAdapterImpl-bgp9xDYH.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XverseCompatibleWalletAdapterImpl-bgp9xDYH.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 /**\n * @internal\n * @experimental\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":"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"}
@@ -1,17 +1,17 @@
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 {
1
+ import { n as u, d as T, h as o, e as K, l as N, o as A } from "./index-DM4G-LJz.mjs";
2
+ import { c as P } from "./misc-B5EWO_dn.mjs";
3
+ import { X as b } from "./XverseCompatibleWalletAdapterImpl-bgp9xDYH.mjs";
4
+ import { W as r, a as c, b as n } from "./WalletAdapters.types-DBvhI1hu.mjs";
5
+ class E extends b {
6
6
  constructor() {
7
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(
8
+ walletDisplayName: u.name,
9
+ getProviderId: async () => A,
10
+ parseAddresses: async ({ sdk: e, network: p, addresses: l }) => {
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 = T(
12
12
  d === r.MAINNET ? "mainnet" : "testnet"
13
13
  );
14
- return u.flatMap((s) => {
14
+ return l.flatMap((s) => {
15
15
  const t = [];
16
16
  switch (s.purpose) {
17
17
  case e.AddressPurpose.Ordinals:
@@ -26,7 +26,7 @@ class B extends b {
26
26
  break;
27
27
  }
28
28
  const a = o.encode(
29
- T(y, s.address)
29
+ K(y, s.address)
30
30
  );
31
31
  switch (s.addressType) {
32
32
  case e.AddressType.stacks:
@@ -69,7 +69,7 @@ class B extends b {
69
69
  }
70
70
  case e.AddressType.p2sh: {
71
71
  const i = o.encode(
72
- K(
72
+ N(
73
73
  y,
74
74
  o.decode(s.publicKey)
75
75
  )
@@ -92,7 +92,7 @@ class B extends b {
92
92
  case e.AddressType.spark:
93
93
  return [];
94
94
  default:
95
- return A(s.addressType), [];
95
+ return P(s.addressType), [];
96
96
  }
97
97
  });
98
98
  }
@@ -100,6 +100,6 @@ class B extends b {
100
100
  }
101
101
  }
102
102
  export {
103
- B as XverseWalletAdapterImpl
103
+ E as XverseWalletAdapterImpl
104
104
  };
105
- //# sourceMappingURL=XverseWalletAdapter.impl-CZO0RQva.mjs.map
105
+ //# sourceMappingURL=XverseWalletAdapter.impl-BOpY4Vf8.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XverseWalletAdapter.impl-BOpY4Vf8.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 XverseCompatibleWalletAdapterImpl,\n XverseCompatibleWalletAdapterImplAddress,\n} from \"../utils/XverseCompatibleWalletAdapterImpl\"\nimport {\n WalletAdapter,\n WalletAdapterAddressPurpose,\n WalletAdapterAddressType,\n WalletAdapterBitcoinNetwork,\n} from \"../WalletAdapters.types\"\nimport { metadata, 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: metadata.name,\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","metadata","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-jRY8YhyK.js"),o=require("./misc-CigR0RqC.js"),u=require("./XverseCompatibleWalletAdapterImpl-Dp_GUxQM.js"),t=require("./WalletAdapters.types-CExaiK0o.js");class y extends u.XverseCompatibleWalletAdapterImpl{constructor(){super({walletDisplayName:s.metadata$3.name,getProviderId:async()=>s.XVERSE_PROVIDER_ID,parseAddresses:async({sdk:e,network:p,addresses:n})=>{const a=p===e.BitcoinNetworkType.Mainnet?t.WalletAdapterBitcoinNetwork.MAINNET:p===e.BitcoinNetworkType.Testnet||p===e.BitcoinNetworkType.Testnet4?t.WalletAdapterBitcoinNetwork.TESTNET:(p===e.BitcoinNetworkType.Signet||p===e.BitcoinNetworkType.Regtest,t.WalletAdapterBitcoinNetwork.UNKNOWN),i=s.getBitcoinNetwork(a===t.WalletAdapterBitcoinNetwork.MAINNET?"mainnet":"testnet");return n.flatMap(r=>{const d=[];switch(r.purpose){case e.AddressPurpose.Ordinals:d.push(t.WalletAdapterAddressPurpose.Ordinals,t.WalletAdapterAddressPurpose.BRC20,t.WalletAdapterAddressPurpose.Runes);break;case e.AddressPurpose.Payment:d.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:d,network:a,addressType:t.WalletAdapterAddressType.P2PKH,address:r.address,scriptPubKey:l,publicKey:r.publicKey}];case e.AddressType.p2wpkh:return[{purposes:d,network:a,addressType:t.WalletAdapterAddressType.P2WPKH,address:r.address,scriptPubKey:l,publicKey:r.publicKey}];case e.AddressType.p2tr:{const c=r.publicKey;return[{purposes:d,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:d,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-D0eOtEOa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XverseWalletAdapter.impl-D0eOtEOa.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 XverseCompatibleWalletAdapterImpl,\n XverseCompatibleWalletAdapterImplAddress,\n} from \"../utils/XverseCompatibleWalletAdapterImpl\"\nimport {\n WalletAdapter,\n WalletAdapterAddressPurpose,\n WalletAdapterAddressType,\n WalletAdapterBitcoinNetwork,\n} from \"../WalletAdapters.types\"\nimport { metadata, 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: metadata.name,\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","metadata","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,kBAAmBC,EAAAA,WAAS,KAC5B,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"}
@@ -1,2 +1,6 @@
1
- import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
2
- export declare const BitgetWalletAdapter: WalletAdapterStatic<WalletAdapter>;
1
+ import { WalletAdapter, WalletAdapterMetadata, WalletAdapterFactory } from '../WalletAdapters.types';
2
+ /**
3
+ * https://web3.bitget.com/en/docs/wallet/brand-assets.html
4
+ */
5
+ export declare const metadata: WalletAdapterMetadata;
6
+ export declare function BitgetWalletAdapterFactory(): WalletAdapterFactory<WalletAdapter>;
@@ -1,2 +1,4 @@
1
- import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
2
- export declare const LeatherWalletAdapter: WalletAdapterStatic<WalletAdapter>;
1
+ import { WalletAdapter, WalletAdapterFactory, WalletAdapterMetadata } from '../WalletAdapters.types';
2
+ export declare const adapterId = "LeatherProvider.BitcoinProvider";
3
+ export declare const metadata: WalletAdapterMetadata;
4
+ export declare function LeatherWalletAdapterFactory(): WalletAdapterFactory<WalletAdapter>;
@@ -10,7 +10,6 @@ type Addresses = (WalletAdapterAddress & {
10
10
  export declare class LeatherWalletAdapterImpl implements WalletAdapter {
11
11
  private request;
12
12
  constructor(request: RequestFn);
13
- private readonly walletDisplayName;
14
13
  private retrieveConnectedAddress;
15
14
  connect(): Promise<void>;
16
15
  disconnect(): Promise<void>;
@@ -22,7 +21,15 @@ export declare class LeatherWalletAdapterImpl implements WalletAdapter {
22
21
  }): Promise<{
23
22
  txid: string;
24
23
  }>;
24
+ /**
25
+ * @internal
26
+ * @experimental
27
+ */
25
28
  sendInscriptionFeeRateCapability: "available";
29
+ /**
30
+ * @internal
31
+ * @experimental
32
+ */
26
33
  sendInscription(fromAddress: string, receiverAddress: string, inscriptionId: string, options?: {
27
34
  feeRate?: number;
28
35
  }): Promise<{
@@ -1,4 +1,4 @@
1
- import { WalletAdapter, WalletAdapterBitcoinNetwork, WalletAdapterStatic } from '../WalletAdapters.types';
1
+ import { WalletAdapter, WalletAdapterBitcoinNetwork, WalletAdapterFactory, WalletAdapterMetadata } from '../WalletAdapters.types';
2
2
  import { MagicEdenBitcoinProvider } from './MagicEdenWalletAdapter.impl';
3
3
  declare global {
4
4
  interface Window {
@@ -8,4 +8,7 @@ declare global {
8
8
  }
9
9
  }
10
10
  export declare const MAGICEDEN_PROVIDER_ID = "magiceden.bitcoin";
11
- export declare const MagicEdenWalletAdapterFactory: (network: WalletAdapterBitcoinNetwork) => WalletAdapterStatic<WalletAdapter>;
11
+ export declare const metadata: WalletAdapterMetadata;
12
+ export declare const MagicEdenWalletAdapterFactory: (options: {
13
+ network: WalletAdapterBitcoinNetwork;
14
+ }) => WalletAdapterFactory<WalletAdapter>;
@@ -1,5 +1,5 @@
1
- import { WalletAdapter, WalletAdapter_onAddressesChanged_callback, WalletAdapterBitcoinNetwork } from '../WalletAdapters.types';
2
1
  import { XverseCompatibleWalletAdapterImpl_legacy } from '../utils/XverseCompatibleWalletAdapterImpl_legacy';
2
+ import { WalletAdapter, WalletAdapter_onAddressesChanged_callback, WalletAdapterBitcoinNetwork } from '../WalletAdapters.types';
3
3
  interface MagicEdenBitcoinProviderEvents {
4
4
  accountsChanged: [
5
5
  event: {
@@ -1,33 +1,9 @@
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;
1
+ import { WalletAdapter, WalletAdapterAddress, WalletAdapterBitcoinNetwork, WalletAdapterFactory } from '../WalletAdapters.types';
2
+ export declare const MockAddressWalletAdapterFactory: (network: WalletAdapterBitcoinNetwork, mockedAdapter: WalletAdapterFactory<WalletAdapter>, mockedAddresses: Partial<{
3
+ bitcoin: Partial<WalletAdapterAddress> & {
4
+ address: string;
32
5
  };
33
- }
6
+ ordinals: Partial<WalletAdapterAddress> & {
7
+ address: string;
8
+ };
9
+ }>) => WalletAdapterFactory<WalletAdapter>;
@@ -1,2 +1,3 @@
1
- import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
2
- export declare const OkxWalletAdapter: WalletAdapterStatic<WalletAdapter>;
1
+ import { WalletAdapter, WalletAdapterFactory, WalletAdapterMetadata } from '../WalletAdapters.types';
2
+ export declare const metadata: WalletAdapterMetadata;
3
+ export declare function OkxWalletAdapterFactory(): WalletAdapterFactory<WalletAdapter>;
@@ -1,6 +1,6 @@
1
1
  import { BitcoinWalletAdapterError } from '../utils/error';
2
- import { SignMessageResult, WalletAdapter, WalletAdapter_onAddressesChanged_callback } from '../WalletAdapters.types';
3
2
  import { UniSatEvents, UnisatCompatibleProviderAPI, UnisatCompatibleWalletAdapterImpl } from '../utils/UnisatCompatibleWalletAdapterImpl';
3
+ import { SignMessageResult, WalletAdapter, WalletAdapter_onAddressesChanged_callback } from '../WalletAdapters.types';
4
4
  declare enum RpcErrorCode {
5
5
  PARSE_ERROR = -32700,
6
6
  INVALID_REQUEST = -32600,
@@ -33,6 +33,10 @@ export declare class OkxWalletAdapterImpl extends UnisatCompatibleWalletAdapterI
33
33
  }): Promise<{
34
34
  txid: string;
35
35
  }>;
36
+ /**
37
+ * @internal
38
+ * @experimental
39
+ */
36
40
  sendInscription(fromAddress: string, receiverAddress: string, inscriptionId: string, options?: {
37
41
  feeRate?: number;
38
42
  }): Promise<{
@@ -1,2 +1,3 @@
1
- import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
2
- export declare const UnisatWalletAdapter: WalletAdapterStatic<WalletAdapter>;
1
+ import { WalletAdapter, WalletAdapterMetadata, WalletAdapterFactory } from '../WalletAdapters.types';
2
+ export declare const metadata: WalletAdapterMetadata;
3
+ export declare function UnisatWalletAdapterFactory(): WalletAdapterFactory<WalletAdapter>;
@@ -10,5 +10,9 @@ import { WalletAdapter } from '../WalletAdapters.types';
10
10
  export declare class UnisatWalletAdapterImpl extends UnisatCompatibleWalletAdapterImpl implements WalletAdapter {
11
11
  constructor(provider: UnisatCompatibleProviderAPI);
12
12
  sendBitcoinFeeRateCapability: "required";
13
+ /**
14
+ * @internal
15
+ * @experimental
16
+ */
13
17
  sendInscriptionFeeRateCapability: "unavailable";
14
18
  }
@@ -1,3 +1,4 @@
1
- import { WalletAdapter, WalletAdapterStatic } from '../WalletAdapters.types';
1
+ import { WalletAdapter, WalletAdapterFactory, WalletAdapterMetadata } from '../WalletAdapters.types';
2
2
  export declare const XVERSE_PROVIDER_ID = "XverseProviders.BitcoinProvider";
3
- export declare const XverseWalletAdapter: WalletAdapterStatic<WalletAdapter>;
3
+ export declare const metadata: WalletAdapterMetadata;
4
+ export declare function XverseWalletAdapterFactory(): WalletAdapterFactory<WalletAdapter>;
@@ -1,5 +1,5 @@
1
- import { WalletAdapter } from '../WalletAdapters.types';
2
1
  import { XverseCompatibleWalletAdapterImpl, XverseCompatibleWalletAdapterImplAddress } from '../utils/XverseCompatibleWalletAdapterImpl';
2
+ import { WalletAdapter } from '../WalletAdapters.types';
3
3
  declare global {
4
4
  interface Window {
5
5
  btc_providers?: import("sats-connect").Provider[];
@@ -1,7 +1,7 @@
1
- export { BitgetWalletAdapter } from './BitgetWalletAdapter';
2
- export { LeatherWalletAdapter } from './LeatherWalletAdapter';
1
+ export { BitgetWalletAdapterFactory } from './BitgetWalletAdapter';
2
+ export { LeatherWalletAdapterFactory } from './LeatherWalletAdapter';
3
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';
4
+ export { MockAddressWalletAdapterFactory } from './MockAddressWalletAdapter';
5
+ export { OkxWalletAdapterFactory } from './OkxWalletAdapter';
6
+ export { UnisatWalletAdapterFactory } from './UnisatWalletAdapter';
7
+ export { XverseWalletAdapterFactory } from './XverseWalletAdapter';
package/lib/adapters.js CHANGED
@@ -1,2 +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;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./index-jRY8YhyK.js");exports.BitgetWalletAdapterFactory=t.BitgetWalletAdapterFactory;exports.LeatherWalletAdapterFactory=t.LeatherWalletAdapterFactory;exports.MagicEdenWalletAdapterFactory=t.MagicEdenWalletAdapterFactory;exports.MockAddressWalletAdapterFactory=t.MockAddressWalletAdapterFactory;exports.OkxWalletAdapterFactory=t.OkxWalletAdapterFactory;exports.UnisatWalletAdapterFactory=t.UnisatWalletAdapterFactory;exports.XverseWalletAdapterFactory=t.XverseWalletAdapterFactory;
2
2
  //# sourceMappingURL=adapters.js.map
package/lib/adapters.mjs CHANGED
@@ -1,11 +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";
1
+ import { B as e, L as r, M as l, a as s, O as d, U as o, X as c } from "./index-DM4G-LJz.mjs";
2
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
3
+ e as BitgetWalletAdapterFactory,
4
+ r as LeatherWalletAdapterFactory,
5
+ l as MagicEdenWalletAdapterFactory,
6
+ s as MockAddressWalletAdapterFactory,
7
+ d as OkxWalletAdapterFactory,
8
+ o as UnisatWalletAdapterFactory,
9
+ c as XverseWalletAdapterFactory
10
10
  };
11
11
  //# sourceMappingURL=adapters.mjs.map
@@ -0,0 +1,5 @@
1
+ const o = "bitcoin-wallet-connector";
2
+ export {
3
+ o as L
4
+ };
5
+ //# sourceMappingURL=constants-B7qVf97f.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-B7qVf97f.mjs","sources":["../src/constants.ts"],"sourcesContent":["export const LOCAL_STORAGE_KEY_PREFIX = \"bitcoin-wallet-connector\"\n"],"names":["LOCAL_STORAGE_KEY_PREFIX"],"mappings":"AAAO,MAAMA,IAA2B;"}
@@ -0,0 +1,2 @@
1
+ "use strict";const t="bitcoin-wallet-connector";exports.LOCAL_STORAGE_KEY_PREFIX=t;
2
+ //# sourceMappingURL=constants-Dr0_Mix2.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants-Dr0_Mix2.js","sources":["../src/constants.ts"],"sourcesContent":["export const LOCAL_STORAGE_KEY_PREFIX = \"bitcoin-wallet-connector\"\n"],"names":["LOCAL_STORAGE_KEY_PREFIX"],"mappings":"aAAO,MAAMA,EAA2B"}
@@ -0,0 +1 @@
1
+ export declare const LOCAL_STORAGE_KEY_PREFIX = "bitcoin-wallet-connector";