Commit | Line | Data |
---|---|---|
208e2cbc AC |
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 | ||
17 | type charge = {trn : int, usr : int, amount : real} | |
18 | ||
19 | val addCharge : charge -> unit | |
20 | val listCharges : int -> charge list | |
21 | val listChargesWithNames : int -> (string * charge) list | |
22 | ||
23 | val clearCharges : int -> unit | |
f49e1088 | 24 | val applyCharges : int -> unit |
208e2cbc AC |
25 | |
26 | val addEvenCharges : int * int list -> unit | |
27 | ||
28 | type hosting = {trn : int, cutoff : int, cost : real, usage : string} | |
29 | val addHostingCharges : hosting -> unit | |
2d795343 AC |
30 | |
31 | val equalizeBalances : unit -> unit | |
208e2cbc | 32 | end |