@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.d.mts +323 -509
- package/dist/index.d.ts +1615 -0
- package/dist/index.js +1810 -0
- package/dist/index.mjs +56 -46
- package/package.json +9 -12
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
|
|
54
|
-
const
|
|
55
|
-
|
|
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
|
|
390
|
-
v7.
|
|
391
|
-
|
|
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(
|
|
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(
|
|
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
|
-
|
|
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,
|
|
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
|
|
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
|
-
|
|
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-
|
|
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
|
|
13
|
-
"build": "
|
|
14
|
-
"
|
|
15
|
-
"
|
|
16
|
-
"
|
|
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": "
|
|
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",
|