@polyester/sdk 0.7.0 → 0.8.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 (69) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/gen/auth/v1/api_keys_pb.d.ts +1 -1
  3. package/dist/gen/auth/v1/api_keys_pb.js.map +1 -1
  4. package/dist/gen/auth/v1/policies_pb.d.ts +47 -337
  5. package/dist/gen/auth/v1/policies_pb.d.ts.map +1 -1
  6. package/dist/gen/auth/v1/policies_pb.js +49 -73
  7. package/dist/gen/auth/v1/policies_pb.js.map +1 -1
  8. package/dist/gen/orders/v1/orders_pb.d.ts +32 -1
  9. package/dist/gen/orders/v1/orders_pb.d.ts.map +1 -1
  10. package/dist/gen/orders/v1/orders_pb.js +25 -1
  11. package/dist/gen/orders/v1/orders_pb.js.map +1 -1
  12. package/dist/gen/triggers/v1/triggers_pb.d.ts +22 -2
  13. package/dist/gen/triggers/v1/triggers_pb.d.ts.map +1 -1
  14. package/dist/gen/triggers/v1/triggers_pb.js +7 -1
  15. package/dist/gen/triggers/v1/triggers_pb.js.map +1 -1
  16. package/dist/index.d.ts +3 -3
  17. package/dist/services/lifecycle/lifecycle.schemas.d.ts +42 -42
  18. package/dist/services/orders/order-errors.schemas.d.ts +1 -1
  19. package/dist/services/orders/orders-batch.schemas.d.ts +20 -20
  20. package/dist/services/orders/orders-input.schemas.d.ts +4 -4
  21. package/dist/services/orders/orders-modify.schemas.d.ts +3 -2
  22. package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
  23. package/dist/services/orders/orders-modify.schemas.js +5 -3
  24. package/dist/services/orders/orders-modify.schemas.js.map +1 -1
  25. package/dist/services/orders/orders-output.schemas.d.ts +6 -6
  26. package/dist/services/orders/orders.d.ts +1 -1
  27. package/dist/services/orders/orders.js +1 -1
  28. package/dist/services/orders/orders.js.map +1 -1
  29. package/dist/services/policies/api-key-policies/api-key-policies.d.ts +2 -2
  30. package/dist/services/policies/api-key-policies/api-key-policies.js +2 -2
  31. package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
  32. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +15 -140
  33. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -1
  34. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +5 -53
  35. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -1
  36. package/dist/services/policies/shared.codecs.js +4 -12
  37. package/dist/services/policies/shared.codecs.js.map +1 -1
  38. package/dist/services/policies/shared.d.ts +1 -1
  39. package/dist/services/policies/shared.d.ts.map +1 -1
  40. package/dist/services/policies/shared.js +3 -11
  41. package/dist/services/policies/shared.js.map +1 -1
  42. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +1 -1
  43. package/dist/services/policies/subaccount-policies/subaccount-policies.js +1 -1
  44. package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
  45. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +10 -206
  46. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
  47. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +9 -115
  48. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
  49. package/dist/services/subaccounts/subaccounts.schemas.d.ts +5 -5
  50. package/dist/services/triggers/trigger-input.schemas.d.ts +14 -7
  51. package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
  52. package/dist/services/triggers/trigger-input.schemas.js +13 -3
  53. package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
  54. package/dist/services/triggers/triggers-output.schemas.d.ts +15 -15
  55. package/dist/services/triggers/triggers.codecs.js +6 -3
  56. package/dist/services/triggers/triggers.codecs.js.map +1 -1
  57. package/dist/services/triggers/triggers.d.ts +2 -2
  58. package/dist/services/triggers/triggers.js +2 -2
  59. package/dist/services/triggers/triggers.js.map +1 -1
  60. package/dist/services/triggers/triggers.types.d.ts +3 -3
  61. package/dist/shared/schemas.js +2 -2
  62. package/dist/shared/schemas.js.map +1 -1
  63. package/dist/shared/transports.js +6 -1
  64. package/dist/shared/transports.js.map +1 -1
  65. package/dist/shared/wire-bounds.js +3 -1
  66. package/dist/shared/wire-bounds.js.map +1 -1
  67. package/dist/utils/numbers.js +1 -10
  68. package/dist/utils/numbers.js.map +1 -1
  69. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"policies_pb.js","names":[],"sources":["../../../../src/gen/auth/v1/policies_pb.ts"],"sourcesContent":["// @generated by protoc-gen-es v2.13.0 with parameter \"target=ts,import_extension=js\"\n// @generated from file auth/v1/policies.proto (package auth.v1, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { FieldMask, Timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_google_protobuf_field_mask, file_google_protobuf_timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_polyester_api_options } from \"../../polyester/api/options_pb.js\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/v1/policies.proto.\n */\nexport const file_auth_v1_policies: GenFile = /*@__PURE__*/\n fileDesc(\"ChZhdXRoL3YxL3BvbGljaWVzLnByb3RvEgdhdXRoLnYxIj8KC01hcmtldFNjb3BlIjAKBVZhbHVlEg8KC1VOU1BFQ0lGSUVEEAASBwoDQUxMEAESDQoJQUxMT1dMSVNUEAIiIgoOU3BvdE1hcmtldFJ1bGUSEAoGc3ltYm9sGAEgASgJQgAiPAoOUGVycE1hcmtldFJ1bGUSEAoGc3ltYm9sGAEgASgJQgASGAoObWF4X2xldmVyYWdlX3gYAiABKA1CACLkBwoUU3ViYWNjb3VudFBvbGljeVZpZXcSCgoCaWQYASABKAYSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRItCgxzcG90X21hcmtldHMYBCADKAsyFy5hdXRoLnYxLlNwb3RNYXJrZXRSdWxlEi0KDHBlcnBfbWFya2V0cxgFIAMoCzIXLmF1dGgudjEuUGVycE1hcmtldFJ1bGUSNwoRc3BvdF9tYXJrZXRfc2NvcGUYBiABKA4yGi5hdXRoLnYxLk1hcmtldFNjb3BlLlZhbHVlQgASNwoRcGVycF9tYXJrZXRfc2NvcGUYByABKA4yGi5hdXRoLnYxLk1hcmtldFNjb3BlLlZhbHVlQgASKAoHYWN0aW9ucxgIIAMoDjIVLmF1dGgudjEuUG9saWN5QWN0aW9uQgASEwoLaXNfdGVtcGxhdGUYCiABKAgSGgoSc291cmNlX3RlbXBsYXRlX2lkGAsgASgGEhsKE2dsb2JhbF9ub3Rpb25hbF9jYXAYDCABKAQSGgoSbWF4X29yZGVyX25vdGlvbmFsGA0gASgEEhcKD21heF9vcGVuX29yZGVycxgOIAEoDRIaChJtYXhfb3Blbl9wb3NpdGlvbnMYDyABKA0SHgoWZ2xvYmFsX3BlcnBfbGV2ZXJhZ2VfeBgQIAEoDRIpCiFkYWlseV9pbnRlcm5hbF90cmFuc2Zlcl9vdXRfbGltaXQYESABKAQSHAoUZGFpbHlfd2l0aGRyYXdfbGltaXQYEiABKAQSIwobaW50ZXJuYWxfdHJhbnNmZXJzX293bl9vbmx5GBMgASgIEiIKGmVuZm9yY2Vfd2l0aGRyYXdfd2hpdGVsaXN0GBYgASgIEhYKDnRyYWRpbmdfaGFsdGVkGBcgASgIEhgKEGxpcXVpZGF0aW9uX29ubHkYGCABKAgSGAoQZGFpbHlfbG9zc19saW1pdBgZIAEoBBIlChtpbnRyYWRheV9kcmF3ZG93bl9saW1pdF9icHMYGiABKA1CABIOCgZsb2NrZWQYGyABKAgSLQoJcmV2aWV3X2F0GBwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GB0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCghyZXZpc2lvbhgeIAEoBCJPCh1MaXN0U3ViYWNjb3VudFBvbGljaWVzUmVxdWVzdBIcCg1zdWJhY2NvdW50X2lkGAEgASgGQgBIAIgBAUIQCg5fc3ViYWNjb3VudF9pZCJRCh5MaXN0U3ViYWNjb3VudFBvbGljaWVzUmVzcG9uc2USLwoIcG9saWNpZXMYASADKAsyHS5hdXRoLnYxLlN1YmFjY291bnRQb2xpY3lWaWV3ImEKGkdldFN1YmFjY291bnRQb2xpY3lSZXF1ZXN0EhMKCXBvbGljeV9pZBgBIAEoBkIAEhwKDXN1YmFjY291bnRfaWQYAiABKAZCAEgAiAEBQhAKDl9zdWJhY2NvdW50X2lkIkwKG0dldFN1YmFjY291bnRQb2xpY3lSZXNwb25zZRItCgZwb2xpY3kYASABKAsyHS5hdXRoLnYxLlN1YmFjY291bnRQb2xpY3lWaWV3IrsGChRTdWJhY2NvdW50UG9saWN5U3BlYxIOCgRuYW1lGAEgASgJQgASFQoLZGVzY3JpcHRpb24YAiABKAlCABItCgxzcG90X21hcmtldHMYAyADKAsyFy5hdXRoLnYxLlNwb3RNYXJrZXRSdWxlEi0KDHBlcnBfbWFya2V0cxgEIAMoCzIXLmF1dGgudjEuUGVycE1hcmtldFJ1bGUSNwoRc3BvdF9tYXJrZXRfc2NvcGUYBSABKA4yGi5hdXRoLnYxLk1hcmtldFNjb3BlLlZhbHVlQgASNwoRcGVycF9tYXJrZXRfc2NvcGUYBiABKA4yGi5hdXRoLnYxLk1hcmtldFNjb3BlLlZhbHVlQgASKAoHYWN0aW9ucxgHIAMoDjIVLmF1dGgudjEuUG9saWN5QWN0aW9uQgASGwoTZ2xvYmFsX25vdGlvbmFsX2NhcBgMIAEoBBIaChJtYXhfb3JkZXJfbm90aW9uYWwYDSABKAQSFwoPbWF4X29wZW5fb3JkZXJzGA4gASgNEhoKEm1heF9vcGVuX3Bvc2l0aW9ucxgPIAEoDRIeChZnbG9iYWxfcGVycF9sZXZlcmFnZV94GBAgASgNEikKIWRhaWx5X2ludGVybmFsX3RyYW5zZmVyX291dF9saW1pdBgRIAEoBBIcChRkYWlseV93aXRoZHJhd19saW1pdBgSIAEoBBIjChtpbnRlcm5hbF90cmFuc2ZlcnNfb3duX29ubHkYEyABKAgSIgoaZW5mb3JjZV93aXRoZHJhd193aGl0ZWxpc3QYFCABKAgSFgoOdHJhZGluZ19oYWx0ZWQYFSABKAgSGAoQbGlxdWlkYXRpb25fb25seRgWIAEoCBIYChBkYWlseV9sb3NzX2xpbWl0GBcgASgEEiUKG2ludHJhZGF5X2RyYXdkb3duX2xpbWl0X2JwcxgYIAEoDUIAEg4KBmxvY2tlZBgZIAEoCBItCglyZXZpZXdfYXQYGiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYGyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wOgAigAEKHUNyZWF0ZVN1YmFjY291bnRQb2xpY3lSZXF1ZXN0Ei8KBnBvbGljeRgBIAEoCzIdLmF1dGgudjEuU3ViYWNjb3VudFBvbGljeVNwZWNCABIcCg1zdWJhY2NvdW50X2lkGAIgASgGQgBIAIgBAUIQCg5fc3ViYWNjb3VudF9pZCJPCh5DcmVhdGVTdWJhY2NvdW50UG9saWN5UmVzcG9uc2USLQoGcG9saWN5GAEgASgLMh0uYXV0aC52MS5TdWJhY2NvdW50UG9saWN5VmlldyK1AQodVXBkYXRlU3ViYWNjb3VudFBvbGljeVJlcXVlc3QSEwoJcG9saWN5X2lkGAEgASgGQgASLwoGcG9saWN5GAIgASgLMh0uYXV0aC52MS5TdWJhY2NvdW50UG9saWN5U3BlY0IAEjEKC3VwZGF0ZV9tYXNrGAMgASgLMhouZ29vZ2xlLnByb3RvYnVmLkZpZWxkTWFza0IAEhsKEWV4cGVjdGVkX3JldmlzaW9uGAQgASgEQgAiTwoeVXBkYXRlU3ViYWNjb3VudFBvbGljeVJlc3BvbnNlEi0KBnBvbGljeRgBIAEoCzIdLmF1dGgudjEuU3ViYWNjb3VudFBvbGljeVZpZXciNAodRGVsZXRlU3ViYWNjb3VudFBvbGljeVJlcXVlc3QSEwoJcG9saWN5X2lkGAEgASgGQgAiIAoeRGVsZXRlU3ViYWNjb3VudFBvbGljeVJlc3BvbnNlIkgKGlNldFN1YmFjY291bnRQb2xpY3lSZXF1ZXN0EhcKDXN1YmFjY291bnRfaWQYASABKAZCABIRCglwb2xpY3lfaWQYAiABKAYiHQobU2V0U3ViYWNjb3VudFBvbGljeVJlc3BvbnNlIsAECg1BcGlQb2xpY3lWaWV3EgoKAmlkGAEgASgGEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSLQoMc3BvdF9tYXJrZXRzGAQgAygLMhcuYXV0aC52MS5TcG90TWFya2V0UnVsZRItCgxwZXJwX21hcmtldHMYBSADKAsyFy5hdXRoLnYxLlBlcnBNYXJrZXRSdWxlEigKB2FjdGlvbnMYBiADKA4yFS5hdXRoLnYxLlBvbGljeUFjdGlvbkIAEjcKEXNwb3RfbWFya2V0X3Njb3BlGAcgASgOMhouYXV0aC52MS5NYXJrZXRTY29wZS5WYWx1ZUIAEjcKEXBlcnBfbWFya2V0X3Njb3BlGAggASgOMhouYXV0aC52MS5NYXJrZXRTY29wZS5WYWx1ZUIAEhoKEm1heF9vcmRlcl9ub3Rpb25hbBgNIAEoBBIpCiFkYWlseV9pbnRlcm5hbF90cmFuc2Zlcl9vdXRfbGltaXQYESABKAQSHAoUZGFpbHlfd2l0aGRyYXdfbGltaXQYEiABKAQSEwoLaXNfdGVtcGxhdGUYEyABKAgSGgoSc291cmNlX3RlbXBsYXRlX2lkGBQgASgGEi4KCmNyZWF0ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhAKCHJldmlzaW9uGBcgASgEIjoKFkxpc3RBcGlQb2xpY2llc1JlcXVlc3QSFQoGa2V5X2lkGAEgASgJQgBIAIgBAUIJCgdfa2V5X2lkIkMKF0xpc3RBcGlQb2xpY2llc1Jlc3BvbnNlEigKCHBvbGljaWVzGAEgAygLMhYuYXV0aC52MS5BcGlQb2xpY3lWaWV3IkwKE0dldEFwaVBvbGljeVJlcXVlc3QSEwoJcG9saWN5X2lkGAEgASgGQgASFQoGa2V5X2lkGAIgASgJQgBIAIgBAUIJCgdfa2V5X2lkIj4KFEdldEFwaVBvbGljeVJlc3BvbnNlEiYKBnBvbGljeRgBIAEoCzIWLmF1dGgudjEuQXBpUG9saWN5VmlldyKsAwoNQXBpUG9saWN5U3BlYxIOCgRuYW1lGAEgASgJQgASFQoLZGVzY3JpcHRpb24YAiABKAlCABItCgxzcG90X21hcmtldHMYAyADKAsyFy5hdXRoLnYxLlNwb3RNYXJrZXRSdWxlEi0KDHBlcnBfbWFya2V0cxgEIAMoCzIXLmF1dGgudjEuUGVycE1hcmtldFJ1bGUSNwoRc3BvdF9tYXJrZXRfc2NvcGUYBSABKA4yGi5hdXRoLnYxLk1hcmtldFNjb3BlLlZhbHVlQgASNwoRcGVycF9tYXJrZXRfc2NvcGUYBiABKA4yGi5hdXRoLnYxLk1hcmtldFNjb3BlLlZhbHVlQgASKAoHYWN0aW9ucxgHIAMoDjIVLmF1dGgudjEuUG9saWN5QWN0aW9uQgASGgoSbWF4X29yZGVyX25vdGlvbmFsGA0gASgEEikKIWRhaWx5X2ludGVybmFsX3RyYW5zZmVyX291dF9saW1pdBgRIAEoBBIcChRkYWlseV93aXRoZHJhd19saW1pdBgSIAEoBBITCgtpc190ZW1wbGF0ZRgTIAEoCDoAIl4KFkNyZWF0ZUFwaVBvbGljeVJlcXVlc3QSKAoGcG9saWN5GAEgASgLMhYuYXV0aC52MS5BcGlQb2xpY3lTcGVjQgASGgoQYXNzaWduX3RvX2tleV9pZBgCIAEoCUIAIkEKF0NyZWF0ZUFwaVBvbGljeVJlc3BvbnNlEiYKBnBvbGljeRgBIAEoCzIWLmF1dGgudjEuQXBpUG9saWN5VmlldyKnAQoWVXBkYXRlQXBpUG9saWN5UmVxdWVzdBITCglwb2xpY3lfaWQYASABKAZCABIoCgZwb2xpY3kYAiABKAsyFi5hdXRoLnYxLkFwaVBvbGljeVNwZWNCABIxCgt1cGRhdGVfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCABIbChFleHBlY3RlZF9yZXZpc2lvbhgEIAEoBEIAIkEKF1VwZGF0ZUFwaVBvbGljeVJlc3BvbnNlEiYKBnBvbGljeRgBIAEoCzIWLmF1dGgudjEuQXBpUG9saWN5VmlldyItChZEZWxldGVBcGlQb2xpY3lSZXF1ZXN0EhMKCXBvbGljeV9pZBgBIAEoBkIAIhkKF0RlbGV0ZUFwaVBvbGljeVJlc3BvbnNlIj0KFlNldEFwaUtleVBvbGljeVJlcXVlc3QSEAoGa2V5X2lkGAEgASgJQgASEQoJcG9saWN5X2lkGAIgASgGIhkKF1NldEFwaUtleVBvbGljeVJlc3BvbnNlKq8CCgxQb2xpY3lBY3Rpb24SDwoLVU5TUEVDSUZJRUQQABIOCgpUUkFERV9TUE9UEAESDgoKVFJBREVfUEVSUBACEhUKEUlOVEVSTkFMX1RSQU5TRkVSEAMSFQoRRVhURVJOQUxfV0lUSERSQVcQBBIRCg1SRUFEX0JBTEFOQ0VTEAUSDQoJUkVBRF9TUE9UEAYSDQoJUkVBRF9QRVJQEAcSGwoXUkVBRF9JTlRFUk5BTF9UUkFOU0ZFUlMQCBIdChlSRUFEX0VYVEVSTkFMX1dJVEhEUkFXQUxTEAkSGgoWUkVBRF9UUkFOU0ZFUl9DT05UUk9MUxALEhcKE01BTkFHRV9BRERSRVNTX0JPT0sQDBIeChpNQU5BR0VfVFJBTlNGRVJfV0hJVEVMSVNUUxANMpIJCg1Qb2xpY3lTZXJ2aWNlEmsKFkxpc3RTdWJhY2NvdW50UG9saWNpZXMSJi5hdXRoLnYxLkxpc3RTdWJhY2NvdW50UG9saWNpZXNSZXF1ZXN0GicuYXV0aC52MS5MaXN0U3ViYWNjb3VudFBvbGljaWVzUmVzcG9uc2UiABJiChNHZXRTdWJhY2NvdW50UG9saWN5EiMuYXV0aC52MS5HZXRTdWJhY2NvdW50UG9saWN5UmVxdWVzdBokLmF1dGgudjEuR2V0U3ViYWNjb3VudFBvbGljeVJlc3BvbnNlIgASawoWQ3JlYXRlU3ViYWNjb3VudFBvbGljeRImLmF1dGgudjEuQ3JlYXRlU3ViYWNjb3VudFBvbGljeVJlcXVlc3QaJy5hdXRoLnYxLkNyZWF0ZVN1YmFjY291bnRQb2xpY3lSZXNwb25zZSIAEmsKFlVwZGF0ZVN1YmFjY291bnRQb2xpY3kSJi5hdXRoLnYxLlVwZGF0ZVN1YmFjY291bnRQb2xpY3lSZXF1ZXN0GicuYXV0aC52MS5VcGRhdGVTdWJhY2NvdW50UG9saWN5UmVzcG9uc2UiABJrChZEZWxldGVTdWJhY2NvdW50UG9saWN5EiYuYXV0aC52MS5EZWxldGVTdWJhY2NvdW50UG9saWN5UmVxdWVzdBonLmF1dGgudjEuRGVsZXRlU3ViYWNjb3VudFBvbGljeVJlc3BvbnNlIgASYgoTU2V0U3ViYWNjb3VudFBvbGljeRIjLmF1dGgudjEuU2V0U3ViYWNjb3VudFBvbGljeVJlcXVlc3QaJC5hdXRoLnYxLlNldFN1YmFjY291bnRQb2xpY3lSZXNwb25zZSIAElYKD0xpc3RBcGlQb2xpY2llcxIfLmF1dGgudjEuTGlzdEFwaVBvbGljaWVzUmVxdWVzdBogLmF1dGgudjEuTGlzdEFwaVBvbGljaWVzUmVzcG9uc2UiABJNCgxHZXRBcGlQb2xpY3kSHC5hdXRoLnYxLkdldEFwaVBvbGljeVJlcXVlc3QaHS5hdXRoLnYxLkdldEFwaVBvbGljeVJlc3BvbnNlIgASVgoPQ3JlYXRlQXBpUG9saWN5Eh8uYXV0aC52MS5DcmVhdGVBcGlQb2xpY3lSZXF1ZXN0GiAuYXV0aC52MS5DcmVhdGVBcGlQb2xpY3lSZXNwb25zZSIAElYKD1VwZGF0ZUFwaVBvbGljeRIfLmF1dGgudjEuVXBkYXRlQXBpUG9saWN5UmVxdWVzdBogLmF1dGgudjEuVXBkYXRlQXBpUG9saWN5UmVzcG9uc2UiABJWCg9EZWxldGVBcGlQb2xpY3kSHy5hdXRoLnYxLkRlbGV0ZUFwaVBvbGljeVJlcXVlc3QaIC5hdXRoLnYxLkRlbGV0ZUFwaVBvbGljeVJlc3BvbnNlIgASVgoPU2V0QXBpS2V5UG9saWN5Eh8uYXV0aC52MS5TZXRBcGlLZXlQb2xpY3lSZXF1ZXN0GiAuYXV0aC52MS5TZXRBcGlLZXlQb2xpY3lSZXNwb25zZSIAQjxaOmdpdGh1Yi5jb20vRmFicmljLUxhYnMvcG9seWVzdGVyLXNkay1nby9nZW4vYXV0aC92MTthdXRodjFiBnByb3RvMw==\", [file_google_protobuf_field_mask, file_google_protobuf_timestamp, file_polyester_api_options]);\n\n/**\n * MarketScope describes how a policy applies to spot markets or perp contracts.\n *\n * @generated from message auth.v1.MarketScope\n */\nexport type MarketScope = Message<\"auth.v1.MarketScope\"> & {\n};\n\n/**\n * Describes the message auth.v1.MarketScope.\n * Use `create(MarketScopeSchema)` to create a new message.\n */\nexport const MarketScopeSchema: GenMessage<MarketScope> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 0);\n\n/**\n * Value is the market-level scope:\n * - ALL: no market-level restriction; new listings are automatically allowed.\n * - ALLOWLIST: only the listed markets or contracts are allowed.\n *\n * @generated from enum auth.v1.MarketScope.Value\n */\nexport enum MarketScope_Value {\n /**\n * No scope selected. Create and update requests treat this as ALL.\n *\n * @generated from enum value: UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * Allow all current and future markets or contracts for this policy.\n *\n * @generated from enum value: ALL = 1;\n */\n ALL = 1,\n\n /**\n * Allow only the markets or contracts listed on this policy.\n *\n * @generated from enum value: ALLOWLIST = 2;\n */\n ALLOWLIST = 2,\n}\n\n/**\n * Describes the enum auth.v1.MarketScope.Value.\n */\nexport const MarketScope_ValueSchema: GenEnum<MarketScope_Value> = /*@__PURE__*/\n enumDesc(file_auth_v1_policies, 0, 0);\n\n/**\n * SpotMarketRule describes an allowed spot market for a sub-account policy.\n *\n * @generated from message auth.v1.SpotMarketRule\n */\nexport type SpotMarketRule = Message<\"auth.v1.SpotMarketRule\"> & {\n /**\n * Spot market symbol, e.g. \"BTC-USDT\".\n *\n * @generated from field: string symbol = 1;\n */\n symbol: string;\n};\n\n/**\n * Describes the message auth.v1.SpotMarketRule.\n * Use `create(SpotMarketRuleSchema)` to create a new message.\n */\nexport const SpotMarketRuleSchema: GenMessage<SpotMarketRule> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 1);\n\n/**\n * PerpMarketRule describes an allowed perp contract and optional max leverage.\n *\n * @generated from message auth.v1.PerpMarketRule\n */\nexport type PerpMarketRule = Message<\"auth.v1.PerpMarketRule\"> & {\n /**\n * Perp contract symbol, e.g. \"BTCUSDT\".\n *\n * @generated from field: string symbol = 1;\n */\n symbol: string;\n\n /**\n * Optional maximum leverage multiplier. Supported non-zero values are 1, 3,\n * 5, 10, 20, 50, and 100. A value of 0 means no explicit per-contract cap;\n * global_perp_leverage_x and product defaults still apply.\n *\n * @generated from field: uint32 max_leverage_x = 2;\n */\n maxLeverageX: number;\n};\n\n/**\n * Describes the message auth.v1.PerpMarketRule.\n * Use `create(PerpMarketRuleSchema)` to create a new message.\n */\nexport const PerpMarketRuleSchema: GenMessage<PerpMarketRule> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 2);\n\n/**\n * SubaccountPolicyView is the public view of a sub-account policy.\n *\n * @generated from message auth.v1.SubaccountPolicyView\n */\nexport type SubaccountPolicyView = Message<\"auth.v1.SubaccountPolicyView\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 id = 1;\n */\n id: bigint;\n\n /**\n * Human-readable policy name.\n *\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * Optional policy description for dashboards and audits.\n *\n * @generated from field: string description = 3;\n */\n description: string;\n\n /**\n * Allowed spot markets for this sub-account.\n *\n * @generated from field: repeated auth.v1.SpotMarketRule spot_markets = 4;\n */\n spotMarkets: SpotMarketRule[];\n\n /**\n * Allowed perp contracts for this sub-account, with optional per-contract caps.\n *\n * @generated from field: repeated auth.v1.PerpMarketRule perp_markets = 5;\n */\n perpMarkets: PerpMarketRule[];\n\n /**\n * Market-level scope for spot markets. When ALL, spot_markets is returned\n * for display only and is not enforced.\n *\n * @generated from field: auth.v1.MarketScope.Value spot_market_scope = 6;\n */\n spotMarketScope: MarketScope_Value;\n\n /**\n * Market-level scope for perp contracts. When ALL, perp_markets is returned\n * for display only and is not enforced.\n *\n * @generated from field: auth.v1.MarketScope.Value perp_market_scope = 7;\n */\n perpMarketScope: MarketScope_Value;\n\n /**\n * High-level actions enabled for the sub-account. Up to 64 unique explicit\n * actions may be returned.\n *\n * @generated from field: repeated auth.v1.PolicyAction actions = 8;\n */\n actions: PolicyAction[];\n\n /**\n * True if this policy is a reusable template; false if it is a\n * per-sub-account instance.\n *\n * @generated from field: bool is_template = 10;\n */\n isTemplate: boolean;\n\n /**\n * Optional source template this policy was copied from (opaque ID). This is\n * audit metadata only and does not imply live linkage.\n *\n * @generated from field: fixed64 source_template_id = 11;\n */\n sourceTemplateId: bigint;\n\n /**\n * Maximum total notional exposure (across all positions) allowed for this\n * sub-account, expressed in a canonical quote unit (e.g. micro-USDT).\n * A value of 0 means \"no explicit cap\".\n *\n * @generated from field: uint64 global_notional_cap = 12;\n */\n globalNotionalCap: bigint;\n\n /**\n * Maximum notional size allowed for any single order on this sub-account,\n * expressed in the same canonical quote unit as global_notional_cap.\n * A value of 0 means \"no explicit cap\".\n *\n * @generated from field: uint64 max_order_notional = 13;\n */\n maxOrderNotional: bigint;\n\n /**\n * Maximum number of resting orders allowed on this sub-account at any time.\n * A value of 0 means \"no explicit cap\".\n *\n * @generated from field: uint32 max_open_orders = 14;\n */\n maxOpenOrders: number;\n\n /**\n * Maximum number of open perp positions allowed on this sub-account.\n * A value of 0 means \"no explicit cap\".\n *\n * @generated from field: uint32 max_open_positions = 15;\n */\n maxOpenPositions: number;\n\n /**\n * Optional global leverage cap across all perp contracts, expressed as a\n * maximum leverage multiple. Supported non-zero values are 1, 3, 5, 10, 20,\n * 50, and 100. A value of 0 means \"no explicit global cap\"; per-contract\n * caps still apply.\n *\n * @generated from field: uint32 global_perp_leverage_x = 16;\n */\n globalPerpLeverageX: number;\n\n /**\n * Maximum total notional this sub-account can transfer out internally per\n * day, expressed in the canonical quote unit (for example, micro-USDT). A\n * value of 0 means \"no explicit cap\".\n *\n * @generated from field: uint64 daily_internal_transfer_out_limit = 17;\n */\n dailyInternalTransferOutLimit: bigint;\n\n /**\n * Maximum total notional this sub-account can withdraw per day, expressed in\n * the canonical quote unit (for example, micro-USDT). A value of 0 means \"no\n * explicit cap\".\n *\n * @generated from field: uint64 daily_withdraw_limit = 18;\n */\n dailyWithdrawLimit: bigint;\n\n /**\n * When true, internal transfers from this sub-account may only target other\n * sub-accounts owned by the same root account. When false, transfers to\n * other owners are allowed (subject to other policy checks).\n *\n * @generated from field: bool internal_transfers_own_only = 19;\n */\n internalTransfersOwnOnly: boolean;\n\n /**\n * When true, external withdrawals from this sub-account must target an\n * approved withdrawal destination.\n *\n * @generated from field: bool enforce_withdraw_whitelist = 22;\n */\n enforceWithdrawWhitelist: boolean;\n\n /**\n * When true, trading on this sub-account is halted: new orders are rejected\n * regardless of other settings. Existing positions may still be closed by\n * product safety controls.\n *\n * @generated from field: bool trading_halted = 23;\n */\n tradingHalted: boolean;\n\n /**\n * When true, this sub-account is in liquidation-only mode: new exposure\n * cannot be opened, but reduce-only / close-out actions are allowed.\n *\n * @generated from field: bool liquidation_only = 24;\n */\n liquidationOnly: boolean;\n\n /**\n * Maximum allowed realized loss for this sub-account over a rolling day\n * before safety controls may halt activity, expressed in the canonical quote\n * unit (for example, micro-USDT). A value of 0 means \"no explicit limit\".\n *\n * @generated from field: uint64 daily_loss_limit = 25;\n */\n dailyLossLimit: bigint;\n\n /**\n * Maximum allowed drawdown from peak equity in basis points (1/100 of a\n * percent) before safety controls may halt activity. A value of 0 means \"no\n * explicit limit\".\n *\n * @generated from field: uint32 intraday_drawdown_limit_bps = 26;\n */\n intradayDrawdownLimitBps: number;\n\n /**\n * When true, this policy is write-protected and requires an elevated approval\n * flow to modify it.\n *\n * @generated from field: bool locked = 27;\n */\n locked: boolean;\n\n /**\n * Optional review time in UTC. This is governance metadata and does not\n * automatically disable the policy.\n *\n * @generated from field: google.protobuf.Timestamp review_at = 28;\n */\n reviewAt?: Timestamp | undefined;\n\n /**\n * Optional expiry time in UTC. This is governance metadata and does not\n * automatically disable the policy.\n *\n * @generated from field: google.protobuf.Timestamp expires_at = 29;\n */\n expiresAt?: Timestamp | undefined;\n\n /**\n * Creation time in UTC.\n *\n * @generated from field: google.protobuf.Timestamp created_at = 20;\n */\n createdAt?: Timestamp | undefined;\n\n /**\n * Last update time in UTC.\n *\n * @generated from field: google.protobuf.Timestamp updated_at = 21;\n */\n updatedAt?: Timestamp | undefined;\n\n /**\n * Monotonic resource revision used for conditional updates.\n *\n * @generated from field: uint64 revision = 30;\n */\n revision: bigint;\n};\n\n/**\n * Describes the message auth.v1.SubaccountPolicyView.\n * Use `create(SubaccountPolicyViewSchema)` to create a new message.\n */\nexport const SubaccountPolicyViewSchema: GenMessage<SubaccountPolicyView> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 3);\n\n/**\n * ListSubaccountPoliciesRequest lists the finite set of sub-account policies\n * visible in the requested account scope. Results are sorted by ascending\n * policy ID and are not paginated.\n *\n * @generated from message auth.v1.ListSubaccountPoliciesRequest\n */\nexport type ListSubaccountPoliciesRequest = Message<\"auth.v1.ListSubaccountPoliciesRequest\"> & {\n /**\n * Optional sub-account context for delegated administration. When omitted,\n * only policies owned by the caller's root account are returned.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message auth.v1.ListSubaccountPoliciesRequest.\n * Use `create(ListSubaccountPoliciesRequestSchema)` to create a new message.\n */\nexport const ListSubaccountPoliciesRequestSchema: GenMessage<ListSubaccountPoliciesRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 4);\n\n/**\n * ListSubaccountPoliciesResponse contains sub-account policy templates sorted\n * by ascending policy ID.\n *\n * @generated from message auth.v1.ListSubaccountPoliciesResponse\n */\nexport type ListSubaccountPoliciesResponse = Message<\"auth.v1.ListSubaccountPoliciesResponse\"> & {\n /**\n * Sub-account policy templates visible to the caller.\n *\n * @generated from field: repeated auth.v1.SubaccountPolicyView policies = 1;\n */\n policies: SubaccountPolicyView[];\n};\n\n/**\n * Describes the message auth.v1.ListSubaccountPoliciesResponse.\n * Use `create(ListSubaccountPoliciesResponseSchema)` to create a new message.\n */\nexport const ListSubaccountPoliciesResponseSchema: GenMessage<ListSubaccountPoliciesResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 5);\n\n/**\n * GetSubaccountPolicyRequest fetches one sub-account policy template by ID.\n *\n * @generated from message auth.v1.GetSubaccountPolicyRequest\n */\nexport type GetSubaccountPolicyRequest = Message<\"auth.v1.GetSubaccountPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n\n /**\n * Optional sub-account context for delegated administration. When omitted,\n * the policy must be owned by the caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 2;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetSubaccountPolicyRequest.\n * Use `create(GetSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const GetSubaccountPolicyRequestSchema: GenMessage<GetSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 6);\n\n/**\n * GetSubaccountPolicyResponse returns the requested sub-account policy.\n *\n * @generated from message auth.v1.GetSubaccountPolicyResponse\n */\nexport type GetSubaccountPolicyResponse = Message<\"auth.v1.GetSubaccountPolicyResponse\"> & {\n /**\n * Matching sub-account policy.\n *\n * @generated from field: auth.v1.SubaccountPolicyView policy = 1;\n */\n policy?: SubaccountPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetSubaccountPolicyResponse.\n * Use `create(GetSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const GetSubaccountPolicyResponseSchema: GenMessage<GetSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 7);\n\n/**\n * SubaccountPolicySpec contains the mutable configuration of a sub-account policy.\n *\n * @generated from message auth.v1.SubaccountPolicySpec\n */\nexport type SubaccountPolicySpec = Message<\"auth.v1.SubaccountPolicySpec\"> & {\n /**\n * Human-readable policy name. Create requires a non-empty value; update\n * validates it after merging fields selected by update_mask.\n *\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * Optional policy description for dashboards and audits. Maximum 256 characters.\n *\n * @generated from field: string description = 2;\n */\n description: string;\n\n /**\n * Allowed spot markets for this policy.\n *\n * @generated from field: repeated auth.v1.SpotMarketRule spot_markets = 3;\n */\n spotMarkets: SpotMarketRule[];\n\n /**\n * Allowed perp markets and optional per-contract leverage caps.\n *\n * @generated from field: repeated auth.v1.PerpMarketRule perp_markets = 4;\n */\n perpMarkets: PerpMarketRule[];\n\n /**\n * Market-level scope for spot markets. When unspecified, defaults to ALL.\n *\n * @generated from field: auth.v1.MarketScope.Value spot_market_scope = 5;\n */\n spotMarketScope: MarketScope_Value;\n\n /**\n * Market-level scope for perp contracts. When unspecified, defaults to ALL.\n *\n * @generated from field: auth.v1.MarketScope.Value perp_market_scope = 6;\n */\n perpMarketScope: MarketScope_Value;\n\n /**\n * High-level actions enabled for the sub-account policy. Up to 64 unique\n * explicit actions are allowed.\n *\n * @generated from field: repeated auth.v1.PolicyAction actions = 7;\n */\n actions: PolicyAction[];\n\n /**\n * Maximum total notional exposure across all positions for this sub-account,\n * expressed in the canonical quote unit (for example, micro-USDT). A value of\n * 0 means no explicit cap.\n *\n * @generated from field: uint64 global_notional_cap = 12;\n */\n globalNotionalCap: bigint;\n\n /**\n * Maximum notional size for any single order on this sub-account, expressed\n * in the canonical quote unit (for example, micro-USDT). A value of 0 means\n * no explicit cap.\n *\n * @generated from field: uint64 max_order_notional = 13;\n */\n maxOrderNotional: bigint;\n\n /**\n * Maximum number of resting orders allowed on this sub-account at any time.\n * A value of 0 means no explicit cap.\n *\n * @generated from field: uint32 max_open_orders = 14;\n */\n maxOpenOrders: number;\n\n /**\n * Maximum number of open perp positions allowed on this sub-account. A value\n * of 0 means no explicit cap.\n *\n * @generated from field: uint32 max_open_positions = 15;\n */\n maxOpenPositions: number;\n\n /**\n * Optional global leverage cap across all perp contracts. Supported non-zero\n * values are 1, 3, 5, 10, 20, 50, and 100. A value of 0 means no explicit cap.\n *\n * @generated from field: uint32 global_perp_leverage_x = 16;\n */\n globalPerpLeverageX: number;\n\n /**\n * Maximum total notional this sub-account can transfer out internally per\n * rolling day, expressed in the canonical quote unit (for example,\n * micro-USDT). A value of 0 means no explicit cap.\n *\n * @generated from field: uint64 daily_internal_transfer_out_limit = 17;\n */\n dailyInternalTransferOutLimit: bigint;\n\n /**\n * Maximum total notional this sub-account can withdraw per rolling day,\n * expressed in the canonical quote unit (for example, micro-USDT). A value of\n * 0 means no explicit cap.\n *\n * @generated from field: uint64 daily_withdraw_limit = 18;\n */\n dailyWithdrawLimit: bigint;\n\n /**\n * When true, internal transfers from this sub-account may only target other\n * sub-accounts owned by the same root account.\n *\n * @generated from field: bool internal_transfers_own_only = 19;\n */\n internalTransfersOwnOnly: boolean;\n\n /**\n * When true, external withdrawals from this sub-account must target an\n * approved withdrawal destination.\n *\n * @generated from field: bool enforce_withdraw_whitelist = 20;\n */\n enforceWithdrawWhitelist: boolean;\n\n /**\n * When true, new orders for this sub-account are rejected regardless of other\n * policy settings.\n *\n * @generated from field: bool trading_halted = 21;\n */\n tradingHalted: boolean;\n\n /**\n * When true, this sub-account may only reduce or close existing exposure.\n *\n * @generated from field: bool liquidation_only = 22;\n */\n liquidationOnly: boolean;\n\n /**\n * Maximum realized loss over a rolling day before safety controls may halt\n * activity, expressed in the canonical quote unit (for example, micro-USDT).\n * A value of 0 means no explicit limit.\n *\n * @generated from field: uint64 daily_loss_limit = 23;\n */\n dailyLossLimit: bigint;\n\n /**\n * Maximum drawdown from peak equity in basis points. One basis point is\n * 1/100 of one percent. A value of 0 means no explicit limit.\n *\n * @generated from field: uint32 intraday_drawdown_limit_bps = 24;\n */\n intradayDrawdownLimitBps: number;\n\n /**\n * When true, the policy is write-protected and requires an elevated mutation path.\n *\n * @generated from field: bool locked = 25;\n */\n locked: boolean;\n\n /**\n * Optional review time in UTC. This does not automatically disable the policy.\n *\n * @generated from field: google.protobuf.Timestamp review_at = 26;\n */\n reviewAt?: Timestamp | undefined;\n\n /**\n * Optional expiry time in UTC. This does not automatically disable the policy.\n *\n * @generated from field: google.protobuf.Timestamp expires_at = 27;\n */\n expiresAt?: Timestamp | undefined;\n};\n\n/**\n * Describes the message auth.v1.SubaccountPolicySpec.\n * Use `create(SubaccountPolicySpecSchema)` to create a new message.\n */\nexport const SubaccountPolicySpecSchema: GenMessage<SubaccountPolicySpec> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 8);\n\n/**\n * CreateSubaccountPolicyRequest defines a new sub-account policy template, with\n * an optional attach step for one target sub-account.\n *\n * @generated from message auth.v1.CreateSubaccountPolicyRequest\n */\nexport type CreateSubaccountPolicyRequest = Message<\"auth.v1.CreateSubaccountPolicyRequest\"> & {\n /**\n * Complete mutable policy configuration.\n *\n * @generated from field: auth.v1.SubaccountPolicySpec policy = 1;\n */\n policy?: SubaccountPolicySpec | undefined;\n\n /**\n * Optional target sub-account to attach atomically after creation.\n *\n * @generated from field: optional fixed64 subaccount_id = 2;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message auth.v1.CreateSubaccountPolicyRequest.\n * Use `create(CreateSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const CreateSubaccountPolicyRequestSchema: GenMessage<CreateSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 9);\n\n/**\n * CreateSubaccountPolicyResponse returns the created sub-account policy.\n *\n * @generated from message auth.v1.CreateSubaccountPolicyResponse\n */\nexport type CreateSubaccountPolicyResponse = Message<\"auth.v1.CreateSubaccountPolicyResponse\"> & {\n /**\n * Created sub-account policy.\n *\n * @generated from field: auth.v1.SubaccountPolicyView policy = 1;\n */\n policy?: SubaccountPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.CreateSubaccountPolicyResponse.\n * Use `create(CreateSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const CreateSubaccountPolicyResponseSchema: GenMessage<CreateSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 10);\n\n/**\n * UpdateSubaccountPolicyRequest changes selected mutable fields on an existing\n * sub-account policy.\n *\n * @generated from message auth.v1.UpdateSubaccountPolicyRequest\n */\nexport type UpdateSubaccountPolicyRequest = Message<\"auth.v1.UpdateSubaccountPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n\n /**\n * Candidate values for fields selected by update_mask.\n *\n * @generated from field: auth.v1.SubaccountPolicySpec policy = 2;\n */\n policy?: SubaccountPolicySpec | undefined;\n\n /**\n * Mutable fields to apply. Paths are relative to policy. The mask is required,\n * must be non-empty, and cannot contain \"*\".\n *\n * @generated from field: google.protobuf.FieldMask update_mask = 3;\n */\n updateMask?: FieldMask | undefined;\n\n /**\n * Revision returned by the latest successful read. Stale revisions fail with\n * a conflict before no-op detection.\n *\n * @generated from field: uint64 expected_revision = 4;\n */\n expectedRevision: bigint;\n};\n\n/**\n * Describes the message auth.v1.UpdateSubaccountPolicyRequest.\n * Use `create(UpdateSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const UpdateSubaccountPolicyRequestSchema: GenMessage<UpdateSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 11);\n\n/**\n * UpdateSubaccountPolicyResponse returns the updated sub-account policy.\n *\n * @generated from message auth.v1.UpdateSubaccountPolicyResponse\n */\nexport type UpdateSubaccountPolicyResponse = Message<\"auth.v1.UpdateSubaccountPolicyResponse\"> & {\n /**\n * Updated sub-account policy.\n *\n * @generated from field: auth.v1.SubaccountPolicyView policy = 1;\n */\n policy?: SubaccountPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.UpdateSubaccountPolicyResponse.\n * Use `create(UpdateSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const UpdateSubaccountPolicyResponseSchema: GenMessage<UpdateSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 12);\n\n/**\n * DeleteSubaccountPolicyRequest deletes a sub-account policy template when it\n * is not in use.\n *\n * @generated from message auth.v1.DeleteSubaccountPolicyRequest\n */\nexport type DeleteSubaccountPolicyRequest = Message<\"auth.v1.DeleteSubaccountPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n};\n\n/**\n * Describes the message auth.v1.DeleteSubaccountPolicyRequest.\n * Use `create(DeleteSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const DeleteSubaccountPolicyRequestSchema: GenMessage<DeleteSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 13);\n\n/**\n * DeleteSubaccountPolicyResponse is empty when the delete succeeds.\n *\n * @generated from message auth.v1.DeleteSubaccountPolicyResponse\n */\nexport type DeleteSubaccountPolicyResponse = Message<\"auth.v1.DeleteSubaccountPolicyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.DeleteSubaccountPolicyResponse.\n * Use `create(DeleteSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const DeleteSubaccountPolicyResponseSchema: GenMessage<DeleteSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 14);\n\n/**\n * SetSubaccountPolicyRequest attaches or clears a policy template on a\n * sub-account.\n *\n * @generated from message auth.v1.SetSubaccountPolicyRequest\n */\nexport type SetSubaccountPolicyRequest = Message<\"auth.v1.SetSubaccountPolicyRequest\"> & {\n /**\n * Sub-account identifier (opaque ID).\n *\n * @generated from field: fixed64 subaccount_id = 1;\n */\n subaccountId: bigint;\n\n /**\n * Policy template to attach (opaque ID). A value of 0 clears the policy\n * and reverts to the platform default for this sub-account.\n *\n * @generated from field: fixed64 policy_id = 2;\n */\n policyId: bigint;\n};\n\n/**\n * Describes the message auth.v1.SetSubaccountPolicyRequest.\n * Use `create(SetSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const SetSubaccountPolicyRequestSchema: GenMessage<SetSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 15);\n\n/**\n * SetSubaccountPolicyResponse is empty when the policy binding succeeds.\n *\n * @generated from message auth.v1.SetSubaccountPolicyResponse\n */\nexport type SetSubaccountPolicyResponse = Message<\"auth.v1.SetSubaccountPolicyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.SetSubaccountPolicyResponse.\n * Use `create(SetSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const SetSubaccountPolicyResponseSchema: GenMessage<SetSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 16);\n\n/**\n * ApiPolicyView is the public view of an API key policy template. API key\n * policy limits are additional caps and cannot exceed the sub-account policy.\n *\n * @generated from message auth.v1.ApiPolicyView\n */\nexport type ApiPolicyView = Message<\"auth.v1.ApiPolicyView\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 id = 1;\n */\n id: bigint;\n\n /**\n * Human-readable policy name.\n *\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * Optional policy description for dashboards and audits.\n *\n * @generated from field: string description = 3;\n */\n description: string;\n\n /**\n * Allowed spot markets for this API key policy.\n *\n * @generated from field: repeated auth.v1.SpotMarketRule spot_markets = 4;\n */\n spotMarkets: SpotMarketRule[];\n\n /**\n * Allowed perp contracts for this API key policy, with optional per-contract caps.\n *\n * @generated from field: repeated auth.v1.PerpMarketRule perp_markets = 5;\n */\n perpMarkets: PerpMarketRule[];\n\n /**\n * High-level actions enabled for this API key. Up to 64 unique explicit\n * actions may be returned.\n *\n * @generated from field: repeated auth.v1.PolicyAction actions = 6;\n */\n actions: PolicyAction[];\n\n /**\n * Market-level scope for spot markets. When ALL, spot_markets is returned\n * for display only and is not enforced.\n *\n * @generated from field: auth.v1.MarketScope.Value spot_market_scope = 7;\n */\n spotMarketScope: MarketScope_Value;\n\n /**\n * Market-level scope for perp contracts. When ALL, perp_markets is returned\n * for display only and is not enforced.\n *\n * @generated from field: auth.v1.MarketScope.Value perp_market_scope = 8;\n */\n perpMarketScope: MarketScope_Value;\n\n /**\n * Maximum notional size allowed for any single order via this key, expressed\n * in a canonical quote unit (e.g. micro-USDT). A value of 0 means \"no\n * explicit additional cap\" beyond the sub-account policy.\n *\n * @generated from field: uint64 max_order_notional = 13;\n */\n maxOrderNotional: bigint;\n\n /**\n * Maximum total notional this API key can transfer out internally per day,\n * expressed in the canonical quote unit (for example, micro-USDT). A value of\n * 0 means no additional cap beyond the sub-account policy.\n *\n * @generated from field: uint64 daily_internal_transfer_out_limit = 17;\n */\n dailyInternalTransferOutLimit: bigint;\n\n /**\n * Maximum total notional this API key can withdraw per day, expressed in the\n * canonical quote unit (for example, micro-USDT). A value of 0 means no\n * additional cap beyond the sub-account policy.\n *\n * @generated from field: uint64 daily_withdraw_limit = 18;\n */\n dailyWithdrawLimit: bigint;\n\n /**\n * When true, this policy is intended to be reused as a template across\n * multiple API keys. When false, it represents a single-key instance.\n *\n * @generated from field: bool is_template = 19;\n */\n isTemplate: boolean;\n\n /**\n * Optional source template this policy was copied from (opaque ID). This is\n * audit metadata only and does not imply live linkage.\n *\n * @generated from field: fixed64 source_template_id = 20;\n */\n sourceTemplateId: bigint;\n\n /**\n * Creation time in UTC.\n *\n * @generated from field: google.protobuf.Timestamp created_at = 21;\n */\n createdAt?: Timestamp | undefined;\n\n /**\n * Last update time in UTC.\n *\n * @generated from field: google.protobuf.Timestamp updated_at = 22;\n */\n updatedAt?: Timestamp | undefined;\n\n /**\n * Monotonic resource revision used for conditional updates.\n *\n * @generated from field: uint64 revision = 23;\n */\n revision: bigint;\n};\n\n/**\n * Describes the message auth.v1.ApiPolicyView.\n * Use `create(ApiPolicyViewSchema)` to create a new message.\n */\nexport const ApiPolicyViewSchema: GenMessage<ApiPolicyView> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 17);\n\n/**\n * ListApiPoliciesRequest lists the finite set of API key policies visible in\n * the requested account scope. Results are sorted by ascending policy ID and\n * are not paginated.\n *\n * @generated from message auth.v1.ListApiPoliciesRequest\n */\nexport type ListApiPoliciesRequest = Message<\"auth.v1.ListApiPoliciesRequest\"> & {\n /**\n * Optional API key context for delegated administration. When omitted, only\n * policies owned by the caller's root account are returned.\n *\n * @generated from field: optional string key_id = 1;\n */\n keyId?: string | undefined;\n};\n\n/**\n * Describes the message auth.v1.ListApiPoliciesRequest.\n * Use `create(ListApiPoliciesRequestSchema)` to create a new message.\n */\nexport const ListApiPoliciesRequestSchema: GenMessage<ListApiPoliciesRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 18);\n\n/**\n * ListApiPoliciesResponse contains API key policy templates sorted by ascending\n * policy ID.\n *\n * @generated from message auth.v1.ListApiPoliciesResponse\n */\nexport type ListApiPoliciesResponse = Message<\"auth.v1.ListApiPoliciesResponse\"> & {\n /**\n * API key policy templates visible to the caller.\n *\n * @generated from field: repeated auth.v1.ApiPolicyView policies = 1;\n */\n policies: ApiPolicyView[];\n};\n\n/**\n * Describes the message auth.v1.ListApiPoliciesResponse.\n * Use `create(ListApiPoliciesResponseSchema)` to create a new message.\n */\nexport const ListApiPoliciesResponseSchema: GenMessage<ListApiPoliciesResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 19);\n\n/**\n * GetApiPolicyRequest fetches one API key policy template by ID.\n *\n * @generated from message auth.v1.GetApiPolicyRequest\n */\nexport type GetApiPolicyRequest = Message<\"auth.v1.GetApiPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n\n /**\n * Optional API key context for delegated administration. When omitted, the\n * policy must be owned by the caller's root account.\n *\n * @generated from field: optional string key_id = 2;\n */\n keyId?: string | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetApiPolicyRequest.\n * Use `create(GetApiPolicyRequestSchema)` to create a new message.\n */\nexport const GetApiPolicyRequestSchema: GenMessage<GetApiPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 20);\n\n/**\n * GetApiPolicyResponse returns the requested API key policy.\n *\n * @generated from message auth.v1.GetApiPolicyResponse\n */\nexport type GetApiPolicyResponse = Message<\"auth.v1.GetApiPolicyResponse\"> & {\n /**\n * Matching API key policy.\n *\n * @generated from field: auth.v1.ApiPolicyView policy = 1;\n */\n policy?: ApiPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetApiPolicyResponse.\n * Use `create(GetApiPolicyResponseSchema)` to create a new message.\n */\nexport const GetApiPolicyResponseSchema: GenMessage<GetApiPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 21);\n\n/**\n * ApiPolicySpec contains the mutable configuration of an API key policy.\n *\n * @generated from message auth.v1.ApiPolicySpec\n */\nexport type ApiPolicySpec = Message<\"auth.v1.ApiPolicySpec\"> & {\n /**\n * Human-readable policy name. Create requires a non-empty value; update\n * validates it after merging fields selected by update_mask.\n *\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * Optional policy description for dashboards and audits. Maximum 256 characters.\n *\n * @generated from field: string description = 2;\n */\n description: string;\n\n /**\n * Allowed spot markets for this API key policy.\n *\n * @generated from field: repeated auth.v1.SpotMarketRule spot_markets = 3;\n */\n spotMarkets: SpotMarketRule[];\n\n /**\n * Allowed perp markets and optional per-contract leverage caps.\n *\n * @generated from field: repeated auth.v1.PerpMarketRule perp_markets = 4;\n */\n perpMarkets: PerpMarketRule[];\n\n /**\n * Market-level scope for spot markets. When unspecified, defaults to ALL.\n *\n * @generated from field: auth.v1.MarketScope.Value spot_market_scope = 5;\n */\n spotMarketScope: MarketScope_Value;\n\n /**\n * Market-level scope for perp contracts. When unspecified, defaults to ALL.\n *\n * @generated from field: auth.v1.MarketScope.Value perp_market_scope = 6;\n */\n perpMarketScope: MarketScope_Value;\n\n /**\n * High-level actions enabled for the API key policy. Up to 64 unique explicit\n * actions are allowed.\n *\n * @generated from field: repeated auth.v1.PolicyAction actions = 7;\n */\n actions: PolicyAction[];\n\n /**\n * Maximum notional size for any single order submitted with this API key,\n * expressed in the canonical quote unit (for example, micro-USDT). A value of\n * 0 means no additional cap beyond the sub-account policy.\n *\n * @generated from field: uint64 max_order_notional = 13;\n */\n maxOrderNotional: bigint;\n\n /**\n * Maximum total notional this API key can transfer out internally per rolling\n * day, expressed in the canonical quote unit (for example, micro-USDT). A\n * value of 0 means no additional cap beyond the sub-account policy.\n *\n * @generated from field: uint64 daily_internal_transfer_out_limit = 17;\n */\n dailyInternalTransferOutLimit: bigint;\n\n /**\n * Maximum total notional this API key can withdraw per rolling day, expressed\n * in the canonical quote unit (for example, micro-USDT). A value of 0 means\n * no additional cap beyond the sub-account policy.\n *\n * @generated from field: uint64 daily_withdraw_limit = 18;\n */\n dailyWithdrawLimit: bigint;\n\n /**\n * Whether this policy should be treated as a reusable template.\n *\n * @generated from field: bool is_template = 19;\n */\n isTemplate: boolean;\n};\n\n/**\n * Describes the message auth.v1.ApiPolicySpec.\n * Use `create(ApiPolicySpecSchema)` to create a new message.\n */\nexport const ApiPolicySpecSchema: GenMessage<ApiPolicySpec> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 22);\n\n/**\n * CreateApiPolicyRequest defines a new API key policy template.\n *\n * @generated from message auth.v1.CreateApiPolicyRequest\n */\nexport type CreateApiPolicyRequest = Message<\"auth.v1.CreateApiPolicyRequest\"> & {\n /**\n * Complete mutable policy configuration.\n *\n * @generated from field: auth.v1.ApiPolicySpec policy = 1;\n */\n policy?: ApiPolicySpec | undefined;\n\n /**\n * Optional API key identifier to bind this newly-created policy to\n * atomically. When set, the caller must be allowed to manage the key and the\n * create+assign operation consumes a single fresh step-up proof.\n *\n * @generated from field: string assign_to_key_id = 2;\n */\n assignToKeyId: string;\n};\n\n/**\n * Describes the message auth.v1.CreateApiPolicyRequest.\n * Use `create(CreateApiPolicyRequestSchema)` to create a new message.\n */\nexport const CreateApiPolicyRequestSchema: GenMessage<CreateApiPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 23);\n\n/**\n * CreateApiPolicyResponse returns the created API key policy.\n *\n * @generated from message auth.v1.CreateApiPolicyResponse\n */\nexport type CreateApiPolicyResponse = Message<\"auth.v1.CreateApiPolicyResponse\"> & {\n /**\n * Created API key policy.\n *\n * @generated from field: auth.v1.ApiPolicyView policy = 1;\n */\n policy?: ApiPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.CreateApiPolicyResponse.\n * Use `create(CreateApiPolicyResponseSchema)` to create a new message.\n */\nexport const CreateApiPolicyResponseSchema: GenMessage<CreateApiPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 24);\n\n/**\n * UpdateApiPolicyRequest changes selected mutable fields on an existing API\n * key policy.\n *\n * @generated from message auth.v1.UpdateApiPolicyRequest\n */\nexport type UpdateApiPolicyRequest = Message<\"auth.v1.UpdateApiPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n\n /**\n * Candidate values for fields selected by update_mask.\n *\n * @generated from field: auth.v1.ApiPolicySpec policy = 2;\n */\n policy?: ApiPolicySpec | undefined;\n\n /**\n * Mutable fields to apply. Paths are relative to policy. The mask is required,\n * must be non-empty, and cannot contain \"*\".\n *\n * @generated from field: google.protobuf.FieldMask update_mask = 3;\n */\n updateMask?: FieldMask | undefined;\n\n /**\n * Revision returned by the latest successful read. Stale revisions fail with\n * a conflict before no-op detection.\n *\n * @generated from field: uint64 expected_revision = 4;\n */\n expectedRevision: bigint;\n};\n\n/**\n * Describes the message auth.v1.UpdateApiPolicyRequest.\n * Use `create(UpdateApiPolicyRequestSchema)` to create a new message.\n */\nexport const UpdateApiPolicyRequestSchema: GenMessage<UpdateApiPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 25);\n\n/**\n * UpdateApiPolicyResponse returns the updated API key policy.\n *\n * @generated from message auth.v1.UpdateApiPolicyResponse\n */\nexport type UpdateApiPolicyResponse = Message<\"auth.v1.UpdateApiPolicyResponse\"> & {\n /**\n * Updated API key policy.\n *\n * @generated from field: auth.v1.ApiPolicyView policy = 1;\n */\n policy?: ApiPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.UpdateApiPolicyResponse.\n * Use `create(UpdateApiPolicyResponseSchema)` to create a new message.\n */\nexport const UpdateApiPolicyResponseSchema: GenMessage<UpdateApiPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 26);\n\n/**\n * DeleteApiPolicyRequest deletes an API key policy template when it is not in use.\n *\n * @generated from message auth.v1.DeleteApiPolicyRequest\n */\nexport type DeleteApiPolicyRequest = Message<\"auth.v1.DeleteApiPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n};\n\n/**\n * Describes the message auth.v1.DeleteApiPolicyRequest.\n * Use `create(DeleteApiPolicyRequestSchema)` to create a new message.\n */\nexport const DeleteApiPolicyRequestSchema: GenMessage<DeleteApiPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 27);\n\n/**\n * DeleteApiPolicyResponse is empty when the delete succeeds.\n *\n * @generated from message auth.v1.DeleteApiPolicyResponse\n */\nexport type DeleteApiPolicyResponse = Message<\"auth.v1.DeleteApiPolicyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.DeleteApiPolicyResponse.\n * Use `create(DeleteApiPolicyResponseSchema)` to create a new message.\n */\nexport const DeleteApiPolicyResponseSchema: GenMessage<DeleteApiPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 28);\n\n/**\n * SetApiKeyPolicyRequest attaches or clears a policy template on an API key.\n *\n * @generated from message auth.v1.SetApiKeyPolicyRequest\n */\nexport type SetApiKeyPolicyRequest = Message<\"auth.v1.SetApiKeyPolicyRequest\"> & {\n /**\n * Opaque API key identifier, formatted as \"ak_\" followed by 32 lowercase hex\n * characters.\n *\n * @generated from field: string key_id = 1;\n */\n keyId: string;\n\n /**\n * Policy template to attach (opaque ID). A value of 0 clears the policy\n * and reverts to no per-key policy. The sub-account policy and role remain\n * the permission ceiling.\n *\n * @generated from field: fixed64 policy_id = 2;\n */\n policyId: bigint;\n};\n\n/**\n * Describes the message auth.v1.SetApiKeyPolicyRequest.\n * Use `create(SetApiKeyPolicyRequestSchema)` to create a new message.\n */\nexport const SetApiKeyPolicyRequestSchema: GenMessage<SetApiKeyPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 29);\n\n/**\n * SetApiKeyPolicyResponse is empty when the policy binding succeeds.\n *\n * @generated from message auth.v1.SetApiKeyPolicyResponse\n */\nexport type SetApiKeyPolicyResponse = Message<\"auth.v1.SetApiKeyPolicyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.SetApiKeyPolicyResponse.\n * Use `create(SetApiKeyPolicyResponseSchema)` to create a new message.\n */\nexport const SetApiKeyPolicyResponseSchema: GenMessage<SetApiKeyPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 30);\n\n/**\n * PolicyAction is a high-level permission that can be granted by a policy.\n * Write-style actions also grant the matching read visibility where needed by\n * the product experience.\n *\n * @generated from enum auth.v1.PolicyAction\n */\nexport enum PolicyAction {\n /**\n * No policy action selected. Requests must choose one or more explicit actions.\n *\n * @generated from enum value: UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * Allow placing/modifying/cancelling spot orders.\n *\n * @generated from enum value: TRADE_SPOT = 1;\n */\n TRADE_SPOT = 1,\n\n /**\n * Allow placing/modifying/cancelling perpetual futures orders.\n *\n * @generated from enum value: TRADE_PERP = 2;\n */\n TRADE_PERP = 2,\n\n /**\n * Allow internal transfers between sub-accounts or linked Polyester accounts.\n *\n * @generated from enum value: INTERNAL_TRANSFER = 3;\n */\n INTERNAL_TRANSFER = 3,\n\n /**\n * Allow external withdrawals to whitelisted addresses.\n *\n * @generated from enum value: EXTERNAL_WITHDRAW = 4;\n */\n EXTERNAL_WITHDRAW = 4,\n\n /**\n * Allow reading balances, positions and equity for a sub-account or API key.\n *\n * @generated from enum value: READ_BALANCES = 5;\n */\n READ_BALANCES = 5,\n\n /**\n * Allow reading spot orders/trades/positions (no write).\n *\n * @generated from enum value: READ_SPOT = 6;\n */\n READ_SPOT = 6,\n\n /**\n * Allow reading perp orders/trades/positions (no write).\n *\n * @generated from enum value: READ_PERP = 7;\n */\n READ_PERP = 7,\n\n /**\n * Allow reading internal transfer history.\n *\n * @generated from enum value: READ_INTERNAL_TRANSFERS = 8;\n */\n READ_INTERNAL_TRANSFERS = 8,\n\n /**\n * Allow reading external withdrawal history.\n *\n * @generated from enum value: READ_EXTERNAL_WITHDRAWALS = 9;\n */\n READ_EXTERNAL_WITHDRAWALS = 9,\n\n /**\n * Allow listing destination books, address book entries, recents, and mirrored whitelist state.\n *\n * @generated from enum value: READ_TRANSFER_CONTROLS = 11;\n */\n READ_TRANSFER_CONTROLS = 11,\n\n /**\n * Allow creating, updating, deleting, and copying saved destination entries.\n *\n * @generated from enum value: MANAGE_ADDRESS_BOOK = 12;\n */\n MANAGE_ADDRESS_BOOK = 12,\n\n /**\n * Allow mutating internal-transfer whitelist rows and requesting withdraw whitelist changes.\n *\n * @generated from enum value: MANAGE_TRANSFER_WHITELISTS = 13;\n */\n MANAGE_TRANSFER_WHITELISTS = 13,\n}\n\n/**\n * Describes the enum auth.v1.PolicyAction.\n */\nexport const PolicyActionSchema: GenEnum<PolicyAction> = /*@__PURE__*/\n enumDesc(file_auth_v1_policies, 0);\n\n/**\n * PolicyService manages sub-account and API key policy templates and bindings.\n *\n * @generated from service auth.v1.PolicyService\n */\nexport const PolicyService: GenService<{\n /**\n * List sub-account policy templates available to the caller.\n *\n * @generated from rpc auth.v1.PolicyService.ListSubaccountPolicies\n */\n listSubaccountPolicies: {\n methodKind: \"unary\";\n input: typeof ListSubaccountPoliciesRequestSchema;\n output: typeof ListSubaccountPoliciesResponseSchema;\n },\n /**\n * Get a sub-account policy template by id.\n *\n * @generated from rpc auth.v1.PolicyService.GetSubaccountPolicy\n */\n getSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof GetSubaccountPolicyRequestSchema;\n output: typeof GetSubaccountPolicyResponseSchema;\n },\n /**\n * Create a new sub-account policy template (optionally attach to a sub-account).\n *\n * @generated from rpc auth.v1.PolicyService.CreateSubaccountPolicy\n */\n createSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof CreateSubaccountPolicyRequestSchema;\n output: typeof CreateSubaccountPolicyResponseSchema;\n },\n /**\n * Change selected fields on an existing sub-account policy template.\n *\n * @generated from rpc auth.v1.PolicyService.UpdateSubaccountPolicy\n */\n updateSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof UpdateSubaccountPolicyRequestSchema;\n output: typeof UpdateSubaccountPolicyResponseSchema;\n },\n /**\n * Delete a sub-account policy template.\n *\n * @generated from rpc auth.v1.PolicyService.DeleteSubaccountPolicy\n */\n deleteSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof DeleteSubaccountPolicyRequestSchema;\n output: typeof DeleteSubaccountPolicyResponseSchema;\n },\n /**\n * Attach or clear a sub-account policy for a sub-account.\n *\n * @generated from rpc auth.v1.PolicyService.SetSubaccountPolicy\n */\n setSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof SetSubaccountPolicyRequestSchema;\n output: typeof SetSubaccountPolicyResponseSchema;\n },\n /**\n * List API key policy templates available to the caller.\n *\n * @generated from rpc auth.v1.PolicyService.ListApiPolicies\n */\n listApiPolicies: {\n methodKind: \"unary\";\n input: typeof ListApiPoliciesRequestSchema;\n output: typeof ListApiPoliciesResponseSchema;\n },\n /**\n * Get an API key policy template by id.\n *\n * @generated from rpc auth.v1.PolicyService.GetApiPolicy\n */\n getApiPolicy: {\n methodKind: \"unary\";\n input: typeof GetApiPolicyRequestSchema;\n output: typeof GetApiPolicyResponseSchema;\n },\n /**\n * Create a new API key policy template.\n *\n * @generated from rpc auth.v1.PolicyService.CreateApiPolicy\n */\n createApiPolicy: {\n methodKind: \"unary\";\n input: typeof CreateApiPolicyRequestSchema;\n output: typeof CreateApiPolicyResponseSchema;\n },\n /**\n * Change selected fields on an existing API key policy template.\n *\n * @generated from rpc auth.v1.PolicyService.UpdateApiPolicy\n */\n updateApiPolicy: {\n methodKind: \"unary\";\n input: typeof UpdateApiPolicyRequestSchema;\n output: typeof UpdateApiPolicyResponseSchema;\n },\n /**\n * Delete an API key policy template.\n *\n * @generated from rpc auth.v1.PolicyService.DeleteApiPolicy\n */\n deleteApiPolicy: {\n methodKind: \"unary\";\n input: typeof DeleteApiPolicyRequestSchema;\n output: typeof DeleteApiPolicyResponseSchema;\n },\n /**\n * Attach or clear an API key policy for a key.\n *\n * @generated from rpc auth.v1.PolicyService.SetApiKeyPolicy\n */\n setApiKeyPolicy: {\n methodKind: \"unary\";\n input: typeof SetApiKeyPolicyRequestSchema;\n output: typeof SetApiKeyPolicyResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_v1_policies, 0);\n\n"],"mappings":"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"}
1
+ {"version":3,"file":"policies_pb.js","names":[],"sources":["../../../../src/gen/auth/v1/policies_pb.ts"],"sourcesContent":["// @generated by protoc-gen-es v2.13.0 with parameter \"target=ts,import_extension=js\"\n// @generated from file auth/v1/policies.proto (package auth.v1, syntax proto3)\n/* eslint-disable */\n\nimport type { GenEnum, GenFile, GenMessage, GenService } from \"@bufbuild/protobuf/codegenv2\";\nimport { enumDesc, fileDesc, messageDesc, serviceDesc } from \"@bufbuild/protobuf/codegenv2\";\nimport type { FieldMask, Timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_google_protobuf_field_mask, file_google_protobuf_timestamp } from \"@bufbuild/protobuf/wkt\";\nimport { file_polyester_api_options } from \"../../polyester/api/options_pb.js\";\nimport type { Message } from \"@bufbuild/protobuf\";\n\n/**\n * Describes the file auth/v1/policies.proto.\n */\nexport const file_auth_v1_policies: GenFile = /*@__PURE__*/\n fileDesc(\"ChZhdXRoL3YxL3BvbGljaWVzLnByb3RvEgdhdXRoLnYxIj8KC01hcmtldFNjb3BlIjAKBVZhbHVlEg8KC1VOU1BFQ0lGSUVEEAASBwoDQUxMEAESDQoJQUxMT1dMSVNUEAIiIgoOU3BvdE1hcmtldFJ1bGUSEAoGc3ltYm9sGAEgASgJQgAi7wYKFFN1YmFjY291bnRQb2xpY3lWaWV3EgoKAmlkGAEgASgGEgwKBG5hbWUYAiABKAkSEwoLZGVzY3JpcHRpb24YAyABKAkSLQoMc3BvdF9tYXJrZXRzGAQgAygLMhcuYXV0aC52MS5TcG90TWFya2V0UnVsZRI3ChFzcG90X21hcmtldF9zY29wZRgGIAEoDjIaLmF1dGgudjEuTWFya2V0U2NvcGUuVmFsdWVCABIoCgdhY3Rpb25zGAggAygOMhUuYXV0aC52MS5Qb2xpY3lBY3Rpb25CABITCgtpc190ZW1wbGF0ZRgKIAEoCBIaChJzb3VyY2VfdGVtcGxhdGVfaWQYCyABKAYSGgoSbWF4X29yZGVyX25vdGlvbmFsGA0gASgEEhcKD21heF9vcGVuX29yZGVycxgOIAEoDRIWCg50cmFkaW5nX2hhbHRlZBgXIAEoCBIOCgZsb2NrZWQYGyABKAgSLQoJcmV2aWV3X2F0GBwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpleHBpcmVzX2F0GB0gASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgpjcmVhdGVkX2F0GBQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GBUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIQCghyZXZpc2lvbhgeIAEoBEoECAUQBkoECAcQCEoECAwQDUoECA8QFEoECBYQF0oECBgQG1IMcGVycF9tYXJrZXRzUhFwZXJwX21hcmtldF9zY29wZVITZ2xvYmFsX25vdGlvbmFsX2NhcFISbWF4X29wZW5fcG9zaXRpb25zUhZnbG9iYWxfcGVycF9sZXZlcmFnZV94UiFkYWlseV9pbnRlcm5hbF90cmFuc2Zlcl9vdXRfbGltaXRSFGRhaWx5X3dpdGhkcmF3X2xpbWl0UhtpbnRlcm5hbF90cmFuc2ZlcnNfb3duX29ubHlSGmVuZm9yY2Vfd2l0aGRyYXdfd2hpdGVsaXN0UhBsaXF1aWRhdGlvbl9vbmx5UhBkYWlseV9sb3NzX2xpbWl0UhtpbnRyYWRheV9kcmF3ZG93bl9saW1pdF9icHMiTwodTGlzdFN1YmFjY291bnRQb2xpY2llc1JlcXVlc3QSHAoNc3ViYWNjb3VudF9pZBgBIAEoBkIASACIAQFCEAoOX3N1YmFjY291bnRfaWQiUQoeTGlzdFN1YmFjY291bnRQb2xpY2llc1Jlc3BvbnNlEi8KCHBvbGljaWVzGAEgAygLMh0uYXV0aC52MS5TdWJhY2NvdW50UG9saWN5VmlldyJhChpHZXRTdWJhY2NvdW50UG9saWN5UmVxdWVzdBITCglwb2xpY3lfaWQYASABKAZCABIcCg1zdWJhY2NvdW50X2lkGAIgASgGQgBIAIgBAUIQCg5fc3ViYWNjb3VudF9pZCJMChtHZXRTdWJhY2NvdW50UG9saWN5UmVzcG9uc2USLQoGcG9saWN5GAEgASgLMh0uYXV0aC52MS5TdWJhY2NvdW50UG9saWN5VmlldyLABQoUU3ViYWNjb3VudFBvbGljeVNwZWMSDgoEbmFtZRgBIAEoCUIAEhUKC2Rlc2NyaXB0aW9uGAIgASgJQgASLQoMc3BvdF9tYXJrZXRzGAMgAygLMhcuYXV0aC52MS5TcG90TWFya2V0UnVsZRI3ChFzcG90X21hcmtldF9zY29wZRgFIAEoDjIaLmF1dGgudjEuTWFya2V0U2NvcGUuVmFsdWVCABIoCgdhY3Rpb25zGAcgAygOMhUuYXV0aC52MS5Qb2xpY3lBY3Rpb25CABIaChJtYXhfb3JkZXJfbm90aW9uYWwYDSABKAQSFwoPbWF4X29wZW5fb3JkZXJzGA4gASgNEhYKDnRyYWRpbmdfaGFsdGVkGBUgASgIEg4KBmxvY2tlZBgZIAEoCBItCglyZXZpZXdfYXQYGiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmV4cGlyZXNfYXQYGyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wOgBKBAgEEAVKBAgGEAdKBAgMEA1KBAgPEBVKBAgWEBlSDHBlcnBfbWFya2V0c1IRcGVycF9tYXJrZXRfc2NvcGVSE2dsb2JhbF9ub3Rpb25hbF9jYXBSEm1heF9vcGVuX3Bvc2l0aW9uc1IWZ2xvYmFsX3BlcnBfbGV2ZXJhZ2VfeFIhZGFpbHlfaW50ZXJuYWxfdHJhbnNmZXJfb3V0X2xpbWl0UhRkYWlseV93aXRoZHJhd19saW1pdFIbaW50ZXJuYWxfdHJhbnNmZXJzX293bl9vbmx5UhplbmZvcmNlX3dpdGhkcmF3X3doaXRlbGlzdFIQbGlxdWlkYXRpb25fb25seVIQZGFpbHlfbG9zc19saW1pdFIbaW50cmFkYXlfZHJhd2Rvd25fbGltaXRfYnBzIoABCh1DcmVhdGVTdWJhY2NvdW50UG9saWN5UmVxdWVzdBIvCgZwb2xpY3kYASABKAsyHS5hdXRoLnYxLlN1YmFjY291bnRQb2xpY3lTcGVjQgASHAoNc3ViYWNjb3VudF9pZBgCIAEoBkIASACIAQFCEAoOX3N1YmFjY291bnRfaWQiTwoeQ3JlYXRlU3ViYWNjb3VudFBvbGljeVJlc3BvbnNlEi0KBnBvbGljeRgBIAEoCzIdLmF1dGgudjEuU3ViYWNjb3VudFBvbGljeVZpZXcitQEKHVVwZGF0ZVN1YmFjY291bnRQb2xpY3lSZXF1ZXN0EhMKCXBvbGljeV9pZBgBIAEoBkIAEi8KBnBvbGljeRgCIAEoCzIdLmF1dGgudjEuU3ViYWNjb3VudFBvbGljeVNwZWNCABIxCgt1cGRhdGVfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCABIbChFleHBlY3RlZF9yZXZpc2lvbhgEIAEoBEIAIk8KHlVwZGF0ZVN1YmFjY291bnRQb2xpY3lSZXNwb25zZRItCgZwb2xpY3kYASABKAsyHS5hdXRoLnYxLlN1YmFjY291bnRQb2xpY3lWaWV3IjQKHURlbGV0ZVN1YmFjY291bnRQb2xpY3lSZXF1ZXN0EhMKCXBvbGljeV9pZBgBIAEoBkIAIiAKHkRlbGV0ZVN1YmFjY291bnRQb2xpY3lSZXNwb25zZSJIChpTZXRTdWJhY2NvdW50UG9saWN5UmVxdWVzdBIXCg1zdWJhY2NvdW50X2lkGAEgASgGQgASEQoJcG9saWN5X2lkGAIgASgGIh0KG1NldFN1YmFjY291bnRQb2xpY3lSZXNwb25zZSL/AwoNQXBpUG9saWN5VmlldxIKCgJpZBgBIAEoBhIMCgRuYW1lGAIgASgJEhMKC2Rlc2NyaXB0aW9uGAMgASgJEi0KDHNwb3RfbWFya2V0cxgEIAMoCzIXLmF1dGgudjEuU3BvdE1hcmtldFJ1bGUSKAoHYWN0aW9ucxgGIAMoDjIVLmF1dGgudjEuUG9saWN5QWN0aW9uQgASNwoRc3BvdF9tYXJrZXRfc2NvcGUYByABKA4yGi5hdXRoLnYxLk1hcmtldFNjb3BlLlZhbHVlQgASEwoLaXNfdGVtcGxhdGUYEyABKAgSGgoSc291cmNlX3RlbXBsYXRlX2lkGBQgASgGEi4KCmNyZWF0ZWRfYXQYFSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYFiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhAKCHJldmlzaW9uGBcgASgESgQIBRAGSgQICBAJSgQIDRAOSgQIERASSgQIEhATUgxwZXJwX21hcmtldHNSEXBlcnBfbWFya2V0X3Njb3BlUiFkYWlseV9pbnRlcm5hbF90cmFuc2Zlcl9vdXRfbGltaXRSFGRhaWx5X3dpdGhkcmF3X2xpbWl0UhJtYXhfb3JkZXJfbm90aW9uYWwiOgoWTGlzdEFwaVBvbGljaWVzUmVxdWVzdBIVCgZrZXlfaWQYASABKAlCAEgAiAEBQgkKB19rZXlfaWQiQwoXTGlzdEFwaVBvbGljaWVzUmVzcG9uc2USKAoIcG9saWNpZXMYASADKAsyFi5hdXRoLnYxLkFwaVBvbGljeVZpZXciTAoTR2V0QXBpUG9saWN5UmVxdWVzdBITCglwb2xpY3lfaWQYASABKAZCABIVCgZrZXlfaWQYAiABKAlCAEgAiAEBQgkKB19rZXlfaWQiPgoUR2V0QXBpUG9saWN5UmVzcG9uc2USJgoGcG9saWN5GAEgASgLMhYuYXV0aC52MS5BcGlQb2xpY3lWaWV3IusCCg1BcGlQb2xpY3lTcGVjEg4KBG5hbWUYASABKAlCABIVCgtkZXNjcmlwdGlvbhgCIAEoCUIAEi0KDHNwb3RfbWFya2V0cxgDIAMoCzIXLmF1dGgudjEuU3BvdE1hcmtldFJ1bGUSNwoRc3BvdF9tYXJrZXRfc2NvcGUYBSABKA4yGi5hdXRoLnYxLk1hcmtldFNjb3BlLlZhbHVlQgASKAoHYWN0aW9ucxgHIAMoDjIVLmF1dGgudjEuUG9saWN5QWN0aW9uQgASEwoLaXNfdGVtcGxhdGUYEyABKAg6AEoECAQQBUoECAYQB0oECA0QDkoECBEQEkoECBIQE1IMcGVycF9tYXJrZXRzUhFwZXJwX21hcmtldF9zY29wZVIhZGFpbHlfaW50ZXJuYWxfdHJhbnNmZXJfb3V0X2xpbWl0UhRkYWlseV93aXRoZHJhd19saW1pdFISbWF4X29yZGVyX25vdGlvbmFsIl4KFkNyZWF0ZUFwaVBvbGljeVJlcXVlc3QSKAoGcG9saWN5GAEgASgLMhYuYXV0aC52MS5BcGlQb2xpY3lTcGVjQgASGgoQYXNzaWduX3RvX2tleV9pZBgCIAEoCUIAIkEKF0NyZWF0ZUFwaVBvbGljeVJlc3BvbnNlEiYKBnBvbGljeRgBIAEoCzIWLmF1dGgudjEuQXBpUG9saWN5VmlldyKnAQoWVXBkYXRlQXBpUG9saWN5UmVxdWVzdBITCglwb2xpY3lfaWQYASABKAZCABIoCgZwb2xpY3kYAiABKAsyFi5hdXRoLnYxLkFwaVBvbGljeVNwZWNCABIxCgt1cGRhdGVfbWFzaxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5GaWVsZE1hc2tCABIbChFleHBlY3RlZF9yZXZpc2lvbhgEIAEoBEIAIkEKF1VwZGF0ZUFwaVBvbGljeVJlc3BvbnNlEiYKBnBvbGljeRgBIAEoCzIWLmF1dGgudjEuQXBpUG9saWN5VmlldyItChZEZWxldGVBcGlQb2xpY3lSZXF1ZXN0EhMKCXBvbGljeV9pZBgBIAEoBkIAIhkKF0RlbGV0ZUFwaVBvbGljeVJlc3BvbnNlIj0KFlNldEFwaUtleVBvbGljeVJlcXVlc3QSEAoGa2V5X2lkGAEgASgJQgASEQoJcG9saWN5X2lkGAIgASgGIhkKF1NldEFwaUtleVBvbGljeVJlc3BvbnNlKs4CCgxQb2xpY3lBY3Rpb24SDwoLVU5TUEVDSUZJRUQQABIOCgpUUkFERV9TUE9UEAESFQoRSU5URVJOQUxfVFJBTlNGRVIQAxIVChFFWFRFUk5BTF9XSVRIRFJBVxAEEhEKDVJFQURfQkFMQU5DRVMQBRINCglSRUFEX1NQT1QQBhIbChdSRUFEX0lOVEVSTkFMX1RSQU5TRkVSUxAIEhUKEVJFQURfQUREUkVTU19CT09LEAsSFwoTTUFOQUdFX0FERFJFU1NfQk9PSxAMIgQIAhACIgQIBxAHIgQIDRANIgQICRAJKgpUUkFERV9QRVJQKglSRUFEX1BFUlAqGlJFQURfVFJBTlNGRVJfREVTVElOQVRJT05TKhpNQU5BR0VfVFJBTlNGRVJfV0hJVEVMSVNUUyoZUkVBRF9FWFRFUk5BTF9XSVRIRFJBV0FMUzKSCQoNUG9saWN5U2VydmljZRJrChZMaXN0U3ViYWNjb3VudFBvbGljaWVzEiYuYXV0aC52MS5MaXN0U3ViYWNjb3VudFBvbGljaWVzUmVxdWVzdBonLmF1dGgudjEuTGlzdFN1YmFjY291bnRQb2xpY2llc1Jlc3BvbnNlIgASYgoTR2V0U3ViYWNjb3VudFBvbGljeRIjLmF1dGgudjEuR2V0U3ViYWNjb3VudFBvbGljeVJlcXVlc3QaJC5hdXRoLnYxLkdldFN1YmFjY291bnRQb2xpY3lSZXNwb25zZSIAEmsKFkNyZWF0ZVN1YmFjY291bnRQb2xpY3kSJi5hdXRoLnYxLkNyZWF0ZVN1YmFjY291bnRQb2xpY3lSZXF1ZXN0GicuYXV0aC52MS5DcmVhdGVTdWJhY2NvdW50UG9saWN5UmVzcG9uc2UiABJrChZVcGRhdGVTdWJhY2NvdW50UG9saWN5EiYuYXV0aC52MS5VcGRhdGVTdWJhY2NvdW50UG9saWN5UmVxdWVzdBonLmF1dGgudjEuVXBkYXRlU3ViYWNjb3VudFBvbGljeVJlc3BvbnNlIgASawoWRGVsZXRlU3ViYWNjb3VudFBvbGljeRImLmF1dGgudjEuRGVsZXRlU3ViYWNjb3VudFBvbGljeVJlcXVlc3QaJy5hdXRoLnYxLkRlbGV0ZVN1YmFjY291bnRQb2xpY3lSZXNwb25zZSIAEmIKE1NldFN1YmFjY291bnRQb2xpY3kSIy5hdXRoLnYxLlNldFN1YmFjY291bnRQb2xpY3lSZXF1ZXN0GiQuYXV0aC52MS5TZXRTdWJhY2NvdW50UG9saWN5UmVzcG9uc2UiABJWCg9MaXN0QXBpUG9saWNpZXMSHy5hdXRoLnYxLkxpc3RBcGlQb2xpY2llc1JlcXVlc3QaIC5hdXRoLnYxLkxpc3RBcGlQb2xpY2llc1Jlc3BvbnNlIgASTQoMR2V0QXBpUG9saWN5EhwuYXV0aC52MS5HZXRBcGlQb2xpY3lSZXF1ZXN0Gh0uYXV0aC52MS5HZXRBcGlQb2xpY3lSZXNwb25zZSIAElYKD0NyZWF0ZUFwaVBvbGljeRIfLmF1dGgudjEuQ3JlYXRlQXBpUG9saWN5UmVxdWVzdBogLmF1dGgudjEuQ3JlYXRlQXBpUG9saWN5UmVzcG9uc2UiABJWCg9VcGRhdGVBcGlQb2xpY3kSHy5hdXRoLnYxLlVwZGF0ZUFwaVBvbGljeVJlcXVlc3QaIC5hdXRoLnYxLlVwZGF0ZUFwaVBvbGljeVJlc3BvbnNlIgASVgoPRGVsZXRlQXBpUG9saWN5Eh8uYXV0aC52MS5EZWxldGVBcGlQb2xpY3lSZXF1ZXN0GiAuYXV0aC52MS5EZWxldGVBcGlQb2xpY3lSZXNwb25zZSIAElYKD1NldEFwaUtleVBvbGljeRIfLmF1dGgudjEuU2V0QXBpS2V5UG9saWN5UmVxdWVzdBogLmF1dGgudjEuU2V0QXBpS2V5UG9saWN5UmVzcG9uc2UiAEI8WjpnaXRodWIuY29tL0ZhYnJpYy1MYWJzL3BvbHllc3Rlci1zZGstZ28vZ2VuL2F1dGgvdjE7YXV0aHYxYgZwcm90bzM=\", [file_google_protobuf_field_mask, file_google_protobuf_timestamp, file_polyester_api_options]);\n\n/**\n * MarketScope describes how a policy applies to spot markets.\n *\n * @generated from message auth.v1.MarketScope\n */\nexport type MarketScope = Message<\"auth.v1.MarketScope\"> & {\n};\n\n/**\n * Describes the message auth.v1.MarketScope.\n * Use `create(MarketScopeSchema)` to create a new message.\n */\nexport const MarketScopeSchema: GenMessage<MarketScope> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 0);\n\n/**\n * Value is the market-level scope:\n * - ALL: no market-level restriction; new listings are automatically allowed.\n * - ALLOWLIST: only the listed markets are allowed.\n *\n * @generated from enum auth.v1.MarketScope.Value\n */\nexport enum MarketScope_Value {\n /**\n * No scope selected. Create and update requests treat this as ALL.\n *\n * @generated from enum value: UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * Allow all current and future markets for this policy.\n *\n * @generated from enum value: ALL = 1;\n */\n ALL = 1,\n\n /**\n * Allow only the markets listed on this policy.\n *\n * @generated from enum value: ALLOWLIST = 2;\n */\n ALLOWLIST = 2,\n}\n\n/**\n * Describes the enum auth.v1.MarketScope.Value.\n */\nexport const MarketScope_ValueSchema: GenEnum<MarketScope_Value> = /*@__PURE__*/\n enumDesc(file_auth_v1_policies, 0, 0);\n\n/**\n * SpotMarketRule describes an allowed spot market for a sub-account policy.\n *\n * @generated from message auth.v1.SpotMarketRule\n */\nexport type SpotMarketRule = Message<\"auth.v1.SpotMarketRule\"> & {\n /**\n * Spot market symbol, e.g. \"BTC-USDT\".\n *\n * @generated from field: string symbol = 1;\n */\n symbol: string;\n};\n\n/**\n * Describes the message auth.v1.SpotMarketRule.\n * Use `create(SpotMarketRuleSchema)` to create a new message.\n */\nexport const SpotMarketRuleSchema: GenMessage<SpotMarketRule> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 1);\n\n/**\n * SubaccountPolicyView is the public view of a sub-account policy.\n *\n * @generated from message auth.v1.SubaccountPolicyView\n */\nexport type SubaccountPolicyView = Message<\"auth.v1.SubaccountPolicyView\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 id = 1;\n */\n id: bigint;\n\n /**\n * Human-readable policy name.\n *\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * Optional policy description for dashboards and audits.\n *\n * @generated from field: string description = 3;\n */\n description: string;\n\n /**\n * Allowed spot markets for this sub-account.\n *\n * @generated from field: repeated auth.v1.SpotMarketRule spot_markets = 4;\n */\n spotMarkets: SpotMarketRule[];\n\n /**\n * Market-level scope for spot markets. When ALL, spot_markets is returned\n * for display only and is not enforced.\n *\n * @generated from field: auth.v1.MarketScope.Value spot_market_scope = 6;\n */\n spotMarketScope: MarketScope_Value;\n\n /**\n * Effective high-level actions enabled for the sub-account. Mandatory\n * read-only actions are always included.\n *\n * @generated from field: repeated auth.v1.PolicyAction actions = 8;\n */\n actions: PolicyAction[];\n\n /**\n * True if this policy is a reusable template; false if it is a\n * per-sub-account instance.\n *\n * @generated from field: bool is_template = 10;\n */\n isTemplate: boolean;\n\n /**\n * Optional source template this policy was copied from (opaque ID). This is\n * audit metadata only and does not imply live linkage.\n *\n * @generated from field: fixed64 source_template_id = 11;\n */\n sourceTemplateId: bigint;\n\n /**\n * Maximum notional size allowed for any single order on this sub-account,\n * expressed in canonical quote microunits (one unit is 0.000001 USDT).\n * A value of 0 means \"no explicit cap\".\n *\n * @generated from field: uint64 max_order_notional = 13;\n */\n maxOrderNotional: bigint;\n\n /**\n * Maximum number of resting orders allowed on this sub-account at any time.\n * A value of 0 means \"no explicit cap\".\n *\n * @generated from field: uint32 max_open_orders = 14;\n */\n maxOpenOrders: number;\n\n /**\n * When true, new orders and exposure-increasing order or trigger changes are\n * rejected regardless of other settings. Existing orders and triggers may\n * still be canceled or paused.\n *\n * @generated from field: bool trading_halted = 23;\n */\n tradingHalted: boolean;\n\n /**\n * When true, this policy is write-protected and requires an elevated approval\n * flow to modify it.\n *\n * @generated from field: bool locked = 27;\n */\n locked: boolean;\n\n /**\n * Optional review time in UTC. This is governance metadata and does not\n * automatically disable the policy.\n *\n * @generated from field: google.protobuf.Timestamp review_at = 28;\n */\n reviewAt?: Timestamp | undefined;\n\n /**\n * Optional expiry time in UTC. This is governance metadata and does not\n * automatically disable the policy.\n *\n * @generated from field: google.protobuf.Timestamp expires_at = 29;\n */\n expiresAt?: Timestamp | undefined;\n\n /**\n * Creation time in UTC.\n *\n * @generated from field: google.protobuf.Timestamp created_at = 20;\n */\n createdAt?: Timestamp | undefined;\n\n /**\n * Last update time in UTC.\n *\n * @generated from field: google.protobuf.Timestamp updated_at = 21;\n */\n updatedAt?: Timestamp | undefined;\n\n /**\n * Monotonic resource revision used for conditional updates.\n *\n * @generated from field: uint64 revision = 30;\n */\n revision: bigint;\n};\n\n/**\n * Describes the message auth.v1.SubaccountPolicyView.\n * Use `create(SubaccountPolicyViewSchema)` to create a new message.\n */\nexport const SubaccountPolicyViewSchema: GenMessage<SubaccountPolicyView> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 2);\n\n/**\n * ListSubaccountPoliciesRequest lists the finite set of sub-account policies\n * visible in the requested account scope. Results are sorted by ascending\n * policy ID and are not paginated.\n *\n * @generated from message auth.v1.ListSubaccountPoliciesRequest\n */\nexport type ListSubaccountPoliciesRequest = Message<\"auth.v1.ListSubaccountPoliciesRequest\"> & {\n /**\n * Optional sub-account context for delegated administration. When omitted,\n * only policies owned by the caller's root account are returned.\n *\n * @generated from field: optional fixed64 subaccount_id = 1;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message auth.v1.ListSubaccountPoliciesRequest.\n * Use `create(ListSubaccountPoliciesRequestSchema)` to create a new message.\n */\nexport const ListSubaccountPoliciesRequestSchema: GenMessage<ListSubaccountPoliciesRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 3);\n\n/**\n * ListSubaccountPoliciesResponse contains sub-account policy templates sorted\n * by ascending policy ID.\n *\n * @generated from message auth.v1.ListSubaccountPoliciesResponse\n */\nexport type ListSubaccountPoliciesResponse = Message<\"auth.v1.ListSubaccountPoliciesResponse\"> & {\n /**\n * Sub-account policy templates visible to the caller.\n *\n * @generated from field: repeated auth.v1.SubaccountPolicyView policies = 1;\n */\n policies: SubaccountPolicyView[];\n};\n\n/**\n * Describes the message auth.v1.ListSubaccountPoliciesResponse.\n * Use `create(ListSubaccountPoliciesResponseSchema)` to create a new message.\n */\nexport const ListSubaccountPoliciesResponseSchema: GenMessage<ListSubaccountPoliciesResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 4);\n\n/**\n * GetSubaccountPolicyRequest fetches one sub-account policy template by ID.\n *\n * @generated from message auth.v1.GetSubaccountPolicyRequest\n */\nexport type GetSubaccountPolicyRequest = Message<\"auth.v1.GetSubaccountPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n\n /**\n * Optional sub-account context for delegated administration. When omitted,\n * the policy must be owned by the caller's root account.\n *\n * @generated from field: optional fixed64 subaccount_id = 2;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetSubaccountPolicyRequest.\n * Use `create(GetSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const GetSubaccountPolicyRequestSchema: GenMessage<GetSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 5);\n\n/**\n * GetSubaccountPolicyResponse returns the requested sub-account policy.\n *\n * @generated from message auth.v1.GetSubaccountPolicyResponse\n */\nexport type GetSubaccountPolicyResponse = Message<\"auth.v1.GetSubaccountPolicyResponse\"> & {\n /**\n * Matching sub-account policy.\n *\n * @generated from field: auth.v1.SubaccountPolicyView policy = 1;\n */\n policy?: SubaccountPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetSubaccountPolicyResponse.\n * Use `create(GetSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const GetSubaccountPolicyResponseSchema: GenMessage<GetSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 6);\n\n/**\n * SubaccountPolicySpec contains the mutable configuration of a sub-account policy.\n *\n * @generated from message auth.v1.SubaccountPolicySpec\n */\nexport type SubaccountPolicySpec = Message<\"auth.v1.SubaccountPolicySpec\"> & {\n /**\n * Human-readable policy name. Create requires a non-empty value; update\n * validates it after merging fields selected by update_mask.\n *\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * Optional policy description for dashboards and audits. Maximum 256 characters.\n *\n * @generated from field: string description = 2;\n */\n description: string;\n\n /**\n * Allowed spot markets for this policy.\n *\n * @generated from field: repeated auth.v1.SpotMarketRule spot_markets = 3;\n */\n spotMarkets: SpotMarketRule[];\n\n /**\n * Market-level scope for spot markets. When unspecified, defaults to ALL.\n *\n * @generated from field: auth.v1.MarketScope.Value spot_market_scope = 5;\n */\n spotMarketScope: MarketScope_Value;\n\n /**\n * High-level actions enabled for the sub-account policy. Mandatory read-only\n * actions are included when omitted. Up to 64 unique explicit actions are\n * allowed.\n *\n * @generated from field: repeated auth.v1.PolicyAction actions = 7;\n */\n actions: PolicyAction[];\n\n /**\n * Maximum notional size for any single order on this sub-account, expressed\n * in canonical quote microunits (one unit is 0.000001 USDT). A value of 0\n * means no explicit cap.\n *\n * @generated from field: uint64 max_order_notional = 13;\n */\n maxOrderNotional: bigint;\n\n /**\n * Maximum number of resting orders allowed on this sub-account at any time.\n * A value of 0 means no explicit cap.\n *\n * @generated from field: uint32 max_open_orders = 14;\n */\n maxOpenOrders: number;\n\n /**\n * When true, new orders and exposure-increasing order or trigger changes are\n * rejected regardless of other settings. Existing orders and triggers may\n * still be canceled or paused.\n *\n * @generated from field: bool trading_halted = 21;\n */\n tradingHalted: boolean;\n\n /**\n * When true, the policy is write-protected and requires an elevated mutation path.\n *\n * @generated from field: bool locked = 25;\n */\n locked: boolean;\n\n /**\n * Optional review time in UTC. This does not automatically disable the policy.\n *\n * @generated from field: google.protobuf.Timestamp review_at = 26;\n */\n reviewAt?: Timestamp | undefined;\n\n /**\n * Optional expiry time in UTC. This does not automatically disable the policy.\n *\n * @generated from field: google.protobuf.Timestamp expires_at = 27;\n */\n expiresAt?: Timestamp | undefined;\n};\n\n/**\n * Describes the message auth.v1.SubaccountPolicySpec.\n * Use `create(SubaccountPolicySpecSchema)` to create a new message.\n */\nexport const SubaccountPolicySpecSchema: GenMessage<SubaccountPolicySpec> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 7);\n\n/**\n * CreateSubaccountPolicyRequest defines a new sub-account policy template, with\n * an optional attach step for one target sub-account.\n *\n * @generated from message auth.v1.CreateSubaccountPolicyRequest\n */\nexport type CreateSubaccountPolicyRequest = Message<\"auth.v1.CreateSubaccountPolicyRequest\"> & {\n /**\n * Complete mutable policy configuration.\n *\n * @generated from field: auth.v1.SubaccountPolicySpec policy = 1;\n */\n policy?: SubaccountPolicySpec | undefined;\n\n /**\n * Optional target sub-account to attach atomically after creation.\n *\n * @generated from field: optional fixed64 subaccount_id = 2;\n */\n subaccountId?: bigint | undefined;\n};\n\n/**\n * Describes the message auth.v1.CreateSubaccountPolicyRequest.\n * Use `create(CreateSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const CreateSubaccountPolicyRequestSchema: GenMessage<CreateSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 8);\n\n/**\n * CreateSubaccountPolicyResponse returns the created sub-account policy.\n *\n * @generated from message auth.v1.CreateSubaccountPolicyResponse\n */\nexport type CreateSubaccountPolicyResponse = Message<\"auth.v1.CreateSubaccountPolicyResponse\"> & {\n /**\n * Created sub-account policy.\n *\n * @generated from field: auth.v1.SubaccountPolicyView policy = 1;\n */\n policy?: SubaccountPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.CreateSubaccountPolicyResponse.\n * Use `create(CreateSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const CreateSubaccountPolicyResponseSchema: GenMessage<CreateSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 9);\n\n/**\n * UpdateSubaccountPolicyRequest changes selected mutable fields on an existing\n * sub-account policy.\n *\n * @generated from message auth.v1.UpdateSubaccountPolicyRequest\n */\nexport type UpdateSubaccountPolicyRequest = Message<\"auth.v1.UpdateSubaccountPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n\n /**\n * Candidate values for fields selected by update_mask.\n *\n * @generated from field: auth.v1.SubaccountPolicySpec policy = 2;\n */\n policy?: SubaccountPolicySpec | undefined;\n\n /**\n * Mutable fields to apply. Paths are relative to policy. The mask is required,\n * must be non-empty, and cannot contain \"*\".\n *\n * @generated from field: google.protobuf.FieldMask update_mask = 3;\n */\n updateMask?: FieldMask | undefined;\n\n /**\n * Revision returned by the latest successful read. Stale revisions fail with\n * a conflict before no-op detection.\n *\n * @generated from field: uint64 expected_revision = 4;\n */\n expectedRevision: bigint;\n};\n\n/**\n * Describes the message auth.v1.UpdateSubaccountPolicyRequest.\n * Use `create(UpdateSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const UpdateSubaccountPolicyRequestSchema: GenMessage<UpdateSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 10);\n\n/**\n * UpdateSubaccountPolicyResponse returns the updated sub-account policy.\n *\n * @generated from message auth.v1.UpdateSubaccountPolicyResponse\n */\nexport type UpdateSubaccountPolicyResponse = Message<\"auth.v1.UpdateSubaccountPolicyResponse\"> & {\n /**\n * Updated sub-account policy.\n *\n * @generated from field: auth.v1.SubaccountPolicyView policy = 1;\n */\n policy?: SubaccountPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.UpdateSubaccountPolicyResponse.\n * Use `create(UpdateSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const UpdateSubaccountPolicyResponseSchema: GenMessage<UpdateSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 11);\n\n/**\n * DeleteSubaccountPolicyRequest deletes a sub-account policy template when it\n * is not in use.\n *\n * @generated from message auth.v1.DeleteSubaccountPolicyRequest\n */\nexport type DeleteSubaccountPolicyRequest = Message<\"auth.v1.DeleteSubaccountPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n};\n\n/**\n * Describes the message auth.v1.DeleteSubaccountPolicyRequest.\n * Use `create(DeleteSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const DeleteSubaccountPolicyRequestSchema: GenMessage<DeleteSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 12);\n\n/**\n * DeleteSubaccountPolicyResponse is empty when the delete succeeds.\n *\n * @generated from message auth.v1.DeleteSubaccountPolicyResponse\n */\nexport type DeleteSubaccountPolicyResponse = Message<\"auth.v1.DeleteSubaccountPolicyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.DeleteSubaccountPolicyResponse.\n * Use `create(DeleteSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const DeleteSubaccountPolicyResponseSchema: GenMessage<DeleteSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 13);\n\n/**\n * SetSubaccountPolicyRequest attaches or clears a policy template on a\n * sub-account.\n *\n * @generated from message auth.v1.SetSubaccountPolicyRequest\n */\nexport type SetSubaccountPolicyRequest = Message<\"auth.v1.SetSubaccountPolicyRequest\"> & {\n /**\n * Sub-account identifier (opaque ID).\n *\n * @generated from field: fixed64 subaccount_id = 1;\n */\n subaccountId: bigint;\n\n /**\n * Policy template to attach (opaque ID). A value of 0 clears the explicit\n * binding and restores the system Read Only policy.\n *\n * @generated from field: fixed64 policy_id = 2;\n */\n policyId: bigint;\n};\n\n/**\n * Describes the message auth.v1.SetSubaccountPolicyRequest.\n * Use `create(SetSubaccountPolicyRequestSchema)` to create a new message.\n */\nexport const SetSubaccountPolicyRequestSchema: GenMessage<SetSubaccountPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 14);\n\n/**\n * SetSubaccountPolicyResponse is empty when the policy binding succeeds.\n *\n * @generated from message auth.v1.SetSubaccountPolicyResponse\n */\nexport type SetSubaccountPolicyResponse = Message<\"auth.v1.SetSubaccountPolicyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.SetSubaccountPolicyResponse.\n * Use `create(SetSubaccountPolicyResponseSchema)` to create a new message.\n */\nexport const SetSubaccountPolicyResponseSchema: GenMessage<SetSubaccountPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 15);\n\n/**\n * ApiPolicyView is the public view of an API key policy template. Its action\n * and spot-market floor cannot exceed an attached sub-account policy.\n *\n * @generated from message auth.v1.ApiPolicyView\n */\nexport type ApiPolicyView = Message<\"auth.v1.ApiPolicyView\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 id = 1;\n */\n id: bigint;\n\n /**\n * Human-readable policy name.\n *\n * @generated from field: string name = 2;\n */\n name: string;\n\n /**\n * Optional policy description for dashboards and audits.\n *\n * @generated from field: string description = 3;\n */\n description: string;\n\n /**\n * Allowed spot markets for this API key policy.\n *\n * @generated from field: repeated auth.v1.SpotMarketRule spot_markets = 4;\n */\n spotMarkets: SpotMarketRule[];\n\n /**\n * High-level actions enabled for this API key. Up to 64 unique explicit\n * actions may be returned.\n *\n * @generated from field: repeated auth.v1.PolicyAction actions = 6;\n */\n actions: PolicyAction[];\n\n /**\n * Market-level scope for spot markets. When ALL, spot_markets is returned\n * for display only and is not enforced.\n *\n * --- Template / lifecycle metadata ---\n *\n * @generated from field: auth.v1.MarketScope.Value spot_market_scope = 7;\n */\n spotMarketScope: MarketScope_Value;\n\n /**\n * When true, this policy is intended to be reused as a template across\n * multiple API keys. When false, it represents a single-key instance.\n *\n * @generated from field: bool is_template = 19;\n */\n isTemplate: boolean;\n\n /**\n * Optional source template this policy was copied from (opaque ID). This is\n * audit metadata only and does not imply live linkage.\n *\n * @generated from field: fixed64 source_template_id = 20;\n */\n sourceTemplateId: bigint;\n\n /**\n * Creation time in UTC.\n *\n * @generated from field: google.protobuf.Timestamp created_at = 21;\n */\n createdAt?: Timestamp | undefined;\n\n /**\n * Last update time in UTC.\n *\n * @generated from field: google.protobuf.Timestamp updated_at = 22;\n */\n updatedAt?: Timestamp | undefined;\n\n /**\n * Monotonic resource revision used for conditional updates.\n *\n * @generated from field: uint64 revision = 23;\n */\n revision: bigint;\n};\n\n/**\n * Describes the message auth.v1.ApiPolicyView.\n * Use `create(ApiPolicyViewSchema)` to create a new message.\n */\nexport const ApiPolicyViewSchema: GenMessage<ApiPolicyView> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 16);\n\n/**\n * ListApiPoliciesRequest lists the finite set of API key policies visible in\n * the requested account scope. Results are sorted by ascending policy ID and\n * are not paginated.\n *\n * @generated from message auth.v1.ListApiPoliciesRequest\n */\nexport type ListApiPoliciesRequest = Message<\"auth.v1.ListApiPoliciesRequest\"> & {\n /**\n * Optional API key context for delegated administration. When omitted, only\n * policies owned by the caller's root account are returned.\n *\n * @generated from field: optional string key_id = 1;\n */\n keyId?: string | undefined;\n};\n\n/**\n * Describes the message auth.v1.ListApiPoliciesRequest.\n * Use `create(ListApiPoliciesRequestSchema)` to create a new message.\n */\nexport const ListApiPoliciesRequestSchema: GenMessage<ListApiPoliciesRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 17);\n\n/**\n * ListApiPoliciesResponse contains API key policy templates sorted by ascending\n * policy ID.\n *\n * @generated from message auth.v1.ListApiPoliciesResponse\n */\nexport type ListApiPoliciesResponse = Message<\"auth.v1.ListApiPoliciesResponse\"> & {\n /**\n * API key policy templates visible to the caller.\n *\n * @generated from field: repeated auth.v1.ApiPolicyView policies = 1;\n */\n policies: ApiPolicyView[];\n};\n\n/**\n * Describes the message auth.v1.ListApiPoliciesResponse.\n * Use `create(ListApiPoliciesResponseSchema)` to create a new message.\n */\nexport const ListApiPoliciesResponseSchema: GenMessage<ListApiPoliciesResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 18);\n\n/**\n * GetApiPolicyRequest fetches one API key policy template by ID.\n *\n * @generated from message auth.v1.GetApiPolicyRequest\n */\nexport type GetApiPolicyRequest = Message<\"auth.v1.GetApiPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n\n /**\n * Optional API key context for delegated administration. When omitted, the\n * policy must be owned by the caller's root account.\n *\n * @generated from field: optional string key_id = 2;\n */\n keyId?: string | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetApiPolicyRequest.\n * Use `create(GetApiPolicyRequestSchema)` to create a new message.\n */\nexport const GetApiPolicyRequestSchema: GenMessage<GetApiPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 19);\n\n/**\n * GetApiPolicyResponse returns the requested API key policy.\n *\n * @generated from message auth.v1.GetApiPolicyResponse\n */\nexport type GetApiPolicyResponse = Message<\"auth.v1.GetApiPolicyResponse\"> & {\n /**\n * Matching API key policy.\n *\n * @generated from field: auth.v1.ApiPolicyView policy = 1;\n */\n policy?: ApiPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.GetApiPolicyResponse.\n * Use `create(GetApiPolicyResponseSchema)` to create a new message.\n */\nexport const GetApiPolicyResponseSchema: GenMessage<GetApiPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 20);\n\n/**\n * ApiPolicySpec contains the mutable configuration of an API key policy.\n *\n * @generated from message auth.v1.ApiPolicySpec\n */\nexport type ApiPolicySpec = Message<\"auth.v1.ApiPolicySpec\"> & {\n /**\n * Human-readable policy name. Create requires a non-empty value; update\n * validates it after merging fields selected by update_mask.\n *\n * @generated from field: string name = 1;\n */\n name: string;\n\n /**\n * Optional policy description for dashboards and audits. Maximum 256 characters.\n *\n * @generated from field: string description = 2;\n */\n description: string;\n\n /**\n * Allowed spot markets for this API key policy.\n *\n * @generated from field: repeated auth.v1.SpotMarketRule spot_markets = 3;\n */\n spotMarkets: SpotMarketRule[];\n\n /**\n * Market-level scope for spot markets. When unspecified, defaults to ALL.\n *\n * @generated from field: auth.v1.MarketScope.Value spot_market_scope = 5;\n */\n spotMarketScope: MarketScope_Value;\n\n /**\n * High-level actions enabled for the API key policy. An empty list grants no\n * access. Up to 64 unique explicit actions are allowed.\n *\n * @generated from field: repeated auth.v1.PolicyAction actions = 7;\n */\n actions: PolicyAction[];\n\n /**\n * Whether this policy should be treated as a reusable template.\n *\n * @generated from field: bool is_template = 19;\n */\n isTemplate: boolean;\n};\n\n/**\n * Describes the message auth.v1.ApiPolicySpec.\n * Use `create(ApiPolicySpecSchema)` to create a new message.\n */\nexport const ApiPolicySpecSchema: GenMessage<ApiPolicySpec> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 21);\n\n/**\n * CreateApiPolicyRequest defines a new API key policy template.\n *\n * @generated from message auth.v1.CreateApiPolicyRequest\n */\nexport type CreateApiPolicyRequest = Message<\"auth.v1.CreateApiPolicyRequest\"> & {\n /**\n * Complete mutable policy configuration.\n *\n * @generated from field: auth.v1.ApiPolicySpec policy = 1;\n */\n policy?: ApiPolicySpec | undefined;\n\n /**\n * Optional API key identifier to bind this newly-created policy to\n * atomically. When set, the caller must be allowed to manage the key and the\n * create+assign operation consumes a single fresh step-up proof.\n *\n * @generated from field: string assign_to_key_id = 2;\n */\n assignToKeyId: string;\n};\n\n/**\n * Describes the message auth.v1.CreateApiPolicyRequest.\n * Use `create(CreateApiPolicyRequestSchema)` to create a new message.\n */\nexport const CreateApiPolicyRequestSchema: GenMessage<CreateApiPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 22);\n\n/**\n * CreateApiPolicyResponse returns the created API key policy.\n *\n * @generated from message auth.v1.CreateApiPolicyResponse\n */\nexport type CreateApiPolicyResponse = Message<\"auth.v1.CreateApiPolicyResponse\"> & {\n /**\n * Created API key policy.\n *\n * @generated from field: auth.v1.ApiPolicyView policy = 1;\n */\n policy?: ApiPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.CreateApiPolicyResponse.\n * Use `create(CreateApiPolicyResponseSchema)` to create a new message.\n */\nexport const CreateApiPolicyResponseSchema: GenMessage<CreateApiPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 23);\n\n/**\n * UpdateApiPolicyRequest changes selected mutable fields on an existing API\n * key policy.\n *\n * @generated from message auth.v1.UpdateApiPolicyRequest\n */\nexport type UpdateApiPolicyRequest = Message<\"auth.v1.UpdateApiPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n\n /**\n * Candidate values for fields selected by update_mask.\n *\n * @generated from field: auth.v1.ApiPolicySpec policy = 2;\n */\n policy?: ApiPolicySpec | undefined;\n\n /**\n * Mutable fields to apply. Paths are relative to policy. The mask is required,\n * must be non-empty, and cannot contain \"*\".\n *\n * @generated from field: google.protobuf.FieldMask update_mask = 3;\n */\n updateMask?: FieldMask | undefined;\n\n /**\n * Revision returned by the latest successful read. Stale revisions fail with\n * a conflict before no-op detection.\n *\n * @generated from field: uint64 expected_revision = 4;\n */\n expectedRevision: bigint;\n};\n\n/**\n * Describes the message auth.v1.UpdateApiPolicyRequest.\n * Use `create(UpdateApiPolicyRequestSchema)` to create a new message.\n */\nexport const UpdateApiPolicyRequestSchema: GenMessage<UpdateApiPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 24);\n\n/**\n * UpdateApiPolicyResponse returns the updated API key policy.\n *\n * @generated from message auth.v1.UpdateApiPolicyResponse\n */\nexport type UpdateApiPolicyResponse = Message<\"auth.v1.UpdateApiPolicyResponse\"> & {\n /**\n * Updated API key policy.\n *\n * @generated from field: auth.v1.ApiPolicyView policy = 1;\n */\n policy?: ApiPolicyView | undefined;\n};\n\n/**\n * Describes the message auth.v1.UpdateApiPolicyResponse.\n * Use `create(UpdateApiPolicyResponseSchema)` to create a new message.\n */\nexport const UpdateApiPolicyResponseSchema: GenMessage<UpdateApiPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 25);\n\n/**\n * DeleteApiPolicyRequest deletes an API key policy template when it is not in use.\n *\n * @generated from message auth.v1.DeleteApiPolicyRequest\n */\nexport type DeleteApiPolicyRequest = Message<\"auth.v1.DeleteApiPolicyRequest\"> & {\n /**\n * Policy identifier (opaque ID).\n *\n * @generated from field: fixed64 policy_id = 1;\n */\n policyId: bigint;\n};\n\n/**\n * Describes the message auth.v1.DeleteApiPolicyRequest.\n * Use `create(DeleteApiPolicyRequestSchema)` to create a new message.\n */\nexport const DeleteApiPolicyRequestSchema: GenMessage<DeleteApiPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 26);\n\n/**\n * DeleteApiPolicyResponse is empty when the delete succeeds.\n *\n * @generated from message auth.v1.DeleteApiPolicyResponse\n */\nexport type DeleteApiPolicyResponse = Message<\"auth.v1.DeleteApiPolicyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.DeleteApiPolicyResponse.\n * Use `create(DeleteApiPolicyResponseSchema)` to create a new message.\n */\nexport const DeleteApiPolicyResponseSchema: GenMessage<DeleteApiPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 27);\n\n/**\n * SetApiKeyPolicyRequest attaches or clears a policy template on an API key.\n *\n * @generated from message auth.v1.SetApiKeyPolicyRequest\n */\nexport type SetApiKeyPolicyRequest = Message<\"auth.v1.SetApiKeyPolicyRequest\"> & {\n /**\n * Opaque API key identifier, formatted as \"ak_\" followed by 32 lowercase hex\n * characters.\n *\n * @generated from field: string key_id = 1;\n */\n keyId: string;\n\n /**\n * Policy template to attach (opaque ID). A value of 0 clears the binding.\n * An API key without an attached policy has no permissions.\n *\n * @generated from field: fixed64 policy_id = 2;\n */\n policyId: bigint;\n};\n\n/**\n * Describes the message auth.v1.SetApiKeyPolicyRequest.\n * Use `create(SetApiKeyPolicyRequestSchema)` to create a new message.\n */\nexport const SetApiKeyPolicyRequestSchema: GenMessage<SetApiKeyPolicyRequest> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 28);\n\n/**\n * SetApiKeyPolicyResponse is empty when the policy binding succeeds.\n *\n * @generated from message auth.v1.SetApiKeyPolicyResponse\n */\nexport type SetApiKeyPolicyResponse = Message<\"auth.v1.SetApiKeyPolicyResponse\"> & {\n};\n\n/**\n * Describes the message auth.v1.SetApiKeyPolicyResponse.\n * Use `create(SetApiKeyPolicyResponseSchema)` to create a new message.\n */\nexport const SetApiKeyPolicyResponseSchema: GenMessage<SetApiKeyPolicyResponse> = /*@__PURE__*/\n messageDesc(file_auth_v1_policies, 29);\n\n/**\n * PolicyAction is a high-level permission that can be granted by a policy.\n * Write-style actions also grant the matching read visibility where needed by\n * the product experience.\n *\n * @generated from enum auth.v1.PolicyAction\n */\nexport enum PolicyAction {\n /**\n * No policy action selected. An empty API-key action list grants no access;\n * sub-account policies retain their mandatory read-only actions.\n *\n * @generated from enum value: UNSPECIFIED = 0;\n */\n UNSPECIFIED = 0,\n\n /**\n * Allow placing and modifying spot orders and triggers, including reading\n * spot orders and trades. Cancellation and pausing remain available as\n * safety actions.\n *\n * @generated from enum value: TRADE_SPOT = 1;\n */\n TRADE_SPOT = 1,\n\n /**\n * Allow internal transfers between sub-accounts or linked Polyester accounts,\n * including reading internal transfer history.\n *\n * @generated from enum value: INTERNAL_TRANSFER = 3;\n */\n INTERNAL_TRANSFER = 3,\n\n /**\n * Allow value to leave Trading through external withdrawals. Destination\n * authorization is enforced separately from this policy.\n *\n * @generated from enum value: EXTERNAL_WITHDRAW = 4;\n */\n EXTERNAL_WITHDRAW = 4,\n\n /**\n * Allow reading balances and equity for a sub-account or API key.\n *\n * @generated from enum value: READ_BALANCES = 5;\n */\n READ_BALANCES = 5,\n\n /**\n * Allow reading spot orders and trades (no write).\n *\n * @generated from enum value: READ_SPOT = 6;\n */\n READ_SPOT = 6,\n\n /**\n * Allow reading internal transfer history.\n *\n * @generated from enum value: READ_INTERNAL_TRANSFERS = 8;\n */\n READ_INTERNAL_TRANSFERS = 8,\n\n /**\n * Allow reading saved, recent, and whitelisted address-book destinations.\n *\n * @generated from enum value: READ_ADDRESS_BOOK = 11;\n */\n READ_ADDRESS_BOOK = 11,\n\n /**\n * Allow creating, updating, deleting, and copying saved destination entries,\n * including reading the address book.\n *\n * @generated from enum value: MANAGE_ADDRESS_BOOK = 12;\n */\n MANAGE_ADDRESS_BOOK = 12,\n}\n\n/**\n * Describes the enum auth.v1.PolicyAction.\n */\nexport const PolicyActionSchema: GenEnum<PolicyAction> = /*@__PURE__*/\n enumDesc(file_auth_v1_policies, 0);\n\n/**\n * PolicyService manages sub-account and API key policy templates and bindings.\n *\n * @generated from service auth.v1.PolicyService\n */\nexport const PolicyService: GenService<{\n /**\n * List sub-account policy templates available to the caller.\n *\n * @generated from rpc auth.v1.PolicyService.ListSubaccountPolicies\n */\n listSubaccountPolicies: {\n methodKind: \"unary\";\n input: typeof ListSubaccountPoliciesRequestSchema;\n output: typeof ListSubaccountPoliciesResponseSchema;\n },\n /**\n * Get a sub-account policy template by id.\n *\n * @generated from rpc auth.v1.PolicyService.GetSubaccountPolicy\n */\n getSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof GetSubaccountPolicyRequestSchema;\n output: typeof GetSubaccountPolicyResponseSchema;\n },\n /**\n * Create a new sub-account policy template (optionally attach to a sub-account).\n *\n * @generated from rpc auth.v1.PolicyService.CreateSubaccountPolicy\n */\n createSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof CreateSubaccountPolicyRequestSchema;\n output: typeof CreateSubaccountPolicyResponseSchema;\n },\n /**\n * Change selected fields on an existing sub-account policy template.\n *\n * @generated from rpc auth.v1.PolicyService.UpdateSubaccountPolicy\n */\n updateSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof UpdateSubaccountPolicyRequestSchema;\n output: typeof UpdateSubaccountPolicyResponseSchema;\n },\n /**\n * Delete a sub-account policy template.\n *\n * @generated from rpc auth.v1.PolicyService.DeleteSubaccountPolicy\n */\n deleteSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof DeleteSubaccountPolicyRequestSchema;\n output: typeof DeleteSubaccountPolicyResponseSchema;\n },\n /**\n * Attach or clear a sub-account policy for a sub-account.\n *\n * @generated from rpc auth.v1.PolicyService.SetSubaccountPolicy\n */\n setSubaccountPolicy: {\n methodKind: \"unary\";\n input: typeof SetSubaccountPolicyRequestSchema;\n output: typeof SetSubaccountPolicyResponseSchema;\n },\n /**\n * List API key policy templates available to the caller.\n *\n * @generated from rpc auth.v1.PolicyService.ListApiPolicies\n */\n listApiPolicies: {\n methodKind: \"unary\";\n input: typeof ListApiPoliciesRequestSchema;\n output: typeof ListApiPoliciesResponseSchema;\n },\n /**\n * Get an API key policy template by id.\n *\n * @generated from rpc auth.v1.PolicyService.GetApiPolicy\n */\n getApiPolicy: {\n methodKind: \"unary\";\n input: typeof GetApiPolicyRequestSchema;\n output: typeof GetApiPolicyResponseSchema;\n },\n /**\n * Create a new API key policy template.\n *\n * @generated from rpc auth.v1.PolicyService.CreateApiPolicy\n */\n createApiPolicy: {\n methodKind: \"unary\";\n input: typeof CreateApiPolicyRequestSchema;\n output: typeof CreateApiPolicyResponseSchema;\n },\n /**\n * Change selected fields on an existing API key policy template.\n *\n * @generated from rpc auth.v1.PolicyService.UpdateApiPolicy\n */\n updateApiPolicy: {\n methodKind: \"unary\";\n input: typeof UpdateApiPolicyRequestSchema;\n output: typeof UpdateApiPolicyResponseSchema;\n },\n /**\n * Delete an API key policy template.\n *\n * @generated from rpc auth.v1.PolicyService.DeleteApiPolicy\n */\n deleteApiPolicy: {\n methodKind: \"unary\";\n input: typeof DeleteApiPolicyRequestSchema;\n output: typeof DeleteApiPolicyResponseSchema;\n },\n /**\n * Attach or clear an API key policy for a key.\n *\n * @generated from rpc auth.v1.PolicyService.SetApiKeyPolicy\n */\n setApiKeyPolicy: {\n methodKind: \"unary\";\n input: typeof SetApiKeyPolicyRequestSchema;\n output: typeof SetApiKeyPolicyResponseSchema;\n },\n}> = /*@__PURE__*/\n serviceDesc(file_auth_v1_policies, 0);\n\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,MAAa,wBACX,uBAAS,42PAA42P;CAAC;CAAiC;CAAgC;AAA0B,CAAC;;;;;AAcp9P,MAAa,oBACX,0BAAY,uBAAuB,CAAC;;;;;;;;AAStC,IAAY,oBAAL,yBAAA,mBAAA;;;;;;CAML,kBAAA,kBAAA,iBAAA,KAAA;;;;;;CAOA,kBAAA,kBAAA,SAAA,KAAA;;;;;;CAOA,kBAAA,kBAAA,eAAA,KAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,MAAa,0BACX,uBAAS,uBAAuB,GAAG,CAAC;;;;;AAoBtC,MAAa,uBACX,0BAAY,uBAAuB,CAAC;;;;;AAgJtC,MAAa,6BACX,0BAAY,uBAAuB,CAAC;;;;;AAuBtC,MAAa,sCACX,0BAAY,uBAAuB,CAAC;;;;;AAqBtC,MAAa,uCACX,0BAAY,uBAAuB,CAAC;;;;;AA4BtC,MAAa,mCACX,0BAAY,uBAAuB,CAAC;;;;;AAoBtC,MAAa,oCACX,0BAAY,uBAAuB,CAAC;;;;;AAkGtC,MAAa,6BACX,0BAAY,uBAAuB,CAAC;;;;;AA4BtC,MAAa,sCACX,0BAAY,uBAAuB,CAAC;;;;;AAoBtC,MAAa,uCACX,0BAAY,uBAAuB,CAAC;;;;;AA4CtC,MAAa,sCACX,0BAAY,uBAAuB,EAAE;;;;;AAoBvC,MAAa,uCACX,0BAAY,uBAAuB,EAAE;;;;;AAqBvC,MAAa,sCACX,0BAAY,uBAAuB,EAAE;;;;;AAcvC,MAAa,uCACX,0BAAY,uBAAuB,EAAE;;;;;AA6BvC,MAAa,mCACX,0BAAY,uBAAuB,EAAE;;;;;AAcvC,MAAa,oCACX,0BAAY,uBAAuB,EAAE;;;;;AAiGvC,MAAa,sBACX,0BAAY,uBAAuB,EAAE;;;;;AAuBvC,MAAa,+BACX,0BAAY,uBAAuB,EAAE;;;;;AAqBvC,MAAa,gCACX,0BAAY,uBAAuB,EAAE;;;;;AA4BvC,MAAa,4BACX,0BAAY,uBAAuB,EAAE;;;;;AAoBvC,MAAa,6BACX,0BAAY,uBAAuB,EAAE;;;;;AAyDvC,MAAa,sBACX,0BAAY,uBAAuB,EAAE;;;;;AA6BvC,MAAa,+BACX,0BAAY,uBAAuB,EAAE;;;;;AAoBvC,MAAa,gCACX,0BAAY,uBAAuB,EAAE;;;;;AA4CvC,MAAa,+BACX,0BAAY,uBAAuB,EAAE;;;;;AAoBvC,MAAa,gCACX,0BAAY,uBAAuB,EAAE;;;;;AAoBvC,MAAa,+BACX,0BAAY,uBAAuB,EAAE;;;;;AAcvC,MAAa,gCACX,0BAAY,uBAAuB,EAAE;;;;;AA6BvC,MAAa,+BACX,0BAAY,uBAAuB,EAAE;;;;;AAcvC,MAAa,gCACX,0BAAY,uBAAuB,EAAE;;;;;;;;AASvC,IAAY,eAAL,yBAAA,cAAA;;;;;;;CAOL,aAAA,aAAA,iBAAA,KAAA;;;;;;;;CASA,aAAA,aAAA,gBAAA,KAAA;;;;;;;CAQA,aAAA,aAAA,uBAAA,KAAA;;;;;;;CAQA,aAAA,aAAA,uBAAA,KAAA;;;;;;CAOA,aAAA,aAAA,mBAAA,KAAA;;;;;;CAOA,aAAA,aAAA,eAAA,KAAA;;;;;;CAOA,aAAA,aAAA,6BAAA,KAAA;;;;;;CAOA,aAAA,aAAA,uBAAA,MAAA;;;;;;;CAQA,aAAA,aAAA,yBAAA,MAAA;;AACF,EAAA,CAAA,CAAA;;;;AAKA,MAAa,qBACX,uBAAS,uBAAuB,CAAC;;;;;;AAOnC,MAAa,gBA0HX,0BAAY,uBAAuB,CAAC"}
@@ -1233,6 +1233,13 @@ type ModifyOrderRequest = Message<"orders.v1.ModifyOrderRequest"> & {
1233
1233
  * @generated from field: string new_client_order_id = 9;
1234
1234
  */
1235
1235
  newClientOrderId: string;
1236
+ /**
1237
+ * Trading symbol numeric identifier. Required so API-key market policy can
1238
+ * be enforced before forwarding; AAS verifies it against the target order.
1239
+ *
1240
+ * @generated from field: uint32 symbol_id = 10;
1241
+ */
1242
+ symbolId: number;
1236
1243
  };
1237
1244
  /**
1238
1245
  * Describes the message orders.v1.ModifyOrderRequest.
@@ -2015,6 +2022,12 @@ declare enum ErrorCode {
2015
2022
  * @generated from enum value: ERROR_CODE_BATCH_TOO_LARGE = 33;
2016
2023
  */
2017
2024
  BATCH_TOO_LARGE = 33,
2025
+ /**
2026
+ * Sub-account policy maximum number of open orders has been reached.
2027
+ *
2028
+ * @generated from enum value: ERROR_CODE_POLICY_MAX_OPEN_ORDERS = 34;
2029
+ */
2030
+ POLICY_MAX_OPEN_ORDERS = 34,
2018
2031
  /**
2019
2032
  * Modify request in AMEND_ONLY mode requires replace semantics.
2020
2033
  *
@@ -2208,7 +2221,25 @@ declare enum ErrorCode {
2208
2221
  *
2209
2222
  * @generated from enum value: ERROR_CODE_RATE_LIMIT_EXCEEDED = 69;
2210
2223
  */
2211
- RATE_LIMIT_EXCEEDED = 69
2224
+ RATE_LIMIT_EXCEEDED = 69,
2225
+ /**
2226
+ * Caller has a sub-account role that does not allow reading spot data.
2227
+ *
2228
+ * @generated from enum value: ERROR_CODE_SUBACCOUNT_READ_FORBIDDEN = 70;
2229
+ */
2230
+ SUBACCOUNT_READ_FORBIDDEN = 70,
2231
+ /**
2232
+ * Sub-account policy does not allow reading spot data.
2233
+ *
2234
+ * @generated from enum value: ERROR_CODE_POLICY_SPOT_READ_DENY = 71;
2235
+ */
2236
+ POLICY_SPOT_READ_DENY = 71,
2237
+ /**
2238
+ * API key policy does not allow reading spot data.
2239
+ *
2240
+ * @generated from enum value: ERROR_CODE_API_KEY_SPOT_READ_DENY = 72;
2241
+ */
2242
+ API_KEY_SPOT_READ_DENY = 72
2212
2243
  }
2213
2244
  /**
2214
2245
  * Describes the enum orders.v1.ErrorCode.
@@ -1 +1 @@
1
- {"version":3,"file":"orders_pb.d.ts","names":[],"sources":["../../../../src/gen/orders/v1/orders_pb.ts"],"mappings":"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"}
1
+ {"version":3,"file":"orders_pb.d.ts","names":[],"sources":["../../../../src/gen/orders/v1/orders_pb.ts"],"mappings":"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"}
@@ -73,7 +73,7 @@ var orders_pb_exports = /* @__PURE__ */ __exportAll({
73
73
  /**
74
74
  * Describes the file orders/v1/orders.proto.
75
75
  */
76
- const file_orders_v1_orders = /*@__PURE__*/ fileDesc("ChZvcmRlcnMvdjEvb3JkZXJzLnByb3RvEglvcmRlcnMudjEiewoJTWFya2V0SW9jEh4KEm1heF9zbGlwcGFnZV90aWNrcxgBIAEoBUIASAASHAoQbWF4X3NsaXBwYWdlX2JwcxgCIAEoBUIASAASIAoWY2xpZW50X3JlZl9wcmljZV90aWNrcxgDIAEoA0IAQg4KDG1heF9zbGlwcGFnZSI0CghMaW1pdEd0YxIVCgtwcmljZV90aWNrcxgBIAEoA0IAEhEKCXBvc3Rfb25seRgCIAEoCCIhCghMaW1pdElvYxIVCgtwcmljZV90aWNrcxgBIAEoA0IAIiEKCExpbWl0Rm9rEhUKC3ByaWNlX3RpY2tzGAEgASgDQgAihQQKC09yZGVySW50ZW50EhAKBnN5bWJvbBgBIAEoCUIAEh8KBHNpZGUYAiABKA4yDy5vcmRlcnMudjEuU2lkZUIAEhsKD2Jhc2VfcXR5X3NjYWxlZBgDIAEoA0IASAASIgoWbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgEIAEoA0IASAASKgoKbWFya2V0X2lvYxgKIAEoCzIULm9yZGVycy52MS5NYXJrZXRJb2NIARIoCglsaW1pdF9ndGMYCyABKAsyEy5vcmRlcnMudjEuTGltaXRHdGNIARIoCglsaW1pdF9pb2MYDCABKAsyEy5vcmRlcnMudjEuTGltaXRJb2NIARIoCglsaW1pdF9mb2sYDSABKAsyEy5vcmRlcnMudjEuTGltaXRGb2tIARIZCg9jbGllbnRfb3JkZXJfaWQYFCABKAlCABIoCglmZWVfYXNzZXQYFSABKA4yEy5vcmRlcnMudjEuRmVlQXNzZXRCABJIChpzZWxmX3RyYWRlX3ByZXZlbnRpb25fbW9kZRgWIAEoDjIiLm9yZGVycy52MS5TZWxmVHJhZGVQcmV2ZW50aW9uTW9kZUIAEiwKDWF0dGFjaGVkX3Jpc2sYHiABKAsyFS5vcmRlcnMudjEuUmlza1BvbGljeToAQgoKBnNpemluZxIAQg0KCWV4ZWN1dGlvbhIAImsKEkNyZWF0ZU9yZGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESJwoFb3JkZXIYAiABKAsyFi5vcmRlcnMudjEuT3JkZXJJbnRlbnRCAEIQCg5fc3ViYWNjb3VudF9pZCLCAwoTQ3JlYXRlT3JkZXJSZXNwb25zZRIQCghvcmRlcl9pZBgBIAEoBhIXCg9jbGllbnRfb3JkZXJfaWQYAiABKAkSLwoLYWNjZXB0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKEWFjY2VwdGVkX2F0X3RzX25zGAQgASgEEiAKGHJlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZBgFIAEoAxItCiBzdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgGIAEoA0gAiAEBEiMKFnRha2VfcHJvZml0X3RyaWdnZXJfaWQYFCABKARIAYgBARIhChRzdG9wX2xvc3NfdHJpZ2dlcl9pZBgVIAEoBEgCiAEBEiUKGHRyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZBgWIAEoBEgDiAEBQiMKIV9zdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZEIZChdfdGFrZV9wcm9maXRfdHJpZ2dlcl9pZEIXChVfc3RvcF9sb3NzX3RyaWdnZXJfaWRCGwoZX3RyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZCJsChNQcmV2aWV3T3JkZXJSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBARInCgVvcmRlchgCIAEoCzIWLm9yZGVycy52MS5PcmRlckludGVudEIAQhAKDl9zdWJhY2NvdW50X2lkIqkCChRQcmV2aWV3T3JkZXJSZXNwb25zZRIXCgphZG1pc3NpYmxlGAEgASgISACIAQESKQoJcmVqZWN0aW9uGAIgASgLMhYub3JkZXJzLnYxLkVycm9yRGV0YWlsEiUKGHJlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZBgDIAEoA0gBiAEBEigKG3Byb3RlY3RlZF9wcmljZV9ib3VuZF90aWNrcxgEIAEoA0gCiAEBEjAKDGV2YWx1YXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDQoLX2FkbWlzc2libGVCGwoZX3Jlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZEIeChxfcHJvdGVjdGVkX3ByaWNlX2JvdW5kX3RpY2tzIpEBChJDYW5jZWxPcmRlclJlcXVlc3QSFAoIb3JkZXJfaWQYASABKAZCAEgAEhsKD2NsaWVudF9vcmRlcl9pZBgCIAEoCUIASAASEQoJc3ltYm9sX2lkGAMgASgNEhoKDXN1YmFjY291bnRfaWQYBCABKAZIAYgBAToAQgUKA2tleUIQCg5fc3ViYWNjb3VudF9pZCJuChNDYW5jZWxPcmRlclJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRIQCghvcmRlcl9pZBgCIAEoBhImCgJ0cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYBCABKAQiRgoORmllbGRWaW9sYXRpb24SEgoKZmllbGRfcGF0aBgBIAEoCRIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkinQEKC0Vycm9yRGV0YWlsEiIKBGNvZGUYASABKA4yFC5vcmRlcnMudjEuRXJyb3JDb2RlEi0KCnZpb2xhdGlvbnMYAiADKAsyGS5vcmRlcnMudjEuRmllbGRWaW9sYXRpb24SOwoKcmF0ZV9saW1pdBgDIAEoCzInLnBvbHllc3Rlci5yYXRlbGltaXQudjEuUmF0ZUxpbWl0RGV0YWlsIg8KDVJpc2tNYXJrZXRJb2MiJQoMUmlza0xpbWl0R3RjEhUKC3ByaWNlX3RpY2tzGAEgASgDQgAifAoNUmlza0V4ZWN1dGlvbhIuCgptYXJrZXRfaW9jGAEgASgLMhgub3JkZXJzLnYxLlJpc2tNYXJrZXRJb2NIABIsCglsaW1pdF9ndGMYAiABKAsyFy5vcmRlcnMudjEuUmlza0xpbWl0R3RjSABCDQoJZXhlY3V0aW9uEgAiXAoQVGFrZVByb2ZpdFBvbGljeRIdChN0cmlnZ2VyX3ByaWNlX3RpY2tzGAEgASgDQgASKQoFY2hpbGQYAiABKAsyGC5vcmRlcnMudjEuUmlza0V4ZWN1dGlvbkIAIloKDlN0b3BMb3NzUG9saWN5Eh0KE3RyaWdnZXJfcHJpY2VfdGlja3MYASABKANCABIpCgVjaGlsZBgCIAEoCzIYLm9yZGVycy52MS5SaXNrRXhlY3V0aW9uQgAi3wEKElRyYWlsaW5nU3RvcFBvbGljeRIjChd0cmFpbGluZ19kaXN0YW5jZV90aWNrcxgBIAEoA0IASAASIQoVdHJhaWxpbmdfZGlzdGFuY2VfYnBzGAIgASgFQgBIABIeChJtYXhfc2xpcHBhZ2VfdGlja3MYBiABKAVCAEgBEhwKEG1heF9zbGlwcGFnZV9icHMYByABKAVCAEgBEh4KFmFjdGl2YXRpb25fcHJpY2VfdGlja3MYAyABKANCEwoRdHJhaWxpbmdfZGlzdGFuY2VCDgoMbWF4X3NsaXBwYWdlIsEBCgpSaXNrUG9saWN5EjAKC3Rha2VfcHJvZml0GAEgASgLMhsub3JkZXJzLnYxLlRha2VQcm9maXRQb2xpY3kSLgoJc3RvcF9sb3NzGAIgASgLMhkub3JkZXJzLnYxLlN0b3BMb3NzUG9saWN5SAASNgoNdHJhaWxpbmdfc3RvcBgDIAEoCzIdLm9yZGVycy52MS5UcmFpbGluZ1N0b3BQb2xpY3lIABILCgNvY28YBCABKAg6AEIKCghzdG9wX2xlZyKgAQoWQ2FuY2VsQWxsT3JkZXJzUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESEAoGc3ltYm9sGAIgASgJQgASHwoEc2lkZRgDIAEoDjIPLm9yZGVycy52MS5TaWRlQgASDwoHZHJ5X3J1bhgEIAEoCBIUCgpyZXF1ZXN0X2lkGAYgASgJQgBCEAoOX3N1YmFjY291bnRfaWQiqwEKF0NhbmNlbEFsbE9yZGVyc1Jlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRIWCg5tYXRjaGVkX29yZGVycxgCIAEoDRIZChFzdWJtaXR0ZWRfY2FuY2VscxgDIAEoDRIWCg5mYWlsZWRfY2FuY2VscxgEIAEoDRImCgJ0cxgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYBiABKAQipQEKFUNhbmNlbEFsbEFmdGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESEwoLdGltZW91dF9zZWMYAiABKA0SEAoGc3ltYm9sGAMgASgJQgASHwoEc2lkZRgEIAEoDjIPLm9yZGVycy52MS5TaWRlQgASFAoKcmVxdWVzdF9pZBgFIAEoCUIAOgBCEAoOX3N1YmFjY291bnRfaWQimAEKFkNhbmNlbEFsbEFmdGVyUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEh0KFWVmZmVjdGl2ZV90aW1lb3V0X3NlYxgCIAEoDRIYChBleHBpcmVzX2F0X3RzX25zGAMgASgEEiYKAnRzGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0c19ucxgFIAEoBCLdAgoTQmF0Y2hDcmVhdGVBY2NlcHRlZBIQCghvcmRlcl9pZBgBIAEoBhIjChZ0YWtlX3Byb2ZpdF90cmlnZ2VyX2lkGAIgASgESACIAQESIQoUc3RvcF9sb3NzX3RyaWdnZXJfaWQYAyABKARIAYgBARIlChh0cmFpbGluZ19zdG9wX3RyaWdnZXJfaWQYBCABKARIAogBARIgChhyZXNvbHZlZF9iYXNlX3F0eV9zY2FsZWQYBSABKAMSLQogc3VibWl0dGVkX21heF9xdW90ZV9kZWJpdF9zY2FsZWQYBiABKANIA4gBAUIZChdfdGFrZV9wcm9maXRfdHJpZ2dlcl9pZEIXChVfc3RvcF9sb3NzX3RyaWdnZXJfaWRCGwoZX3RyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZEIjCiFfc3VibWl0dGVkX21heF9xdW90ZV9kZWJpdF9zY2FsZWQiPgoTQmF0Y2hDcmVhdGVSZWplY3RlZBInCgVlcnJvchgBIAEoCzIWLm9yZGVycy52MS5FcnJvckRldGFpbEIAIqUBChVCYXRjaENyZWF0ZVJlc3VsdEl0ZW0SFwoPY2xpZW50X29yZGVyX2lkGAEgASgJEjIKCGFjY2VwdGVkGAIgASgLMh4ub3JkZXJzLnYxLkJhdGNoQ3JlYXRlQWNjZXB0ZWRIABIyCghyZWplY3RlZBgDIAEoCzIeLm9yZGVycy52MS5CYXRjaENyZWF0ZVJlamVjdGVkSABCCwoHb3V0Y29tZRIAIocBChhCYXRjaENyZWF0ZU9yZGVyc1JlcXVlc3QSGgoNc3ViYWNjb3VudF9pZBgBIAEoBkgAiAEBEhQKCnJlcXVlc3RfaWQYAiABKAlCABInCgVpdGVtcxgDIAMoCzIWLm9yZGVycy52MS5PcmRlckludGVudEIAQhAKDl9zdWJhY2NvdW50X2lkIrUBChlCYXRjaENyZWF0ZU9yZGVyc1Jlc3BvbnNlEjEKB3Jlc3VsdHMYASADKAsyIC5vcmRlcnMudjEuQmF0Y2hDcmVhdGVSZXN1bHRJdGVtEhYKDmFjY2VwdGVkX2NvdW50GAIgASgNEhYKDnJlamVjdGVkX2NvdW50GAMgASgNEiYKAnRzGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0c19ucxgFIAEoBCL8AgoSTW9kaWZ5T3JkZXJSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAYgBARIUCghvcmRlcl9pZBgCIAEoBkIASAASGwoPY2xpZW50X29yZGVyX2lkGAMgASgJQgBIABIUCgpyZXF1ZXN0X2lkGAQgASgJQgASHgoPbmV3X3ByaWNlX3RpY2tzGAUgASgDQgBIAogBARIdCg5uZXdfcXR5X3NjYWxlZBgGIAEoA0IASAOIAQESMAoRbmV3X2F0dGFjaGVkX3Jpc2sYByABKAsyFS5vcmRlcnMudjEuUmlza1BvbGljeRItCghiZWhhdmlvchgIIAEoDjIZLm9yZGVycy52MS5Nb2RpZnlCZWhhdmlvckIAEh0KE25ld19jbGllbnRfb3JkZXJfaWQYCSABKAlCADoAQgcKA2tleRIAQhAKDl9zdWJhY2NvdW50X2lkQhIKEF9uZXdfcHJpY2VfdGlja3NCEQoPX25ld19xdHlfc2NhbGVkIvwCChNNb2RpZnlPcmRlclJlc3BvbnNlEjIKDGFjdGlvbl90YWtlbhgBIAEoDjIcLm9yZGVycy52MS5Nb2RpZnlBY3Rpb25UYWtlbhIUCgxvbGRfb3JkZXJfaWQYAiABKAYSFgoOZmluYWxfb3JkZXJfaWQYAyABKAYSDAoEY29kZRgEIAEoCRIjChZ0YWtlX3Byb2ZpdF90cmlnZ2VyX2lkGAUgASgESACIAQESIQoUc3RvcF9sb3NzX3RyaWdnZXJfaWQYBiABKARIAYgBARIlChh0cmFpbGluZ19zdG9wX3RyaWdnZXJfaWQYByABKARIAogBARImCgJ0cxgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYCSABKARCGQoXX3Rha2VfcHJvZml0X3RyaWdnZXJfaWRCFwoVX3N0b3BfbG9zc190cmlnZ2VyX2lkQhsKGV90cmFpbGluZ19zdG9wX3RyaWdnZXJfaWQijAIKFUJhdGNoUmVwbGFjZU9yZGVySXRlbRIUCghvcmRlcl9pZBgBIAEoBkIASAASGwoPY2xpZW50X29yZGVyX2lkGAIgASgJQgBIABIeCg9uZXdfcHJpY2VfdGlja3MYAyABKANCAEgBiAEBEh0KDm5ld19xdHlfc2NhbGVkGAQgASgDQgBIAogBARIwChFuZXdfYXR0YWNoZWRfcmlzaxgFIAEoCzIVLm9yZGVycy52MS5SaXNrUG9saWN5Eh0KE25ld19jbGllbnRfb3JkZXJfaWQYBiABKAlCADoAQgcKA2tleRIAQhIKEF9uZXdfcHJpY2VfdGlja3NCEQoPX25ld19xdHlfc2NhbGVkIu0BChlCYXRjaFJlcGxhY2VBZG1pc3Npb25JdGVtEhIKCml0ZW1faW5kZXgYASABKA0SOgoGc3RhdHVzGAIgASgOMioub3JkZXJzLnYxLkJhdGNoUmVwbGFjZUl0ZW1BZG1pc3Npb25TdGF0dXMSFAoMb2xkX29yZGVyX2lkGAMgASgGEhwKFHJlcGxhY2VtZW50X29yZGVyX2lkGAQgASgGEhcKD2NsaWVudF9vcmRlcl9pZBgFIAEoCRIMCgRjb2RlGAYgASgJEiUKBWVycm9yGAcgASgLMhYub3JkZXJzLnYxLkVycm9yRGV0YWlsIqkBChlCYXRjaFJlcGxhY2VPcmRlcnNSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBARITCglzeW1ib2xfaWQYAiABKA1CABIUCgpyZXF1ZXN0X2lkGAMgASgJQgASMQoFaXRlbXMYBCADKAsyIC5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlT3JkZXJJdGVtQgA6AEIQCg5fc3ViYWNjb3VudF9pZCKeAgoaQmF0Y2hSZXBsYWNlT3JkZXJzUmVzcG9uc2USGAoQYmF0Y2hfcmVxdWVzdF9pZBgBIAEoBhI2CgZzdGF0dXMYAiABKA4yJi5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlQWRtaXNzaW9uU3RhdHVzEjUKB3Jlc3VsdHMYAyADKAsyJC5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlQWRtaXNzaW9uSXRlbRIWCg5hY2NlcHRlZF9jb3VudBgEIAEoDRIWCg5yZWplY3RlZF9jb3VudBgFIAEoDRIvCgthY2NlcHRlZF90cxgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFgoOYWNjZXB0ZWRfdHNfbnMYByABKAQiVQoPQmF0Y2hDYW5jZWxJdGVtEhIKCG9yZGVyX2lkGAEgASgGQgASGQoPY2xpZW50X29yZGVyX2lkGAIgASgJQgASEQoJc3ltYm9sX2lkGAMgASgNOgAihwEKFUJhdGNoQ2FuY2VsUmVzdWx0SXRlbRIOCgZzdGF0dXMYASABKAkSEAoIb3JkZXJfaWQYAiABKAYSFwoPY2xpZW50X29yZGVyX2lkGAMgASgJEgwKBGNvZGUYBCABKAkSJQoFZXJyb3IYBSABKAsyFi5vcmRlcnMudjEuRXJyb3JEZXRhaWwiiwEKGEJhdGNoQ2FuY2VsT3JkZXJzUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESFAoKcmVxdWVzdF9pZBgCIAEoCUIAEisKBWl0ZW1zGAMgAygLMhoub3JkZXJzLnYxLkJhdGNoQ2FuY2VsSXRlbUIAQhAKDl9zdWJhY2NvdW50X2lkIrUBChlCYXRjaENhbmNlbE9yZGVyc1Jlc3BvbnNlEjEKB3Jlc3VsdHMYASADKAsyIC5vcmRlcnMudjEuQmF0Y2hDYW5jZWxSZXN1bHRJdGVtEhYKDmFjY2VwdGVkX2NvdW50GAIgASgNEhYKDnJlamVjdGVkX2NvdW50GAMgASgNEiYKAnRzGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0c19ucxgFIAEoBCovCgRTaWRlEhQKEFNJREVfVU5TUEVDSUZJRUQQABIHCgNCVVkQARIICgRTRUxMEAIqPgoJT3JkZXJUeXBlEhoKFk9SREVSX1RZUEVfVU5TUEVDSUZJRUQQABIJCgVMSU1JVBABEgoKBk1BUktFVBACKkcKC1RpbWVJbkZvcmNlEh0KGVRJTUVfSU5fRk9SQ0VfVU5TUEVDSUZJRUQQABIHCgNHVEMQARIHCgNJT0MQAhIHCgNGT0sQAyo6CghGZWVBc3NldBIZChVGRUVfQVNTRVRfVU5TUEVDSUZJRUQQABIJCgVRVU9URRABEggKBEJBU0UQAip6ChdTZWxmVHJhZGVQcmV2ZW50aW9uTW9kZRIqCiZTRUxGX1RSQURFX1BSRVZFTlRJT05fTU9ERV9VTlNQRUNJRklFRBAAEhAKDEVYUElSRV9NQUtFUhABEhAKDEVYUElSRV9UQUtFUhACEg8KC0VYUElSRV9CT1RIEAMqkBIKCUVycm9yQ29kZRIaChZFUlJPUl9DT0RFX1VOU1BFQ0lGSUVEEAASGgoWRVJST1JfQ09ERV9CQURfUkVRVUVTVBABEh8KG0VSUk9SX0NPREVfSU5WQUxJRF9BUkdVTUVOVBACEiEKHUVSUk9SX0NPREVfSU5TVUZGSUNJRU5UX0ZVTkRTEAMSHQoZRVJST1JfQ09ERV9VTktOT1dOX1NZTUJPTBAEEhgKFEVSUk9SX0NPREVfQkFEX1BSSUNFEAUSFgoSRVJST1JfQ09ERV9CQURfUVRZEAYSGwoXRVJST1JfQ09ERV9NSU5fTk9USU9OQUwQBxIcChhFUlJPUl9DT0RFX1FUWV9TVEVQX1NJWkUQCBIxCi1FUlJPUl9DT0RFX0NPTkZMSUNUX0RVUExJQ0FURV9DTElFTlRfT1JERVJfSUQQCRIaChZFUlJPUl9DT0RFX1VOQVZBSUxBQkxFEAoSHgoaRVJST1JfQ09ERV9VTkFVVEhFTlRJQ0FURUQQCxIgChxFUlJPUl9DT0RFX1BFUk1JU1NJT05fREVOSUVEEAwSGAoURVJST1JfQ09ERV9OT1RfRk9VTkQQDRIdChlFUlJPUl9DT0RFX1VQU1RSRUFNX0VSUk9SEA4SJAogRVJST1JfQ09ERV9GRUVfQVNTRVRfTk9UX0FMTE9XRUQQDxIcChhFUlJPUl9DT0RFX1BBSVJfRElTQUJMRUQQEBIcChhFUlJPUl9DT0RFX09SREVSX1VOS05PV04QERIdChlFUlJPUl9DT0RFX0lOVEVSTkFMX0VSUk9SEBISIgoeRVJST1JfQ09ERV9TVUJBQ0NPVU5UX0lOQUNUSVZFEBMSIQodRVJST1JfQ09ERV9QT0xJQ1lfTUFSS0VUX0RFTlkQFBIiCh5FUlJPUl9DT0RFX1BPTElDWV9NQVhfTk9USU9OQUwQFRIkCiBFUlJPUl9DT0RFX1BPTElDWV9UUkFESU5HX0hBTFRFRBAWEiUKIUVSUk9SX0NPREVfUE9MSUNZX1NQT1RfVFJBREVfREVOWRAXEiYKIkVSUk9SX0NPREVfQVBJX0tFWV9ST09UX1NDT1BFX09OTFkQGBIlCiFFUlJPUl9DT0RFX0FQSV9LRVlfU1VCX1NDT1BFX09OTFkQGRIqCiZFUlJPUl9DT0RFX0FQSV9LRVlfU1VCQUNDT1VOVF9NSVNNQVRDSBAaEiYKIkVSUk9SX0NPREVfQVBJX0tFWV9QT0xJQ1lfUkVRVUlSRUQQGxIeChpFUlJPUl9DT0RFX0FQSV9LRVlfVU5LTk9XThAcEiIKHkVSUk9SX0NPREVfQVBJX0tFWV9NQVJLRVRfREVOWRAdEh4KGkVSUk9SX0NPREVfUFJJQ0VfVElDS19TSVpFEB4SFgoSRVJST1JfQ09ERV9NSU5fUVRZEB8SIwofRVJST1JfQ09ERV9QT1NUX09OTFlfTElNSVRfT05MWRAgEh4KGkVSUk9SX0NPREVfQkFUQ0hfVE9PX0xBUkdFECESLAooRVJST1JfQ09ERV9NT0RJRklDQVRJT05fUkVRVUlSRVNfUkVQTEFDRRAjEi0KKUVSUk9SX0NPREVfQ09ORkxJQ1RfSURFTVBPVEVOQ1lfS0VZX1JFVVNFECQSJwojRVJST1JfQ09ERV9NQVJLRVRfUFJJQ0VfVU5BVkFJTEFCTEUQJRIiCh5FUlJPUl9DT0RFX1BBSVJfTk9UX0xJU1RFRF9ZRVQQMhIcChhFUlJPUl9DT0RFX1BBSVJfREVMSVNURUQQMxIfChtFUlJPUl9DT0RFX1BBSVJfQ0FOQ0VMX09OTFkQNBIdChlFUlJPUl9DT0RFX1BBSVJfUE9TVF9PTkxZEDUSHwobRVJST1JfQ09ERV9QQUlSX1JFRFVDRV9PTkxZEDYSGQoVRVJST1JfQ09ERV9SSVNLX0xJTUlUEDcSHAoYRVJST1JfQ09ERV9NQVJLRVRfSEFMVEVEEDgSHgoaRVJST1JfQ09ERV9BQ0NPVU5UX1VOS05PV04QORIeChpFUlJPUl9DT0RFX1BPU1RfT05MWV9DUk9TUxA6EiIKHkVSUk9SX0NPREVfUkVEVUNFX09OTFlfQkxPQ0tFRBA7EiMKH0VSUk9SX0NPREVfUFJJQ0VfQkFORF9WSU9MQVRJT04QPBIjCh9FUlJPUl9DT0RFX01BUktFVF9DQVBfVklPTEFUSU9OED0SGQoVRVJST1JfQ09ERV9FTVBUWV9CT09LED4SKQolRVJST1JfQ09ERV9GT0tfSU5TVUZGSUNJRU5UX0xJUVVJRElUWRA/EiUKIUVSUk9SX0NPREVfT1JERVJfQUxSRUFEWV9URVJNSU5BTBBAEiQKIEVSUk9SX0NPREVfVFJJR0dFUl9QUklDRV9JTlZBTElEECgSLworRVJST1JfQ09ERV9UUklHR0VSX1BSSUNFX1NPVVJDRV9VTlNVUFBPUlRFRBApEigKJEVSUk9SX0NPREVfVFJBSUxJTkdfRElTVEFOQ0VfSU5WQUxJRBAqEiAKHEVSUk9SX0NPREVfVFJJR0dFUl9OT1RfRk9VTkQQKxImCiJFUlJPUl9DT0RFX1RSSUdHRVJfQ0FOQ0VMX1JFSkVDVEVEECwSJQohRVJST1JfQ09ERV9UUklHR0VSX1NUQVRVU19JTlZBTElEEC0SJQohRVJST1JfQ09ERV9UUklHR0VSX05PVF9NT0RJRklBQkxFEC4SMwovRVJST1JfQ09ERV9DT05GTElDVF9EVVBMSUNBVEVfQ0xJRU5UX1RSSUdHRVJfSUQQLxIjCh9FUlJPUl9DT0RFX01BWF9TTElQUEFHRV9JTlZBTElEEDASGgoWRVJST1JfQ09ERV9TVEFMRV9RVU9URRBBEh8KG0VSUk9SX0NPREVfVkFMSURBVElPTl9FUlJPUhBCEhkKFUVSUk9SX0NPREVfT1ZFUkxPQURFRBBDEigKJEVSUk9SX0NPREVfTUFYX1FVT1RFX0RFQklUX1RPT19TTUFMTBBEEiIKHkVSUk9SX0NPREVfUkFURV9MSU1JVF9FWENFRURFRBBFKmsKElRyaWdnZXJQcmljZVNvdXJjZRIkCiBUUklHR0VSX1BSSUNFX1NPVVJDRV9VTlNQRUNJRklFRBAAEg4KCkxBU1RfUFJJQ0UQARIPCgtJTkRFWF9QUklDRRACEg4KCk1BUktfUFJJQ0UQAypLChBUcmlnZ2VyRGlyZWN0aW9uEiEKHVRSSUdHRVJfRElSRUNUSU9OX1VOU1BFQ0lGSUVEEAASCQoFQUJPVkUQARIJCgVCRUxPVxACKmkKDk1vZGlmeUJlaGF2aW9yEh8KG01PRElGWV9CRUhBVklPUl9VTlNQRUNJRklFRBAAEhQKEEFNRU5EX09SX1JFUExBQ0UQARIOCgpBTUVORF9PTkxZEAISEAoMUkVQTEFDRV9PTkxZEAMqTQoRTW9kaWZ5QWN0aW9uVGFrZW4SHQoZTU9ESUZZX0FDVElPTl9VTlNQRUNJRklFRBAAEgsKB0FNRU5ERUQQARIMCghSRVBMQUNFRBACKt4BChtCYXRjaFJlcGxhY2VBZG1pc3Npb25TdGF0dXMSLgoqQkFUQ0hfUkVQTEFDRV9BRE1JU1NJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASKwonQkFUQ0hfUkVQTEFDRV9BRE1JU1NJT05fU1RBVFVTX0FETUlUVEVEEAESNQoxQkFUQ0hfUkVQTEFDRV9BRE1JU1NJT05fU1RBVFVTX1BBUlRJQUxMWV9BRE1JVFRFRBACEisKJ0JBVENIX1JFUExBQ0VfQURNSVNTSU9OX1NUQVRVU19SRUpFQ1RFRBADKroBCh9CYXRjaFJlcGxhY2VJdGVtQWRtaXNzaW9uU3RhdHVzEjMKL0JBVENIX1JFUExBQ0VfSVRFTV9BRE1JU1NJT05fU1RBVFVTX1VOU1BFQ0lGSUVEEAASMAosQkFUQ0hfUkVQTEFDRV9JVEVNX0FETUlTU0lPTl9TVEFUVVNfQURNSVRURUQQARIwCixCQVRDSF9SRVBMQUNFX0lURU1fQURNSVNTSU9OX1NUQVRVU19SRUpFQ1RFRBACMrAGCg1PcmRlcnNTZXJ2aWNlElEKDFByZXZpZXdPcmRlchIeLm9yZGVycy52MS5QcmV2aWV3T3JkZXJSZXF1ZXN0Gh8ub3JkZXJzLnYxLlByZXZpZXdPcmRlclJlc3BvbnNlIgASTgoLQ3JlYXRlT3JkZXISHS5vcmRlcnMudjEuQ3JlYXRlT3JkZXJSZXF1ZXN0Gh4ub3JkZXJzLnYxLkNyZWF0ZU9yZGVyUmVzcG9uc2UiABJOCgtDYW5jZWxPcmRlchIdLm9yZGVycy52MS5DYW5jZWxPcmRlclJlcXVlc3QaHi5vcmRlcnMudjEuQ2FuY2VsT3JkZXJSZXNwb25zZSIAEloKD0NhbmNlbEFsbE9yZGVycxIhLm9yZGVycy52MS5DYW5jZWxBbGxPcmRlcnNSZXF1ZXN0GiIub3JkZXJzLnYxLkNhbmNlbEFsbE9yZGVyc1Jlc3BvbnNlIgASVwoOQ2FuY2VsQWxsQWZ0ZXISIC5vcmRlcnMudjEuQ2FuY2VsQWxsQWZ0ZXJSZXF1ZXN0GiEub3JkZXJzLnYxLkNhbmNlbEFsbEFmdGVyUmVzcG9uc2UiABJgChFCYXRjaENyZWF0ZU9yZGVycxIjLm9yZGVycy52MS5CYXRjaENyZWF0ZU9yZGVyc1JlcXVlc3QaJC5vcmRlcnMudjEuQmF0Y2hDcmVhdGVPcmRlcnNSZXNwb25zZSIAEk4KC01vZGlmeU9yZGVyEh0ub3JkZXJzLnYxLk1vZGlmeU9yZGVyUmVxdWVzdBoeLm9yZGVycy52MS5Nb2RpZnlPcmRlclJlc3BvbnNlIgASYwoSQmF0Y2hSZXBsYWNlT3JkZXJzEiQub3JkZXJzLnYxLkJhdGNoUmVwbGFjZU9yZGVyc1JlcXVlc3QaJS5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlT3JkZXJzUmVzcG9uc2UiABJgChFCYXRjaENhbmNlbE9yZGVycxIjLm9yZGVycy52MS5CYXRjaENhbmNlbE9yZGVyc1JlcXVlc3QaJC5vcmRlcnMudjEuQmF0Y2hDYW5jZWxPcmRlcnNSZXNwb25zZSIAQkBaPmdpdGh1Yi5jb20vRmFicmljLUxhYnMvcG9seWVzdGVyLXNkay1nby9nZW4vb3JkZXJzL3YxO29yZGVyc3YxYgZwcm90bzM=", [file_google_protobuf_timestamp, file_polyester_ratelimit_v1_types]);
76
+ const file_orders_v1_orders = /*@__PURE__*/ fileDesc("ChZvcmRlcnMvdjEvb3JkZXJzLnByb3RvEglvcmRlcnMudjEiewoJTWFya2V0SW9jEh4KEm1heF9zbGlwcGFnZV90aWNrcxgBIAEoBUIASAASHAoQbWF4X3NsaXBwYWdlX2JwcxgCIAEoBUIASAASIAoWY2xpZW50X3JlZl9wcmljZV90aWNrcxgDIAEoA0IAQg4KDG1heF9zbGlwcGFnZSI0CghMaW1pdEd0YxIVCgtwcmljZV90aWNrcxgBIAEoA0IAEhEKCXBvc3Rfb25seRgCIAEoCCIhCghMaW1pdElvYxIVCgtwcmljZV90aWNrcxgBIAEoA0IAIiEKCExpbWl0Rm9rEhUKC3ByaWNlX3RpY2tzGAEgASgDQgAihQQKC09yZGVySW50ZW50EhAKBnN5bWJvbBgBIAEoCUIAEh8KBHNpZGUYAiABKA4yDy5vcmRlcnMudjEuU2lkZUIAEhsKD2Jhc2VfcXR5X3NjYWxlZBgDIAEoA0IASAASIgoWbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgEIAEoA0IASAASKgoKbWFya2V0X2lvYxgKIAEoCzIULm9yZGVycy52MS5NYXJrZXRJb2NIARIoCglsaW1pdF9ndGMYCyABKAsyEy5vcmRlcnMudjEuTGltaXRHdGNIARIoCglsaW1pdF9pb2MYDCABKAsyEy5vcmRlcnMudjEuTGltaXRJb2NIARIoCglsaW1pdF9mb2sYDSABKAsyEy5vcmRlcnMudjEuTGltaXRGb2tIARIZCg9jbGllbnRfb3JkZXJfaWQYFCABKAlCABIoCglmZWVfYXNzZXQYFSABKA4yEy5vcmRlcnMudjEuRmVlQXNzZXRCABJIChpzZWxmX3RyYWRlX3ByZXZlbnRpb25fbW9kZRgWIAEoDjIiLm9yZGVycy52MS5TZWxmVHJhZGVQcmV2ZW50aW9uTW9kZUIAEiwKDWF0dGFjaGVkX3Jpc2sYHiABKAsyFS5vcmRlcnMudjEuUmlza1BvbGljeToAQgoKBnNpemluZxIAQg0KCWV4ZWN1dGlvbhIAImsKEkNyZWF0ZU9yZGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESJwoFb3JkZXIYAiABKAsyFi5vcmRlcnMudjEuT3JkZXJJbnRlbnRCAEIQCg5fc3ViYWNjb3VudF9pZCLCAwoTQ3JlYXRlT3JkZXJSZXNwb25zZRIQCghvcmRlcl9pZBgBIAEoBhIXCg9jbGllbnRfb3JkZXJfaWQYAiABKAkSLwoLYWNjZXB0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEhkKEWFjY2VwdGVkX2F0X3RzX25zGAQgASgEEiAKGHJlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZBgFIAEoAxItCiBzdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZBgGIAEoA0gAiAEBEiMKFnRha2VfcHJvZml0X3RyaWdnZXJfaWQYFCABKARIAYgBARIhChRzdG9wX2xvc3NfdHJpZ2dlcl9pZBgVIAEoBEgCiAEBEiUKGHRyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZBgWIAEoBEgDiAEBQiMKIV9zdWJtaXR0ZWRfbWF4X3F1b3RlX2RlYml0X3NjYWxlZEIZChdfdGFrZV9wcm9maXRfdHJpZ2dlcl9pZEIXChVfc3RvcF9sb3NzX3RyaWdnZXJfaWRCGwoZX3RyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZCJsChNQcmV2aWV3T3JkZXJSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBARInCgVvcmRlchgCIAEoCzIWLm9yZGVycy52MS5PcmRlckludGVudEIAQhAKDl9zdWJhY2NvdW50X2lkIqkCChRQcmV2aWV3T3JkZXJSZXNwb25zZRIXCgphZG1pc3NpYmxlGAEgASgISACIAQESKQoJcmVqZWN0aW9uGAIgASgLMhYub3JkZXJzLnYxLkVycm9yRGV0YWlsEiUKGHJlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZBgDIAEoA0gBiAEBEigKG3Byb3RlY3RlZF9wcmljZV9ib3VuZF90aWNrcxgEIAEoA0gCiAEBEjAKDGV2YWx1YXRlZF9hdBgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXBCDQoLX2FkbWlzc2libGVCGwoZX3Jlc29sdmVkX2Jhc2VfcXR5X3NjYWxlZEIeChxfcHJvdGVjdGVkX3ByaWNlX2JvdW5kX3RpY2tzIpEBChJDYW5jZWxPcmRlclJlcXVlc3QSFAoIb3JkZXJfaWQYASABKAZCAEgAEhsKD2NsaWVudF9vcmRlcl9pZBgCIAEoCUIASAASEQoJc3ltYm9sX2lkGAMgASgNEhoKDXN1YmFjY291bnRfaWQYBCABKAZIAYgBAToAQgUKA2tleUIQCg5fc3ViYWNjb3VudF9pZCJuChNDYW5jZWxPcmRlclJlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRIQCghvcmRlcl9pZBgCIAEoBhImCgJ0cxgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYBCABKAQiRgoORmllbGRWaW9sYXRpb24SEgoKZmllbGRfcGF0aBgBIAEoCRIPCgdydWxlX2lkGAIgASgJEg8KB21lc3NhZ2UYAyABKAkinQEKC0Vycm9yRGV0YWlsEiIKBGNvZGUYASABKA4yFC5vcmRlcnMudjEuRXJyb3JDb2RlEi0KCnZpb2xhdGlvbnMYAiADKAsyGS5vcmRlcnMudjEuRmllbGRWaW9sYXRpb24SOwoKcmF0ZV9saW1pdBgDIAEoCzInLnBvbHllc3Rlci5yYXRlbGltaXQudjEuUmF0ZUxpbWl0RGV0YWlsIg8KDVJpc2tNYXJrZXRJb2MiJQoMUmlza0xpbWl0R3RjEhUKC3ByaWNlX3RpY2tzGAEgASgDQgAifAoNUmlza0V4ZWN1dGlvbhIuCgptYXJrZXRfaW9jGAEgASgLMhgub3JkZXJzLnYxLlJpc2tNYXJrZXRJb2NIABIsCglsaW1pdF9ndGMYAiABKAsyFy5vcmRlcnMudjEuUmlza0xpbWl0R3RjSABCDQoJZXhlY3V0aW9uEgAiXAoQVGFrZVByb2ZpdFBvbGljeRIdChN0cmlnZ2VyX3ByaWNlX3RpY2tzGAEgASgDQgASKQoFY2hpbGQYAiABKAsyGC5vcmRlcnMudjEuUmlza0V4ZWN1dGlvbkIAIloKDlN0b3BMb3NzUG9saWN5Eh0KE3RyaWdnZXJfcHJpY2VfdGlja3MYASABKANCABIpCgVjaGlsZBgCIAEoCzIYLm9yZGVycy52MS5SaXNrRXhlY3V0aW9uQgAi3wEKElRyYWlsaW5nU3RvcFBvbGljeRIjChd0cmFpbGluZ19kaXN0YW5jZV90aWNrcxgBIAEoA0IASAASIQoVdHJhaWxpbmdfZGlzdGFuY2VfYnBzGAIgASgFQgBIABIeChJtYXhfc2xpcHBhZ2VfdGlja3MYBiABKAVCAEgBEhwKEG1heF9zbGlwcGFnZV9icHMYByABKAVCAEgBEh4KFmFjdGl2YXRpb25fcHJpY2VfdGlja3MYAyABKANCEwoRdHJhaWxpbmdfZGlzdGFuY2VCDgoMbWF4X3NsaXBwYWdlIsEBCgpSaXNrUG9saWN5EjAKC3Rha2VfcHJvZml0GAEgASgLMhsub3JkZXJzLnYxLlRha2VQcm9maXRQb2xpY3kSLgoJc3RvcF9sb3NzGAIgASgLMhkub3JkZXJzLnYxLlN0b3BMb3NzUG9saWN5SAASNgoNdHJhaWxpbmdfc3RvcBgDIAEoCzIdLm9yZGVycy52MS5UcmFpbGluZ1N0b3BQb2xpY3lIABILCgNvY28YBCABKAg6AEIKCghzdG9wX2xlZyKgAQoWQ2FuY2VsQWxsT3JkZXJzUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESEAoGc3ltYm9sGAIgASgJQgASHwoEc2lkZRgDIAEoDjIPLm9yZGVycy52MS5TaWRlQgASDwoHZHJ5X3J1bhgEIAEoCBIUCgpyZXF1ZXN0X2lkGAYgASgJQgBCEAoOX3N1YmFjY291bnRfaWQiqwEKF0NhbmNlbEFsbE9yZGVyc1Jlc3BvbnNlEg4KBnN0YXR1cxgBIAEoCRIWCg5tYXRjaGVkX29yZGVycxgCIAEoDRIZChFzdWJtaXR0ZWRfY2FuY2VscxgDIAEoDRIWCg5mYWlsZWRfY2FuY2VscxgEIAEoDRImCgJ0cxgFIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYBiABKAQipQEKFUNhbmNlbEFsbEFmdGVyUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESEwoLdGltZW91dF9zZWMYAiABKA0SEAoGc3ltYm9sGAMgASgJQgASHwoEc2lkZRgEIAEoDjIPLm9yZGVycy52MS5TaWRlQgASFAoKcmVxdWVzdF9pZBgFIAEoCUIAOgBCEAoOX3N1YmFjY291bnRfaWQimAEKFkNhbmNlbEFsbEFmdGVyUmVzcG9uc2USDgoGc3RhdHVzGAEgASgJEh0KFWVmZmVjdGl2ZV90aW1lb3V0X3NlYxgCIAEoDRIYChBleHBpcmVzX2F0X3RzX25zGAMgASgEEiYKAnRzGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0c19ucxgFIAEoBCLdAgoTQmF0Y2hDcmVhdGVBY2NlcHRlZBIQCghvcmRlcl9pZBgBIAEoBhIjChZ0YWtlX3Byb2ZpdF90cmlnZ2VyX2lkGAIgASgESACIAQESIQoUc3RvcF9sb3NzX3RyaWdnZXJfaWQYAyABKARIAYgBARIlChh0cmFpbGluZ19zdG9wX3RyaWdnZXJfaWQYBCABKARIAogBARIgChhyZXNvbHZlZF9iYXNlX3F0eV9zY2FsZWQYBSABKAMSLQogc3VibWl0dGVkX21heF9xdW90ZV9kZWJpdF9zY2FsZWQYBiABKANIA4gBAUIZChdfdGFrZV9wcm9maXRfdHJpZ2dlcl9pZEIXChVfc3RvcF9sb3NzX3RyaWdnZXJfaWRCGwoZX3RyYWlsaW5nX3N0b3BfdHJpZ2dlcl9pZEIjCiFfc3VibWl0dGVkX21heF9xdW90ZV9kZWJpdF9zY2FsZWQiPgoTQmF0Y2hDcmVhdGVSZWplY3RlZBInCgVlcnJvchgBIAEoCzIWLm9yZGVycy52MS5FcnJvckRldGFpbEIAIqUBChVCYXRjaENyZWF0ZVJlc3VsdEl0ZW0SFwoPY2xpZW50X29yZGVyX2lkGAEgASgJEjIKCGFjY2VwdGVkGAIgASgLMh4ub3JkZXJzLnYxLkJhdGNoQ3JlYXRlQWNjZXB0ZWRIABIyCghyZWplY3RlZBgDIAEoCzIeLm9yZGVycy52MS5CYXRjaENyZWF0ZVJlamVjdGVkSABCCwoHb3V0Y29tZRIAIocBChhCYXRjaENyZWF0ZU9yZGVyc1JlcXVlc3QSGgoNc3ViYWNjb3VudF9pZBgBIAEoBkgAiAEBEhQKCnJlcXVlc3RfaWQYAiABKAlCABInCgVpdGVtcxgDIAMoCzIWLm9yZGVycy52MS5PcmRlckludGVudEIAQhAKDl9zdWJhY2NvdW50X2lkIrUBChlCYXRjaENyZWF0ZU9yZGVyc1Jlc3BvbnNlEjEKB3Jlc3VsdHMYASADKAsyIC5vcmRlcnMudjEuQmF0Y2hDcmVhdGVSZXN1bHRJdGVtEhYKDmFjY2VwdGVkX2NvdW50GAIgASgNEhYKDnJlamVjdGVkX2NvdW50GAMgASgNEiYKAnRzGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0c19ucxgFIAEoBCKRAwoSTW9kaWZ5T3JkZXJSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAYgBARIUCghvcmRlcl9pZBgCIAEoBkIASAASGwoPY2xpZW50X29yZGVyX2lkGAMgASgJQgBIABIUCgpyZXF1ZXN0X2lkGAQgASgJQgASHgoPbmV3X3ByaWNlX3RpY2tzGAUgASgDQgBIAogBARIdCg5uZXdfcXR5X3NjYWxlZBgGIAEoA0IASAOIAQESMAoRbmV3X2F0dGFjaGVkX3Jpc2sYByABKAsyFS5vcmRlcnMudjEuUmlza1BvbGljeRItCghiZWhhdmlvchgIIAEoDjIZLm9yZGVycy52MS5Nb2RpZnlCZWhhdmlvckIAEh0KE25ld19jbGllbnRfb3JkZXJfaWQYCSABKAlCABITCglzeW1ib2xfaWQYCiABKA1CADoAQgcKA2tleRIAQhAKDl9zdWJhY2NvdW50X2lkQhIKEF9uZXdfcHJpY2VfdGlja3NCEQoPX25ld19xdHlfc2NhbGVkIvwCChNNb2RpZnlPcmRlclJlc3BvbnNlEjIKDGFjdGlvbl90YWtlbhgBIAEoDjIcLm9yZGVycy52MS5Nb2RpZnlBY3Rpb25UYWtlbhIUCgxvbGRfb3JkZXJfaWQYAiABKAYSFgoOZmluYWxfb3JkZXJfaWQYAyABKAYSDAoEY29kZRgEIAEoCRIjChZ0YWtlX3Byb2ZpdF90cmlnZ2VyX2lkGAUgASgESACIAQESIQoUc3RvcF9sb3NzX3RyaWdnZXJfaWQYBiABKARIAYgBARIlChh0cmFpbGluZ19zdG9wX3RyaWdnZXJfaWQYByABKARIAogBARImCgJ0cxgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASDQoFdHNfbnMYCSABKARCGQoXX3Rha2VfcHJvZml0X3RyaWdnZXJfaWRCFwoVX3N0b3BfbG9zc190cmlnZ2VyX2lkQhsKGV90cmFpbGluZ19zdG9wX3RyaWdnZXJfaWQijAIKFUJhdGNoUmVwbGFjZU9yZGVySXRlbRIUCghvcmRlcl9pZBgBIAEoBkIASAASGwoPY2xpZW50X29yZGVyX2lkGAIgASgJQgBIABIeCg9uZXdfcHJpY2VfdGlja3MYAyABKANCAEgBiAEBEh0KDm5ld19xdHlfc2NhbGVkGAQgASgDQgBIAogBARIwChFuZXdfYXR0YWNoZWRfcmlzaxgFIAEoCzIVLm9yZGVycy52MS5SaXNrUG9saWN5Eh0KE25ld19jbGllbnRfb3JkZXJfaWQYBiABKAlCADoAQgcKA2tleRIAQhIKEF9uZXdfcHJpY2VfdGlja3NCEQoPX25ld19xdHlfc2NhbGVkIu0BChlCYXRjaFJlcGxhY2VBZG1pc3Npb25JdGVtEhIKCml0ZW1faW5kZXgYASABKA0SOgoGc3RhdHVzGAIgASgOMioub3JkZXJzLnYxLkJhdGNoUmVwbGFjZUl0ZW1BZG1pc3Npb25TdGF0dXMSFAoMb2xkX29yZGVyX2lkGAMgASgGEhwKFHJlcGxhY2VtZW50X29yZGVyX2lkGAQgASgGEhcKD2NsaWVudF9vcmRlcl9pZBgFIAEoCRIMCgRjb2RlGAYgASgJEiUKBWVycm9yGAcgASgLMhYub3JkZXJzLnYxLkVycm9yRGV0YWlsIqkBChlCYXRjaFJlcGxhY2VPcmRlcnNSZXF1ZXN0EhoKDXN1YmFjY291bnRfaWQYASABKAZIAIgBARITCglzeW1ib2xfaWQYAiABKA1CABIUCgpyZXF1ZXN0X2lkGAMgASgJQgASMQoFaXRlbXMYBCADKAsyIC5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlT3JkZXJJdGVtQgA6AEIQCg5fc3ViYWNjb3VudF9pZCKeAgoaQmF0Y2hSZXBsYWNlT3JkZXJzUmVzcG9uc2USGAoQYmF0Y2hfcmVxdWVzdF9pZBgBIAEoBhI2CgZzdGF0dXMYAiABKA4yJi5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlQWRtaXNzaW9uU3RhdHVzEjUKB3Jlc3VsdHMYAyADKAsyJC5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlQWRtaXNzaW9uSXRlbRIWCg5hY2NlcHRlZF9jb3VudBgEIAEoDRIWCg5yZWplY3RlZF9jb3VudBgFIAEoDRIvCgthY2NlcHRlZF90cxgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASFgoOYWNjZXB0ZWRfdHNfbnMYByABKAQiVQoPQmF0Y2hDYW5jZWxJdGVtEhIKCG9yZGVyX2lkGAEgASgGQgASGQoPY2xpZW50X29yZGVyX2lkGAIgASgJQgASEQoJc3ltYm9sX2lkGAMgASgNOgAihwEKFUJhdGNoQ2FuY2VsUmVzdWx0SXRlbRIOCgZzdGF0dXMYASABKAkSEAoIb3JkZXJfaWQYAiABKAYSFwoPY2xpZW50X29yZGVyX2lkGAMgASgJEgwKBGNvZGUYBCABKAkSJQoFZXJyb3IYBSABKAsyFi5vcmRlcnMudjEuRXJyb3JEZXRhaWwiiwEKGEJhdGNoQ2FuY2VsT3JkZXJzUmVxdWVzdBIaCg1zdWJhY2NvdW50X2lkGAEgASgGSACIAQESFAoKcmVxdWVzdF9pZBgCIAEoCUIAEisKBWl0ZW1zGAMgAygLMhoub3JkZXJzLnYxLkJhdGNoQ2FuY2VsSXRlbUIAQhAKDl9zdWJhY2NvdW50X2lkIrUBChlCYXRjaENhbmNlbE9yZGVyc1Jlc3BvbnNlEjEKB3Jlc3VsdHMYASADKAsyIC5vcmRlcnMudjEuQmF0Y2hDYW5jZWxSZXN1bHRJdGVtEhYKDmFjY2VwdGVkX2NvdW50GAIgASgNEhYKDnJlamVjdGVkX2NvdW50GAMgASgNEiYKAnRzGAQgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBINCgV0c19ucxgFIAEoBCovCgRTaWRlEhQKEFNJREVfVU5TUEVDSUZJRUQQABIHCgNCVVkQARIICgRTRUxMEAIqPgoJT3JkZXJUeXBlEhoKFk9SREVSX1RZUEVfVU5TUEVDSUZJRUQQABIJCgVMSU1JVBABEgoKBk1BUktFVBACKkcKC1RpbWVJbkZvcmNlEh0KGVRJTUVfSU5fRk9SQ0VfVU5TUEVDSUZJRUQQABIHCgNHVEMQARIHCgNJT0MQAhIHCgNGT0sQAyo6CghGZWVBc3NldBIZChVGRUVfQVNTRVRfVU5TUEVDSUZJRUQQABIJCgVRVU9URRABEggKBEJBU0UQAip6ChdTZWxmVHJhZGVQcmV2ZW50aW9uTW9kZRIqCiZTRUxGX1RSQURFX1BSRVZFTlRJT05fTU9ERV9VTlNQRUNJRklFRBAAEhAKDEVYUElSRV9NQUtFUhABEhAKDEVYUElSRV9UQUtFUhACEg8KC0VYUElSRV9CT1RIEAMqrhMKCUVycm9yQ29kZRIaChZFUlJPUl9DT0RFX1VOU1BFQ0lGSUVEEAASGgoWRVJST1JfQ09ERV9CQURfUkVRVUVTVBABEh8KG0VSUk9SX0NPREVfSU5WQUxJRF9BUkdVTUVOVBACEiEKHUVSUk9SX0NPREVfSU5TVUZGSUNJRU5UX0ZVTkRTEAMSHQoZRVJST1JfQ09ERV9VTktOT1dOX1NZTUJPTBAEEhgKFEVSUk9SX0NPREVfQkFEX1BSSUNFEAUSFgoSRVJST1JfQ09ERV9CQURfUVRZEAYSGwoXRVJST1JfQ09ERV9NSU5fTk9USU9OQUwQBxIcChhFUlJPUl9DT0RFX1FUWV9TVEVQX1NJWkUQCBIxCi1FUlJPUl9DT0RFX0NPTkZMSUNUX0RVUExJQ0FURV9DTElFTlRfT1JERVJfSUQQCRIaChZFUlJPUl9DT0RFX1VOQVZBSUxBQkxFEAoSHgoaRVJST1JfQ09ERV9VTkFVVEhFTlRJQ0FURUQQCxIgChxFUlJPUl9DT0RFX1BFUk1JU1NJT05fREVOSUVEEAwSGAoURVJST1JfQ09ERV9OT1RfRk9VTkQQDRIdChlFUlJPUl9DT0RFX1VQU1RSRUFNX0VSUk9SEA4SJAogRVJST1JfQ09ERV9GRUVfQVNTRVRfTk9UX0FMTE9XRUQQDxIcChhFUlJPUl9DT0RFX1BBSVJfRElTQUJMRUQQEBIcChhFUlJPUl9DT0RFX09SREVSX1VOS05PV04QERIdChlFUlJPUl9DT0RFX0lOVEVSTkFMX0VSUk9SEBISIgoeRVJST1JfQ09ERV9TVUJBQ0NPVU5UX0lOQUNUSVZFEBMSIQodRVJST1JfQ09ERV9QT0xJQ1lfTUFSS0VUX0RFTlkQFBIiCh5FUlJPUl9DT0RFX1BPTElDWV9NQVhfTk9USU9OQUwQFRIkCiBFUlJPUl9DT0RFX1BPTElDWV9UUkFESU5HX0hBTFRFRBAWEiUKIUVSUk9SX0NPREVfUE9MSUNZX1NQT1RfVFJBREVfREVOWRAXEiYKIkVSUk9SX0NPREVfQVBJX0tFWV9ST09UX1NDT1BFX09OTFkQGBIlCiFFUlJPUl9DT0RFX0FQSV9LRVlfU1VCX1NDT1BFX09OTFkQGRIqCiZFUlJPUl9DT0RFX0FQSV9LRVlfU1VCQUNDT1VOVF9NSVNNQVRDSBAaEiYKIkVSUk9SX0NPREVfQVBJX0tFWV9QT0xJQ1lfUkVRVUlSRUQQGxIeChpFUlJPUl9DT0RFX0FQSV9LRVlfVU5LTk9XThAcEiIKHkVSUk9SX0NPREVfQVBJX0tFWV9NQVJLRVRfREVOWRAdEh4KGkVSUk9SX0NPREVfUFJJQ0VfVElDS19TSVpFEB4SFgoSRVJST1JfQ09ERV9NSU5fUVRZEB8SIwofRVJST1JfQ09ERV9QT1NUX09OTFlfTElNSVRfT05MWRAgEh4KGkVSUk9SX0NPREVfQkFUQ0hfVE9PX0xBUkdFECESJQohRVJST1JfQ09ERV9QT0xJQ1lfTUFYX09QRU5fT1JERVJTECISLAooRVJST1JfQ09ERV9NT0RJRklDQVRJT05fUkVRVUlSRVNfUkVQTEFDRRAjEi0KKUVSUk9SX0NPREVfQ09ORkxJQ1RfSURFTVBPVEVOQ1lfS0VZX1JFVVNFECQSJwojRVJST1JfQ09ERV9NQVJLRVRfUFJJQ0VfVU5BVkFJTEFCTEUQJRIiCh5FUlJPUl9DT0RFX1BBSVJfTk9UX0xJU1RFRF9ZRVQQMhIcChhFUlJPUl9DT0RFX1BBSVJfREVMSVNURUQQMxIfChtFUlJPUl9DT0RFX1BBSVJfQ0FOQ0VMX09OTFkQNBIdChlFUlJPUl9DT0RFX1BBSVJfUE9TVF9PTkxZEDUSHwobRVJST1JfQ09ERV9QQUlSX1JFRFVDRV9PTkxZEDYSGQoVRVJST1JfQ09ERV9SSVNLX0xJTUlUEDcSHAoYRVJST1JfQ09ERV9NQVJLRVRfSEFMVEVEEDgSHgoaRVJST1JfQ09ERV9BQ0NPVU5UX1VOS05PV04QORIeChpFUlJPUl9DT0RFX1BPU1RfT05MWV9DUk9TUxA6EiIKHkVSUk9SX0NPREVfUkVEVUNFX09OTFlfQkxPQ0tFRBA7EiMKH0VSUk9SX0NPREVfUFJJQ0VfQkFORF9WSU9MQVRJT04QPBIjCh9FUlJPUl9DT0RFX01BUktFVF9DQVBfVklPTEFUSU9OED0SGQoVRVJST1JfQ09ERV9FTVBUWV9CT09LED4SKQolRVJST1JfQ09ERV9GT0tfSU5TVUZGSUNJRU5UX0xJUVVJRElUWRA/EiUKIUVSUk9SX0NPREVfT1JERVJfQUxSRUFEWV9URVJNSU5BTBBAEiQKIEVSUk9SX0NPREVfVFJJR0dFUl9QUklDRV9JTlZBTElEECgSLworRVJST1JfQ09ERV9UUklHR0VSX1BSSUNFX1NPVVJDRV9VTlNVUFBPUlRFRBApEigKJEVSUk9SX0NPREVfVFJBSUxJTkdfRElTVEFOQ0VfSU5WQUxJRBAqEiAKHEVSUk9SX0NPREVfVFJJR0dFUl9OT1RfRk9VTkQQKxImCiJFUlJPUl9DT0RFX1RSSUdHRVJfQ0FOQ0VMX1JFSkVDVEVEECwSJQohRVJST1JfQ09ERV9UUklHR0VSX1NUQVRVU19JTlZBTElEEC0SJQohRVJST1JfQ09ERV9UUklHR0VSX05PVF9NT0RJRklBQkxFEC4SMwovRVJST1JfQ09ERV9DT05GTElDVF9EVVBMSUNBVEVfQ0xJRU5UX1RSSUdHRVJfSUQQLxIjCh9FUlJPUl9DT0RFX01BWF9TTElQUEFHRV9JTlZBTElEEDASGgoWRVJST1JfQ09ERV9TVEFMRV9RVU9URRBBEh8KG0VSUk9SX0NPREVfVkFMSURBVElPTl9FUlJPUhBCEhkKFUVSUk9SX0NPREVfT1ZFUkxPQURFRBBDEigKJEVSUk9SX0NPREVfTUFYX1FVT1RFX0RFQklUX1RPT19TTUFMTBBEEiIKHkVSUk9SX0NPREVfUkFURV9MSU1JVF9FWENFRURFRBBFEigKJEVSUk9SX0NPREVfU1VCQUNDT1VOVF9SRUFEX0ZPUkJJRERFThBGEiQKIEVSUk9SX0NPREVfUE9MSUNZX1NQT1RfUkVBRF9ERU5ZEEcSJQohRVJST1JfQ09ERV9BUElfS0VZX1NQT1RfUkVBRF9ERU5ZEEgqawoSVHJpZ2dlclByaWNlU291cmNlEiQKIFRSSUdHRVJfUFJJQ0VfU09VUkNFX1VOU1BFQ0lGSUVEEAASDgoKTEFTVF9QUklDRRABEg8KC0lOREVYX1BSSUNFEAISDgoKTUFSS19QUklDRRADKksKEFRyaWdnZXJEaXJlY3Rpb24SIQodVFJJR0dFUl9ESVJFQ1RJT05fVU5TUEVDSUZJRUQQABIJCgVBQk9WRRABEgkKBUJFTE9XEAIqaQoOTW9kaWZ5QmVoYXZpb3ISHwobTU9ESUZZX0JFSEFWSU9SX1VOU1BFQ0lGSUVEEAASFAoQQU1FTkRfT1JfUkVQTEFDRRABEg4KCkFNRU5EX09OTFkQAhIQCgxSRVBMQUNFX09OTFkQAypNChFNb2RpZnlBY3Rpb25UYWtlbhIdChlNT0RJRllfQUNUSU9OX1VOU1BFQ0lGSUVEEAASCwoHQU1FTkRFRBABEgwKCFJFUExBQ0VEEAIq3gEKG0JhdGNoUmVwbGFjZUFkbWlzc2lvblN0YXR1cxIuCipCQVRDSF9SRVBMQUNFX0FETUlTU0lPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIrCidCQVRDSF9SRVBMQUNFX0FETUlTU0lPTl9TVEFUVVNfQURNSVRURUQQARI1CjFCQVRDSF9SRVBMQUNFX0FETUlTU0lPTl9TVEFUVVNfUEFSVElBTExZX0FETUlUVEVEEAISKwonQkFUQ0hfUkVQTEFDRV9BRE1JU1NJT05fU1RBVFVTX1JFSkVDVEVEEAMqugEKH0JhdGNoUmVwbGFjZUl0ZW1BZG1pc3Npb25TdGF0dXMSMwovQkFUQ0hfUkVQTEFDRV9JVEVNX0FETUlTU0lPTl9TVEFUVVNfVU5TUEVDSUZJRUQQABIwCixCQVRDSF9SRVBMQUNFX0lURU1fQURNSVNTSU9OX1NUQVRVU19BRE1JVFRFRBABEjAKLEJBVENIX1JFUExBQ0VfSVRFTV9BRE1JU1NJT05fU1RBVFVTX1JFSkVDVEVEEAIysAYKDU9yZGVyc1NlcnZpY2USUQoMUHJldmlld09yZGVyEh4ub3JkZXJzLnYxLlByZXZpZXdPcmRlclJlcXVlc3QaHy5vcmRlcnMudjEuUHJldmlld09yZGVyUmVzcG9uc2UiABJOCgtDcmVhdGVPcmRlchIdLm9yZGVycy52MS5DcmVhdGVPcmRlclJlcXVlc3QaHi5vcmRlcnMudjEuQ3JlYXRlT3JkZXJSZXNwb25zZSIAEk4KC0NhbmNlbE9yZGVyEh0ub3JkZXJzLnYxLkNhbmNlbE9yZGVyUmVxdWVzdBoeLm9yZGVycy52MS5DYW5jZWxPcmRlclJlc3BvbnNlIgASWgoPQ2FuY2VsQWxsT3JkZXJzEiEub3JkZXJzLnYxLkNhbmNlbEFsbE9yZGVyc1JlcXVlc3QaIi5vcmRlcnMudjEuQ2FuY2VsQWxsT3JkZXJzUmVzcG9uc2UiABJXCg5DYW5jZWxBbGxBZnRlchIgLm9yZGVycy52MS5DYW5jZWxBbGxBZnRlclJlcXVlc3QaIS5vcmRlcnMudjEuQ2FuY2VsQWxsQWZ0ZXJSZXNwb25zZSIAEmAKEUJhdGNoQ3JlYXRlT3JkZXJzEiMub3JkZXJzLnYxLkJhdGNoQ3JlYXRlT3JkZXJzUmVxdWVzdBokLm9yZGVycy52MS5CYXRjaENyZWF0ZU9yZGVyc1Jlc3BvbnNlIgASTgoLTW9kaWZ5T3JkZXISHS5vcmRlcnMudjEuTW9kaWZ5T3JkZXJSZXF1ZXN0Gh4ub3JkZXJzLnYxLk1vZGlmeU9yZGVyUmVzcG9uc2UiABJjChJCYXRjaFJlcGxhY2VPcmRlcnMSJC5vcmRlcnMudjEuQmF0Y2hSZXBsYWNlT3JkZXJzUmVxdWVzdBolLm9yZGVycy52MS5CYXRjaFJlcGxhY2VPcmRlcnNSZXNwb25zZSIAEmAKEUJhdGNoQ2FuY2VsT3JkZXJzEiMub3JkZXJzLnYxLkJhdGNoQ2FuY2VsT3JkZXJzUmVxdWVzdBokLm9yZGVycy52MS5CYXRjaENhbmNlbE9yZGVyc1Jlc3BvbnNlIgBCQFo+Z2l0aHViLmNvbS9GYWJyaWMtTGFicy9wb2x5ZXN0ZXItc2RrLWdvL2dlbi9vcmRlcnMvdjE7b3JkZXJzdjFiBnByb3RvMw==", [file_google_protobuf_timestamp, file_polyester_ratelimit_v1_types]);
77
77
  /**
78
78
  * Describes the message orders.v1.MarketIoc.
79
79
  * Use `create(MarketIocSchema)` to create a new message.
@@ -637,6 +637,12 @@ let ErrorCode = /* @__PURE__ */ function(ErrorCode) {
637
637
  */
638
638
  ErrorCode[ErrorCode["BATCH_TOO_LARGE"] = 33] = "BATCH_TOO_LARGE";
639
639
  /**
640
+ * Sub-account policy maximum number of open orders has been reached.
641
+ *
642
+ * @generated from enum value: ERROR_CODE_POLICY_MAX_OPEN_ORDERS = 34;
643
+ */
644
+ ErrorCode[ErrorCode["POLICY_MAX_OPEN_ORDERS"] = 34] = "POLICY_MAX_OPEN_ORDERS";
645
+ /**
640
646
  * Modify request in AMEND_ONLY mode requires replace semantics.
641
647
  *
642
648
  * @generated from enum value: ERROR_CODE_MODIFICATION_REQUIRES_REPLACE = 35;
@@ -830,6 +836,24 @@ let ErrorCode = /* @__PURE__ */ function(ErrorCode) {
830
836
  * @generated from enum value: ERROR_CODE_RATE_LIMIT_EXCEEDED = 69;
831
837
  */
832
838
  ErrorCode[ErrorCode["RATE_LIMIT_EXCEEDED"] = 69] = "RATE_LIMIT_EXCEEDED";
839
+ /**
840
+ * Caller has a sub-account role that does not allow reading spot data.
841
+ *
842
+ * @generated from enum value: ERROR_CODE_SUBACCOUNT_READ_FORBIDDEN = 70;
843
+ */
844
+ ErrorCode[ErrorCode["SUBACCOUNT_READ_FORBIDDEN"] = 70] = "SUBACCOUNT_READ_FORBIDDEN";
845
+ /**
846
+ * Sub-account policy does not allow reading spot data.
847
+ *
848
+ * @generated from enum value: ERROR_CODE_POLICY_SPOT_READ_DENY = 71;
849
+ */
850
+ ErrorCode[ErrorCode["POLICY_SPOT_READ_DENY"] = 71] = "POLICY_SPOT_READ_DENY";
851
+ /**
852
+ * API key policy does not allow reading spot data.
853
+ *
854
+ * @generated from enum value: ERROR_CODE_API_KEY_SPOT_READ_DENY = 72;
855
+ */
856
+ ErrorCode[ErrorCode["API_KEY_SPOT_READ_DENY"] = 72] = "API_KEY_SPOT_READ_DENY";
833
857
  return ErrorCode;
834
858
  }({});
835
859
  /**