diff options
author | Florian Dold <florian.dold@gmail.com> | 2016-01-10 20:07:42 +0100 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2016-01-10 20:07:42 +0100 |
commit | 473503a246aa7a23539a349710c5549d1d87c147 (patch) | |
tree | 2b1ee9b420df72a0d861759d1fbcd2226e489086 /extension/lib/wallet/types.ts | |
parent | dd19e0ecbe114ebd71122ff57ea56eabb6258b75 (diff) | |
download | wallet-core-473503a246aa7a23539a349710c5549d1d87c147.tar.xz |
The great modularization.
Use ES6 module syntax and SystemJS modules for everything.
Some testing stubs were added as well.
Diffstat (limited to 'extension/lib/wallet/types.ts')
-rw-r--r-- | extension/lib/wallet/types.ts | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/extension/lib/wallet/types.ts b/extension/lib/wallet/types.ts new file mode 100644 index 000000000..33de0ffb9 --- /dev/null +++ b/extension/lib/wallet/types.ts @@ -0,0 +1,109 @@ +/* + This file is part of TALER + (C) 2016 GNUnet e.V. + + TALER is free software; you can redistribute it and/or modify it under the + terms of the GNU General Public License as published by the Free Software + Foundation; either version 3, or (at your option) any later version. + + TALER is distributed in the hope that it will be useful, but WITHOUT ANY + WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR + A PARTICULAR PURPOSE. See the GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along with + TALER; see the file COPYING. If not, If not, see <http://www.gnu.org/licenses/> + */ + +"use strict"; + +// TODO: factor into multiple files + +export interface Mint { + baseUrl: string; + keys: Keys +} + +export interface CoinWithDenom { + coin: Coin; + denom: Denomination; +} + +export interface Keys { + denoms: Denomination[]; +} + +export interface Denomination { + value: AmountJson_interface; + denom_pub: string; + fee_withdraw: AmountJson_interface; + fee_deposit: AmountJson_interface; +} + +export interface PreCoin { + coinPub: string; + coinPriv: string; + reservePub: string; + denomPub: string; + blindingKey: string; + withdrawSig: string; + coinEv: string; + mintBaseUrl: string; + coinValue: AmountJson_interface; +} + +export interface Coin { + coinPub: string; + coinPriv: string; + denomPub: string; + denomSig: string; + currentAmount: AmountJson_interface; + mintBaseUrl: string; +} + + +export interface AmountJson_interface { + value: number; + fraction: number + currency: string; +} + +export interface ConfirmReserveRequest { + /** + * Name of the form field for the amount. + */ + field_amount; + + /** + * Name of the form field for the reserve public key. + */ + field_reserve_pub; + + /** + * Name of the form field for the reserve public key. + */ + field_mint; + + /** + * The actual amount in string form. + * TODO: where is this format specified? + */ + amount_str; + + /** + * Target URL for the reserve creation request. + */ + post_url; + + /** + * Mint URL where the bank should create the reserve. + */ + mint; +} + + +export interface ConfirmReserveResponse { + backlink: string; + success: boolean; + status: number; + text: string; +}
\ No newline at end of file |