(define-map daily-volume uint {volume: uint, tx-count: uint})
(define-map token-volume (string-ascii 10) uint)
(define-read-only (get-daily (day uint)) (map-get? daily-volume day))
(define-read-only (get-token-volume (token (string-ascii 10))) (default-to u0 (map-get? token-volume token)))
(define-public (record-volume (day uint) (amount uint))
(match (map-get? daily-volume day)
d (begin (map-set daily-volume day {volume: (+ (get volume d) amount), tx-count: (+ (get tx-count d) u1)}) (ok true))
(begin (map-set daily-volume day {volume: amount, tx-count: u1}) (ok true))))
(define-public (record-token-volume (token (string-ascii 10)) (amount uint))
(begin (map-set token-volume token (+ (get-token-volume token) amount)) (ok true)))