@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.
- package/README.md +49 -0
- package/blueprints/standard/v0.3.0/plutus.json +596 -0
- package/blueprints/substandards/dummy/v0.1.0/plutus.json +58 -0
- package/blueprints/substandards/freeze-and-seize/v0.1.0/plutus.json +380 -0
- package/dist/core/evo-utils.d.ts +160 -0
- package/dist/core/evo-utils.d.ts.map +1 -0
- package/dist/core/evo-utils.js +401 -0
- package/dist/core/evo-utils.js.map +1 -0
- package/dist/core/registry.d.ts +31 -0
- package/dist/core/registry.d.ts.map +1 -0
- package/dist/core/registry.js +72 -0
- package/dist/core/registry.js.map +1 -0
- package/dist/index.d.ts +89 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +158 -0
- package/dist/index.js.map +1 -0
- package/dist/provider/address-utils.d.ts +15 -0
- package/dist/provider/address-utils.d.ts.map +1 -0
- package/dist/provider/address-utils.js +29 -0
- package/dist/provider/address-utils.js.map +1 -0
- package/dist/provider/tx-utils.d.ts +15 -0
- package/dist/provider/tx-utils.d.ts.map +1 -0
- package/dist/provider/tx-utils.js +18 -0
- package/dist/provider/tx-utils.js.map +1 -0
- package/dist/standard/blueprint.d.ts +31 -0
- package/dist/standard/blueprint.d.ts.map +1 -0
- package/dist/standard/blueprint.js +49 -0
- package/dist/standard/blueprint.js.map +1 -0
- package/dist/standard/params.d.ts +6 -0
- package/dist/standard/params.d.ts.map +1 -0
- package/dist/standard/params.js +5 -0
- package/dist/standard/params.js.map +1 -0
- package/dist/standard/scripts.d.ts +51 -0
- package/dist/standard/scripts.d.ts.map +1 -0
- package/dist/standard/scripts.js +110 -0
- package/dist/standard/scripts.js.map +1 -0
- package/dist/substandards/dummy/index.d.ts +16 -0
- package/dist/substandards/dummy/index.d.ts.map +1 -0
- package/dist/substandards/dummy/index.js +158 -0
- package/dist/substandards/dummy/index.js.map +1 -0
- package/dist/substandards/freeze-and-seize/index.d.ts +17 -0
- package/dist/substandards/freeze-and-seize/index.d.ts.map +1 -0
- package/dist/substandards/freeze-and-seize/index.js +769 -0
- package/dist/substandards/freeze-and-seize/index.js.map +1 -0
- package/dist/substandards/freeze-and-seize/scripts.d.ts +25 -0
- package/dist/substandards/freeze-and-seize/scripts.d.ts.map +1 -0
- package/dist/substandards/freeze-and-seize/scripts.js +54 -0
- package/dist/substandards/freeze-and-seize/scripts.js.map +1 -0
- package/dist/substandards/freeze-and-seize/types.d.ts +18 -0
- package/dist/substandards/freeze-and-seize/types.d.ts.map +1 -0
- package/dist/substandards/freeze-and-seize/types.js +8 -0
- package/dist/substandards/freeze-and-seize/types.js.map +1 -0
- package/dist/substandards/interface.d.ts +166 -0
- package/dist/substandards/interface.d.ts.map +1 -0
- package/dist/substandards/interface.js +10 -0
- package/dist/substandards/interface.js.map +1 -0
- package/dist/types.d.ts +93 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +8 -0
- package/dist/types.js.map +1 -0
- 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"}
|