@meshsdk/transaction 1.9.0-beta.100 → 1.9.0-beta.102
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/dist/index.cjs +215 -2
- package/dist/index.d.cts +84 -1
- package/dist/index.d.ts +84 -1
- package/dist/index.js +218 -4
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -33,6 +33,7 @@ __export(index_exports, {
|
|
|
33
33
|
ForgeScript: () => ForgeScript,
|
|
34
34
|
LargestFirstInputSelector: () => LargestFirstInputSelector,
|
|
35
35
|
MeshTxBuilder: () => MeshTxBuilder,
|
|
36
|
+
MeshTxBuilderV2: () => MeshTxBuilderV2,
|
|
36
37
|
Transaction: () => Transaction,
|
|
37
38
|
TxParser: () => TxParser,
|
|
38
39
|
cloneOutput: () => cloneOutput,
|
|
@@ -3142,9 +3143,12 @@ var MeshTxBuilderCore = class {
|
|
|
3142
3143
|
* @returns The MeshTxBuilder instance
|
|
3143
3144
|
*/
|
|
3144
3145
|
proposalRedeemerValue = (redeemer, type = "Mesh", exUnits = { ...import_common.DEFAULT_REDEEMER_BUDGET }) => {
|
|
3145
|
-
if (!this.proposalItem)
|
|
3146
|
+
if (!this.proposalItem)
|
|
3147
|
+
throw Error("proposalRedeemerValue: Undefined proposal");
|
|
3146
3148
|
if (!(this.proposalItem.type === "ScriptProposal"))
|
|
3147
|
-
throw Error(
|
|
3149
|
+
throw Error(
|
|
3150
|
+
"proposalRedeemerValue: Adding redeemer to non plutus proposal"
|
|
3151
|
+
);
|
|
3148
3152
|
this.proposalItem.redeemer = this.castBuilderDataToRedeemer(
|
|
3149
3153
|
redeemer,
|
|
3150
3154
|
type,
|
|
@@ -6247,11 +6251,220 @@ var TxParser = class {
|
|
|
6247
6251
|
getBuilderBodyWithoutChange = () => this.serializer.parser.getBuilderBodyWithoutChange();
|
|
6248
6252
|
toTester = () => this.serializer.parser.toTester();
|
|
6249
6253
|
};
|
|
6254
|
+
|
|
6255
|
+
// src/mesh-tx-builder-v2/index.ts
|
|
6256
|
+
var import_common5 = require("@meshsdk/common");
|
|
6257
|
+
var SpendBuilderImpl = class {
|
|
6258
|
+
constructor(builder) {
|
|
6259
|
+
this.builder = builder;
|
|
6260
|
+
}
|
|
6261
|
+
script(scriptCbor) {
|
|
6262
|
+
this.builder.txInScript(scriptCbor);
|
|
6263
|
+
return this;
|
|
6264
|
+
}
|
|
6265
|
+
referenceScript(refTxHash, refTxIndex, scriptSize, scriptHash) {
|
|
6266
|
+
this.builder.spendingTxInReference(
|
|
6267
|
+
refTxHash,
|
|
6268
|
+
refTxIndex,
|
|
6269
|
+
scriptSize,
|
|
6270
|
+
scriptHash
|
|
6271
|
+
);
|
|
6272
|
+
return this;
|
|
6273
|
+
}
|
|
6274
|
+
redeemerJson(redeemer, exUnits) {
|
|
6275
|
+
this.builder.txInRedeemerValue(
|
|
6276
|
+
redeemer,
|
|
6277
|
+
"JSON",
|
|
6278
|
+
exUnits ?? { ...import_common5.DEFAULT_REDEEMER_BUDGET }
|
|
6279
|
+
);
|
|
6280
|
+
return this;
|
|
6281
|
+
}
|
|
6282
|
+
redeemerCbor(redeemer, exUnits) {
|
|
6283
|
+
this.builder.txInRedeemerValue(
|
|
6284
|
+
redeemer,
|
|
6285
|
+
"CBOR",
|
|
6286
|
+
exUnits ?? { ...import_common5.DEFAULT_REDEEMER_BUDGET }
|
|
6287
|
+
);
|
|
6288
|
+
return this;
|
|
6289
|
+
}
|
|
6290
|
+
txOut(address, amount) {
|
|
6291
|
+
this.builder.txInInlineDatumPresent();
|
|
6292
|
+
this.builder.txOut(address, amount);
|
|
6293
|
+
return this;
|
|
6294
|
+
}
|
|
6295
|
+
datumJson(datum) {
|
|
6296
|
+
this.builder.txOutInlineDatumValue(datum, "JSON");
|
|
6297
|
+
return this.builder;
|
|
6298
|
+
}
|
|
6299
|
+
datumCbor(datum) {
|
|
6300
|
+
this.builder.txOutInlineDatumValue(datum, "CBOR");
|
|
6301
|
+
return this.builder;
|
|
6302
|
+
}
|
|
6303
|
+
datumHash(datumHash) {
|
|
6304
|
+
this.builder.txOutDatumHashValue(datumHash);
|
|
6305
|
+
return this.builder;
|
|
6306
|
+
}
|
|
6307
|
+
};
|
|
6308
|
+
var MintBuilderImpl = class {
|
|
6309
|
+
constructor(builder) {
|
|
6310
|
+
this.builder = builder;
|
|
6311
|
+
}
|
|
6312
|
+
script(scriptCbor) {
|
|
6313
|
+
this.builder.mintingScript(scriptCbor);
|
|
6314
|
+
return this;
|
|
6315
|
+
}
|
|
6316
|
+
referenceScript(txHash, txIndex, scriptSize, scriptHash) {
|
|
6317
|
+
this.builder.mintTxInReference(txHash, txIndex, scriptSize, scriptHash);
|
|
6318
|
+
return this;
|
|
6319
|
+
}
|
|
6320
|
+
redeemerJson(redeemer, exUnits) {
|
|
6321
|
+
this.builder.mintRedeemerValue(
|
|
6322
|
+
redeemer,
|
|
6323
|
+
"JSON",
|
|
6324
|
+
exUnits ?? { ...import_common5.DEFAULT_REDEEMER_BUDGET }
|
|
6325
|
+
);
|
|
6326
|
+
return this;
|
|
6327
|
+
}
|
|
6328
|
+
redeemerCbor(redeemer, exUnits) {
|
|
6329
|
+
this.builder.mintRedeemerValue(
|
|
6330
|
+
redeemer,
|
|
6331
|
+
"CBOR",
|
|
6332
|
+
exUnits ?? { ...import_common5.DEFAULT_REDEEMER_BUDGET }
|
|
6333
|
+
);
|
|
6334
|
+
return this;
|
|
6335
|
+
}
|
|
6336
|
+
txOut(address, amount) {
|
|
6337
|
+
this.builder.txOut(address, amount);
|
|
6338
|
+
return this.builder;
|
|
6339
|
+
}
|
|
6340
|
+
};
|
|
6341
|
+
var WithdrawBuilderImpl = class {
|
|
6342
|
+
constructor(builder) {
|
|
6343
|
+
this.builder = builder;
|
|
6344
|
+
}
|
|
6345
|
+
script(scriptCbor) {
|
|
6346
|
+
this.builder.withdrawalScript(scriptCbor);
|
|
6347
|
+
return this;
|
|
6348
|
+
}
|
|
6349
|
+
referenceScript(txHash, txIndex, scriptSize, scriptHash) {
|
|
6350
|
+
this.builder.withdrawalTxInReference(txHash, txIndex, scriptSize, scriptHash);
|
|
6351
|
+
return this;
|
|
6352
|
+
}
|
|
6353
|
+
redeemerJson(redeemer, exUnits) {
|
|
6354
|
+
this.builder.withdrawalRedeemerValue(
|
|
6355
|
+
redeemer,
|
|
6356
|
+
"JSON",
|
|
6357
|
+
exUnits ?? { ...import_common5.DEFAULT_REDEEMER_BUDGET }
|
|
6358
|
+
);
|
|
6359
|
+
return this.builder;
|
|
6360
|
+
}
|
|
6361
|
+
redeemerCbor(redeemer, exUnits) {
|
|
6362
|
+
this.builder.withdrawalRedeemerValue(
|
|
6363
|
+
redeemer,
|
|
6364
|
+
"CBOR",
|
|
6365
|
+
exUnits ?? { ...import_common5.DEFAULT_REDEEMER_BUDGET }
|
|
6366
|
+
);
|
|
6367
|
+
return this.builder;
|
|
6368
|
+
}
|
|
6369
|
+
};
|
|
6370
|
+
var VoteBuilderImpl = class {
|
|
6371
|
+
constructor(builder) {
|
|
6372
|
+
this.builder = builder;
|
|
6373
|
+
}
|
|
6374
|
+
script(scriptCbor) {
|
|
6375
|
+
this.builder.voteScript(scriptCbor);
|
|
6376
|
+
return this;
|
|
6377
|
+
}
|
|
6378
|
+
referenceScript(txHash, txIndex, scriptSize, scriptHash) {
|
|
6379
|
+
this.builder.voteTxInReference(txHash, txIndex, scriptSize, scriptHash);
|
|
6380
|
+
return this;
|
|
6381
|
+
}
|
|
6382
|
+
redeemerJson(redeemer, exUnits) {
|
|
6383
|
+
this.builder.voteRedeemerValue(
|
|
6384
|
+
redeemer,
|
|
6385
|
+
"JSON",
|
|
6386
|
+
exUnits ?? { ...import_common5.DEFAULT_REDEEMER_BUDGET }
|
|
6387
|
+
);
|
|
6388
|
+
return this.builder;
|
|
6389
|
+
}
|
|
6390
|
+
redeemerCbor(redeemer, exUnits) {
|
|
6391
|
+
this.builder.voteRedeemerValue(
|
|
6392
|
+
redeemer,
|
|
6393
|
+
"CBOR",
|
|
6394
|
+
exUnits ?? { ...import_common5.DEFAULT_REDEEMER_BUDGET }
|
|
6395
|
+
);
|
|
6396
|
+
return this.builder;
|
|
6397
|
+
}
|
|
6398
|
+
};
|
|
6399
|
+
var TxBuilderV2 = class extends MeshTxBuilder {
|
|
6400
|
+
spendPlutusV1(txHash, txIndex) {
|
|
6401
|
+
this.spendingPlutusScriptV1();
|
|
6402
|
+
this.txIn(txHash, txIndex);
|
|
6403
|
+
return new SpendBuilderImpl(this);
|
|
6404
|
+
}
|
|
6405
|
+
spendPlutusV2(txHash, txIndex) {
|
|
6406
|
+
this.spendingPlutusScriptV2();
|
|
6407
|
+
this.txIn(txHash, txIndex);
|
|
6408
|
+
return new SpendBuilderImpl(this);
|
|
6409
|
+
}
|
|
6410
|
+
spendPlutusV3(txHash, txIndex) {
|
|
6411
|
+
this.spendingPlutusScriptV3();
|
|
6412
|
+
this.txIn(txHash, txIndex);
|
|
6413
|
+
return new SpendBuilderImpl(this);
|
|
6414
|
+
}
|
|
6415
|
+
mintPlutusV1(quantity, policyId, assetName) {
|
|
6416
|
+
this.mintPlutusScriptV1();
|
|
6417
|
+
this.mint(quantity, policyId, assetName);
|
|
6418
|
+
return new MintBuilderImpl(this);
|
|
6419
|
+
}
|
|
6420
|
+
mintPlutusV2(quantity, policyId, assetName) {
|
|
6421
|
+
this.mintPlutusScriptV2();
|
|
6422
|
+
this.mint(quantity, policyId, assetName);
|
|
6423
|
+
return new MintBuilderImpl(this);
|
|
6424
|
+
}
|
|
6425
|
+
mintPlutusV3(quantity, policyId, assetName) {
|
|
6426
|
+
this.mintPlutusScriptV3();
|
|
6427
|
+
this.mint(quantity, policyId, assetName);
|
|
6428
|
+
return new MintBuilderImpl(this);
|
|
6429
|
+
}
|
|
6430
|
+
withdrawPlutusV1(rewardAddress, amount) {
|
|
6431
|
+
this.withdrawalPlutusScriptV1();
|
|
6432
|
+
this.withdrawal(rewardAddress, amount);
|
|
6433
|
+
return new WithdrawBuilderImpl(this);
|
|
6434
|
+
}
|
|
6435
|
+
withdrawPlutusV2(rewardAddress, coin) {
|
|
6436
|
+
this.withdrawalPlutusScriptV2();
|
|
6437
|
+
this.withdrawal(rewardAddress, coin);
|
|
6438
|
+
return new WithdrawBuilderImpl(this);
|
|
6439
|
+
}
|
|
6440
|
+
withdrawPlutusV3(rewardAddress, coin) {
|
|
6441
|
+
this.withdrawalPlutusScriptV3();
|
|
6442
|
+
this.withdrawal(rewardAddress, coin);
|
|
6443
|
+
return new WithdrawBuilderImpl(this);
|
|
6444
|
+
}
|
|
6445
|
+
votePlutusV1(voter, govActionId, votingProcedure) {
|
|
6446
|
+
this.votePlutusScriptV1();
|
|
6447
|
+
this.vote(voter, govActionId, votingProcedure);
|
|
6448
|
+
return new VoteBuilderImpl(this);
|
|
6449
|
+
}
|
|
6450
|
+
votePlutusV2(voter, govActionId, votingProcedure) {
|
|
6451
|
+
this.votePlutusScriptV2();
|
|
6452
|
+
this.vote(voter, govActionId, votingProcedure);
|
|
6453
|
+
return new VoteBuilderImpl(this);
|
|
6454
|
+
}
|
|
6455
|
+
votePlutusV3(voter, govActionId, votingProcedure) {
|
|
6456
|
+
this.votePlutusScriptV3();
|
|
6457
|
+
this.vote(voter, govActionId, votingProcedure);
|
|
6458
|
+
return new VoteBuilderImpl(this);
|
|
6459
|
+
}
|
|
6460
|
+
};
|
|
6461
|
+
var MeshTxBuilderV2 = TxBuilderV2;
|
|
6250
6462
|
// Annotate the CommonJS export names for ESM import in node:
|
|
6251
6463
|
0 && (module.exports = {
|
|
6252
6464
|
ForgeScript,
|
|
6253
6465
|
LargestFirstInputSelector,
|
|
6254
6466
|
MeshTxBuilder,
|
|
6467
|
+
MeshTxBuilderV2,
|
|
6255
6468
|
Transaction,
|
|
6256
6469
|
TxParser,
|
|
6257
6470
|
cloneOutput,
|
package/dist/index.d.cts
CHANGED
|
@@ -1053,4 +1053,87 @@ declare class TxParser {
|
|
|
1053
1053
|
toTester: () => _meshsdk_common.TxTester;
|
|
1054
1054
|
}
|
|
1055
1055
|
|
|
1056
|
-
|
|
1056
|
+
interface _MeshTxBuilderV2 extends Omit<MeshTxBuilder, ScriptMethodsToDrop> {
|
|
1057
|
+
spendPlutusV1(txHash: string, txIndex: number): SpendScriptBuilder;
|
|
1058
|
+
spendPlutusV2(txHash: string, txIndex: number): SpendScriptBuilder;
|
|
1059
|
+
spendPlutusV3(txHash: string, txIndex: number): SpendScriptBuilder;
|
|
1060
|
+
mintPlutusV1(quantity: string, policyId: string, assetName: string): MintScriptBuilder;
|
|
1061
|
+
mintPlutusV2(quantity: string, policyId: string, assetName: string): MintScriptBuilder;
|
|
1062
|
+
mintPlutusV3(quantity: string, policyId: string, assetName: string): MintScriptBuilder;
|
|
1063
|
+
withdrawPlutusV1(rewardAddress: string, amount: string): WithdrawScriptBuilder;
|
|
1064
|
+
withdrawPlutusV2(rewardAddress: string, amount: string): WithdrawScriptBuilder;
|
|
1065
|
+
withdrawPlutusV3(rewardAddress: string, amount: string): WithdrawScriptBuilder;
|
|
1066
|
+
votePlutusV1(voter: Voter, govActionId: RefTxIn, votingProcedure: VotingProcedure): VoteScriptBuilder;
|
|
1067
|
+
votePlutusV2(voter: Voter, govActionId: RefTxIn, votingProcedure: VotingProcedure): VoteScriptBuilder;
|
|
1068
|
+
votePlutusV3(voter: Voter, govActionId: RefTxIn, votingProcedure: VotingProcedure): VoteScriptBuilder;
|
|
1069
|
+
}
|
|
1070
|
+
type ScriptMethodsToDrop = "spendingPlutusScript" | "spendingPlutusScriptV1" | "spendingPlutusScriptV2" | "spendingPlutusScriptV3" | "spendingTxInReference" | "spendingReferenceTxInInlineDatumPresent" | "spendingReferenceTxInRedeemerValue" | "mintPlutusScript" | "mintPlutusScriptV1" | "mintPlutusScriptV2" | "mintPlutusScriptV3" | "mintingScript" | "mintTxInReference" | "mintReferenceTxInRedeemerValue" | "mintRedeemerValue" | "withdrawalPlutusScript" | "withdrawalPlutusScriptV1" | "withdrawalPlutusScriptV2" | "withdrawalPlutusScriptV3" | "withdrawalScript" | "withdrawalTxInReference" | "withdrawalReferenceTxInRedeemerValue" | "withdrawalRedeemerValue" | "votePlutusScript" | "votePlutusScriptV1" | "votePlutusScriptV2" | "votePlutusScriptV3" | "voteScript" | "voteTxInReference" | "voteReferenceTxInRedeemerValue" | "voteRedeemerValue" | "txInScript" | "txInDatumValue" | "txInInlineDatumPresent" | "txInRedeemerValue";
|
|
1071
|
+
interface SpendScriptBuilder {
|
|
1072
|
+
script(scriptCbor: string): SpendRedeemerBuilder;
|
|
1073
|
+
referenceScript(refTxHash: string, refTxIndex: number, scriptSize?: string, scriptHash?: string): SpendRedeemerBuilder;
|
|
1074
|
+
}
|
|
1075
|
+
interface SpendRedeemerBuilder {
|
|
1076
|
+
redeemerJson(redeemer: BuilderData["content"], exUnits?: Budget): SpendTxOutBuilder;
|
|
1077
|
+
redeemerCbor(redeemer: BuilderData["content"], exUnits?: Budget): SpendTxOutBuilder;
|
|
1078
|
+
}
|
|
1079
|
+
interface SpendTxOutBuilder {
|
|
1080
|
+
txOut(address: string, amount: Asset[]): SpendDatumBuilder;
|
|
1081
|
+
}
|
|
1082
|
+
interface SpendDatumBuilder {
|
|
1083
|
+
datumHash(datumHash: string): _MeshTxBuilderV2;
|
|
1084
|
+
datumCbor(datumCbor: BuilderData["content"]): _MeshTxBuilderV2;
|
|
1085
|
+
datumJson(datumJson: BuilderData["content"]): _MeshTxBuilderV2;
|
|
1086
|
+
}
|
|
1087
|
+
interface MintScriptBuilder {
|
|
1088
|
+
script(scriptCbor: string): MintRedeemerBuilder;
|
|
1089
|
+
referenceScript(txHash: string, txIndex: number, scriptSize?: string, scriptHash?: string): MintRedeemerBuilder;
|
|
1090
|
+
}
|
|
1091
|
+
interface MintRedeemerBuilder {
|
|
1092
|
+
redeemerJson(redeemer: BuilderData["content"], exUnits?: Budget): MintTxOutBuilder;
|
|
1093
|
+
redeemerCbor(redeemer: BuilderData["content"], exUnits?: Budget): MintTxOutBuilder;
|
|
1094
|
+
}
|
|
1095
|
+
interface MintTxOutBuilder {
|
|
1096
|
+
txOut(address: string, amount: Asset[]): _MeshTxBuilderV2;
|
|
1097
|
+
}
|
|
1098
|
+
interface VoteScriptBuilder {
|
|
1099
|
+
script(scriptCbor: string): VoteRedeemerBuilder;
|
|
1100
|
+
referenceScript(txHash: string, txIndex: number, scriptSize?: string, scriptHash?: string): VoteRedeemerBuilder;
|
|
1101
|
+
}
|
|
1102
|
+
interface VoteRedeemerBuilder {
|
|
1103
|
+
redeemerJson(redeemer: BuilderData["content"], exUnits?: Budget): _MeshTxBuilderV2;
|
|
1104
|
+
redeemerCbor(redeemer: BuilderData["content"], exUnits?: Budget): _MeshTxBuilderV2;
|
|
1105
|
+
}
|
|
1106
|
+
interface WithdrawScriptBuilder {
|
|
1107
|
+
script(scriptCbor: string): WithdrawRedeemerBuilder;
|
|
1108
|
+
referenceScript(txHash: string, txIndex: number, scriptSize?: string, scriptHash?: string): WithdrawRedeemerBuilder;
|
|
1109
|
+
}
|
|
1110
|
+
interface WithdrawRedeemerBuilder {
|
|
1111
|
+
redeemerJson(redeemer: BuilderData["content"], exUnits?: Budget): _MeshTxBuilderV2;
|
|
1112
|
+
redeemerCbor(redeemer: BuilderData["content"], exUnits?: Budget): _MeshTxBuilderV2;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
/**
|
|
1116
|
+
* \`MeshTxBuilderV2\` is a strongly-typed wrapper around the core \`MeshTxBuilder\`
|
|
1117
|
+
* that enforces a rigid Type-State machine for Plutus operations.
|
|
1118
|
+
*
|
|
1119
|
+
* It natively provides TypeScript autocomplete restrictions (Script -> Redeemer -> TxOut -> Datum)
|
|
1120
|
+
* for transactions like spending, minting, withdrawing, and voting, dropping standalone
|
|
1121
|
+
* script methods to prevent incorrect chained execution ordering.
|
|
1122
|
+
*
|
|
1123
|
+
* @example
|
|
1124
|
+
* ```typescript
|
|
1125
|
+
* const tx = new MeshTxBuilderV2({
|
|
1126
|
+
* fetcher: provider,
|
|
1127
|
+
* evaluator: provider,
|
|
1128
|
+
* });
|
|
1129
|
+
*
|
|
1130
|
+
* tx.spendPlutusV3(txHash, index)
|
|
1131
|
+
* .script(scriptCbor)
|
|
1132
|
+
* .redeemerJson(redeemerValue)
|
|
1133
|
+
* .txOut(address, assets)
|
|
1134
|
+
* .datumJson(datumValue); // Drops you back into the main builder methods
|
|
1135
|
+
* ```
|
|
1136
|
+
*/
|
|
1137
|
+
declare const MeshTxBuilderV2: new (options?: MeshTxBuilderOptions) => _MeshTxBuilderV2;
|
|
1138
|
+
|
|
1139
|
+
export { ForgeScript, LargestFirstInputSelector, MeshTxBuilder, type MeshTxBuilderOptions, MeshTxBuilderV2, type MetadataMergeLevel, Transaction, type TransactionOptions, TxParser, cloneOutput, getLovelace, getOutputMinLovelace, getUtxoMinLovelace, mergeContents, metadataObjToMap, setLoveLace, utxoToTxIn };
|
package/dist/index.d.ts
CHANGED
|
@@ -1053,4 +1053,87 @@ declare class TxParser {
|
|
|
1053
1053
|
toTester: () => _meshsdk_common.TxTester;
|
|
1054
1054
|
}
|
|
1055
1055
|
|
|
1056
|
-
|
|
1056
|
+
interface _MeshTxBuilderV2 extends Omit<MeshTxBuilder, ScriptMethodsToDrop> {
|
|
1057
|
+
spendPlutusV1(txHash: string, txIndex: number): SpendScriptBuilder;
|
|
1058
|
+
spendPlutusV2(txHash: string, txIndex: number): SpendScriptBuilder;
|
|
1059
|
+
spendPlutusV3(txHash: string, txIndex: number): SpendScriptBuilder;
|
|
1060
|
+
mintPlutusV1(quantity: string, policyId: string, assetName: string): MintScriptBuilder;
|
|
1061
|
+
mintPlutusV2(quantity: string, policyId: string, assetName: string): MintScriptBuilder;
|
|
1062
|
+
mintPlutusV3(quantity: string, policyId: string, assetName: string): MintScriptBuilder;
|
|
1063
|
+
withdrawPlutusV1(rewardAddress: string, amount: string): WithdrawScriptBuilder;
|
|
1064
|
+
withdrawPlutusV2(rewardAddress: string, amount: string): WithdrawScriptBuilder;
|
|
1065
|
+
withdrawPlutusV3(rewardAddress: string, amount: string): WithdrawScriptBuilder;
|
|
1066
|
+
votePlutusV1(voter: Voter, govActionId: RefTxIn, votingProcedure: VotingProcedure): VoteScriptBuilder;
|
|
1067
|
+
votePlutusV2(voter: Voter, govActionId: RefTxIn, votingProcedure: VotingProcedure): VoteScriptBuilder;
|
|
1068
|
+
votePlutusV3(voter: Voter, govActionId: RefTxIn, votingProcedure: VotingProcedure): VoteScriptBuilder;
|
|
1069
|
+
}
|
|
1070
|
+
type ScriptMethodsToDrop = "spendingPlutusScript" | "spendingPlutusScriptV1" | "spendingPlutusScriptV2" | "spendingPlutusScriptV3" | "spendingTxInReference" | "spendingReferenceTxInInlineDatumPresent" | "spendingReferenceTxInRedeemerValue" | "mintPlutusScript" | "mintPlutusScriptV1" | "mintPlutusScriptV2" | "mintPlutusScriptV3" | "mintingScript" | "mintTxInReference" | "mintReferenceTxInRedeemerValue" | "mintRedeemerValue" | "withdrawalPlutusScript" | "withdrawalPlutusScriptV1" | "withdrawalPlutusScriptV2" | "withdrawalPlutusScriptV3" | "withdrawalScript" | "withdrawalTxInReference" | "withdrawalReferenceTxInRedeemerValue" | "withdrawalRedeemerValue" | "votePlutusScript" | "votePlutusScriptV1" | "votePlutusScriptV2" | "votePlutusScriptV3" | "voteScript" | "voteTxInReference" | "voteReferenceTxInRedeemerValue" | "voteRedeemerValue" | "txInScript" | "txInDatumValue" | "txInInlineDatumPresent" | "txInRedeemerValue";
|
|
1071
|
+
interface SpendScriptBuilder {
|
|
1072
|
+
script(scriptCbor: string): SpendRedeemerBuilder;
|
|
1073
|
+
referenceScript(refTxHash: string, refTxIndex: number, scriptSize?: string, scriptHash?: string): SpendRedeemerBuilder;
|
|
1074
|
+
}
|
|
1075
|
+
interface SpendRedeemerBuilder {
|
|
1076
|
+
redeemerJson(redeemer: BuilderData["content"], exUnits?: Budget): SpendTxOutBuilder;
|
|
1077
|
+
redeemerCbor(redeemer: BuilderData["content"], exUnits?: Budget): SpendTxOutBuilder;
|
|
1078
|
+
}
|
|
1079
|
+
interface SpendTxOutBuilder {
|
|
1080
|
+
txOut(address: string, amount: Asset[]): SpendDatumBuilder;
|
|
1081
|
+
}
|
|
1082
|
+
interface SpendDatumBuilder {
|
|
1083
|
+
datumHash(datumHash: string): _MeshTxBuilderV2;
|
|
1084
|
+
datumCbor(datumCbor: BuilderData["content"]): _MeshTxBuilderV2;
|
|
1085
|
+
datumJson(datumJson: BuilderData["content"]): _MeshTxBuilderV2;
|
|
1086
|
+
}
|
|
1087
|
+
interface MintScriptBuilder {
|
|
1088
|
+
script(scriptCbor: string): MintRedeemerBuilder;
|
|
1089
|
+
referenceScript(txHash: string, txIndex: number, scriptSize?: string, scriptHash?: string): MintRedeemerBuilder;
|
|
1090
|
+
}
|
|
1091
|
+
interface MintRedeemerBuilder {
|
|
1092
|
+
redeemerJson(redeemer: BuilderData["content"], exUnits?: Budget): MintTxOutBuilder;
|
|
1093
|
+
redeemerCbor(redeemer: BuilderData["content"], exUnits?: Budget): MintTxOutBuilder;
|
|
1094
|
+
}
|
|
1095
|
+
interface MintTxOutBuilder {
|
|
1096
|
+
txOut(address: string, amount: Asset[]): _MeshTxBuilderV2;
|
|
1097
|
+
}
|
|
1098
|
+
interface VoteScriptBuilder {
|
|
1099
|
+
script(scriptCbor: string): VoteRedeemerBuilder;
|
|
1100
|
+
referenceScript(txHash: string, txIndex: number, scriptSize?: string, scriptHash?: string): VoteRedeemerBuilder;
|
|
1101
|
+
}
|
|
1102
|
+
interface VoteRedeemerBuilder {
|
|
1103
|
+
redeemerJson(redeemer: BuilderData["content"], exUnits?: Budget): _MeshTxBuilderV2;
|
|
1104
|
+
redeemerCbor(redeemer: BuilderData["content"], exUnits?: Budget): _MeshTxBuilderV2;
|
|
1105
|
+
}
|
|
1106
|
+
interface WithdrawScriptBuilder {
|
|
1107
|
+
script(scriptCbor: string): WithdrawRedeemerBuilder;
|
|
1108
|
+
referenceScript(txHash: string, txIndex: number, scriptSize?: string, scriptHash?: string): WithdrawRedeemerBuilder;
|
|
1109
|
+
}
|
|
1110
|
+
interface WithdrawRedeemerBuilder {
|
|
1111
|
+
redeemerJson(redeemer: BuilderData["content"], exUnits?: Budget): _MeshTxBuilderV2;
|
|
1112
|
+
redeemerCbor(redeemer: BuilderData["content"], exUnits?: Budget): _MeshTxBuilderV2;
|
|
1113
|
+
}
|
|
1114
|
+
|
|
1115
|
+
/**
|
|
1116
|
+
* \`MeshTxBuilderV2\` is a strongly-typed wrapper around the core \`MeshTxBuilder\`
|
|
1117
|
+
* that enforces a rigid Type-State machine for Plutus operations.
|
|
1118
|
+
*
|
|
1119
|
+
* It natively provides TypeScript autocomplete restrictions (Script -> Redeemer -> TxOut -> Datum)
|
|
1120
|
+
* for transactions like spending, minting, withdrawing, and voting, dropping standalone
|
|
1121
|
+
* script methods to prevent incorrect chained execution ordering.
|
|
1122
|
+
*
|
|
1123
|
+
* @example
|
|
1124
|
+
* ```typescript
|
|
1125
|
+
* const tx = new MeshTxBuilderV2({
|
|
1126
|
+
* fetcher: provider,
|
|
1127
|
+
* evaluator: provider,
|
|
1128
|
+
* });
|
|
1129
|
+
*
|
|
1130
|
+
* tx.spendPlutusV3(txHash, index)
|
|
1131
|
+
* .script(scriptCbor)
|
|
1132
|
+
* .redeemerJson(redeemerValue)
|
|
1133
|
+
* .txOut(address, assets)
|
|
1134
|
+
* .datumJson(datumValue); // Drops you back into the main builder methods
|
|
1135
|
+
* ```
|
|
1136
|
+
*/
|
|
1137
|
+
declare const MeshTxBuilderV2: new (options?: MeshTxBuilderOptions) => _MeshTxBuilderV2;
|
|
1138
|
+
|
|
1139
|
+
export { ForgeScript, LargestFirstInputSelector, MeshTxBuilder, type MeshTxBuilderOptions, MeshTxBuilderV2, type MetadataMergeLevel, Transaction, type TransactionOptions, TxParser, cloneOutput, getLovelace, getOutputMinLovelace, getUtxoMinLovelace, mergeContents, metadataObjToMap, setLoveLace, utxoToTxIn };
|
package/dist/index.js
CHANGED
|
@@ -2033,8 +2033,8 @@ import {
|
|
|
2033
2033
|
DEFAULT_PROTOCOL_PARAMETERS,
|
|
2034
2034
|
DEFAULT_REDEEMER_BUDGET,
|
|
2035
2035
|
DREP_DEPOSIT,
|
|
2036
|
-
|
|
2037
|
-
|
|
2036
|
+
emptyTxBuilderBody,
|
|
2037
|
+
VOTING_PROPOSAL_DEPOSIT
|
|
2038
2038
|
} from "@meshsdk/common";
|
|
2039
2039
|
import { Address, CredentialType } from "@meshsdk/core-cst";
|
|
2040
2040
|
|
|
@@ -3117,9 +3117,12 @@ var MeshTxBuilderCore = class {
|
|
|
3117
3117
|
* @returns The MeshTxBuilder instance
|
|
3118
3118
|
*/
|
|
3119
3119
|
proposalRedeemerValue = (redeemer, type = "Mesh", exUnits = { ...DEFAULT_REDEEMER_BUDGET }) => {
|
|
3120
|
-
if (!this.proposalItem)
|
|
3120
|
+
if (!this.proposalItem)
|
|
3121
|
+
throw Error("proposalRedeemerValue: Undefined proposal");
|
|
3121
3122
|
if (!(this.proposalItem.type === "ScriptProposal"))
|
|
3122
|
-
throw Error(
|
|
3123
|
+
throw Error(
|
|
3124
|
+
"proposalRedeemerValue: Adding redeemer to non plutus proposal"
|
|
3125
|
+
);
|
|
3123
3126
|
this.proposalItem.redeemer = this.castBuilderDataToRedeemer(
|
|
3124
3127
|
redeemer,
|
|
3125
3128
|
type,
|
|
@@ -6247,10 +6250,221 @@ var TxParser = class {
|
|
|
6247
6250
|
getBuilderBodyWithoutChange = () => this.serializer.parser.getBuilderBodyWithoutChange();
|
|
6248
6251
|
toTester = () => this.serializer.parser.toTester();
|
|
6249
6252
|
};
|
|
6253
|
+
|
|
6254
|
+
// src/mesh-tx-builder-v2/index.ts
|
|
6255
|
+
import {
|
|
6256
|
+
DEFAULT_REDEEMER_BUDGET as DEFAULT_REDEEMER_BUDGET3
|
|
6257
|
+
} from "@meshsdk/common";
|
|
6258
|
+
var SpendBuilderImpl = class {
|
|
6259
|
+
constructor(builder) {
|
|
6260
|
+
this.builder = builder;
|
|
6261
|
+
}
|
|
6262
|
+
script(scriptCbor) {
|
|
6263
|
+
this.builder.txInScript(scriptCbor);
|
|
6264
|
+
return this;
|
|
6265
|
+
}
|
|
6266
|
+
referenceScript(refTxHash, refTxIndex, scriptSize, scriptHash) {
|
|
6267
|
+
this.builder.spendingTxInReference(
|
|
6268
|
+
refTxHash,
|
|
6269
|
+
refTxIndex,
|
|
6270
|
+
scriptSize,
|
|
6271
|
+
scriptHash
|
|
6272
|
+
);
|
|
6273
|
+
return this;
|
|
6274
|
+
}
|
|
6275
|
+
redeemerJson(redeemer, exUnits) {
|
|
6276
|
+
this.builder.txInRedeemerValue(
|
|
6277
|
+
redeemer,
|
|
6278
|
+
"JSON",
|
|
6279
|
+
exUnits ?? { ...DEFAULT_REDEEMER_BUDGET3 }
|
|
6280
|
+
);
|
|
6281
|
+
return this;
|
|
6282
|
+
}
|
|
6283
|
+
redeemerCbor(redeemer, exUnits) {
|
|
6284
|
+
this.builder.txInRedeemerValue(
|
|
6285
|
+
redeemer,
|
|
6286
|
+
"CBOR",
|
|
6287
|
+
exUnits ?? { ...DEFAULT_REDEEMER_BUDGET3 }
|
|
6288
|
+
);
|
|
6289
|
+
return this;
|
|
6290
|
+
}
|
|
6291
|
+
txOut(address, amount) {
|
|
6292
|
+
this.builder.txInInlineDatumPresent();
|
|
6293
|
+
this.builder.txOut(address, amount);
|
|
6294
|
+
return this;
|
|
6295
|
+
}
|
|
6296
|
+
datumJson(datum) {
|
|
6297
|
+
this.builder.txOutInlineDatumValue(datum, "JSON");
|
|
6298
|
+
return this.builder;
|
|
6299
|
+
}
|
|
6300
|
+
datumCbor(datum) {
|
|
6301
|
+
this.builder.txOutInlineDatumValue(datum, "CBOR");
|
|
6302
|
+
return this.builder;
|
|
6303
|
+
}
|
|
6304
|
+
datumHash(datumHash) {
|
|
6305
|
+
this.builder.txOutDatumHashValue(datumHash);
|
|
6306
|
+
return this.builder;
|
|
6307
|
+
}
|
|
6308
|
+
};
|
|
6309
|
+
var MintBuilderImpl = class {
|
|
6310
|
+
constructor(builder) {
|
|
6311
|
+
this.builder = builder;
|
|
6312
|
+
}
|
|
6313
|
+
script(scriptCbor) {
|
|
6314
|
+
this.builder.mintingScript(scriptCbor);
|
|
6315
|
+
return this;
|
|
6316
|
+
}
|
|
6317
|
+
referenceScript(txHash, txIndex, scriptSize, scriptHash) {
|
|
6318
|
+
this.builder.mintTxInReference(txHash, txIndex, scriptSize, scriptHash);
|
|
6319
|
+
return this;
|
|
6320
|
+
}
|
|
6321
|
+
redeemerJson(redeemer, exUnits) {
|
|
6322
|
+
this.builder.mintRedeemerValue(
|
|
6323
|
+
redeemer,
|
|
6324
|
+
"JSON",
|
|
6325
|
+
exUnits ?? { ...DEFAULT_REDEEMER_BUDGET3 }
|
|
6326
|
+
);
|
|
6327
|
+
return this;
|
|
6328
|
+
}
|
|
6329
|
+
redeemerCbor(redeemer, exUnits) {
|
|
6330
|
+
this.builder.mintRedeemerValue(
|
|
6331
|
+
redeemer,
|
|
6332
|
+
"CBOR",
|
|
6333
|
+
exUnits ?? { ...DEFAULT_REDEEMER_BUDGET3 }
|
|
6334
|
+
);
|
|
6335
|
+
return this;
|
|
6336
|
+
}
|
|
6337
|
+
txOut(address, amount) {
|
|
6338
|
+
this.builder.txOut(address, amount);
|
|
6339
|
+
return this.builder;
|
|
6340
|
+
}
|
|
6341
|
+
};
|
|
6342
|
+
var WithdrawBuilderImpl = class {
|
|
6343
|
+
constructor(builder) {
|
|
6344
|
+
this.builder = builder;
|
|
6345
|
+
}
|
|
6346
|
+
script(scriptCbor) {
|
|
6347
|
+
this.builder.withdrawalScript(scriptCbor);
|
|
6348
|
+
return this;
|
|
6349
|
+
}
|
|
6350
|
+
referenceScript(txHash, txIndex, scriptSize, scriptHash) {
|
|
6351
|
+
this.builder.withdrawalTxInReference(txHash, txIndex, scriptSize, scriptHash);
|
|
6352
|
+
return this;
|
|
6353
|
+
}
|
|
6354
|
+
redeemerJson(redeemer, exUnits) {
|
|
6355
|
+
this.builder.withdrawalRedeemerValue(
|
|
6356
|
+
redeemer,
|
|
6357
|
+
"JSON",
|
|
6358
|
+
exUnits ?? { ...DEFAULT_REDEEMER_BUDGET3 }
|
|
6359
|
+
);
|
|
6360
|
+
return this.builder;
|
|
6361
|
+
}
|
|
6362
|
+
redeemerCbor(redeemer, exUnits) {
|
|
6363
|
+
this.builder.withdrawalRedeemerValue(
|
|
6364
|
+
redeemer,
|
|
6365
|
+
"CBOR",
|
|
6366
|
+
exUnits ?? { ...DEFAULT_REDEEMER_BUDGET3 }
|
|
6367
|
+
);
|
|
6368
|
+
return this.builder;
|
|
6369
|
+
}
|
|
6370
|
+
};
|
|
6371
|
+
var VoteBuilderImpl = class {
|
|
6372
|
+
constructor(builder) {
|
|
6373
|
+
this.builder = builder;
|
|
6374
|
+
}
|
|
6375
|
+
script(scriptCbor) {
|
|
6376
|
+
this.builder.voteScript(scriptCbor);
|
|
6377
|
+
return this;
|
|
6378
|
+
}
|
|
6379
|
+
referenceScript(txHash, txIndex, scriptSize, scriptHash) {
|
|
6380
|
+
this.builder.voteTxInReference(txHash, txIndex, scriptSize, scriptHash);
|
|
6381
|
+
return this;
|
|
6382
|
+
}
|
|
6383
|
+
redeemerJson(redeemer, exUnits) {
|
|
6384
|
+
this.builder.voteRedeemerValue(
|
|
6385
|
+
redeemer,
|
|
6386
|
+
"JSON",
|
|
6387
|
+
exUnits ?? { ...DEFAULT_REDEEMER_BUDGET3 }
|
|
6388
|
+
);
|
|
6389
|
+
return this.builder;
|
|
6390
|
+
}
|
|
6391
|
+
redeemerCbor(redeemer, exUnits) {
|
|
6392
|
+
this.builder.voteRedeemerValue(
|
|
6393
|
+
redeemer,
|
|
6394
|
+
"CBOR",
|
|
6395
|
+
exUnits ?? { ...DEFAULT_REDEEMER_BUDGET3 }
|
|
6396
|
+
);
|
|
6397
|
+
return this.builder;
|
|
6398
|
+
}
|
|
6399
|
+
};
|
|
6400
|
+
var TxBuilderV2 = class extends MeshTxBuilder {
|
|
6401
|
+
spendPlutusV1(txHash, txIndex) {
|
|
6402
|
+
this.spendingPlutusScriptV1();
|
|
6403
|
+
this.txIn(txHash, txIndex);
|
|
6404
|
+
return new SpendBuilderImpl(this);
|
|
6405
|
+
}
|
|
6406
|
+
spendPlutusV2(txHash, txIndex) {
|
|
6407
|
+
this.spendingPlutusScriptV2();
|
|
6408
|
+
this.txIn(txHash, txIndex);
|
|
6409
|
+
return new SpendBuilderImpl(this);
|
|
6410
|
+
}
|
|
6411
|
+
spendPlutusV3(txHash, txIndex) {
|
|
6412
|
+
this.spendingPlutusScriptV3();
|
|
6413
|
+
this.txIn(txHash, txIndex);
|
|
6414
|
+
return new SpendBuilderImpl(this);
|
|
6415
|
+
}
|
|
6416
|
+
mintPlutusV1(quantity, policyId, assetName) {
|
|
6417
|
+
this.mintPlutusScriptV1();
|
|
6418
|
+
this.mint(quantity, policyId, assetName);
|
|
6419
|
+
return new MintBuilderImpl(this);
|
|
6420
|
+
}
|
|
6421
|
+
mintPlutusV2(quantity, policyId, assetName) {
|
|
6422
|
+
this.mintPlutusScriptV2();
|
|
6423
|
+
this.mint(quantity, policyId, assetName);
|
|
6424
|
+
return new MintBuilderImpl(this);
|
|
6425
|
+
}
|
|
6426
|
+
mintPlutusV3(quantity, policyId, assetName) {
|
|
6427
|
+
this.mintPlutusScriptV3();
|
|
6428
|
+
this.mint(quantity, policyId, assetName);
|
|
6429
|
+
return new MintBuilderImpl(this);
|
|
6430
|
+
}
|
|
6431
|
+
withdrawPlutusV1(rewardAddress, amount) {
|
|
6432
|
+
this.withdrawalPlutusScriptV1();
|
|
6433
|
+
this.withdrawal(rewardAddress, amount);
|
|
6434
|
+
return new WithdrawBuilderImpl(this);
|
|
6435
|
+
}
|
|
6436
|
+
withdrawPlutusV2(rewardAddress, coin) {
|
|
6437
|
+
this.withdrawalPlutusScriptV2();
|
|
6438
|
+
this.withdrawal(rewardAddress, coin);
|
|
6439
|
+
return new WithdrawBuilderImpl(this);
|
|
6440
|
+
}
|
|
6441
|
+
withdrawPlutusV3(rewardAddress, coin) {
|
|
6442
|
+
this.withdrawalPlutusScriptV3();
|
|
6443
|
+
this.withdrawal(rewardAddress, coin);
|
|
6444
|
+
return new WithdrawBuilderImpl(this);
|
|
6445
|
+
}
|
|
6446
|
+
votePlutusV1(voter, govActionId, votingProcedure) {
|
|
6447
|
+
this.votePlutusScriptV1();
|
|
6448
|
+
this.vote(voter, govActionId, votingProcedure);
|
|
6449
|
+
return new VoteBuilderImpl(this);
|
|
6450
|
+
}
|
|
6451
|
+
votePlutusV2(voter, govActionId, votingProcedure) {
|
|
6452
|
+
this.votePlutusScriptV2();
|
|
6453
|
+
this.vote(voter, govActionId, votingProcedure);
|
|
6454
|
+
return new VoteBuilderImpl(this);
|
|
6455
|
+
}
|
|
6456
|
+
votePlutusV3(voter, govActionId, votingProcedure) {
|
|
6457
|
+
this.votePlutusScriptV3();
|
|
6458
|
+
this.vote(voter, govActionId, votingProcedure);
|
|
6459
|
+
return new VoteBuilderImpl(this);
|
|
6460
|
+
}
|
|
6461
|
+
};
|
|
6462
|
+
var MeshTxBuilderV2 = TxBuilderV2;
|
|
6250
6463
|
export {
|
|
6251
6464
|
ForgeScript,
|
|
6252
6465
|
LargestFirstInputSelector,
|
|
6253
6466
|
MeshTxBuilder,
|
|
6467
|
+
MeshTxBuilderV2,
|
|
6254
6468
|
Transaction,
|
|
6255
6469
|
TxParser,
|
|
6256
6470
|
cloneOutput,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@meshsdk/transaction",
|
|
3
|
-
"version": "1.9.0-beta.
|
|
3
|
+
"version": "1.9.0-beta.102",
|
|
4
4
|
"description": "Transactions - https://meshjs.dev/apis/transaction",
|
|
5
5
|
"main": "./dist/index.cjs",
|
|
6
6
|
"browser": "./dist/index.js",
|
|
@@ -35,8 +35,8 @@
|
|
|
35
35
|
"typescript": "^5.3.3"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@meshsdk/common": "1.9.0-beta.
|
|
39
|
-
"@meshsdk/core-cst": "1.9.0-beta.
|
|
38
|
+
"@meshsdk/common": "1.9.0-beta.102",
|
|
39
|
+
"@meshsdk/core-cst": "1.9.0-beta.102",
|
|
40
40
|
"@cardano-sdk/core": "0.46.12",
|
|
41
41
|
"@cardano-sdk/util": "0.17.1",
|
|
42
42
|
"@cardano-sdk/input-selection": "0.14.28",
|