@easy1staking/cip113-sdk-ts 0.1.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 (61) hide show
  1. package/README.md +49 -0
  2. package/blueprints/standard/v0.3.0/plutus.json +596 -0
  3. package/blueprints/substandards/dummy/v0.1.0/plutus.json +58 -0
  4. package/blueprints/substandards/freeze-and-seize/v0.1.0/plutus.json +380 -0
  5. package/dist/core/evo-utils.d.ts +160 -0
  6. package/dist/core/evo-utils.d.ts.map +1 -0
  7. package/dist/core/evo-utils.js +401 -0
  8. package/dist/core/evo-utils.js.map +1 -0
  9. package/dist/core/registry.d.ts +31 -0
  10. package/dist/core/registry.d.ts.map +1 -0
  11. package/dist/core/registry.js +72 -0
  12. package/dist/core/registry.js.map +1 -0
  13. package/dist/index.d.ts +89 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +158 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/provider/address-utils.d.ts +15 -0
  18. package/dist/provider/address-utils.d.ts.map +1 -0
  19. package/dist/provider/address-utils.js +29 -0
  20. package/dist/provider/address-utils.js.map +1 -0
  21. package/dist/provider/tx-utils.d.ts +15 -0
  22. package/dist/provider/tx-utils.d.ts.map +1 -0
  23. package/dist/provider/tx-utils.js +18 -0
  24. package/dist/provider/tx-utils.js.map +1 -0
  25. package/dist/standard/blueprint.d.ts +31 -0
  26. package/dist/standard/blueprint.d.ts.map +1 -0
  27. package/dist/standard/blueprint.js +49 -0
  28. package/dist/standard/blueprint.js.map +1 -0
  29. package/dist/standard/params.d.ts +6 -0
  30. package/dist/standard/params.d.ts.map +1 -0
  31. package/dist/standard/params.js +5 -0
  32. package/dist/standard/params.js.map +1 -0
  33. package/dist/standard/scripts.d.ts +51 -0
  34. package/dist/standard/scripts.d.ts.map +1 -0
  35. package/dist/standard/scripts.js +110 -0
  36. package/dist/standard/scripts.js.map +1 -0
  37. package/dist/substandards/dummy/index.d.ts +16 -0
  38. package/dist/substandards/dummy/index.d.ts.map +1 -0
  39. package/dist/substandards/dummy/index.js +158 -0
  40. package/dist/substandards/dummy/index.js.map +1 -0
  41. package/dist/substandards/freeze-and-seize/index.d.ts +17 -0
  42. package/dist/substandards/freeze-and-seize/index.d.ts.map +1 -0
  43. package/dist/substandards/freeze-and-seize/index.js +769 -0
  44. package/dist/substandards/freeze-and-seize/index.js.map +1 -0
  45. package/dist/substandards/freeze-and-seize/scripts.d.ts +25 -0
  46. package/dist/substandards/freeze-and-seize/scripts.d.ts.map +1 -0
  47. package/dist/substandards/freeze-and-seize/scripts.js +54 -0
  48. package/dist/substandards/freeze-and-seize/scripts.js.map +1 -0
  49. package/dist/substandards/freeze-and-seize/types.d.ts +18 -0
  50. package/dist/substandards/freeze-and-seize/types.d.ts.map +1 -0
  51. package/dist/substandards/freeze-and-seize/types.js +8 -0
  52. package/dist/substandards/freeze-and-seize/types.js.map +1 -0
  53. package/dist/substandards/interface.d.ts +166 -0
  54. package/dist/substandards/interface.d.ts.map +1 -0
  55. package/dist/substandards/interface.js +10 -0
  56. package/dist/substandards/interface.js.map +1 -0
  57. package/dist/types.d.ts +93 -0
  58. package/dist/types.d.ts.map +1 -0
  59. package/dist/types.js +8 -0
  60. package/dist/types.js.map +1 -0
  61. package/package.json +53 -0
@@ -0,0 +1,158 @@
1
+ /**
2
+ * Dummy substandard — minimal programmable token.
3
+ *
4
+ * Uses simple withdraw validators:
5
+ * - issue: redeemer == 100
6
+ * - transfer: redeemer == 200
7
+ *
8
+ * No compliance features, no blacklist.
9
+ * Uses Evolution SDK directly — no adapter abstraction.
10
+ */
11
+ import { Address as EvoAddress, Data, Transaction, } from "@evolution-sdk/evolution";
12
+ import { getValidatorCode } from "../../standard/blueprint.js";
13
+ import { sortTxInputs, findRefInputIndex, findRegistryNode, utxoToTxInput, } from "../../core/registry.js";
14
+ import { buildEvoScript, computeScriptHash, scriptAddress, baseAddress, stakingCredentialHash, stringToHex, voidData, transferActRedeemer, utxoUnitQty, outputAssets, Credential, KeyHash, InlineDatum, } from "../../core/evo-utils.js";
15
+ const DUMMY_VALIDATORS = {
16
+ ISSUE: "transfer.issue.withdraw",
17
+ TRANSFER: "transfer.transfer.withdraw",
18
+ };
19
+ export function dummySubstandard(config) {
20
+ let ctx;
21
+ let issueScript;
22
+ let transferScript;
23
+ let networkId;
24
+ function buildScript(validatorTitle) {
25
+ const code = getValidatorCode(config.blueprint, validatorTitle);
26
+ const hash = computeScriptHash(code);
27
+ return { type: "PlutusV3", compiledCode: code, hash };
28
+ }
29
+ return {
30
+ id: "dummy",
31
+ version: "0.1.0",
32
+ blueprint: config.blueprint,
33
+ init(context) {
34
+ ctx = context;
35
+ networkId = ctx.client.chain.id;
36
+ issueScript = buildScript(DUMMY_VALIDATORS.ISSUE);
37
+ transferScript = buildScript(DUMMY_VALIDATORS.TRANSFER);
38
+ },
39
+ async register(_params) {
40
+ throw new Error("dummy.register: not yet implemented");
41
+ },
42
+ async mint(_params) {
43
+ throw new Error("dummy.mint: not yet implemented");
44
+ },
45
+ async burn(_params) {
46
+ throw new Error("dummy.burn: not yet implemented");
47
+ },
48
+ async transfer(params) {
49
+ const { senderAddress, recipientAddress, tokenPolicyId, assetName, quantity } = params;
50
+ const unit = tokenPolicyId + assetName;
51
+ const client = ctx.client;
52
+ const plbHash = ctx.standardScripts.programmableLogicBase.hash;
53
+ // 1. Build PLB addresses
54
+ const senderPlbAddr = baseAddress(networkId, plbHash, senderAddress);
55
+ const recipientPlbAddr = baseAddress(networkId, plbHash, recipientAddress);
56
+ // 2. Find sender's token UTxOs
57
+ const allUtxos = await client.getUtxos(EvoAddress.fromBech32(senderPlbAddr));
58
+ const tokenUtxos = allUtxos.filter(u => utxoUnitQty(u, unit) > 0n);
59
+ if (tokenUtxos.length === 0) {
60
+ throw new Error(`No token UTxOs found at ${senderPlbAddr} for ${unit}`);
61
+ }
62
+ // 3. Select enough UTxOs
63
+ const { selected, totalTokenAmount } = selectUtxosForAmount(tokenUtxos, unit, quantity);
64
+ const returningAmount = totalTokenAmount - quantity;
65
+ // 4. Find registry node reference input
66
+ const registrySpendAddr = scriptAddress(networkId, ctx.standardScripts.registrySpend.hash);
67
+ const registryUtxos = await client.getUtxos(EvoAddress.fromBech32(registrySpendAddr));
68
+ const registryUtxo = findRegistryNode(registryUtxos, tokenPolicyId);
69
+ if (!registryUtxo) {
70
+ throw new Error(`Registry node not found for policy ${tokenPolicyId}`);
71
+ }
72
+ // 5. Get protocol params UTxO
73
+ const ppUnit = ctx.deployment.protocolParams.policyId + stringToHex("ProtocolParams");
74
+ const ppAddr = EvoAddress.fromBech32(scriptAddress(networkId, ctx.deployment.protocolParams.alwaysFailScriptHash));
75
+ const ppUtxos = await client.getUtxosWithUnit(ppAddr, ppUnit);
76
+ if (ppUtxos.length === 0)
77
+ throw new Error(`Protocol params UTxO not found (unit: ${ppUnit})`);
78
+ const protocolParamsUtxo = ppUtxos[0];
79
+ // 6. Sort reference inputs
80
+ const refInputs = [utxoToTxInput(protocolParamsUtxo), utxoToTxInput(registryUtxo)];
81
+ const sortedRefInputs = sortTxInputs(refInputs);
82
+ const registryIdx = findRefInputIndex(sortedRefInputs, utxoToTxInput(registryUtxo));
83
+ // 7. Build redeemers
84
+ const plgRedeemer = transferActRedeemer([{ type: "exists", nodeIdx: registryIdx }]);
85
+ const dummyTransferRedeemer = Data.int(200n);
86
+ const spendRdmr = voidData();
87
+ const tokenDatum = voidData();
88
+ // 8. Get sender's staking credential
89
+ const senderStakingHash = stakingCredentialHash(senderAddress);
90
+ // 9. Get sender's wallet UTxOs
91
+ const senderWalletUtxos = await client.getUtxos(EvoAddress.fromBech32(senderAddress));
92
+ // 10. Build transaction
93
+ let tx = client.newTx();
94
+ tx = tx.collectFrom({ inputs: senderWalletUtxos.slice(0, 2) });
95
+ tx = tx.collectFrom({ inputs: selected, redeemer: spendRdmr });
96
+ tx = tx.withdraw({
97
+ stakeCredential: Credential.makeScriptHash(new Uint8Array(Buffer.from(transferScript.hash, "hex"))),
98
+ amount: 0n,
99
+ redeemer: dummyTransferRedeemer,
100
+ });
101
+ tx = tx.withdraw({
102
+ stakeCredential: Credential.makeScriptHash(new Uint8Array(Buffer.from(ctx.standardScripts.programmableLogicGlobal.hash, "hex"))),
103
+ amount: 0n,
104
+ redeemer: plgRedeemer,
105
+ });
106
+ if (returningAmount > 0n) {
107
+ tx = tx.payToAddress({
108
+ address: EvoAddress.fromBech32(senderPlbAddr),
109
+ assets: outputAssets(1300000n, new Map([[unit, returningAmount]])),
110
+ datum: new InlineDatum.InlineDatum({ data: tokenDatum }),
111
+ });
112
+ }
113
+ tx = tx.payToAddress({
114
+ address: EvoAddress.fromBech32(recipientPlbAddr),
115
+ assets: outputAssets(1300000n, new Map([[unit, quantity]])),
116
+ datum: new InlineDatum.InlineDatum({ data: tokenDatum }),
117
+ });
118
+ tx = tx.readFrom({ referenceInputs: [protocolParamsUtxo, registryUtxo] });
119
+ tx = tx.attachScript({ script: buildEvoScript(ctx.standardScripts.programmableLogicGlobal.compiledCode) });
120
+ tx = tx.attachScript({ script: buildEvoScript(transferScript.compiledCode) });
121
+ tx = tx.attachScript({ script: buildEvoScript(ctx.standardScripts.programmableLogicBase.compiledCode) });
122
+ tx = tx.addSigner({ keyHash: KeyHash.fromHex(senderStakingHash) });
123
+ // Build
124
+ const result = await tx.build({
125
+ changeAddress: EvoAddress.fromBech32(senderAddress),
126
+ availableUtxos: senderWalletUtxos,
127
+ });
128
+ const txObj = await result.toTransaction();
129
+ const cbor = Transaction.toCBORHex(txObj);
130
+ let txHash = "";
131
+ if (typeof result.chainResult === "function") {
132
+ txHash = result.chainResult().txHash;
133
+ }
134
+ return { cbor, txHash };
135
+ },
136
+ };
137
+ }
138
+ // ---------------------------------------------------------------------------
139
+ // Helpers
140
+ // ---------------------------------------------------------------------------
141
+ function selectUtxosForAmount(utxos, unit, requiredAmount) {
142
+ const selected = [];
143
+ let total = 0n;
144
+ for (const utxo of utxos) {
145
+ const amount = utxoUnitQty(utxo, unit);
146
+ if (amount <= 0n)
147
+ continue;
148
+ selected.push(utxo);
149
+ total += amount;
150
+ if (total >= requiredAmount)
151
+ break;
152
+ }
153
+ if (total < requiredAmount) {
154
+ throw new Error(`Insufficient token balance: have ${total}, need ${requiredAmount}`);
155
+ }
156
+ return { selected, totalTokenAmount: total };
157
+ }
158
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/substandards/dummy/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Freeze-and-Seize substandard.
3
+ *
4
+ * Uses Evolution SDK directly — no adapter abstraction.
5
+ *
6
+ * Capabilities: register, mint, burn, transfer, freeze, unfreeze, seize.
7
+ */
8
+ import type { PlutusBlueprint } from "../../types.js";
9
+ import type { SubstandardPlugin } from "../interface.js";
10
+ import type { FESDeploymentParams } from "./types.js";
11
+ export declare function freezeAndSeizeSubstandard(config: {
12
+ blueprint: PlutusBlueprint;
13
+ deployment: FESDeploymentParams;
14
+ }): SubstandardPlugin;
15
+ export type { FESDeploymentParams } from "./types.js";
16
+ export { createFESScripts } from "./scripts.js";
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/substandards/freeze-and-seize/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAaH,OAAO,KAAK,EAAE,eAAe,EAA6C,MAAM,gBAAgB,CAAC;AACjG,OAAO,KAAK,EACV,iBAAiB,EAYlB,MAAM,iBAAiB,CAAC;AA8CzB,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAiJtD,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,SAAS,EAAE,eAAe,CAAC;IAC3B,UAAU,EAAE,mBAAmB,CAAC;CACjC,GAAG,iBAAiB,CAkxBpB;AAGD,YAAY,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC"}