@1sat/actions 0.0.72 → 0.0.73

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.ts CHANGED
@@ -24,6 +24,7 @@ export * from './signing';
24
24
  export * from './social';
25
25
  export * from './identity';
26
26
  export * from './opns';
27
+ export * from './mnee';
27
28
  export * from './sweep';
28
29
  export * from './sync';
29
30
  export * from './registry';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACN,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,aAAa,GACb,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAGhF,cAAc,aAAa,CAAA;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACN,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,KAAK,eAAe,GACpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACN,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GACd,MAAM,6BAA6B,CAAA;AAGpC,YAAY,EACX,eAAe,EACf,aAAa,GACb,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACN,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACrB,MAAM,yBAAyB,CAAA;AAGhC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AAGtB,cAAc,SAAS,CAAA;AAGvB,cAAc,QAAQ,CAAA;AAGtB,cAAc,YAAY,CAAA;AAkC1B,YAAY,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,GACZ,MAAM,UAAU,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACN,KAAK,MAAM,EACX,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,cAAc,EACnB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,aAAa,EAClB,aAAa,GACb,MAAM,SAAS,CAAA;AAGhB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,KAAK,OAAO,EAAE,MAAM,mBAAmB,CAAA;AAGhF,cAAc,aAAa,CAAA;AAG3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACN,oBAAoB,EACpB,KAAK,0BAA0B,EAC/B,KAAK,eAAe,GACpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACN,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GACd,MAAM,6BAA6B,CAAA;AAGpC,YAAY,EACX,eAAe,EACf,aAAa,GACb,MAAM,WAAW,CAAA;AAClB,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACN,eAAe,EACf,KAAK,sBAAsB,EAC3B,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,GACrB,MAAM,yBAAyB,CAAA;AAGhC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AAGtB,cAAc,SAAS,CAAA;AAGvB,cAAc,QAAQ,CAAA;AAGtB,cAAc,YAAY,CAAA;AAoC1B,YAAY,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,eAAe,EACf,YAAY,GACZ,MAAM,UAAU,CAAA"}
package/dist/index.js CHANGED
@@ -28,6 +28,7 @@ export * from './signing';
28
28
  export * from './social';
29
29
  export * from './identity';
30
30
  export * from './opns';
31
+ export * from './mnee';
31
32
  // Export sweep module (uses external signing, not action-based)
32
33
  export * from './sweep';
33
34
  // Export sync module
@@ -48,6 +49,7 @@ import { socialActions } from './social';
48
49
  import { sweepActions } from './sweep';
49
50
  import { syncActions } from './sync';
50
51
  import { tokensActions } from './tokens';
52
+ import { mneeActions } from './mnee';
51
53
  actionRegistry.registerAll([
52
54
  ...addressesActions,
53
55
  ...collectionsActions,
@@ -62,5 +64,6 @@ actionRegistry.registerAll([
62
64
  ...sweepActions,
63
65
  ...opnsActions,
64
66
  ...syncActions,
67
+ ...mneeActions,
65
68
  ]);
66
69
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kCAAkC;AAClC,OAAO,EAQN,aAAa,GACb,MAAM,SAAS,CAAA;AAEhB,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AAEhF,mBAAmB;AACnB,cAAc,aAAa,CAAA;AAE3B,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACN,oBAAoB,GAGpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACN,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GACd,MAAM,6BAA6B,CAAA;AAOpC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACN,eAAe,GAIf,MAAM,yBAAyB,CAAA;AAEhC,kCAAkC;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AAEtB,gEAAgE;AAChE,cAAc,SAAS,CAAA;AAEvB,qBAAqB;AACrB,cAAc,QAAQ,CAAA;AAEtB,oDAAoD;AACpD,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,cAAc,CAAC,WAAW,CAAC;IAC1B,GAAG,gBAAgB;IACnB,GAAG,kBAAkB;IACrB,GAAG,eAAe;IAClB,GAAG,eAAe;IAClB,GAAG,eAAe;IAClB,GAAG,aAAa;IAChB,GAAG,mBAAmB;IACtB,GAAG,YAAY;IACf,GAAG,cAAc;IACjB,GAAG,aAAa;IAChB,GAAG,YAAY;IACf,GAAG,WAAW;IACd,GAAG,WAAW;CACd,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,kCAAkC;AAClC,OAAO,EAQN,aAAa,GACb,MAAM,SAAS,CAAA;AAEhB,yBAAyB;AACzB,OAAO,EAAE,cAAc,EAAE,cAAc,EAAgB,MAAM,mBAAmB,CAAA;AAEhF,mBAAmB;AACnB,cAAc,aAAa,CAAA;AAE3B,0BAA0B;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EACN,oBAAoB,GAGpB,MAAM,8BAA8B,CAAA;AACrC,OAAO,EACN,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,GACd,MAAM,6BAA6B,CAAA;AAOpC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AAC/D,OAAO,EACN,eAAe,GAIf,MAAM,yBAAyB,CAAA;AAEhC,kCAAkC;AAClC,cAAc,aAAa,CAAA;AAC3B,cAAc,eAAe,CAAA;AAC7B,cAAc,YAAY,CAAA;AAC1B,cAAc,YAAY,CAAA;AAC1B,cAAc,UAAU,CAAA;AACxB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,SAAS,CAAA;AACvB,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,QAAQ,CAAA;AACtB,cAAc,QAAQ,CAAA;AAEtB,gEAAgE;AAChE,cAAc,SAAS,CAAA;AAEvB,qBAAqB;AACrB,cAAc,QAAQ,CAAA;AAEtB,oDAAoD;AACpD,cAAc,YAAY,CAAA;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAA;AAEpC,cAAc,CAAC,WAAW,CAAC;IAC1B,GAAG,gBAAgB;IACnB,GAAG,kBAAkB;IACrB,GAAG,eAAe;IAClB,GAAG,eAAe;IAClB,GAAG,eAAe;IAClB,GAAG,aAAa;IAChB,GAAG,mBAAmB;IACtB,GAAG,YAAY;IACf,GAAG,cAAc;IACjB,GAAG,aAAa;IAChB,GAAG,YAAY;IACf,GAAG,WAAW;IACd,GAAG,WAAW;IACd,GAAG,WAAW;CACd,CAAC,CAAA"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * MNEE Module
3
+ *
4
+ * Actions for querying and transferring MNEE stablecoin.
5
+ * Uses the MNEE API for balance/UTXO queries and transaction submission.
6
+ * Addresses are derived from the wallet's BRC-29 "yours" prefix (indices 0-4).
7
+ */
8
+ import type { MneeBalance, MneeUtxo, MneeTransferStatus, MneeTxHistoryResponse, MneeConfig } from '@1sat/client';
9
+ import type { Action } from '../types';
10
+ export interface GetMneeBalanceInput {
11
+ /** Specific addresses to query. If omitted, derives all yours wallet addresses. */
12
+ addresses?: string[];
13
+ }
14
+ export interface GetMneeBalanceResult {
15
+ /** Per-address balances */
16
+ balances: MneeBalance[];
17
+ /** Total balance in MNEE (decimal) */
18
+ totalDecimal: number;
19
+ /** Total balance in atomic units */
20
+ totalAtomic: number;
21
+ }
22
+ export interface GetMneeUtxosInput {
23
+ /** Specific addresses to query. If omitted, derives all yours wallet addresses. */
24
+ addresses?: string[];
25
+ }
26
+ export interface GetMneeUtxosResult {
27
+ utxos: MneeUtxo[];
28
+ }
29
+ export interface GetMneeConfigInput {
30
+ }
31
+ export interface GetMneeHistoryInput {
32
+ /** Specific address. If omitted, uses primary address (index 0). */
33
+ address?: string;
34
+ /** Pagination cursor */
35
+ fromScore?: number;
36
+ /** Max results (default 50) */
37
+ limit?: number;
38
+ }
39
+ export interface SendMneeInput {
40
+ /** Recipients */
41
+ recipients: Array<{
42
+ address: string;
43
+ amount: number;
44
+ }>;
45
+ /** Specific source addresses. If omitted, derives all yours wallet addresses. */
46
+ fromAddresses?: string[];
47
+ }
48
+ export interface SendMneeResult {
49
+ ticketId?: string;
50
+ rawtx?: string;
51
+ error?: string;
52
+ }
53
+ export interface GetMneeTxStatusInput {
54
+ ticketId: string;
55
+ }
56
+ /**
57
+ * Get MNEE balance across all yours wallet addresses.
58
+ */
59
+ export declare const getMneeBalance: Action<GetMneeBalanceInput, GetMneeBalanceResult>;
60
+ /**
61
+ * Get MNEE UTXOs across all yours wallet addresses.
62
+ */
63
+ export declare const getMneeUtxos: Action<GetMneeUtxosInput, GetMneeUtxosResult>;
64
+ /**
65
+ * Get MNEE service configuration (cosigner, fees, etc).
66
+ */
67
+ export declare const getMneeConfig: Action<GetMneeConfigInput, MneeConfig>;
68
+ /**
69
+ * Get MNEE transaction history for an address.
70
+ */
71
+ export declare const getMneeHistory: Action<GetMneeHistoryInput, MneeTxHistoryResponse>;
72
+ /**
73
+ * Get the status of an MNEE transfer by ticket ID.
74
+ */
75
+ export declare const getMneeTxStatus: Action<GetMneeTxStatusInput, MneeTransferStatus>;
76
+ export interface SendMneeRecipient {
77
+ address: string;
78
+ /** Amount in MNEE (decimal, e.g. 1.5 = $1.50) */
79
+ amount: number;
80
+ }
81
+ export interface SendMneeInput {
82
+ recipients: SendMneeRecipient[];
83
+ /** Change address. If omitted, change goes back to the first input's address. */
84
+ changeAddress?: string;
85
+ }
86
+ export interface SendMneeResult {
87
+ ticketId?: string;
88
+ rawtx?: string;
89
+ error?: string;
90
+ }
91
+ /**
92
+ * Send MNEE stablecoin. Builds the transaction, signs with BRC-29 keys,
93
+ * and submits to MNEE API for cosigner signature + broadcast.
94
+ */
95
+ export declare const sendMnee: Action<SendMneeInput, SendMneeResult>;
96
+ export declare const mneeActions: (Action<GetMneeBalanceInput, GetMneeBalanceResult> | Action<GetMneeUtxosInput, GetMneeUtxosResult> | Action<GetMneeConfigInput, MneeConfig> | Action<GetMneeHistoryInput, MneeTxHistoryResponse> | Action<GetMneeTxStatusInput, MneeTransferStatus> | Action<SendMneeInput, SendMneeResult>)[];
97
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mnee/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACX,WAAW,EACX,QAAQ,EAER,kBAAkB,EAClB,qBAAqB,EACrB,UAAU,EAEV,MAAM,cAAc,CAAA;AAarB,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,UAAU,CAAA;AA+OrD,MAAM,WAAW,mBAAmB;IACnC,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,oBAAoB;IACpC,2BAA2B;IAC3B,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,sCAAsC;IACtC,YAAY,EAAE,MAAM,CAAA;IACpB,oCAAoC;IACpC,WAAW,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,iBAAiB;IACjC,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACpB;AAED,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,QAAQ,EAAE,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB;CAElC;AAED,MAAM,WAAW,mBAAmB;IACnC,oEAAoE;IACpE,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,wBAAwB;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,iBAAiB;IACjB,UAAU,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACtD,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;CACxB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,oBAAoB;IACpC,QAAQ,EAAE,MAAM,CAAA;CAChB;AAMD;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CA0B5E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,YAAY,EAAE,MAAM,CAAC,iBAAiB,EAAE,kBAAkB,CAsBtE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,kBAAkB,EAAE,UAAU,CAehE,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,mBAAmB,EAAE,qBAAqB,CA6B7E,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,EAAE,MAAM,CAAC,oBAAoB,EAAE,kBAAkB,CAqB5E,CAAA;AAMD,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,iDAAiD;IACjD,MAAM,EAAE,MAAM,CAAA;CACd;AAED,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,iBAAiB,EAAE,CAAA;IAC/B,iFAAiF;IACjF,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,MAAM,WAAW,cAAc;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,eAAO,MAAM,QAAQ,EAAE,MAAM,CAAC,aAAa,EAAE,cAAc,CAmK1D,CAAA;AAgBD,eAAO,MAAM,WAAW,gSAOvB,CAAA"}
@@ -0,0 +1,480 @@
1
+ /**
2
+ * MNEE Module
3
+ *
4
+ * Actions for querying and transferring MNEE stablecoin.
5
+ * Uses the MNEE API for balance/UTXO queries and transaction submission.
6
+ * Addresses are derived from the wallet's BRC-29 "yours" prefix (indices 0-4).
7
+ */
8
+ import { BRC29_PROTOCOL_ID } from '@1sat/types';
9
+ import { Hash, LockingScript, OP, PublicKey, Script, Transaction, TransactionSignature, UnlockingScript, Utils, } from '@bsv/sdk';
10
+ import { deriveDepositAddresses, } from '../addresses';
11
+ // ============================================================================
12
+ // Helpers
13
+ // ============================================================================
14
+ const YOURS_PREFIX = 'yours';
15
+ const YOURS_ADDRESS_COUNT = 5;
16
+ /** Derive all 5 yours wallet addresses with full derivation info */
17
+ async function deriveYoursDerivations(ctx) {
18
+ const result = await deriveDepositAddresses.execute(ctx, {
19
+ prefix: YOURS_PREFIX,
20
+ startIndex: 0,
21
+ count: YOURS_ADDRESS_COUNT,
22
+ });
23
+ return result.derivations;
24
+ }
25
+ /** Derive all 5 yours wallet addresses for MNEE operations */
26
+ async function deriveYoursAddresses(ctx) {
27
+ const derivations = await deriveYoursDerivations(ctx);
28
+ return derivations.map((d) => d.address);
29
+ }
30
+ /** Build a map of address → BRC-29 keyID for signing */
31
+ function buildAddressKeyMap(derivations) {
32
+ const map = new Map();
33
+ for (const d of derivations) {
34
+ const keyID = `${d.derivationPrefix} ${d.derivationSuffix}`;
35
+ map.set(d.address, keyID);
36
+ }
37
+ return map;
38
+ }
39
+ // ============================================================================
40
+ // CosignTemplate (ported from mnee@3.1.0)
41
+ // ============================================================================
42
+ function cosignLock(userAddress, approverPubKey) {
43
+ const hash = Utils.fromBase58Check(userAddress);
44
+ const pkhash = hash.data;
45
+ const script = new LockingScript();
46
+ script
47
+ .writeOpCode(OP.OP_DUP)
48
+ .writeOpCode(OP.OP_HASH160)
49
+ .writeBin(pkhash)
50
+ .writeOpCode(OP.OP_EQUALVERIFY)
51
+ .writeOpCode(OP.OP_CHECKSIGVERIFY)
52
+ .writeBin(approverPubKey.encode(true))
53
+ .writeOpCode(OP.OP_CHECKSIG);
54
+ return script;
55
+ }
56
+ function applyInscription(lockingScript, inscription) {
57
+ const ordHex = Utils.toHex(Utils.toArray('ord', 'utf8'));
58
+ const fileBytes = Utils.toArray(inscription.dataB64, 'base64');
59
+ const fileHex = Utils.toHex(fileBytes);
60
+ const mimeHex = Utils.toHex(Utils.toArray(inscription.contentType, 'utf8'));
61
+ const ordAsm = `OP_0 OP_IF ${ordHex} OP_1 ${mimeHex} OP_0 ${fileHex} OP_ENDIF`;
62
+ return LockingScript.fromASM(`${ordAsm} ${lockingScript.toASM()}`);
63
+ }
64
+ function createInscriptionOutput(recipient, atomicAmount, config) {
65
+ const inscriptionData = {
66
+ p: 'bsv-20',
67
+ op: 'transfer',
68
+ id: config.tokenId,
69
+ amt: atomicAmount.toString(),
70
+ };
71
+ const dataB64 = Utils.toBase64(Utils.toArray(JSON.stringify(inscriptionData), 'utf8'));
72
+ const cosignScript = cosignLock(recipient, PublicKey.fromString(config.approver));
73
+ return {
74
+ lockingScript: applyInscription(cosignScript, {
75
+ dataB64,
76
+ contentType: 'application/bsv-20',
77
+ }),
78
+ satoshis: 1,
79
+ };
80
+ }
81
+ /** Extract the user address from a cosign locking script */
82
+ function extractAddressFromCosignScript(script) {
83
+ const chunks = script.chunks;
84
+ for (let i = 0; i <= chunks.length - 7; i++) {
85
+ if (chunks[i].op === OP.OP_DUP &&
86
+ chunks[i + 1].op === OP.OP_HASH160 &&
87
+ chunks[i + 2].data?.length === 20 &&
88
+ chunks[i + 3].op === OP.OP_EQUALVERIFY &&
89
+ chunks[i + 4].op === OP.OP_CHECKSIGVERIFY &&
90
+ chunks[i + 5].data?.length === 33 &&
91
+ chunks[i + 6].op === OP.OP_CHECKSIG) {
92
+ return Utils.toBase58Check(chunks[i + 2].data, [0]);
93
+ }
94
+ }
95
+ return undefined;
96
+ }
97
+ /** Parse BSV-20 inscription amount from a locking script */
98
+ function parseInscriptionAmount(script) {
99
+ for (let i = 0; i < script.chunks.length; i++) {
100
+ const chunk = script.chunks[i];
101
+ if (chunk.data?.length === 3 &&
102
+ Utils.toUTF8(chunk.data) === 'ord' &&
103
+ i >= 2 &&
104
+ script.chunks[i - 1].op === OP.OP_IF &&
105
+ script.chunks[i - 2].op === OP.OP_FALSE) {
106
+ // Find the data chunk (after OP_0 following content type)
107
+ for (let j = i + 1; j < script.chunks.length; j++) {
108
+ if (script.chunks[j].op === OP.OP_ENDIF)
109
+ break;
110
+ if (script.chunks[j].op === OP.OP_0 &&
111
+ j + 1 < script.chunks.length &&
112
+ script.chunks[j + 1].data) {
113
+ try {
114
+ const json = JSON.parse(Utils.toUTF8(script.chunks[j + 1].data));
115
+ if (json.amt)
116
+ return Number.parseInt(json.amt, 10);
117
+ }
118
+ catch {
119
+ // not JSON
120
+ }
121
+ }
122
+ }
123
+ }
124
+ }
125
+ return 0;
126
+ }
127
+ /** Sign a cosign input using BRC-29 key derivation */
128
+ async function signCosignInput(ctx, tx, inputIndex, keyID) {
129
+ const input = tx.inputs[inputIndex];
130
+ const sourceLockingScript = input.sourceTransaction?.outputs[input.sourceOutputIndex]?.lockingScript;
131
+ if (!sourceLockingScript)
132
+ throw new Error(`Missing source locking script for input ${inputIndex}`);
133
+ const sourceTXID = input.sourceTXID ?? input.sourceTransaction?.id('hex');
134
+ if (!sourceTXID)
135
+ throw new Error(`Missing source TXID for input ${inputIndex}`);
136
+ const sourceSatoshis = input.sourceTransaction?.outputs[input.sourceOutputIndex]?.satoshis ?? 1;
137
+ const scope = TransactionSignature.SIGHASH_ALL |
138
+ TransactionSignature.SIGHASH_ANYONECANPAY |
139
+ TransactionSignature.SIGHASH_FORKID;
140
+ const preimage = TransactionSignature.format({
141
+ sourceTXID,
142
+ sourceOutputIndex: input.sourceOutputIndex,
143
+ sourceSatoshis,
144
+ transactionVersion: tx.version,
145
+ otherInputs: tx.inputs
146
+ .filter((_, idx) => idx !== inputIndex)
147
+ .map((inp) => ({
148
+ sourceTXID: inp.sourceTXID ?? inp.sourceTransaction?.id('hex') ?? '',
149
+ sourceOutputIndex: inp.sourceOutputIndex,
150
+ sequence: inp.sequence ?? 0xffffffff,
151
+ })),
152
+ inputIndex,
153
+ outputs: tx.outputs,
154
+ inputSequence: input.sequence ?? 0xffffffff,
155
+ subscript: sourceLockingScript,
156
+ lockTime: tx.lockTime,
157
+ scope,
158
+ });
159
+ const sighash = Hash.sha256(Hash.sha256(preimage));
160
+ const { signature } = await ctx.wallet.createSignature({
161
+ protocolID: BRC29_PROTOCOL_ID,
162
+ keyID,
163
+ counterparty: 'self',
164
+ hashToDirectlySign: Array.from(sighash),
165
+ });
166
+ const { publicKey } = await ctx.wallet.getPublicKey({
167
+ protocolID: BRC29_PROTOCOL_ID,
168
+ keyID,
169
+ forSelf: true,
170
+ });
171
+ const sigWithHashtype = [...signature, scope];
172
+ return new UnlockingScript()
173
+ .writeBin(sigWithHashtype)
174
+ .writeBin(Utils.toArray(publicKey, 'hex'))
175
+ .toHex();
176
+ }
177
+ function getMneeClient(ctx) {
178
+ if (!ctx.services?.mnee) {
179
+ throw new Error('MNEE client not available — services required');
180
+ }
181
+ return ctx.services.mnee;
182
+ }
183
+ // ============================================================================
184
+ // Actions
185
+ // ============================================================================
186
+ /**
187
+ * Get MNEE balance across all yours wallet addresses.
188
+ */
189
+ export const getMneeBalance = {
190
+ meta: {
191
+ name: 'getMneeBalance',
192
+ description: 'Get MNEE stablecoin balance across yours wallet addresses',
193
+ category: 'payments',
194
+ requiresServices: true,
195
+ inputSchema: {
196
+ type: 'object',
197
+ properties: {
198
+ addresses: {
199
+ type: 'array',
200
+ description: 'Specific addresses to query (omit to use yours wallet addresses)',
201
+ },
202
+ },
203
+ },
204
+ },
205
+ async execute(ctx, input) {
206
+ const mnee = getMneeClient(ctx);
207
+ const addresses = input.addresses ?? await deriveYoursAddresses(ctx);
208
+ const balances = await mnee.getBalances(addresses);
209
+ const totalAtomic = balances.reduce((sum, b) => sum + b.amount, 0);
210
+ const totalDecimal = balances.reduce((sum, b) => sum + b.decimalAmount, 0);
211
+ return { balances, totalDecimal, totalAtomic };
212
+ },
213
+ };
214
+ /**
215
+ * Get MNEE UTXOs across all yours wallet addresses.
216
+ */
217
+ export const getMneeUtxos = {
218
+ meta: {
219
+ name: 'getMneeUtxos',
220
+ description: 'Get MNEE UTXOs across yours wallet addresses',
221
+ category: 'payments',
222
+ requiresServices: true,
223
+ inputSchema: {
224
+ type: 'object',
225
+ properties: {
226
+ addresses: {
227
+ type: 'array',
228
+ description: 'Specific addresses to query (omit to use yours wallet addresses)',
229
+ },
230
+ },
231
+ },
232
+ },
233
+ async execute(ctx, input) {
234
+ const mnee = getMneeClient(ctx);
235
+ const addresses = input.addresses ?? await deriveYoursAddresses(ctx);
236
+ const utxos = await mnee.getAllUtxos(addresses);
237
+ return { utxos };
238
+ },
239
+ };
240
+ /**
241
+ * Get MNEE service configuration (cosigner, fees, etc).
242
+ */
243
+ export const getMneeConfig = {
244
+ meta: {
245
+ name: 'getMneeConfig',
246
+ description: 'Get MNEE service configuration including cosigner and fee structure',
247
+ category: 'payments',
248
+ requiresServices: true,
249
+ inputSchema: {
250
+ type: 'object',
251
+ properties: {},
252
+ },
253
+ },
254
+ async execute(ctx) {
255
+ const mnee = getMneeClient(ctx);
256
+ return mnee.getConfig();
257
+ },
258
+ };
259
+ /**
260
+ * Get MNEE transaction history for an address.
261
+ */
262
+ export const getMneeHistory = {
263
+ meta: {
264
+ name: 'getMneeHistory',
265
+ description: 'Get MNEE transaction history',
266
+ category: 'payments',
267
+ requiresServices: true,
268
+ inputSchema: {
269
+ type: 'object',
270
+ properties: {
271
+ address: {
272
+ type: 'string',
273
+ description: 'Address to query (omit for primary address)',
274
+ },
275
+ fromScore: {
276
+ type: 'number',
277
+ description: 'Pagination cursor',
278
+ },
279
+ limit: {
280
+ type: 'number',
281
+ description: 'Max results (default 50)',
282
+ },
283
+ },
284
+ },
285
+ },
286
+ async execute(ctx, input) {
287
+ const mnee = getMneeClient(ctx);
288
+ const address = input.address ?? (await deriveYoursAddresses(ctx))[0];
289
+ return mnee.getTxHistory(address, input.fromScore, input.limit);
290
+ },
291
+ };
292
+ /**
293
+ * Get the status of an MNEE transfer by ticket ID.
294
+ */
295
+ export const getMneeTxStatus = {
296
+ meta: {
297
+ name: 'getMneeTxStatus',
298
+ description: 'Get the status of an MNEE transfer',
299
+ category: 'payments',
300
+ requiresServices: true,
301
+ inputSchema: {
302
+ type: 'object',
303
+ properties: {
304
+ ticketId: {
305
+ type: 'string',
306
+ description: 'Ticket ID from a transfer response',
307
+ },
308
+ },
309
+ required: ['ticketId'],
310
+ },
311
+ },
312
+ async execute(ctx, input) {
313
+ const mnee = getMneeClient(ctx);
314
+ return mnee.getTxStatus(input.ticketId);
315
+ },
316
+ };
317
+ /**
318
+ * Send MNEE stablecoin. Builds the transaction, signs with BRC-29 keys,
319
+ * and submits to MNEE API for cosigner signature + broadcast.
320
+ */
321
+ export const sendMnee = {
322
+ meta: {
323
+ name: 'sendMnee',
324
+ description: 'Send MNEE stablecoin to one or more recipients',
325
+ category: 'payments',
326
+ requiresServices: true,
327
+ inputSchema: {
328
+ type: 'object',
329
+ properties: {
330
+ recipients: {
331
+ type: 'array',
332
+ description: 'Recipients with address and amount in MNEE',
333
+ },
334
+ changeAddress: {
335
+ type: 'string',
336
+ description: 'Change address (defaults to first input address)',
337
+ },
338
+ },
339
+ required: ['recipients'],
340
+ },
341
+ },
342
+ async execute(ctx, input) {
343
+ try {
344
+ const mnee = getMneeClient(ctx);
345
+ const { recipients, changeAddress } = input;
346
+ if (!recipients.length)
347
+ return { error: 'no-recipients' };
348
+ // 1. Derive addresses and build address→keyID map
349
+ const derivations = await deriveYoursDerivations(ctx);
350
+ const addresses = derivations.map((d) => d.address);
351
+ const addressKeyMap = buildAddressKeyMap(derivations);
352
+ // 2. Get MNEE config
353
+ const config = await mnee.getConfig();
354
+ if (!config?.approver)
355
+ return { error: 'failed-to-get-mnee-config' };
356
+ // 3. Calculate total amount needed
357
+ const totalAmount = recipients.reduce((sum, r) => sum + r.amount, 0);
358
+ if (totalAmount <= 0)
359
+ return { error: 'invalid-amount' };
360
+ const totalAtomic = MneeClientStatic.toAtomicAmount(totalAmount);
361
+ // 4. Calculate fee
362
+ const fee = recipients.some((r) => r.address === config.burnAddress)
363
+ ? 0
364
+ : config.fees.find((f) => totalAtomic >= f.min && totalAtomic <= f.max)?.fee;
365
+ if (fee === undefined)
366
+ return { error: 'fee-ranges-inadequate' };
367
+ // 5. Get enough UTXOs across all addresses
368
+ const allUtxos = await mnee.getAllUtxos(addresses);
369
+ let tokensNeeded = totalAtomic + fee;
370
+ const selectedUtxos = [];
371
+ let tokensIn = 0;
372
+ for (const utxo of allUtxos) {
373
+ if (tokensIn >= tokensNeeded)
374
+ break;
375
+ const amt = utxo.data.bsv21?.amt ?? 0;
376
+ if (amt <= 0)
377
+ continue;
378
+ selectedUtxos.push(utxo);
379
+ tokensIn += amt;
380
+ }
381
+ if (tokensIn < tokensNeeded) {
382
+ return {
383
+ error: `Insufficient MNEE. Have: ${MneeClientStatic.fromAtomicAmount(tokensIn)}, Need: ${MneeClientStatic.fromAtomicAmount(tokensNeeded)}`,
384
+ };
385
+ }
386
+ // 6. Fetch source transactions and build the tx
387
+ const tx = new Transaction(1, [], [], 0);
388
+ for (const utxo of selectedUtxos) {
389
+ // Fetch source transaction from MNEE API or 1Sat services
390
+ let sourceTx;
391
+ try {
392
+ const beef = await ctx.services.getBeefForTxid(utxo.txid);
393
+ const beefTx = beef.findTxid(utxo.txid);
394
+ if (beefTx?.tx)
395
+ sourceTx = beefTx.tx;
396
+ }
397
+ catch {
398
+ // Fallback: try raw tx fetch
399
+ }
400
+ if (!sourceTx) {
401
+ return { error: `failed-to-fetch-source-tx: ${utxo.txid}` };
402
+ }
403
+ tx.addInput({
404
+ sourceTXID: utxo.txid,
405
+ sourceOutputIndex: utxo.vout,
406
+ sourceTransaction: sourceTx,
407
+ unlockingScript: new UnlockingScript(),
408
+ sequence: 0xffffffff,
409
+ });
410
+ }
411
+ // 7. Add recipient outputs
412
+ for (const r of recipients) {
413
+ const out = createInscriptionOutput(r.address, MneeClientStatic.toAtomicAmount(r.amount), config);
414
+ tx.addOutput(out);
415
+ }
416
+ // 8. Add fee output
417
+ if (fee > 0) {
418
+ tx.addOutput(createInscriptionOutput(config.feeAddress, fee, config));
419
+ }
420
+ // 9. Add change output
421
+ const change = tokensIn - totalAtomic - fee;
422
+ if (change > 0) {
423
+ const changeAddr = changeAddress ??
424
+ extractAddressFromCosignScript(selectedUtxos[0]
425
+ ? Script.fromHex(selectedUtxos[0].script)
426
+ : tx.inputs[0].sourceTransaction.outputs[tx.inputs[0].sourceOutputIndex].lockingScript) ??
427
+ addresses[0];
428
+ tx.addOutput(createInscriptionOutput(changeAddr, change, config));
429
+ }
430
+ // 10. Sign each input with the matching BRC-29 key
431
+ for (let i = 0; i < tx.inputs.length; i++) {
432
+ const utxo = selectedUtxos[i];
433
+ const ownerAddress = utxo.owners?.[0];
434
+ const keyID = addressKeyMap.get(ownerAddress);
435
+ if (!keyID) {
436
+ return {
437
+ error: `No key found for address ${ownerAddress} — not a yours wallet address`,
438
+ };
439
+ }
440
+ const unlockingHex = await signCosignInput(ctx, tx, i, keyID);
441
+ tx.inputs[i].unlockingScript =
442
+ UnlockingScript.fromHex(unlockingHex);
443
+ }
444
+ // 11. Submit to MNEE for cosigner signature + broadcast
445
+ const rawTx = tx.toHex();
446
+ const result = await mnee.submitRawTx(rawTx, { broadcast: true });
447
+ return {
448
+ ticketId: result.ticketId,
449
+ rawtx: result.rawtx,
450
+ };
451
+ }
452
+ catch (error) {
453
+ console.error('[sendMnee]', error);
454
+ return {
455
+ error: error instanceof Error ? error.message : 'unknown-error',
456
+ };
457
+ }
458
+ },
459
+ };
460
+ // Static helpers re-exported for convenience
461
+ const MneeClientStatic = {
462
+ toAtomicAmount(mneeAmount) {
463
+ return Math.round(mneeAmount * 100_000);
464
+ },
465
+ fromAtomicAmount(atomicAmount) {
466
+ return atomicAmount / 100_000;
467
+ },
468
+ };
469
+ // ============================================================================
470
+ // Module exports
471
+ // ============================================================================
472
+ export const mneeActions = [
473
+ getMneeBalance,
474
+ getMneeUtxos,
475
+ getMneeConfig,
476
+ getMneeHistory,
477
+ getMneeTxStatus,
478
+ sendMnee,
479
+ ];
480
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mnee/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.72",
3
+ "version": "0.0.73",
4
4
  "description": "Action definitions for the 1Sat SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -21,10 +21,10 @@
21
21
  "keywords": ["1sat", "bsv", "actions", "wallet", "ordinals"],
22
22
  "license": "MIT",
23
23
  "dependencies": {
24
- "@1sat/client": "0.0.17",
24
+ "@1sat/client": "0.0.18",
25
25
  "@1sat/types": "0.0.14",
26
26
  "@1sat/utils": "0.0.12",
27
- "@1sat/wallet": "0.0.36",
27
+ "@1sat/wallet": "0.0.37",
28
28
  "@1sat/templates": "0.0.4"
29
29
  },
30
30
  "peerDependencies": {