@harmoniclabs/buildooor
Version:
Cardano transaction builder in typescript
43 lines (42 loc) • 1.71 kB
TypeScript
import { Coin } from "@harmoniclabs/cardano-ledger-ts";
import { CanBeUInteger } from "../utils/ints.js";
import { CborPositiveRational } from "@harmoniclabs/cbor";
import { ExBudget, ExBudgetJson } from "@harmoniclabs/plutus-machine";
import { Rational } from "../utils/Rational.js";
import { CostModels } from "@harmoniclabs/cardano-costmodels-ts";
export interface ValidatedTxBuilderProtocolParams {
txFeePerByte: bigint;
txFeeFixed: bigint;
utxoCostPerByte: bigint;
maxTxSize: bigint;
maxTxExecutionUnits: ExBudget;
maxCollateralInputs: bigint;
collateralPercentage: bigint;
minfeeRefScriptCostPerByte: CborPositiveRational;
executionUnitPrices: [
mem_price: CborPositiveRational,
step_price: CborPositiveRational
];
costModels: CostModels;
}
export interface TxBuilderProtocolParams {
txFeePerByte: CanBeUInteger;
txFeeFixed: CanBeUInteger;
utxoCostPerByte: Coin;
maxTxSize: CanBeUInteger;
maxTxExecutionUnits: ExBudget | ExBudgetJson;
maxCollateralInputs: CanBeUInteger;
collateralPercentage: CanBeUInteger;
minfeeRefScriptCostPerByte: Rational;
executionUnitPrices: [
mem_price: CborPositiveRational,
step_price: CborPositiveRational
] | {
priceMemory: number;
priceSteps: number;
};
costModels: CostModels;
}
export declare const defaultTxBuilderProtocolParameters: Readonly<ValidatedTxBuilderProtocolParams>;
export declare function isValidatedTxBuilderProtocolParams(stuff: any): stuff is ValidatedTxBuilderProtocolParams;
export declare function completeTxBuilderProtocolParams(partial: TxBuilderProtocolParams | undefined): ValidatedTxBuilderProtocolParams;