@1sat/templates 0.0.31 → 0.0.32

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.
@@ -3,12 +3,21 @@ import { type LockingScript, Script } from '@bsv/sdk';
3
3
  export { MAP_PREFIX };
4
4
  /**
5
5
  * MAP protocol commands
6
+ *
7
+ * Per the Magic Attribute Protocol specification. `SET` and `REMOVE` operate on
8
+ * single-value keys; `ADD` and `DELETE` operate on list-valued keys. `SELECT`
9
+ * designates a transaction as the context for a following command, and `CLEAR`
10
+ * erases every value a transaction wrote.
11
+ *
12
+ * @see https://github.com/opldotdev/MAP
6
13
  */
7
14
  export declare enum MAPCommand {
8
15
  SET = "SET",
9
- DEL = "DEL",
16
+ REMOVE = "REMOVE",
10
17
  ADD = "ADD",
11
- SELECT = "SELECT"
18
+ DELETE = "DELETE",
19
+ SELECT = "SELECT",
20
+ CLEAR = "CLEAR"
12
21
  }
13
22
  /**
14
23
  * MAP protocol data structure
@@ -16,10 +25,13 @@ export declare enum MAPCommand {
16
25
  export interface MAPData {
17
26
  cmd: MAPCommand | string;
18
27
  data: Record<string, string>;
28
+ /** Values appended by an ADD command, in script order */
19
29
  adds?: string[];
30
+ /** Values struck by a DELETE command, in script order */
31
+ deletes?: string[];
20
32
  }
21
33
  /**
22
- * MAP (Metadata and Payload) Protocol Template
34
+ * MAP (Magic Attribute Protocol) Template
23
35
  *
24
36
  * The MAP protocol provides a way to store key-value metadata on the blockchain.
25
37
  * It supports different commands for setting, deleting, adding, and selecting data.
@@ -41,12 +53,38 @@ export default class MAP {
41
53
  */
42
54
  static add(key: string, values: string[]): LockingScript;
43
55
  /**
44
- * Creates a MAP protocol locking script with DEL command
56
+ * Creates a MAP protocol locking script with a REMOVE command
57
+ *
58
+ * REMOVE clears single-value keys. To drop individual members of a
59
+ * list-valued key, use {@link MAP.delete} instead.
60
+ *
61
+ * @param keys - Array of keys to remove
62
+ * @returns LockingScript - The MAP protocol locking script
63
+ */
64
+ static remove(keys: string[]): LockingScript;
65
+ /**
66
+ * Creates a MAP protocol locking script with a DELETE command
67
+ *
68
+ * DELETE removes one or more values from a single list-valued key. The key
69
+ * is named first so that the values are only struck from that list.
70
+ *
71
+ * @param key - The list-valued key to delete from
72
+ * @param values - Values to remove from that list
73
+ * @returns LockingScript - The MAP protocol locking script
74
+ */
75
+ static delete(key: string, values: string[]): LockingScript;
76
+ /**
77
+ * Builds a BitCom-framed MAP output from an ordered list of pushes
78
+ *
79
+ * The list commands (ADD, DELETE) and REMOVE are positional rather than
80
+ * key/value, so they cannot go through {@link MAP.lock}. They still need the
81
+ * same `OP_RETURN <MAP_PREFIX> ...` framing, otherwise {@link MAP.decode}
82
+ * finds no OP_RETURN and returns null.
45
83
  *
46
- * @param keys - Array of keys to delete
84
+ * @param pushes - The command followed by its operands, in script order
47
85
  * @returns LockingScript - The MAP protocol locking script
48
86
  */
49
- static del(keys: string[]): LockingScript;
87
+ private static lockPushes;
50
88
  /**
51
89
  * Creates a MAP protocol locking script
52
90
  *
@@ -1 +1 @@
1
- {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/bitcom/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAS,MAAM,UAAU,CAAA;AAG5D,OAAO,EAAE,UAAU,EAAE,CAAA;AAErB;;GAEG;AACH,oBAAY,UAAU;IACrB,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,GAAG,QAAQ;IACX,MAAM,WAAW;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACvB,GAAG,EAAE,UAAU,GAAG,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;CACf;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,GAAG;IACvB;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa;IAIvD;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa;IAMxD;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa;IAQzC;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CACV,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,aAAa;IA+BhB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI;IAiGxE;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAM1B;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa;IAI1D;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,CACT,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACzC,aAAa;CAQhB"}
1
+ {"version":3,"file":"map.d.ts","sourceRoot":"","sources":["../../src/bitcom/map.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACxC,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAS,MAAM,UAAU,CAAA;AAG5D,OAAO,EAAE,UAAU,EAAE,CAAA;AAErB;;;;;;;;;GASG;AACH,oBAAY,UAAU;IACrB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,KAAK,UAAU;CACf;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACvB,GAAG,EAAE,UAAU,GAAG,MAAM,CAAA;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC5B,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;CAClB;AAED;;;;;GAKG;AACH,MAAM,CAAC,OAAO,OAAO,GAAG;IACvB;;;;;OAKG;IACH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,aAAa;IAIvD;;;;;;OAMG;IACH,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa;IAQxD;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,aAAa;IAM5C;;;;;;;;;OASG;IACH,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa;IAI3D;;;;;;;;;;OAUG;IACH,OAAO,CAAC,MAAM,CAAC,UAAU;IAiBzB;;;;;;OAMG;IACH,MAAM,CAAC,IAAI,CACV,OAAO,EAAE,UAAU,GAAG,MAAM,EAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,aAAa;IA+BhB;;;;;OAKG;IACH,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,aAAa,GAAG,MAAM,EAAE,GAAG,OAAO,GAAG,IAAI;IAoHxE;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,WAAW;IAM1B;;;;;;OAMG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa;IAI1D;;;;;;;OAOG;IACH,MAAM,CAAC,GAAG,CACT,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,cAAc,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAM,GACzC,aAAa;CAQhB"}
@@ -4,16 +4,25 @@ import BitCom from './bitcom.js';
4
4
  export { MAP_PREFIX };
5
5
  /**
6
6
  * MAP protocol commands
7
+ *
8
+ * Per the Magic Attribute Protocol specification. `SET` and `REMOVE` operate on
9
+ * single-value keys; `ADD` and `DELETE` operate on list-valued keys. `SELECT`
10
+ * designates a transaction as the context for a following command, and `CLEAR`
11
+ * erases every value a transaction wrote.
12
+ *
13
+ * @see https://github.com/opldotdev/MAP
7
14
  */
8
15
  export var MAPCommand;
9
16
  (function (MAPCommand) {
10
17
  MAPCommand["SET"] = "SET";
11
- MAPCommand["DEL"] = "DEL";
18
+ MAPCommand["REMOVE"] = "REMOVE";
12
19
  MAPCommand["ADD"] = "ADD";
20
+ MAPCommand["DELETE"] = "DELETE";
13
21
  MAPCommand["SELECT"] = "SELECT";
22
+ MAPCommand["CLEAR"] = "CLEAR";
14
23
  })(MAPCommand || (MAPCommand = {}));
15
24
  /**
16
- * MAP (Metadata and Payload) Protocol Template
25
+ * MAP (Magic Attribute Protocol) Template
17
26
  *
18
27
  * The MAP protocol provides a way to store key-value metadata on the blockchain.
19
28
  * It supports different commands for setting, deleting, adding, and selecting data.
@@ -36,22 +45,63 @@ export default class MAP {
36
45
  * @returns LockingScript - The MAP protocol locking script
37
46
  */
38
47
  static add(key, values) {
39
- const data = {};
40
- data[key] = values.join(' '); // Join values with space
41
- return MAP.lock(MAPCommand.ADD, data);
48
+ // ADD names the list key, then writes one push per value. Joining the
49
+ // values into a single push would make an n-member list indistinguishable
50
+ // from a one-member list holding a space-separated string, and would not
51
+ // round-trip through the ADD branch of decode().
52
+ return MAP.lockPushes([MAPCommand.ADD, key, ...values]);
53
+ }
54
+ /**
55
+ * Creates a MAP protocol locking script with a REMOVE command
56
+ *
57
+ * REMOVE clears single-value keys. To drop individual members of a
58
+ * list-valued key, use {@link MAP.delete} instead.
59
+ *
60
+ * @param keys - Array of keys to remove
61
+ * @returns LockingScript - The MAP protocol locking script
62
+ */
63
+ static remove(keys) {
64
+ // REMOVE names keys only - it takes no values. Routing it through lock()
65
+ // would pad every key with an empty push.
66
+ return MAP.lockPushes([MAPCommand.REMOVE, ...keys]);
42
67
  }
43
68
  /**
44
- * Creates a MAP protocol locking script with DEL command
69
+ * Creates a MAP protocol locking script with a DELETE command
45
70
  *
46
- * @param keys - Array of keys to delete
71
+ * DELETE removes one or more values from a single list-valued key. The key
72
+ * is named first so that the values are only struck from that list.
73
+ *
74
+ * @param key - The list-valued key to delete from
75
+ * @param values - Values to remove from that list
47
76
  * @returns LockingScript - The MAP protocol locking script
48
77
  */
49
- static del(keys) {
50
- const data = {};
51
- for (const key of keys) {
52
- data[key] = '';
78
+ static delete(key, values) {
79
+ return MAP.lockPushes([MAPCommand.DELETE, key, ...values]);
80
+ }
81
+ /**
82
+ * Builds a BitCom-framed MAP output from an ordered list of pushes
83
+ *
84
+ * The list commands (ADD, DELETE) and REMOVE are positional rather than
85
+ * key/value, so they cannot go through {@link MAP.lock}. They still need the
86
+ * same `OP_RETURN <MAP_PREFIX> ...` framing, otherwise {@link MAP.decode}
87
+ * finds no OP_RETURN and returns null.
88
+ *
89
+ * @param pushes - The command followed by its operands, in script order
90
+ * @returns LockingScript - The MAP protocol locking script
91
+ */
92
+ static lockPushes(pushes) {
93
+ const script = new Script();
94
+ for (const push of pushes) {
95
+ script.writeBin(Utils.toArray(MAP.cleanString(push)));
53
96
  }
54
- return MAP.lock(MAPCommand.DEL, data);
97
+ const protocols = [
98
+ {
99
+ protocol: MAP_PREFIX,
100
+ script: script.toBinary(),
101
+ pos: 0,
102
+ },
103
+ ];
104
+ return new BitCom(protocols).lock();
55
105
  }
56
106
  /**
57
107
  * Creates a MAP protocol locking script
@@ -162,8 +212,8 @@ export default class MAP {
162
212
  }
163
213
  }
164
214
  }
165
- else if (cmd === MAPCommand.DEL) {
166
- // For DEL command, read all keys to delete
215
+ else if (cmd === MAPCommand.REMOVE) {
216
+ // REMOVE clears single-value keys - read every key named
167
217
  for (let i = 1; i < chunks.length; i++) {
168
218
  const keyChunk = chunks[i];
169
219
  if (keyChunk?.data != null) {
@@ -172,6 +222,24 @@ export default class MAP {
172
222
  }
173
223
  }
174
224
  }
225
+ else if (cmd === MAPCommand.DELETE) {
226
+ // DELETE removes values from one list-valued key: key first, then values
227
+ if (chunks.length >= 2) {
228
+ const keyChunk = chunks[1];
229
+ if (keyChunk?.data != null) {
230
+ const key = MAP.cleanString(Utils.toUTF8(keyChunk.data));
231
+ const values = [];
232
+ for (let i = 2; i < chunks.length; i++) {
233
+ const valueChunk = chunks[i];
234
+ if (valueChunk?.data != null) {
235
+ values.push(MAP.cleanString(Utils.toUTF8(valueChunk.data)));
236
+ }
237
+ }
238
+ mapData.data[key] = values.join(' ');
239
+ mapData.deletes = values;
240
+ }
241
+ }
242
+ }
175
243
  return mapData;
176
244
  }
177
245
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/bitcom/map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"map.js","sourceRoot":"","sources":["../../src/bitcom/map.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  export { PrivateKeySigner, WalletSigner } from './signer.js';
2
2
  export type { Signer } from './signer.js';
3
3
  export { default as Inscription } from './inscription/inscription.js';
4
+ export { buildInscriptionScript } from './inscription/compose.js';
4
5
  export { default as BSV20 } from './bsv20/bsv20.js';
5
6
  export { default as BSV21 } from './bsv21/bsv21.js';
6
7
  export { default as Shrug, SHRUG_TAG_HEX } from './shrug/shrug.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -2,6 +2,7 @@
2
2
  export { PrivateKeySigner, WalletSigner } from './signer.js';
3
3
  // Script Templates
4
4
  export { default as Inscription } from './inscription/inscription.js';
5
+ export { buildInscriptionScript } from './inscription/compose.js';
5
6
  export { default as BSV20 } from './bsv20/bsv20.js';
6
7
  export { default as BSV21 } from './bsv21/bsv21.js';
7
8
  export { default as Shrug, SHRUG_TAG_HEX } from './shrug/shrug.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG5D,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,EACN,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GACf,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACN,OAAO,IAAI,IAAI,EACf,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAGxD,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAEhD,UAAU;AACV,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEzD,qEAAqE;AACrE,kCAAkC;AAClC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAqCpD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAMrE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAezD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM5C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAM7D,OAAO,EACN,kBAAkB,EAClB,mBAAmB,GACnB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAWxD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE1E,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAC/E,OAAO,EACN,iBAAiB,EACjB,cAAc,GACd,MAAM,sBAAsB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,sBAAsB;AACtB,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAG5D,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,8BAA8B,CAAA;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AACjE,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAElE,OAAO,EACN,2BAA2B,EAC3B,mBAAmB,EACnB,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,GACf,MAAM,qBAAqB,CAAA;AAE5B,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACN,OAAO,IAAI,IAAI,EACf,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,gBAAgB,CAAA;AAEvB,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEtD,OAAO,EAAE,OAAO,IAAI,IAAI,EAAE,MAAM,wBAAwB,CAAA;AAGxD,mBAAmB;AACnB,OAAO,EAAE,OAAO,IAAI,MAAM,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,CAAC,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAChD,OAAO,EAAE,OAAO,IAAI,GAAG,EAAE,MAAM,iBAAiB,CAAA;AAEhD,UAAU;AACV,OAAO,EAAE,OAAO,IAAI,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAEzD,qEAAqE;AACrE,kCAAkC;AAClC,OAAO,EAAE,OAAO,IAAI,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAqCpD,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAMrE,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAezD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAM5C,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAA;AAM7D,OAAO,EACN,kBAAkB,EAClB,mBAAmB,GACnB,MAAM,iBAAiB,CAAA;AAMxB,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAWxD,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE1E,+EAA+E;AAC/E,gBAAgB;AAChB,+EAA+E;AAC/E,OAAO,EACN,iBAAiB,EACjB,cAAc,GACd,MAAM,sBAAsB,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { type LockingScript, Script } from '@bsv/sdk';
2
+ /**
3
+ * Compose an inscription envelope script: `envelope(content, contentType)`
4
+ * with `lockingScript` (+ optional MAP metadata) appended as the script
5
+ * suffix — i.e. envelope FIRST, then the P2PKH/MAP suffix.
6
+ *
7
+ * The write-side twin of {@link Inscription.decode}. Shared by `inscribe`
8
+ * (new inscriptions) and ordinal transfer (reinscription on spend) so the
9
+ * on-chain composition never drifts between paths — indexers depend on this
10
+ * exact shape.
11
+ */
12
+ export declare function buildInscriptionScript(lockingScript: LockingScript, content: Uint8Array, contentType: string, map?: Record<string, string>): Script;
13
+ //# sourceMappingURL=compose.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.d.ts","sourceRoot":"","sources":["../../src/inscription/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAIrD;;;;;;;;;GASG;AACH,wBAAgB,sBAAsB,CACrC,aAAa,EAAE,aAAa,EAC5B,OAAO,EAAE,UAAU,EACnB,WAAW,EAAE,MAAM,EACnB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1B,MAAM,CAYR"}
@@ -0,0 +1,28 @@
1
+ import { Script } from '@bsv/sdk';
2
+ import MAP from '../bitcom/map.js';
3
+ import Inscription from './inscription.js';
4
+ /**
5
+ * Compose an inscription envelope script: `envelope(content, contentType)`
6
+ * with `lockingScript` (+ optional MAP metadata) appended as the script
7
+ * suffix — i.e. envelope FIRST, then the P2PKH/MAP suffix.
8
+ *
9
+ * The write-side twin of {@link Inscription.decode}. Shared by `inscribe`
10
+ * (new inscriptions) and ordinal transfer (reinscription on spend) so the
11
+ * on-chain composition never drifts between paths — indexers depend on this
12
+ * exact shape.
13
+ */
14
+ export function buildInscriptionScript(lockingScript, content, contentType, map) {
15
+ const suffix = new Script();
16
+ for (const chunk of lockingScript.chunks)
17
+ suffix.chunks.push(chunk);
18
+ if (map && Object.keys(map).length > 0) {
19
+ const mapScript = MAP.set(map);
20
+ for (const chunk of mapScript.chunks)
21
+ suffix.chunks.push(chunk);
22
+ }
23
+ const inscription = Inscription.create(content, contentType, {
24
+ scriptSuffix: suffix,
25
+ });
26
+ return new Script(inscription.lock().chunks);
27
+ }
28
+ //# sourceMappingURL=compose.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compose.js","sourceRoot":"","sources":["../../src/inscription/compose.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,MAAM,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAClC,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAE1C;;;;;;;;;GASG;AACH,MAAM,UAAU,sBAAsB,CACrC,aAA4B,EAC5B,OAAmB,EACnB,WAAmB,EACnB,GAA4B;IAE5B,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAA;IAC3B,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,MAAM;QAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACnE,IAAI,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxC,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC9B,KAAK,MAAM,KAAK,IAAI,SAAS,CAAC,MAAM;YAAE,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE;QAC5D,YAAY,EAAE,MAAM;KACpB,CAAC,CAAA;IACF,OAAO,IAAI,MAAM,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAAA;AAC7C,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@1sat/templates",
3
- "version": "0.0.31",
3
+ "version": "0.0.32",
4
4
  "description": "Bitcoin script templates for 1Sat Ordinals SDK",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",