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.
- package/README.md +208 -0
- package/lib/BitcoinConnectionProvider.d.ts +23 -0
- package/lib/BitcoinWalletAdapterConnector-Bq835yj0.mjs +123 -0
- package/lib/BitcoinWalletAdapterConnector-Bq835yj0.mjs.map +1 -0
- package/lib/BitcoinWalletAdapterConnector-DMef0iHV.js +2 -0
- package/lib/BitcoinWalletAdapterConnector-DMef0iHV.js.map +1 -0
- package/lib/BitcoinWalletAdapterConnector.d.ts +30 -0
- package/lib/BitgetWalletAdapter.impl-C_HLO7Oi.mjs +10 -0
- package/lib/BitgetWalletAdapter.impl-C_HLO7Oi.mjs.map +1 -0
- package/lib/BitgetWalletAdapter.impl-CxnKMf7U.js +2 -0
- package/lib/BitgetWalletAdapter.impl-CxnKMf7U.js.map +1 -0
- package/lib/LeatherWalletAdapter.impl-B2QgX_tO.js +2 -0
- package/lib/LeatherWalletAdapter.impl-B2QgX_tO.js.map +1 -0
- package/lib/LeatherWalletAdapter.impl-RUYx555r.mjs +184 -0
- package/lib/LeatherWalletAdapter.impl-RUYx555r.mjs.map +1 -0
- package/lib/MagicEdenWalletAdapter.impl-CrA6SGvG.mjs +235 -0
- package/lib/MagicEdenWalletAdapter.impl-CrA6SGvG.mjs.map +1 -0
- package/lib/MagicEdenWalletAdapter.impl-Di3Nu2S5.js +2 -0
- package/lib/MagicEdenWalletAdapter.impl-Di3Nu2S5.js.map +1 -0
- package/lib/OkxWalletAdapter.impl-BepoUL1B.mjs +67 -0
- package/lib/OkxWalletAdapter.impl-BepoUL1B.mjs.map +1 -0
- package/lib/OkxWalletAdapter.impl-C8kesjGu.js +2 -0
- package/lib/OkxWalletAdapter.impl-C8kesjGu.js.map +1 -0
- package/lib/UnisatCompatibleWalletAdapterImpl-Cq2Oqk1b.js +2 -0
- package/lib/UnisatCompatibleWalletAdapterImpl-Cq2Oqk1b.js.map +1 -0
- package/lib/UnisatCompatibleWalletAdapterImpl-M38FqkZI.mjs +137 -0
- package/lib/UnisatCompatibleWalletAdapterImpl-M38FqkZI.mjs.map +1 -0
- package/lib/UnisatWalletAdapter.impl-CJB22se8.mjs +14 -0
- package/lib/UnisatWalletAdapter.impl-CJB22se8.mjs.map +1 -0
- package/lib/UnisatWalletAdapter.impl-EISvxdpc.js +2 -0
- package/lib/UnisatWalletAdapter.impl-EISvxdpc.js.map +1 -0
- package/lib/WalletAdapters.types-CnvOqHFH.mjs +32 -0
- package/lib/WalletAdapters.types-CnvOqHFH.mjs.map +1 -0
- package/lib/WalletAdapters.types-De_x1lzr.js +2 -0
- package/lib/WalletAdapters.types-De_x1lzr.js.map +1 -0
- package/lib/WalletAdapters.types.d.ts +110 -0
- package/lib/XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js +2 -0
- package/lib/XverseCompatibleWalletAdapterImpl-Bf-BK5VK.js.map +1 -0
- package/lib/XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs +151 -0
- package/lib/XverseCompatibleWalletAdapterImpl-DXKnO_-V.mjs.map +1 -0
- package/lib/XverseWalletAdapter.impl-CZO0RQva.mjs +105 -0
- package/lib/XverseWalletAdapter.impl-CZO0RQva.mjs.map +1 -0
- package/lib/XverseWalletAdapter.impl-lJwMi-Iv.js +2 -0
- package/lib/XverseWalletAdapter.impl-lJwMi-Iv.js.map +1 -0
- package/lib/adapters/BitgetWalletAdapter.d.ts +2 -0
- package/lib/adapters/BitgetWalletAdapter.impl.d.ts +8 -0
- package/lib/adapters/LeatherWalletAdapter.d.ts +2 -0
- package/lib/adapters/LeatherWalletAdapter.impl.d.ts +41 -0
- package/lib/adapters/MagicEdenWalletAdapter.d.ts +11 -0
- package/lib/adapters/MagicEdenWalletAdapter.impl.d.ts +22 -0
- package/lib/adapters/MockAddressWalletAdapter.d.ts +33 -0
- package/lib/adapters/OkxWalletAdapter.d.ts +2 -0
- package/lib/adapters/OkxWalletAdapter.impl.d.ts +51 -0
- package/lib/adapters/UnisatWalletAdapter.d.ts +2 -0
- package/lib/adapters/UnisatWalletAdapter.impl.d.ts +14 -0
- package/lib/adapters/XverseWalletAdapter.d.ts +3 -0
- package/lib/adapters/XverseWalletAdapter.impl.d.ts +14 -0
- package/lib/adapters/index.d.ts +7 -0
- package/lib/adapters.js +2 -0
- package/lib/adapters.js.map +1 -0
- package/lib/adapters.mjs +11 -0
- package/lib/adapters.mjs.map +1 -0
- package/lib/bitget-C7oB4Ffq.mjs +5 -0
- package/lib/bitget-C7oB4Ffq.mjs.map +1 -0
- package/lib/bitget-DXnsxx_y.js +2 -0
- package/lib/bitget-DXnsxx_y.js.map +1 -0
- package/lib/index-CaV3F1Nm.js +424 -0
- package/lib/index-CaV3F1Nm.js.map +1 -0
- package/lib/index-CcQUdePc.mjs +12224 -0
- package/lib/index-CcQUdePc.mjs.map +1 -0
- package/lib/index-D7YwhNAG.mjs +3946 -0
- package/lib/index-D7YwhNAG.mjs.map +1 -0
- package/lib/index-Zx0KcpYx.js +2 -0
- package/lib/index-Zx0KcpYx.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +2 -0
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +20 -0
- package/lib/index.mjs.map +1 -0
- package/lib/leather-BoQG_CPn.mjs +5 -0
- package/lib/leather-BoQG_CPn.mjs.map +1 -0
- package/lib/leather-DJ8nWmM8.js +2 -0
- package/lib/leather-DJ8nWmM8.js.map +1 -0
- package/lib/magiceden-B36CEQa6.js +2 -0
- package/lib/magiceden-B36CEQa6.js.map +1 -0
- package/lib/magiceden-Cg7d3agI.mjs +5 -0
- package/lib/magiceden-Cg7d3agI.mjs.map +1 -0
- package/lib/misc-B5EWO_dn.mjs +10 -0
- package/lib/misc-B5EWO_dn.mjs.map +1 -0
- package/lib/misc-CigR0RqC.js +2 -0
- package/lib/misc-CigR0RqC.js.map +1 -0
- package/lib/okx-ChwzM0dK.js +2 -0
- package/lib/okx-ChwzM0dK.js.map +1 -0
- package/lib/okx-DWbHwazu.mjs +5 -0
- package/lib/okx-DWbHwazu.mjs.map +1 -0
- package/lib/react.d.ts +2 -0
- package/lib/react.js +2 -0
- package/lib/react.js.map +1 -0
- package/lib/react.mjs +128 -0
- package/lib/react.mjs.map +1 -0
- package/lib/transaction-CiLOYSE_.mjs +1063 -0
- package/lib/transaction-CiLOYSE_.mjs.map +1 -0
- package/lib/transaction-CzdnbXSo.js +2 -0
- package/lib/transaction-CzdnbXSo.js.map +1 -0
- package/lib/unisat-BvZW5h0U.js +2 -0
- package/lib/unisat-BvZW5h0U.js.map +1 -0
- package/lib/unisat-pLgab4nG.mjs +5 -0
- package/lib/unisat-pLgab4nG.mjs.map +1 -0
- package/lib/utils/StateChannel.d.ts +14 -0
- package/lib/utils/UnisatCompatibleWalletAdapterImpl.d.ts +99 -0
- package/lib/utils/XverseCompatibleWalletAdapterImpl.d.ts +80 -0
- package/lib/utils/XverseCompatibleWalletAdapterImpl_legacy.d.ts +44 -0
- package/lib/utils/bitcoinAddressHelpers.d.ts +14 -0
- package/lib/utils/bitcoinNetworkHelpers.d.ts +4 -0
- package/lib/utils/createAdapterAvailability.d.ts +15 -0
- package/lib/utils/error.d.ts +6 -0
- package/lib/utils/misc.d.ts +3 -0
- package/lib/xverse-IKOHyGi-.js +2 -0
- package/lib/xverse-IKOHyGi-.js.map +1 -0
- package/lib/xverse-iHLNanCB.mjs +5 -0
- package/lib/xverse-iHLNanCB.mjs.map +1 -0
- package/package.json +86 -0
- package/src/BitcoinConnectionProvider.stories.tsx +329 -0
- package/src/BitcoinConnectionProvider.tsx +234 -0
- package/src/BitcoinWalletAdapterConnector.ts +166 -0
- package/src/WalletAdapters.types.ts +154 -0
- package/src/_/bitget.png +0 -0
- package/src/_/leather.svg +4 -0
- package/src/_/magiceden.png +0 -0
- package/src/_/okx.png +0 -0
- package/src/_/unisat.svg +31 -0
- package/src/_/xverse.png +0 -0
- package/src/adapters/BitgetWalletAdapter.impl.ts +22 -0
- package/src/adapters/BitgetWalletAdapter.ts +44 -0
- package/src/adapters/LeatherWalletAdapter.impl.ts +324 -0
- package/src/adapters/LeatherWalletAdapter.ts +35 -0
- package/src/adapters/MagicEdenWalletAdapter.impl.ts +139 -0
- package/src/adapters/MagicEdenWalletAdapter.ts +51 -0
- package/src/adapters/MockAddressWalletAdapter.ts +199 -0
- package/src/adapters/OkxWalletAdapter.impl.ts +168 -0
- package/src/adapters/OkxWalletAdapter.ts +37 -0
- package/src/adapters/UnisatWalletAdapter.impl.ts +32 -0
- package/src/adapters/UnisatWalletAdapter.ts +50 -0
- package/src/adapters/XverseWalletAdapter.impl.ts +150 -0
- package/src/adapters/XverseWalletAdapter.ts +37 -0
- package/src/adapters/index.ts +7 -0
- package/src/env.d.ts +9 -0
- package/src/index.ts +3 -0
- package/src/react.ts +9 -0
- package/src/utils/StateChannel.ts +39 -0
- package/src/utils/UnisatCompatibleWalletAdapterImpl.ts +342 -0
- package/src/utils/XverseCompatibleWalletAdapterImpl.ts +288 -0
- package/src/utils/XverseCompatibleWalletAdapterImpl_legacy.ts +278 -0
- package/src/utils/bitcoinAddressHelpers.ts +132 -0
- package/src/utils/bitcoinNetworkHelpers.ts +17 -0
- package/src/utils/createAdapterAvailability.ts +92 -0
- package/src/utils/error.ts +13 -0
- 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":"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"}
|
|
@@ -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,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,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,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,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,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';
|
package/lib/adapters.js
ADDED
|
@@ -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":""}
|
package/lib/adapters.mjs
ADDED
|
@@ -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,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";
|
|
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"}
|