@sats-connect/core 0.4.0-8f3e1e5 → 0.4.0-954ad8d
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 +71 -64
- package/dist/index.d.ts +1653 -0
- package/dist/index.js +1889 -0
- package/dist/index.mjs +116 -41
- 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,69 @@ 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
|
+
});
|
|
352
|
+
var signPsbtMethodName = "signPsbt";
|
|
353
|
+
var signPsbtParamsSchema = v6.object({
|
|
354
|
+
/**
|
|
355
|
+
* The base64 encoded PSBT to sign.
|
|
356
|
+
*/
|
|
357
|
+
psbt: v6.string(),
|
|
358
|
+
/**
|
|
359
|
+
* The inputs to sign.
|
|
360
|
+
* The key is the address and the value is an array of indexes of the inputs to sign.
|
|
361
|
+
*/
|
|
362
|
+
signInputs: v6.record(v6.string(), v6.array(v6.number())),
|
|
363
|
+
allowedSignHash: v6.optional(v6.number()),
|
|
364
|
+
/**
|
|
365
|
+
* Whether to broadcast the transaction after signing.
|
|
366
|
+
**/
|
|
367
|
+
broadcast: v6.optional(v6.boolean())
|
|
368
|
+
});
|
|
369
|
+
var signPsbtResultSchema = v6.object({
|
|
370
|
+
/**
|
|
371
|
+
* The base64 encoded PSBT after signing.
|
|
372
|
+
*/
|
|
373
|
+
psbt: v6.string(),
|
|
374
|
+
/**
|
|
375
|
+
* The transaction id as a hex-encoded string.
|
|
376
|
+
* This is only returned if the transaction was broadcast.
|
|
377
|
+
**/
|
|
378
|
+
txid: v6.optional(v6.string())
|
|
379
|
+
});
|
|
380
|
+
var signPsbtRequestMessageSchema = v6.object({
|
|
381
|
+
...rpcRequestMessageSchema.entries,
|
|
382
|
+
...v6.object({
|
|
383
|
+
method: v6.literal(signPsbtMethodName),
|
|
384
|
+
params: signPsbtParamsSchema,
|
|
385
|
+
id: v6.string()
|
|
386
|
+
}).entries
|
|
387
|
+
});
|
|
328
388
|
var getAccountsMethodName = "getAccounts";
|
|
329
389
|
var getAccountsParamsSchema = v6.object({
|
|
330
390
|
/**
|
|
@@ -466,27 +526,10 @@ var getAccountRequestMessageSchema = v7.object({
|
|
|
466
526
|
id: v7.string()
|
|
467
527
|
}).entries
|
|
468
528
|
});
|
|
469
|
-
var registerClientMethodName = "wallet_registerClient";
|
|
470
|
-
var registerClientParamsSchema = v7.object({
|
|
471
|
-
name: v7.optional(v7.string()),
|
|
472
|
-
description: v7.optional(v7.string())
|
|
473
|
-
});
|
|
474
|
-
var registerClientResultSchema = v7.object({
|
|
475
|
-
id: v7.string()
|
|
476
|
-
});
|
|
477
|
-
var registerClientRequestMessageSchema = v7.object({
|
|
478
|
-
...rpcRequestMessageSchema.entries,
|
|
479
|
-
...v7.object({
|
|
480
|
-
method: v7.literal(registerClientMethodName),
|
|
481
|
-
params: registerClientParamsSchema,
|
|
482
|
-
id: v7.string()
|
|
483
|
-
}).entries
|
|
484
|
-
});
|
|
485
529
|
var connectMethodName = "wallet_connect";
|
|
486
530
|
var connectParamsSchema = v7.nullish(
|
|
487
531
|
v7.object({
|
|
488
|
-
permissions: v7.optional(v7.array(permissionTemplate))
|
|
489
|
-
clientInfo: registerClientParamsSchema
|
|
532
|
+
permissions: v7.optional(v7.array(permissionTemplate))
|
|
490
533
|
})
|
|
491
534
|
);
|
|
492
535
|
var connectResultSchema = getAccountResultSchema;
|
|
@@ -1130,17 +1173,16 @@ var XverseAdapter = class extends SatsConnectAdapter {
|
|
|
1130
1173
|
};
|
|
1131
1174
|
|
|
1132
1175
|
// src/adapters/unisat.ts
|
|
1133
|
-
import { Buffer } from "buffer";
|
|
1134
1176
|
import { AddressType as AddressType2, getAddressInfo } from "bitcoin-address-validation";
|
|
1135
|
-
|
|
1177
|
+
import { Buffer } from "buffer";
|
|
1178
|
+
function convertSignInputsToInputType(signInputs) {
|
|
1136
1179
|
let result = [];
|
|
1137
1180
|
for (let address in signInputs) {
|
|
1138
1181
|
let indexes = signInputs[address];
|
|
1139
1182
|
for (let index of indexes) {
|
|
1140
1183
|
result.push({
|
|
1141
1184
|
index,
|
|
1142
|
-
address
|
|
1143
|
-
sighashTypes: allowedSignHash ? [allowedSignHash] : void 0
|
|
1185
|
+
address
|
|
1144
1186
|
});
|
|
1145
1187
|
}
|
|
1146
1188
|
}
|
|
@@ -1172,10 +1214,10 @@ var UnisatAdapter = class extends SatsConnectAdapter {
|
|
|
1172
1214
|
};
|
|
1173
1215
|
const response = [];
|
|
1174
1216
|
if (purposes.includes("payment" /* Payment */)) {
|
|
1175
|
-
response.push(paymentAddress);
|
|
1217
|
+
response.push({ ...paymentAddress, walletType: "software" });
|
|
1176
1218
|
}
|
|
1177
1219
|
if (purposes.includes("ordinals" /* Ordinals */)) {
|
|
1178
|
-
response.push(ordinalsAddress);
|
|
1220
|
+
response.push({ ...ordinalsAddress, walletType: "software" });
|
|
1179
1221
|
}
|
|
1180
1222
|
return response;
|
|
1181
1223
|
}
|
|
@@ -1188,14 +1230,16 @@ var UnisatAdapter = class extends SatsConnectAdapter {
|
|
|
1188
1230
|
return {
|
|
1189
1231
|
address,
|
|
1190
1232
|
messageHash: "",
|
|
1191
|
-
signature: response2
|
|
1233
|
+
signature: response2,
|
|
1234
|
+
protocol: "BIP322" /* BIP322 */
|
|
1192
1235
|
};
|
|
1193
1236
|
}
|
|
1194
1237
|
const response = await window.unisat.signMessage(message, "ecdsa");
|
|
1195
1238
|
return {
|
|
1196
1239
|
address,
|
|
1197
1240
|
messageHash: "",
|
|
1198
|
-
signature: response
|
|
1241
|
+
signature: response,
|
|
1242
|
+
protocol: "ECDSA" /* ECDSA */
|
|
1199
1243
|
};
|
|
1200
1244
|
}
|
|
1201
1245
|
async sendTransfer(params) {
|
|
@@ -1209,11 +1253,11 @@ var UnisatAdapter = class extends SatsConnectAdapter {
|
|
|
1209
1253
|
};
|
|
1210
1254
|
}
|
|
1211
1255
|
async signPsbt(params) {
|
|
1212
|
-
const { psbt, signInputs,
|
|
1256
|
+
const { psbt, signInputs, broadcast } = params;
|
|
1213
1257
|
const psbtHex = Buffer.from(psbt, "base64").toString("hex");
|
|
1214
1258
|
const signedPsbt = await window.unisat.signPsbt(psbtHex, {
|
|
1215
1259
|
autoFinalized: broadcast,
|
|
1216
|
-
toSignInputs: convertSignInputsToInputType(signInputs
|
|
1260
|
+
toSignInputs: convertSignInputsToInputType(signInputs)
|
|
1217
1261
|
});
|
|
1218
1262
|
if (broadcast) {
|
|
1219
1263
|
const txid = await window.unisat.pushPsbt(psbtHex);
|
|
@@ -1283,6 +1327,33 @@ var UnisatAdapter = class extends SatsConnectAdapter {
|
|
|
1283
1327
|
};
|
|
1284
1328
|
}
|
|
1285
1329
|
};
|
|
1330
|
+
addListener = (eventName, cb) => {
|
|
1331
|
+
switch (eventName) {
|
|
1332
|
+
case "accountChange": {
|
|
1333
|
+
const handler = () => {
|
|
1334
|
+
cb({ type: "accountChange" });
|
|
1335
|
+
};
|
|
1336
|
+
window.unisat.on("accountsChanged", handler);
|
|
1337
|
+
return () => {
|
|
1338
|
+
window.unisat.removeListener("accountsChanged", handler);
|
|
1339
|
+
};
|
|
1340
|
+
}
|
|
1341
|
+
case "networkChange": {
|
|
1342
|
+
const handler = () => {
|
|
1343
|
+
cb({ type: "networkChange" });
|
|
1344
|
+
};
|
|
1345
|
+
window.unisat.on("networkChanged", handler);
|
|
1346
|
+
return () => {
|
|
1347
|
+
window.unisat.removeListener("networkChanged", handler);
|
|
1348
|
+
};
|
|
1349
|
+
}
|
|
1350
|
+
default: {
|
|
1351
|
+
console.error("Event not supported by the selected wallet");
|
|
1352
|
+
return () => {
|
|
1353
|
+
};
|
|
1354
|
+
}
|
|
1355
|
+
}
|
|
1356
|
+
};
|
|
1286
1357
|
};
|
|
1287
1358
|
|
|
1288
1359
|
// src/adapters/BaseAdapter.ts
|
|
@@ -1607,10 +1678,6 @@ export {
|
|
|
1607
1678
|
networkChangeEventName,
|
|
1608
1679
|
networkChangeSchema,
|
|
1609
1680
|
permissionTemplate,
|
|
1610
|
-
registerClientMethodName,
|
|
1611
|
-
registerClientParamsSchema,
|
|
1612
|
-
registerClientRequestMessageSchema,
|
|
1613
|
-
registerClientResultSchema,
|
|
1614
1681
|
removeDefaultProvider,
|
|
1615
1682
|
renouncePermissionsMethodName,
|
|
1616
1683
|
renouncePermissionsParamsSchema,
|
|
@@ -1630,6 +1697,10 @@ export {
|
|
|
1630
1697
|
sendInscriptionsParamsSchema,
|
|
1631
1698
|
sendInscriptionsResultSchema,
|
|
1632
1699
|
sendInscriptionsSchema,
|
|
1700
|
+
sendTransferMethodName,
|
|
1701
|
+
sendTransferParamsSchema,
|
|
1702
|
+
sendTransferRequestMessageSchema,
|
|
1703
|
+
sendTransferResultSchema,
|
|
1633
1704
|
setDefaultProvider,
|
|
1634
1705
|
signMessage,
|
|
1635
1706
|
signMessageMethodName,
|
|
@@ -1637,6 +1708,10 @@ export {
|
|
|
1637
1708
|
signMessageRequestMessageSchema,
|
|
1638
1709
|
signMessageResultSchema,
|
|
1639
1710
|
signMultipleTransactions,
|
|
1711
|
+
signPsbtMethodName,
|
|
1712
|
+
signPsbtParamsSchema,
|
|
1713
|
+
signPsbtRequestMessageSchema,
|
|
1714
|
+
signPsbtResultSchema,
|
|
1640
1715
|
signTransaction,
|
|
1641
1716
|
stxGetAddressesMethodName,
|
|
1642
1717
|
stxGetAddressesParamsSchema,
|
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-954ad8d",
|
|
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": "24.0.0-
|
|
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",
|