@easy1staking/cip113-sdk-ts 0.3.1 → 0.5.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 (51) hide show
  1. package/README.md +22 -0
  2. package/blueprints/standard/v0.3.0/UPSTREAM_PIN.json +30 -0
  3. package/blueprints/standard/v0.5.0-alpha.2/UPSTREAM_PIN.json +33 -0
  4. package/blueprints/standard/v0.5.0-alpha.2/plutus.json +1010 -0
  5. package/blueprints/substandards/dummy/v0.1.0/UPSTREAM_PIN.json +29 -0
  6. package/blueprints/substandards/dummy/v0.2.0/UPSTREAM_PIN.json +38 -0
  7. package/blueprints/substandards/dummy/v0.2.0/plutus.json +84 -0
  8. package/blueprints/substandards/freeze-and-seize/v0.1.0/UPSTREAM_PIN.json +36 -0
  9. package/dist/core/cip171.d.ts +149 -0
  10. package/dist/core/cip171.d.ts.map +1 -0
  11. package/dist/core/cip171.js +284 -0
  12. package/dist/core/cip171.js.map +1 -0
  13. package/dist/core/evo-utils.d.ts +134 -17
  14. package/dist/core/evo-utils.d.ts.map +1 -1
  15. package/dist/core/evo-utils.js +162 -21
  16. package/dist/core/evo-utils.js.map +1 -1
  17. package/dist/core/ledger-order.d.ts +109 -0
  18. package/dist/core/ledger-order.d.ts.map +1 -0
  19. package/dist/core/ledger-order.js +185 -0
  20. package/dist/core/ledger-order.js.map +1 -0
  21. package/dist/core/registry.d.ts +16 -3
  22. package/dist/core/registry.d.ts.map +1 -1
  23. package/dist/core/registry.js +18 -9
  24. package/dist/core/registry.js.map +1 -1
  25. package/dist/index.d.ts +26 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +58 -16
  28. package/dist/index.js.map +1 -1
  29. package/dist/standard/blueprint.d.ts +48 -1
  30. package/dist/standard/blueprint.d.ts.map +1 -1
  31. package/dist/standard/blueprint.js +71 -5
  32. package/dist/standard/blueprint.js.map +1 -1
  33. package/dist/standard/scripts.d.ts +124 -22
  34. package/dist/standard/scripts.d.ts.map +1 -1
  35. package/dist/standard/scripts.js +182 -55
  36. package/dist/standard/scripts.js.map +1 -1
  37. package/dist/substandards/dummy/index.d.ts.map +1 -1
  38. package/dist/substandards/dummy/index.js +470 -26
  39. package/dist/substandards/dummy/index.js.map +1 -1
  40. package/dist/substandards/freeze-and-seize/index.d.ts.map +1 -1
  41. package/dist/substandards/freeze-and-seize/index.js +314 -41
  42. package/dist/substandards/freeze-and-seize/index.js.map +1 -1
  43. package/dist/substandards/freeze-and-seize/scripts.d.ts +2 -1
  44. package/dist/substandards/freeze-and-seize/scripts.d.ts.map +1 -1
  45. package/dist/substandards/freeze-and-seize/scripts.js +7 -6
  46. package/dist/substandards/freeze-and-seize/scripts.js.map +1 -1
  47. package/dist/substandards/interface.d.ts +111 -1
  48. package/dist/substandards/interface.d.ts.map +1 -1
  49. package/dist/types.d.ts +87 -4
  50. package/dist/types.d.ts.map +1 -1
  51. package/package.json +4 -1
@@ -29,6 +29,15 @@ export declare function scriptAddress(networkId: number, scriptHash: ScriptHash)
29
29
  /**
30
30
  * Build a reward (staking) address from a script hash.
31
31
  */
32
+ /**
33
+ * Build a reward (staking) address from a KEY hash.
34
+ *
35
+ * The script-hash variant below covers protocol credentials; this one covers a
36
+ * wallet's own stake key — the upgrade authority, for instance, whose
37
+ * registration survives across deployments and therefore has to be CHECKED
38
+ * rather than assumed.
39
+ */
40
+ export declare function rewardAddressFromKeyHash(networkId: number, keyHash: HexString): string;
32
41
  export declare function rewardAddress(networkId: number, scriptHash: ScriptHash): string;
33
42
  /**
34
43
  * Build a base address with script payment credential and user's staking credential.
@@ -63,31 +72,127 @@ export declare function extractCredentialField(datum: unknown, fieldIndex: numbe
63
72
  type: "key" | "script";
64
73
  hash: string;
65
74
  } | undefined;
75
+ export interface Cip113Credential {
76
+ type: "key" | "script";
77
+ hash: ScriptHash;
78
+ }
79
+ /**
80
+ * A registry node — the per-token record the directory holds.
81
+ *
82
+ * SEVEN fields in 0.5.0-alpha.2, and the order is load-bearing: this is a
83
+ * positional Constr, so an insertion at the wrong index produces a datum that
84
+ * encodes cleanly and means something else entirely.
85
+ *
86
+ * Two fields were inserted, at different times, in the middle:
87
+ * index 2 minting_logic_script (upstream #52)
88
+ * index 5 unfracking_logic_script (unfracking v2)
89
+ *
90
+ * ⚠ Upstream's CONTRACT_SURFACE_CHANGES.md asserts this SDK was "already on the
91
+ * 6-field post-#52 shape (verified: minting_logic_script at index 2)". It was
92
+ * NOT — this builder emitted five fields with no minting_logic_script at all.
93
+ * That document is wrong about this repository's own contents; do not take its
94
+ * word for what is or is not already done here.
95
+ */
66
96
  export interface RegistryNodeData {
67
97
  key: HexString;
68
98
  next: HexString;
69
- transferLogicScript: {
70
- type: "key" | "script";
71
- hash: ScriptHash;
72
- };
73
- thirdPartyTransferLogicScript: {
74
- type: "key" | "script";
75
- hash: ScriptHash;
76
- };
99
+ /** index 2 — added by #52. */
100
+ mintingLogicScript: Cip113Credential;
101
+ transferLogicScript: Cip113Credential;
102
+ thirdPartyTransferLogicScript: Cip113Credential;
103
+ /** index 5 — added by unfracking v2. */
104
+ unfrackingLogicScript: Cip113Credential;
77
105
  globalStateCs: HexString;
78
106
  }
79
- /** Build a RegistryNode datum */
107
+ /** Build a RegistryNode datum. Field order is the on-chain contract. */
80
108
  export declare function registryNodeDatum(node: RegistryNodeData): Data.Data;
81
- /** Build a BlacklistNode datum */
82
- export declare function blacklistNodeDatum(key: HexString, next: HexString): Data.Data;
109
+ /** Parse a RegistryNode datum. Strict on arity — a short record is not a partial one. */
110
+ export declare function decodeRegistryNode(d: Data.Data): RegistryNodeData;
83
111
  /**
84
- * SmartTokenMintingAction redeemer for first mint (OutputIndex).
112
+ * Minimum lovelace for an output carrying a RegistryNode datum plus its NFT.
113
+ *
114
+ * ⚑ ONE constant, deliberately, because this defect has now been introduced
115
+ * THREE TIMES INDEPENDENTLY — in the bootstrap, in `dummy`, and in
116
+ * `freeze-and-seize` — each time by someone (me) who had already fixed it
117
+ * elsewhere and did not think to check the next site.
118
+ *
119
+ * The cause is always the same: min-UTxO scales with SERIALISED OUTPUT SIZE, so
120
+ * widening a datum raises the floor of every output that carries it. The
121
+ * RegistryNode datum went from FIVE fields to SEVEN in 0.5.x, and the inherited
122
+ * 2,000,000 was sized for the five-field shape. MEASURED requirement for the
123
+ * seven-field shape: 2,038,630.
124
+ *
125
+ * The ledger reports the shortfall as "insufficient Ada" with a number and
126
+ * NEVER as "your datum grew", so it surfaces as an unrelated funding error,
127
+ * often in a different ticket from the change that caused it.
128
+ *
129
+ * A rule written in a document has to be REMEMBERED. A constant has to be
130
+ * CHANGED. Deliberately generous: min-UTxO also moves with protocol parameters.
85
131
  */
86
- export declare function issuanceRedeemerFirstMint(mintingLogicHash: ScriptHash, registryOutputIndex: number): Data.Data;
132
+ export declare const REGISTRY_NODE_MIN_ADA = 3000000n;
87
133
  /**
88
- * SmartTokenMintingAction redeemer for subsequent mint/burn (RefInput).
134
+ * `ProgrammableLogicGlobalParams` the datum on the coordination UTxO.
135
+ *
136
+ * SEVEN fields, ordered by upstream BY READ FREQUENCY (a deliberate cost
137
+ * choice: programmable_logic_base reads 2-4 on every dispatch, and the field
138
+ * is read once per delegate invocation rather than once per input).
139
+ *
140
+ * Fields 2-5 are MUTABLE — an in-place upgrade rewrites them in this datum
141
+ * rather than redeploying programmable_logic_base, whose hash anchors every
142
+ * programmable token address. `coordination_spend` 28-byte-guards each one and
143
+ * freezes fields 0 and 1 permanently.
144
+ *
145
+ * ⚠ It is SEVEN, not six. Upstream's CONTRACT_SURFACE_CHANGES.md says six in
146
+ * three places, and in a fourth phrases it as an instruction — "6-field
147
+ * ProgrammableLogicGlobalParams parser / builder (order above)". Building that
148
+ * shape yields a malformed datum on EVERY programmable_logic_base spend, not
149
+ * merely at deploy, with no type error anywhere. `max_inline_datum_bytes`
150
+ * (index 6) arrives with #115 and is absent from that document.
89
151
  */
90
- export declare function issuanceRedeemerRefInput(mintingLogicHash: ScriptHash, registryRefInputIndex: number): Data.Data;
152
+ export interface ProtocolParamsData {
153
+ registryNodeCs: HexString;
154
+ progLogicCred: Cip113Credential;
155
+ /** index 2 — mutable. PLG's transfer arm, renamed by #110. */
156
+ transferCred: Cip113Credential;
157
+ /** index 3 — mutable. Seize / clawback. */
158
+ thirdPartyCred: Cip113Credential;
159
+ /** index 4 — mutable. */
160
+ unfrackingCred: Cip113Credential;
161
+ /** index 5 — mutable. The upgrade authority this datum trampolines to. */
162
+ upgradeCred: Cip113Credential;
163
+ /**
164
+ * index 6 — the #106-vector-3 bound. A seizure must reproduce a seized
165
+ * output's inline datum byte-for-byte, so an unbounded datum pushes the
166
+ * seizure past maxTxSize and yields an output nobody can seize.
167
+ *
168
+ * ⚠ This is a SECURITY PARAMETER with no upstream guidance. Upstream's test
169
+ * fixtures use 1024; that is a fixture value, not a recommendation. See
170
+ * PLAN.md D-17 — 1024 is sanctioned for the DEVNET fixture only.
171
+ */
172
+ maxInlineDatumBytes: bigint;
173
+ }
174
+ /** Build the coordination datum. Field order is the on-chain contract. */
175
+ export declare function protocolParamsDatum(p: ProtocolParamsData): Data.Data;
176
+ /** Parse the coordination datum. */
177
+ export declare function decodeProtocolParams(d: Data.Data): ProtocolParamsData;
178
+ /** Build a BlacklistNode datum */
179
+ export declare function blacklistNodeDatum(key: HexString, next: HexString): Data.Data;
180
+ /**
181
+ * `issuance_mint`'s redeemer — a BARE `MintingRegistryProof`.
182
+ *
183
+ * Upstream #68 REMOVED the `SmartTokenMintingAction { minting_logic_cred,
184
+ * minting_registry_proof }` wrapper these builders used to emit. The redeemer is
185
+ * now the proof itself, and the minting-logic credential is no longer carried in
186
+ * it at all — it comes from the registry node.
187
+ *
188
+ * ctor 0 RefInput { index } — the registry node is a REFERENCE input
189
+ * ctor 1 OutputIndex { index } — the registry node is an OUTPUT of this tx
190
+ * (registration and first mint in one)
191
+ *
192
+ * Verified against the blueprint's own redeemer schema, not upstream's prose.
193
+ */
194
+ export declare function mintingProofRefInput(registryRefInputIndex: number): Data.Data;
195
+ export declare function mintingProofOutputIndex(registryOutputIndex: number): Data.Data;
91
196
  export interface RegistryProof {
92
197
  type: "exists" | "not-exists";
93
198
  nodeIdx: number;
@@ -96,8 +201,20 @@ export interface RegistryProof {
96
201
  export declare function transferActRedeemer(proofs: RegistryProof[]): Data.Data;
97
202
  /** Build a ThirdPartyAct redeemer for PLGlobal. */
98
203
  export declare function thirdPartyActRedeemer(registryNodeIdx: number, outputsStartIdx: number): Data.Data;
99
- /** RegistryInsert redeemer */
100
- export declare function registryInsertRedeemer(key: HexString, hashedParam: HexString): Data.Data;
204
+ /**
205
+ * `registry_mint`'s redeemer.
206
+ *
207
+ * ctor 0 RegistryInit {} — the origin node
208
+ * ctor 1 RegistryInsert { key, minting_logic_script }
209
+ *
210
+ * ⚠ The second field is a CREDENTIAL, not a bare hash. #52 replaced
211
+ * `hashed_param: ByteArray` with `minting_logic_script: Credential`, and #52's
212
+ * `mode: RegistrationMode` was removed again by re-audit R-06 — so a builder
213
+ * written against either intermediate shape is wrong in a different way. Both
214
+ * encode without complaint.
215
+ */
216
+ export declare function registryInitRedeemer(): Data.Data;
217
+ export declare function registryInsertRedeemer(key: HexString, mintingLogicScript: Cip113Credential): Data.Data;
101
218
  /** Blacklist init (constructor 0) */
102
219
  export declare function blacklistInitRedeemer(): Data.Data;
103
220
  /** Blacklist add (constructor 1) */
@@ -1 +1 @@
1
- {"version":3,"file":"evo-utils.d.ts","sourceRoot":"","sources":["../../src/core/evo-utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EACL,IAAI,EACJ,KAAK,EACL,UAAU,IAAI,aAAa,EAC3B,MAAM,EACN,IAAI,EACJ,OAAO,IAAI,UAAU,EAKrB,MAAM,EACN,UAAU,EACV,WAAW,EACX,OAAO,EACP,eAAe,EACf,IAAI,IAAI,OAAO,EACf,WAAW,EACZ,MAAM,0BAA0B,CAAC;AAGlC,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAQhF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,CAYrE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,YAAY,EAAE,SAAS,EACvB,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,GAClB,YAAY,CAKd;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,YAAY,EAAE,SAAS,GAAG,UAAU,CAGrE;AAMD;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAI/E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,GAAG,MAAM,CAI/E;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAQlG;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAIhE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAIhE;AAMD,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC,IAAI,CAKvD;AAED,iDAAiD;AACjD,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC,IAAI,CAE5D;AAED,wDAAwD;AACxD,wBAAgB,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI,CAExD;AAED,iCAAiC;AACjC,wBAAgB,QAAQ,IAAI,IAAI,CAAC,IAAI,CAEpC;AAMD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgB9F;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,OAAO,EACd,UAAU,EAAE,MAAM,GACjB;IAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,SAAS,CAoBtD;AAMD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,EAAE,SAAS,CAAC;IACf,IAAI,EAAE,SAAS,CAAC;IAChB,mBAAmB,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IAClE,6BAA6B,EAAE;QAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,CAAC;QAAC,IAAI,EAAE,UAAU,CAAA;KAAE,CAAC;IAC5E,aAAa,EAAE,SAAS,CAAC;CAC1B;AAED,iCAAiC;AACjC,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAanE;AAED,kCAAkC;AAClC,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI,CAE7E;AAMD;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,gBAAgB,EAAE,UAAU,EAC5B,mBAAmB,EAAE,MAAM,GAC1B,IAAI,CAAC,IAAI,CAKX;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,UAAU,EAC5B,qBAAqB,EAAE,MAAM,GAC5B,IAAI,CAAC,IAAI,CAKX;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,iDAAiD;AACjD,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC,IAAI,CAUtE;AAED,mDAAmD;AACnD,wBAAgB,qBAAqB,CACnC,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,IAAI,CAAC,IAAI,CAKX;AAED,8BAA8B;AAC9B,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI,CAExF;AAED,qCAAqC;AACrC,wBAAgB,qBAAqB,IAAI,IAAI,CAAC,IAAI,CAEjD;AAED,oCAAoC;AACpC,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI,CAErE;AAED,uCAAuC;AACvC,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,SAAS,GAAG,IAAI,CAAC,IAAI,CAExE;AAMD,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,CAIjG;AAED,4EAA4E;AAC5E,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAQ7E;AAED,yDAAyD;AACzD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAU5F;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,SAAS,CAMxE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAOrE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAMpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,MAAM,CAEvD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,MAAM,CAErD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,MAAM,CAE1D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,GAAG,MAAM,CAEtD;AAMD,mFAAmF;AACnF,eAAO,MAAM,QAAQ,QAAkB,CAAC;AAExC,oCAAoC;AACpC,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAE/C;AAMD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,4FAA4F;AAC5F,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,GAAG,SAAS,CAElF;AAED,6GAA6G;AAC7G,wBAAgB,eAAe,CAAC,YAAY,EAAE,SAAS,GAAG,SAAS,CAclE;AAED,oEAAoE;AACpE,wBAAgB,aAAa,CAAC,YAAY,EAAE,SAAS,GAAG,OAAO,CAS9D;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,GAAG,IAAI,CAAC,IAAI,CA0BrE;AAMD,OAAO,EACL,IAAI,EACJ,KAAK,EACL,MAAM,EACN,UAAU,EACV,WAAW,EACX,OAAO,EACP,UAAU,EACV,aAAa,EACb,eAAe,EACf,WAAW,EACX,IAAI,GACL,CAAC"}
1
+ {"version":3,"file":"evo-utils.d.ts","sourceRoot":"","sources":["../../src/core/evo-utils.ts"],"names":[],"mappings":"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"}
@@ -58,6 +58,19 @@ export function scriptAddress(networkId, scriptHash) {
58
58
  /**
59
59
  * Build a reward (staking) address from a script hash.
60
60
  */
61
+ /**
62
+ * Build a reward (staking) address from a KEY hash.
63
+ *
64
+ * The script-hash variant below covers protocol credentials; this one covers a
65
+ * wallet's own stake key — the upgrade authority, for instance, whose
66
+ * registration survives across deployments and therefore has to be CHECKED
67
+ * rather than assumed.
68
+ */
69
+ export function rewardAddressFromKeyHash(networkId, keyHash) {
70
+ const cred = new KeyHash.KeyHash({ hash: Bytes.fromHex(keyHash) });
71
+ const addr = new RewardAccount.RewardAccount({ networkId, stakeCredential: cred });
72
+ return AddressEras.toBech32(addr);
73
+ }
61
74
  export function rewardAddress(networkId, scriptHash) {
62
75
  const cred = new EvoScriptHash.ScriptHash({ hash: Bytes.fromHex(scriptHash) });
63
76
  const addr = new RewardAccount.RewardAccount({ networkId, stakeCredential: cred });
@@ -160,19 +173,131 @@ export function extractCredentialField(datum, fieldIndex) {
160
173
  }
161
174
  return undefined;
162
175
  }
163
- /** Build a RegistryNode datum */
176
+ function credToData(cred) {
177
+ return cred.type === "script" ? scriptCredential(cred.hash) : keyCredential(cred.hash);
178
+ }
179
+ function dataToCred(d, where) {
180
+ if (!(d instanceof Data.Constr) || d.fields.length !== 1) {
181
+ throw new Error(`${where}: expected a Credential (Constr with 1 field)`);
182
+ }
183
+ const h = expectBytes(d.fields[0], `${where}.hash`);
184
+ if (d.index === 0n)
185
+ return { type: "key", hash: h };
186
+ if (d.index === 1n)
187
+ return { type: "script", hash: h };
188
+ throw new Error(`${where}: credential constructor index must be 0 or 1, got ${d.index}`);
189
+ }
190
+ /**
191
+ * Data.bytearray() yields a Uint8Array, NOT a hex string — so every decode has
192
+ * to convert. Done by hand rather than via Buffer: this SDK runs in browsers on
193
+ * the CIP-30 path, where Buffer does not exist.
194
+ */
195
+ function bytesToHex(u8) {
196
+ let out = "";
197
+ for (const b of u8)
198
+ out += b.toString(16).padStart(2, "0");
199
+ return out;
200
+ }
201
+ function expectBytes(d, where) {
202
+ if (d instanceof Uint8Array)
203
+ return bytesToHex(d);
204
+ if (typeof d === "string")
205
+ return d;
206
+ throw new Error(`${where}: expected a bytearray, got ${typeof d}`);
207
+ }
208
+ /** Build a RegistryNode datum. Field order is the on-chain contract. */
164
209
  export function registryNodeDatum(node) {
165
- const credToData = (cred) => cred.type === "script"
166
- ? scriptCredential(cred.hash)
167
- : keyCredential(cred.hash);
168
210
  return Data.constr(0n, [
169
211
  Data.bytearray(node.key),
170
212
  Data.bytearray(node.next),
213
+ credToData(node.mintingLogicScript),
171
214
  credToData(node.transferLogicScript),
172
215
  credToData(node.thirdPartyTransferLogicScript),
216
+ credToData(node.unfrackingLogicScript),
173
217
  Data.bytearray(node.globalStateCs),
174
218
  ]);
175
219
  }
220
+ /** Parse a RegistryNode datum. Strict on arity — a short record is not a partial one. */
221
+ export function decodeRegistryNode(d) {
222
+ if (!(d instanceof Data.Constr) || d.index !== 0n) {
223
+ throw new Error("RegistryNode: expected Constr(0, ...)");
224
+ }
225
+ if (d.fields.length !== 7) {
226
+ throw new Error(`RegistryNode: expected exactly 7 fields, got ${d.fields.length}. ` +
227
+ `The 5-field (pre-#52) and 6-field (pre-unfracking-v2) layouts are NOT ` +
228
+ `forward-compatible: minting_logic_script was inserted at index 2 and ` +
229
+ `unfracking_logic_script at index 5, so every later field shifted.`);
230
+ }
231
+ const f = d.fields;
232
+ return {
233
+ key: expectBytes(f[0], "RegistryNode.key"),
234
+ next: expectBytes(f[1], "RegistryNode.next"),
235
+ mintingLogicScript: dataToCred(f[2], "RegistryNode.mintingLogicScript"),
236
+ transferLogicScript: dataToCred(f[3], "RegistryNode.transferLogicScript"),
237
+ thirdPartyTransferLogicScript: dataToCred(f[4], "RegistryNode.thirdPartyTransferLogicScript"),
238
+ unfrackingLogicScript: dataToCred(f[5], "RegistryNode.unfrackingLogicScript"),
239
+ globalStateCs: expectBytes(f[6], "RegistryNode.globalStateCs"),
240
+ };
241
+ }
242
+ /**
243
+ * Minimum lovelace for an output carrying a RegistryNode datum plus its NFT.
244
+ *
245
+ * ⚑ ONE constant, deliberately, because this defect has now been introduced
246
+ * THREE TIMES INDEPENDENTLY — in the bootstrap, in `dummy`, and in
247
+ * `freeze-and-seize` — each time by someone (me) who had already fixed it
248
+ * elsewhere and did not think to check the next site.
249
+ *
250
+ * The cause is always the same: min-UTxO scales with SERIALISED OUTPUT SIZE, so
251
+ * widening a datum raises the floor of every output that carries it. The
252
+ * RegistryNode datum went from FIVE fields to SEVEN in 0.5.x, and the inherited
253
+ * 2,000,000 was sized for the five-field shape. MEASURED requirement for the
254
+ * seven-field shape: 2,038,630.
255
+ *
256
+ * The ledger reports the shortfall as "insufficient Ada" with a number and
257
+ * NEVER as "your datum grew", so it surfaces as an unrelated funding error,
258
+ * often in a different ticket from the change that caused it.
259
+ *
260
+ * A rule written in a document has to be REMEMBERED. A constant has to be
261
+ * CHANGED. Deliberately generous: min-UTxO also moves with protocol parameters.
262
+ */
263
+ export const REGISTRY_NODE_MIN_ADA = 3000000n;
264
+ /** Build the coordination datum. Field order is the on-chain contract. */
265
+ export function protocolParamsDatum(p) {
266
+ return Data.constr(0n, [
267
+ Data.bytearray(p.registryNodeCs),
268
+ credToData(p.progLogicCred),
269
+ credToData(p.transferCred),
270
+ credToData(p.thirdPartyCred),
271
+ credToData(p.unfrackingCred),
272
+ credToData(p.upgradeCred),
273
+ Data.int(p.maxInlineDatumBytes),
274
+ ]);
275
+ }
276
+ /** Parse the coordination datum. */
277
+ export function decodeProtocolParams(d) {
278
+ if (!(d instanceof Data.Constr) || d.index !== 0n) {
279
+ throw new Error("ProgrammableLogicGlobalParams: expected Constr(0, ...)");
280
+ }
281
+ if (d.fields.length !== 7) {
282
+ throw new Error(`ProgrammableLogicGlobalParams: expected exactly 7 fields, got ${d.fields.length}. ` +
283
+ `If you read 6 somewhere, that source predates #115 — max_inline_datum_bytes ` +
284
+ `is field 6. A 6-field datum is malformed for every programmable_logic_base spend.`);
285
+ }
286
+ const f = d.fields;
287
+ const n = f[6];
288
+ if (typeof n !== "bigint") {
289
+ throw new Error("ProgrammableLogicGlobalParams.maxInlineDatumBytes: expected an integer");
290
+ }
291
+ return {
292
+ registryNodeCs: expectBytes(f[0], "ProtocolParams.registryNodeCs"),
293
+ progLogicCred: dataToCred(f[1], "ProtocolParams.progLogicCred"),
294
+ transferCred: dataToCred(f[2], "ProtocolParams.transferCred"),
295
+ thirdPartyCred: dataToCred(f[3], "ProtocolParams.thirdPartyCred"),
296
+ unfrackingCred: dataToCred(f[4], "ProtocolParams.unfrackingCred"),
297
+ upgradeCred: dataToCred(f[5], "ProtocolParams.upgradeCred"),
298
+ maxInlineDatumBytes: n,
299
+ };
300
+ }
176
301
  /** Build a BlacklistNode datum */
177
302
  export function blacklistNodeDatum(key, next) {
178
303
  return Data.constr(0n, [Data.bytearray(key), Data.bytearray(next)]);
@@ -181,22 +306,24 @@ export function blacklistNodeDatum(key, next) {
181
306
  // Redeemer builders (CIP-113 validators)
182
307
  // ---------------------------------------------------------------------------
183
308
  /**
184
- * SmartTokenMintingAction redeemer for first mint (OutputIndex).
309
+ * `issuance_mint`'s redeemer a BARE `MintingRegistryProof`.
310
+ *
311
+ * Upstream #68 REMOVED the `SmartTokenMintingAction { minting_logic_cred,
312
+ * minting_registry_proof }` wrapper these builders used to emit. The redeemer is
313
+ * now the proof itself, and the minting-logic credential is no longer carried in
314
+ * it at all — it comes from the registry node.
315
+ *
316
+ * ctor 0 RefInput { index } — the registry node is a REFERENCE input
317
+ * ctor 1 OutputIndex { index } — the registry node is an OUTPUT of this tx
318
+ * (registration and first mint in one)
319
+ *
320
+ * Verified against the blueprint's own redeemer schema, not upstream's prose.
185
321
  */
186
- export function issuanceRedeemerFirstMint(mintingLogicHash, registryOutputIndex) {
187
- return Data.constr(0n, [
188
- scriptCredential(mintingLogicHash),
189
- Data.constr(1n, [Data.int(BigInt(registryOutputIndex))]),
190
- ]);
322
+ export function mintingProofRefInput(registryRefInputIndex) {
323
+ return Data.constr(0n, [Data.int(BigInt(registryRefInputIndex))]);
191
324
  }
192
- /**
193
- * SmartTokenMintingAction redeemer for subsequent mint/burn (RefInput).
194
- */
195
- export function issuanceRedeemerRefInput(mintingLogicHash, registryRefInputIndex) {
196
- return Data.constr(0n, [
197
- scriptCredential(mintingLogicHash),
198
- Data.constr(0n, [Data.int(BigInt(registryRefInputIndex))]),
199
- ]);
325
+ export function mintingProofOutputIndex(registryOutputIndex) {
326
+ return Data.constr(1n, [Data.int(BigInt(registryOutputIndex))]);
200
327
  }
201
328
  /** Build a TransferAct redeemer for PLGlobal. */
202
329
  export function transferActRedeemer(proofs) {
@@ -213,9 +340,23 @@ export function thirdPartyActRedeemer(registryNodeIdx, outputsStartIdx) {
213
340
  Data.int(BigInt(outputsStartIdx)),
214
341
  ]);
215
342
  }
216
- /** RegistryInsert redeemer */
217
- export function registryInsertRedeemer(key, hashedParam) {
218
- return Data.constr(1n, [Data.bytearray(key), Data.bytearray(hashedParam)]);
343
+ /**
344
+ * `registry_mint`'s redeemer.
345
+ *
346
+ * ctor 0 RegistryInit {} — the origin node
347
+ * ctor 1 RegistryInsert { key, minting_logic_script }
348
+ *
349
+ * ⚠ The second field is a CREDENTIAL, not a bare hash. #52 replaced
350
+ * `hashed_param: ByteArray` with `minting_logic_script: Credential`, and #52's
351
+ * `mode: RegistrationMode` was removed again by re-audit R-06 — so a builder
352
+ * written against either intermediate shape is wrong in a different way. Both
353
+ * encode without complaint.
354
+ */
355
+ export function registryInitRedeemer() {
356
+ return Data.constr(0n, []);
357
+ }
358
+ export function registryInsertRedeemer(key, mintingLogicScript) {
359
+ return Data.constr(1n, [Data.bytearray(key), credToData(mintingLogicScript)]);
219
360
  }
220
361
  /** Blacklist init (constructor 0) */
221
362
  export function blacklistInitRedeemer() {
@@ -1 +1 @@
1
- {"version":3,"file":"evo-utils.js","sourceRoot":"","sources":["../../src/core/evo-utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evo-utils.js","sourceRoot":"","sources":["../../src/core/evo-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * Ledger ordering, and the redeemer indices that depend on it.
3
+ *
4
+ * CIP-113 0.5.0-alpha.2 moved several lookups from "scan the transaction" to
5
+ * "the builder tells the validator where to look". That is cheaper on chain and
6
+ * strictly more dangerous off it: an index is a plain integer, so a wrong one
7
+ * typechecks, encodes, builds, and fails ONLY when the ledger runs the script.
8
+ * Nothing in this repository's other guards can see it.
9
+ *
10
+ * Two orderings matter, and they are NOT the same rule.
11
+ *
12
+ * --- Reference inputs -----------------------------------------------------
13
+ *
14
+ * Ordered by (transaction id, output index): bytewise on the id, then numeric
15
+ * on the index. `params_idx` is the protocol-params UTxO's position in that
16
+ * ordering, over the COMPLETE reference-input set.
17
+ *
18
+ * --- Withdrawals ----------------------------------------------------------
19
+ *
20
+ * NOT bytewise on the reward address, and NOT insertion order.
21
+ *
22
+ * EVERY SCRIPT CREDENTIAL SORTS BEFORE EVERY KEY CREDENTIAL, then bytewise by
23
+ * hash within each kind. The reason is a Haskell detail with an on-chain
24
+ * consequence: cardano-ledger's `Credential` is
25
+ *
26
+ * data Credential kr c = ScriptHashObj !(ScriptHash c) | KeyHashObj !(KeyHash kr c)
27
+ *
28
+ * with a derived `Ord`, and a derived `Ord` on a sum type compares constructor
29
+ * position first. `ScriptHashObj` is declared first, so it sorts first. The
30
+ * withdrawals map is keyed by `RewardAccount`, which orders by network then
31
+ * credential, and Plutus hands the script that map in that order.
32
+ *
33
+ * ⚠ THIS IS THE OPPOSITE OF WHAT THE SERIALISED BYTES SUGGEST, which is the
34
+ * trap. A reward account's header byte encodes key-stake as 0xE0|network and
35
+ * script-stake as 0xF0|network, so sorting the ENCODED addresses puts key
36
+ * credentials first — the exact reverse of the order the script sees. Deriving
37
+ * this ordering from the wire format is a natural mistake that produces a
38
+ * `wdrl_idx` that is wrong only when both kinds are present.
39
+ *
40
+ * PROVENANCE: DERIVED from cardano-ledger's constructor order and corroborated
41
+ * by upstream's own integration guide (documentation/09 › Withdrawal indices),
42
+ * which cites the same `Ord` derivation. NOT yet OBSERVED on chain by us — that
43
+ * happens in T-D08, and until then this is reasoned, not booted.
44
+ */
45
+ import { Data } from "@evolution-sdk/evolution";
46
+ import type { HexString, TxInput } from "../types.js";
47
+ /** Ledger order for transaction inputs: by tx id, then by output index. */
48
+ export declare function compareTxInputs(a: TxInput, b: TxInput): number;
49
+ /**
50
+ * Position of `target` in the ledger-sorted reference inputs.
51
+ *
52
+ * Throws rather than returning -1: a missing reference input is a builder bug,
53
+ * and -1 encodes as a valid integer that fails obscurely on chain.
54
+ */
55
+ export declare function referenceInputIndexOf(all: readonly TxInput[], target: TxInput): number;
56
+ export interface WithdrawalKey {
57
+ /** 28-byte credential hash, hex. */
58
+ hash: HexString;
59
+ /** true = script credential, false = verification-key credential. */
60
+ isScript: boolean;
61
+ }
62
+ /** Ledger order: every script credential before every key credential. */
63
+ export declare function compareWithdrawalKeys(a: WithdrawalKey, b: WithdrawalKey): number;
64
+ /** Sort withdrawal keys into the order the script sees. Does not mutate. */
65
+ export declare function sortWithdrawalKeys(keys: readonly WithdrawalKey[]): WithdrawalKey[];
66
+ /**
67
+ * Position of `target` in the ledger-ordered withdrawal map.
68
+ *
69
+ * `all` MUST be the complete withdrawal set of the final transaction. Any extra
70
+ * withdrawal — a second substandard script, or a key-hash reward withdrawal a
71
+ * wallet adds during balancing — occupies a slot and shifts every position
72
+ * after it. Compute this last.
73
+ */
74
+ export declare function withdrawalIndexOf(all: readonly WithdrawalKey[], target: WithdrawalKey): number;
75
+ /**
76
+ * Which delegate programmable_logic_base dispatches to.
77
+ *
78
+ * Constructor indices are the on-chain contract: 0/1/2. Exactly one framework
79
+ * delegate may be invoked per transaction.
80
+ */
81
+ export declare const BaseSpendVia: {
82
+ readonly TRANSFER: 0n;
83
+ readonly THIRD_PARTY: 1n;
84
+ readonly UNFRACKING: 2n;
85
+ };
86
+ export type BaseSpendVariant = keyof typeof BaseSpendVia;
87
+ /**
88
+ * Build a BaseSpendRedeemer.
89
+ *
90
+ * Replaces the untyped redeemer of 0.3.x and the bare `Int` of #109. Every
91
+ * programmable_logic_base input in the transaction needs one.
92
+ */
93
+ export declare function baseSpendRedeemer(via: BaseSpendVariant, paramsIdx: number, wdrlIdx: number): Data.Data;
94
+ export interface RegistryProofRef {
95
+ type: "exists" | "not-exists";
96
+ nodeIdx: number;
97
+ }
98
+ /**
99
+ * `transfer`'s TransferRedeemer { params_idx, proofs }.
100
+ *
101
+ * Single constructor 0, same field order as the old `TransferAct` with
102
+ * `params_idx` prepended — so an old encoder's output is NOT compatible.
103
+ */
104
+ export declare function transferRedeemer(paramsIdx: number, proofs: readonly RegistryProofRef[]): Data.Data;
105
+ /** `third_party`'s ThirdPartyRedeemer { params_idx, registry_node_idx, outputs_start_idx }. */
106
+ export declare function thirdPartyRedeemer(paramsIdx: number, registryNodeIdx: number, outputsStartIdx: number): Data.Data;
107
+ /** `unfracking`'s UnfrackingRedeemer { params_idx, registry_node_idx, outputs_start_idx }. */
108
+ export declare function unfrackingRedeemer(paramsIdx: number, registryNodeIdx: number, outputsStartIdx: number): Data.Data;
109
+ //# sourceMappingURL=ledger-order.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ledger-order.d.ts","sourceRoot":"","sources":["../../src/core/ledger-order.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,KAAK,EAAE,SAAS,EAAc,OAAO,EAAE,MAAM,aAAa,CAAC;AAiClE,2EAA2E;AAC3E,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,GAAG,MAAM,CAG9D;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,SAAS,OAAO,EAAE,EACvB,MAAM,EAAE,OAAO,GACd,MAAM,CAYR;AAMD,MAAM,WAAW,aAAa;IAC5B,oCAAoC;IACpC,IAAI,EAAE,SAAS,CAAC;IAChB,qEAAqE;IACrE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,yEAAyE;AACzE,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,MAAM,CAGhF;AAED,4EAA4E;AAC5E,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,SAAS,aAAa,EAAE,GAAG,aAAa,EAAE,CAElF;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,SAAS,aAAa,EAAE,EAC7B,MAAM,EAAE,aAAa,GACpB,MAAM,CAaR;AAMD;;;;;GAKG;AACH,eAAO,MAAM,YAAY;;;;CAIf,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,MAAM,OAAO,YAAY,CAAC;AAEzD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,gBAAgB,EACrB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,IAAI,CAAC,IAAI,CAWX;AAMD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,GAAG,YAAY,CAAC;IAC9B,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,SAAS,gBAAgB,EAAE,GAClC,IAAI,CAAC,IAAI,CASX;AAED,+FAA+F;AAC/F,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,IAAI,CAAC,IAAI,CAMX;AAED,8FAA8F;AAC9F,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,eAAe,EAAE,MAAM,GACtB,IAAI,CAAC,IAAI,CAMX"}