Skip to content

Commit acf26fd

Browse files
committed
feat: integrate meshTxBuilder V2 prototype
1 parent cd8c8c4 commit acf26fd

10 files changed

Lines changed: 224 additions & 217 deletions

File tree

packages/mesh-common/src/types/transaction-builder-v2/builder-core.ts

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,59 +1,59 @@
11
import { MeshTxBuilder, RefTxIn, Voter, VotingProcedure } from "@meshsdk/core";
2-
import { SpendRedeemerBuilder } from "./spend";
3-
import { MintRedeemerBuilder } from "./mint";
4-
import { WithdrawRedeemerBuilder } from "./withdrawal";
5-
import { VoteRedeemerBuilder } from "./vote";
2+
import { SpendScriptBuilder } from "./spend";
3+
import { MintScriptBuilder } from "./mint";
4+
import { WithdrawScriptBuilder } from "./withdrawal";
5+
import { VoteScriptBuilder } from "./vote";
66

77
export interface _MeshTxBuilderV2
88
extends Omit<MeshTxBuilder, ScriptMethodsToDrop> {
9-
spendPlutusV1(txHash: string, txIndex: number): SpendRedeemerBuilder;
10-
spendPlutusV2(txHash: string, txIndex: number): SpendRedeemerBuilder;
11-
spendPlutusV3(txHash: string, txIndex: number): SpendRedeemerBuilder;
9+
spendPlutusV1(txHash: string, txIndex: number): SpendScriptBuilder;
10+
spendPlutusV2(txHash: string, txIndex: number): SpendScriptBuilder;
11+
spendPlutusV3(txHash: string, txIndex: number): SpendScriptBuilder;
1212

1313
mintPlutusV1(
1414
quantity: string,
1515
policyId: string,
1616
assetName: string,
17-
): MintRedeemerBuilder;
17+
): MintScriptBuilder;
1818
mintPlutusV2(
1919
quantity: string,
2020
policyId: string,
2121
assetName: string,
22-
): MintRedeemerBuilder;
22+
): MintScriptBuilder;
2323
mintPlutusV3(
2424
quantity: string,
2525
policyId: string,
2626
assetName: string,
27-
): MintRedeemerBuilder;
27+
): MintScriptBuilder;
2828

2929
withdrawPlutusV1(
3030
rewardAddress: string,
3131
amount: string,
32-
): WithdrawRedeemerBuilder;
32+
): WithdrawScriptBuilder;
3333
withdrawPlutusV2(
3434
rewardAddress: string,
3535
amount: string,
36-
): WithdrawRedeemerBuilder;
36+
): WithdrawScriptBuilder;
3737
withdrawPlutusV3(
3838
rewardAddress: string,
3939
amount: string,
40-
): WithdrawRedeemerBuilder;
40+
): WithdrawScriptBuilder;
4141

4242
votePlutusV1(
4343
voter: Voter,
4444
govActionId: RefTxIn,
4545
votingProcedure: VotingProcedure,
46-
): VoteRedeemerBuilder;
46+
): VoteScriptBuilder;
4747
votePlutusV2(
4848
voter: Voter,
4949
govActionId: RefTxIn,
5050
votingProcedure: VotingProcedure,
51-
): VoteRedeemerBuilder;
51+
): VoteScriptBuilder;
5252
votePlutusV3(
5353
voter: Voter,
5454
govActionId: RefTxIn,
5555
votingProcedure: VotingProcedure,
56-
): VoteRedeemerBuilder;
56+
): VoteScriptBuilder;
5757
}
5858

5959
type ScriptMethodsToDrop =
Lines changed: 24 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,28 @@
11
import { Asset, Budget, BuilderData } from "@meshsdk/core";
2+
23
import { _MeshTxBuilderV2 } from "./builder-core";
34

5+
export interface MintScriptBuilder {
6+
script(scriptCbor: string): MintRedeemerBuilder;
7+
referenceScript(
8+
txHash: string,
9+
txIndex: number,
10+
scriptSize?: string,
11+
scriptHash?: string,
12+
): MintRedeemerBuilder;
13+
}
14+
415
export interface MintRedeemerBuilder {
5-
redeemerJson(
6-
redeemer: BuilderData["content"],
7-
exUnits?: Budget,
8-
): MintScriptBuilder;
9-
redeemerCbor(
10-
redeemer: BuilderData["content"],
11-
exUnits?: Budget,
12-
): MintScriptBuilder;
13-
}
14-
export interface MintScriptBuilder {
15-
script(scriptCbor: string): MintTxOutBuilder;
16-
referenceScript(
17-
txHash: string,
18-
txIndex: number,
19-
scriptSize?: string,
20-
scriptHash?: string,
21-
): MintTxOutBuilder;
22-
}
23-
export interface MintTxOutBuilder {
24-
txOut(address: string, amount: Asset[]): _MeshTxBuilderV2;
25-
}
16+
redeemerJson(
17+
redeemer: BuilderData["content"],
18+
exUnits?: Budget,
19+
): MintTxOutBuilder;
20+
redeemerCbor(
21+
redeemer: BuilderData["content"],
22+
exUnits?: Budget,
23+
): MintTxOutBuilder;
24+
}
25+
26+
export interface MintTxOutBuilder {
27+
txOut(address: string, amount: Asset[]): _MeshTxBuilderV2;
28+
}
Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,33 @@
11
import { Asset, Budget, BuilderData } from "@meshsdk/core";
22
import { _MeshTxBuilderV2 } from "./builder-core";
33

4+
export interface SpendScriptBuilder {
5+
script(scriptCbor: string): SpendRedeemerBuilder;
6+
referenceScript(
7+
refTxHash: string,
8+
refTxIndex: number,
9+
scriptSize?: string,
10+
scriptHash?: string,
11+
): SpendRedeemerBuilder;
12+
}
13+
414
export interface SpendRedeemerBuilder {
5-
redeemerJson(
6-
redeemer: BuilderData["content"],
7-
exUnits?: Budget,
8-
): SpendScriptBuilder;
9-
redeemerCbor(
10-
redeemer: BuilderData["content"],
11-
exUnits?: Budget,
12-
): SpendScriptBuilder;
13-
}
14-
15-
export interface SpendScriptBuilder {
16-
script(scriptCbor: string): SpendDatumBuilder;
17-
referenceScript(
18-
refTxHash: string,
19-
refTxIndex: number,
20-
scriptSize?: string,
21-
scriptHash?: string,
22-
): SpendDatumBuilder;
23-
}
24-
export interface SpendDatumBuilder {
25-
datumHash(datumHash: string): SpendTxOutBuilder;
26-
datumCbor(datumCbor: BuilderData["content"]): SpendTxOutBuilder;
27-
datumJson(datumJson: BuilderData["content"]): SpendTxOutBuilder;
28-
}
15+
redeemerJson(
16+
redeemer: BuilderData["content"],
17+
exUnits?: Budget,
18+
): SpendTxOutBuilder;
19+
redeemerCbor(
20+
redeemer: BuilderData["content"],
21+
exUnits?: Budget,
22+
): SpendTxOutBuilder;
23+
}
24+
25+
export interface SpendTxOutBuilder {
26+
txOut(address: string, amount: Asset[]): SpendDatumBuilder;
27+
}
2928

30-
export interface SpendTxOutBuilder {
31-
txOut(address: string, amount: Asset[]): _MeshTxBuilderV2;
32-
}
29+
export interface SpendDatumBuilder {
30+
datumHash(datumHash: string): _MeshTxBuilderV2;
31+
datumCbor(datumCbor: BuilderData["content"]): _MeshTxBuilderV2;
32+
datumJson(datumJson: BuilderData["content"]): _MeshTxBuilderV2;
33+
}
Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
import { Budget, BuilderData } from "@meshsdk/core";
2+
23
import { _MeshTxBuilderV2 } from "./builder-core";
34

5+
export interface VoteScriptBuilder {
6+
script(scriptCbor: string): VoteRedeemerBuilder;
7+
referenceScript(
8+
txHash: string,
9+
txIndex: number,
10+
scriptSize?: string,
11+
scriptHash?: string,
12+
): VoteRedeemerBuilder;
13+
}
14+
415
export interface VoteRedeemerBuilder {
516
redeemerJson(
617
redeemer: BuilderData["content"],
718
exUnits?: Budget,
8-
): VoteScriptBuilder;
19+
): _MeshTxBuilderV2;
920
redeemerCbor(
1021
redeemer: BuilderData["content"],
1122
exUnits?: Budget,
12-
): VoteScriptBuilder;
13-
}
14-
export interface VoteScriptBuilder {
15-
script(scriptCbor: string): _MeshTxBuilderV2;
16-
referenceScript(
17-
txHash: string,
18-
txIndex: number,
19-
scriptSize?: string,
20-
scriptHash?: string,
2123
): _MeshTxBuilderV2;
2224
}
Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,24 @@
11
import { Budget, BuilderData } from "@meshsdk/core";
2+
23
import { _MeshTxBuilderV2 } from "./builder-core";
34

5+
export interface WithdrawScriptBuilder {
6+
script(scriptCbor: string): WithdrawRedeemerBuilder;
7+
referenceScript(
8+
txHash: string,
9+
txIndex: number,
10+
scriptSize?: string,
11+
scriptHash?: string,
12+
): WithdrawRedeemerBuilder;
13+
}
14+
415
export interface WithdrawRedeemerBuilder {
516
redeemerJson(
617
redeemer: BuilderData["content"],
718
exUnits?: Budget,
8-
): WithdrawScriptBuilder;
19+
): _MeshTxBuilderV2;
920
redeemerCbor(
1021
redeemer: BuilderData["content"],
1122
exUnits?: Budget,
12-
): WithdrawScriptBuilder;
13-
}
14-
export interface WithdrawScriptBuilder {
15-
script(scriptCbor: string): _MeshTxBuilderV2;
16-
referenceScript(
17-
txHash: string,
18-
txIndex: number,
19-
scriptSize?: string,
20-
scriptHash?: string,
2123
): _MeshTxBuilderV2;
22-
}
24+
}

packages/mesh-common/src/types/transaction-builder/index.ts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ export * from "./withdrawal";
1919
export * from "./certificate";
2020
export * from "./vote";
2121
export * from "./proposal";
22-
export * from "./tx-builder-v2";
2322

2423
export type MeshTxBuilderBody = {
2524
inputs: TxIn[];

packages/mesh-transaction/src/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@ export * from "./scripts";
33
export * from "./transaction";
44
export * from "./utils";
55
export * from "./tx-parser";
6+
export * from "./mesh-tx-builder-v2";
67
export { LargestFirstInputSelector } from "./mesh-tx-builder/coin-selection";

0 commit comments

Comments
 (0)