8d347a33 |
1 | signature MONEY = |
2 | sig |
3 | type transaction = {id :int, descr : string, amount : real, d : string, stamp : Init.C.timestamp} |
4 | |
5 | val addTransaction : string * real * string -> int |
6 | val lookupTransaction : int -> transaction |
7 | val modTransaction : transaction -> unit |
8 | val deleteTransaction : int -> unit |
9 | val listTransactions : unit -> transaction list |
10 | val listTransactionsLimit : int -> transaction list |
11 | val listUserTransactions : int -> (real * transaction) list |
12 | val listUserTransactionsLimit : int * int -> (real * transaction) list |
13 | (* Returns list of (your part, overall) pairs *) |
14 | val listUsers : int -> (bool * Init.user) list |
15 | (* List users and indicate whether they participated in a transaction *) |
16 | |
31b85852 |
17 | val lookupHostingUsage : int -> string option |
18 | |
8d347a33 |
19 | type charge = {trn : int, usr : int, amount : real} |
20 | |
21 | val addCharge : charge -> unit |
22 | val listCharges : int -> charge list |
23 | val listChargesWithNames : int -> (string * charge) list |
24 | |
25 | val clearCharges : int -> unit |
f1ea3762 |
26 | val applyCharges : int -> unit |
8d347a33 |
27 | |
28 | val addEvenCharges : int * int list -> unit |
29 | |
30 | type hosting = {trn : int, cutoff : int, cost : real, usage : string} |
31 | val addHostingCharges : hosting -> unit |
f9d08b8c |
32 | |
33 | val equalizeBalances : unit -> unit |
892e3ea1 |
34 | |
35 | val costBase : real -> real |
31b85852 |
36 | end |