Update project structure and build process

This commit is contained in:
Juan Pablo Civile
2025-05-13 11:10:08 -03:00
parent 124e9fa1bc
commit d9f3e925a4
277 changed files with 15321 additions and 930 deletions

View File

@@ -0,0 +1,36 @@
package newop
import "github.com/muun/libwallet/operation"
// PaymentContext stores data required to analyze and validate an operation
type PaymentContext struct {
FeeWindow *FeeWindow
NextTransactionSize *NextTransactionSize
ExchangeRateWindow *ExchangeRateWindow
PrimaryCurrency string
MinFeeRateInSatsPerVByte float64
SubmarineSwap *SubmarineSwap
}
func (c *PaymentContext) totalBalance() int64 {
return c.NextTransactionSize.toInternalType().TotalBalance()
}
func (c *PaymentContext) toBitcoinAmount(sats int64, inputCurrency string) *BitcoinAmount {
amount := c.ExchangeRateWindow.convert(
NewMonetaryAmountFromSatoshis(sats),
inputCurrency,
)
return &BitcoinAmount{
InSat: sats,
InInputCurrency: amount,
InPrimaryCurrency: c.ExchangeRateWindow.convert(amount, c.PrimaryCurrency),
}
}
func newPaymentAnalyzer(context *PaymentContext) *operation.PaymentAnalyzer {
return operation.NewPaymentAnalyzer(
context.FeeWindow.toInternalType(),
context.NextTransactionSize.toInternalType(),
)
}