@sats-connect/core 0.0.9-d3dff4d → 0.0.10-294372d

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/dist/index.d.mts CHANGED
@@ -141,8 +141,7 @@ declare function getSupportedWallets(): SupportedWallet[];
141
141
 
142
142
  declare enum BitcoinNetworkType {
143
143
  Mainnet = "Mainnet",
144
- Testnet = "Testnet",
145
- Signet = "Signet"
144
+ Testnet = "Testnet"
146
145
  }
147
146
  interface BitcoinNetwork {
148
147
  type: BitcoinNetworkType;
@@ -731,14 +730,14 @@ declare abstract class SatsConnectAdapter {
731
730
  private getOrder;
732
731
  private estimateRbfOrder;
733
732
  private rbfOrder;
734
- request<Method extends keyof Requests>(method: Method, params: Params<Method>): Promise<RpcResult<Method> | undefined>;
735
- protected abstract requestInternal<Method extends keyof Requests>(method: Method, params: Params<Method>): Promise<RpcResult<Method> | undefined>;
733
+ request<Method extends keyof Requests>(method: Method, params: Params<Method>): Promise<RpcResult<Method>>;
734
+ protected abstract requestInternal<Method extends keyof Requests>(method: Method, params: Params<Method>): Promise<RpcResult<Method>>;
736
735
  }
737
736
 
738
737
  declare class BaseAdapter extends SatsConnectAdapter {
739
738
  id: string;
740
739
  constructor(providerId: string);
741
- requestInternal: <Method extends keyof BtcRequests | keyof StxRequests | keyof RunesRequests>(method: Method, params: Params<Method>) => Promise<RpcResult<Method> | undefined>;
740
+ requestInternal: <Method extends keyof BtcRequests | keyof StxRequests | keyof RunesRequests>(method: Method, params: Params<Method>) => Promise<RpcResult<Method>>;
742
741
  }
743
742
 
744
743
  declare const DefaultAdaptersInfo: Record<string, Provider>;
package/dist/index.mjs CHANGED
@@ -2,7 +2,6 @@
2
2
  var BitcoinNetworkType = /* @__PURE__ */ ((BitcoinNetworkType2) => {
3
3
  BitcoinNetworkType2["Mainnet"] = "Mainnet";
4
4
  BitcoinNetworkType2["Testnet"] = "Testnet";
5
- BitcoinNetworkType2["Signet"] = "Signet";
6
5
  return BitcoinNetworkType2;
7
6
  })(BitcoinNetworkType || {});
8
7
  var RpcErrorCode = /* @__PURE__ */ ((RpcErrorCode2) => {
@@ -18,12 +17,7 @@ var RpcErrorCode = /* @__PURE__ */ ((RpcErrorCode2) => {
18
17
 
19
18
  // src/runes/api.ts
20
19
  import axios from "axios";
21
- var urlNetworkSuffix = {
22
- ["Mainnet" /* Mainnet */]: "",
23
- ["Testnet" /* Testnet */]: "-testnet",
24
- ["Signet" /* Signet */]: "-signet"
25
- };
26
- var ORDINALS_API_BASE_URL = (network = "Mainnet" /* Mainnet */) => `https://ordinals${urlNetworkSuffix[network]}.xverse.app/v1`;
20
+ var ORDINALS_API_BASE_URL = (network = "Mainnet" /* Mainnet */) => `https://ordinals${network === "Testnet" /* Testnet */ ? "-testnet" : ""}.xverse.app/v1`;
27
21
  var RunesApi = class {
28
22
  client;
29
23
  constructor(network) {
@@ -157,18 +151,24 @@ var RunesApi = class {
157
151
  }
158
152
  };
159
153
  };
160
- var clients = {};
161
- var getRunesApiClient = (network = "Mainnet" /* Mainnet */) => {
162
- if (!clients[network]) {
163
- clients[network] = new RunesApi(network);
164
- }
165
- return clients[network];
166
- };
154
+ var testnetClient = new RunesApi("Testnet" /* Testnet */);
155
+ var mainnetClient = new RunesApi("Mainnet" /* Mainnet */);
156
+ var getRunesApiClient = (network = "Mainnet" /* Mainnet */) => network === "Mainnet" /* Mainnet */ ? mainnetClient : testnetClient;
167
157
 
168
158
  // src/adapters/satsConnectAdapter.ts
169
159
  var SatsConnectAdapter = class {
170
160
  async mintRunes(params) {
171
161
  try {
162
+ const walletInfo = await this.requestInternal("getInfo", null).catch(() => null);
163
+ if (walletInfo && walletInfo.status === "success") {
164
+ const isMintSupported = walletInfo.result.methods?.includes("runes_mint");
165
+ if (isMintSupported) {
166
+ const response = await this.requestInternal("runes_mint", params);
167
+ if (response) {
168
+ return response;
169
+ }
170
+ }
171
+ }
172
172
  const mintRequest = {
173
173
  destinationAddress: params.destinationAddress,
174
174
  feeRate: params.feeRate,
@@ -196,14 +196,8 @@ var SatsConnectAdapter = class {
196
196
  }
197
197
  ]
198
198
  });
199
- if (paymentResponse?.status !== "success") {
200
- return {
201
- status: "error",
202
- error: {
203
- code: -32e3 /* USER_REJECTION */,
204
- message: "User rejected the payment request"
205
- }
206
- };
199
+ if (paymentResponse.status !== "success") {
200
+ return paymentResponse;
207
201
  }
208
202
  await new RunesApi(params.network).executeMint(
209
203
  orderResponse.data.orderId,
@@ -244,6 +238,16 @@ var SatsConnectAdapter = class {
244
238
  appServiceFeeAddress: params.appServiceFeeAddress
245
239
  };
246
240
  try {
241
+ const walletInfo = await this.requestInternal("getInfo", null).catch(() => null);
242
+ if (walletInfo && walletInfo.status === "success") {
243
+ const isEtchSupported = walletInfo.result.methods?.includes("runes_etch");
244
+ if (isEtchSupported) {
245
+ const response = await this.requestInternal("runes_etch", params);
246
+ if (response) {
247
+ return response;
248
+ }
249
+ }
250
+ }
247
251
  const orderResponse = await new RunesApi(params.network).createEtchOrder(etchRequest);
248
252
  if (!orderResponse.data) {
249
253
  return {
@@ -262,14 +266,8 @@ var SatsConnectAdapter = class {
262
266
  }
263
267
  ]
264
268
  });
265
- if (paymentResponse?.status !== "success") {
266
- return {
267
- status: "error",
268
- error: {
269
- code: -32e3 /* USER_REJECTION */,
270
- message: "User rejected the payment request"
271
- }
272
- };
269
+ if (paymentResponse.status !== "success") {
270
+ return paymentResponse;
273
271
  }
274
272
  await new RunesApi(params.network).executeEtch(
275
273
  orderResponse.data.orderId,
@@ -412,14 +410,8 @@ var SatsConnectAdapter = class {
412
410
  }
413
411
  ]
414
412
  });
415
- if (paymentResponse?.status !== "success") {
416
- return {
417
- status: "error",
418
- error: {
419
- code: -32e3 /* USER_REJECTION */,
420
- message: "User rejected the payment request"
421
- }
422
- };
413
+ if (paymentResponse.status !== "success") {
414
+ return paymentResponse;
423
415
  }
424
416
  return {
425
417
  status: "success",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sats-connect/core",
3
- "version": "0.0.9-d3dff4d",
3
+ "version": "0.0.10-294372d",
4
4
  "main": "dist/index.mjs",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.mts",