-spec debit(binary(), binary(), pos_integer(), map()) -> {ok, map()} | {error, term()}.
-spec get_history(binary(), binary(), map()) -> {ok, [map()]} | {error, term()}.
-spec get_or_create_wallet(binary(), binary()) -> {ok, map()} | {error, term()}.
-spec get_wallets(binary()) -> {ok, [map()]} | {error, term()}.
-spec grant(binary(), binary(), pos_integer(), map()) -> {ok, map()} | {error, term()}.
-spec purchase(binary(), binary()) -> {ok, map()} | {error, term()}.