@bsv/dpp-core 0.3.0-beta.6 → 0.3.0-beta.8

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 (44) hide show
  1. package/README.md +6 -5
  2. package/dist/acceptance.d.ts +2 -2
  3. package/dist/acceptance.d.ts.map +1 -1
  4. package/dist/acceptance.js.map +1 -1
  5. package/dist/carrier.d.ts +27 -0
  6. package/dist/carrier.d.ts.map +1 -0
  7. package/dist/carrier.js +39 -0
  8. package/dist/carrier.js.map +1 -0
  9. package/dist/codec.d.ts +57 -22
  10. package/dist/codec.d.ts.map +1 -1
  11. package/dist/codec.js +154 -21
  12. package/dist/codec.js.map +1 -1
  13. package/dist/constants.d.ts +15 -1
  14. package/dist/constants.d.ts.map +1 -1
  15. package/dist/constants.js +33 -1
  16. package/dist/constants.js.map +1 -1
  17. package/dist/did.d.ts +7 -2
  18. package/dist/did.d.ts.map +1 -1
  19. package/dist/did.js +2 -2
  20. package/dist/did.js.map +1 -1
  21. package/dist/evidence.d.ts +8 -0
  22. package/dist/evidence.d.ts.map +1 -1
  23. package/dist/evidence.js +13 -4
  24. package/dist/evidence.js.map +1 -1
  25. package/dist/index.d.ts +1 -0
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +1 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/signatures.d.ts +10 -2
  30. package/dist/signatures.d.ts.map +1 -1
  31. package/dist/signatures.js +25 -7
  32. package/dist/signatures.js.map +1 -1
  33. package/dist/transition.d.ts +4 -1
  34. package/dist/transition.d.ts.map +1 -1
  35. package/dist/transition.js +18 -9
  36. package/dist/transition.js.map +1 -1
  37. package/dist/types.d.ts +32 -4
  38. package/dist/types.d.ts.map +1 -1
  39. package/dist/verifyChain.d.ts +5 -1
  40. package/dist/verifyChain.d.ts.map +1 -1
  41. package/dist/verifyChain.js +12 -6
  42. package/dist/verifyChain.js.map +1 -1
  43. package/package.json +1 -1
  44. package/schemas/verification-report.schema.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"signatures.d.ts","sourceRoot":"","sources":["../src/signatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAUlF,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAEzF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAExD;AAED,mGAAmG;AACnG,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAOvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,EAAE,CAE3D;AAED,0HAA0H;AAC1H,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzF;AAED,iHAAiH;AACjH,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAEzD;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEpF;AAED,yGAAyG;AACzG,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAEvD;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;KACrB,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CACvC;AAKD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,CAAC,EAAE,eAAe,EAClB,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,CAAC,EAAE,eAAe,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB;AAED,+GAA+G;AAC/G,wBAAsB,aAAa,CACjC,CAAC,EAAE,eAAe,EAClB,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,QAAQ,CAAC,CAanB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAW5D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EACf,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAcT"}
1
+ {"version":3,"file":"signatures.d.ts","sourceRoot":"","sources":["../src/signatures.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsC,KAAK,cAAc,EAAE,MAAM,UAAU,CAAA;AAalF,OAAO,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAsB,MAAM,YAAY,CAAA;AAE7H;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAExD;AAED,mGAAmG;AACnG,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEnF;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,EAAE,CAOvD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,EAAE,CAE3D;AAED,0HAA0H;AAC1H,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzF;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,cAAc,GAAG,MAAM,EAAE,CAE3D;AAED,uHAAuH;AACvH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAEzF;AAED,wHAAwH;AACxH,wBAAgB,YAAY,CAAC,CAAC,EAAE,eAAe,GAAG,MAAM,EAAE,CAGzD;AAED,oEAAoE;AACpE,wBAAgB,cAAc,CAAC,CAAC,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAGpF;AAED,yGAAyG;AACzG,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,GAAG,cAAc,CAGvD;AAED;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,eAAe,EAAE,CAAC,IAAI,EAAE;QACtB,IAAI,EAAE,MAAM,EAAE,CAAA;QACd,UAAU,EAAE,cAAc,CAAA;QAC1B,KAAK,EAAE,MAAM,CAAA;QACb,YAAY,EAAE,MAAM,CAAA;KACrB,KAAK,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAA;CACvC;AAKD;;;;GAIG;AACH,wBAAsB,mBAAmB,CACvC,CAAC,EAAE,eAAe,EAClB,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB;AAED;;;;;;GAMG;AACH,wBAAsB,qBAAqB,CACzC,CAAC,EAAE,eAAe,EAClB,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,MAAM,EAAE,CAAC,CAQnB;AAED,+GAA+G;AAC/G,wBAAsB,aAAa,CACjC,CAAC,EAAE,eAAe,EAClB,WAAW,EAAE,UAAU,EACvB,YAAY,EAAE,UAAU,GACvB,OAAO,CAAC,QAAQ,CAAC,CAanB;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO,CAW5D;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,QAAQ,EACf,iBAAiB,EAAE,MAAM,GACxB,OAAO,CAcT"}
@@ -1,6 +1,6 @@
1
1
  import { CachedKeyDeriver, Signature, Utils } from '@bsv/sdk';
2
- import { DPP_PROTOCOL_ID, DPP_PROTOCOL_ID_V2, PROTOCOL_MARKER, RECORD_V2_ACTOR_TAG, RECORD_V2_PUBLISHER_TAG, STANDARD_VERSION, } from './constants.js';
3
- import { dataFields, dataFieldsV2, isV2Data } from './codec.js';
2
+ import { DPP_PROTOCOL_ID, DPP_PROTOCOL_ID_V2, DPP_PROTOCOL_ID_V3, PROTOCOL_MARKER, RECORD_V2_ACTOR_TAG, RECORD_V2_PUBLISHER_TAG, RECORD_V3_ACTOR_TAG, RECORD_V3_PUBLISHER_TAG, STANDARD_VERSION, } from './constants.js';
3
+ import { dataFields, dataFieldsV2, isSeventeenFieldData, isV3Data } from './codec.js';
4
4
  /**
5
5
  * Canonical version 1 user-signature preimage (`spec/record-model.md` §5): the
6
6
  * concatenated raw bytes of fields 1–12 in standard order - never a JSON
@@ -48,17 +48,35 @@ export function actorPreimageV2(d) {
48
48
  export function publisherPreimageV2(d, actorSignature) {
49
49
  return frameFields([Utils.toArray(RECORD_V2_PUBLISHER_TAG, 'utf8'), ...dataFieldsV2(d), actorSignature]);
50
50
  }
51
- /** The actor's preimage under the version the data declares: version 1 unframed, version 2 framed and tagged. */
51
+ /**
52
+ * The version 3 preimages (`spec/token-carrier.md` §4): the version 2 framing
53
+ * under the version 3 tags, over the fields with the version 3 string, so a
54
+ * carried body's signatures verify under nothing of version 2 and the reverse.
55
+ */
56
+ export function actorPreimageV3(d) {
57
+ return frameFields([Utils.toArray(RECORD_V3_ACTOR_TAG, 'utf8'), ...dataFieldsV2(d)]);
58
+ }
59
+ /** The version 3 publisher preimage: the version 3 publisher tag, fields 1–15 and the actor signature, each framed. */
60
+ export function publisherPreimageV3(d, actorSignature) {
61
+ return frameFields([Utils.toArray(RECORD_V3_PUBLISHER_TAG, 'utf8'), ...dataFieldsV2(d), actorSignature]);
62
+ }
63
+ /** The actor's preimage under the version the data declares: version 1 unframed, versions 2 and 3 framed and tagged. */
52
64
  export function userPreimage(d) {
53
- return isV2Data(d) ? actorPreimageV2(d) : userPreimageV1(d);
65
+ if (isV3Data(d))
66
+ return actorPreimageV3(d);
67
+ return isSeventeenFieldData(d) ? actorPreimageV2(d) : userPreimageV1(d);
54
68
  }
55
69
  /** The publisher's preimage under the version the data declares. */
56
70
  export function serverPreimage(d, userSignature) {
57
- return isV2Data(d) ? publisherPreimageV2(d, userSignature) : serverPreimageV1(d, userSignature);
71
+ if (isV3Data(d))
72
+ return publisherPreimageV3(d, userSignature);
73
+ return isSeventeenFieldData(d) ? publisherPreimageV2(d, userSignature) : serverPreimageV1(d, userSignature);
58
74
  }
59
75
  /** The BRC-43 protocol both signatures of a state derive under: one per version, so keys never cross. */
60
76
  export function protocolIdFor(d) {
61
- return isV2Data(d) ? DPP_PROTOCOL_ID_V2 : DPP_PROTOCOL_ID;
77
+ if (isV3Data(d))
78
+ return DPP_PROTOCOL_ID_V3;
79
+ return isSeventeenFieldData(d) ? DPP_PROTOCOL_ID_V2 : DPP_PROTOCOL_ID;
62
80
  }
63
81
  /** Deriver for counterparty-'anyone' verification keys (rootKey = 1). */
64
82
  const anyone = new CachedKeyDeriver('anyone');
@@ -96,7 +114,7 @@ export async function createServerSignature(d, userSignature, serverWallet) {
96
114
  export async function completeState(d, actorWallet, serverWallet) {
97
115
  const userSignature = await createUserSignature(d, actorWallet);
98
116
  const serverSignature = await createServerSignature(d, userSignature, serverWallet);
99
- if (isV2Data(d)) {
117
+ if (isSeventeenFieldData(d)) {
100
118
  return { ...d, protocolMarker: PROTOCOL_MARKER, userSignature, serverSignature };
101
119
  }
102
120
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"signatures.js","sourceRoot":"","sources":["../src/signatures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"signatures.js","sourceRoot":"","sources":["../src/signatures.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,10 @@ export declare function checkGenesisState(s: DppState): string | null;
23
23
  * a version 2 successor binds the predecessor outpoint and the lineage
24
24
  * genesis, refuses to follow a RETIRE, proves control of the predecessor, and
25
25
  * may follow a version 1 predecessor only as the UPDATE that upgrades the
26
- * lineage (`spec/record-model-v2.md` §8).
26
+ * lineage (`spec/record-model-v2.md` §8). A version 3 successor keeps every
27
+ * version 2 rule and follows only a version 3 predecessor
28
+ * (`spec/token-carrier.md` §6); the carrier's own rules run in the verifier,
29
+ * which sees the prefix and the transaction.
27
30
  */
28
31
  export declare function checkTransition(prev: DppState, next: DppState, prevTxid: string, link?: LinkContext): string | null;
29
32
  //# sourceMappingURL=transition.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../src/transition.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAc,QAAQ,EAAE,MAAM,YAAY,CAAA;AAEhE;;;;;;;GAOG;AAEH,qIAAqI;AACrI,MAAM,WAAW,WAAW;IAC1B,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uFAAuF;IACvF,cAAc,CAAC,EAAE,QAAQ,CAAA;IACzB,iIAAiI;IACjI,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAW5D;AA+ED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,WAAgB,GACrB,MAAM,GAAG,IAAI,CAGf"}
1
+ {"version":3,"file":"transition.d.ts","sourceRoot":"","sources":["../src/transition.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAuB,MAAM,YAAY,CAAA;AAEzE;;;;;;;GAOG;AAEH,qIAAqI;AACrI,MAAM,WAAW,WAAW;IAC1B,iGAAiG;IACjG,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,uFAAuF;IACvF,cAAc,CAAC,EAAE,QAAQ,CAAA;IACzB,iIAAiI;IACjI,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAChC;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,IAAI,CAW5D;AAmFD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,MAAM,EAChB,IAAI,GAAE,WAAgB,GACrB,MAAM,GAAG,IAAI,CAGf"}
@@ -1,7 +1,7 @@
1
1
  import { NO_EVENT_OPS, PAYLOAD_CHANGE_OPS, PAYLOAD_CHANGE_OPS_V2 } from './constants.js';
2
2
  import { checkControl } from './owner.js';
3
3
  export function checkGenesisState(s) {
4
- if (s.version === '2') {
4
+ if (s.version !== '1') {
5
5
  if (s.op !== 'ISSUE')
6
6
  return `genesis op must be ISSUE, got ${s.op}`;
7
7
  if (s.previousTxid !== '' || s.previousOutputIndex != null)
@@ -20,8 +20,8 @@ export function checkGenesisState(s) {
20
20
  }
21
21
  const sameOutpoint = (a, b) => a.txid === b.txid && a.outputIndex === b.outputIndex;
22
22
  function checkTransitionV1(prev, next, prevTxid) {
23
- if (prev.version === '2')
24
- return 'a version 1 state cannot follow a version 2 state';
23
+ if (prev.version !== '1')
24
+ return `a version 1 state cannot follow a version ${prev.version} state`;
25
25
  if (next.op === 'ACTIVATE')
26
26
  return 'ACTIVATE is allowed at genesis only';
27
27
  if (next.previousTxid === '')
@@ -55,7 +55,7 @@ function checkTransitionV1(prev, next, prevTxid) {
55
55
  function expectedLineageGenesis(prev, prevTxid, link) {
56
56
  if (link.lineageGenesis != null)
57
57
  return link.lineageGenesis;
58
- if (prev.version !== '2')
58
+ if (prev.version === '1')
59
59
  return undefined;
60
60
  if (prev.lineageGenesis != null)
61
61
  return prev.lineageGenesis;
@@ -63,10 +63,16 @@ function expectedLineageGenesis(prev, prevTxid, link) {
63
63
  return undefined;
64
64
  return { txid: prevTxid, outputIndex: link.prevOutputIndex };
65
65
  }
66
- function checkTransitionV2(prev, next, prevTxid, link) {
66
+ function checkTransitionSeventeen(prev, next, prevTxid, link) {
67
67
  if (next.op === 'ISSUE')
68
68
  return 'ISSUE is allowed at genesis only';
69
- if (prev.version === '2' && prev.op === 'RETIRE')
69
+ // A carried lineage begins at its own deploy and stays carried
70
+ // (`spec/token-carrier.md` §6 rule 7): no version crosses into or out of it.
71
+ if (next.version === '3' && prev.version !== '3')
72
+ return 'a version 3 state follows only a version 3 state';
73
+ if (next.version === '2' && prev.version === '3')
74
+ return 'a version 2 state cannot follow a version 3 state';
75
+ if (prev.version !== '1' && prev.op === 'RETIRE')
70
76
  return 'the lineage is retired: no state may follow RETIRE';
71
77
  if (prev.version === '1' && next.op !== 'UPDATE') {
72
78
  return 'a version 1 state is followed only by a version 2 UPDATE, the upgrade transition';
@@ -107,11 +113,14 @@ function checkTransitionV2(prev, next, prevTxid, link) {
107
113
  * a version 2 successor binds the predecessor outpoint and the lineage
108
114
  * genesis, refuses to follow a RETIRE, proves control of the predecessor, and
109
115
  * may follow a version 1 predecessor only as the UPDATE that upgrades the
110
- * lineage (`spec/record-model-v2.md` §8).
116
+ * lineage (`spec/record-model-v2.md` §8). A version 3 successor keeps every
117
+ * version 2 rule and follows only a version 3 predecessor
118
+ * (`spec/token-carrier.md` §6); the carrier's own rules run in the verifier,
119
+ * which sees the prefix and the transaction.
111
120
  */
112
121
  export function checkTransition(prev, next, prevTxid, link = {}) {
113
- if (next.version === '2')
114
- return checkTransitionV2(prev, next, prevTxid, link);
122
+ if (next.version !== '1')
123
+ return checkTransitionSeventeen(prev, next, prevTxid, link);
115
124
  return checkTransitionV1(prev, next, prevTxid);
116
125
  }
117
126
  //# sourceMappingURL=transition.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"transition.js","sourceRoot":"","sources":["../src/transition.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transition.js","sourceRoot":"","sources":["../src/transition.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -67,8 +67,32 @@ export interface DppStateDataV2 {
67
67
  /** Field 15: '' or 64 lower-case hex, the SHA-256 commitment to the off-chain authorisation record the profile names. */
68
68
  authorisationCommitment: string;
69
69
  }
70
- /** Either version's signable content. */
71
- export type AnyDppStateData = DppStateDataV1 | DppStateDataV2;
70
+ /**
71
+ * The signable content of one version 3 passport state: the version 2 fields
72
+ * exactly, with the version string `3` (`spec/token-carrier.md` §4). A version
73
+ * 3 state is carried behind the BRC-162 token prefix; the prefix is not part
74
+ * of the signed content, and the token id it names is checked against
75
+ * `lineageGenesis` by the verifier rather than signed again.
76
+ */
77
+ export type DppStateDataV3 = Omit<DppStateDataV2, 'version'> & {
78
+ version: '3';
79
+ };
80
+ /** The seventeen-field content of either version that carries it. */
81
+ export type SeventeenFieldData = DppStateDataV2 | DppStateDataV3;
82
+ /** Any version's signable content. */
83
+ export type AnyDppStateData = DppStateDataV1 | DppStateDataV2 | DppStateDataV3;
84
+ /**
85
+ * The token prefix a version 3 state is carried behind (`spec/token-carrier.md`
86
+ * §2, §3): the role BRC-162 derives from the prefix, and the token id for a
87
+ * value output as the deploy transaction's id in display order (the token's
88
+ * display form is `<txid>_0`). A deploy carries no token id: its own
89
+ * outpoint is the token id once the transaction exists.
90
+ */
91
+ export interface CarrierPrefix {
92
+ role: 'deploy' | 'value';
93
+ /** The deploy txid in display order (64 lower-case hex); null on a deploy. */
94
+ tokenId: string | null;
95
+ }
72
96
  interface SignedFields {
73
97
  protocolMarker: string;
74
98
  /** DER ECDSA, the actor's signature (field 13 in version 1, field 16 in version 2). */
@@ -83,8 +107,12 @@ export interface DppStateV1 extends DppStateDataV1, SignedFields {
83
107
  /** A fully signed version 2 state: fields 1–17 decoded from a DPP output. */
84
108
  export interface DppStateV2 extends DppStateDataV2, SignedFields {
85
109
  }
86
- /** A fully signed state of either version. Narrow on `version`. */
87
- export type DppState = DppStateV1 | DppStateV2;
110
+ /** A fully signed version 3 state: the seventeen-field body decoded from behind its token prefix. */
111
+ export type DppStateV3 = DppStateDataV3 & SignedFields;
112
+ /** A signed seventeen-field state of either version that carries the layout. */
113
+ export type SeventeenFieldState = DppStateV2 | DppStateV3;
114
+ /** A fully signed state of any version. Narrow on `version`. */
115
+ export type DppState = DppStateV1 | DppStateV2 | DppStateV3;
88
116
  /** One link of a passport chain as needed for verification. */
89
117
  export interface DppChainEntry {
90
118
  state: DppState;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { Beef, PublicKey, Transaction, type ChainTracker } from '@bsv/sdk';
2
2
  import { type PublisherPolicy } from './publisherPolicy.js';
3
3
  import type { DppVersion } from './constants.js';
4
- import type { ChainVerifyResult, DppState, StateCheck } from './types.js';
4
+ import type { CarrierPrefix, ChainVerifyResult, DppState, StateCheck } from './types.js';
5
5
  export interface VerifyChainOptions {
6
6
  /**
7
7
  * Tracker for SPV (`spec/record-model.md` §8 check 3). Omit or pass 'scripts only' to skip root
@@ -47,6 +47,8 @@ export interface DppOutputRef {
47
47
  state: DppState;
48
48
  outputIndex: number;
49
49
  lockingPublicKey: PublicKey;
50
+ /** The token prefix a version 3 state is carried behind; absent for versions 1 and 2. */
51
+ carrier?: CarrierPrefix;
50
52
  }
51
53
  /** What a reader reports when the managed-custody profile is selected and a version 2 TRANSFER carries no commitment. */
52
54
  export declare const ACCEPTANCE_COMMITMENT_REFUSAL = "TRANSFER carries no authorisation_commitment under managed-custody@1";
@@ -82,6 +84,8 @@ export interface StateInspection extends StateCheck {
82
84
  state: DppState;
83
85
  /** The record version the state carries. */
84
86
  version: DppVersion;
87
+ /** The token id of a carried lineage, `<deploy txid>_0`; present on every version 3 state (`spec/token-carrier.md` §5). */
88
+ tokenId?: string;
85
89
  linkError: string | null;
86
90
  consentError: string | null;
87
91
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"verifyChain.d.ts","sourceRoot":"","sources":["../src/verifyChain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyChain.d.ts","sourceRoot":"","sources":["../src/verifyChain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAA;AAI1E,OAAO,EAAmB,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAI5E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,QAAQ,EAAY,UAAU,EAAE,MAAM,YAAY,CAAA;AAElG,MAAM,WAAW,kBAAkB;IACjC;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,GAAG,cAAc,CAAA;IAC5C;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;;;;;OASG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG;QAAE,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAClD;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC7B;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAC5B;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,QAAQ,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;IACnB,gBAAgB,EAAE,SAAS,CAAA;IAC3B,yFAAyF;IACzF,OAAO,CAAC,EAAE,aAAa,CAAA;CACxB;AAED,yHAAyH;AACzH,eAAO,MAAM,6BAA6B,yEAAkF,CAAA;AAE5H;;;GAGG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,WAAW,GAAG,YAAY,EAAE,CAS9D;AAED,4HAA4H;AAC5H,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D;;;;OAIG;IACH,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,eAAe,EAAE,CAAA;CACpC;AAED,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GAAG,UAAU,GAAG,eAAe,GAAG,iBAAiB,GAAG,SAAS,GAAG,SAAS,GAAG,WAAW,CAAA;AAErH,wFAAwF;AACxF,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,QAAQ,CAAA;IACf,4CAA4C;IAC5C,OAAO,EAAE,UAAU,CAAA;IACnB,2HAA2H;IAC3H,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B;;;;OAIG;IACH,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,0HAA0H;IAC1H,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,kEAAkE;IAClE,SAAS,CAAC,EAAE,UAAU,GAAG,uBAAuB,GAAG,2BAA2B,GAAG,6BAA6B,GAAG,eAAe,CAAA;CACjI;AAED;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,eAAe,EAAE,CAAA;IACzB;;;OAGG;IACH,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,gBAAgB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAA;IAClF,wFAAwF;IACxF,QAAQ,EAAE,OAAO,CAAA;IACjB,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,wBAAsB,YAAY,CAAC,GAAG,EAAE,WAAW,EAAE,EAAE,OAAO,GAAE,mBAAwB,GAAG,OAAO,CAAC,eAAe,CAAC,CA4MlH;AAeD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,WAAW,CAC/B,GAAG,EAAE,WAAW,EAAE,EAClB,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,iBAAiB,CAAC,CAwB5B;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,CAqC5E"}
@@ -4,6 +4,7 @@ import { verifyServerSignature, verifyUserSignature } from './signatures.js';
4
4
  import { publisherKeysAt } from './publisherPolicy.js';
5
5
  import { checkControl, checkOwnerConsent, normaliseTransferAuthorities } from './owner.js';
6
6
  import { checkGenesisState, checkTransition } from './transition.js';
7
+ import { checkCarrier, tokenIdOf } from './carrier.js';
7
8
  /** What a reader reports when the managed-custody profile is selected and a version 2 TRANSFER carries no commitment. */
8
9
  export const ACCEPTANCE_COMMITMENT_REFUSAL = `TRANSFER carries no authorisation_commitment under ${MANAGED_CUSTODY_PROFILE}`;
9
10
  /**
@@ -15,7 +16,7 @@ export function findDppOutputs(tx) {
15
16
  tx.outputs.forEach((output, outputIndex) => {
16
17
  const parsed = tryParseDppOutput(output.lockingScript);
17
18
  if (parsed != null) {
18
- refs.push({ state: parsed.state, outputIndex, lockingPublicKey: parsed.lockingPublicKey });
19
+ refs.push({ state: parsed.state, outputIndex, lockingPublicKey: parsed.lockingPublicKey, ...(parsed.carrier == null ? {} : { carrier: parsed.carrier }) });
19
20
  }
20
21
  });
21
22
  return refs;
@@ -57,7 +58,7 @@ export async function inspectChain(txs, options = {}) {
57
58
  if (refs.length !== 1) {
58
59
  return stop(i, txid, 'encoding', `exactly one DPP output required, found ${refs.length}`);
59
60
  }
60
- const { state, outputIndex } = refs[0];
61
+ const { state, outputIndex, carrier } = refs[0];
61
62
  const userSignatureValid = verifyUserSignature(state);
62
63
  const serverSignatureValid = !publisherSelected
63
64
  ? null
@@ -65,12 +66,16 @@ export async function inspectChain(txs, options = {}) {
65
66
  const publisherOutsideWindow = serverSignatureValid === false && everPolicyKeys.some((key) => verifyServerSignature(state, key));
66
67
  let linkError;
67
68
  let controlValid = null;
69
+ // The carrier's own rules first (`spec/token-carrier.md` §6, §9): the
70
+ // prefix's role against the state's position and its token id against
71
+ // the lineage genesis. The codec held the prefix to its shape already.
72
+ const carrierError = carrier == null ? null : checkCarrier(carrier, { genesis: prev == null, outputIndex, ...(genesis == null ? {} : { lineageGenesis: genesis }) });
68
73
  if (prev == null) {
69
- linkError = checkGenesisState(state);
74
+ linkError = checkGenesisState(state) ?? carrierError;
70
75
  genesis = { txid, outputIndex };
71
76
  }
72
77
  else {
73
- linkError = checkTransition(prev.state, state, prev.txid, {
78
+ linkError = carrierError ?? checkTransition(prev.state, state, prev.txid, {
74
79
  prevOutputIndex: prev.outputIndex,
75
80
  lineageGenesis: genesis,
76
81
  authorities: controlAuthorities,
@@ -83,7 +88,7 @@ export async function inspectChain(txs, options = {}) {
83
88
  }
84
89
  // The version 2 control proof is part of the link; it is reported on
85
90
  // its own as well, so a report can say which rule a refused state broke.
86
- if (state.version === '2')
91
+ if (state.version !== '1')
87
92
  controlValid = checkControl(prev.state, state, controlAuthorities) == null;
88
93
  }
89
94
  // The eighth, optional invariant of version 1 runs only where it is
@@ -98,7 +103,7 @@ export async function inspectChain(txs, options = {}) {
98
103
  consentError = checkOwnerConsent(prev.state, state, consentAuthorities);
99
104
  ownerConsentValid = consentError == null;
100
105
  }
101
- else if (state.version === '2' && options.managedAcceptance === true && state.authorisationCommitment === '') {
106
+ else if (state.version !== '1' && options.managedAcceptance === true && state.authorisationCommitment === '') {
102
107
  consentError = ACCEPTANCE_COMMITMENT_REFUSAL;
103
108
  }
104
109
  }
@@ -176,6 +181,7 @@ export async function inspectChain(txs, options = {}) {
176
181
  outputIndex,
177
182
  state,
178
183
  version: state.version,
184
+ ...(state.version === '3' && genesis != null ? { tokenId: tokenIdOf(genesis) } : {}),
179
185
  txid,
180
186
  op: state.op,
181
187
  userSignatureValid,
@@ -1 +1 @@
1
- {"version":3,"file":"verifyChain.js","sourceRoot":"","sources":["../src/verifyChain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"verifyChain.js","sourceRoot":"","sources":["../src/verifyChain.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bsv/dpp-core",
3
- "version": "0.3.0-beta.6",
3
+ "version": "0.3.0-beta.8",
4
4
  "description": "Experimental prerelease: DPP standard reference implementation: record versions 1 and 2, signature preimages, chain verification with SPV, the verification report, the native lifecycle claim, the generic anchor, the managed acceptance record, publisher key policy and the evidence package manifest",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",
@@ -216,7 +216,9 @@
216
216
  "referenced-artefact-mismatch",
217
217
  "verifier-not-supplied",
218
218
  "not-inspected",
219
- "resource-limit"
219
+ "resource-limit",
220
+ "carrier-prefix-invalid",
221
+ "token-id-mismatch"
220
222
  ]
221
223
  },
222
224
  "check": {