@1sat/actions 0.0.176 → 0.0.177
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/sync/syncCosignDeliveries.d.ts +3 -2
- package/dist/sync/syncCosignDeliveries.d.ts.map +1 -1
- package/dist/sync/syncCosignDeliveries.js +11 -63
- package/dist/sync/syncCosignDeliveries.js.map +1 -1
- package/dist/sync/syncMessages.d.ts.map +1 -1
- package/dist/sync/syncMessages.js +21 -21
- package/dist/sync/syncMessages.js.map +1 -1
- package/package.json +4 -4
|
@@ -7,8 +7,9 @@
|
|
|
7
7
|
* the output index that's owned by this wallet. We internalize the output
|
|
8
8
|
* into the bsv21 basket with the supplied customInstructions verbatim.
|
|
9
9
|
*
|
|
10
|
-
* Uses `@bsv/
|
|
11
|
-
* BRC-2 ECDH/AES-256-GCM
|
|
10
|
+
* Uses `@bsv/message-box-client` MessageBoxClient, which unwraps the
|
|
11
|
+
* server's {message, payment} envelope and decrypts BRC-2 ECDH/AES-256-GCM
|
|
12
|
+
* encrypted bodies via the wallet (matches what the sender used to
|
|
12
13
|
* encrypt). Intended call sites: any UI mount where a fresh sync is
|
|
13
14
|
* desired (e.g. yours-wallet popup mount). Not a polling loop.
|
|
14
15
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncCosignDeliveries.d.ts","sourceRoot":"","sources":["../../src/sync/syncCosignDeliveries.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"syncCosignDeliveries.d.ts","sourceRoot":"","sources":["../../src/sync/syncCosignDeliveries.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAMtC,MAAM,WAAW,yBAAyB;IACzC,uDAAuD;IACvD,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,0BAA0B;IAC1C,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;CACd;AAMD,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACxC,yBAAyB,EACzB,0BAA0B,CA0I1B,CAAA"}
|
|
@@ -7,59 +7,15 @@
|
|
|
7
7
|
* the output index that's owned by this wallet. We internalize the output
|
|
8
8
|
* into the bsv21 basket with the supplied customInstructions verbatim.
|
|
9
9
|
*
|
|
10
|
-
* Uses `@bsv/
|
|
11
|
-
* BRC-2 ECDH/AES-256-GCM
|
|
10
|
+
* Uses `@bsv/message-box-client` MessageBoxClient, which unwraps the
|
|
11
|
+
* server's {message, payment} envelope and decrypts BRC-2 ECDH/AES-256-GCM
|
|
12
|
+
* encrypted bodies via the wallet (matches what the sender used to
|
|
12
13
|
* encrypt). Intended call sites: any UI mount where a fresh sync is
|
|
13
14
|
* desired (e.g. yours-wallet popup mount). Not a polling loop.
|
|
14
15
|
*/
|
|
15
|
-
import { MessageBoxClient } from '@bsv/p2p';
|
|
16
16
|
import { BSV21_BASKET, buildTokenLabel } from '@1sat/types';
|
|
17
|
+
import { MessageBoxClient } from '@bsv/message-box-client';
|
|
17
18
|
import { Utils } from '@bsv/sdk';
|
|
18
|
-
/**
|
|
19
|
-
* Unwrap the server's {message: <string>} envelope, detect the nested
|
|
20
|
-
* {encryptedMessage: <base64>} ciphertext, and decrypt with the wallet
|
|
21
|
-
* using the same BRC-2 ECDH/AES-256-GCM keys the sender used.
|
|
22
|
-
*
|
|
23
|
-
* Falls through to a plain JSON parse when neither layer is present.
|
|
24
|
-
*/
|
|
25
|
-
async function unwrapAndDecryptMessageBody(rawBody, sender, wallet) {
|
|
26
|
-
const tryParse = (s) => {
|
|
27
|
-
try {
|
|
28
|
-
return JSON.parse(s);
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return s;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
let level = rawBody;
|
|
35
|
-
if (typeof level === 'string')
|
|
36
|
-
level = tryParse(level);
|
|
37
|
-
// Server wraps as {message: <inner string>}.
|
|
38
|
-
if (level !== null &&
|
|
39
|
-
typeof level === 'object' &&
|
|
40
|
-
typeof level.message === 'string') {
|
|
41
|
-
level = tryParse(level.message);
|
|
42
|
-
}
|
|
43
|
-
// If we now have {encryptedMessage: <base64>}, decrypt.
|
|
44
|
-
if (level !== null &&
|
|
45
|
-
typeof level === 'object' &&
|
|
46
|
-
typeof level.encryptedMessage ===
|
|
47
|
-
'string') {
|
|
48
|
-
const ciphertext = Utils.toArray(level.encryptedMessage, 'base64');
|
|
49
|
-
const decrypted = await wallet.decrypt({
|
|
50
|
-
protocolID: [1, 'messagebox'],
|
|
51
|
-
keyID: '1',
|
|
52
|
-
counterparty: sender,
|
|
53
|
-
ciphertext,
|
|
54
|
-
});
|
|
55
|
-
const plaintext = Utils.toUTF8(decrypted.plaintext);
|
|
56
|
-
level = tryParse(plaintext);
|
|
57
|
-
}
|
|
58
|
-
if (level === null || typeof level !== 'object') {
|
|
59
|
-
throw new Error('message body did not resolve to a JSON object');
|
|
60
|
-
}
|
|
61
|
-
return level;
|
|
62
|
-
}
|
|
63
19
|
// ============================================================================
|
|
64
20
|
// Action
|
|
65
21
|
// ============================================================================
|
|
@@ -85,12 +41,10 @@ export const syncCosignDeliveries = {
|
|
|
85
41
|
},
|
|
86
42
|
async execute(ctx, input) {
|
|
87
43
|
const messageBox = input.messageBox || 'cosign_token_inbox';
|
|
88
|
-
const host = input.messageboxUrl?.replace(/\/+$/, '') ||
|
|
89
|
-
'https://messagebox.1sat.app';
|
|
44
|
+
const host = input.messageboxUrl?.replace(/\/+$/, '') || 'https://messagebox.1sat.app';
|
|
90
45
|
// MessageBoxClient encrypts on send and decrypts on listMessages,
|
|
91
46
|
// so we go through it (not raw AuthFetch) — the bodies on the wire
|
|
92
47
|
// are AES-256-GCM ciphertext under BRC-2 ECDH keys.
|
|
93
|
-
// biome-ignore lint/suspicious/noExplicitAny: WalletInterface typing diff between @bsv/sdk versions
|
|
94
48
|
const client = new MessageBoxClient({ walletClient: ctx.wallet, host });
|
|
95
49
|
const messages = await client.listMessages({ messageBox, host });
|
|
96
50
|
if (messages.length === 0) {
|
|
@@ -101,13 +55,11 @@ export const syncCosignDeliveries = {
|
|
|
101
55
|
const acknowledgedIds = [];
|
|
102
56
|
for (const msg of messages) {
|
|
103
57
|
try {
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
// silently skips this nested envelope. Unwrap + decrypt here.
|
|
110
|
-
const body = await unwrapAndDecryptMessageBody(msg.body, msg.sender, ctx.wallet);
|
|
58
|
+
const rawBody = typeof msg.body === 'string' ? JSON.parse(msg.body) : msg.body;
|
|
59
|
+
if (rawBody === null || typeof rawBody !== 'object') {
|
|
60
|
+
throw new Error('message body did not resolve to a JSON object');
|
|
61
|
+
}
|
|
62
|
+
const body = rawBody;
|
|
111
63
|
console.log(`[syncCosignDeliveries] message ${msg.messageId} parsed body keys:`, Object.keys(body));
|
|
112
64
|
const tokenId = typeof body.tokenId === 'string' ? body.tokenId : '';
|
|
113
65
|
const vout = typeof body.vout === 'number' ? body.vout : -1;
|
|
@@ -130,11 +82,7 @@ export const syncCosignDeliveries = {
|
|
|
130
82
|
throw new Error('beef field could not be decoded as bytes');
|
|
131
83
|
}
|
|
132
84
|
const tokenIdShort = tokenId.slice(0, 8);
|
|
133
|
-
const tags = [
|
|
134
|
-
`bsv21:${tokenId}`,
|
|
135
|
-
`amt:${amount}`,
|
|
136
|
-
`tokenId:${tokenId}`,
|
|
137
|
-
];
|
|
85
|
+
const tags = [`bsv21:${tokenId}`, `amt:${amount}`, `tokenId:${tokenId}`];
|
|
138
86
|
// Pull token metadata from the BSV21 overlay so the wallet's
|
|
139
87
|
// balance/listing UIs can render symbol, icon, and decimals.
|
|
140
88
|
// Bsv21Client caches per-tokenId, so subsequent messages for
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncCosignDeliveries.js","sourceRoot":"","sources":["../../src/sync/syncCosignDeliveries.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"syncCosignDeliveries.js","sourceRoot":"","sources":["../../src/sync/syncCosignDeliveries.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncMessages.d.ts","sourceRoot":"","sources":["../../src/sync/syncMessages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAUtC,MAAM,WAAW,iBAAiB;IACjC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IAClC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;CACd;
|
|
1
|
+
{"version":3,"file":"syncMessages.d.ts","sourceRoot":"","sources":["../../src/sync/syncMessages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAUtC,MAAM,WAAW,iBAAiB;IACjC,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,kBAAkB;IAClC,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAA;IACjB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAA;CACd;AAiBD,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CA8GtE,CAAA"}
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
* internalizes each one via the shared BEEF pipeline,
|
|
6
6
|
* and acknowledges only after successful internalization.
|
|
7
7
|
*/
|
|
8
|
-
import { Utils } from '@bsv/sdk';
|
|
9
|
-
import { AuthFetch } from '@bsv/sdk/auth';
|
|
10
8
|
import { P1SAT_PROTOCOL } from '@1sat/types';
|
|
9
|
+
import { MessageBoxClient } from '@bsv/message-box-client';
|
|
10
|
+
import { Utils } from '@bsv/sdk';
|
|
11
11
|
import { internalizeBeef, } from '../utils/internalizeBeef';
|
|
12
12
|
// ============================================================================
|
|
13
13
|
// Action
|
|
@@ -39,18 +39,17 @@ export const syncMessages = {
|
|
|
39
39
|
}
|
|
40
40
|
const messageBox = input.messageBox || 'payment_inbox';
|
|
41
41
|
const messageboxUrl = input.messageboxUrl?.replace(/\/+$/, '') || 'https://messagebox.1sat.app';
|
|
42
|
-
|
|
43
|
-
//
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
body: JSON.stringify({ messageBox }),
|
|
42
|
+
// The client unwraps the server's {message, payment} envelope and
|
|
43
|
+
// decrypts encrypted bodies; plaintext bodies come back parsed.
|
|
44
|
+
const client = new MessageBoxClient({
|
|
45
|
+
walletClient: ctx.wallet,
|
|
46
|
+
host: messageboxUrl,
|
|
48
47
|
});
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (
|
|
48
|
+
const messages = await client.listMessages({
|
|
49
|
+
messageBox,
|
|
50
|
+
host: messageboxUrl,
|
|
51
|
+
});
|
|
52
|
+
if (messages.length === 0) {
|
|
54
53
|
return { processed: 0, failed: 0 };
|
|
55
54
|
}
|
|
56
55
|
// 2. Process each message
|
|
@@ -59,7 +58,7 @@ export const syncMessages = {
|
|
|
59
58
|
const acknowledgedIds = [];
|
|
60
59
|
for (const msg of messages) {
|
|
61
60
|
try {
|
|
62
|
-
const payment = JSON.parse(msg.body);
|
|
61
|
+
const payment = typeof msg.body === 'string' ? JSON.parse(msg.body) : msg.body;
|
|
63
62
|
const beefBytes = new Uint8Array(Utils.toArray(payment.beef, 'hex'));
|
|
64
63
|
// Paymail-style messagebox payments are BRC-29 sends from a
|
|
65
64
|
// known counterparty — sender provides their identity, our
|
|
@@ -90,13 +89,14 @@ export const syncMessages = {
|
|
|
90
89
|
}
|
|
91
90
|
// 3. Acknowledge successfully internalized messages
|
|
92
91
|
if (acknowledgedIds.length > 0) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
92
|
+
try {
|
|
93
|
+
await client.acknowledgeMessage({
|
|
94
|
+
messageIds: acknowledgedIds,
|
|
95
|
+
host: messageboxUrl,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
catch (error) {
|
|
99
|
+
console.error('[syncMessages] Failed to acknowledge messages:', error instanceof Error ? error.message : String(error));
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
return { processed, failed };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncMessages.js","sourceRoot":"","sources":["../../src/sync/syncMessages.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"syncMessages.js","sourceRoot":"","sources":["../../src/sync/syncMessages.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@1sat/actions",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.177",
|
|
4
4
|
"description": "Action definitions for the 1Sat SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -34,13 +34,13 @@
|
|
|
34
34
|
"@1sat/utils": "0.0.27",
|
|
35
35
|
"@1sat/wallet": "0.0.90",
|
|
36
36
|
"@1sat/templates": "0.0.24",
|
|
37
|
-
"@bsv/
|
|
37
|
+
"@bsv/message-box-client": "^2.2.1"
|
|
38
38
|
},
|
|
39
39
|
"peerDependencies": {
|
|
40
|
-
"@bsv/sdk": "^2.
|
|
40
|
+
"@bsv/sdk": "^2.1.6"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@bsv/sdk": "^2.
|
|
43
|
+
"@bsv/sdk": "^2.1.6",
|
|
44
44
|
"typescript": "^5.9.3",
|
|
45
45
|
"@1sat/wallet-remote": "0.0.48"
|
|
46
46
|
}
|