@@ -5114,44 +5114,6 @@ declare export class TransactionBuilder {
51145114 amount: Value
51155115 ): BigNum;
51165116
5117- /**
5118- * Add output by specifying the Address and Value
5119- * @param {Address} address
5120- * @param {Value} amount
5121- */
5122- add_output_amount(address: Address, amount: Value): void;
5123-
5124- /**
5125- * Add output by specifying the Address and Coin (BigNum)
5126- * Output will have no additional assets
5127- * @param {Address} address
5128- * @param {BigNum} coin
5129- */
5130- add_output_coin(address: Address, coin: BigNum): void;
5131-
5132- /**
5133- * Add output by specifying the Address, the Coin (BigNum), and the MultiAsset
5134- * @param {Address} address
5135- * @param {BigNum} coin
5136- * @param {MultiAsset} multiasset
5137- */
5138- add_output_coin_and_asset(
5139- address: Address,
5140- coin: BigNum,
5141- multiasset: MultiAsset
5142- ): void;
5143-
5144- /**
5145- * Add output by specifying the Address and the MultiAsset
5146- * The output will be set to contain the minimum required amount of Coin
5147- * @param {Address} address
5148- * @param {MultiAsset} multiasset
5149- */
5150- add_output_asset_and_min_required_coin(
5151- address: Address,
5152- multiasset: MultiAsset
5153- ): void;
5154-
51555117 /**
51565118 * Add explicit output via a TransactionOutput object
51575119 * @param {TransactionOutput} output
@@ -5290,14 +5252,14 @@ declare export class TransactionBuilder {
52905252 * @param {NativeScript} policy_script
52915253 * @param {AssetName} asset_name
52925254 * @param {Int} amount
5293- * @param {Address} address
5255+ * @param {TransactionOutputAmountBuilder} output_builder
52945256 * @param {BigNum} output_coin
52955257 */
52965258 add_mint_asset_and_output(
52975259 policy_script: NativeScript,
52985260 asset_name: AssetName,
52995261 amount: Int,
5300- address: Address ,
5262+ output_builder: TransactionOutputAmountBuilder ,
53015263 output_coin: BigNum
53025264 ): void;
53035265
@@ -5310,13 +5272,13 @@ declare export class TransactionBuilder {
53105272 * @param {NativeScript} policy_script
53115273 * @param {AssetName} asset_name
53125274 * @param {Int} amount
5313- * @param {Address} address
5275+ * @param {TransactionOutputAmountBuilder} output_builder
53145276 */
53155277 add_mint_asset_and_output_min_required_coin(
53165278 policy_script: NativeScript,
53175279 asset_name: AssetName,
53185280 amount: Int,
5319- address: Address
5281+ output_builder: TransactionOutputAmountBuilder
53205282 ): void;
53215283
53225284 /**
@@ -5717,6 +5679,80 @@ declare export class TransactionOutput {
57175679 */
57185680 static new(address: Address, amount: Value): TransactionOutput;
57195681}
5682+ /**
5683+ */
5684+ declare export class TransactionOutputAmountBuilder {
5685+ free(): void;
5686+
5687+ /**
5688+ * @param {Value} amount
5689+ * @returns {TransactionOutputAmountBuilder}
5690+ */
5691+ with_value(amount: Value): TransactionOutputAmountBuilder;
5692+
5693+ /**
5694+ * @param {BigNum} coin
5695+ * @returns {TransactionOutputAmountBuilder}
5696+ */
5697+ with_coin(coin: BigNum): TransactionOutputAmountBuilder;
5698+
5699+ /**
5700+ * @param {BigNum} coin
5701+ * @param {MultiAsset} multiasset
5702+ * @returns {TransactionOutputAmountBuilder}
5703+ */
5704+ with_coin_and_asset(
5705+ coin: BigNum,
5706+ multiasset: MultiAsset
5707+ ): TransactionOutputAmountBuilder;
5708+
5709+ /**
5710+ * @param {BigNum} coins_per_utxo_word
5711+ * @param {MultiAsset} multiasset
5712+ * @returns {TransactionOutputAmountBuilder}
5713+ */
5714+ with_asset_and_min_required_coin(
5715+ coins_per_utxo_word: BigNum,
5716+ multiasset: MultiAsset
5717+ ): TransactionOutputAmountBuilder;
5718+
5719+ /**
5720+ * @returns {TransactionOutput}
5721+ */
5722+ build(): TransactionOutput;
5723+ }
5724+ /**
5725+ * We introduce a builder-pattern format for creating transaction outputs
5726+ * This is because:
5727+ * 1. Some fields (i.e. data hash) are optional, and we can't easily expose Option<> in WASM
5728+ * 2. Some fields like amounts have many ways it could be set (some depending on other field values being known)
5729+ * 3. Easier to adapt as the output format gets more complicated in future Cardano releases
5730+ */
5731+ declare export class TransactionOutputBuilder {
5732+ free(): void;
5733+
5734+ /**
5735+ * @returns {TransactionOutputBuilder}
5736+ */
5737+ static new(): TransactionOutputBuilder;
5738+
5739+ /**
5740+ * @param {Address} address
5741+ * @returns {TransactionOutputBuilder}
5742+ */
5743+ with_address(address: Address): TransactionOutputBuilder;
5744+
5745+ /**
5746+ * @param {DataHash} data_hash
5747+ * @returns {TransactionOutputBuilder}
5748+ */
5749+ with_data_hash(data_hash: DataHash): TransactionOutputBuilder;
5750+
5751+ /**
5752+ * @returns {TransactionOutputAmountBuilder}
5753+ */
5754+ next(): TransactionOutputAmountBuilder;
5755+ }
57205756/**
57215757 */
57225758declare export class TransactionOutputs {
0 commit comments