diff options
Diffstat (limited to 'packages/taler-util/src/walletTypes.ts')
-rw-r--r-- | packages/taler-util/src/walletTypes.ts | 81 |
1 files changed, 65 insertions, 16 deletions
diff --git a/packages/taler-util/src/walletTypes.ts b/packages/taler-util/src/walletTypes.ts index 7b482c60e..3a415b221 100644 --- a/packages/taler-util/src/walletTypes.ts +++ b/packages/taler-util/src/walletTypes.ts @@ -627,7 +627,7 @@ export interface ExchangeAccount { master_sig: string; } -export type WireFeeMap = { [wireMethod: string]: WireFee[] } +export type WireFeeMap = { [wireMethod: string]: WireFee[] }; export interface WireInfo { feesForType: WireFeeMap; accounts: ExchangeAccount[]; @@ -639,7 +639,6 @@ const codecForExchangeAccount = (): Codec<ExchangeAccount> => .property("master_sig", codecForString()) .build("codecForExchangeAccount"); - const codecForWireFee = (): Codec<WireFee> => buildCodecForObject<WireFee>() .property("sig", codecForString()) @@ -658,19 +657,18 @@ const codecForWireInfo = (): Codec<WireInfo> => const codecForDenominationInfo = (): Codec<DenominationInfo> => buildCodecForObject<DenominationInfo>() - .property("denomPubHash", (codecForString())) - .property("value", (codecForAmountJson())) - .property("feeWithdraw", (codecForAmountJson())) - .property("feeDeposit", (codecForAmountJson())) - .property("feeRefresh", (codecForAmountJson())) - .property("feeRefund", (codecForAmountJson())) - .property("stampStart", (codecForTimestamp)) - .property("stampExpireWithdraw", (codecForTimestamp)) - .property("stampExpireLegal", (codecForTimestamp)) - .property("stampExpireDeposit", (codecForTimestamp)) + .property("denomPubHash", codecForString()) + .property("value", codecForAmountJson()) + .property("feeWithdraw", codecForAmountJson()) + .property("feeDeposit", codecForAmountJson()) + .property("feeRefresh", codecForAmountJson()) + .property("feeRefund", codecForAmountJson()) + .property("stampStart", codecForTimestamp) + .property("stampExpireWithdraw", codecForTimestamp) + .property("stampExpireLegal", codecForTimestamp) + .property("stampExpireDeposit", codecForTimestamp) .build("codecForDenominationInfo"); - export interface DenominationInfo { value: AmountJson; denomPubHash: string; @@ -713,7 +711,6 @@ export interface DenominationInfo { * Data after which coins of this denomination can't be deposited anymore. */ stampExpireDeposit: TalerProtocolTimestamp; - } export interface ExchangeListItem { @@ -726,7 +723,6 @@ export interface ExchangeListItem { denominations: DenominationInfo[]; } - const codecForAuditorDenomSig = (): Codec<AuditorDenomSig> => buildCodecForObject<AuditorDenomSig>() .property("denom_pub_h", codecForString()) @@ -740,7 +736,6 @@ const codecForExchangeAuditor = (): Codec<ExchangeAuditor> => .property("denomination_keys", codecForList(codecForAuditorDenomSig())) .build("codecForExchangeAuditor"); - const codecForExchangeTos = (): Codec<ExchangeTos> => buildCodecForObject<ExchangeTos>() .property("acceptedVersion", codecOptional(codecForString())) @@ -1452,18 +1447,34 @@ export interface CheckPeerPushPaymentRequest { talerUri: string; } +export interface CheckPeerPullPaymentRequest { + talerUri: string; +} + export interface CheckPeerPushPaymentResponse { contractTerms: any; amount: AmountString; peerPushPaymentIncomingId: string; } +export interface CheckPeerPullPaymentResponse { + contractTerms: any; + amount: AmountString; + peerPullPaymentIncomingId: string; +} + export const codecForCheckPeerPushPaymentRequest = (): Codec<CheckPeerPushPaymentRequest> => buildCodecForObject<CheckPeerPushPaymentRequest>() .property("talerUri", codecForString()) .build("CheckPeerPushPaymentRequest"); +export const codecForCheckPeerPullPaymentRequest = + (): Codec<CheckPeerPullPaymentRequest> => + buildCodecForObject<CheckPeerPullPaymentRequest>() + .property("talerUri", codecForString()) + .build("CheckPeerPullPaymentRequest"); + export interface AcceptPeerPushPaymentRequest { /** * Transparent identifier of the incoming peer push payment. @@ -1476,3 +1487,41 @@ export const codecForAcceptPeerPushPaymentRequest = buildCodecForObject<AcceptPeerPushPaymentRequest>() .property("peerPushPaymentIncomingId", codecForString()) .build("AcceptPeerPushPaymentRequest"); + +export interface AcceptPeerPullPaymentRequest { + /** + * Transparent identifier of the incoming peer pull payment. + */ + peerPullPaymentIncomingId: string; +} + +export const codecForAcceptPeerPullPaymentRequest = + (): Codec<AcceptPeerPullPaymentRequest> => + buildCodecForObject<AcceptPeerPullPaymentRequest>() + .property("peerPullPaymentIncomingId", codecForString()) + .build("AcceptPeerPllPaymentRequest"); + +export interface InitiatePeerPullPaymentRequest { + /** + * FIXME: Make this optional? + */ + exchangeBaseUrl: string; + amount: AmountString; + partialContractTerms: any; +} + +export const codecForInitiatePeerPullPaymentRequest = + (): Codec<InitiatePeerPullPaymentRequest> => + buildCodecForObject<InitiatePeerPullPaymentRequest>() + .property("partialContractTerms", codecForAny()) + .property("amount", codecForAmountString()) + .property("exchangeBaseUrl", codecForAmountString()) + .build("InitiatePeerPullPaymentRequest"); + +export interface InitiatePeerPullPaymentResponse { + /** + * Taler URI for the other party to make the payment + * that was requested. + */ + talerUri: string; +} |