@sats-connect/core 0.4.0-9b65d1d → 0.4.0-bcedde9

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.mjs CHANGED
@@ -1,6 +1,3 @@
1
- // src/provider/index.ts
2
- import omit from "lodash.omit";
3
-
4
1
  // src/provider/types.ts
5
2
  import * as v from "valibot";
6
3
  var accountChangeEventName = "accountChange";
@@ -50,11 +47,9 @@ function removeDefaultProvider() {
50
47
  localStorage.removeItem("sats-connect_defaultProvider");
51
48
  }
52
49
  function getSupportedWallets() {
53
- const btc_providers = getProviders();
54
- const allProviders = [...btc_providers];
55
- for (const key in omit(DefaultAdaptersInfo, ["xverse"])) {
56
- allProviders.push(DefaultAdaptersInfo[key]);
57
- }
50
+ const ambientProviders = getProviders();
51
+ const { xverse, ...defaultProviders } = DefaultAdaptersInfo;
52
+ const allProviders = [...ambientProviders, ...Object.values(defaultProviders)];
58
53
  const wallets = allProviders.map((provider) => {
59
54
  {
60
55
  return {
@@ -120,6 +115,9 @@ var rpcResponseMessageSchema = v2.union([
120
115
  // src/request/index.ts
121
116
  import * as v10 from "valibot";
122
117
 
118
+ // src/request/types/stxMethods.ts
119
+ import * as v4 from "valibot";
120
+
123
121
  // src/addresses/index.ts
124
122
  import { createUnsecuredToken } from "jsontokens";
125
123
 
@@ -165,7 +163,6 @@ var getAddress = async (options) => {
165
163
  };
166
164
 
167
165
  // src/request/types/stxMethods.ts
168
- import * as v4 from "valibot";
169
166
  var stxGetAddressesMethodName = "stx_getAddresses";
170
167
  var stxGetAddressesParamsSchema = v4.nullish(
171
168
  v4.object({
@@ -386,12 +383,18 @@ var getBalanceRequestMessageSchema = v6.object({
386
383
  // src/request/types/walletMethods.ts
387
384
  import * as v7 from "valibot";
388
385
  import { permissions } from "@secretkeylabs/xverse-core";
389
- var permissionWithoutClientId = v7.variant("type", [
390
- v7.omit(permissions.resources.account.accountPermissionSchema, ["clientId"]),
391
- v7.omit(permissions.resources.wallet.walletPermissionSchema, ["clientId"])
386
+ var permissionTemplate = v7.variant("type", [
387
+ v7.object({
388
+ ...v7.omit(permissions.resources.account.accountPermissionSchema, ["clientId", "actions"]).entries,
389
+ actions: v7.partial(permissions.resources.account.accountActionsSchema)
390
+ }),
391
+ v7.object({
392
+ ...v7.omit(permissions.resources.wallet.walletPermissionSchema, ["clientId"]).entries,
393
+ actions: v7.partial(permissions.resources.wallet.walletActionsSchema)
394
+ })
392
395
  ]);
393
396
  var requestPermissionsMethodName = "wallet_requestPermissions";
394
- var requestPermissionsParamsSchema = v7.nullish(v7.array(permissionWithoutClientId));
397
+ var requestPermissionsParamsSchema = v7.nullish(v7.array(permissionTemplate));
395
398
  var requestPermissionsResultSchema = v7.literal(true);
396
399
  var requestPermissionsRequestMessageSchema = v7.object({
397
400
  ...rpcRequestMessageSchema.entries,
@@ -460,27 +463,10 @@ var getAccountRequestMessageSchema = v7.object({
460
463
  id: v7.string()
461
464
  }).entries
462
465
  });
463
- var registerClientMethodName = "wallet_registerClient";
464
- var registerClientParamsSchema = v7.object({
465
- name: v7.optional(v7.string()),
466
- description: v7.optional(v7.string())
467
- });
468
- var registerClientResultSchema = v7.object({
469
- id: v7.string()
470
- });
471
- var registerClientRequestMessageSchema = v7.object({
472
- ...rpcRequestMessageSchema.entries,
473
- ...v7.object({
474
- method: v7.literal(registerClientMethodName),
475
- params: registerClientParamsSchema,
476
- id: v7.string()
477
- }).entries
478
- });
479
466
  var connectMethodName = "wallet_connect";
480
467
  var connectParamsSchema = v7.nullish(
481
468
  v7.object({
482
- permissions: v7.optional(v7.array(permissionWithoutClientId)),
483
- clientInfo: registerClientParamsSchema
469
+ permissions: v7.optional(v7.array(permissionTemplate))
484
470
  })
485
471
  );
486
472
  var connectResultSchema = getAccountResultSchema;
@@ -1124,17 +1110,16 @@ var XverseAdapter = class extends SatsConnectAdapter {
1124
1110
  };
1125
1111
 
1126
1112
  // src/adapters/unisat.ts
1127
- import { Buffer } from "buffer";
1128
1113
  import { AddressType as AddressType2, getAddressInfo } from "bitcoin-address-validation";
1129
- function convertSignInputsToInputType(signInputs, allowedSignHash) {
1114
+ import { Buffer } from "buffer";
1115
+ function convertSignInputsToInputType(signInputs) {
1130
1116
  let result = [];
1131
1117
  for (let address in signInputs) {
1132
1118
  let indexes = signInputs[address];
1133
1119
  for (let index of indexes) {
1134
1120
  result.push({
1135
1121
  index,
1136
- address,
1137
- sighashTypes: allowedSignHash ? [allowedSignHash] : void 0
1122
+ address
1138
1123
  });
1139
1124
  }
1140
1125
  }
@@ -1166,10 +1151,10 @@ var UnisatAdapter = class extends SatsConnectAdapter {
1166
1151
  };
1167
1152
  const response = [];
1168
1153
  if (purposes.includes("payment" /* Payment */)) {
1169
- response.push(paymentAddress);
1154
+ response.push({ ...paymentAddress, walletType: "software" });
1170
1155
  }
1171
1156
  if (purposes.includes("ordinals" /* Ordinals */)) {
1172
- response.push(ordinalsAddress);
1157
+ response.push({ ...ordinalsAddress, walletType: "software" });
1173
1158
  }
1174
1159
  return response;
1175
1160
  }
@@ -1182,14 +1167,16 @@ var UnisatAdapter = class extends SatsConnectAdapter {
1182
1167
  return {
1183
1168
  address,
1184
1169
  messageHash: "",
1185
- signature: response2
1170
+ signature: response2,
1171
+ protocol: "BIP322" /* BIP322 */
1186
1172
  };
1187
1173
  }
1188
1174
  const response = await window.unisat.signMessage(message, "ecdsa");
1189
1175
  return {
1190
1176
  address,
1191
1177
  messageHash: "",
1192
- signature: response
1178
+ signature: response,
1179
+ protocol: "ECDSA" /* ECDSA */
1193
1180
  };
1194
1181
  }
1195
1182
  async sendTransfer(params) {
@@ -1203,11 +1190,11 @@ var UnisatAdapter = class extends SatsConnectAdapter {
1203
1190
  };
1204
1191
  }
1205
1192
  async signPsbt(params) {
1206
- const { psbt, signInputs, allowedSignHash, broadcast } = params;
1193
+ const { psbt, signInputs, broadcast } = params;
1207
1194
  const psbtHex = Buffer.from(psbt, "base64").toString("hex");
1208
1195
  const signedPsbt = await window.unisat.signPsbt(psbtHex, {
1209
1196
  autoFinalized: broadcast,
1210
- toSignInputs: convertSignInputsToInputType(signInputs, allowedSignHash)
1197
+ toSignInputs: convertSignInputsToInputType(signInputs)
1211
1198
  });
1212
1199
  if (broadcast) {
1213
1200
  const txid = await window.unisat.pushPsbt(psbtHex);
@@ -1277,6 +1264,33 @@ var UnisatAdapter = class extends SatsConnectAdapter {
1277
1264
  };
1278
1265
  }
1279
1266
  };
1267
+ addListener = (eventName, cb) => {
1268
+ switch (eventName) {
1269
+ case "accountChange": {
1270
+ const handler = () => {
1271
+ cb({ type: "accountChange" });
1272
+ };
1273
+ window.unisat.on("accountsChanged", handler);
1274
+ return () => {
1275
+ window.unisat.removeListener("accountsChanged", handler);
1276
+ };
1277
+ }
1278
+ case "networkChange": {
1279
+ const handler = () => {
1280
+ cb({ type: "networkChange" });
1281
+ };
1282
+ window.unisat.on("networkChanged", handler);
1283
+ return () => {
1284
+ window.unisat.removeListener("networkChanged", handler);
1285
+ };
1286
+ }
1287
+ default: {
1288
+ console.error("Event not supported by the selected wallet");
1289
+ return () => {
1290
+ };
1291
+ }
1292
+ }
1293
+ };
1280
1294
  };
1281
1295
 
1282
1296
  // src/adapters/BaseAdapter.ts
@@ -1600,11 +1614,7 @@ export {
1600
1614
  isProviderInstalled,
1601
1615
  networkChangeEventName,
1602
1616
  networkChangeSchema,
1603
- permissionWithoutClientId,
1604
- registerClientMethodName,
1605
- registerClientParamsSchema,
1606
- registerClientRequestMessageSchema,
1607
- registerClientResultSchema,
1617
+ permissionTemplate,
1608
1618
  removeDefaultProvider,
1609
1619
  renouncePermissionsMethodName,
1610
1620
  renouncePermissionsParamsSchema,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sats-connect/core",
3
- "version": "0.4.0-9b65d1d",
3
+ "version": "0.4.0-bcedde9",
4
4
  "main": "dist/index.mjs",
5
5
  "module": "dist/index.mjs",
6
6
  "types": "dist/index.d.mts",
@@ -9,11 +9,12 @@
9
9
  ],
10
10
  "scripts": {
11
11
  "test": "jest",
12
- "build-debug": "webpack --mode development",
13
- "build": "npm run clean && tsup src/index.ts --format esm --dts",
14
- "build:watch": "npm run clean && tsup src/index.ts --format esm --dts --watch",
15
- "clean": "rimraf dist",
16
- "lint": "prettier --write .",
12
+ "build": "tsup",
13
+ "build:watch": "tsup --watch",
14
+ "check-types": "tsc --noEmit",
15
+ "check-format": "prettier --check .",
16
+ "format": "prettier --write .",
17
+ "ci": "npm run check-types && npm run check-format && npm run build",
17
18
  "prepare": "husky install"
18
19
  },
19
20
  "lint-staged": {
@@ -25,17 +26,15 @@
25
26
  ]
26
27
  },
27
28
  "dependencies": {
28
- "@secretkeylabs/xverse-core": "23.0.1-6bee860",
29
+ "@secretkeylabs/xverse-core": "24.0.0-4db3b55",
29
30
  "axios": "1.7.4",
30
31
  "bitcoin-address-validation": "2.2.3",
31
32
  "buffer": "6.0.3",
32
33
  "jsontokens": "4.0.1",
33
- "lodash.omit": "4.5.0",
34
34
  "valibot": "0.42.1"
35
35
  },
36
36
  "devDependencies": {
37
37
  "@types/jest": "^29.2.6",
38
- "@types/lodash.omit": "4.5.9",
39
38
  "husky": "^8.0.3",
40
39
  "lint-staged": "^13.2.3",
41
40
  "prettier": "3.3.3",
@@ -47,9 +46,7 @@
47
46
  "tsup": "^8.0.2",
48
47
  "typescript": "5.4.5",
49
48
  "util": "^0.12.4",
50
- "vm-browserify": "^1.1.2",
51
- "webpack": "^5.74.0",
52
- "webpack-cli": "^4.10.0"
49
+ "vm-browserify": "^1.1.2"
53
50
  },
54
51
  "repository": {
55
52
  "type": "git",