@1sat/actions 0.0.209 → 0.0.210

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,3 +1,3 @@
1
- export { BAP_BASKET, BAP_BITCOM_ADDRESS, BAP_KEY_ID, BAP_PROTOCOL_ID, BSV21_AUTH_TAG, BSV21_AUTH_BASKET, BSV21_BASKET, BSV21_DEPLOY_TAG, BSV21_FEE_SATS, DEFAULT_STREAM_CHUNK_SIZE, EXCHANGE_RATE_CACHE_TTL, FUNDING_BASKET, LOCK_BASKET, LOCK_PREFIX, LOCK_SUFFIX, MAX_INSCRIPTION_BYTES, MESSAGE_SIGNING_PROTOCOL, ONESAT_MAINNET_CONTENT_URL, ONESAT_MAINNET_URL, ONESAT_TESTNET_CONTENT_URL, ONESAT_TESTNET_URL, ONESAT_BASKET, ONESAT_ASSET_BASKETS, LEGACY_P1SAT_BASKET_MIGRATIONS, isOneSatAssetBasket, OPNS_BASKET, OPNS_PUBLISHED_TAG, OPNS_PUSHDROP_TEMPLATE, OPNS_REGISTER_COUNTERPARTY, OPNS_REGISTER_KEY_PREFIX, opnsRegisterKeyId, ORDFS_STREAM_CONTENT_TYPE, ORDFS_STREAM_PARAM, ORDINALS_BASKET, BSOCIAL_BASKET, SIGMA_BASKET, ORD_LOCK_PREFIX, ORD_LOCK_SUFFIX, ONESAT_PROTOCOL, LEGACY_ONESAT_PROTOCOL, P1SAT_MODULE_PROTOCOL, P1SAT_PROTOCOL, WOC_MAINNET_URL, WOC_TESTNET_URL, } from '@1sat/types';
1
+ export { BAP_BASKET, BAP_BITCOM_ADDRESS, BAP_KEY_ID, BAP_PROTOCOL_ID, BSV21_AUTH_TAG, BSV21_AUTH_BASKET, BSV21_BASKET, BSV21_DEPLOY_TAG, BSV21_FEE_SATS, DEFAULT_STREAM_CHUNK_SIZE, EXCHANGE_RATE_CACHE_TTL, FUNDING_BASKET, LOCK_BASKET, LOCK_PREFIX, LOCK_SUFFIX, MAX_INSCRIPTION_BYTES, HANDLE_CERT_TYPE, DISABLED_REVOCATION_OUTPOINT, MESSAGE_SIGNING_PROTOCOL, ONESAT_MAINNET_CONTENT_URL, ONESAT_MAINNET_URL, ONESAT_TESTNET_CONTENT_URL, ONESAT_TESTNET_URL, ONESAT_BASKET, ONESAT_ASSET_BASKETS, LEGACY_P1SAT_BASKET_MIGRATIONS, isOneSatAssetBasket, OPNS_BASKET, OPNS_PUBLISHED_TAG, OPNS_PUSHDROP_TEMPLATE, OPNS_REGISTER_COUNTERPARTY, OPNS_REGISTER_KEY_PREFIX, opnsRegisterKeyId, ORDFS_STREAM_CONTENT_TYPE, ORDFS_STREAM_PARAM, ORDINALS_BASKET, BSOCIAL_BASKET, SIGMA_BASKET, ORD_LOCK_PREFIX, ORD_LOCK_SUFFIX, ONESAT_PROTOCOL, LEGACY_ONESAT_PROTOCOL, P1SAT_MODULE_PROTOCOL, P1SAT_PROTOCOL, WOC_MAINNET_URL, WOC_TESTNET_URL, } from '@1sat/types';
2
2
  export type { KeyDerivation } from '@1sat/types';
3
3
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,eAAe,GACf,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,eAAe,GACf,MAAM,aAAa,CAAA;AAEpB,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA"}
package/dist/constants.js CHANGED
@@ -1,2 +1,2 @@
1
- export { BAP_BASKET, BAP_BITCOM_ADDRESS, BAP_KEY_ID, BAP_PROTOCOL_ID, BSV21_AUTH_TAG, BSV21_AUTH_BASKET, BSV21_BASKET, BSV21_DEPLOY_TAG, BSV21_FEE_SATS, DEFAULT_STREAM_CHUNK_SIZE, EXCHANGE_RATE_CACHE_TTL, FUNDING_BASKET, LOCK_BASKET, LOCK_PREFIX, LOCK_SUFFIX, MAX_INSCRIPTION_BYTES, MESSAGE_SIGNING_PROTOCOL, ONESAT_MAINNET_CONTENT_URL, ONESAT_MAINNET_URL, ONESAT_TESTNET_CONTENT_URL, ONESAT_TESTNET_URL, ONESAT_BASKET, ONESAT_ASSET_BASKETS, LEGACY_P1SAT_BASKET_MIGRATIONS, isOneSatAssetBasket, OPNS_BASKET, OPNS_PUBLISHED_TAG, OPNS_PUSHDROP_TEMPLATE, OPNS_REGISTER_COUNTERPARTY, OPNS_REGISTER_KEY_PREFIX, opnsRegisterKeyId, ORDFS_STREAM_CONTENT_TYPE, ORDFS_STREAM_PARAM, ORDINALS_BASKET, BSOCIAL_BASKET, SIGMA_BASKET, ORD_LOCK_PREFIX, ORD_LOCK_SUFFIX, ONESAT_PROTOCOL, LEGACY_ONESAT_PROTOCOL, P1SAT_MODULE_PROTOCOL, P1SAT_PROTOCOL, WOC_MAINNET_URL, WOC_TESTNET_URL, } from '@1sat/types';
1
+ export { BAP_BASKET, BAP_BITCOM_ADDRESS, BAP_KEY_ID, BAP_PROTOCOL_ID, BSV21_AUTH_TAG, BSV21_AUTH_BASKET, BSV21_BASKET, BSV21_DEPLOY_TAG, BSV21_FEE_SATS, DEFAULT_STREAM_CHUNK_SIZE, EXCHANGE_RATE_CACHE_TTL, FUNDING_BASKET, LOCK_BASKET, LOCK_PREFIX, LOCK_SUFFIX, MAX_INSCRIPTION_BYTES, HANDLE_CERT_TYPE, DISABLED_REVOCATION_OUTPOINT, MESSAGE_SIGNING_PROTOCOL, ONESAT_MAINNET_CONTENT_URL, ONESAT_MAINNET_URL, ONESAT_TESTNET_CONTENT_URL, ONESAT_TESTNET_URL, ONESAT_BASKET, ONESAT_ASSET_BASKETS, LEGACY_P1SAT_BASKET_MIGRATIONS, isOneSatAssetBasket, OPNS_BASKET, OPNS_PUBLISHED_TAG, OPNS_PUSHDROP_TEMPLATE, OPNS_REGISTER_COUNTERPARTY, OPNS_REGISTER_KEY_PREFIX, opnsRegisterKeyId, ORDFS_STREAM_CONTENT_TYPE, ORDFS_STREAM_PARAM, ORDINALS_BASKET, BSOCIAL_BASKET, SIGMA_BASKET, ORD_LOCK_PREFIX, ORD_LOCK_SUFFIX, ONESAT_PROTOCOL, LEGACY_ONESAT_PROTOCOL, P1SAT_MODULE_PROTOCOL, P1SAT_PROTOCOL, WOC_MAINNET_URL, WOC_TESTNET_URL, } from '@1sat/types';
2
2
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,eAAe,GACf,MAAM,aAAa,CAAA"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,UAAU,EACV,kBAAkB,EAClB,UAAU,EACV,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,yBAAyB,EACzB,uBAAuB,EACvB,cAAc,EACd,WAAW,EACX,WAAW,EACX,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,4BAA4B,EAC5B,wBAAwB,EACxB,0BAA0B,EAC1B,kBAAkB,EAClB,0BAA0B,EAC1B,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,8BAA8B,EAC9B,mBAAmB,EACnB,WAAW,EACX,kBAAkB,EAClB,sBAAsB,EACtB,0BAA0B,EAC1B,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,YAAY,EACZ,eAAe,EACf,eAAe,EACf,eAAe,EACf,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,eAAe,GACf,MAAM,aAAa,CAAA"}
package/dist/paymail.d.ts CHANGED
@@ -15,6 +15,11 @@ export interface P2pSendResult {
15
15
  txid: string;
16
16
  note?: string;
17
17
  }
18
+ export interface P2pMetadata {
19
+ sender: string;
20
+ pubkey: string;
21
+ signature: string;
22
+ }
18
23
  export declare function getP2pPaymentDestination(paymail: string, satoshis: number): Promise<P2pDestination>;
19
- export declare function sendBeefP2P(paymail: string, beefHex: string, reference: string): Promise<P2pSendResult>;
24
+ export declare function sendBeefP2P(paymail: string, beefHex: string, reference: string, metadata?: P2pMetadata): Promise<P2pSendResult>;
20
25
  //# sourceMappingURL=paymail.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"paymail.d.ts","sourceRoot":"","sources":["../src/paymail.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC/C;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAoDD,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,CAAC,CAezB;AAED,wBAAsB,WAAW,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,CAAC,CA0BxB"}
1
+ {"version":3,"file":"paymail.d.ts","sourceRoot":"","sources":["../src/paymail.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,cAAc;IAC9B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAC/C;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,EAAE,MAAM,CAAA;CACjB;AAoDD,wBAAsB,wBAAwB,CAC7C,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,GACd,OAAO,CAAC,cAAc,CAAC,CAezB;AAED,wBAAsB,WAAW,CAChC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,aAAa,CAAC,CAiCxB"}
package/dist/paymail.js CHANGED
@@ -62,16 +62,19 @@ export async function getP2pPaymentDestination(paymail, satoshis) {
62
62
  throw new Error(`P2P destination request failed: ${resp.status}`);
63
63
  return await resp.json();
64
64
  }
65
- export async function sendBeefP2P(paymail, beefHex, reference) {
65
+ export async function sendBeefP2P(paymail, beefHex, reference, metadata) {
66
66
  const [alias, domain] = paymail.split('@');
67
67
  const caps = await getCapabilities(domain);
68
- // Prefer receive-beef, fall back to receive-transaction
69
68
  const beefUrl = caps[P2P_RECEIVE_BEEF];
70
69
  if (beefUrl) {
71
70
  const resp = await fetch(resolveUrl(beefUrl, alias, domain), {
72
71
  method: 'POST',
73
72
  headers: { 'Content-Type': 'application/json' },
74
- body: JSON.stringify({ beef: beefHex, reference }),
73
+ body: JSON.stringify({
74
+ beef: beefHex,
75
+ reference,
76
+ ...(metadata && { metadata }),
77
+ }),
75
78
  });
76
79
  if (!resp.ok)
77
80
  throw new Error(`P2P beef send failed: ${resp.status}`);
@@ -83,7 +86,11 @@ export async function sendBeefP2P(paymail, beefHex, reference) {
83
86
  const resp = await fetch(resolveUrl(txUrl, alias, domain), {
84
87
  method: 'POST',
85
88
  headers: { 'Content-Type': 'application/json' },
86
- body: JSON.stringify({ hex: beefHex, reference }),
89
+ body: JSON.stringify({
90
+ hex: beefHex,
91
+ reference,
92
+ ...(metadata && { metadata }),
93
+ }),
87
94
  });
88
95
  if (!resp.ok)
89
96
  throw new Error(`P2P send failed: ${resp.status}`);
@@ -1 +1 @@
1
- {"version":3,"file":"paymail.js","sourceRoot":"","sources":["../src/paymail.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paymail.js","sourceRoot":"","sources":["../src/paymail.ts"],"names":[],"mappings":"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"}
@@ -30,6 +30,8 @@ export interface SendBsvResponse {
30
30
  /** Input for sendBsv action */
31
31
  export interface SendBsvInput extends ActionOptions {
32
32
  requests: SendBsvRequest[];
33
+ /** Optional certified paymail this wallet sends as */
34
+ from?: string;
33
35
  }
34
36
  /**
35
37
  * Send BSV to one or more destinations.
@@ -39,8 +41,6 @@ export declare const sendBsv: Action<SendBsvInput, SendBsvResponse>;
39
41
  export interface SendAllBsvInput extends ActionOptions {
40
42
  /** Destination address to send all funds to */
41
43
  destination: string;
42
- /** Satoshis per kilobyte. Default 100, matching toolbox/Yours storage.feeModel. */
43
- satsPerKb?: number;
44
44
  }
45
45
  /**
46
46
  * Send all BSV to a destination address.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAiBH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAiFxD,MAAM,WAAW,cAAe,SAAQ,aAAa;IACpD,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,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAyCD,+BAA+B;AAC/B,MAAM,WAAW,YAAa,SAAQ,aAAa;IAClD,QAAQ,EAAE,cAAc,EAAE,CAAA;CAC1B;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAwJzD,CAAA;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;IACnB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CAkG/D,CAAA;AAMD,uCAAuC;AACvC,eAAO,MAAM,eAAe,sFAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAwBH,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAiCxD,MAAM,WAAW,cAAe,SAAQ,aAAa;IACpD,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,EAAE,CAAC,EAAE,MAAM,EAAE,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAoGD,+BAA+B;AAC/B,MAAM,WAAW,YAAa,SAAQ,aAAa;IAClD,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;GAEG;AACH,eAAO,MAAM,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,eAAe,CAgKzD,CAAA;AAED,kCAAkC;AAClC,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,+CAA+C;IAC/C,WAAW,EAAE,MAAM,CAAA;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,MAAM,CAAC,eAAe,EAAE,eAAe,CA4E/D,CAAA;AAMD,uCAAuC;AACvC,eAAO,MAAM,eAAe,sFAAwB,CAAA"}
@@ -4,9 +4,9 @@
4
4
  * Actions for sending BSV payments.
5
5
  */
6
6
  import { Inscription } from '@1sat/templates';
7
- import { parseOutpoint } from '@1sat/utils';
8
- import { P2PKH, PrivateKey, SatoshisPerKilobyte, Script, Transaction, Utils, } from '@bsv/sdk';
9
- import { getP2pPaymentDestination, sendBeefP2P } from '../paymail.js';
7
+ import { HANDLE_CERT_TYPE, MESSAGE_SIGNING_PROTOCOL } from '@1sat/types';
8
+ import { BSM, BigNumber, MasterCertificate, P2PKH, PublicKey, Script, Signature, Transaction, Utils, } from '@bsv/sdk';
9
+ import { getP2pPaymentDestination, sendBeefP2P, } from '../paymail.js';
10
10
  /**
11
11
  * Plain BSV sends don't carry any P1Sat semantics — no asset inputs,
12
12
  * no basketed outputs, no two-phase signing. They should not surface
@@ -28,55 +28,55 @@ async function dispatchPlainPayment(wallet, args, fundingProvider) {
28
28
  const result = await wallet.createAction(args);
29
29
  return { txid: result.txid, tx: toArray(result.tx) };
30
30
  }
31
- const DEFAULT_SATS_PER_KB = 100;
32
- async function listDefaultBasketSpendable(wallet) {
33
- const utxos = [];
34
- let offset = 0;
35
- for (;;) {
36
- const page = await wallet.listOutputs({
37
- basket: 'default',
38
- limit: 1000,
39
- offset,
40
- });
41
- for (const output of page.outputs) {
42
- utxos.push({ satoshis: output.satoshis, outpoint: output.outpoint });
43
- }
44
- offset += page.outputs.length;
45
- if (page.outputs.length === 0 || offset >= page.totalOutputs)
46
- break;
47
- }
48
- return utxos;
49
- }
50
- async function sweepFeeForUtxos(destination, utxos, satsPerKb) {
51
- const p2pkh = new P2PKH();
52
- const unlockingScriptTemplate = p2pkh.unlock(PrivateKey.fromRandom());
53
- const destScript = p2pkh.lock(destination);
54
- const tx = new Transaction();
55
- for (const utxo of utxos) {
56
- const { txid, vout } = parseOutpoint(utxo.outpoint);
57
- const source = new Transaction();
58
- for (let i = 0; i < vout; i++) {
59
- source.addOutput({ lockingScript: destScript, satoshis: 0 });
60
- }
61
- source.addOutput({ lockingScript: destScript, satoshis: utxo.satoshis });
62
- tx.addInput({
63
- sourceTXID: txid,
64
- sourceOutputIndex: vout,
65
- sourceTransaction: source,
66
- unlockingScriptTemplate,
67
- });
68
- }
69
- tx.addOutput({ lockingScript: destScript, change: true });
70
- await tx.fee(new SatoshisPerKilobyte(satsPerKb));
71
- return tx.getFee();
72
- }
31
+ const maxPossibleSatoshis = 2099999999999999;
73
32
  function isPaymail(address) {
74
33
  return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(address);
75
34
  }
76
- async function deliverP2P(refs, beefHex) {
35
+ async function deliverP2P(refs, beefHex, metadata) {
77
36
  for (const ref of refs) {
78
- await sendBeefP2P(ref.paymail, beefHex, ref.reference);
37
+ await sendBeefP2P(ref.paymail, beefHex, ref.reference, metadata);
38
+ }
39
+ }
40
+ async function assertOwnedPaymail(wallet, from) {
41
+ const [alias, domain] = from.toLowerCase().split('@');
42
+ if (!alias || !domain)
43
+ throw new Error('invalid from paymail');
44
+ const { certificates } = await wallet.listCertificates({
45
+ types: [HANDLE_CERT_TYPE],
46
+ certifiers: [],
47
+ limit: 10000,
48
+ });
49
+ for (const cert of certificates) {
50
+ if (!cert.keyring)
51
+ continue;
52
+ const fields = await MasterCertificate.decryptFields(wallet, cert.keyring, cert.fields, cert.certifier);
53
+ if (fields.handle === alias && fields.domain === domain)
54
+ return;
79
55
  }
56
+ throw new Error('from paymail is not certified in this wallet');
57
+ }
58
+ async function senderMetadata(wallet, from, txid) {
59
+ const messageBytes = Utils.toArray(txid, 'utf8');
60
+ const msgHash = BSM.magicHash(messageBytes);
61
+ const result = await wallet.createSignature({
62
+ protocolID: MESSAGE_SIGNING_PROTOCOL,
63
+ keyID: 'identity',
64
+ counterparty: 'self',
65
+ hashToDirectlySign: Array.from(msgHash),
66
+ });
67
+ const pubKeyResult = await wallet.getPublicKey({
68
+ protocolID: MESSAGE_SIGNING_PROTOCOL,
69
+ keyID: 'identity',
70
+ forSelf: true,
71
+ });
72
+ const publicKey = PublicKey.fromString(pubKeyResult.publicKey);
73
+ const signature = Signature.fromDER(result.signature);
74
+ const recovery = signature.CalculateRecoveryFactor(publicKey, new BigNumber(msgHash));
75
+ return {
76
+ sender: from,
77
+ pubkey: pubKeyResult.publicKey,
78
+ signature: signature.toCompact(recovery, true, 'base64'),
79
+ };
80
80
  }
81
81
  function buildInscriptionScript(address, base64Data, mimeType) {
82
82
  const content = Utils.toArray(base64Data, 'base64');
@@ -129,6 +129,10 @@ export const sendBsv = {
129
129
  required: ['satoshis'],
130
130
  },
131
131
  },
132
+ from: {
133
+ type: 'string',
134
+ description: 'Certified paymail to send as',
135
+ },
132
136
  },
133
137
  required: ['requests'],
134
138
  },
@@ -194,10 +198,15 @@ export const sendBsv = {
194
198
  return { error: 'no-txid-returned' };
195
199
  }
196
200
  if (paymailRefs.length > 0 && result.tx) {
197
- // createAction returns AtomicBEEF (BRC-95) but BRC-70 `receive-beef`
198
- // expects plain BEEF (BRC-62). Strip the atomic wrapper.
199
201
  const beefHex = Utils.toHex(Transaction.fromAtomicBEEF(result.tx).toBEEF());
200
- await deliverP2P(paymailRefs, beefHex);
202
+ let metadata;
203
+ if (input.from) {
204
+ await assertOwnedPaymail(ctx.wallet, input.from);
205
+ if (!result.txid)
206
+ throw new Error('no-txid-returned');
207
+ metadata = await senderMetadata(ctx.wallet, input.from, result.txid);
208
+ }
209
+ await deliverP2P(paymailRefs, beefHex, metadata);
201
210
  }
202
211
  if (ctx.debug && ctx.log) {
203
212
  ctx.log({
@@ -244,10 +253,6 @@ export const sendAllBsv = {
244
253
  type: 'string',
245
254
  description: 'Destination P2PKH address to send all funds to',
246
255
  },
247
- satsPerKb: {
248
- type: 'integer',
249
- description: 'Satoshis per kilobyte (default 100)',
250
- },
251
256
  },
252
257
  required: ['destination'],
253
258
  },
@@ -260,27 +265,12 @@ export const sendAllBsv = {
260
265
  error: 'sendAllBsv does not support paymail — use sendBsv with a fixed amount',
261
266
  };
262
267
  }
263
- const utxos = await listDefaultBasketSpendable(ctx.wallet);
264
- const total = utxos.reduce((sum, u) => sum + u.satoshis, 0);
265
- if (utxos.length === 0 || total <= 0) {
266
- return { error: 'insufficient-funds' };
267
- }
268
- const satsPerKb = input.satsPerKb ?? DEFAULT_SATS_PER_KB;
269
- if (!Number.isFinite(satsPerKb) || satsPerKb < 1) {
270
- return { error: 'invalid-fee-rate' };
271
- }
272
- const lockingScript = new P2PKH().lock(destination).toHex();
273
- const fee = await sweepFeeForUtxos(destination, utxos, satsPerKb);
274
- const satoshis = total - fee;
275
- if (satoshis <= 0) {
276
- return { error: 'insufficient-funds' };
277
- }
278
268
  const result = await dispatchPlainPayment(ctx.wallet, {
279
269
  description: 'Send all BSV',
280
270
  outputs: [
281
271
  {
282
- lockingScript,
283
- satoshis,
272
+ lockingScript: new P2PKH().lock(destination).toHex(),
273
+ satoshis: maxPossibleSatoshis,
284
274
  outputDescription: 'Sweep all funds',
285
275
  tags: [],
286
276
  },
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/payments/index.ts"],"names":[],"mappings":"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"}
@@ -2,26 +2,14 @@ import { describe, expect, test } from 'bun:test';
2
2
  import { createContext } from '../types.js';
3
3
  import { sendAllBsv } from './index.js';
4
4
  const DEST = '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa';
5
- const TXA = 'aa'.repeat(32);
6
- const TXB = 'bb'.repeat(32);
5
+ const MAX_POSSIBLE_SATOSHIS = 2099999999999999;
7
6
  function mockWallet(overrides) {
8
7
  return overrides;
9
8
  }
10
9
  describe('sendAllBsv', () => {
11
- test('lists default basket and createAction uses an exact amount', async () => {
12
- const listArgs = [];
10
+ test('createAction uses the maxPossibleSatoshis sentinel', async () => {
13
11
  const createArgs = [];
14
12
  const wallet = mockWallet({
15
- listOutputs: async (args) => {
16
- listArgs.push(args);
17
- return {
18
- totalOutputs: 2,
19
- outputs: [
20
- { satoshis: 1000, spendable: true, outpoint: `${TXA}.0` },
21
- { satoshis: 500, spendable: true, outpoint: `${TXB}.1` },
22
- ],
23
- };
24
- },
25
13
  createAction: async (args) => {
26
14
  createArgs.push(args);
27
15
  return { txid: 'deadbeef', tx: [1, 2, 3] };
@@ -30,69 +18,17 @@ describe('sendAllBsv', () => {
30
18
  const result = await sendAllBsv.execute(createContext(wallet), {
31
19
  destination: DEST,
32
20
  });
33
- expect(listArgs[0]).toMatchObject({ basket: 'default' });
34
21
  expect(result.error).toBeUndefined();
35
22
  expect(result.txid).toBe('deadbeef');
36
23
  const outputs = createArgs[0]
37
24
  .outputs;
38
25
  expect(outputs).toHaveLength(1);
39
- expect(outputs[0].satoshis).toBeGreaterThan(0);
40
- expect(outputs[0].satoshis).toBeLessThan(1500);
41
- expect(outputs[0].satoshis).not.toBe(2099999999999999);
26
+ expect(outputs[0].satoshis).toBe(MAX_POSSIBLE_SATOSHIS);
42
27
  });
43
- test('satsPerKb changes the createAction amount', async () => {
44
- const wallet = () => {
45
- const createArgs = [];
46
- return {
47
- createArgs,
48
- wallet: mockWallet({
49
- listOutputs: async () => ({
50
- totalOutputs: 1,
51
- outputs: [
52
- { satoshis: 100_000, spendable: true, outpoint: `${TXA}.0` },
53
- ],
54
- }),
55
- createAction: async (args) => {
56
- createArgs.push(args);
57
- return { txid: 'deadbeef', tx: [1] };
58
- },
59
- }),
60
- };
61
- };
62
- const low = wallet();
63
- const high = wallet();
64
- await sendAllBsv.execute(createContext(low.wallet), {
65
- destination: DEST,
66
- satsPerKb: 1,
67
- });
68
- await sendAllBsv.execute(createContext(high.wallet), {
69
- destination: DEST,
70
- satsPerKb: 100,
71
- });
72
- const lowOut = low.createArgs[0].outputs[0].satoshis;
73
- const highOut = high.createArgs[0].outputs[0].satoshis;
74
- expect(lowOut).toBeGreaterThan(highOut);
75
- });
76
- test('surfaces default-basket admin-only errors', async () => {
77
- const wallet = mockWallet({
78
- listOutputs: async () => {
79
- throw new Error('Basket “default” is admin-only.');
80
- },
81
- });
82
- const result = await sendAllBsv.execute(createContext(wallet), {
83
- destination: DEST,
84
- });
28
+ test('rejects paymail destinations', async () => {
29
+ const result = await sendAllBsv.execute(createContext(mockWallet({})), { destination: 'alice@example.com' });
85
30
  expect(result.txid).toBeUndefined();
86
- expect(result.error).toMatch(/admin-only/);
87
- });
88
- test('returns insufficient-funds when the default basket is empty', async () => {
89
- const wallet = mockWallet({
90
- listOutputs: async () => ({ totalOutputs: 0, outputs: [] }),
91
- });
92
- const result = await sendAllBsv.execute(createContext(wallet), {
93
- destination: DEST,
94
- });
95
- expect(result.error).toBe('insufficient-funds');
31
+ expect(result.error).toMatch(/paymail/);
96
32
  });
97
33
  });
98
34
  //# sourceMappingURL=sendAllBsv.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sendAllBsv.test.js","sourceRoot":"","sources":["../../src/payments/sendAllBsv.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sendAllBsv.test.js","sourceRoot":"","sources":["../../src/payments/sendAllBsv.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,UAAU,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAA;AAEvC,MAAM,IAAI,GAAG,oCAAoC,CAAA;AACjD,MAAM,qBAAqB,GAAG,gBAAgB,CAAA;AAE9C,SAAS,UAAU,CAAC,SAAmC;IACtD,OAAO,SAA4B,CAAA;AACpC,CAAC;AAED,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC3B,IAAI,CAAC,oDAAoD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,UAAU,GAAc,EAAE,CAAA;QAChC,MAAM,MAAM,GAAG,UAAU,CAAC;YACzB,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC5B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;gBACrB,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAA;YAC3C,CAAC;SACD,CAAC,CAAA;QAEF,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE;YAC9D,WAAW,EAAE,IAAI;SACjB,CAAC,CAAA;QAEF,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,aAAa,EAAE,CAAA;QACpC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACpC,MAAM,OAAO,GAAI,UAAU,CAAC,CAAC,CAA8C;aACzE,OAAO,CAAA;QACT,MAAM,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;IACxD,CAAC,CAAC,CAAA;IAEF,IAAI,CAAC,8BAA8B,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,OAAO,CACtC,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,EAC7B,EAAE,WAAW,EAAE,mBAAmB,EAAE,CACpC,CAAA;QACD,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,CAAA;QACnC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAA;IACxC,CAAC,CAAC,CAAA;AACH,CAAC,CAAC,CAAA"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1sat/actions",
3
- "version": "0.0.209",
3
+ "version": "0.0.210",
4
4
  "description": "Action definitions for the 1Sat SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -30,7 +30,7 @@
30
30
  "license": "MIT",
31
31
  "dependencies": {
32
32
  "@1sat/client": "0.0.51",
33
- "@1sat/types": "0.0.42",
33
+ "@1sat/types": "0.0.43",
34
34
  "@1sat/utils": "0.0.34",
35
35
  "@1sat/wallet": "0.0.106",
36
36
  "@1sat/templates": "0.0.33",