From 88f73678cf6214ea8614ba7d632e99450c220b69 Mon Sep 17 00:00:00 2001 From: minibits-cash Date: Thu, 18 Jul 2024 17:41:33 +0200 Subject: [PATCH] Extend mint model with input_fee_ppk --- src/models/Mint.ts | 5 ++++- src/models/MintsStore.ts | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/models/Mint.ts b/src/models/Mint.ts index fa2898cb..1fdc4d32 100644 --- a/src/models/Mint.ts +++ b/src/models/Mint.ts @@ -43,6 +43,7 @@ export type MintProofsCounter = { keyset: string counter: number unit: MintUnit + input_fee_ppk: number inFlightFrom?: number // starting counter index for pending split request sent to mint (for recovery from failure to receive proofs) inFlightTo?: number // last counter index for pending split request sent to mint inFlightTid?: number // related tx id @@ -63,6 +64,7 @@ export const MintModel = types keyset: types.string, unit: types.optional(types.frozen(), 'sat'), counter: types.number, + input_fee_ppk: types.optional(types.number, 0), inFlightFrom: types.maybe(types.number), inFlightTo: types.maybe(types.number), inFlightTid: types.maybe(types.number) @@ -94,7 +96,7 @@ export const MintModel = types }, })) .actions(self => ({ - getOrCreateProofsCounter(keysetId: string, unit?: MintUnit) { + getOrCreateProofsCounter(keysetId: string, unit?: MintUnit, input_fee_ppk?: number) { log.trace('[getOrCreateProofsCounter]', keysetId, unit) const counter = self.proofsCounters.find(c => c.keyset === keysetId) @@ -107,6 +109,7 @@ export const MintModel = types keyset: keysetId, unit, counter: 0, + input_fee_ppk: input_fee_ppk || 0, } self.proofsCounters.push(newCounter) diff --git a/src/models/MintsStore.ts b/src/models/MintsStore.ts index b3343763..61ef0fed 100644 --- a/src/models/MintsStore.ts +++ b/src/models/MintsStore.ts @@ -45,7 +45,8 @@ import { MintUnit, MintUnits } from '../services/wallet/currency' } // create default wallet instance then download and cache up to date mint keys in that instance - const activeKeysets: MintKeyset[] = yield MintClient.getMintKeysets(mintUrl) + const allKeysets: MintKeyset[] = yield MintClient.getMintKeysets(mintUrl) + const activeKeysets = allKeysets.filter(keyset => keyset.active === true) if(!activeKeysets || activeKeysets.length === 0) { throw new AppError(Err.VALIDATION_ERROR, 'Mint has no active keysets and is not operational', {mintUrl}) @@ -69,7 +70,7 @@ import { MintUnit, MintUnits } from '../services/wallet/currency' } mintInstance.addUnit(keyset.unit as MintUnit) // add supported units by mint - mintInstance.getOrCreateProofsCounter(keyset.id, keyset.unit as MintUnit) // create proofsCounters + mintInstance.getOrCreateProofsCounter(keyset.id, keyset.unit as MintUnit, keyset.input_fee_ppk || 0) // create proofsCounters } } @@ -100,7 +101,7 @@ import { MintUnit, MintUnits } from '../services/wallet/currency' } mintInstance.addUnit(keyset.unit as MintUnit) // add supported units by mint if not yet exist - mintInstance.getOrCreateProofsCounter(keyset.id, keyset.unit as MintUnit) // create proofsCounters if not yet exist + mintInstance.getOrCreateProofsCounter(keyset.id, keyset.unit as MintUnit, keyset.input_fee_ppk || 0) // create proofsCounters if not yet exist } }