@easy1staking/cip113-sdk-ts 0.6.0 → 0.9.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.
- package/README.md +72 -2
- package/blueprints/standard/v0.5.0-alpha.3/UPSTREAM_PIN.json +35 -0
- package/blueprints/standard/v0.5.0-alpha.3/plutus.json +1126 -0
- package/blueprints/standard/v0.5.0-alpha.4/UPSTREAM_PIN.json +36 -0
- package/blueprints/standard/v0.5.0-alpha.4/plutus.json +1434 -0
- package/dist/core/evo-utils.d.ts +357 -39
- package/dist/core/evo-utils.d.ts.map +1 -1
- package/dist/core/evo-utils.js +513 -27
- package/dist/core/evo-utils.js.map +1 -1
- package/dist/core/ledger-order.d.ts +204 -18
- package/dist/core/ledger-order.d.ts.map +1 -1
- package/dist/core/ledger-order.js +385 -28
- package/dist/core/ledger-order.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/standard/blueprint.d.ts +128 -29
- package/dist/standard/blueprint.d.ts.map +1 -1
- package/dist/standard/blueprint.js +244 -47
- package/dist/standard/blueprint.js.map +1 -1
- package/dist/standard/scripts.d.ts +166 -76
- package/dist/standard/scripts.d.ts.map +1 -1
- package/dist/standard/scripts.js +222 -118
- package/dist/standard/scripts.js.map +1 -1
- package/dist/substandards/dummy/index.d.ts +19 -0
- package/dist/substandards/dummy/index.d.ts.map +1 -1
- package/dist/substandards/dummy/index.js +322 -73
- package/dist/substandards/dummy/index.js.map +1 -1
- package/dist/substandards/freeze-and-seize/index.d.ts +32 -0
- package/dist/substandards/freeze-and-seize/index.d.ts.map +1 -1
- package/dist/substandards/freeze-and-seize/index.js +456 -118
- package/dist/substandards/freeze-and-seize/index.js.map +1 -1
- package/dist/substandards/freeze-and-seize/scripts.d.ts.map +1 -1
- package/dist/substandards/freeze-and-seize/scripts.js +8 -2
- package/dist/substandards/freeze-and-seize/scripts.js.map +1 -1
- package/dist/types.d.ts +131 -48
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -1,58 +1,146 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Standard script parameterization — CIP-113 0.5.0-alpha.
|
|
2
|
+
* Standard script parameterization — CIP-113 0.5.0-alpha.4 (upstream 7e8a631).
|
|
3
3
|
*
|
|
4
4
|
* Uses Evolution SDK directly for UPLC.applyParamsToScript and ScriptHash.
|
|
5
5
|
*
|
|
6
|
-
* Dependency graph.
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* `params_policy` in parallel instead of in series.
|
|
6
|
+
* Dependency graph. It is NOT a single chain: `programmable_logic_base` hangs
|
|
7
|
+
* off the params-NFT policy, so everything downstream of it fans out in
|
|
8
|
+
* parallel rather than in series.
|
|
10
9
|
*
|
|
11
|
-
* always_fail(nonce) -> hash (issuance side only
|
|
12
|
-
*
|
|
13
|
-
* protocol_params_mint(utxo_ref, coord_hash) -> policy == params_policy
|
|
10
|
+
* always_fail(nonce) -> hash (issuance side only)
|
|
11
|
+
* protocol_params(utxo_ref) -> policy == params_policy
|
|
14
12
|
* |
|
|
15
|
-
* +-- programmable_logic_base(params_policy)
|
|
16
|
-
*
|
|
17
|
-
* +--
|
|
18
|
-
* +--
|
|
19
|
-
* +--
|
|
13
|
+
* +-- programmable_logic_base(params_policy) -> hash == plb
|
|
14
|
+
* | |
|
|
15
|
+
* | +-- transfer(Script(plb), registry_node_cs, max_inline) -> hash
|
|
16
|
+
* | +-- third_party(Script(plb), registry_node_cs, max_inline) -> hash
|
|
17
|
+
* | +-- unfracking(Script(plb), registry_node_cs, max_inline) -> hash
|
|
18
|
+
* | +-- issuance_logic(Script(plb), registry_node_cs,
|
|
19
|
+
* | params_policy, max_inline) -> hash NEW in alpha.4
|
|
20
|
+
* |
|
|
21
|
+
* +-- issuance_mint(Script(minting_logic), params_policy) -> policy
|
|
22
|
+
*
|
|
23
|
+
* programmable_logic_global(transfer_hash, third_party_hash, unfracking_hash)
|
|
24
|
+
* -> hash (built LAST)
|
|
25
|
+
*
|
|
26
|
+
* issuance_cbor_hex_mint(utxo_ref, always_fail_hash) -> policy
|
|
27
|
+
* registry(utxo_ref, issuance_cbor_hex_cs) -> policy
|
|
20
28
|
*
|
|
21
|
-
*
|
|
22
|
-
* registry_mint(utxo_ref, issuance_cbor_hex_cs, registry_spend_cred) -> policy
|
|
23
|
-
* issuance_mint(PLB_cred, registry_node_cs, minting_logic_cred, params_policy)
|
|
24
|
-
* upgrade_multisig(signers, threshold) -> hash (independent)
|
|
29
|
+
* upgrade_multisig(utxo_ref) -> hash (independent one-shot)
|
|
25
30
|
*
|
|
26
31
|
* ⚠ PARAMETER TYPES ARE NOT INTERCHANGEABLE and TypeScript cannot tell them
|
|
27
32
|
* apart — every one of these is a hex string at the call site. `params_policy`
|
|
28
|
-
*
|
|
29
|
-
* Credentials (
|
|
30
|
-
*
|
|
31
|
-
*
|
|
33
|
+
* and `registry_node_cs` are PolicyIds (bare ByteArrays); `minting_logic_cred`
|
|
34
|
+
* and `programmable_logic_base` are Credentials (constructor-wrapped
|
|
35
|
+
* Script/VerificationKey). `scriptCredential()` wraps; `Data.bytearray()` does
|
|
36
|
+
* not. Passing a policy where a credential belongs produces a valid script with
|
|
37
|
+
* the wrong hash.
|
|
38
|
+
*
|
|
39
|
+
* ⛔ alpha.4 makes that sharper: `issuance_logic` takes TWO ADJACENT PolicyId
|
|
40
|
+
* parameters — `registry_node_cs` then `params_policy`. They are the same type,
|
|
41
|
+
* the same length, and both are `string` here. Swapping them yields a script
|
|
42
|
+
* that builds, hashes and deploys, and nothing before the ledger will say so.
|
|
43
|
+
*
|
|
44
|
+
* The types below come from the blueprint's own parameter schemas, not from
|
|
32
45
|
* upstream's prose docs — see the hazard note in blueprint.ts.
|
|
33
46
|
*/
|
|
34
47
|
import { Data } from "@evolution-sdk/evolution";
|
|
35
48
|
import type { DeploymentParams, HexString, PlutusBlueprint, PlutusScript, PolicyId, ScriptHash, TxInput } from "../types.js";
|
|
36
49
|
export interface StandardScripts {
|
|
37
50
|
alwaysFail(nonce: HexString): PlutusScript;
|
|
38
|
-
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
51
|
+
/**
|
|
52
|
+
* `protocol_params` — mint AND spend in one validator (#118).
|
|
53
|
+
*
|
|
54
|
+
* ⚑ ITS HASH IS BOTH THE PARAMS-NFT POLICY ID AND THE PARAMS ADDRESS'S
|
|
55
|
+
* PAYMENT CREDENTIAL. The mint handler locks the NFT at `Script(own_policy)`
|
|
56
|
+
* — the minting policy naming itself. Callers that used to derive the policy
|
|
57
|
+
* from `protocol_params_mint` and the address from `protocol_params_spend`
|
|
58
|
+
* must collapse to this one derivation.
|
|
59
|
+
*
|
|
60
|
+
* ⚠ NO NONCE, and no lock-target parameter. `protocol_params_mint` took
|
|
61
|
+
* `(utxo_ref, coordination_hash)` and `coordination_spend` took `(nonce)`;
|
|
62
|
+
* both are gone. The ordering cycle they created is dissolved with them.
|
|
63
|
+
*/
|
|
64
|
+
protocolParams(utxoRef: TxInput): PlutusScript;
|
|
65
|
+
/** Takes the params-NFT POLICY — which is now also the params address. */
|
|
43
66
|
programmableLogicBase(paramsPolicy: PolicyId): PlutusScript;
|
|
44
|
-
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
67
|
+
/**
|
|
68
|
+
* The three withdraw-0 delegates. Arity 1 -> 3 in alpha.3, SAME TITLES.
|
|
69
|
+
*
|
|
70
|
+
* ⚠ `progLogicCred` is programmable_logic_base's hash, NOT the dispatcher's.
|
|
71
|
+
* The dispatcher is parameterised BY these three, so pointing them at it
|
|
72
|
+
* would be a parameter cycle: a value derived from your own script hash can
|
|
73
|
+
* never be your own parameter.
|
|
74
|
+
*/
|
|
75
|
+
transfer(progLogicCred: ScriptHash, registryPolicy: PolicyId, maxInlineDatumBytes: number | bigint): PlutusScript;
|
|
76
|
+
thirdParty(progLogicCred: ScriptHash, registryPolicy: PolicyId, maxInlineDatumBytes: number | bigint): PlutusScript;
|
|
77
|
+
unfracking(progLogicCred: ScriptHash, registryPolicy: PolicyId, maxInlineDatumBytes: number | bigint): PlutusScript;
|
|
78
|
+
/**
|
|
79
|
+
* `programmable_logic_global` — the dispatcher, reintroduced by #117.
|
|
80
|
+
*
|
|
81
|
+
* Carries the three delegate hashes as compile-time parameters, so replacing
|
|
82
|
+
* ONE delegate requires deploying a new dispatcher too. Must be built AFTER
|
|
83
|
+
* all three delegates.
|
|
84
|
+
*
|
|
85
|
+
* ⚠ Its parameters are bare ScriptHashes, not Credentials — unlike
|
|
86
|
+
* `issuance_mint`'s, which wrap the same 28 bytes in a Credential
|
|
87
|
+
* constructor. Same bytes, different encoding, no type to tell them apart.
|
|
88
|
+
*/
|
|
89
|
+
programmableLogicGlobal(transferHash: ScriptHash, thirdPartyHash: ScriptHash, unfrackingHash: ScriptHash): PlutusScript;
|
|
90
|
+
/**
|
|
91
|
+
* `upgrade_multisig` — a ONE-SHOT in alpha.4: `(signers, threshold)` are gone
|
|
92
|
+
* and a single `utxo_ref` takes their place.
|
|
93
|
+
*
|
|
94
|
+
* ⚑ ONE VALUE, THREE ROLES. Its hash is the config NFT's POLICY ID, the
|
|
95
|
+
* config UTxO's ADDRESS payment credential, AND the withdraw-0 CREDENTIAL the
|
|
96
|
+
* upgrade authority is satisfied by. Do not derive any of the three
|
|
97
|
+
* separately — that is the dual-hash collapse of `protocol_params` and
|
|
98
|
+
* `registry` again, with one more role attached.
|
|
99
|
+
*
|
|
100
|
+
* The signer set moved OFF the parameters and INTO a `MultisigScript` tree in
|
|
101
|
+
* the config UTxO's datum, so rotating signers no longer changes the hash.
|
|
102
|
+
* Build those trees with `multisigScriptDatum` in `src/core/evo-utils.ts`
|
|
103
|
+
* (T-F02-1), which enforces upstream's `well_formed`.
|
|
104
|
+
*/
|
|
105
|
+
upgradeMultisig(utxoRef: TxInput): PlutusScript;
|
|
50
106
|
issuanceCborHexMint(utxoRef: TxInput, alwaysFailHash: ScriptHash): PlutusScript;
|
|
51
|
-
/**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
107
|
+
/**
|
|
108
|
+
* `registry` — mint AND spend in one validator (#117).
|
|
109
|
+
*
|
|
110
|
+
* ⚑ ONE HASH FOR POLICY AND ADDRESS, exactly as `protocolParams`. Arity
|
|
111
|
+
* dropped 3 -> 2: `registry_spend_cred` is gone, and so is the params-policy
|
|
112
|
+
* parameter the old spend side took — the registry no longer depends on the
|
|
113
|
+
* protocol-params chain at all and can be built immediately after
|
|
114
|
+
* `issuanceCborHexMint`.
|
|
115
|
+
*/
|
|
116
|
+
registry(utxoRef: TxInput, issuanceCborHexPolicy: PolicyId): PlutusScript;
|
|
117
|
+
/**
|
|
118
|
+
* `issuance_mint` — arity 4 -> 2 in alpha.4.
|
|
119
|
+
*
|
|
120
|
+
* ⚠ `programmable_logic_base` and `registry_node_cs` are GONE from its
|
|
121
|
+
* parameters. It reads the delegate credentials out of the params datum at
|
|
122
|
+
* runtime instead, which is why `params_policy` survives and the other two do
|
|
123
|
+
* not. Its POLICY ID therefore CHANGES for the same minting logic — see
|
|
124
|
+
* {@link ResolvedStandardScripts.buildIssuanceMint}.
|
|
125
|
+
*/
|
|
126
|
+
issuanceMint(mintingLogicHash: ScriptHash, paramsPolicy: PolicyId): PlutusScript;
|
|
127
|
+
/**
|
|
128
|
+
* `issuance_logic` — NEW in alpha.4. The replaceable half of issuance: the
|
|
129
|
+
* params datum's field 1 names its credential, and its withdraw-0 rides on
|
|
130
|
+
* EVERY mint and burn.
|
|
131
|
+
*
|
|
132
|
+
* ⛔ ONE CREDENTIAL, THEN TWO BARE POLICIES, AND THE TWO POLICIES ARE NOT
|
|
133
|
+
* INTERCHANGEABLE. `progLogicCred` is constructor-wrapped by
|
|
134
|
+
* `scriptCredential()`; `registryPolicy` and `paramsPolicy` are bare
|
|
135
|
+
* ByteArrays applied in THAT ORDER (`registry_node_cs`, then
|
|
136
|
+
* `params_policy`). Both are `string` at the call site and nothing — not the
|
|
137
|
+
* compiler, not the parameteriser, not the hash — can tell a swap from the
|
|
138
|
+
* intended order.
|
|
139
|
+
*
|
|
140
|
+
* ⚠ `progLogicCred` is programmable_logic_base's hash, NOT the dispatcher's,
|
|
141
|
+
* exactly as for the three delegates.
|
|
142
|
+
*/
|
|
143
|
+
issuanceLogic(progLogicCred: ScriptHash, registryPolicy: PolicyId, paramsPolicy: PolicyId, maxInlineDatumBytes: number | bigint): PlutusScript;
|
|
56
144
|
}
|
|
57
145
|
/**
|
|
58
146
|
* Create standard script builders from a blueprint.
|
|
@@ -72,8 +160,30 @@ export interface StandardScripts {
|
|
|
72
160
|
export interface ParameterizationEvent {
|
|
73
161
|
/** Validator title as it appears in the blueprint. */
|
|
74
162
|
title: string;
|
|
75
|
-
/**
|
|
163
|
+
/**
|
|
164
|
+
* Blake2b-224 of the UNAPPLIED compiled code — the CIP-171 map KEY.
|
|
165
|
+
*
|
|
166
|
+
* NOT the hash of anything that gets deployed. Two deployments with
|
|
167
|
+
* different parameters share this value; that is the point of it.
|
|
168
|
+
*/
|
|
76
169
|
rawScriptHash: ScriptHash;
|
|
170
|
+
/**
|
|
171
|
+
* Blake2b-224 of the compiled code AFTER {@link params} were applied — the
|
|
172
|
+
* hash that is actually deployed, referenced on-chain, and appears in
|
|
173
|
+
* `DeploymentParams`.
|
|
174
|
+
*
|
|
175
|
+
* Emitted so that the offline recomputation `docs/provenance.md` recommends
|
|
176
|
+
* has a SECOND OPERAND. Without it a consumer can re-apply the recorded
|
|
177
|
+
* params and hash the result, but has nothing independent to compare against
|
|
178
|
+
* — a check that compares a computation to itself, which always passes and
|
|
179
|
+
* proves nothing. Compare this against a hash obtained from somewhere this
|
|
180
|
+
* package did not produce: the deployment, the chain, an explorer.
|
|
181
|
+
*
|
|
182
|
+
* Do NOT key a CIP-171 record on this. The key is {@link rawScriptHash};
|
|
183
|
+
* this is the value side's subject. The two are one field apart and a tired
|
|
184
|
+
* reader gets them backwards.
|
|
185
|
+
*/
|
|
186
|
+
appliedScriptHash: ScriptHash;
|
|
77
187
|
/** Arguments applied, in application order. */
|
|
78
188
|
params: Data.Data[];
|
|
79
189
|
}
|
|
@@ -92,39 +202,6 @@ export declare class DeploymentMismatchError extends Error {
|
|
|
92
202
|
readonly mismatches: ScriptHashCheck[];
|
|
93
203
|
constructor(mismatches: ScriptHashCheck[], blueprintTitle: string);
|
|
94
204
|
}
|
|
95
|
-
/**
|
|
96
|
-
* Derive every parameterizable standard script hash from the blueprint and
|
|
97
|
-
* check it against DeploymentParams. Throws DeploymentMismatchError on any
|
|
98
|
-
* difference; returns the full check list on success.
|
|
99
|
-
*
|
|
100
|
-
* Why this exists: parameterization changes are not always visible to the
|
|
101
|
-
* compiler. Upstream has changed a parameter's *meaning* while keeping its
|
|
102
|
-
* arity and type (protocol_params_mint's `always_fail_hash` became
|
|
103
|
-
* `coordination_addr_hash` in 0.5.0-alpha.1), so a wrong value typechecks,
|
|
104
|
-
* builds, and only fails when the ledger rejects the transaction. This is the
|
|
105
|
-
* check that catches it, and it is why buildDeploymentScripts no longer
|
|
106
|
-
* overwrites derived hashes with deployment values.
|
|
107
|
-
*
|
|
108
|
-
* Not covered: always_fail (its nonce is not carried in DeploymentParams),
|
|
109
|
-
* issuance_mint (parameterized per minting logic), and upgrade_multisig (its
|
|
110
|
-
* signers/threshold are an authority choice, not a derived protocol value).
|
|
111
|
-
* coordination_spend IS covered — DeploymentParams carries its nonce precisely
|
|
112
|
-
* so the lock target can be re-derived rather than trusted.
|
|
113
|
-
*
|
|
114
|
-
* WHERE THIS CHECK HAS VALUE — and where it has none.
|
|
115
|
-
*
|
|
116
|
-
* It is only meaningful when the blueprint and the deployment come from
|
|
117
|
-
* INDEPENDENT sources, so that they can actually disagree: a deployment loaded
|
|
118
|
-
* from disk, a database, or the chain, checked against the blueprint currently
|
|
119
|
-
* bundled. That is the case it catches, and the failure it catches is real —
|
|
120
|
-
* this repo shipped a blueprint swapped in place under an unchanged directory
|
|
121
|
-
* name, with 4 of 8 validator hashes moved.
|
|
122
|
-
*
|
|
123
|
-
* It proves NOTHING at bootstrap time. A deployment script derives the hashes,
|
|
124
|
-
* populates DeploymentParams from those same values, and then asserts against
|
|
125
|
-
* them — a tautology that cannot fail. Do not read a passing assertion inside a
|
|
126
|
-
* bootstrap as evidence that the deployment is correct; assert on LOAD instead.
|
|
127
|
-
*/
|
|
128
205
|
export declare function assertDeploymentScripts(blueprint: PlutusBlueprint, deployment: DeploymentParams): ScriptHashCheck[];
|
|
129
206
|
/**
|
|
130
207
|
* Build resolved standard scripts from deployment params.
|
|
@@ -136,17 +213,30 @@ export declare function assertDeploymentScripts(blueprint: PlutusBlueprint, depl
|
|
|
136
213
|
*/
|
|
137
214
|
export declare function buildDeploymentScripts(blueprint: PlutusBlueprint, deployment: DeploymentParams): ResolvedStandardScripts;
|
|
138
215
|
export interface ResolvedStandardScripts {
|
|
139
|
-
|
|
140
|
-
|
|
216
|
+
/** Mint AND spend in one script; its hash is both policy and address. */
|
|
217
|
+
protocolParams: PlutusScript;
|
|
141
218
|
programmableLogicBase: PlutusScript;
|
|
142
|
-
/**
|
|
219
|
+
/** Withdraw-0 delegates. Parameterised (plb, registryPolicy, maxInlineDatumBytes). */
|
|
143
220
|
transfer: PlutusScript;
|
|
144
221
|
/** Seize / clawback. */
|
|
145
222
|
thirdParty: PlutusScript;
|
|
146
223
|
unfracking: PlutusScript;
|
|
224
|
+
/** The dispatcher every programmable transaction withdraws through. */
|
|
225
|
+
programmableLogicGlobal: PlutusScript;
|
|
147
226
|
issuanceCborHexMint: PlutusScript;
|
|
148
|
-
|
|
149
|
-
|
|
227
|
+
/** Mint AND spend in one script; its hash is both policy and address. */
|
|
228
|
+
registry: PlutusScript;
|
|
229
|
+
/**
|
|
230
|
+
* The replaceable half of issuance (alpha.4). Its withdraw-0 rides on every
|
|
231
|
+
* mint and burn, and its credential must be REGISTERED to do so.
|
|
232
|
+
*/
|
|
233
|
+
issuanceLogic: PlutusScript;
|
|
234
|
+
/**
|
|
235
|
+
* The reference upgrade authority. ⚑ Its hash is the config NFT policy, the
|
|
236
|
+
* config UTxO's address payment credential, AND the withdraw-0 credential —
|
|
237
|
+
* one value, three roles.
|
|
238
|
+
*/
|
|
239
|
+
upgradeMultisig: PlutusScript;
|
|
150
240
|
/** Build issuance_mint for a specific minting logic — NOT cached */
|
|
151
241
|
buildIssuanceMint(mintingLogicHash: ScriptHash): PlutusScript;
|
|
152
242
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../src/standard/scripts.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"scripts.d.ts","sourceRoot":"","sources":["../../src/standard/scripts.ts"],"names":[],"mappings":"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"}
|