@sats-connect/core 0.4.0-9b65d1d → 0.4.0-bce9762
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 +353 -528
- package/dist/index.d.ts +1626 -0
- package/dist/index.js +1845 -0
- package/dist/index.mjs +87 -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({
|
|
@@ -325,6 +322,33 @@ var signMessageRequestMessageSchema = v6.object({
|
|
|
325
322
|
id: v6.string()
|
|
326
323
|
}).entries
|
|
327
324
|
});
|
|
325
|
+
var sendTransferMethodName = "sendTransfer";
|
|
326
|
+
var sendTransferParamsSchema = v6.object({
|
|
327
|
+
/**
|
|
328
|
+
* Array of recipients to send to.
|
|
329
|
+
* The amount to send to each recipient is in satoshis.
|
|
330
|
+
*/
|
|
331
|
+
recipients: v6.array(
|
|
332
|
+
v6.object({
|
|
333
|
+
address: v6.string(),
|
|
334
|
+
amount: v6.number()
|
|
335
|
+
})
|
|
336
|
+
)
|
|
337
|
+
});
|
|
338
|
+
var sendTransferResultSchema = v6.object({
|
|
339
|
+
/**
|
|
340
|
+
* The transaction id as a hex-encoded string.
|
|
341
|
+
*/
|
|
342
|
+
txid: v6.string()
|
|
343
|
+
});
|
|
344
|
+
var sendTransferRequestMessageSchema = v6.object({
|
|
345
|
+
...rpcRequestMessageSchema.entries,
|
|
346
|
+
...v6.object({
|
|
347
|
+
method: v6.literal(sendTransferMethodName),
|
|
348
|
+
params: sendTransferParamsSchema,
|
|
349
|
+
id: v6.string()
|
|
350
|
+
}).entries
|
|
351
|
+
});
|
|
328
352
|
var getAccountsMethodName = "getAccounts";
|
|
329
353
|
var getAccountsParamsSchema = v6.object({
|
|
330
354
|
/**
|
|
@@ -386,12 +410,18 @@ var getBalanceRequestMessageSchema = v6.object({
|
|
|
386
410
|
// src/request/types/walletMethods.ts
|
|
387
411
|
import * as v7 from "valibot";
|
|
388
412
|
import { permissions } from "@secretkeylabs/xverse-core";
|
|
389
|
-
var
|
|
390
|
-
v7.
|
|
391
|
-
|
|
413
|
+
var permissionTemplate = v7.variant("type", [
|
|
414
|
+
v7.object({
|
|
415
|
+
...v7.omit(permissions.resources.account.accountPermissionSchema, ["clientId", "actions"]).entries,
|
|
416
|
+
actions: v7.partial(permissions.resources.account.accountActionsSchema)
|
|
417
|
+
}),
|
|
418
|
+
v7.object({
|
|
419
|
+
...v7.omit(permissions.resources.wallet.walletPermissionSchema, ["clientId"]).entries,
|
|
420
|
+
actions: v7.partial(permissions.resources.wallet.walletActionsSchema)
|
|
421
|
+
})
|
|
392
422
|
]);
|
|
393
423
|
var requestPermissionsMethodName = "wallet_requestPermissions";
|
|
394
|
-
var requestPermissionsParamsSchema = v7.nullish(v7.array(
|
|
424
|
+
var requestPermissionsParamsSchema = v7.nullish(v7.array(permissionTemplate));
|
|
395
425
|
var requestPermissionsResultSchema = v7.literal(true);
|
|
396
426
|
var requestPermissionsRequestMessageSchema = v7.object({
|
|
397
427
|
...rpcRequestMessageSchema.entries,
|
|
@@ -460,27 +490,10 @@ var getAccountRequestMessageSchema = v7.object({
|
|
|
460
490
|
id: v7.string()
|
|
461
491
|
}).entries
|
|
462
492
|
});
|
|
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
493
|
var connectMethodName = "wallet_connect";
|
|
480
494
|
var connectParamsSchema = v7.nullish(
|
|
481
495
|
v7.object({
|
|
482
|
-
permissions: v7.optional(v7.array(
|
|
483
|
-
clientInfo: registerClientParamsSchema
|
|
496
|
+
permissions: v7.optional(v7.array(permissionTemplate))
|
|
484
497
|
})
|
|
485
498
|
);
|
|
486
499
|
var connectResultSchema = getAccountResultSchema;
|
|
@@ -1124,17 +1137,16 @@ var XverseAdapter = class extends SatsConnectAdapter {
|
|
|
1124
1137
|
};
|
|
1125
1138
|
|
|
1126
1139
|
// src/adapters/unisat.ts
|
|
1127
|
-
import { Buffer } from "buffer";
|
|
1128
1140
|
import { AddressType as AddressType2, getAddressInfo } from "bitcoin-address-validation";
|
|
1129
|
-
|
|
1141
|
+
import { Buffer } from "buffer";
|
|
1142
|
+
function convertSignInputsToInputType(signInputs) {
|
|
1130
1143
|
let result = [];
|
|
1131
1144
|
for (let address in signInputs) {
|
|
1132
1145
|
let indexes = signInputs[address];
|
|
1133
1146
|
for (let index of indexes) {
|
|
1134
1147
|
result.push({
|
|
1135
1148
|
index,
|
|
1136
|
-
address
|
|
1137
|
-
sighashTypes: allowedSignHash ? [allowedSignHash] : void 0
|
|
1149
|
+
address
|
|
1138
1150
|
});
|
|
1139
1151
|
}
|
|
1140
1152
|
}
|
|
@@ -1166,10 +1178,10 @@ var UnisatAdapter = class extends SatsConnectAdapter {
|
|
|
1166
1178
|
};
|
|
1167
1179
|
const response = [];
|
|
1168
1180
|
if (purposes.includes("payment" /* Payment */)) {
|
|
1169
|
-
response.push(paymentAddress);
|
|
1181
|
+
response.push({ ...paymentAddress, walletType: "software" });
|
|
1170
1182
|
}
|
|
1171
1183
|
if (purposes.includes("ordinals" /* Ordinals */)) {
|
|
1172
|
-
response.push(ordinalsAddress);
|
|
1184
|
+
response.push({ ...ordinalsAddress, walletType: "software" });
|
|
1173
1185
|
}
|
|
1174
1186
|
return response;
|
|
1175
1187
|
}
|
|
@@ -1182,14 +1194,16 @@ var UnisatAdapter = class extends SatsConnectAdapter {
|
|
|
1182
1194
|
return {
|
|
1183
1195
|
address,
|
|
1184
1196
|
messageHash: "",
|
|
1185
|
-
signature: response2
|
|
1197
|
+
signature: response2,
|
|
1198
|
+
protocol: "BIP322" /* BIP322 */
|
|
1186
1199
|
};
|
|
1187
1200
|
}
|
|
1188
1201
|
const response = await window.unisat.signMessage(message, "ecdsa");
|
|
1189
1202
|
return {
|
|
1190
1203
|
address,
|
|
1191
1204
|
messageHash: "",
|
|
1192
|
-
signature: response
|
|
1205
|
+
signature: response,
|
|
1206
|
+
protocol: "ECDSA" /* ECDSA */
|
|
1193
1207
|
};
|
|
1194
1208
|
}
|
|
1195
1209
|
async sendTransfer(params) {
|
|
@@ -1203,11 +1217,11 @@ var UnisatAdapter = class extends SatsConnectAdapter {
|
|
|
1203
1217
|
};
|
|
1204
1218
|
}
|
|
1205
1219
|
async signPsbt(params) {
|
|
1206
|
-
const { psbt, signInputs,
|
|
1220
|
+
const { psbt, signInputs, broadcast } = params;
|
|
1207
1221
|
const psbtHex = Buffer.from(psbt, "base64").toString("hex");
|
|
1208
1222
|
const signedPsbt = await window.unisat.signPsbt(psbtHex, {
|
|
1209
1223
|
autoFinalized: broadcast,
|
|
1210
|
-
toSignInputs: convertSignInputsToInputType(signInputs
|
|
1224
|
+
toSignInputs: convertSignInputsToInputType(signInputs)
|
|
1211
1225
|
});
|
|
1212
1226
|
if (broadcast) {
|
|
1213
1227
|
const txid = await window.unisat.pushPsbt(psbtHex);
|
|
@@ -1277,6 +1291,33 @@ var UnisatAdapter = class extends SatsConnectAdapter {
|
|
|
1277
1291
|
};
|
|
1278
1292
|
}
|
|
1279
1293
|
};
|
|
1294
|
+
addListener = (eventName, cb) => {
|
|
1295
|
+
switch (eventName) {
|
|
1296
|
+
case "accountChange": {
|
|
1297
|
+
const handler = () => {
|
|
1298
|
+
cb({ type: "accountChange" });
|
|
1299
|
+
};
|
|
1300
|
+
window.unisat.on("accountsChanged", handler);
|
|
1301
|
+
return () => {
|
|
1302
|
+
window.unisat.removeListener("accountsChanged", handler);
|
|
1303
|
+
};
|
|
1304
|
+
}
|
|
1305
|
+
case "networkChange": {
|
|
1306
|
+
const handler = () => {
|
|
1307
|
+
cb({ type: "networkChange" });
|
|
1308
|
+
};
|
|
1309
|
+
window.unisat.on("networkChanged", handler);
|
|
1310
|
+
return () => {
|
|
1311
|
+
window.unisat.removeListener("networkChanged", handler);
|
|
1312
|
+
};
|
|
1313
|
+
}
|
|
1314
|
+
default: {
|
|
1315
|
+
console.error("Event not supported by the selected wallet");
|
|
1316
|
+
return () => {
|
|
1317
|
+
};
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1320
|
+
};
|
|
1280
1321
|
};
|
|
1281
1322
|
|
|
1282
1323
|
// src/adapters/BaseAdapter.ts
|
|
@@ -1600,11 +1641,7 @@ export {
|
|
|
1600
1641
|
isProviderInstalled,
|
|
1601
1642
|
networkChangeEventName,
|
|
1602
1643
|
networkChangeSchema,
|
|
1603
|
-
|
|
1604
|
-
registerClientMethodName,
|
|
1605
|
-
registerClientParamsSchema,
|
|
1606
|
-
registerClientRequestMessageSchema,
|
|
1607
|
-
registerClientResultSchema,
|
|
1644
|
+
permissionTemplate,
|
|
1608
1645
|
removeDefaultProvider,
|
|
1609
1646
|
renouncePermissionsMethodName,
|
|
1610
1647
|
renouncePermissionsParamsSchema,
|
|
@@ -1624,6 +1661,10 @@ export {
|
|
|
1624
1661
|
sendInscriptionsParamsSchema,
|
|
1625
1662
|
sendInscriptionsResultSchema,
|
|
1626
1663
|
sendInscriptionsSchema,
|
|
1664
|
+
sendTransferMethodName,
|
|
1665
|
+
sendTransferParamsSchema,
|
|
1666
|
+
sendTransferRequestMessageSchema,
|
|
1667
|
+
sendTransferResultSchema,
|
|
1627
1668
|
setDefaultProvider,
|
|
1628
1669
|
signMessage,
|
|
1629
1670
|
signMessageMethodName,
|
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-bce9762",
|
|
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",
|