@atomic-utils/contract
Version:
37 lines (36 loc) • 1.28 kB
TypeScript
import { DualFundingTxFinalizer } from '@node-dlc/core';
/**
* Build a DualFundingTxFinalizer, which is used to
* help calculate contract premium after network fees (assuming 1 funding input for both parties)
*
* @param feeRate
* @returns DualFundingTxFinalizer
*/
export declare const buildDualFundingTxFinalizer: (feeRate: number) => DualFundingTxFinalizer;
declare type FeeConfig = {
serviceFees: number;
mmDiscount: number;
};
export declare class PremiumCalculator {
readonly feeConfig: FeeConfig;
constructor(feeConfig: FeeConfig);
/**
* Calculates the premium received by the contract offeror after fees.
*
* If network fees exceed the fee collected by the service provider, no service fees are applied.
*
* @param premium premium received by the contract offeror in sats
* @param feeRate sat/byte fee rate
* @returns
*/
calculatePostFeePremium: (premium: number, feeRate: number) => number;
/**
* Calculates the premium received by the contract offeror before fees.
*
* @param premium premium received by the contract offeror in sats
* @param feeRate sat/byte fee rate
* @returns
*/
calculatePreFeePremium: (premium: number, feeRate: number) => number;
}
export {};