@metagptx/wallet 1.0.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +1 -31
  2. package/dist/google/api/http_pb.js +1 -1
  3. package/dist/index.d.ts +4 -1
  4. package/dist/index.d.ts.map +1 -1
  5. package/dist/index.js +7 -1
  6. package/dist/v1/account/quota_service_pb.d.ts +361 -1
  7. package/dist/v1/account/quota_service_pb.d.ts.map +1 -1
  8. package/dist/v1/account/quota_service_pb.js +76 -12
  9. package/dist/v1/common/code_pb.d.ts +16 -0
  10. package/dist/v1/common/code_pb.d.ts.map +1 -1
  11. package/dist/v1/common/code_pb.js +17 -1
  12. package/dist/v1/config/config_service_pb.d.ts +226 -0
  13. package/dist/v1/config/config_service_pb.d.ts.map +1 -0
  14. package/dist/v1/config/config_service_pb.js +55 -0
  15. package/dist/v1/task/task_service_pb.d.ts +268 -0
  16. package/dist/v1/task/task_service_pb.d.ts.map +1 -0
  17. package/dist/v1/task/task_service_pb.js +57 -0
  18. package/dist/v1/topup/order_service_pb.d.ts +31 -1
  19. package/dist/v1/topup/order_service_pb.d.ts.map +1 -1
  20. package/dist/v1/topup/order_service_pb.js +13 -1
  21. package/dist/v1/webhook/payment_webhook_pb.d.ts +227 -0
  22. package/dist/v1/webhook/payment_webhook_pb.d.ts.map +1 -0
  23. package/dist/v1/webhook/payment_webhook_pb.js +33 -0
  24. package/dist/v1/webhook/webhook_service_pb.d.ts +20 -0
  25. package/dist/v1/webhook/webhook_service_pb.d.ts.map +1 -0
  26. package/dist/v1/webhook/webhook_service_pb.js +14 -0
  27. package/package.json +4 -1
  28. package/src/google/api/http_pb.ts +1 -1
  29. package/src/index.ts +10 -1
  30. package/src/v1/account/quota_service_pb.ts +433 -13
  31. package/src/v1/common/code_pb.ts +21 -1
  32. package/src/v1/config/config_service_pb.ts +283 -0
  33. package/src/v1/task/task_service_pb.ts +320 -0
  34. package/src/v1/topup/order_service_pb.ts +36 -1
  35. package/src/v1/webhook/payment_webhook_pb.ts +272 -0
  36. package/src/v1/webhook/webhook_service_pb.ts +31 -0
  37. package/src/v1/common/base_pb.ts +0 -51
@@ -5,6 +5,8 @@
5
5
  import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
6
6
  import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
7
7
  import { file_google_api_annotations } from "../../google/api/annotations_pb";
8
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
9
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
8
10
  import type { Code } from "../common/code_pb";
9
11
  import { file_v1_common_code } from "../common/code_pb";
10
12
  import type { AccountType, QuotaCategory } from "../common/enums_pb";
@@ -15,7 +17,7 @@ import type { Message } from "@bufbuild/protobuf";
15
17
  * Describes the file v1/account/quota_service.proto.
16
18
  */
17
19
  export const file_v1_account_quota_service: GenFile = /*@__PURE__*/
18
- fileDesc("Ch52MS9hY2NvdW50L3F1b3RhX3NlcnZpY2UucHJvdG8SFW1neC53YWxsZXQudjEuYWNjb3VudCL5AQoPRGVjcmVhc2VSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAMSDQoFcXVvdGEYAiABKAMSEgoFc2NhbGUYAyABKAVIAIgBARIQCghiaXpfbmFtZRgEIAEoCRI1CghjYXRlZ29yeRgFIAEoDjIjLm1neC53YWxsZXQudjEuY29tbW9uLlF1b3RhQ2F0ZWdvcnkSDAoEaXRlbRgGIAEoCRIOCgZiaXpfbm8YByABKAkSDwoHY2hhdF9pZBgIIAEoCRIcCg9hbGxvd19vdmVyZHJhZnQYCSABKAhIAYgBAUIICgZfc2NhbGVCEgoQX2FsbG93X292ZXJkcmFmdCKFAwoQRGVjcmVhc2VSZXNwb25zZRItCgRjb2RlGAEgASgOMhoubWd4LndhbGxldC52MS5jb21tb24uQ29kZUgAiAEBEhQKB21lc3NhZ2UYAiABKAlIAYgBARI6CgRkYXRhGAMgASgLMiwubWd4LndhbGxldC52MS5hY2NvdW50LkRlY3JlYXNlUmVzcG9uc2UuRGF0YRraAQoERGF0YRIOCgZiaXpfbm8YASABKAkSOwoObGVkZ2VyX2RldGFpbHMYAiADKAsyIy5tZ3gud2FsbGV0LnYxLmFjY291bnQuTGVkZ2VyRGV0YWlsEiIKFW1vbnRobHlfbGltaXRfcmVhY2hlZBgDIAEoCEgAiAEBEkcKFG1vbnRobHlfbGltaXRfYWN0aW9uGAQgASgOMikubWd4LndhbGxldC52MS5hY2NvdW50Lk1vbnRobHlMaW1pdEFjdGlvbkIYChZfbW9udGhseV9saW1pdF9yZWFjaGVkQgcKBV9jb2RlQgoKCF9tZXNzYWdlIqYBCgxMZWRnZXJEZXRhaWwSEQoJbGVkZ2VyX2lkGAEgASgDEjcKDGFjY291bnRfdHlwZRgCIAEoDjIhLm1neC53YWxsZXQudjEuY29tbW9uLkFjY291bnRUeXBlEhIKBXF1b3RhGAMgASgDSACIAQESGgoNYmFsYW5jZV9hZnRlchgEIAEoA0gBiAEBQggKBl9xdW90YUIQCg5fYmFsYW5jZV9hZnRlciKUAQoRR2V0QmFsYW5jZVJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoAxI3CgxhY2NvdW50X3R5cGUYAiABKA4yIS5tZ3gud2FsbGV0LnYxLmNvbW1vbi5BY2NvdW50VHlwZRI1CghjYXRlZ29yeRgDIAEoDjIjLm1neC53YWxsZXQudjEuY29tbW9uLlF1b3RhQ2F0ZWdvcnkiywMKEkdldEJhbGFuY2VSZXNwb25zZRItCgRjb2RlGAEgASgOMhoubWd4LndhbGxldC52MS5jb21tb24uQ29kZUgAiAEBEhQKB21lc3NhZ2UYAiABKAlIAYgBARI8CgRkYXRhGAMgASgLMi4ubWd4LndhbGxldC52MS5hY2NvdW50LkdldEJhbGFuY2VSZXNwb25zZS5EYXRhGpwCCgREYXRhEj8KEGFjY291bnRzX2JhbGFuY2UYASADKAsyJS5tZ3gud2FsbGV0LnYxLmFjY291bnQuQWNjb3VudEJhbGFuY2USTAoVYXZhaWxhYmxlX2J5X2NhdGVnb3J5GAIgAygLMi0ubWd4LndhbGxldC52MS5hY2NvdW50LkNhdGVnb3J5QXZhaWxhYmxlUXVvdGESIgoVbW9udGhseV9saW1pdF9yZWFjaGVkGAMgASgISACIAQESRwoUbW9udGhseV9saW1pdF9hY3Rpb24YBCABKA4yKS5tZ3gud2FsbGV0LnYxLmFjY291bnQuTW9udGhseUxpbWl0QWN0aW9uQhgKFl9tb250aGx5X2xpbWl0X3JlYWNoZWRCBwoFX2NvZGVCCgoIX21lc3NhZ2UijwEKFkNhdGVnb3J5QXZhaWxhYmxlUXVvdGESNQoIY2F0ZWdvcnkYASABKA4yIy5tZ3gud2FsbGV0LnYxLmNvbW1vbi5RdW90YUNhdGVnb3J5EhIKBXF1b3RhGAIgASgDSACIAQESDgoGYW1vdW50GAMgASgJEhAKCGN1cnJlbmN5GAQgASgJQggKBl9xdW90YSKJAQoOQWNjb3VudEJhbGFuY2USNwoMYWNjb3VudF90eXBlGAEgASgOMiEubWd4LndhbGxldC52MS5jb21tb24uQWNjb3VudFR5cGUSEgoFcXVvdGEYAiABKANIAIgBARIOCgZhbW91bnQYAyABKAkSEAoIY3VycmVuY3kYBCABKAlCCAoGX3F1b3RhIqMBChRHZXRVc2FnZVN0YXRzUmVxdWVzdBIPCgd1c2VyX2lkGAEgASgDEg8KB2NoYXRfaWQYAiABKAkSNQoIY2F0ZWdvcnkYAyABKA4yIy5tZ3gud2FsbGV0LnYxLmNvbW1vbi5RdW90YUNhdGVnb3J5EhEKCXN0YXRfZGF0ZRgEIAEoCRIMCgRwYWdlGAUgASgFEhEKCXBhZ2Vfc2l6ZRgGIAEoBSLAAwoVR2V0VXNhZ2VTdGF0c1Jlc3BvbnNlEi0KBGNvZGUYASABKA4yGi5tZ3gud2FsbGV0LnYxLmNvbW1vbi5Db2RlSACIAQESFAoHbWVzc2FnZRgCIAEoCUgBiAEBEj8KBGRhdGEYAyABKAsyMS5tZ3gud2FsbGV0LnYxLmFjY291bnQuR2V0VXNhZ2VTdGF0c1Jlc3BvbnNlLkRhdGEaiwIKBERhdGESGAoLdG90YWxfcXVvdGEYASABKANIAIgBARIUCgx0b3RhbF9hbW91bnQYAiABKAkSEAoIY3VycmVuY3kYAyABKAkSQQoTc3VtbWFyeV9ieV9jYXRlZ29yeRgEIAMoCzIkLm1neC53YWxsZXQudjEuYWNjb3VudC5DYXRlZ29yeVVzYWdlEi8KBWl0ZW1zGAUgAygLMiAubWd4LndhbGxldC52MS5hY2NvdW50LlVzYWdlSXRlbRISCgV0b3RhbBgGIAEoA0gBiAEBEgwKBHBhZ2UYByABKAUSEQoJcGFnZV9zaXplGAggASgFQg4KDF90b3RhbF9xdW90YUIICgZfdG90YWxCBwoFX2NvZGVCCgoIX21lc3NhZ2UihgEKDUNhdGVnb3J5VXNhZ2USNQoIY2F0ZWdvcnkYASABKA4yIy5tZ3gud2FsbGV0LnYxLmNvbW1vbi5RdW90YUNhdGVnb3J5EhIKBXF1b3RhGAIgASgDSACIAQESDgoGYW1vdW50GAMgASgJEhAKCGN1cnJlbmN5GAQgASgJQggKBl9xdW90YSLDAQoJVXNhZ2VJdGVtEg8KB2NoYXRfaWQYASABKAkSFgoJY2hhdF9uYW1lGAIgASgJSACIAQESEgoFcXVvdGEYAyABKANIAYgBARIOCgZhbW91bnQYBCABKAkSEAoIY3VycmVuY3kYBSABKAkSPwoRdXNhZ2VfYnlfY2F0ZWdvcnkYBiADKAsyJC5tZ3gud2FsbGV0LnYxLmFjY291bnQuQ2F0ZWdvcnlVc2FnZUIMCgpfY2hhdF9uYW1lQggKBl9xdW90YSqAAQoSTW9udGhseUxpbWl0QWN0aW9uEiQKIE1PTlRITFlfTElNSVRfQUNUSU9OX1VOU1BFQ0lGSUVEEAASHgoaTU9OVEhMWV9MSU1JVF9BQ1RJT05fUEFVU0UQARIkCiBNT05USExZX0xJTUlUX0FDVElPTl9OT1RJRllfT05MWRACMr0DCgxRdW90YVNlcnZpY2UShwEKCERlY3JlYXNlEiYubWd4LndhbGxldC52MS5hY2NvdW50LkRlY3JlYXNlUmVxdWVzdBonLm1neC53YWxsZXQudjEuYWNjb3VudC5EZWNyZWFzZVJlc3BvbnNlIiqC0+STAiQ6ASoiHy9hcGkvdjEvd2FsbGV0L2FjY291bnQvZGVjcmVhc2USiQEKCkdldEJhbGFuY2USKC5tZ3gud2FsbGV0LnYxLmFjY291bnQuR2V0QmFsYW5jZVJlcXVlc3QaKS5tZ3gud2FsbGV0LnYxLmFjY291bnQuR2V0QmFsYW5jZVJlc3BvbnNlIiaC0+STAiASHi9hcGkvdjEvd2FsbGV0L2FjY291bnQvYmFsYW5jZRKWAQoNR2V0VXNhZ2VTdGF0cxIrLm1neC53YWxsZXQudjEuYWNjb3VudC5HZXRVc2FnZVN0YXRzUmVxdWVzdBosLm1neC53YWxsZXQudjEuYWNjb3VudC5HZXRVc2FnZVN0YXRzUmVzcG9uc2UiKoLT5JMCJBIiL2FwaS92MS93YWxsZXQvYWNjb3VudC91c2FnZS9zdGF0c0JAWj5naXRsYWIuZGVlcHdpc2RvbWFpLmNvbS9pZGwvZ29sYW5nL21neC93YWxsZXQvcHJvdG8vdjEvYWNjb3VudGIGcHJvdG8z", [file_google_api_annotations, file_v1_common_code, file_v1_common_enums]);
20
+ fileDesc("Ch52MS9hY2NvdW50L3F1b3RhX3NlcnZpY2UucHJvdG8SFW1neC53YWxsZXQudjEuYWNjb3VudCL5AQoPRGVjcmVhc2VSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAMSDQoFcXVvdGEYAiABKAMSEgoFc2NhbGUYAyABKAVIAIgBARIQCghiaXpfbmFtZRgEIAEoCRI1CghjYXRlZ29yeRgFIAEoDjIjLm1neC53YWxsZXQudjEuY29tbW9uLlF1b3RhQ2F0ZWdvcnkSDAoEaXRlbRgGIAEoCRIOCgZiaXpfbm8YByABKAkSDwoHY2hhdF9pZBgIIAEoCRIcCg9hbGxvd19vdmVyZHJhZnQYCSABKAhIAYgBAUIICgZfc2NhbGVCEgoQX2FsbG93X292ZXJkcmFmdCKFAwoQRGVjcmVhc2VSZXNwb25zZRItCgRjb2RlGAEgASgOMhoubWd4LndhbGxldC52MS5jb21tb24uQ29kZUgAiAEBEhQKB21lc3NhZ2UYAiABKAlIAYgBARI6CgRkYXRhGAMgASgLMiwubWd4LndhbGxldC52MS5hY2NvdW50LkRlY3JlYXNlUmVzcG9uc2UuRGF0YRraAQoERGF0YRIOCgZiaXpfbm8YASABKAkSOwoObGVkZ2VyX2RldGFpbHMYAiADKAsyIy5tZ3gud2FsbGV0LnYxLmFjY291bnQuTGVkZ2VyRGV0YWlsEiIKFW1vbnRobHlfbGltaXRfcmVhY2hlZBgDIAEoCEgAiAEBEkcKFG1vbnRobHlfbGltaXRfYWN0aW9uGAQgASgOMikubWd4LndhbGxldC52MS5hY2NvdW50Lk1vbnRobHlMaW1pdEFjdGlvbkIYChZfbW9udGhseV9saW1pdF9yZWFjaGVkQgcKBV9jb2RlQgoKCF9tZXNzYWdlIuIBCg9Sb2xsYmFja1JlcXVlc3QSDwoHdXNlcl9pZBgBIAEoAxINCgVxdW90YRgCIAEoAxISCgVzY2FsZRgDIAEoBUgAiAEBEhAKCGJpel9uYW1lGAQgASgJEjUKCGNhdGVnb3J5GAUgASgOMiMubWd4LndhbGxldC52MS5jb21tb24uUXVvdGFDYXRlZ29yeRIOCgZiaXpfbm8YBiABKAkSFAoMcmVmX2Jpel9uYW1lGAcgASgJEhIKCnJlZl9iaXpfbm8YCCABKAkSDgoGcmVhc29uGAkgASgJQggKBl9zY2FsZSKFAwoQUm9sbGJhY2tSZXNwb25zZRItCgRjb2RlGAEgASgOMhoubWd4LndhbGxldC52MS5jb21tb24uQ29kZUgAiAEBEhQKB21lc3NhZ2UYAiABKAlIAYgBARI6CgRkYXRhGAMgASgLMiwubWd4LndhbGxldC52MS5hY2NvdW50LlJvbGxiYWNrUmVzcG9uc2UuRGF0YRraAQoERGF0YRIOCgZiaXpfbm8YASABKAkSOwoObGVkZ2VyX2RldGFpbHMYAiADKAsyIy5tZ3gud2FsbGV0LnYxLmFjY291bnQuTGVkZ2VyRGV0YWlsEiIKFW1vbnRobHlfbGltaXRfcmVhY2hlZBgDIAEoCEgAiAEBEkcKFG1vbnRobHlfbGltaXRfYWN0aW9uGAQgASgOMikubWd4LndhbGxldC52MS5hY2NvdW50Lk1vbnRobHlMaW1pdEFjdGlvbkIYChZfbW9udGhseV9saW1pdF9yZWFjaGVkQgcKBV9jb2RlQgoKCF9tZXNzYWdlIqYBCgxMZWRnZXJEZXRhaWwSEQoJbGVkZ2VyX2lkGAEgASgDEjcKDGFjY291bnRfdHlwZRgCIAEoDjIhLm1neC53YWxsZXQudjEuY29tbW9uLkFjY291bnRUeXBlEhIKBXF1b3RhGAMgASgDSACIAQESGgoNYmFsYW5jZV9hZnRlchgEIAEoA0gBiAEBQggKBl9xdW90YUIQCg5fYmFsYW5jZV9hZnRlciJHChJRdWVyeUxlZGdlclJlcXVlc3QSDwoHdXNlcl9pZBgBIAEoAxIQCghiaXpfbmFtZRgCIAEoCRIOCgZiaXpfbm8YAyABKAkigwIKE1F1ZXJ5TGVkZ2VyUmVzcG9uc2USLQoEY29kZRgBIAEoDjIaLm1neC53YWxsZXQudjEuY29tbW9uLkNvZGVIAIgBARIUCgdtZXNzYWdlGAIgASgJSAGIAQESPQoEZGF0YRgDIAEoCzIvLm1neC53YWxsZXQudjEuYWNjb3VudC5RdWVyeUxlZGdlclJlc3BvbnNlLkRhdGEaUwoERGF0YRIOCgZiaXpfbm8YASABKAkSOwoObGVkZ2VyX3JlY29yZHMYAiADKAsyIy5tZ3gud2FsbGV0LnYxLmFjY291bnQuTGVkZ2VyUmVjb3JkQgcKBV9jb2RlQgoKCF9tZXNzYWdlIu0ECgxMZWRnZXJSZWNvcmQSEQoJbGVkZ2VyX2lkGAEgASgDEjcKDGFjY291bnRfdHlwZRgCIAEoDjIhLm1neC53YWxsZXQudjEuY29tbW9uLkFjY291bnRUeXBlEhIKBXF1b3RhGAMgASgDSACIAQESGwoOYmFsYW5jZV9iZWZvcmUYBCABKANIAYgBARIaCg1iYWxhbmNlX2FmdGVyGAUgASgDSAKIAQESOQoJZGlyZWN0aW9uGAYgASgOMiYubWd4LndhbGxldC52MS5hY2NvdW50LkxlZGdlckRpcmVjdGlvbhIYCgtyb2xsZWRfYmFjaxgHIAEoCEgDiAEBEh4KEXJvbGxlZF9iYWNrX3F1b3RhGAggASgDSASIAQESNQoIY2F0ZWdvcnkYCSABKA4yIy5tZ3gud2FsbGV0LnYxLmNvbW1vbi5RdW90YUNhdGVnb3J5EhAKCGJpel9uYW1lGAogASgJEg4KBmJpel9ubxgLIAEoCRIMCgRpdGVtGAwgASgJEg8KB2NoYXRfaWQYDSABKAkSLgoKY3JlYXRlZF9hdBgOIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASGQoMcmVmX2Jpel9uYW1lGA8gASgJSAWIAQESFwoKcmVmX2Jpel9ubxgQIAEoCUgGiAEBQggKBl9xdW90YUIRCg9fYmFsYW5jZV9iZWZvcmVCEAoOX2JhbGFuY2VfYWZ0ZXJCDgoMX3JvbGxlZF9iYWNrQhQKEl9yb2xsZWRfYmFja19xdW90YUIPCg1fcmVmX2Jpel9uYW1lQg0KC19yZWZfYml6X25vIpQBChFHZXRCYWxhbmNlUmVxdWVzdBIPCgd1c2VyX2lkGAEgASgDEjcKDGFjY291bnRfdHlwZRgCIAEoDjIhLm1neC53YWxsZXQudjEuY29tbW9uLkFjY291bnRUeXBlEjUKCGNhdGVnb3J5GAMgASgOMiMubWd4LndhbGxldC52MS5jb21tb24uUXVvdGFDYXRlZ29yeSLLAwoSR2V0QmFsYW5jZVJlc3BvbnNlEi0KBGNvZGUYASABKA4yGi5tZ3gud2FsbGV0LnYxLmNvbW1vbi5Db2RlSACIAQESFAoHbWVzc2FnZRgCIAEoCUgBiAEBEjwKBGRhdGEYAyABKAsyLi5tZ3gud2FsbGV0LnYxLmFjY291bnQuR2V0QmFsYW5jZVJlc3BvbnNlLkRhdGEanAIKBERhdGESPwoQYWNjb3VudHNfYmFsYW5jZRgBIAMoCzIlLm1neC53YWxsZXQudjEuYWNjb3VudC5BY2NvdW50QmFsYW5jZRJMChVhdmFpbGFibGVfYnlfY2F0ZWdvcnkYAiADKAsyLS5tZ3gud2FsbGV0LnYxLmFjY291bnQuQ2F0ZWdvcnlBdmFpbGFibGVRdW90YRIiChVtb250aGx5X2xpbWl0X3JlYWNoZWQYAyABKAhIAIgBARJHChRtb250aGx5X2xpbWl0X2FjdGlvbhgEIAEoDjIpLm1neC53YWxsZXQudjEuYWNjb3VudC5Nb250aGx5TGltaXRBY3Rpb25CGAoWX21vbnRobHlfbGltaXRfcmVhY2hlZEIHCgVfY29kZUIKCghfbWVzc2FnZSKPAQoWQ2F0ZWdvcnlBdmFpbGFibGVRdW90YRI1CghjYXRlZ29yeRgBIAEoDjIjLm1neC53YWxsZXQudjEuY29tbW9uLlF1b3RhQ2F0ZWdvcnkSEgoFcXVvdGEYAiABKANIAIgBARIOCgZhbW91bnQYAyABKAkSEAoIY3VycmVuY3kYBCABKAlCCAoGX3F1b3RhIokBCg5BY2NvdW50QmFsYW5jZRI3CgxhY2NvdW50X3R5cGUYASABKA4yIS5tZ3gud2FsbGV0LnYxLmNvbW1vbi5BY2NvdW50VHlwZRISCgVxdW90YRgCIAEoA0gAiAEBEg4KBmFtb3VudBgDIAEoCRIQCghjdXJyZW5jeRgEIAEoCUIICgZfcXVvdGEiowEKFEdldFVzYWdlU3RhdHNSZXF1ZXN0Eg8KB3VzZXJfaWQYASABKAMSDwoHY2hhdF9pZBgCIAEoCRI1CghjYXRlZ29yeRgDIAEoDjIjLm1neC53YWxsZXQudjEuY29tbW9uLlF1b3RhQ2F0ZWdvcnkSEQoJc3RhdF9kYXRlGAQgASgJEgwKBHBhZ2UYBSABKAUSEQoJcGFnZV9zaXplGAYgASgFIsADChVHZXRVc2FnZVN0YXRzUmVzcG9uc2USLQoEY29kZRgBIAEoDjIaLm1neC53YWxsZXQudjEuY29tbW9uLkNvZGVIAIgBARIUCgdtZXNzYWdlGAIgASgJSAGIAQESPwoEZGF0YRgDIAEoCzIxLm1neC53YWxsZXQudjEuYWNjb3VudC5HZXRVc2FnZVN0YXRzUmVzcG9uc2UuRGF0YRqLAgoERGF0YRIYCgt0b3RhbF9xdW90YRgBIAEoA0gAiAEBEhQKDHRvdGFsX2Ftb3VudBgCIAEoCRIQCghjdXJyZW5jeRgDIAEoCRJBChNzdW1tYXJ5X2J5X2NhdGVnb3J5GAQgAygLMiQubWd4LndhbGxldC52MS5hY2NvdW50LkNhdGVnb3J5VXNhZ2USLwoFaXRlbXMYBSADKAsyIC5tZ3gud2FsbGV0LnYxLmFjY291bnQuVXNhZ2VJdGVtEhIKBXRvdGFsGAYgASgDSAGIAQESDAoEcGFnZRgHIAEoBRIRCglwYWdlX3NpemUYCCABKAVCDgoMX3RvdGFsX3F1b3RhQggKBl90b3RhbEIHCgVfY29kZUIKCghfbWVzc2FnZSKGAQoNQ2F0ZWdvcnlVc2FnZRI1CghjYXRlZ29yeRgBIAEoDjIjLm1neC53YWxsZXQudjEuY29tbW9uLlF1b3RhQ2F0ZWdvcnkSEgoFcXVvdGEYAiABKANIAIgBARIOCgZhbW91bnQYAyABKAkSEAoIY3VycmVuY3kYBCABKAlCCAoGX3F1b3RhIsMBCglVc2FnZUl0ZW0SDwoHY2hhdF9pZBgBIAEoCRIWCgljaGF0X25hbWUYAiABKAlIAIgBARISCgVxdW90YRgDIAEoA0gBiAEBEg4KBmFtb3VudBgEIAEoCRIQCghjdXJyZW5jeRgFIAEoCRI/ChF1c2FnZV9ieV9jYXRlZ29yeRgGIAMoCzIkLm1neC53YWxsZXQudjEuYWNjb3VudC5DYXRlZ29yeVVzYWdlQgwKCl9jaGF0X25hbWVCCAoGX3F1b3RhKoABChJNb250aGx5TGltaXRBY3Rpb24SJAogTU9OVEhMWV9MSU1JVF9BQ1RJT05fVU5TUEVDSUZJRUQQABIeChpNT05USExZX0xJTUlUX0FDVElPTl9QQVVTRRABEiQKIE1PTlRITFlfTElNSVRfQUNUSU9OX05PVElGWV9PTkxZEAIqcQoPTGVkZ2VyRGlyZWN0aW9uEiAKHExFREdFUl9ESVJFQ1RJT05fVU5TUEVDSUZJRUQQABIdChlMRURHRVJfRElSRUNUSU9OX0lOQ1JFQVNFEAESHQoZTEVER0VSX0RJUkVDVElPTl9ERUNSRUFTRRACMtUFCgxRdW90YVNlcnZpY2UShwEKCERlY3JlYXNlEiYubWd4LndhbGxldC52MS5hY2NvdW50LkRlY3JlYXNlUmVxdWVzdBonLm1neC53YWxsZXQudjEuYWNjb3VudC5EZWNyZWFzZVJlc3BvbnNlIiqC0+STAiQ6ASoiHy9hcGkvdjEvd2FsbGV0L2FjY291bnQvZGVjcmVhc2UShwEKCFJvbGxiYWNrEiYubWd4LndhbGxldC52MS5hY2NvdW50LlJvbGxiYWNrUmVxdWVzdBonLm1neC53YWxsZXQudjEuYWNjb3VudC5Sb2xsYmFja1Jlc3BvbnNlIiqC0+STAiQ6ASoiHy9hcGkvdjEvd2FsbGV0L2FjY291bnQvcm9sbGJhY2sSiwEKC1F1ZXJ5TGVkZ2VyEikubWd4LndhbGxldC52MS5hY2NvdW50LlF1ZXJ5TGVkZ2VyUmVxdWVzdBoqLm1neC53YWxsZXQudjEuYWNjb3VudC5RdWVyeUxlZGdlclJlc3BvbnNlIiWC0+STAh8SHS9hcGkvdjEvd2FsbGV0L2FjY291bnQvbGVkZ2VyEokBCgpHZXRCYWxhbmNlEigubWd4LndhbGxldC52MS5hY2NvdW50LkdldEJhbGFuY2VSZXF1ZXN0GikubWd4LndhbGxldC52MS5hY2NvdW50LkdldEJhbGFuY2VSZXNwb25zZSImgtPkkwIgEh4vYXBpL3YxL3dhbGxldC9hY2NvdW50L2JhbGFuY2USlgEKDUdldFVzYWdlU3RhdHMSKy5tZ3gud2FsbGV0LnYxLmFjY291bnQuR2V0VXNhZ2VTdGF0c1JlcXVlc3QaLC5tZ3gud2FsbGV0LnYxLmFjY291bnQuR2V0VXNhZ2VTdGF0c1Jlc3BvbnNlIiqC0+STAiQSIi9hcGkvdjEvd2FsbGV0L2FjY291bnQvdXNhZ2Uvc3RhdHNCQFo+Z2l0bGFiLmRlZXB3aXNkb21haS5jb20vaWRsL2dvbGFuZy9tZ3gvd2FsbGV0L3Byb3RvL3YxL2FjY291bnRiBnByb3RvMw", [file_google_api_annotations, file_google_protobuf_timestamp, file_v1_common_code, file_v1_common_enums]);
19
21
 
20
22
  /**
21
23
  * @generated from message mgx.wallet.v1.account.DecreaseRequest
@@ -166,6 +168,156 @@ export const DecreaseResponse_DataSchema: GenMessage<DecreaseResponse_Data> = /*
166
168
  messageDesc(file_v1_account_quota_service, 1, 0);
167
169
 
168
170
  /**
171
+ * @generated from message mgx.wallet.v1.account.RollbackRequest
172
+ */
173
+ export type RollbackRequest = Message<"mgx.wallet.v1.account.RollbackRequest"> & {
174
+ /**
175
+ * User ID (must match the original Decrease)
176
+ *
177
+ * @generated from field: int64 user_id = 1;
178
+ */
179
+ userId: bigint;
180
+
181
+ /**
182
+ * Quota to roll back (integer), actual = quota / 10^scale
183
+ *
184
+ * @generated from field: int64 quota = 2;
185
+ */
186
+ quota: bigint;
187
+
188
+ /**
189
+ * Decimal places for quota, actual = quota / 10^scale
190
+ *
191
+ * @generated from field: optional int32 scale = 3;
192
+ */
193
+ scale?: number;
194
+
195
+ /**
196
+ * Caller / biz name for this rollback
197
+ *
198
+ * @generated from field: string biz_name = 4;
199
+ */
200
+ bizName: string;
201
+
202
+ /**
203
+ * Quota category (must match the original Decrease)
204
+ *
205
+ * @generated from field: mgx.wallet.v1.common.QuotaCategory category = 5;
206
+ */
207
+ category: QuotaCategory;
208
+
209
+ /**
210
+ * Business order number for this rollback
211
+ *
212
+ * @generated from field: string biz_no = 6;
213
+ */
214
+ bizNo: string;
215
+
216
+ /**
217
+ * Original Decrease biz_name
218
+ *
219
+ * @generated from field: string ref_biz_name = 7;
220
+ */
221
+ refBizName: string;
222
+
223
+ /**
224
+ * Original Decrease biz_no
225
+ *
226
+ * @generated from field: string ref_biz_no = 8;
227
+ */
228
+ refBizNo: string;
229
+
230
+ /**
231
+ * Rollback reason (optional, for audit)
232
+ *
233
+ * @generated from field: string reason = 9;
234
+ */
235
+ reason: string;
236
+ };
237
+
238
+ /**
239
+ * Describes the message mgx.wallet.v1.account.RollbackRequest.
240
+ * Use `create(RollbackRequestSchema)` to create a new message.
241
+ */
242
+ export const RollbackRequestSchema: GenMessage<RollbackRequest> = /*@__PURE__*/
243
+ messageDesc(file_v1_account_quota_service, 2);
244
+
245
+ /**
246
+ * @generated from message mgx.wallet.v1.account.RollbackResponse
247
+ */
248
+ export type RollbackResponse = Message<"mgx.wallet.v1.account.RollbackResponse"> & {
249
+ /**
250
+ * Response code: SUCCESS / INVALID_ARGUMENT / NOT_FOUND / ALREADY_ROLLED_BACK / WINDOW_EXPIRED etc.
251
+ *
252
+ * @generated from field: optional mgx.wallet.v1.common.Code code = 1;
253
+ */
254
+ code?: Code;
255
+
256
+ /**
257
+ * Message (for client display)
258
+ *
259
+ * @generated from field: optional string message = 2;
260
+ */
261
+ message?: string;
262
+
263
+ /**
264
+ * Rollback result data
265
+ *
266
+ * @generated from field: mgx.wallet.v1.account.RollbackResponse.Data data = 3;
267
+ */
268
+ data?: RollbackResponse_Data;
269
+ };
270
+
271
+ /**
272
+ * Describes the message mgx.wallet.v1.account.RollbackResponse.
273
+ * Use `create(RollbackResponseSchema)` to create a new message.
274
+ */
275
+ export const RollbackResponseSchema: GenMessage<RollbackResponse> = /*@__PURE__*/
276
+ messageDesc(file_v1_account_quota_service, 3);
277
+
278
+ /**
279
+ * @generated from message mgx.wallet.v1.account.RollbackResponse.Data
280
+ */
281
+ export type RollbackResponse_Data = Message<"mgx.wallet.v1.account.RollbackResponse.Data"> & {
282
+ /**
283
+ * Business order number (echo from request)
284
+ *
285
+ * @generated from field: string biz_no = 1;
286
+ */
287
+ bizNo: string;
288
+
289
+ /**
290
+ * Ledger entries produced by rollback (multi-account when applicable)
291
+ *
292
+ * @generated from field: repeated mgx.wallet.v1.account.LedgerDetail ledger_details = 2;
293
+ */
294
+ ledgerDetails: LedgerDetail[];
295
+
296
+ /**
297
+ * Whether monthly limit is reached (may change from true to false after rollback)
298
+ *
299
+ * @generated from field: optional bool monthly_limit_reached = 3;
300
+ */
301
+ monthlyLimitReached?: boolean;
302
+
303
+ /**
304
+ * Monthly limit action when triggered
305
+ *
306
+ * @generated from field: mgx.wallet.v1.account.MonthlyLimitAction monthly_limit_action = 4;
307
+ */
308
+ monthlyLimitAction: MonthlyLimitAction;
309
+ };
310
+
311
+ /**
312
+ * Describes the message mgx.wallet.v1.account.RollbackResponse.Data.
313
+ * Use `create(RollbackResponse_DataSchema)` to create a new message.
314
+ */
315
+ export const RollbackResponse_DataSchema: GenMessage<RollbackResponse_Data> = /*@__PURE__*/
316
+ messageDesc(file_v1_account_quota_service, 3, 0);
317
+
318
+ /**
319
+ * LedgerDetail: single ledger entry; used in Decrease, Rollback responses, etc.
320
+ *
169
321
  * @generated from message mgx.wallet.v1.account.LedgerDetail
170
322
  */
171
323
  export type LedgerDetail = Message<"mgx.wallet.v1.account.LedgerDetail"> & {
@@ -184,7 +336,7 @@ export type LedgerDetail = Message<"mgx.wallet.v1.account.LedgerDetail"> & {
184
336
  accountType: AccountType;
185
337
 
186
338
  /**
187
- * Quota change
339
+ * Quota amount, always positive; combined with direction for increase/decrease
188
340
  *
189
341
  * @generated from field: optional int64 quota = 3;
190
342
  */
@@ -203,7 +355,227 @@ export type LedgerDetail = Message<"mgx.wallet.v1.account.LedgerDetail"> & {
203
355
  * Use `create(LedgerDetailSchema)` to create a new message.
204
356
  */
205
357
  export const LedgerDetailSchema: GenMessage<LedgerDetail> = /*@__PURE__*/
206
- messageDesc(file_v1_account_quota_service, 2);
358
+ messageDesc(file_v1_account_quota_service, 4);
359
+
360
+ /**
361
+ * @generated from message mgx.wallet.v1.account.QueryLedgerRequest
362
+ */
363
+ export type QueryLedgerRequest = Message<"mgx.wallet.v1.account.QueryLedgerRequest"> & {
364
+ /**
365
+ * User ID (required: ledger tables are sharded by user_id)
366
+ *
367
+ * @generated from field: int64 user_id = 1;
368
+ */
369
+ userId: bigint;
370
+
371
+ /**
372
+ * Caller, e.g. oneapi / infra
373
+ *
374
+ * @generated from field: string biz_name = 2;
375
+ */
376
+ bizName: string;
377
+
378
+ /**
379
+ * Business order number (idempotent key with biz_name)
380
+ *
381
+ * @generated from field: string biz_no = 3;
382
+ */
383
+ bizNo: string;
384
+ };
385
+
386
+ /**
387
+ * Describes the message mgx.wallet.v1.account.QueryLedgerRequest.
388
+ * Use `create(QueryLedgerRequestSchema)` to create a new message.
389
+ */
390
+ export const QueryLedgerRequestSchema: GenMessage<QueryLedgerRequest> = /*@__PURE__*/
391
+ messageDesc(file_v1_account_quota_service, 5);
392
+
393
+ /**
394
+ * @generated from message mgx.wallet.v1.account.QueryLedgerResponse
395
+ */
396
+ export type QueryLedgerResponse = Message<"mgx.wallet.v1.account.QueryLedgerResponse"> & {
397
+ /**
398
+ * Response code
399
+ *
400
+ * @generated from field: optional mgx.wallet.v1.common.Code code = 1;
401
+ */
402
+ code?: Code;
403
+
404
+ /**
405
+ * Message
406
+ *
407
+ * @generated from field: optional string message = 2;
408
+ */
409
+ message?: string;
410
+
411
+ /**
412
+ * Response data
413
+ *
414
+ * @generated from field: mgx.wallet.v1.account.QueryLedgerResponse.Data data = 3;
415
+ */
416
+ data?: QueryLedgerResponse_Data;
417
+ };
418
+
419
+ /**
420
+ * Describes the message mgx.wallet.v1.account.QueryLedgerResponse.
421
+ * Use `create(QueryLedgerResponseSchema)` to create a new message.
422
+ */
423
+ export const QueryLedgerResponseSchema: GenMessage<QueryLedgerResponse> = /*@__PURE__*/
424
+ messageDesc(file_v1_account_quota_service, 6);
425
+
426
+ /**
427
+ * @generated from message mgx.wallet.v1.account.QueryLedgerResponse.Data
428
+ */
429
+ export type QueryLedgerResponse_Data = Message<"mgx.wallet.v1.account.QueryLedgerResponse.Data"> & {
430
+ /**
431
+ * Business order number (echo from request)
432
+ *
433
+ * @generated from field: string biz_no = 1;
434
+ */
435
+ bizNo: string;
436
+
437
+ /**
438
+ * Ledger entries for this biz_name + biz_no (multiple when multi-account)
439
+ *
440
+ * @generated from field: repeated mgx.wallet.v1.account.LedgerRecord ledger_records = 2;
441
+ */
442
+ ledgerRecords: LedgerRecord[];
443
+ };
444
+
445
+ /**
446
+ * Describes the message mgx.wallet.v1.account.QueryLedgerResponse.Data.
447
+ * Use `create(QueryLedgerResponse_DataSchema)` to create a new message.
448
+ */
449
+ export const QueryLedgerResponse_DataSchema: GenMessage<QueryLedgerResponse_Data> = /*@__PURE__*/
450
+ messageDesc(file_v1_account_quota_service, 6, 0);
451
+
452
+ /**
453
+ * LedgerRecord: single ledger entry for QueryLedger response only. Not shared with LedgerDetail:
454
+ * Decrease/Rollback are hot paths and use a minimal 4-field shape (caller already has direction/category etc.);
455
+ * Query is a cold path with low call rate and returns full ledger (direction, category, ref, etc.), so LedgerRecord is defined separately.
456
+ *
457
+ * @generated from message mgx.wallet.v1.account.LedgerRecord
458
+ */
459
+ export type LedgerRecord = Message<"mgx.wallet.v1.account.LedgerRecord"> & {
460
+ /**
461
+ * Ledger ID
462
+ *
463
+ * @generated from field: int64 ledger_id = 1;
464
+ */
465
+ ledgerId: bigint;
466
+
467
+ /**
468
+ * Account type
469
+ *
470
+ * @generated from field: mgx.wallet.v1.common.AccountType account_type = 2;
471
+ */
472
+ accountType: AccountType;
473
+
474
+ /**
475
+ * Quota amount (always positive); see direction for in/out
476
+ *
477
+ * @generated from field: optional int64 quota = 3;
478
+ */
479
+ quota?: bigint;
480
+
481
+ /**
482
+ * Account balance before operation
483
+ *
484
+ * @generated from field: optional int64 balance_before = 4;
485
+ */
486
+ balanceBefore?: bigint;
487
+
488
+ /**
489
+ * Account balance after operation
490
+ *
491
+ * @generated from field: optional int64 balance_after = 5;
492
+ */
493
+ balanceAfter?: bigint;
494
+
495
+ /**
496
+ * Direction: increase or decrease (quota is always positive)
497
+ *
498
+ * @generated from field: mgx.wallet.v1.account.LedgerDirection direction = 6;
499
+ */
500
+ direction: LedgerDirection;
501
+
502
+ /**
503
+ * Whether this ledger entry has been rolled back (for Decrease entries)
504
+ *
505
+ * @generated from field: optional bool rolled_back = 7;
506
+ */
507
+ rolledBack?: boolean;
508
+
509
+ /**
510
+ * Quota rolled back (for Decrease entries when partially/fully rolled back)
511
+ *
512
+ * @generated from field: optional int64 rolled_back_quota = 8;
513
+ */
514
+ rolledBackQuota?: bigint;
515
+
516
+ /**
517
+ * Quota category (Cloud/AI/General)
518
+ *
519
+ * @generated from field: mgx.wallet.v1.common.QuotaCategory category = 9;
520
+ */
521
+ category: QuotaCategory;
522
+
523
+ /**
524
+ * Caller, e.g. oneapi / infra
525
+ *
526
+ * @generated from field: string biz_name = 10;
527
+ */
528
+ bizName: string;
529
+
530
+ /**
531
+ * Business order number (idempotent key with biz_name)
532
+ *
533
+ * @generated from field: string biz_no = 11;
534
+ */
535
+ bizNo: string;
536
+
537
+ /**
538
+ * Billing item
539
+ *
540
+ * @generated from field: string item = 12;
541
+ */
542
+ item: string;
543
+
544
+ /**
545
+ * Chat ID, for per-chat usage stats
546
+ *
547
+ * @generated from field: string chat_id = 13;
548
+ */
549
+ chatId: string;
550
+
551
+ /**
552
+ * Creation time
553
+ *
554
+ * @generated from field: google.protobuf.Timestamp created_at = 14;
555
+ */
556
+ createdAt?: Timestamp;
557
+
558
+ /**
559
+ * Original Decrease biz_name (for Rollback entries, the Decrease being rolled back)
560
+ *
561
+ * @generated from field: optional string ref_biz_name = 15;
562
+ */
563
+ refBizName?: string;
564
+
565
+ /**
566
+ * Original Decrease biz_no (for Rollback entries)
567
+ *
568
+ * @generated from field: optional string ref_biz_no = 16;
569
+ */
570
+ refBizNo?: string;
571
+ };
572
+
573
+ /**
574
+ * Describes the message mgx.wallet.v1.account.LedgerRecord.
575
+ * Use `create(LedgerRecordSchema)` to create a new message.
576
+ */
577
+ export const LedgerRecordSchema: GenMessage<LedgerRecord> = /*@__PURE__*/
578
+ messageDesc(file_v1_account_quota_service, 7);
207
579
 
208
580
  /**
209
581
  * @generated from message mgx.wallet.v1.account.GetBalanceRequest
@@ -236,7 +608,7 @@ export type GetBalanceRequest = Message<"mgx.wallet.v1.account.GetBalanceRequest
236
608
  * Use `create(GetBalanceRequestSchema)` to create a new message.
237
609
  */
238
610
  export const GetBalanceRequestSchema: GenMessage<GetBalanceRequest> = /*@__PURE__*/
239
- messageDesc(file_v1_account_quota_service, 3);
611
+ messageDesc(file_v1_account_quota_service, 8);
240
612
 
241
613
  /**
242
614
  * @generated from message mgx.wallet.v1.account.GetBalanceResponse
@@ -269,7 +641,7 @@ export type GetBalanceResponse = Message<"mgx.wallet.v1.account.GetBalanceRespon
269
641
  * Use `create(GetBalanceResponseSchema)` to create a new message.
270
642
  */
271
643
  export const GetBalanceResponseSchema: GenMessage<GetBalanceResponse> = /*@__PURE__*/
272
- messageDesc(file_v1_account_quota_service, 4);
644
+ messageDesc(file_v1_account_quota_service, 9);
273
645
 
274
646
  /**
275
647
  * @generated from message mgx.wallet.v1.account.GetBalanceResponse.Data
@@ -309,7 +681,7 @@ export type GetBalanceResponse_Data = Message<"mgx.wallet.v1.account.GetBalanceR
309
681
  * Use `create(GetBalanceResponse_DataSchema)` to create a new message.
310
682
  */
311
683
  export const GetBalanceResponse_DataSchema: GenMessage<GetBalanceResponse_Data> = /*@__PURE__*/
312
- messageDesc(file_v1_account_quota_service, 4, 0);
684
+ messageDesc(file_v1_account_quota_service, 9, 0);
313
685
 
314
686
  /**
315
687
  * CategoryAvailableQuota available quota per category (not account balance; for GetBalanceResponse.available_by_category)
@@ -351,7 +723,7 @@ export type CategoryAvailableQuota = Message<"mgx.wallet.v1.account.CategoryAvai
351
723
  * Use `create(CategoryAvailableQuotaSchema)` to create a new message.
352
724
  */
353
725
  export const CategoryAvailableQuotaSchema: GenMessage<CategoryAvailableQuota> = /*@__PURE__*/
354
- messageDesc(file_v1_account_quota_service, 5);
726
+ messageDesc(file_v1_account_quota_service, 10);
355
727
 
356
728
  /**
357
729
  * @generated from message mgx.wallet.v1.account.AccountBalance
@@ -391,7 +763,7 @@ export type AccountBalance = Message<"mgx.wallet.v1.account.AccountBalance"> & {
391
763
  * Use `create(AccountBalanceSchema)` to create a new message.
392
764
  */
393
765
  export const AccountBalanceSchema: GenMessage<AccountBalance> = /*@__PURE__*/
394
- messageDesc(file_v1_account_quota_service, 6);
766
+ messageDesc(file_v1_account_quota_service, 11);
395
767
 
396
768
  /**
397
769
  * @generated from message mgx.wallet.v1.account.GetUsageStatsRequest
@@ -445,7 +817,7 @@ export type GetUsageStatsRequest = Message<"mgx.wallet.v1.account.GetUsageStatsR
445
817
  * Use `create(GetUsageStatsRequestSchema)` to create a new message.
446
818
  */
447
819
  export const GetUsageStatsRequestSchema: GenMessage<GetUsageStatsRequest> = /*@__PURE__*/
448
- messageDesc(file_v1_account_quota_service, 7);
820
+ messageDesc(file_v1_account_quota_service, 12);
449
821
 
450
822
  /**
451
823
  * @generated from message mgx.wallet.v1.account.GetUsageStatsResponse
@@ -478,7 +850,7 @@ export type GetUsageStatsResponse = Message<"mgx.wallet.v1.account.GetUsageStats
478
850
  * Use `create(GetUsageStatsResponseSchema)` to create a new message.
479
851
  */
480
852
  export const GetUsageStatsResponseSchema: GenMessage<GetUsageStatsResponse> = /*@__PURE__*/
481
- messageDesc(file_v1_account_quota_service, 8);
853
+ messageDesc(file_v1_account_quota_service, 13);
482
854
 
483
855
  /**
484
856
  * @generated from message mgx.wallet.v1.account.GetUsageStatsResponse.Data
@@ -546,7 +918,7 @@ export type GetUsageStatsResponse_Data = Message<"mgx.wallet.v1.account.GetUsage
546
918
  * Use `create(GetUsageStatsResponse_DataSchema)` to create a new message.
547
919
  */
548
920
  export const GetUsageStatsResponse_DataSchema: GenMessage<GetUsageStatsResponse_Data> = /*@__PURE__*/
549
- messageDesc(file_v1_account_quota_service, 8, 0);
921
+ messageDesc(file_v1_account_quota_service, 13, 0);
550
922
 
551
923
  /**
552
924
  * @generated from message mgx.wallet.v1.account.CategoryUsage
@@ -586,7 +958,7 @@ export type CategoryUsage = Message<"mgx.wallet.v1.account.CategoryUsage"> & {
586
958
  * Use `create(CategoryUsageSchema)` to create a new message.
587
959
  */
588
960
  export const CategoryUsageSchema: GenMessage<CategoryUsage> = /*@__PURE__*/
589
- messageDesc(file_v1_account_quota_service, 9);
961
+ messageDesc(file_v1_account_quota_service, 14);
590
962
 
591
963
  /**
592
964
  * UsageItem: one per chat_id, with usage for all categories (Cloud/AI/General) in that chat.
@@ -642,7 +1014,7 @@ export type UsageItem = Message<"mgx.wallet.v1.account.UsageItem"> & {
642
1014
  * Use `create(UsageItemSchema)` to create a new message.
643
1015
  */
644
1016
  export const UsageItemSchema: GenMessage<UsageItem> = /*@__PURE__*/
645
- messageDesc(file_v1_account_quota_service, 10);
1017
+ messageDesc(file_v1_account_quota_service, 15);
646
1018
 
647
1019
  /**
648
1020
  * Monthly limit action enumeration
@@ -678,6 +1050,38 @@ export enum MonthlyLimitAction {
678
1050
  export const MonthlyLimitActionSchema: GenEnum<MonthlyLimitAction> = /*@__PURE__*/
679
1051
  enumDesc(file_v1_account_quota_service, 0);
680
1052
 
1053
+ /**
1054
+ * Ledger direction: quota is always positive, direction indicates increase or decrease.
1055
+ *
1056
+ * @generated from enum mgx.wallet.v1.account.LedgerDirection
1057
+ */
1058
+ export enum LedgerDirection {
1059
+ /**
1060
+ * @generated from enum value: LEDGER_DIRECTION_UNSPECIFIED = 0;
1061
+ */
1062
+ UNSPECIFIED = 0,
1063
+
1064
+ /**
1065
+ * Quota added (e.g. Increase, rollback credit)
1066
+ *
1067
+ * @generated from enum value: LEDGER_DIRECTION_INCREASE = 1;
1068
+ */
1069
+ INCREASE = 1,
1070
+
1071
+ /**
1072
+ * Quota deducted (e.g. Decrease)
1073
+ *
1074
+ * @generated from enum value: LEDGER_DIRECTION_DECREASE = 2;
1075
+ */
1076
+ DECREASE = 2,
1077
+ }
1078
+
1079
+ /**
1080
+ * Describes the enum mgx.wallet.v1.account.LedgerDirection.
1081
+ */
1082
+ export const LedgerDirectionSchema: GenEnum<LedgerDirection> = /*@__PURE__*/
1083
+ enumDesc(file_v1_account_quota_service, 1);
1084
+
681
1085
  /**
682
1086
  * Core service definition
683
1087
  *
@@ -692,6 +1096,22 @@ export const QuotaService: GenService<{
692
1096
  input: typeof DecreaseRequestSchema;
693
1097
  output: typeof DecreaseResponseSchema;
694
1098
  },
1099
+ /**
1100
+ * @generated from rpc mgx.wallet.v1.account.QuotaService.Rollback
1101
+ */
1102
+ rollback: {
1103
+ methodKind: "unary";
1104
+ input: typeof RollbackRequestSchema;
1105
+ output: typeof RollbackResponseSchema;
1106
+ },
1107
+ /**
1108
+ * @generated from rpc mgx.wallet.v1.account.QuotaService.QueryLedger
1109
+ */
1110
+ queryLedger: {
1111
+ methodKind: "unary";
1112
+ input: typeof QueryLedgerRequestSchema;
1113
+ output: typeof QueryLedgerResponseSchema;
1114
+ },
695
1115
  /**
696
1116
  * @generated from rpc mgx.wallet.v1.account.QuotaService.GetBalance
697
1117
  */
@@ -9,7 +9,7 @@ import { enumDesc, fileDesc } from "@bufbuild/protobuf/codegenv2";
9
9
  * Describes the file v1/common/code.proto.
10
10
  */
11
11
  export const file_v1_common_code: GenFile = /*@__PURE__*/
12
- fileDesc("ChR2MS9jb21tb24vY29kZS5wcm90bxIUbWd4LndhbGxldC52MS5jb21tb24qxQIKBENvZGUSFAoQQ09ERV9VTlNQRUNJRklFRBAAEhEKDENPREVfU1VDQ0VTUxDIARIbChVDT0RFX0lOVkFMSURfQVJHVU1FTlQQoY0GEhgKEkNPREVfTk9fUEVSTUlTU0lPThCijQYSHAoWQ09ERV9EVVBMSUNBVEVfUkVRVUVTVBCjjQYSHwoZQ09ERV9BVVRIT1JJWkFUSU9OX0ZBSUxFRBCkjQYSGQoTQ09ERV9JTlRFUk5BTF9FUlJPUhCDjgYSHwoZQ09ERV9JTlNVRkZJQ0lFTlRfQkFMQU5DRRCFjgYSIAoaQ09ERV9NT05USExZX0xJTUlUX1JFQUNIRUQQho4GEiQKHkNPREVfUFJPQ0VTU0lOR19QQVlNRU5UX0VYSVNUUxDpjgYSGgoUQ09ERV9PUkRFUl9OT1RfRk9VTkQQ6o4GQj9aPWdpdGxhYi5kZWVwd2lzZG9tYWkuY29tL2lkbC9nb2xhbmcvbWd4L3dhbGxldC9wcm90by92MS9jb21tb25iBnByb3RvMw");
12
+ fileDesc("ChR2MS9jb21tb24vY29kZS5wcm90bxIUbWd4LndhbGxldC52MS5jb21tb24qygMKBENvZGUSFAoQQ09ERV9VTlNQRUNJRklFRBAAEhEKDENPREVfU1VDQ0VTUxDIARIbChVDT0RFX0lOVkFMSURfQVJHVU1FTlQQoY0GEhgKEkNPREVfTk9fUEVSTUlTU0lPThCijQYSHAoWQ09ERV9EVVBMSUNBVEVfUkVRVUVTVBCjjQYSHwoZQ09ERV9BVVRIT1JJWkFUSU9OX0ZBSUxFRBCkjQYSGQoTQ09ERV9JTlRFUk5BTF9FUlJPUhCDjgYSHwoZQ09ERV9JTlNVRkZJQ0lFTlRfQkFMQU5DRRCFjgYSIAoaQ09ERV9NT05USExZX0xJTUlUX1JFQUNIRUQQho4GEh4KGENPREVfQUxSRUFEWV9ST0xMRURfQkFDSxCHjgYSHQoXQ09ERV9ERUNSRUFTRV9OT1RfRk9VTkQQiI4GEiIKHENPREVfUk9MTEJBQ0tfV0lORE9XX0VYUElSRUQQiY4GEiAKGkNPREVfRVhDRUVEX1JPTExCQUNLX0xJTUlUEIqOBhIkCh5DT0RFX1BST0NFU1NJTkdfUEFZTUVOVF9FWElTVFMQ6Y4GEhoKFENPREVfT1JERVJfTk9UX0ZPVU5EEOqOBkI/Wj1naXRsYWIuZGVlcHdpc2RvbWFpLmNvbS9pZGwvZ29sYW5nL21neC93YWxsZXQvcHJvdG8vdjEvY29tbW9uYgZwcm90bzM");
13
13
 
14
14
  /**
15
15
  * @generated from enum mgx.wallet.v1.common.Code
@@ -68,6 +68,26 @@ export enum Code {
68
68
  */
69
69
  MONTHLY_LIMIT_REACHED = 100102,
70
70
 
71
+ /**
72
+ * @generated from enum value: CODE_ALREADY_ROLLED_BACK = 100103;
73
+ */
74
+ ALREADY_ROLLED_BACK = 100103,
75
+
76
+ /**
77
+ * @generated from enum value: CODE_DECREASE_NOT_FOUND = 100104;
78
+ */
79
+ DECREASE_NOT_FOUND = 100104,
80
+
81
+ /**
82
+ * @generated from enum value: CODE_ROLLBACK_WINDOW_EXPIRED = 100105;
83
+ */
84
+ ROLLBACK_WINDOW_EXPIRED = 100105,
85
+
86
+ /**
87
+ * @generated from enum value: CODE_EXCEED_ROLLBACK_LIMIT = 100106;
88
+ */
89
+ EXCEED_ROLLBACK_LIMIT = 100106,
90
+
71
91
  /**
72
92
  * Top-up module 1002xx
73
93
  *