import { ExecutionUnits } from '@cardano-ogmios/schema'; import { GenericOutput, TxPlan } from "../../types"; import { AddrKeyHash } from "../../types/address"; import { Address, HexString, Lovelace, TokenBundle } from "../../types/base"; import { ProtocolParameters } from "../../types/protocolParameters"; import { TxCertificate, TxDatum, TxInput, TxInputRef, TxOutput, TxRedeemer, TxScriptSource, TxWithdrawal } from "../../types/transaction"; import { TxPlanMetadata } from "../../types/txPlan"; /** * Computes the size required to store the included value in an UTxO. * The type Value represents a collection of tokens, including Ada. * Since Ada always needs to be included in an UTxO only the other tokens * have an effect on the size. * * @param multiasset list of other tokens * @returns size in heapwords */ export declare const computeValueSize: (multiasset?: TokenBundle) => number; export declare function computeMinUTxOLovelaceAmount({ minUtxoDepositCoefficient, output, }: { minUtxoDepositCoefficient: number; output: TxOutput; }): Lovelace; export declare function txFeeForBytes(txSizeInBytes: number, txFeePerByte: number): Lovelace; export declare const computeFeeForRefScripts: (refScriptsSizeInBytes: number, params: ProtocolParameters["minFeeReferenceScripts"]) => number; export declare function txFeeFunction(txSizeInBytes: number, refScriptsSizeInBytes: number, pParams: Pick, exUnits?: ExecutionUnits[]): Lovelace; export declare function computeAdditionalCollateralFee(minFeeCoefficient: number, initial?: boolean): Lovelace; type ComputeTxFeeParams = { inputs: Array; referenceInputs?: Array; collateralInputs?: Array; outputs: Array; certificates?: Array; withdrawals?: Array; datums?: Array; redeemers?: Array; scripts?: Array; mint?: TokenBundle; requiredSigners?: Array; protocolParameters: Pick; metadata?: TxPlanMetadata; }; export declare function computeRequiredTxFee({ inputs, referenceInputs, collateralInputs, outputs, certificates, withdrawals, datums, redeemers, scripts, mint, requiredSigners, protocolParameters, metadata, }: ComputeTxFeeParams): Lovelace; export declare function computeRequiredDeposit(certificates: Array, stakeKeyDeposit: number): Lovelace; export declare const createTokenChangeOutputs: ({ changeAddress, changeTokenBundle, maxOutputTokens, minUtxoDepositCoefficient, }: { changeAddress: Address; changeTokenBundle: TokenBundle; maxOutputTokens: number; minUtxoDepositCoefficient: number; }) => TxOutput[]; export declare const hashDatum: (datum: TxDatum) => HexString; export declare const getDatumFingerprint: (datum: TxDatum) => string; export declare const createEmptyChangePlaceholder: ({ changeAddress, }: { changeAddress: Address; }) => GenericOutput; export declare function hashSerialized(data: any): string; export declare const requiresCollateral: (txPlan: TxPlan) => boolean; export {}; //# sourceMappingURL=utils.d.ts.map