@1sat/actions 0.0.18 → 0.0.19
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AActC,MAAM,WAAW,cAAc;IAC9B,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,yBAAyB;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,uBAAuB;IACvB,WAAW,CAAC,EAAE;QACb,UAAU,EAAE,MAAM,CAAA;QAClB,QAAQ,EAAE,MAAM,CAAA;QAChB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KAC5B,CAAA;CACD;AAED,MAAM,WAAW,eAAe;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AA8CD,+BAA+B;AAC/B,MAAM,WAAW,YAAY;IAC5B,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CA6HzD,CAAA;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAe;IAC/B,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CAkD/D,CAAA;AAMD,uCAAuC;AACvC,eAAO,MAAM,eAAe,sFAAwB,CAAA"}
|
package/dist/payments/index.js
CHANGED
|
@@ -5,17 +5,26 @@
|
|
|
5
5
|
*/
|
|
6
6
|
import { Inscription } from '@bopen-io/templates';
|
|
7
7
|
import { P2PKH, Script, Utils } from '@bsv/sdk';
|
|
8
|
+
import { PaymailClient } from '@bsv/paymail/client';
|
|
9
|
+
const paymailClient = new PaymailClient();
|
|
8
10
|
/**
|
|
9
11
|
* Magic constant that tells the wallet to send all available funds minus fees.
|
|
10
12
|
* When an output has this satoshis value, it's adjusted to the maximum fundable amount.
|
|
11
13
|
*/
|
|
12
14
|
const maxPossibleSatoshis = 2099999999999999;
|
|
13
|
-
// ============================================================================
|
|
14
|
-
// Internal helpers
|
|
15
|
-
// ============================================================================
|
|
16
15
|
function isPaymail(address) {
|
|
17
16
|
return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(address);
|
|
18
17
|
}
|
|
18
|
+
async function deliverP2P(refs, txHex) {
|
|
19
|
+
for (const ref of refs) {
|
|
20
|
+
await paymailClient.sendTransactionP2P(ref.paymail, txHex, ref.reference, {
|
|
21
|
+
sender: '1Sat Wallet',
|
|
22
|
+
pubkey: '',
|
|
23
|
+
signature: '',
|
|
24
|
+
note: 'P2P payment from 1Sat Wallet',
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
19
28
|
function buildInscriptionScript(address, base64Data, mimeType) {
|
|
20
29
|
const content = Utils.toArray(base64Data, 'base64');
|
|
21
30
|
const inscription = Inscription.create(new Uint8Array(content), mimeType);
|
|
@@ -78,7 +87,21 @@ export const sendBsv = {
|
|
|
78
87
|
return { error: 'no-requests' };
|
|
79
88
|
}
|
|
80
89
|
const outputs = [];
|
|
90
|
+
const paymailRefs = [];
|
|
81
91
|
for (const req of requests) {
|
|
92
|
+
if (req.paymail) {
|
|
93
|
+
const dest = await paymailClient.getP2pPaymentDestination(req.paymail, req.satoshis);
|
|
94
|
+
paymailRefs.push({ paymail: req.paymail, reference: dest.reference });
|
|
95
|
+
for (const output of dest.outputs) {
|
|
96
|
+
outputs.push({
|
|
97
|
+
lockingScript: output.script,
|
|
98
|
+
satoshis: output.satoshis,
|
|
99
|
+
outputDescription: `Paymail payment to ${req.paymail}`,
|
|
100
|
+
tags: [],
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
82
105
|
let lockingScript;
|
|
83
106
|
if (req.script) {
|
|
84
107
|
lockingScript = Script.fromHex(req.script);
|
|
@@ -99,9 +122,6 @@ export const sendBsv = {
|
|
|
99
122
|
return { error: 'invalid-data' };
|
|
100
123
|
}
|
|
101
124
|
}
|
|
102
|
-
else if (req.paymail) {
|
|
103
|
-
return { error: 'paymail-not-yet-implemented' };
|
|
104
|
-
}
|
|
105
125
|
else {
|
|
106
126
|
return { error: 'invalid-request' };
|
|
107
127
|
}
|
|
@@ -120,6 +140,9 @@ export const sendBsv = {
|
|
|
120
140
|
if (!result.txid) {
|
|
121
141
|
return { error: 'no-txid-returned' };
|
|
122
142
|
}
|
|
143
|
+
if (paymailRefs.length > 0 && result.tx) {
|
|
144
|
+
await deliverP2P(paymailRefs, Utils.toHex(result.tx));
|
|
145
|
+
}
|
|
123
146
|
return {
|
|
124
147
|
txid: result.txid,
|
|
125
148
|
rawtx: result.tx ? Utils.toHex(result.tx) : undefined,
|
|
@@ -156,7 +179,7 @@ export const sendAllBsv = {
|
|
|
156
179
|
try {
|
|
157
180
|
const { destination } = input;
|
|
158
181
|
if (isPaymail(destination)) {
|
|
159
|
-
return { error: 'paymail
|
|
182
|
+
return { error: 'sendAllBsv does not support paymail — use sendBsv with a fixed amount' };
|
|
160
183
|
}
|
|
161
184
|
const result = await ctx.wallet.createAction({
|
|
162
185
|
description: 'Send all BSV',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAA2B,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,UAAU,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.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.19",
|
|
4
4
|
"description": "Action definitions for the 1Sat SDK",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"@1sat/client": "^0.0.8",
|
|
24
24
|
"@1sat/types": "^0.0.9",
|
|
25
25
|
"@1sat/utils": "^0.0.8",
|
|
26
|
-
"@bopen-io/templates": "^1.1.9"
|
|
26
|
+
"@bopen-io/templates": "^1.1.9",
|
|
27
|
+
"@bsv/paymail": "^2.2.5"
|
|
27
28
|
},
|
|
28
29
|
"peerDependencies": {
|
|
29
30
|
"@bsv/sdk": "^2.0.4"
|