@easy1staking/cip113-sdk-ts 0.7.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 +143 -75
- package/dist/standard/scripts.d.ts.map +1 -1
- package/dist/standard/scripts.js +211 -116
- 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.map +1 -1
- package/dist/substandards/freeze-and-seize/index.js +455 -117
- package/dist/substandards/freeze-and-seize/index.js.map +1 -1
- package/dist/types.d.ts +131 -48
- package/dist/types.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -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.
|
|
@@ -114,39 +202,6 @@ export declare class DeploymentMismatchError extends Error {
|
|
|
114
202
|
readonly mismatches: ScriptHashCheck[];
|
|
115
203
|
constructor(mismatches: ScriptHashCheck[], blueprintTitle: string);
|
|
116
204
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Derive every parameterizable standard script hash from the blueprint and
|
|
119
|
-
* check it against DeploymentParams. Throws DeploymentMismatchError on any
|
|
120
|
-
* difference; returns the full check list on success.
|
|
121
|
-
*
|
|
122
|
-
* Why this exists: parameterization changes are not always visible to the
|
|
123
|
-
* compiler. Upstream has changed a parameter's *meaning* while keeping its
|
|
124
|
-
* arity and type (protocol_params_mint's `always_fail_hash` became
|
|
125
|
-
* `coordination_addr_hash` in 0.5.0-alpha.1), so a wrong value typechecks,
|
|
126
|
-
* builds, and only fails when the ledger rejects the transaction. This is the
|
|
127
|
-
* check that catches it, and it is why buildDeploymentScripts no longer
|
|
128
|
-
* overwrites derived hashes with deployment values.
|
|
129
|
-
*
|
|
130
|
-
* Not covered: always_fail (its nonce is not carried in DeploymentParams),
|
|
131
|
-
* issuance_mint (parameterized per minting logic), and upgrade_multisig (its
|
|
132
|
-
* signers/threshold are an authority choice, not a derived protocol value).
|
|
133
|
-
* coordination_spend IS covered — DeploymentParams carries its nonce precisely
|
|
134
|
-
* so the lock target can be re-derived rather than trusted.
|
|
135
|
-
*
|
|
136
|
-
* WHERE THIS CHECK HAS VALUE — and where it has none.
|
|
137
|
-
*
|
|
138
|
-
* It is only meaningful when the blueprint and the deployment come from
|
|
139
|
-
* INDEPENDENT sources, so that they can actually disagree: a deployment loaded
|
|
140
|
-
* from disk, a database, or the chain, checked against the blueprint currently
|
|
141
|
-
* bundled. That is the case it catches, and the failure it catches is real —
|
|
142
|
-
* this repo shipped a blueprint swapped in place under an unchanged directory
|
|
143
|
-
* name, with 4 of 8 validator hashes moved.
|
|
144
|
-
*
|
|
145
|
-
* It proves NOTHING at bootstrap time. A deployment script derives the hashes,
|
|
146
|
-
* populates DeploymentParams from those same values, and then asserts against
|
|
147
|
-
* them — a tautology that cannot fail. Do not read a passing assertion inside a
|
|
148
|
-
* bootstrap as evidence that the deployment is correct; assert on LOAD instead.
|
|
149
|
-
*/
|
|
150
205
|
export declare function assertDeploymentScripts(blueprint: PlutusBlueprint, deployment: DeploymentParams): ScriptHashCheck[];
|
|
151
206
|
/**
|
|
152
207
|
* Build resolved standard scripts from deployment params.
|
|
@@ -158,17 +213,30 @@ export declare function assertDeploymentScripts(blueprint: PlutusBlueprint, depl
|
|
|
158
213
|
*/
|
|
159
214
|
export declare function buildDeploymentScripts(blueprint: PlutusBlueprint, deployment: DeploymentParams): ResolvedStandardScripts;
|
|
160
215
|
export interface ResolvedStandardScripts {
|
|
161
|
-
|
|
162
|
-
|
|
216
|
+
/** Mint AND spend in one script; its hash is both policy and address. */
|
|
217
|
+
protocolParams: PlutusScript;
|
|
163
218
|
programmableLogicBase: PlutusScript;
|
|
164
|
-
/**
|
|
219
|
+
/** Withdraw-0 delegates. Parameterised (plb, registryPolicy, maxInlineDatumBytes). */
|
|
165
220
|
transfer: PlutusScript;
|
|
166
221
|
/** Seize / clawback. */
|
|
167
222
|
thirdParty: PlutusScript;
|
|
168
223
|
unfracking: PlutusScript;
|
|
224
|
+
/** The dispatcher every programmable transaction withdraws through. */
|
|
225
|
+
programmableLogicGlobal: PlutusScript;
|
|
169
226
|
issuanceCborHexMint: PlutusScript;
|
|
170
|
-
|
|
171
|
-
|
|
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;
|
|
172
240
|
/** Build issuance_mint for a specific minting logic — NOT cached */
|
|
173
241
|
buildIssuanceMint(mintingLogicHash: ScriptHash): PlutusScript;
|
|
174
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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"}
|