@1sat/actions 0.0.235 → 0.1.0

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.
Files changed (96) hide show
  1. package/dist/1color/deploy.d.ts +35 -0
  2. package/dist/1color/deploy.d.ts.map +1 -0
  3. package/dist/1color/deploy.js +127 -0
  4. package/dist/1color/deploy.js.map +1 -0
  5. package/dist/{mandala → 1color}/deploy.test.d.ts.map +1 -1
  6. package/dist/1color/deploy.test.js +188 -0
  7. package/dist/1color/deploy.test.js.map +1 -0
  8. package/dist/1color/index.d.ts +10 -0
  9. package/dist/{mandala → 1color}/index.d.ts.map +1 -1
  10. package/dist/1color/index.js +12 -0
  11. package/dist/1color/index.js.map +1 -0
  12. package/dist/1color/receipt.d.ts +39 -0
  13. package/dist/1color/receipt.d.ts.map +1 -0
  14. package/dist/1color/receipt.js +91 -0
  15. package/dist/1color/receipt.js.map +1 -0
  16. package/dist/1color/send.d.ts +52 -0
  17. package/dist/1color/send.d.ts.map +1 -0
  18. package/dist/1color/send.js +175 -0
  19. package/dist/1color/send.js.map +1 -0
  20. package/dist/{mandala → 1color}/send.test.d.ts.map +1 -1
  21. package/dist/1color/send.test.js +622 -0
  22. package/dist/1color/send.test.js.map +1 -0
  23. package/dist/funding/walletFunding.d.ts +1 -2
  24. package/dist/funding/walletFunding.d.ts.map +1 -1
  25. package/dist/funding/walletFunding.js +1 -2
  26. package/dist/funding/walletFunding.js.map +1 -1
  27. package/dist/index.d.ts +1 -1
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +3 -3
  30. package/dist/index.js.map +1 -1
  31. package/dist/listings/cancelOwnedListings.d.ts.map +1 -1
  32. package/dist/listings/cancelOwnedListings.js +7 -3
  33. package/dist/listings/cancelOwnedListings.js.map +1 -1
  34. package/dist/locks/index.d.ts.map +1 -1
  35. package/dist/locks/index.js +2 -1
  36. package/dist/locks/index.js.map +1 -1
  37. package/dist/metanet/delivery.d.ts +69 -0
  38. package/dist/metanet/delivery.d.ts.map +1 -0
  39. package/dist/metanet/delivery.js +235 -0
  40. package/dist/metanet/delivery.js.map +1 -0
  41. package/dist/metanet/delivery.test.d.ts +2 -0
  42. package/dist/metanet/delivery.test.d.ts.map +1 -0
  43. package/dist/metanet/delivery.test.js +125 -0
  44. package/dist/metanet/delivery.test.js.map +1 -0
  45. package/dist/metanet/envelope.test.js +1 -1
  46. package/dist/metanet/envelope.test.js.map +1 -1
  47. package/dist/metanet/inbox.d.ts +2 -2
  48. package/dist/metanet/inbox.js +2 -2
  49. package/dist/metanet/index.d.ts +5 -3
  50. package/dist/metanet/index.d.ts.map +1 -1
  51. package/dist/metanet/index.js +6 -4
  52. package/dist/metanet/index.js.map +1 -1
  53. package/dist/metanet/receive.d.ts +46 -16
  54. package/dist/metanet/receive.d.ts.map +1 -1
  55. package/dist/metanet/receive.js +118 -17
  56. package/dist/metanet/receive.js.map +1 -1
  57. package/dist/metanet/relay.d.ts +1 -1
  58. package/dist/metanet/relay.js +1 -1
  59. package/dist/metanet/testdata/brc232-vectors.json +86 -0
  60. package/dist/opns/index.d.ts.map +1 -1
  61. package/dist/opns/index.js +2 -1
  62. package/dist/opns/index.js.map +1 -1
  63. package/dist/ordinals/index.d.ts.map +1 -1
  64. package/dist/ordinals/index.js +2 -1
  65. package/dist/ordinals/index.js.map +1 -1
  66. package/dist/payments/index.d.ts +1 -1
  67. package/dist/payments/index.js +3 -3
  68. package/dist/payments/index.js.map +1 -1
  69. package/dist/payments/sendBsvHandle.test.js +52 -34
  70. package/dist/payments/sendBsvHandle.test.js.map +1 -1
  71. package/package.json +10 -9
  72. package/dist/mandala/deploy.d.ts +0 -89
  73. package/dist/mandala/deploy.d.ts.map +0 -1
  74. package/dist/mandala/deploy.js +0 -226
  75. package/dist/mandala/deploy.js.map +0 -1
  76. package/dist/mandala/deploy.test.js +0 -281
  77. package/dist/mandala/deploy.test.js.map +0 -1
  78. package/dist/mandala/index.d.ts +0 -9
  79. package/dist/mandala/index.js +0 -17
  80. package/dist/mandala/index.js.map +0 -1
  81. package/dist/mandala/receive.d.ts +0 -58
  82. package/dist/mandala/receive.d.ts.map +0 -1
  83. package/dist/mandala/receive.js +0 -162
  84. package/dist/mandala/receive.js.map +0 -1
  85. package/dist/mandala/send.d.ts +0 -74
  86. package/dist/mandala/send.d.ts.map +0 -1
  87. package/dist/mandala/send.js +0 -313
  88. package/dist/mandala/send.js.map +0 -1
  89. package/dist/mandala/send.test.js +0 -515
  90. package/dist/mandala/send.test.js.map +0 -1
  91. package/dist/mandala/tokenId.d.ts +0 -21
  92. package/dist/mandala/tokenId.d.ts.map +0 -1
  93. package/dist/mandala/tokenId.js +0 -29
  94. package/dist/mandala/tokenId.js.map +0 -1
  95. /package/dist/{mandala → 1color}/deploy.test.d.ts +0 -0
  96. /package/dist/{mandala → 1color}/send.test.d.ts +0 -0
@@ -0,0 +1,125 @@
1
+ import { afterEach, describe, expect, test } from 'bun:test';
2
+ import { OneColor } from '@1sat/templates';
3
+ import { Transaction, Utils, } from '@bsv/sdk';
4
+ import { encode as dagCborEncode } from '@ipld/dag-cbor';
5
+ import { decodeTransactionDelivery, encodeTransactionDelivery, encodeTransactionDeliveryMime, transactionDeliveryBody, } from './delivery.js';
6
+ import { internalizeTransactionDelivery } from './receive.js';
7
+ import vectorFile from './testdata/brc232-vectors.json';
8
+ const VECTORS = vectorFile.fixtures;
9
+ const vector = (name) => VECTORS.find((v) => v.name === name);
10
+ const hexBytes = (h) => Uint8Array.from(Utils.toArray(h, 'hex'));
11
+ const hex = (b) => Utils.toHex(Array.from(b));
12
+ const OVERLAY = 'https://overlay.example';
13
+ const realFetch = globalThis.fetch;
14
+ afterEach(() => {
15
+ globalThis.fetch = realFetch;
16
+ });
17
+ /** Overlay fake admitting every submitted output index; records the topics. */
18
+ function overlay(log) {
19
+ globalThis.fetch = (async (url, init) => {
20
+ expect(String(url)).toBe(`${OVERLAY}/submit`);
21
+ const topics = new Headers(init?.headers).get('X-Topics') ?? '';
22
+ log.push(`submit ${topics}`);
23
+ return new Response(JSON.stringify(Object.fromEntries(topics
24
+ .split(',')
25
+ .map((t) => [t, { outputsToAdmit: [0, 1, 2], coinsToRetain: [] }]))));
26
+ });
27
+ }
28
+ function wallet(log) {
29
+ const internalized = [];
30
+ return {
31
+ internalized,
32
+ wallet: {
33
+ internalizeAction: async (args) => {
34
+ log.push('internalize');
35
+ internalized.push(args);
36
+ return { accepted: true };
37
+ },
38
+ },
39
+ };
40
+ }
41
+ describe('BRC-232 vectors', () => {
42
+ for (const name of ['ordinary-payment', 'token-value', 'token-authority']) {
43
+ test(`${name}: decode, then byte-identical CBOR and MIME on re-encode`, () => {
44
+ const v = vector(name);
45
+ const body = transactionDeliveryBody(hexBytes(v.mimeHex));
46
+ expect(hex(body)).toBe(v.bodyCborHex);
47
+ const decoded = decodeTransactionDelivery(body);
48
+ expect(hex(decoded.txid)).toBe(v.txid);
49
+ expect(hex(encodeTransactionDelivery(decoded))).toBe(v.bodyCborHex);
50
+ expect(hex(encodeTransactionDeliveryMime(decoded))).toBe(v.mimeHex);
51
+ });
52
+ }
53
+ for (const name of ['token-value', 'token-authority']) {
54
+ test(`${name}: submitted to its asset topic, then the vector's internalizeAction request`, async () => {
55
+ const v = vector(name);
56
+ const subject = Transaction.fromAtomicBEEF(Array.from(hexBytes(v.internalize.txHex)));
57
+ const assetId = OneColor.decode(subject.outputs[0].lockingScript)?.tokenId;
58
+ const log = [];
59
+ overlay(log);
60
+ const { wallet: w, internalized } = wallet(log);
61
+ const res = await internalizeTransactionDelivery(w, OVERLAY, transactionDeliveryBody(hexBytes(v.mimeHex)));
62
+ expect(res).toEqual({ txid: v.txid, assetIds: [assetId] });
63
+ expect(log).toEqual([`submit tm_color_${assetId}`, 'internalize']);
64
+ expect(internalized[0].outputs).toEqual(v.internalize.outputs);
65
+ expect(hex(internalized[0].tx)).toBe(v.internalize.txHex);
66
+ });
67
+ }
68
+ test("ordinary-payment: the vector's internalizeAction request, no overlay submit", async () => {
69
+ const v = vector('ordinary-payment');
70
+ const log = [];
71
+ overlay(log);
72
+ const { wallet: w, internalized } = wallet(log);
73
+ const res = await internalizeTransactionDelivery(w, OVERLAY, transactionDeliveryBody(hexBytes(v.mimeHex)));
74
+ expect(res).toEqual({ txid: v.txid, assetIds: [] });
75
+ expect(log).toEqual(['internalize']);
76
+ expect(internalized[0].outputs).toEqual(v.internalize.outputs);
77
+ expect(hex(internalized[0].tx)).toBe(v.internalize.txHex);
78
+ });
79
+ test('issue-receipt: an ISSUE receipt is not accepted (receipts name <txid>_<vout>)', async () => {
80
+ const v = vector('issue-receipt');
81
+ const log = [];
82
+ overlay(log);
83
+ const { wallet: w } = wallet(log);
84
+ await expect(internalizeTransactionDelivery(w, OVERLAY, transactionDeliveryBody(hexBytes(v.mimeHex)))).rejects.toThrow('BRC-207: malformed receipt customInstructions');
85
+ expect(log).toEqual([]);
86
+ });
87
+ });
88
+ describe('BRC-232 body schema', () => {
89
+ const v = vector('token-value');
90
+ const base = () => decodeTransactionDelivery(hexBytes(v.bodyCborHex));
91
+ const reject = (body, message) => expect(() => decodeTransactionDelivery(dagCborEncode(body))).toThrow(message);
92
+ test('unknown top-level members fail', () => {
93
+ reject({ ...base(), extra: 1 }, 'BRC-232: the body has an unknown member extra');
94
+ });
95
+ test('version, txid and outputs are required and typed', () => {
96
+ reject({ ...base(), version: 2 }, 'BRC-232: version must be 1');
97
+ reject({ ...base(), txid: new Uint8Array(31) }, 'BRC-232: txid must be a byte string of 32 bytes');
98
+ reject({ ...base(), outputs: [] }, 'BRC-232: outputs must be a nonempty array');
99
+ const { lifecycles: _l, ...noLifecycles } = base();
100
+ reject(noLifecycles, 'BRC-232: the body lacks lifecycles');
101
+ });
102
+ test('outputs strictly increase by outputIndex', () => {
103
+ const b = base();
104
+ reject({ ...b, outputs: [b.outputs[0], b.outputs[0]] }, 'BRC-232: outputs must be strictly increasing by outputIndex');
105
+ });
106
+ test('output entries have no other members', () => {
107
+ const b = base();
108
+ reject({ ...b, outputs: [{ ...b.outputs[0], keyID: 'x' }] }, 'BRC-232: outputs[0] has an unknown member keyID');
109
+ });
110
+ test('memo is at most 2000 UTF-8 bytes', () => {
111
+ reject({ ...base(), memo: 'é'.repeat(1001) }, 'BRC-232: memo exceeds 2000 UTF-8 bytes');
112
+ expect(decodeTransactionDelivery(dagCborEncode({ ...base(), memo: 'é'.repeat(1000) })).memo).toHaveLength(1000);
113
+ });
114
+ test('MIME: duplicate or folded headers and parameters are rejected', () => {
115
+ const body = hexBytes(v.bodyCborHex);
116
+ const mime = (head) => Uint8Array.from([...Utils.toArray(head, 'utf8'), ...body]);
117
+ const ct = 'Content-Type: application/vnd.metanet.transaction+cbor\r\n';
118
+ const te = 'Content-Transfer-Encoding: binary\r\n';
119
+ expect(hex(transactionDeliveryBody(mime(`${ct}${te}\r\n`)))).toBe(v.bodyCborHex);
120
+ expect(() => transactionDeliveryBody(mime(`${ct}${ct}${te}\r\n`))).toThrow('BRC-232: duplicate MIME header');
121
+ expect(() => transactionDeliveryBody(mime(`${ct}${te} folded\r\n\r\n`))).toThrow('BRC-232: malformed MIME header');
122
+ expect(() => transactionDeliveryBody(mime(`Content-Type: application/vnd.metanet.transaction+cbor; x=1\r\n${te}\r\n`))).toThrow('with no parameters');
123
+ });
124
+ });
125
+ //# sourceMappingURL=delivery.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delivery.test.js","sourceRoot":"","sources":["../../src/metanet/delivery.test.ts"],"names":[],"mappings":"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"}
@@ -80,7 +80,7 @@ describe('BRC-169 envelope (DAG-CBOR)', () => {
80
80
  payment: {
81
81
  derivationPrefix: new Uint8Array(16).fill(1),
82
82
  derivationSuffix: new Uint8Array(16).fill(2),
83
- protocol: utf8('mandala'),
83
+ protocol: utf8('3241645161d8'),
84
84
  satoshis: 1,
85
85
  beef: new Uint8Array([1, 2, 3]),
86
86
  },
@@ -1 +1 @@
1
- {"version":3,"file":"envelope.test.js","sourceRoot":"","sources":["../../src/metanet/envelope.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"envelope.test.js","sourceRoot":"","sources":["../../src/metanet/envelope.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
- * The messagebox steps shared by the BRC-169 inbox syncs (`mandala_inbox`,
3
- * `metanet_inbox`): list a box (BRC-231 over BRC-104), decode each §7.3
2
+ * The messagebox steps of the `transaction-delivery` box sync: list a box
3
+ * (BRC-231 over BRC-104), decode each §7.3
4
4
  * DAG-CBOR envelope, verify its §7.2 signature against `sender.identityKey`,
5
5
  * decrypt the BRC-78 `content` with `wallet.decrypt`, check `contentHash`,
6
6
  * parse the MIME entity, hand it to the box's handler, and acknowledge only
@@ -1,6 +1,6 @@
1
1
  /**
2
- * The messagebox steps shared by the BRC-169 inbox syncs (`mandala_inbox`,
3
- * `metanet_inbox`): list a box (BRC-231 over BRC-104), decode each §7.3
2
+ * The messagebox steps of the `transaction-delivery` box sync: list a box
3
+ * (BRC-231 over BRC-104), decode each §7.3
4
4
  * DAG-CBOR envelope, verify its §7.2 signature against `sender.identityKey`,
5
5
  * decrypt the BRC-78 `content` with `wallet.decrypt`, check `contentHash`,
6
6
  * parse the MIME entity, hand it to the box's handler, and acknowledge only
@@ -1,8 +1,10 @@
1
1
  /**
2
- * BRC-169 envelope plumbing shared by the handle-addressed actions (Mandala
3
- * sends, `sendBsv` to a handle) and the `metanet_inbox` sync.
2
+ * BRC-169 envelope plumbing shared by the handle-addressed actions (1Color
3
+ * sends, `sendBsv` to a handle), the BRC-232 delivery codec, and the
4
+ * `transaction-delivery` box sync.
4
5
  */
6
+ export * from './delivery.js';
5
7
  export * from './envelope.js';
6
8
  export * from './receive.js';
7
- export declare const metanetActions: import("../types.js").Action<import("./receive.js").SyncMetanetInboxInput, import("./receive.js").SyncMetanetInboxResult>[];
9
+ export declare const metanetActions: import("../types.js").Action<import("./receive.js").SyncTransactionInboxInput, import("./receive.js").SyncTransactionInboxResult>[];
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metanet/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAE5B,eAAO,MAAM,cAAc,6HAAqB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/metanet/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAE5B,eAAO,MAAM,cAAc,qIAAyB,CAAA"}
@@ -1,9 +1,11 @@
1
1
  /**
2
- * BRC-169 envelope plumbing shared by the handle-addressed actions (Mandala
3
- * sends, `sendBsv` to a handle) and the `metanet_inbox` sync.
2
+ * BRC-169 envelope plumbing shared by the handle-addressed actions (1Color
3
+ * sends, `sendBsv` to a handle), the BRC-232 delivery codec, and the
4
+ * `transaction-delivery` box sync.
4
5
  */
5
- import { syncMetanetInbox } from './receive.js';
6
+ import { syncTransactionInbox } from './receive.js';
7
+ export * from './delivery.js';
6
8
  export * from './envelope.js';
7
9
  export * from './receive.js';
8
- export const metanetActions = [syncMetanetInbox];
10
+ export const metanetActions = [syncTransactionInbox];
9
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metanet/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAE/C,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAE5B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,gBAAgB,CAAC,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/metanet/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAEnD,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAE5B,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,oBAAoB,CAAC,CAAA"}
@@ -1,5 +1,7 @@
1
1
  /**
2
- * Collect BRC-169 payments from the wallet's `metanet_inbox`.
2
+ * Collect the wallet's `transaction-delivery` box: BRC-232 transaction
3
+ * deliveries (1Color tokens, BRC-29 outputs) and BRC-169 payments to a
4
+ * handle.
3
5
  *
4
6
  * For each message listed (BRC-231 over BRC-104) the shared inbox steps
5
7
  * decode the §7.3 DAG-CBOR envelope, verify its §7.2 signature against
@@ -11,40 +13,68 @@
11
13
  * derivationSuffix, senderIdentityKey: sender.identityKey }`, label
12
14
  * `metanet payment`, the memo in the description when `content` is
13
15
  * `text/plain`;
14
- * - `payment` null and `content` a BRC-232 transaction delivery: processed as
15
- * `syncMandalaInbox` processes it.
16
+ * - `payment` null and `content` a BRC-232 delivery (`contentHash`
17
+ * required): decode the body strictly. `wallet payment` entries map to
18
+ * BRC-100 `paymentRemittance`. A `basket insertion` entry must name a
19
+ * `p color` basket with BRC-207 receipt instructions; its transaction is
20
+ * first submitted to the asset's topic `tm_color_<assetId>` at `overlay`
21
+ * (BRC-22), and the STEAK must admit the received output. Then one
22
+ * `internalizeAction` with every entry copied verbatim.
16
23
  *
17
- * A message is acknowledged only after its internalize succeeds. Anything
18
- * else (JSON envelopes, a bad signature or hash, a payment protocol other
19
- * than BRC-29, a payment whose content is a transaction delivery, a message
20
- * with nothing to internalize) is left unacknowledged and reported.
24
+ * A message is internalized whole or not at all, and acknowledged only after
25
+ * its internalize succeeds. Anything else (a JSON envelope, a bad signature
26
+ * or hash, an unsupported entry or basket, an output the overlay does not
27
+ * admit, a message with nothing to internalize) is left unacknowledged and
28
+ * reported.
21
29
  */
30
+ import { type WalletInterface } from '@bsv/sdk';
22
31
  import type { Action } from '../types.js';
23
32
  import { type InboxSkip } from './inbox.js';
24
33
  /** Label on internalized handle payments */
25
34
  export declare const METANET_PAYMENT_LABEL = "metanet payment";
26
- export interface SyncMetanetInboxInput {
35
+ export interface SyncTransactionInboxInput {
27
36
  /** MessageBox server URL (default: "https://messagebox.1sat.app") */
28
37
  messageboxUrl?: string;
38
+ /**
39
+ * Base URL of the BRC-22 overlay that 1Color receipts are submitted to
40
+ * (`<overlay>/submit`, topic `tm_color_<assetId>`) before they are
41
+ * internalized. No default: without it, a message with a `p color` entry
42
+ * is left unacknowledged with reason `overlay-required`; everything else
43
+ * is processed.
44
+ */
45
+ overlay?: string;
29
46
  }
30
47
  /** A message internalized and acknowledged. */
31
- export interface MetanetInboxReceipt {
48
+ export interface TransactionInboxReceipt {
32
49
  messageId: string;
33
50
  txid: string;
34
51
  /** Sender identity key, hex */
35
52
  sender: string;
36
- /** `payment.satoshis` as the envelope states it (payments only) */
53
+ /** `payment.satoshis` as the envelope states it (handle payments only) */
37
54
  satoshis?: number;
38
- /** The `text/plain` content (payments only) */
55
+ /** The `text/plain` content (handle payments only) */
39
56
  memo?: string;
40
- /** Mandala tokens received (BRC-232 deliveries only) */
41
- tokenIds: string[];
57
+ /** 1Color assets received (`<txid>_<vout>`), BRC-232 deliveries only */
58
+ assetIds: string[];
42
59
  }
43
- export interface SyncMetanetInboxResult {
44
- received: MetanetInboxReceipt[];
60
+ export interface SyncTransactionInboxResult {
61
+ received: TransactionInboxReceipt[];
45
62
  /** Messages left unacknowledged */
46
63
  skipped: InboxSkip[];
47
64
  error?: string;
48
65
  }
49
- export declare const syncMetanetInbox: Action<SyncMetanetInboxInput, SyncMetanetInboxResult>;
66
+ /**
67
+ * Internalize one BRC-232 delivery body, whole or not at all: map its
68
+ * entries, submit each 1Color asset's transaction to `tm_color_<assetId>` at
69
+ * `overlay` and require admission of the received outputs, then one
70
+ * `internalizeAction`.
71
+ *
72
+ * @throws when the body is malformed, names an unsupported entry or basket,
73
+ * the overlay does not admit a received output, or the wallet refuses it
74
+ */
75
+ export declare function internalizeTransactionDelivery(wallet: Pick<WalletInterface, 'internalizeAction'>, overlay: string | undefined, body: Uint8Array): Promise<{
76
+ txid: string;
77
+ assetIds: string[];
78
+ }>;
79
+ export declare const syncTransactionInbox: Action<SyncTransactionInboxInput, SyncTransactionInboxResult>;
50
80
  //# sourceMappingURL=receive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"receive.d.ts","sourceRoot":"","sources":["../../src/metanet/receive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAEzC,OAAO,EAAE,KAAK,SAAS,EAAgC,MAAM,YAAY,CAAA;AAEzE,4CAA4C;AAC5C,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAEtD,MAAM,WAAW,qBAAqB;IACrC,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAA;CACtB;AAED,+CAA+C;AAC/C,MAAM,WAAW,mBAAmB;IACnC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,mEAAmE;IACnE,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,+CAA+C;IAC/C,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wDAAwD;IACxD,QAAQ,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,EAAE,mBAAmB,EAAE,CAAA;IAC/B,mCAAmC;IACnC,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAqDD,eAAO,MAAM,gBAAgB,EAAE,MAAM,CACpC,qBAAqB,EACrB,sBAAsB,CAiEtB,CAAA"}
1
+ {"version":3,"file":"receive.d.ts","sourceRoot":"","sources":["../../src/metanet/receive.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAMH,OAAO,EAIN,KAAK,eAAe,EACpB,MAAM,UAAU,CAAA;AAEjB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AAMzC,OAAO,EAAE,KAAK,SAAS,EAAgC,MAAM,YAAY,CAAA;AAEzE,4CAA4C;AAC5C,eAAO,MAAM,qBAAqB,oBAAoB,CAAA;AAEtD,MAAM,WAAW,yBAAyB;IACzC,qEAAqE;IACrE,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,+CAA+C;AAC/C,MAAM,WAAW,uBAAuB;IACvC,SAAS,EAAE,MAAM,CAAA;IACjB,IAAI,EAAE,MAAM,CAAA;IACZ,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAA;IACd,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,sDAAsD;IACtD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,wEAAwE;IACxE,QAAQ,EAAE,MAAM,EAAE,CAAA;CAClB;AAED,MAAM,WAAW,0BAA0B;IAC1C,QAAQ,EAAE,uBAAuB,EAAE,CAAA;IACnC,mCAAmC;IACnC,OAAO,EAAE,SAAS,EAAE,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACd;AAsDD;;;;;;;;GAQG;AACH,wBAAsB,8BAA8B,CACnD,MAAM,EAAE,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,EAClD,OAAO,EAAE,MAAM,GAAG,SAAS,EAC3B,IAAI,EAAE,UAAU,GACd,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAoF/C;AAED,eAAO,MAAM,oBAAoB,EAAE,MAAM,CACxC,yBAAyB,EACzB,0BAA0B,CA4E1B,CAAA"}
@@ -1,5 +1,7 @@
1
1
  /**
2
- * Collect BRC-169 payments from the wallet's `metanet_inbox`.
2
+ * Collect the wallet's `transaction-delivery` box: BRC-232 transaction
3
+ * deliveries (1Color tokens, BRC-29 outputs) and BRC-169 payments to a
4
+ * handle.
3
5
  *
4
6
  * For each message listed (BRC-231 over BRC-104) the shared inbox steps
5
7
  * decode the §7.3 DAG-CBOR envelope, verify its §7.2 signature against
@@ -11,22 +13,32 @@
11
13
  * derivationSuffix, senderIdentityKey: sender.identityKey }`, label
12
14
  * `metanet payment`, the memo in the description when `content` is
13
15
  * `text/plain`;
14
- * - `payment` null and `content` a BRC-232 transaction delivery: processed as
15
- * `syncMandalaInbox` processes it.
16
+ * - `payment` null and `content` a BRC-232 delivery (`contentHash`
17
+ * required): decode the body strictly. `wallet payment` entries map to
18
+ * BRC-100 `paymentRemittance`. A `basket insertion` entry must name a
19
+ * `p color` basket with BRC-207 receipt instructions; its transaction is
20
+ * first submitted to the asset's topic `tm_color_<assetId>` at `overlay`
21
+ * (BRC-22), and the STEAK must admit the received output. Then one
22
+ * `internalizeAction` with every entry copied verbatim.
16
23
  *
17
- * A message is acknowledged only after its internalize succeeds. Anything
18
- * else (JSON envelopes, a bad signature or hash, a payment protocol other
19
- * than BRC-29, a payment whose content is a transaction delivery, a message
20
- * with nothing to internalize) is left unacknowledged and reported.
24
+ * A message is internalized whole or not at all, and acknowledged only after
25
+ * its internalize succeeds. Anything else (a JSON envelope, a bad signature
26
+ * or hash, an unsupported entry or basket, an output the overlay does not
27
+ * admit, a message with nothing to internalize) is left unacknowledged and
28
+ * reported.
21
29
  */
22
- import { BRC29_PROTOCOL_ID, METANET_INBOX } from '@1sat/types';
30
+ import { OverlayClient } from '@1sat/client';
31
+ import { BRC29_PROTOCOL_ID, TRANSACTION_DELIVERY_BOX } from '@1sat/types';
23
32
  import { TRANSACTION_CBOR_CONTENT_TYPE, mediaType } from '@1sat/utils';
24
- import { Beef, Utils } from '@bsv/sdk';
25
- import { internalizeTransactionDelivery } from '../mandala/receive.js';
33
+ import { colorTopic } from '@bsv/color-permission-module';
34
+ import { Beef, Utils, } from '@bsv/sdk';
35
+ import { checkColorReceipt } from '../1color/receipt.js';
36
+ import { decodeTransactionDelivery, transactionDeliveryBody, } from './delivery.js';
26
37
  import { InboxSkipError, processInbox } from './inbox.js';
27
38
  /** Label on internalized handle payments */
28
39
  export const METANET_PAYMENT_LABEL = 'metanet payment';
29
40
  const BRC29_PROTOCOL = BRC29_PROTOCOL_ID[1];
41
+ const COMPRESSED_KEY = /^0[23][0-9a-f]{64}$/;
30
42
  /** Internalize a §7.3 `payment` as a BRC-29 wallet payment of output 0. */
31
43
  async function internalizeEnvelopePayment(wallet, payment, sender, memo) {
32
44
  if (!(payment.protocol instanceof Uint8Array) ||
@@ -60,10 +72,92 @@ async function internalizeEnvelopePayment(wallet, payment, sender, memo) {
60
72
  });
61
73
  return txid;
62
74
  }
63
- export const syncMetanetInbox = {
75
+ /**
76
+ * Internalize one BRC-232 delivery body, whole or not at all: map its
77
+ * entries, submit each 1Color asset's transaction to `tm_color_<assetId>` at
78
+ * `overlay` and require admission of the received outputs, then one
79
+ * `internalizeAction`.
80
+ *
81
+ * @throws when the body is malformed, names an unsupported entry or basket,
82
+ * the overlay does not admit a received output, or the wallet refuses it
83
+ */
84
+ export async function internalizeTransactionDelivery(wallet, overlay, body) {
85
+ const delivery = decodeTransactionDelivery(body);
86
+ const txid = Utils.toHex(Array.from(delivery.txid));
87
+ const beef = Beef.fromBinary(Array.from(delivery.beef));
88
+ const subject = beef.findTxid(txid)?.tx;
89
+ if (!subject || subject.id('hex') !== txid) {
90
+ throw new InboxSkipError(`beef does not contain ${txid}`);
91
+ }
92
+ const outputs = [];
93
+ const received = new Map();
94
+ for (const entry of delivery.outputs) {
95
+ const { outputIndex } = entry;
96
+ if (!subject.outputs[outputIndex]) {
97
+ throw new InboxSkipError(`output ${outputIndex} is not in ${txid}`);
98
+ }
99
+ if (entry.protocol === 'wallet payment') {
100
+ const r = entry.paymentRemittance;
101
+ const senderIdentityKey = Utils.toHex(Array.from(r.senderIdentityKey));
102
+ if (!COMPRESSED_KEY.test(senderIdentityKey)) {
103
+ throw new InboxSkipError(`output ${outputIndex}: senderIdentityKey is not a compressed key`);
104
+ }
105
+ outputs.push({
106
+ outputIndex,
107
+ protocol: 'wallet payment',
108
+ paymentRemittance: {
109
+ derivationPrefix: r.derivationPrefix,
110
+ derivationSuffix: r.derivationSuffix,
111
+ senderIdentityKey,
112
+ },
113
+ });
114
+ continue;
115
+ }
116
+ const { basket, customInstructions, tags } = entry.insertionRemittance;
117
+ if (!basket.startsWith('p color ')) {
118
+ throw new InboxSkipError(`output ${outputIndex}: unsupported basket ${basket}`);
119
+ }
120
+ // 1Color receipts are submitted to the overlay before internalizing.
121
+ if (!overlay)
122
+ throw new InboxSkipError('overlay-required');
123
+ const { assetId } = checkColorReceipt(subject, outputIndex, basket, customInstructions);
124
+ received.set(assetId, [...(received.get(assetId) ?? []), outputIndex]);
125
+ outputs.push({
126
+ outputIndex,
127
+ protocol: 'basket insertion',
128
+ insertionRemittance: {
129
+ basket,
130
+ customInstructions,
131
+ ...(tags !== undefined && { tags }),
132
+ },
133
+ });
134
+ }
135
+ // BRC-207: the received output must be admitted before the wallet accepts
136
+ // it, and internalizeAction never submits.
137
+ if (received.size > 0) {
138
+ const client = new OverlayClient(overlay.replace(/\/+$/, ''));
139
+ for (const [assetId, indexes] of received) {
140
+ const topic = colorTopic(assetId);
141
+ const steak = await client.submitBrc22(Array.from(delivery.beef), [topic]);
142
+ const admitted = steak?.[topic]?.outputsToAdmit ?? [];
143
+ for (const i of indexes) {
144
+ if (!admitted.includes(i)) {
145
+ throw new InboxSkipError(`${topic} did not admit ${txid}.${i}`);
146
+ }
147
+ }
148
+ }
149
+ }
150
+ await wallet.internalizeAction({
151
+ tx: beef.toBinaryAtomic(txid),
152
+ outputs,
153
+ description: received.size > 0 ? 'Receive 1Color tokens' : 'Receive delivered outputs',
154
+ });
155
+ return { txid, assetIds: [...received.keys()] };
156
+ }
157
+ export const syncTransactionInbox = {
64
158
  meta: {
65
- name: 'syncMetanetInbox',
66
- description: 'Collect BRC-169 handle payments (and BRC-232 deliveries) from the metanet_inbox message box and internalize them',
159
+ name: 'syncTransactionInbox',
160
+ description: 'Collect the transaction-delivery message box: BRC-232 deliveries (1Color tokens, submitted to their overlay topic first; BRC-29 outputs) and BRC-169 handle payments, internalized into the wallet',
67
161
  category: 'sync',
68
162
  inputSchema: {
69
163
  type: 'object',
@@ -72,12 +166,16 @@ export const syncMetanetInbox = {
72
166
  type: 'string',
73
167
  description: 'MessageBox server URL (default: "https://messagebox.1sat.app")',
74
168
  },
169
+ overlay: {
170
+ type: 'string',
171
+ description: 'Base URL of the BRC-22 overlay that 1Color receipts are submitted to before internalizing; without it, messages with 1Color receipts stay in the box (overlay-required)',
172
+ },
75
173
  },
76
174
  },
77
175
  requiresServices: false,
78
176
  },
79
177
  async execute(ctx, input) {
80
- return processInbox(ctx.wallet, input.messageboxUrl, METANET_INBOX, async ({ env, sender, entity }, msg) => {
178
+ return processInbox(ctx.wallet, input.messageboxUrl, TRANSACTION_DELIVERY_BOX, async ({ env, sender, entity, plaintext }, msg) => {
81
179
  const type = mediaType(entity.contentType);
82
180
  if (env.payment) {
83
181
  if (type === TRANSACTION_CBOR_CONTENT_TYPE) {
@@ -93,12 +191,15 @@ export const syncMetanetInbox = {
93
191
  sender,
94
192
  satoshis: env.payment.satoshis,
95
193
  memo,
96
- tokenIds: [],
194
+ assetIds: [],
97
195
  };
98
196
  }
99
197
  if (type === TRANSACTION_CBOR_CONTENT_TYPE) {
100
- const { txid, tokenIds } = await internalizeTransactionDelivery(ctx.wallet, entity.body);
101
- return { messageId: msg.messageId, txid, sender, tokenIds };
198
+ if (env.contentHash === undefined) {
199
+ throw new InboxSkipError('a BRC-232 delivery requires the envelope contentHash');
200
+ }
201
+ const { txid, assetIds } = await internalizeTransactionDelivery(ctx.wallet, input.overlay, transactionDeliveryBody(plaintext));
202
+ return { messageId: msg.messageId, txid, sender, assetIds };
102
203
  }
103
204
  throw new InboxSkipError(`nothing to internalize: no payment, content type ${entity.contentType}`);
104
205
  });
@@ -1 +1 @@
1
- {"version":3,"file":"receive.js","sourceRoot":"","sources":["../../src/metanet/receive.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"receive.js","sourceRoot":"","sources":["../../src/metanet/receive.ts"],"names":[],"mappings":"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"}
@@ -25,7 +25,7 @@ export declare function acknowledgeCborMessages(wallet: WalletInterface, message
25
25
  status: string;
26
26
  }>;
27
27
  /**
28
- * The relay calls the BRC-169 envelope actions make (Mandala sends, handle
28
+ * The relay calls the BRC-169 envelope actions make (1Color sends, handle
29
29
  * payments, inbox syncs), gathered in one object so a host or a test can
30
30
  * substitute the transport.
31
31
  */
@@ -39,7 +39,7 @@ export async function acknowledgeCborMessages(wallet, messagebox, messageIds) {
39
39
  return postCbor(wallet, messagebox, '/acknowledgeMessage', { messageIds });
40
40
  }
41
41
  /**
42
- * The relay calls the BRC-169 envelope actions make (Mandala sends, handle
42
+ * The relay calls the BRC-169 envelope actions make (1Color sends, handle
43
43
  * payments, inbox syncs), gathered in one object so a host or a test can
44
44
  * substitute the transport.
45
45
  */